机器学习算法(优化)之一:梯度下降算法、随机梯度下降(应用于线性回归、Logistic回归等等) 梯度下降算法基本公式 线性回归 Logistic回归 矩阵分解的推荐算法 随机梯度下降(SGD) 参考文献

本文介绍了机器学习中基本的优化算法—梯度下降算法和随机梯度下降算法,以及实际应用到线性回归、Logistic回归、矩阵分解推荐算法等ML中。

常见的符号说明和损失函数

m个)平均误差最小,即:

机器学习算法(优化)之一:梯度下降算法、随机梯度下降(应用于线性回归、Logistic回归等等)
梯度下降算法基本公式
线性回归
Logistic回归
矩阵分解的推荐算法
随机梯度下降(SGD)
参考文献

或者平方误差最小,即: 

机器学习算法(优化)之一:梯度下降算法、随机梯度下降(应用于线性回归、Logistic回归等等)
梯度下降算法基本公式
线性回归
Logistic回归
矩阵分解的推荐算法
随机梯度下降(SGD)
参考文献

θ)值。

机器学习算法(优化)之一:梯度下降算法、随机梯度下降(应用于线性回归、Logistic回归等等)
梯度下降算法基本公式
线性回归
Logistic回归
矩阵分解的推荐算法
随机梯度下降(SGD)
参考文献

都被称为损失函数(Cost Function) 
)
不只是上面两种形式,不同的机器学习算法可以定义各种其它形式。

梯度下降迭代公式

为了求解)能最快找到最小值。即 

机器学习算法(优化)之一:梯度下降算法、随机梯度下降(应用于线性回归、Logistic回归等等)
梯度下降算法基本公式
线性回归
Logistic回归
矩阵分解的推荐算法
随机梯度下降(SGD)
参考文献

这就是梯度下降算法的迭代公式,其中α表示步长,即往每次下降最快的方向走多远。

线性回归

以多变量线性回归为例: 
拟合函数如下: 

机器学习算法(优化)之一:梯度下降算法、随机梯度下降(应用于线性回归、Logistic回归等等)
梯度下降算法基本公式
线性回归
Logistic回归
矩阵分解的推荐算法
随机梯度下降(SGD)
参考文献

Logistic回归

代价函数: 
以Sigmoid函数(Logistic函数)为例说明: 

机器学习算法(优化)之一:梯度下降算法、随机梯度下降(应用于线性回归、Logistic回归等等)
梯度下降算法基本公式
线性回归
Logistic回归
矩阵分解的推荐算法
随机梯度下降(SGD)
参考文献

机器学习算法(优化)之一:梯度下降算法、随机梯度下降(应用于线性回归、Logistic回归等等)
梯度下降算法基本公式
线性回归
Logistic回归
矩阵分解的推荐算法
随机梯度下降(SGD)
参考文献

为什么这么定义代价函数呢?我自己通俗理解是,求导后形式简洁,而且: 
y=0, 
由上图可以看出:)
可以很好衡量某一个样本的代价。

 

y=1时, 
同样由上图可以看到:)
可以很好衡量某一个样本的代价。

迭代更新公式: 
求导过程蛮复杂的,直接给出结果吧: 

机器学习算法(优化)之一:梯度下降算法、随机梯度下降(应用于线性回归、Logistic回归等等)
梯度下降算法基本公式
线性回归
Logistic回归
矩阵分解的推荐算法
随机梯度下降(SGD)
参考文献

和线性回归中最后给的更新迭代公式是一模一样的,这也就理解了为什么代价函数设计时比较复杂,还套了log,敢情是为了这?? 
总之logisitc回归和线性回归最终使用的是一模一样的优化算法。 
还可将这个公式写成用向量来表达的形式: 

机器学习算法(优化)之一:梯度下降算法、随机梯度下降(应用于线性回归、Logistic回归等等)
梯度下降算法基本公式
线性回归
Logistic回归
矩阵分解的推荐算法
随机梯度下降(SGD)
参考文献

矩阵分解的推荐算法

可以参考我转载的另一篇文章: 
http://www.cnblogs.com/kobedeshow/p/3651833.html?utm_source=tuicool&utm_medium=referral

随机梯度下降(SGD)

stochastic gradient descent

从梯度上升算法公式可以看出,每次更新回归系数θ时都需要遍历整个数据集。该方法在处理100个左右的数据集尚可,但是如果有数十亿的样本和成千万的特征,这种方法的计算复杂度就太高了。一种改进的方法是一次仅用一个样本点来更新回归系数。由于可以在新样本到来时,对分类器进行增量更新,因此是一个“在线学习”算法,而梯度下降算法一次处理所有的数据被称为“批处理”。更新公式如下: 

机器学习算法(优化)之一:梯度下降算法、随机梯度下降(应用于线性回归、Logistic回归等等)
梯度下降算法基本公式
线性回归
Logistic回归
矩阵分解的推荐算法
随机梯度下降(SGD)
参考文献

参考文献

(1)Stanford机器学习—第三讲. 逻辑回归和过拟合问题的解决 logistic Regression & Regularization 
http://blog.csdn.net/abcjennifer/article/details/7716281?locationNum=2 
(2)机器学习入门:线性回归及梯度下降 
http://blog.csdn.net/xiazdong/article/details/7950084 
(3)梯度下降深入浅出 
http://binhua.info/machinelearning/%E6%A2%AF%E5%BA%A6%E4%B8%8B%E9%99%8D%E6%B7%B1%E5%85%A5%E6%B5%85%E5%87%BA