from numpy import * ''' 逻辑回归用于分类和预测,是先采用线性回归作为基础,然后采用sigmoid函数 对所有特征(X0~Xn)做线性回归:z = W0X0 + W1X1 + ...+ WnXn + S(s为一个不依赖于特征的数值) 为了判断分类,以z作为输入,采用sigmoind函数:f(z)=1/(1+exp(-z)) 梯度算法,不断迭代寻求最优参数(W0,W1,W2...Wn): W:=W+a*梯度,a为步长 W:=W+a*(X的转置矩阵)*error向量 其中,X是所有样本的集合,error是所有样本标签的差异向量,这种方法由于取用样本全集,计算代价高。 随机梯度算法,一次仅用一个样本点来更新回归系数: 所有回归系数置为1 对数据集中每个样本: 计算该样本梯度 系数=系数_old + 步长*梯度 返回回归系数 改进的随机梯度算法,相比于随机梯度算法,给定一个迭代次数,步长alpha逐步减少,样本上采取随机选择方式: 所有回归系数置mei为1 给定迭代次数R,重复R次: