逻辑回归模型公式推导

一、概述

最近的工作内容主要是处理不同的客服声源数据,简单打标然后供下游做BI分析。虽然下游对数据做情感分析才是整个业务的重头戏,但我的工作也算是助力了人工智能落地生产吧。这个业务也唤醒我脑海中仅存的一丁点儿机器学习相关的记忆,趁着周末封控在家,翻了几下书才发现那一丁点儿记忆也是模糊且残缺的,好吧,又得重新开始了。

我们学习一种机器学习模型,首先要搞清楚这个模型是什么、能干什么?
概括来讲:逻辑回归模型是假设数据服从伯努利分布,通过极大似然估计的方法,运用梯度下降法来求解最优参数,从而实现将数据二分类的一种模型。概念不是这篇的博客的主要目的,就不再深究,领悟也会随着回顾次数而逐渐加深。

逻辑回归可以做多分类的任务,但由于自身的性质,大多时候被用来处理二分类的问题。比如说:某人贷款是否会违约、用户是否会点击网页中的某个广告、疾病诊断、垃圾邮件分类、商品推荐以及情感分析等等。

二、模型

很多介绍逻辑回归的书籍或者博客一上来就抛给你这个逻辑回归模型的公式:
y = 1 e ω T + b y=\frac{1}{e^{\omega ^T+b} } y=eωT+b1

我认真想了下这个公式的由来:首先逻辑回归模型是通过样本的概率值大小来做出相应的判断,那么该如何去定义一个模型使得样本集中任意一个样本的预测值能够映射到 [ 0 , 1 ] [0,1] [0,1] 之间呢?显然是不能直接使用线性回归的模型,原因很简单,线性回归的预测值是在 ( − ∞ , + ∞ ) ({-\infty} ,{+\infty}) (,+)区间的。这时候就该 s i g m o i d sigmoid sigmoid 函数闪亮登场了。
逻辑回归模型公式推导_第1张图片
通过 s i g m o i d sigmoid sigmoid 函数的图像,我们很清楚地看到该函数单调递增,将 ( − ∞ + ∞ ) ({-\infty}{+\infty}) (+)之间的任意实数映射到 [ 0 , 1 ] [0,1] [0,1] 之间,能够直观的表示概率,所以就这样我们得到了上文给出的逻辑回归模型的公式。
我们知道一件事情发生的概率 p p p 与该事件不发生的概率 ( 1 − p ) (1-p) (1p) 的比值 ( p 1 − p ) (\frac{p}{1-p} ) (1pp) 称之为"几率"。很明显,几率能够将 [ 0 , + ∞ ) [0,+{\infty}) [0,+) 之间任意实数映射到 [ 0 , 1 ] [0,1] [0,1] 之间,而几率取对数之后, l o g ( p 1 − p ) log(\frac{p}{1-p}) log(1pp) 能够将 [ − ∞ , + ∞ ] [{-\infty},{+\infty}] [,+] 之间的任意实数映射到 [ 0 , 1 ] [0,1] [0,1]之间。所以可以通过“几率”来考查逻辑回归模型的特性。我们不妨假设 P ( Y = 1 ∣ X ) = e x p ( ω ⋅ x + b ) 1 + e x p ( ω ⋅ x + b ) P(Y=1|X)=\frac{exp({\omega }{\cdot }x+b)}{1+exp({\omega }{\cdot }x+b)} P(Y=1∣X)=1+exp(ωx+b)exp(ωx+b) ( Y = 0 ∣ X ) = 1 1 + e x p ( ω ⋅ x + b ) (Y=0|X)=\frac{1}{1+exp({\omega }{\cdot }x+b)} (Y=0∣X)=1+exp(ωx+b)1

那么对于逻辑回归而言就有: l o g P ( Y = 1 ∣ X ) 1 − P ( Y = 1 ∣ X ) = l o g e x p ( ω ⋅ x + b ) 1 + e x p ( ω ⋅ x + b ) 1 1 + e x p ( ω ⋅ x + b ) = log ⁡ e x p ( ω ⋅ x + b ) = ω ⋅ x + b log\frac{P(Y=1|X)}{1-P(Y=1|X)} =log\frac{\frac{exp({\omega }{\cdot }x+b)}{1+exp({\omega }{\cdot }x+b)} }{\frac{1}{1+exp({\omega }{\cdot }x+b)} }=\log {exp({\omega }{\cdot }x+b)}={\omega }{\cdot }x+b log1P(Y=1∣X)P(Y=1∣X)=log1+exp(ωx+b)11+exp(ωx+b)exp(ωx+b)=logexp(ωx+b)=ωx+b

三、模型参数估计

逻辑回归的模型已经构建出来了,那么接下来就可以通过给定的训练数据集进行学习。我们应用极大似然估计的方法估计模型参数,从而得到逻辑回归的确切模型。

为什么要用极大似然估计呢?我们首先要明白,极大似然估计是建立在所有样本间相互独立且样本能够代表总体的情况之下,可形象的概括为“模型已定,参数未知”。它的核心思想是:若现有的样本数据可以代表总体,那么极大似然估计就是找到一组参数使得该样本数据出现的可能性最大。从统计学的角度来看就是需要使得所有观测数据(样本)的的联合概率最大化。

不妨假设: P ( Y = 1 ∣ X ) = π ( x ) , P ( Y = 0 ∣ X ) = 1 − π ( x ) P(Y=1|X)={\pi }(x),P(Y=0|X)=1-{\pi }(x) P(Y=1∣X)=π(x),P(Y=0∣X)=1π(x)

似然函数为: ∏ i = 1 n [ π ( x i ) ] y i [ 1 − π ( x i ) ] 1 − y i \prod\nolimits_{i=1}^n [\pi (x_i)]^{y_i}[1-\pi (x_i)]^{1-y_i} i=1n[π(xi)]yi[1π(xi)]1yi

对于凸函数来说,局部最小值点即为全局最小值点,故一般将非凸函数转化为凸函数进行求解,所以我们可以将上述似然函数转换为对偶问题,即求解对数似然函数的最小值。
对数似然函数: L ( ω ) = ∑ i = 1 N [ y i l o g π ( x i ) + ( 1 − y i ) l o g ( 1 − π ( x i ) ) ] L(\omega )=\sum_{i=1}^N{[y_ilog\pi (x_i)+(1-y_i)log(1-\pi (x_i))]} L(ω)=i=1N[yilogπ(xi)+(1yi)log(1π(xi))]
= ∑ i = 1 N [ y i l o g π ( x i ) 1 − π ( x i ) + l o g ( 1 − π ( x i ) ) ] =\sum_{i=1}^N{[y_ilog\frac{\pi (x_i)}{1-\pi (x_i)} +log(1-\pi (x_i))]} =i=1N[yilog1π(xi)π(xi)+log(1π(xi))]
= ∑ i = 1 N [ y i ( ω ⋅ x ) − l o g ( 1 + e x p ( ω ⋅ x ) ) ] =\sum_{i=1}^N{[y_i(\omega \cdot x)-log(1+exp(\omega \cdot x))]} =i=1N[yi(ωx)log(1+exp(ωx))]

L ( w ) L(w) L(w) 求偏导,得: ∂ L ∂ w = ∑ i N ( y i x i − e x p ( ω ⋅ x i ) 1 + e x p ( ω ⋅ x i ) ⋅ x i ) \frac{\partial L}{\partial w} =\sum_{i}^N {(y_ix_i-\frac{exp(\omega \cdot x_i)}{1+exp(\omega \cdot x_i)} \cdot x_i)} wL=iN(yixi1+exp(ωxi)exp(ωxi)xi)

梯度下降求解最优参数的公式为: ω ( t + 1 ) = ω ( t ) − α ⋅ ∂ L ∂ w \omega ^{(t+1)}=\omega ^{(t)}-\alpha \cdot \frac{\partial L}{\partial w} ω(t+1)=ω(t)αwL 其中 α \alpha α 为自定义的步长。

设置特定的阈值或者迭代次数,运用上述的梯度下降公式求解参数的估计值。
至此为止已经推导出了模型以及参数的优化,

四、小结

没有任何一种模型是完美的,那么先说说逻辑回归模型的优点:

  1. 原理理解起来相对容易,易于实现,很方便地得到输出结果;
  2. 训练速度快,迭代优化参数时,计算量只跟样本数据的数量有关;

相对优点来说,那缺点也很明显了:

  1. 处理非线性的样本数据相对麻烦;
  2. 就因为形式简单,所以准确率不高。

你可能感兴趣的:(逻辑回归,人工智能)