逻辑回归算法(Logistic Regression)

    逻辑回归(Logistic Regression, LR)模型其实仅在线性回归的基础上,套用了一个逻辑函数,但也就由于这个逻辑函数,使得逻辑回归模型成为了机器学习领域一颗耀眼的明星,更是计算广告学的核心。

一,逻辑回归模型

    我们对线性回归的结果做一个在函数g上的转换,可以变化为逻辑回归。这个函数g在逻辑回归中我们一般取为sigmoid函数,形式如下:

,其图像为:

逻辑回归算法(Logistic Regression)_第1张图片
sigmoid函数

它有一个非常好的性质,即当趋于正无穷时,趋于1,而当趋于负无穷时,趋于,这非常适合于我们的分类概率模型。另外,它还有一个很好的导数性质: 。

如果我们令中的z为:,这样就得到了二元逻辑回归模型的一般形式:

其中: 为样本输入,对于模型输出,我们让它和我们的二元样本输出(假设为和)有这样的对应关系,如果 ,即, 则为。如果,即, 则为。 的值越小,而分类为的的概率越高,值越大的话分类为的的概率越高。如果靠近临界点,则分类准确率会下降。

二,逻辑回归损失函数

    假设我们的样本输出是0或者1两类(或)。那么我们有:

 把这两个式子用一个式子表示,就是:

那么,极大似然函数为:

,为样本数量。

为了方便运算对似然函数取对数:

最大似然估计就是要求得使 取最大值时的 ,通俗解释为:确定一个使标签对应为类的样本尽量被分到类,标签为类的样本尽量被分到类。这里可以使用梯度上升法求解。但为了使用梯度下降法我们稍微变换一下:

三,梯度下降求解

    即为损失函数,我们使用梯度下降法对损失函数进行求解:

\frac{\partial}{\partial\vec{\theta } }J(\vec{\theta } )  = \frac{\partial}{\partial\vec{\theta } } \sum\limits_{i=1}^{m}(y^{(i)}log(h_{\vec{\theta }}(\vec{X}^{(i)}))+ (1-y^{(i)})log(1-h_{\vec{\theta }}(\vec{X}^{(i)})))

对于某个样本进行梯度下降有:

=(\frac{y^i}{h_{\vec{\theta }}(\vec{X}^{(i)})  }-(1-y^i)\frac{1}{1-h_{\vec{\theta }}(\vec{X}^{(i)})})h_{\vec{\theta }}(\vec{X}^{(i)})(1-h_{\vec{\theta }}(\vec{X}^{(i)})\frac{\partial}{\partial\vec{\theta }_j }(\vec{\theta} \vec{X}^{(i)})

从而迭代至收敛即可:

,其中为学习率。

4.逻辑回归的正则化

    逻辑回归也会面临过拟合问题,所以我们也要考虑正则化。常见的有L1正则化和L2正则化。

逻辑回归的L1正则化的损失函数表达式如下,相比普通的逻辑回归损失函数,增加了L1的范数做作为惩罚,超参数作为惩罚系数,调节惩罚项的大小。二元逻辑回归的L1正则化损失函数表达式如下:

其中,为惩罚系数, 越大,对 的限制越大。

二元逻辑回归的L2正则化损失函数表达式如下:

其中,为惩罚系数,越大,对 的限制越大。

小伙伴们如果觉得文章还行的请点个赞呦!!同时觉得文章哪里有问题的可以评论一下  谢谢你!

你可能感兴趣的:(逻辑回归算法(Logistic Regression))