机器学习课堂笔记6

1,机器什么时候可以学习

2,为什么机器可以学习

3,机器怎么学习

4,机器怎么样才能学得更好


逻辑回归参数求解:梯度下降法

使用最大似然估计法后,逻辑回归参数求解可以变成最小化对数之和的问题:

机器学习课堂笔记6

Ein是一个连续、可微、二次可微的凸函数,因此求Ein函数最小化,就是需要Ein(w)的梯度为0. 对Ein中的每个w求偏微分,并使用求导中的链式法则,最后得到Ein的梯度公式为:

机器学习课堂笔记6

其中theta=exp(-yn*w*xn)/(1+exp(-yn*w*xn))

需要找出一组W使得梯度为0。但是上述公式没有公式解,因此使用梯度下降法

梯度下降法是一种局部的,循环优化的方法,其基本思想是基于上一步的结果,在这一步优化中,在一个局部的范围内找到一个最优解。在logistic回归中,参数W的更新步骤是:

Wt+1=Wt+yita*v 其中Wt是上一步(已知的)结果,yita是本次更新的步长(局部范围的概念),v是本次更新的方向。将W理解为向量,每次更新就是朝一个最优的方向v偏移长度yita

因为v是方向,假设它的长度为1(理解为单位向量)。yita是步长,假设其是一个正数(若为负数,可以理解为向v的反方向移动正数的步长)。在第t+1步的时候,最优化问题可以表示为:

机器学习课堂笔记6

当yita足够小时,局部近似可用泰勒展开表示:

机器学习课堂笔记6

由于yita是给定一小段步长,Ein(Wt)的梯度在第t+1步是已知的,因此第t+1步就是需要方向v使得上面的展开式最小。显然当v和Ein(Wt)的梯度反方方向的时候,两者相乘最小,展开式的值也就最小。同时因为V是单位长度向量,所以第t+1步的方向v应该是:

机器学习课堂笔记6

参数W的更新公式为:

机器学习课堂笔记6


梯度下降法的步长yita:

yita的选择对梯度下降法的效果影响很大。它不能太小,否则可能循环T次数非常多也无法达到最佳解(Ein的梯度为0)。也不能太大,因为上述公式使用泰勒展开,是假设在很小的范围内可以用线性公式代替非线性公式。太大的yita会导致每次跨过的步数过长,导致Ein不停振荡,在迭代的过程中Ein不是稳定下降的。

机器学习课堂笔记6

合适的yita应该随着Ein梯度的大小变化。在梯度很大时,说明距离最佳点(最低的Ein)还有很长的路要走,可以相应的在更大的范围内(yita值)搜索下降的方向。当Ein的梯度变小时,说明已经接近了最佳点,需要缩小yita,一小步一小步地尝试靠近Ein梯度为0的谷底:

机器学习课堂笔记6

因此,在logistic regression中,yita是一个固定学习比率,它和Ein梯度大小成正比:

机器学习课堂笔记6


总结梯度下降法

1,设定某一步长比率yita,yita和梯度大小成正比,

2,从初始值W0开始(W0可以任意设置,例如W0=0),循环更新W

3,在第t+1步的时候,Wt+1更新的方式是上一步的结果Wt往其梯度的反方向移动步长yita。可以理解为在长度yita的范围内,向量W往可以让它下降最多的方向移动一小步:

计算Ein梯度:

机器学习课堂笔记6

更新Wt+1:

机器学习课堂笔记6

不断循环,知道Ein梯度为0,或者达到循环上相T,返回最后的Wt+1作为逻辑回归的参数(相应的也就确定了逻辑回归的假设g)