机器学习课堂笔记6

本文介绍了机器学习的基本概念,重点讲解了逻辑回归中参数求解的过程,特别是如何通过梯度下降法寻找最优解。详细阐述了梯度下降法的工作原理,包括参数更新公式和步长选择策略,以及如何通过梯度反方向来最小化损失函数。

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

2,为什么机器可以学习

3,机器怎么学习

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


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

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


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


其中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步的时候,最优化问题可以表示为:


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


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


参数W的更新公式为:



梯度下降法的步长yita:

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


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


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



总结梯度下降法

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

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

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

计算Ein梯度:


更新Wt+1:


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





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值