机器学习-03-梯度降维法

机器学习-03-梯度降维法

ID:20848253

大小:388.91 KB

页数:14页

时间:2018-10-17

机器学习-03-梯度降维法_第1页
机器学习-03-梯度降维法_第2页
机器学习-03-梯度降维法_第3页
机器学习-03-梯度降维法_第4页
机器学习-03-梯度降维法_第5页
资源描述:

《机器学习-03-梯度降维法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、梯度降维法回归分析梯度降维法解决什么问题假设y的值与n个因素有关,他们分别是x1、x2、x3......xn,且经过调研,我们已经掌握了m组实际值我们可以将他们的关系用函数y=a0+a1x1+a2x2+a3x3......+anxn进行拟合根据之前的结论,代价函数J(a0,a1,a2......an)=1/2m∑(f(xi)-yi)²那么我们就需要根据已知的m组值,找出一组(a0,a1,a2......an),让代价函数的值最小上面所说的梯度降维法,就是专门求解minJ(a0,a1,a2......an)问题的一种有效方法为了更直观地看到梯度降维法是如何工作的,我们接下来只看

2、两个因素的问题,即J(a0,a1)问题梯度降维法工作原理思考:你可以把代价函数的图像,想想为群山而你在这群山中的任意一点你需要下到更低的地方,你会怎么做?梯度降维法工作原理思路:假设,我在点A,我会环顾一下四周看看哪个方向的高度比我所在点更低然后朝那个方向前进一小步,到点B到了B点以后,继续刚才的操作,一步一步,慢慢的,我会发现我到了某个点,这个点四周的高度都比现在的高度要高,这个时候就可以停止了这就是梯度降维法的基本思路AB梯度降维法实现在这里,我要先给出结论,梯度降维法的实现方式如下(伪代码)针对代价函数J(a0,a1),我们要找到一个任意的初始点(a0,a1)设置两个变

3、量temp0=0;temp1=0;这两个变量我们接下来会用到然后循环下面这一段{temp0=temp1=a0=temp0a1=temp1用新的a0和a1计算一下代价函数值}直到代价函数值不再变化或是变化很小,可以忽略不计的时候,就说明我们已经找到了需要的a0和a1注意:有一点很容易出错,a0和a1一定要同时更新,否则,如果先更新a0,再对a1求偏导的时候,此时的a0是已经更新过的,偏导求的就不对了,所以一定要同时更新,切记。梯度降维法实现看到上面的结论,是不是有点晕?没关系,我们慢慢来,上面的一大串结论里面,对于没有学习过高等数学的人来说,最麻烦的也许就是那个求偏导,完全搞不

4、懂是什么,没关系,那个值我之后会给出,会求偏导的,可以自己算一下。下面,我就介绍一下那个结论中的几个概念学习速率(下山的步子有多大)方向(朝什么方向走)刚才的例子中,不断的循环过程,就是在不断的寻找下一步往哪走,而这“下一步”就是由方向和步子大小决定的,学习速率就好比下山时的步子大小,而那个偏导就是我们下山的方向,就这样,我们会一步一步走到最低点。这是你可能会问,为什么方向会是两个?一个对a0求偏导,一个对a1求偏导。下面我们来说说导数的含义导数的含义我们先把代价函数简化一下,看看一个变量的代价函数图像。在上一节中我们知道了,J(a1)的函数图像如下a1J(a1)假设我们的初

5、始点在A我们利用梯度降维法,就需要做下面这件事来找到点B我们可以看到,新的a1实际上是原来的值减去一个值减去的这个值由学习速率和一个导数组成这个导数的意义,实际上是点A的斜率我们沿着斜率的方向,就可以保证下一步的值肯定比这一步要小,我们可以看到,我们沿着斜率前进了α,得到了一个新的a1,从而得到了新的点,这个点离我们的最低点更近了这个时候你可能会想明明是减去一个值,为什么a1会向右跑了呢?别忘了斜率的含义,你看看这条直线的方向,此时的斜率是负数,减去一个负数,所以值增加了。AB导数的含义我们再来看看,如果我的上一个点不在最低点的左边,而在最低点的右边,会是什么情况呢?a1J(

6、a1)假设上一个点在A我们利用梯度降维法,就需要做下面这件事来找到点B这种情况下,A的斜率变为了负值,我们新的点依然会朝着最小点的方向前进,这就是导数(斜率)的神奇之处。它保障了我们的算法永远向着目标前进到目前为止,我们看到了斜率可以在方向上保证我们永远向着最低点前进,下面,我们看看这个斜率对我们步子的大小有什么作用。AB导数的含义实际上,随着我们的计算越来越接近最低点,斜率可以保证我们的步子越来越小,尽量不越过最低点a1J(a1)假设我们从A点出发,到了B点,经过几轮循环以后,我们的数值已经到达了C点C点的斜率已经明显发生了变化,我们可以看到,C点切线的斜率与之前相比,已经

7、变得更小了,这时,对于相同的学习速率α来说,每次的变化都更小了所以,越接近最低点,步子的变化会越来越小,是我们尽量不会越过最低点。注意,这里说的是尽量不越过,如果你的α选择得很大,还是会越过,还会出现一只无法到达最低点的情况,不过我们可以先不要关心这一点,在后面我会讲到如何选择合适的αABC导数的含义之前的例子,为了便于理解,我用的是只有一个参数的J(a1),当有两个参数的时候,图像是三维的,所以在确定下山方向的时候,要分别对a1和a2求偏导,得到两个方向上的增量,这样才可以确定出下一步的位置。你们看,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。