总结一小下
1.logistic回归为二分类问题,所以说y值只有1和0。
2.sigmod函数方程式:g (θ) = 11+e−θTx\frac{1}{1+e^-θTx }1+e−θTx1
f = np.matmul(x, weights.T) # f为直线,所以说当f>0时,g(θ)为1,反之为0。
g(θ)=1, np.add(1, np.exp(-f))
3.代价函数:J = - 1m\frac{1}{m}m1∑i=1m\sum_{i=1}^m∑i=1m (y log [g(θ)] )+(1-y) (log[1-g(θ)])
代码表示:
loss_1 = -np.matmul(y.T, np.log(h))
loss_0 = -np.matmul(np.add(1, -y).T, np.log(np.add(1, -h)))
J= np.divide( loss_0+ loss_1 ,m)
4.梯度下降:θ(j)-= α{1m\frac{1}{m}m1 ∑i=1m\sum_{i=1}^m∑i=1m(g(θ) xi-yi}xjix_j^ixji
代码表示:
θ -= np.divide(np.multiply(α, np.matmul(np.add(-y, np.matmul(g(θ),x)).T, x)), m)
#可以分开变为五行。
5.基本上就这三个公式,具体梯度下降何时停止,参照线性回归。