机器学习:梯度下降算法
我对梯度下降的学习基本是根据这两个博客:
机器学习算法入门之(一) 梯度下降法实现线性回归
梯度下降(Gradient Descent)小结
本文是我学习后的总结记录
1.背景
首先介绍一下损失函数(误差函数),损失函数可以评价模型的预测值Y^=f(X)与真实值Y的不一致程度,它是一个非负实值函数。通常使用L(Y,f(x))来表示(模型与数据差的平方和),损失函数越小,模型的性能就越好。而梯度下降算法就是一个用来寻找损失函数最小点的算法,虽然在实际中不会直接使用,但是它是很多算法的基础。
2.原理
首先回顾一下两个概念:
方向导数:方向导数的精确定义(以三元函数为例):设三元函数f在点P0(x0,y0,z0)的某邻域内有定义,l为从点P0出发的射线,P(x,y,z)为l上且含于邻域内的任一点,以ρ(rou)表示P和P0两点间的距离。若极限
lim( (f(P)-f(P0)) / ρ )