梯度下降学习总结

Posted guesswhy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了梯度下降学习总结相关的知识,希望对你有一定的参考价值。

1.梯度的理解

在机器学习过程中,经常使用梯度下降方法求解损失函数的最小值。梯度的值为函数在某一点,沿着各向量方向的偏导数。沿着梯度相反的方向,函数减小最快,更容易找到函数的最小值。

2.梯度下降法的矩阵表示

函数的表达式为$h_\theta(X)=X\theta$,损失函数的表达式为$J(\theta)=\sum_i=1^m(h_\theta(x_i)-y_i)^2$,其矩阵表达式为$J(\theta)=\frac12(X\theta-Y)^T(X\theta-Y)$,损失函数对于$\theta$向量的偏导数为$\frac\partial\partial\thetaJ(\theta)=X^T(X\theta-Y)$。

3.权重计算:使用全部样本、使用部分样本

全部样本算权重

1 h = sigmoid(dataMatrix * weights)
2 error = labelMat - h
3 weight = weight + alpah * error * dataMatrix.transpose()

一个样本算权重

1 h = sigmoid(sum(dataMatrix[i] * weights))
2 error = classLabel[i] - h
3 weight = weight + alpha * error * dataMatrix[i]

 h是sigmoid函数的值,error是算出来的值与label之间的误差,然后使用alpha系数、误差、输入更新权重的值。

此方法没有使用梯度的计算值,而是使用alpha、error、输入值,更新权重。

4.数值梯度与解析梯度

理论推导使用解析梯度,在工程计算中,常使用数值梯度进行计算。

以上是关于梯度下降学习总结的主要内容,如果未能解决你的问题,请参考以下文章

深度学习优化算法总结与实验

深度学习优化算法总结

吴恩达《机器学习》课程总结(17)大规模机器学习

深度学习中的优化器原理总结(经典+前沿)

优化算法总结

pytorch常用优化器总结(包括warmup介绍及代码实现)