逻辑回归与线性回归区别
线性回归多解决连续变量问题,在分类问题中效果不好
逻辑回归原理
对于分类模型常需要当为1的概率大于0.5时,判断为1,当为1的概率小于0.5时,判断为0。因概率的值域为 [0,1] ,这样的设定比线性回归合理很多。因此,常用函数sigmoid函数:
h ( z ) = 1 1 + e − z h(z) = \frac{1}{1+e^{-z}} h(z)=1+e−z1
其中, z = θ T x z = \theta^T x z=θTx
损失函数
J ( θ ) = − 1 m l ( θ ) = − 1 m ∑ i = 1 m y ( i ) h θ ( x ( i ) ) + ( 1 − y ( i ) ) ( 1 − h θ ( x ( i ) ) ) J(\theta) = -\frac{1}{m}l(\theta) = -\frac{1}{m}\sum^{m}_{i=1} y^{(i)}h_\theta (x^{(i)}) + (1-y^{(i)})(1-h_\theta (x^{(i)})) J(θ)=−m1l(θ)=−m1i=1∑my(i)hθ(x(i))+(1−y(i))(1−hθ(x(i)))
假如和线性回归一样的平方损失函数,则损失函数的形式为 ∑ i = 1 m ( y ( i ) − 1 1 + e − θ T x ) 2 \sum^m_{i=1}(y^{(i)}-\frac{1}{1+e^{-\theta^T x}})^2 ∑i=1m(y(i)−1+e−θTx1)2,此为非凸函数,求解复杂,且容易求得局部最优解为非全局最优解。
逻辑回归的分布式实现
由于单机处理能力的限制,在对大规模样本训练时,往往需要将求解过程并行化。我们知道在求解过程中,行和列都存在批向量处理的情况,我们可以按行并行和按列并行。
按行并行
看 ∂ J ( θ ) ∂ θ i = 1 m ∑ i = 1 m ( y ( i ) − h θ ( x ( i ) ) ) x ( i ) \frac{\partial J(\theta)}{\partial \theta_i} =\frac{1}{m}\sum^m_{i=1}(y^{(i)} - h_\theta (x^{(i)}))x^{(i)} ∂θi