机器学习中优化算法

以简单的线性回归为例,

样本回归模型:

平方损失函数:

1、最小二乘法

     最小二乘法是求解令损失函数最小的参数的过程。主要就是对每个参数求导,令结果为0,所求的参数即可满足令损失函数最小

2、梯度下降

梯度下降法是一种迭代法,先给定一个\beta ,然后向\Delta下降最快的方向调整\beta ,在若干次迭代之后找到局部最小。梯度下降法的缺点是到最小点的时候收敛速度变慢,并且对初始点的选择极为敏感,其改进大多是在这两方面下功夫。

梯度下降分为批量梯度下降、随机梯度下降和小批量梯度下降

首先当我们只有一个数据点(x,y)的时候,J的偏导数是:

则对所有数据点,上述损失函数的偏导(累和)为:

 

再最小化损失函数的过程中,需要不断反复的更新weights使得误差函数减小,更新过程如下:

 

三种梯度下降的python实现

1、批量梯度下降:

     批量即选择全部样本进行迭代,当样本数很大时,将会非常慢

2、随机梯度下降:

 随机梯度下降随机选择一个样本进行迭代,容易受噪声/离群点/异常值的影响非常大

3、小批量梯度下降:

每次迭代时使用一批数据,这批数据可以自行选择也可以随机产生,大小也可自由自定,越大越接近批量梯度下降算法,越小越接近随机梯度下降算法

3、牛顿法

猜你喜欢

转载自www.cnblogs.com/zhaopAC/p/9223119.html