梯度下降学习总结
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.数值梯度与解析梯度
理论推导使用解析梯度,在工程计算中,常使用数值梯度进行计算。
以上是关于梯度下降学习总结的主要内容,如果未能解决你的问题,请参考以下文章