一文通透优化算法:从随机梯度、随机梯度下降法到牛顿法、共轭梯度
一文通透优化算法:从随机梯度、随机梯度下降法到牛顿法、共轭梯度 1 什么是梯度下降法 经常在机器学习中的优化问题中看到一个算法,即梯度下降法,那到底什么是梯度下降法呢? 维基百科给出的定义是梯度下降法(Gradient descent)是一个一阶最优化算法,通常也称为最速下降法。 要使用梯度下降法找到一个函数的局部极小值,必须向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭代搜索。如果相反地向梯度正方向迭代进行搜索,则会接近函数的局部极大值点;这个过程则被称为梯度上升法。 额,问题又来了,什么是梯度?为了避免各种复杂的说辞,咱们可以这样简单理解,在单变量的实值函数的情况,梯度就是导数,或者,对于一个线性函数,也就是线的斜率。 1.1 梯度下降法示例 举个形象的例子吧,比如当我们要 做一个房屋价值的评估系统, 那都有哪些因素决定或影响 房屋的价值 呢? 比如说面积、 房子 的 大小 (几室几厅)、地段、朝向等等,这些影响房屋价值的变量被称为特征(feature)。在 这里 ,为了简单,我们 假定 房屋 只由 一个变量影响, 那 就是房屋的面积。 假设有一个房屋销售的数据如下: 面积(m^2) 销售价钱(万元) 123 250 150 320 87 160 102 220 … … 插句题外话,顺便吐下槽, 这 套房屋价格数据在五年前可能还能买到 帝都5环左右的