【机器学习】Logistic Regression 逻辑回归

本文深入解析逻辑回归模型,涵盖逻辑分布的基础、模型特性、参数估计方法(包括极大似然估计和损失函数最小化)、正则化策略等内容,并提供Python实现思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Logistic Regression 逻辑回归

     ---对数线性模型

涉及概念:样本集、特征(变量)、向量、矩阵、损失函数、最优化方法、梯度下降

掌握要求:独立、手写推倒至少5遍,用Python实现,解决一个实际案例。

Table of Contents

Logistic Regression 逻辑回归

一、Logistic distribution 逻辑分布

二、逻辑回归模型、性质

三、参数估计

四、正则化

五、参考资料


一、Logistic distribution 逻辑分布

(X服从逻辑分布,引申出逻辑回归)

逻辑分布公式如下,包含两个参数: \mu , \gamma

                                         X \sim logistic\left (\mu ,\right \gamma)

分布函数:                     F(x)=P \left ( X\leqslant x \right )=\frac{1}{1+e^{-\frac{x-\mu}{\gamma}}}

密度函数:                    f(x)=F'(x)

如下图

Logistic 分布函数、密度函数图

 

二、逻辑回归模型、性质

  • 模型

在逻辑分布中,在当 \mu = 0,\gamma =1 有

逻辑函数(sigmoid函数):   F(x)=\frac{1}{1+e^{-x}} = \frac{e^{x}}{1+e^{x}}

或(换个字母):              F(z)=\frac{1}{1+e^{-z}} = \frac{e^{z}}{1+e^{z}}

基于Logistic分布的条件概率分布

P(Y=1|X)=\frac{e^{\theta_{0}+\theta_{1}x_{1}+\theta_{2}x_{2}+...+\theta_{n}x_{n}}}{1+e^{\theta_{0}+\theta_{1}x_{1}+\theta_{2}x_{2}+...+\theta_{n}x_{n}}}=\frac{e^{\theta x}}{1+e^{\theta x}}

P(Y=0|X)=1-P(Y=1|X)=\frac{​{1}}{1+e^{\theta x}}

其中, \small \theta = (\theta_{0},\theta_{1},...,\theta_{n}),\theta\in R^{n+1}

           \small x=(x_{0},x_{1},...,x_{n}),x\in R^{n+1},x_{0}=1

\small Y=\left \{ 0, \right 1\}

 

  • 性质

几率(odds) = 事件发生的概率/事件不发生的概率 = P/(1-P)

事件的几率为\small \frac{P}{1-P}

对数几率为 log odds,也称logit函数:logit()

 logit(概率) = log(几率)

即 \small logit(P)=log\frac{P}{1-P}

即 \small logit(P)=log\frac{P}{1-P}

                  =log \frac {\frac{e^{\theta x}}{1+e^{\theta x}}}{1-\frac{e^{\theta x}}{1+e^{\theta x}}}

化简           =\theta x=\theta_{0}+\theta_{1}x_{1}+\theta_{2}x_{2}+...+\theta_{n}x_{n}

注:事实上Logistic 模型的性质就是为了导出模型的线性表达式,因为人们的研究都是从线性开始的,因此想知道线性表达式是如何体现的,才有以下这个公式:

                                           \small log\frac{P}{1-P} =\theta_{0}+\theta_{1}x_{1}+\theta_{2}x_{2}+...+\theta_{n}x_{n}

或写成               \small log\frac{P(Y=1|X)}{1-P(Y=1|X)} =\theta_{0}+\theta_{1}x_{1}+\theta_{2}x_{2}+...+\theta_{n}x_{n}

(以上所有X均为x,电脑卡卡现在改不了。)

三、参数估计

可以从两个角度去估计参数:

1概率的角度:极大似然估计

2拟合的角度:损失函数(log对数损失),最小化对数损失函数 log loss

说明:虽然出发思维不一致,但简化到后面的优化目标函数是一致、等价的。

原因:log对数损失函数 来源于 极大似然估计(MLE)。

极大似然得L(theta),需要最大化L(theta)

对数损失最后得J(theta),需要最小化J(theta)

然而,L(theta) = - J(theta),66666发现新大陆!

反正都一样,最后就用梯度下降或拟牛顿法求theta了。

 

正文:

符号说明:

训练集     \small T=\left \{ (x^{(1)},y^{(1)}),(x^{(2)},y^{(2)}),...,(x^{(i)},y^{(i)}),...,(x^{(m)},y^{(m)}) \right \}

注:不同版本的数据表现形式不一致,为了统一和好理解,本博客均使用与大神吴恩达Andrew Ng的符号一致,如有不对,请指出。

1概率的角度:极大似然估计

2拟合的角度:损失函数,最小化损失函数loss

说明:一般都会说梯度下降,但是要注意的是,在损失函数采用时,logistic不用平方损失,用的是log对数损失!

下图:Logistic Regression的损失函数、及其梯度

求完梯度,就可以顺利使用 梯度下降法(请参考下链接)了:

由于只有某1-2部不同,因此只把不同的呈现出来,梯度下降其余过程跟【批量梯度下降、随机梯度下降、小批量梯度下降】基本一致。

 

拟牛顿法:

 

 

注:一般有精确解(附公式),但数据量大时矩阵的奇异阵不可逆,所以用梯度下降。(为什么梯度下降可以解决矩阵不可逆的问题?)

四、Logistic regression正则化

我的天,网上的资料 大部分人都弄混了。。。看得让人想翻桌子

LASSO、Ridge、Nlastic Net 是关系密切的。但是跟Logistic有半毛钱关系吗?!

现在这科普一下,后完善,工作任务多,博客都来的少了

先有:多元线性回归,其loss 定为MSE吧。(公式当然有系数,此处省略)

LASSO = MSE + L1

Ridge    = MES + L2

NlasticNet = MSE + L1 + L2

而网上大部分人一谈到Logistic在正则,就认为是LASSO、Ridge,这是错误的。

Logistic加正则,只能是Logistic的损失加正则,即

对数损失 + L1,或

对数损失 + L2,或

对数损失 + L1 + L2,他们不是什么LASSO、Ridge,弹性网络,ok?

对于模型的名称,市面上尚未有(若谁提出来了什么模型,请告诉我,嘻嘻)

正确说法:“Logistic带L1正则” (此处应该给 远安 掌声,你的培训上我当时没懂,现在才懂。)

快来我的博客洗洗脑吧:

R语言中模型及参数比较
 

Model

函数family参数α参数λ参数
1多元回归lmgaussian/0
2LASSOglmnetgaussian1(0,1)
3Ridgeglmnetgaussian0(0,1)
4NlasticNetglmnetgaussian(0,1)(0,1)
5Logisticglmnetbinomial/0
6Logistic + L1glmnetbinomial1(0,1)
7Logistic + L2glmnetbinomial0(0,1)
8Logistic +L1 + L2glmnetbinomial(0,1)(0,1)

 

(为何不能合并单元格?差评啊)

注:logistic regression,R还有:函数包 rms 中的 lrm 函数。

 

五、参考资料

1. 《统计学习方法》,李航。

 

 

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

挺烦先森

下次复下次,下次何其多。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值