Logistic Regression 逻辑回归

     ---对数线性模型

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

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

Table of Contents

Logistic Regression 逻辑回归

一、Logistic distribution 逻辑分布

二、逻辑回归模型、性质

三、参数估计

四、正则化

五、参考资料


一、Logistic distribution 逻辑分布

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

逻辑分布公式如下,包含两个参数: 【机器学习】Logistic Regression 逻辑回归

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

分布函数:                     【机器学习】Logistic Regression 逻辑回归

密度函数:                    【机器学习】Logistic Regression 逻辑回归

如下图

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

Logistic 分布函数、密度函数图

 

二、逻辑回归模型、性质

  • 模型

在逻辑分布中,在当 【机器学习】Logistic Regression 逻辑回归 有

逻辑函数(sigmoid函数):   【机器学习】Logistic Regression 逻辑回归

或(换个字母):              【机器学习】Logistic Regression 逻辑回归

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

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

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

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

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

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

 

  • 性质

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

事件的几率为【机器学习】Logistic Regression 逻辑回归

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

 logit(概率) = log(几率)

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

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

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

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

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

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

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

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

三、参数估计

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

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

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

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

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

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

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

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

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

 

正文:

符号说明:

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

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

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

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

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

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

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

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

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

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

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

 

拟牛顿法:

 

 

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

四、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 多元回归 lm gaussian / 0
2 LASSO glmnet gaussian 1 (0,1)
3 Ridge glmnet gaussian 0 (0,1)
4 NlasticNet glmnet gaussian (0,1) (0,1)
5 Logistic glmnet binomial / 0
6 Logistic + L1 glmnet binomial 1 (0,1)
7 Logistic + L2 glmnet binomial 0 (0,1)
8 Logistic +L1 + L2 glmnet binomial (0,1) (0,1)

 

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

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

 

五、参考资料

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

 

 

 

 

 

相关文章: