由于梯度上升优化算法在每次更新数据集时都需要遍历整个数据集,计算复杂都较高,这里有一个随机梯度上升算法也可以求得回归系数,这种算法一次只用一个样本点来更新回归系数。
def stocGradAscent0(dataMatrix, classLabels):
m,n = shape(dataMatrix)
alpha = 0.01
weights = ones(n) #initialize to all ones
for i in range(m):
h = sigmoid(sum(dataMatrix[i]*weights))
error = classLabels[i] - h
weights = weights + alpha * error * dataMatrix[i]
return weights这个算法与梯度上升优化算法很相似,但是也有些区别,后者h和error都是向量,这里都是数值,这里没有矩阵转换过程。

本文深入探讨了随机梯度上升算法在回归分析中的应用,相较于梯度上升优化算法,它通过逐个样本点更新回归系数,显著减少了计算复杂度,特别适用于大规模数据集的学习任务。
691

被折叠的 条评论
为什么被折叠?



