赞
踩
因为是CV出身的,转了推荐算法,前面也写了很多关于推荐算法的东西,但是最近写的有点疲了,思前想后决定先放一下推荐算法的基础模型。这几天先写一下机器学习和深度学习的东西,各个领域融会贯通一下。梯度下降算法是求解无约束多元函数极值最常用的数值方法, 很多机器学习常用算法和神经网络都是以它作为算法框架进行优化参数。 所以这个算法非常重要。梯度下降也是一种优化算法, 通过迭代的方式寻找使模型目标函数达到最小值时的最优参数, 当目标函数为凸函数的时候,梯度下降的解是全局最优解,但在一般情况下,梯度下降无法保证全局最优。
介绍梯度下降之前按先讲一下为什么大家公认的负梯度方向是f ( x ) 减小最快的方向, 这背后又又又又涉及到了泰勒的知识, 所以首先就来看看这个问题, 简单推导一下为啥是负梯度方向。
众所周知,沿梯度方向的方向导数可以来描述函数的最大变化率,即梯度方向是函数变化率最大的方向,这个也是梯度的定义。这里不太明白的小伙伴可以先去看一下这方面的数学知识,在这里我就不搬运教材图片了。这里我们假设函数f ( θ ) 是一个多元函数, 那么我们由泰勒把这个函数进行展开至一阶导数的位置, 就会得到:
我们知道这里的f ( θ ) , f ( )是个值,也就是标量, 而加号后面那两个是向量, 但是点积之后就成了标量。我们可以令θ −
=ηv, 即一个向量可以分解为一个长度和一个方向的乘积, 这里的η 表示步长, 这里的v 表示方向, 那么就可以对上面式子进行化简:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。