通过梯度下降和logistic回归求w向量和b

我们已有一个训练集,X,Y

      [x1,    [y1,

      x2,      y2,

X=  x3,       Y=    y3,

       .       .

   xn]      yn]

xi=[xi1,xi2,xi3,.....xim]   xi用来描述第i个样本

yi=0 or 1       yi用来描述第i个样本是正样本还是负样本

然后对于已有的 W=[w1,w2,.....,wm],b来说

我们有一个函数J(W,b)来表示我们已有的W,b在预测结果的时候,对整个训练样本的误差值

J(W,b)=1/n*( L(y^1,y1) + L(y^2,y2) + .....+L(y^n,yn))

y^i表示用已有的[W,b]对样本Xi的预测值,yi表示样本xi的真实结果

L(y^i,yi)=-yi*log(y^i)+(1-yi)*log(1-y^i)

y^i=sigmoid(xi*WT+b)

WT代表W的转置

sigmoid(z)=1/(1+exp(-z))

我们求出J(W,b)对于w1,w2,...wm,b的偏导数

[a1,a2,....am,am+1]

[W,b]=[W,b]-[a1,a2......,am+1]*alpha

其中alpha是一个较小的量

经过多次训练,J[W,b]会达到最优,此时就可以停止训练并且开始工作了

原文地址:https://www.cnblogs.com/shensobaolibin/p/7873421.html