10-logistic regression

来源:互联网 发布:深入理解linux内核4.4 编辑:程序博客网 时间:2024/05/21 22:55

以下是台大林轩田老师讲的机器学习基石第10课的学习笔记 。

软性二值分类(soft binary classification)

目标函数

gif.gif

Paste_Image.png

这里我们的二值分类和硬性二值分类的数据是一样的,但是目标函数是不一样的。而软性二值分类所真正需要的数据是跟目标函数一样的概率,但是我们收集的数据却是分类的结果。

logistic hypothesis

对于提取的特征向量:
gif.gif
计算各个分量的加权分数,但我们需要把这个分数转化为0-1之间的概率值。(因为我们的目标函数是这个)
用到的转换函数叫logistic函数

Paste_Image.png

这样我们的logistic hypothesis就是:

gif.gif

而其中的的logistic function(sigmoid函数就一种)可以为:

Paste_Image.png
sigmoid型函数表示是一个s型的函数。

logistic 回归

作法

来近似目标函数 f(x)=P(y|x)

error measure错误衡量

Paste_Image.png

我们这里也要找一个Ein来minimise一下 ,当我们的目标是一个概率p的时候,我们可以用一个特殊的方式。
这个方式就是最大似然估计的方法,我们假设目标函数为:
Paste_Image.png

则对于一个数据,它取各个值的概率分别为:

Paste_Image.png

那么我们可以从数据中取出N个样本(in sample),观测它们的分布,我们想要达到的目标是我们的目标函数能够让取出这N个观测的概率尽可能的大,这个就是最大似然估计得到最优化的方法。

Paste_Image.png

用f(x)替换成

Paste_Image.png

用我们的hypothesis替换f:

Paste_Image.png

Paste_Image.png
让这个可能性最大的g就是我们要找的g

现在我们发现这个s型的logistic函数有对称性

Paste_Image.png

所以我们可以用这个性质来简化优化函数,因为p(xi)对于所有的h是一样的,所以没什么关系

Paste_Image.png

然后我们用我们的hypothesis的定义式子来替换这个h,要找likelihood的最大值,我们把连乘通过取对数换成连加,通过带入logistic函数最终得到Ein最小化的形式。这个error 衡量我们叫交叉熵错误(信息熵的概念)。
Paste_Image.png

最优化

对这个Ein 求梯度为0 的w的值

Paste_Image.png

Paste_Image.png

要想让这个Ein的梯度小到接近0,就不断的尝试 启发式搜索 、迭代优化(iterative optimization)

v 是方向 η是步频

Paste_Image.png

每一步都要用贪心的策略,找一个下降最快的方向
每一步

这个优化对象不是线性的,我们应该使用泰勒展开的形式,把公式近似替代为线性的形式

Paste_Image.png

梯度下降法 gradient descent

v的方向取梯度的反方向

Paste_Image.png

η 应该和梯度的大小成比例,这样才能最终收敛。这样和v的分母抵消,最后形成定值学习率(fixed learning rate )

Paste_Image.png

下面是logistic 回归算法用梯度下降法做优化

Paste_Image.png

Paste_Image.png

其它资料

logistic回归

0 0
原创粉丝点击