逻辑回归(Logistic Regression)入门理解与推导

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_20177327/article/details/83539548

逻辑回归(LR)是一个分类算法,它可以处理二元分类问题和多元分类问题。在介绍LR之前,先回顾一下线性回归(Liner Regression)。

一、线性回归

线性回归是一个回归模型,给定数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } D = \{ ({x_1},{y_1}),({x_2},{y_2}),...,({x_m},{y_m})\} ,包含 m 个样本,线性回归的假设函数为:

                h θ ( x ) = θ 0 x 0 + θ 1 x 1 + . . . + θ n x n {h_\theta }(x) = {\theta _0}{x_0} + {\theta _1}{x_1} + ... + {\theta _n}{x_n}

损失函数为:

                J ( θ ) = 1 2 m i = 1 m [ h θ ( x ( i ) ) y ( i ) ] 2 J(\theta ) = \frac{1}{{2m}}\sum\limits_{i = 1}^m {{{[{h_\theta }({x^{(i)}}) - {y^{(i)}}]}^2}}

带有 L2 正则化的损失函数为:

                J ( θ ) = 1 2 m { i = 1 m [ h θ ( x ( i ) ) y ( i ) ] 2 + λ j = 1 n θ j 2 } J(\theta ) = \frac{1}{{2m}}\{ \sum\limits_{i = 1}^m {{{[{h_\theta }({x^{(i)}}) - {y^{(i)}}]}^2}} + \lambda \sum\limits_{j = 1}^n {{\theta _j}^2} \}

线性回归的求解可以使用梯度下降法,也可以使用最小二乘法,以下是使用梯度下降法求解的步骤:

(1)初始化参数 λ \lambda ε \varepsilon
(2)确定当前位置损失函数的梯度,对于 θ i {\theta _i} ,其梯度为:
               θ i J ( θ 0 , θ 1 , . . . , θ n ) \frac{\partial }{{\partial {\theta _i}}}J({\theta _0},{\theta _1},...,{\theta _n})
(3)用步长 λ \lambda 乘以梯度,得到下降的距离,即:
               λ θ i J ( θ 0 , θ 1 , . . . , θ n ) \lambda \frac{\partial }{{\partial {\theta _i}}}J({\theta _0},{\theta _1},...,{\theta _n})
(4)确定是否对于所有的 θ i {\theta _i} ,梯度下降的距离都小于 ε \varepsilon ,如果小于,算法终止;否则执行下一步;
(5)更新所有 θ i {\theta _i}
               θ i : = θ i λ θ i J ( θ 0 , θ 1 , . . . , θ n ) {\theta _i}: = {\theta _i} - \lambda \frac{\partial }{{\partial {\theta _i}}}J({\theta _0},{\theta _1},...,{\theta _n})
(6)循环(1)-(5);

二、逻辑回归

由于线性回归模型的输出是连续的实值,而逻辑回归是二分类模型,因此需要把线性回归的实值转换成 0/1 值,在逻辑回归中采用 sigmoid 函数,即:

               g ( z ) = 1 1 + e z g(z) = \frac{1}{{1 + {e^{ - z}}}}

这个函数有非常好的特性,即当 z 趋于正无穷时,函数值接近于1;当 z 趋于负无穷时,函数值接近于0,这个特性使它非常适用于 LR 模型,另外它的导数:

               g ( z ) = g ( z ) ( 1 g ( z ) ) {g^\prime }(z) = g(z)(1 - g(z))

于是得到 LR 的假设函数:

               h θ ( x ) = 1 1 + e θ T x {h_\theta }(x) = \frac{1}{{1 + {e^{ - {\theta ^T}x}}}}

可以把 h θ ( x ) {h_\theta }(x) 理解为样本 x 为正样本的概率,那么有:

            P ( y = 1 x ; θ ) = h θ ( x ) P ( y = 0 x ; θ ) = 1 h θ ( x ) \begin{array}{l} P(y = 1|x;\theta ) = {h_\theta }(x)\\ P(y = 0|x;\theta ) = 1 - {h_\theta }(x) \end{array}

猜你喜欢

转载自blog.csdn.net/sinat_20177327/article/details/83539548
今日推荐