机器学习算法之梯度下降法

来源:互联网 发布:嵌入式软件开发招聘 编辑:程序博客网 时间:2024/05/21 00:52

1.线性回归

线性回归假设特征和结果满足线性关系,对于非线性的特征与结果的情况可以先将特征变量映射到一个函数上,然后再进行线性运算。我们假设为参数向量,而为特征分量,那么可以得到公式:


为了是回归可以达到最好的效果,我们需要对进行评估,需要一个评估标准,因此引入损失函数,函数定义如下:


给出这个公式后如何确定是这个函数最小便是下面要讲的算法内容。


2.梯度下降法

在选定线性回归模型后,需要确定参数之后,才可以用模型来进行预测。然而只有在损失函数最小的情况下才能确定。因此这就等价于一个求最小值的问题。这里需要说明的是,梯度下降的方向是一定的,因此只能获得局部最优解。

梯度下降法的流程如下:

1)首先对赋值,这个值是任意的,也可以为0向量;

2)改变的值,使按梯度下降的方向进行减少。


梯度的方向由的偏导数决定的,为了取得极小值,梯度方向与偏导数方向相反,如图所示:



首先确定一个点x1,然后沿着梯度下降的方向求使得f(x2)<f(x1)的x的值,直到函数收敛到函数的最小值。


3.代码实现

在matlab中可以使用 graf(f,x)来求使用梯度下降法求得到