逻辑回归(Logistic Regression,LR)公式推导

什么是逻辑回归

LR 是 Logistic Regression Classifier,本质上是线性回归,特殊之处在于特征到结果的映射中加入了一层逻辑函数 g(z) 是 sigmoid 函数。因此逻辑回归 = 线性回归 + sigmoid。

线性回归公式:
y = w T x + b y = w^Tx + b y=wTx+b
有时候为了方便,将权值向量和输入向量加以扩充,仍记作 w , x w, x w,x w = ( w ( 1 ) , w ( 2 ) , . . . , w ( n ) , b ) , x = ( x ( 1 ) , x ( 2 ) , . . . , x ( w ) , 1 ) w = (w^{(1)}, w^{(2)}, ... , w^{(n)}, b), x = (x^{(1)}, x^{(2)}, ... , x^{(w)}, 1) w=(w(1),w(2),...,w(n),b),x=(x(1),x(2),...,x(w),1)
即:
y = w x y = wx y=wx

sigmoid 公式:
σ ( x ) = 1 1 + e − x \sigma(x) = \frac{1}{1+e^{-x}} σ(x)=1+ex1

因此,逻辑回归的公式:
π ( x ) = 1 1 + e − w T x \pi(x) = \frac{1}{1+e^{-w^Tx}} π(x)=1+ewTx1

逻辑回归的优势

逻辑回归的优点:

  1. 它是直接对分类可能性进行建模,无需实现假设数据分布,这样就避免了假设分布不准确所带来的问题;
  2. 它不是仅预测出“类别”,而是可得到近似概率预测,这对许多需利用概率辅助决策的任务很有用;
  3. 逻辑回归函数是任意阶可导的凸函数,有很好的数学性质,现有的许多数值优化算法都可直接用于求取最优解。
  4. 对于线性数据,(大部分时候)逻辑回归的拟合和计算都非常快,计算效率优于SVM和随机森林

逻辑回归的推导

假设数据集为:
D a t a : ( x i , y i ) i = 1 N Data:({{x}_{i}},{{y}_{i}})_{i=1}^{N} Data:(xi,yi)i=1N
其中: x i ∈ R p , y ∈ 0 , 1 {{x}_{i}}\in {{\mathbb{R}}^{p}},y\in 0,1 xiRp,y0,1

线性回归是将向量 x x x 映射为具体的数值 y (连续),而逻辑回归是用来解决分类问题(通常为二分类问题),希望得到0或1的概率(概率区间为[0, 1]),即通过某种方式将数值 y 映射到区间 [0, 1] 范围内。逻辑回归采用 sigmoid 函数来完成这样的映射,从而建立 y 与 x 之间的概率判别模型
P ( Y ∣ X ) P(Y|X) P(YX)

p 1 = P ( y = 1 ∣ x ) = 1 1 + e − w T x p1=P(y=1|x)=\frac{1}{1+e^{-w^Tx}} p1=P(y=1x)=1+ewTx1
p 0 = p ( y = 0 ∣ x ) = 1 − P ( y = 1 ∣ x ) = e − w T x 1 + e − w T x p0 = p(y=0|x) = 1 - P(y=1|x) = \frac{e^{-w^Tx}}{1+e^{-w^Tx}} p0=p(y=0x)=1P(y=1x)=1+ewTxewTx

得到
P ( Y ∣ X ) = p 1 Y p 0 1 − Y , Y ∈ 0 , 1 P(Y|X) = p_1^Yp_0^{1-Y}, Y∈0,1 P(YX)=p1Yp01Y,Y0,1
对应的似然函数为
∏ i = 1 N P ( y i ∣ x i ) \prod\limits_{i=1}^{N}{P({{y}_{i}}|{{x}_{i}})} i=1NP(yixi)

取对数,得到对数似然函数
L ( w ) = ∏ i = 1 N log ⁡ P ( y i ∣ x i ) = ∑ i = 1 N ( y i log ⁡ p 1 + ( 1 − y i ) log ⁡ p 0 ) = ∑ i = 1 N ( y i ( log ⁡ p 1 − log ⁡ ( 1 − p 1 ) ) + log ⁡ ( 1 − p 1 ) ) = ∑ i = 1 N ( y i log ⁡ p 1 1 − p 1 + log ⁡ ( 1 − p 1 ) ) = ∑ i = 1 N ( y i ( w T x i ) + log ⁡ e − w T x i 1 + e − w T x i ) = ∑ i = 1 N ( y i ( w T x i ) + log ⁡ 1 1 + e w T x i ) = ∑ i = 1 N ( y i ( w T x i ) − log ⁡ ( 1 + e w T x i ) \begin{aligned} L(w) & =\prod\limits_{i=1}^{N}{\log P({{y}_{i}}|{{x}_{i}})} \\ & =\sum\limits_{i=1}^{N}{({{y}_{i}}\log {{p}_{1}}+(1-{{y}_{i}})\log {{p}_{0}})} \\ & =\sum\limits_{i=1}^{N}{({{y}_{i}}(\log {{p}_{1}}-\log (1-{{p}_{1}}))+\log (1-{{p}_{1}}))} \\ & =\sum\limits_{i=1}^{N}{({{y}_{i}}\log \frac{{{p}_{1}}}{1-{{p}_{1}}}+\log (1-{{p}_{1}}))} \\ & =\sum\limits_{i=1}^{N}{({{y}_{i}}({{w}^{T}}{{x}_{i}})+\log \frac{{{e}^{-{{w}^{T}}{{x}_{i}}}}}{1+{{e}^{-{{w}^{T}}{{x}_{i}}}}})} \\ & =\sum\limits_{i=1}^{N}{({{y}_{i}}({{w}^{T}}{{x}_{i}})+\log \frac{1}{1+{{e}^{{{w}^{T}}{{x}_{i}}}}})} \\ & =\sum\limits_{i=1}^{N}{({{y}_{i}}({{w}^{T}}{{x}_{i}})-\log (1+{{e}^{{{w}^{T}}{{x}_{i}}}})} \\ \end{aligned} L(w)=i=1NlogP(yixi)=i=1N(yilogp1+(1yi)logp0)=i=1N(yi(logp1log(1p1))+log(1p1))=i=1N(yilog1p1p1+log(1p1))=i=1N(yi(wTxi)+log1+ewTxiewTxi)=i=1N(yi(wTxi)+log1+ewTxi1)=i=1N(yi(wTxi)log(1+ewTxi)

L ( w ) L(w) L(w) 求极大值(即极大似然估计值),即可得到 w w w 的估计值
w ^ = arg ⁡ max ⁡ w   L ( w ) \hat{w}=\underset{w}{\mathop{\arg \max }}\,L(w) w^=wargmaxL(w)

这样,问题就变成了以对数似然函数为目标的最优化问题,可采用梯度下降法或拟牛顿法。

梯度


π ( w T x i ) = 1 1 + e − w T x \pi(w^Tx_i) = \frac{1}{1+e^{-w^Tx}} π(wTxi)=1+ewTx1

此时梯度
∂ L ( w ) ∂ w = ∂ ∂ w [ ∑ i = 1 N ( y i ( w T x i ) − log ⁡ ( 1 + e w T x i ) ) ] = ∑ i = 1 N ( y i x i − x i e w T x i 1 + e w T x i ) = ∑ i = 1 N ( y i − e w T x i 1 + e w T x i ) x i = ∑ i = 1 N ( y i − 1 1 + e − w T x i ) x i = ∑ i = 1 N ( y i − π ( w T x i ) ) x i \begin{aligned} \frac{\partial L(w)}{\partial w} & =\frac{\partial }{\partial w}[\sum\limits_{i=1}^{N}{({{y}_{i}}({{w}^{T}}{{x}_{i}})-\log (1+{{e}^{{{w}^{T}}{{x}_{i}}}}))}] \\ & =\sum\limits_{i=1}^{N}{({{y}_{i}}{{x}_{i}}-\frac{{{x}_{i}}{{e}^{{{w}^{T}}{{x}_{i}}}}}{1+{{e}^{{{w}^{T}}{{x}_{i}}}}})} \\ & =\sum\limits_{i=1}^{N}{({{y}_{i}}-\frac{{{e}^{{{w}^{T}}{{x}_{i}}}}}{1+{{e}^{{{w}^{T}}{{x}_{i}}}}})}{{x}_{i}} \\ & =\sum\limits_{i=1}^{N}{({{y}_{i}}-\frac{1}{1+{{e}^{-{{w}^{T}}{{x}_{i}}}}})}{{x}_{i}} \\ & =\sum\limits_{i=1}^{N}{({{y}_{i}}-\pi ({{w}^{T}}{{x}_{i}}))}{{x}_{i}} \\ \end{aligned} wL(w)=w[i=1N(yi(wTxi)log(1+ewTxi))]=i=1N(yixi1+ewTxixiewTxi)=i=1N(yi1+ewTxiewTxi)xi=i=1N(yi1+ewTxi1)xi=i=1N(yiπ(wTxi))xi

因为求的是最大似然估计值,所以采用梯度上升法:
w j : = w j + α ∑ i = 1 N ( y i − π ( w T x i ) ) x i j {{w}_{j}}:={{w}_{j}}+\alpha \sum\limits_{i=1}^{N}{({{y}_{i}}-\pi ({{w}^{T}}{{x}_{i}}))}x_{i}^{j} wj:=wj+αi=1N(yiπ(wTxi))xij

参考资料

[1]【关于 逻辑回归】那些你不知道的事

[2]《统计学习方法第二版》

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Logistic回归是一种逻辑回归方法。它是一种特殊的回归方法,用于对于分类问题中的因变量建立预测模型。这种方法基于学习一个由输入变量到二元输出变量的条件概率来构建预测模型,用于对一个新的样本进行分类。它对于分类问题中的因变量建立预测模型非常有效。 ### 回答2: 逻辑回归是一种用于解决二分类问题的监督学习算法。它是一种基于概率统计的分类模型,可以用于预测分类结果。逻辑回归的输出结果是一个0到1之间的概率值,其含义是该样本属于某一类别的概率。 逻辑回归模型的基本假设是数据服从伯努利分布,也就是数据只有两种可能的取值,被称为正类和负类。对于给定的训练数据集,逻辑回归模型的目标是最大化似然函数,即最大化样本属于正类(或负类)的概率。利用最大似然估计方法,我们可以求解出逻辑回归模型的参数。在实际应用中,我们通常使用梯度下降等优化算法来求解模型参数。 逻辑回归模型有多种变体,如L1正则化逻辑回归、L2正则化逻辑回归、多项式逻辑回归等。其中,L1正则化逻辑回归可以实现特征选择,可以削减一些不重要的特征,从而简化模型,提高计算速度和模型的泛化能力。 在机器学习领域,逻辑回归是一个常用的模型。它广泛应用于各种领域,如网络广告点击率预测、信用风险评估、医疗诊断等。逻辑回归模型简单易实现,具有较高的解释性,是一个较为理想的分类算法。 ### 回答3: 逻辑回归Logistic Regression)是一种经典的分类算法,在机器学习和统计学领域中得到广泛的应用。它旨在从已有的数据中构建一个能够预测类别的模型,输出结果为概率值,可以用于二分类或多分类问题的解决。 逻辑回归的基本原理是利用一个特定的函数对输入特征进行线性组合,然后将结果输入到一个Sigmoid函数中进行映射,将结果值压缩到0到1的范围内,表示输入属于某一类别的概率。这个Sigmoid函数可以被看作是一个阀门,控制着数据流向最终输出。它将具有很强预测能力的线性组合函数输出转化为概率输出的过程,将出现在中间层的结果值映射到[0,1]范围内,以表达某个样本属于某个类别的概率。 在训练模型时,逻辑回归使用的是最大似然估计的方法来确定模型的参数。在分类训练数据时,需要对样本经过一系列的处理,例如特征提取、特征转换、数据归一化等步骤。训练数据可以通过梯度下降法、牛顿迭代法等优化方法来确定最佳参数。通过此训练过程,模型可以学习到输入特征与输出概率之间的映射关系。 逻辑回归的优点包括了功能简单、速度快、易于实现和修改等等。它是机器学习中最为基本的分类算法之一,在数据挖掘、信用评估、自然语言处理、广告推荐等领域都有广泛的应用。逻辑回归作为一个二分类算法,常被用于解决分类问题。然而,在实际业务中,如何选择不同的逻辑回归模型及参数,对算法的效果和优化有着重要的影响。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值