Logistic回归(随机梯度上升)

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

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都是向量,这里都是数值,这里没有矩阵转换过程。

你可能感兴趣的:(算法,机器学习,有监督学习,分类)