您的位置:首页 > 编程语言 > Python开发

Logistic回归(随机梯度上升)

2016-03-12 16:37 579 查看
由于梯度上升优化算法在每次更新数据集时都需要遍历整个数据集,计算复杂都较高,这里有一个随机梯度上升算法也可以求得回归系数,这种算法一次只用一个样本点来更新回归系数。

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都是向量,这里都是数值,这里没有矩阵转换过程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息