如下是台大林轩田老师讲的机器学习基石第10课的学习笔记 。算法
这里咱们的二值分类和硬性二值分类的数据是同样的,可是目标函数是不同的。而软性二值分类所真正须要的数据是跟目标函数同样的几率,可是咱们收集的数据倒是分类的结果。机器学习
对于提取的特征向量:
计算各个份量的加权分数,但咱们须要把这个分数转化为0-1之间的几率值。(由于咱们的目标函数是这个)
用到的转换函数叫logistic函数函数
这样咱们的logistic hypothesis就是:学习
而其中的的logistic function(sigmoid函数就一种)能够为:优化
sigmoid型函数表示是一个s型的函数。spa
用 来近似目标函数
f(x)=P(y|x)
.net
咱们这里也要找一个Ein来minimise一下 ,当咱们的目标是一个几率p的时候,咱们能够用一个特殊的方式。
这个方式就是最大似然估计的方法,咱们假设目标函数为:code
则对于一个数据,它取各个值的几率分别为:对象
那么咱们能够从数据中取出N个样本(in sample),观测它们的分布,咱们想要达到的目标是咱们的目标函数可以让取出这N个观测的几率尽量的大,这个就是最大似然估计获得最优化的方法。blog
用f(x)替换成
用咱们的hypothesis替换f:
让这个可能性最大的g就是咱们要找的g
如今咱们发现这个s型的logistic函数有对称性
因此咱们能够用这个性质来简化优化函数,由于p(xi)对于全部的h是同样的,因此没什么关系
而后咱们用咱们的hypothesis的定义式子来替换这个h,要找likelihood的最大值,咱们把连乘经过取对数换成连加,经过带入logistic函数最终获得Ein最小化的形式。这个error 衡量咱们叫交叉熵错误(信息熵的概念)。
对这个Ein 求梯度为0 的w的值
要想让这个Ein的梯度小到接近0,就不断的尝试 启发式搜索 、迭代优化(iterative optimization)
v 是方向 η是步频
每一步都要用贪心的策略,找一个降低最快的方向
这个优化对象不是线性的,咱们应该使用泰勒展开的形式,把公式近似替代为线性的形式
v的方向取梯度的反方向
η 应该和梯度的大小成比例,这样才能最终收敛。这样和v的分母抵消,最后造成定值学习率(fixed learning rate )
下面是logistic 回归算法用梯度降低法作优化