logistic模型原理与推导过程分析(2)

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,5000CU*H 3个月
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 其中m表示样本个数,n表示影响因数的个数,yi(i=0,1,⋯ ,m)取0或者1。现在我们结合数据,利用条件概率分布模型给出基于概率的二项logistic模型如下

二项逻辑回归模型


既然logistic回归把结果压缩到连续的区间(0,1),而不是离散的0或者1,然后我们可以取定一个阈值,通常以0.5为阈值,如果计算出来的概率大于0.5,则将结果归为一类(1),如果计算出来的概率小于0.5,则将结果归为另一类(0),用分段函数写出来便是


b25fba3bf45c48a6b72297a901720205.png


这样逻辑回归就可以用来进行2分类了,假设数据结构如下


3e70195f92834c7db2c1629af912e6a9.png


其中m表示样本个数,n表示影响因数的个数,yi(i=0,1,⋯ ,m)取0或者1。现在我们结合数据,利用条件概率分布模型给出基于概率的二项logistic模型如下:


cb0260f04e9c43faa0e9fb34b04c0475.png


其中,X表示自变量,y表示因变量所属的类别,θ为模型待求的参数,模型解释为在特定的因素下,模型结果取1的概率和取0的概率。模型建好了,接下来就需要进行机器训练,而怎么来给训练一种恰当反馈呢?答案是损失函数,通过损失函数来评估模型学习的好坏和改进机制。


损失函数


机器学习或者统计机器学习常见的损失函数如下:


1.0-1损失函数(0-1 loss function)


8b6c810b613143b788ba41234a86ffe3.png


2.平方损失函数(quadratic loss function)


b934583fec464709961641bec315ff08.png


3.绝对值损失函数(absolute oss function)


36b09e51d99e4086a05372df0346a5bb.png


4.对数损失函数(logarithmic loss function)或对数似然损失函数(log - like hood loss function)


18b4c0ceaaa047e19bf24aed01e9363f.png


逻辑回归中,采用的则是对数损失函数。如果损失函数越小,表示模型越好。


说说对数损失函数与平方损失函数


       在逻辑回归的推导中,我们假设样本是服从伯努利分布(0-1分布)的,然后求得满足该分布的似然函数,最终求该似然函数的极大值。整体的思想就是求极大似然函数的思想。而取对数,只是为了方便我们的在求MLE(Maximum Likelihood Estimation)过程中采取的一种数学手段而已。


       由前面阈值的取定原则,我们知道相当于我们用一个类别值代替概率值,而类别值是sigmoid函数的两个最值,概率不可能时时刻刻都取到最值,这势必会造成误差,我们把这种误差称为损失,为了给出损失函数表达式,我们假设模型第i个样本所求的概率值为Pi,而真实类别值可能是0或者1。


当类别真实值是1的情况下:


       所求的概率值pi越小,越接近0,被划为类别0的可能性越大,被划为类别1的可能性越小,导致的损失越大。

       所求的概率值pi越大,越接近1,被划为类别1的可能性越大,被划为类别0的可能性越小,导致的损失越小。我们用下面的函数来描述这种变化关系


90fb9f72709448d187e1c91b14a7a2a8.png


其中pi∈(0,1),其图像大致如下


58918d5fef5148949efc7c161cd69e30.png


当类别真实值是0的情况下:


       所求的概率值pi越大,越接近1,其结果的类别判定更偏向于1,导致的损失越大。

       所求的概率值pi越小,越接近0,其结果的类别判断更偏向于0,导致的损失越小。我们用下面的函数来描述这种变化关系


9aefb65574514901befa660f657a5d3f.png


其中pi∈(0,1),其图像大致如下


b32c03778090454ba0dc2941014a620a.png



------------------------ ---------- ---------- 分割线内容,hθ等于Pi --------------------------------


根据上面的内容,我们可以得到逻辑回归的对数似然损失函数cost function:


18146bb859fb457392d2182526def1c9.png


当y=1时,假定这个样本为正类:


       ①如果此时预测的概率hθ(x)=1 ,则单对这个样本而言的cost=0,表示这个样本的预测完全准确。那如果所有样本都预测准确,则总损失total_cost=0


       ②如果此时预测的概率hθ(x)=0,那么单对这个样本而言的cost→∞。也就是说预测y=1的概率为0,那么此时就要对损失函数加一个很大的惩罚项。


当y=0时,推理过程跟上述完全一致,不再累赘。


将以上两个表达式合并为一个,则单个样本的损失函数可以描述为:


eea7e54762754badb4637e82375ba401.png


846ea7d7456542c4afcb75945cc948e1.png


梯度下降的原理


由上述可知在单个样本中,其损失函数为:


55f2b39179774902aafdb8f15b3413ed.png


现在问题就转化为一个无约束优化问题,即我们找出最小的θ,使得costfunction达到最小。而在无约束优化问题中,最重要最基本的方法莫过于梯度下降了。


梯度下降的过程:


ead57e46f587486ebec68ed99e215f20.png


现在就要把两种情况结合起来并且绘制成全样本的损失函数,就不需要分真实值是1还是0两种情况讨论,求出其期望值,做成一个交叉熵(cross entropy)的全体样本的损失函数如下:


a00eef11ed0642b88ea4e7bb2a9149c2.png


       因为yi只有两种取值情况1或0,分别令y=1或y=0,即可得到原来的分段表示式。


       其中yi表示第i个样本的真实值,pi或者hθ(x)是根据模型计算出来的概率值。


       当yi=1时,costi=−log(pi),yi=0时,costi=−log(1−pi),这符合前面两种情况。


假设现在有m个样本,总体的损失函数为


a6168addb9de43e6b221a071e0d0a119.png


上式即为二项逻辑回归的损失函数,是一个关于参数θ和X的二元函数,也叫对数似然函数,现在问题转化为以对数似然函数为目标函数的最优化问题,其中θ为模型待求的参数,为了求参数θ,可以对目标函数求偏导数,记


0672668592174721b662fc24acf9e346.png


对L(X∣θ)求关于θ的偏导,主要是里面对数函数关于θ的偏导数求解


441c7375b0f24372af88ae0a49f3eaa3.png


--------------------------------------------------------分割线内容中hθ等于Pi-------------------------------------


logistic回归模型的应用


       既然logistic回归主要用来二分类,用logistic回归模型二分类的场景,用logistic回归模型预测某件事情的发生概率,我们常见的logistic回归模型的应用场景有


(1)根据申请人的提供的资料,预测其违约的可能性大小,进而决定是否给其贷款。


(2)根据购买记录预测用户下一次是否会购买某件商品。


(3)舆论平台做情感分类器。如根据某网友对某些特定主题的历史评论数据,预测其下次对某类型的主题是否会给出正面的评论。


(4)在医疗领域,根据病人症状,预测其肿瘤是良性的还是恶性的。


(5)根据CT,流行病学,旅行史,检测试剂结果等特点预测某位疑似病人是否真感染新型冠状病毒。


(6)在精准营销领域,预测某个产品的收益。


logistic回归模型的评价


       从logistic回归的数学原理,在阈值取定的时候一刀切的做法上面,我们能够根据logistic回归的这些特点给出模型优缺点评价


优点:


1、原理简单,模型清晰,操作高效,背后的概率的推导过程经得住推敲,在研究中,通常以Logistic回归模型作为基准,再尝试使用更复杂的算法,可以在大数据场景中使用。


2、使用online learning的方式更新轻松更新参数,不需要重新训练整个模型


3、基于概率建模,输出值落在0到1之间,并且有概率意义


4、求出来的参数θi代表每个特征对输出的影响,可解释性强


5、解决过拟合的方法很多,如L1、L2正则化,L2正则化就可以解决多重共线性问题


缺点:


1、对数据依赖性强,需要做特征工程,主要用来解决线性可分问题


2、Logistic回归模型本质上是一个线性的分类器,处理不好特征之间相关的情况,对模型中自变量多重共线性较为敏感,例如两个高度相关自变量同时放入模型,可能导致较弱的一个自变量回归符号不符合预期,符号被扭转,正好变负号。


3、logit变换过程是非线性的,在两端随着变化率微乎其微,而中间的变化很大,很敏感。导致很多区间的变量变化对目标概率的影响没有区分度,很难确定阀值。


4、当特征空间很大时,性能不好


5、容易欠拟合,精度不高


---------------------------------------------------------------------------------------------------------


logistic模型原理与推导过程分析(1)_LiBiGor的博客-CSDN博客

https://blog.csdn.net/qq_39237205/article/details/121031296

logistic模型原理与推导过程分析(2)_LiBiGor的博客-CSDN博客

https://blog.csdn.net/qq_39237205/article/details/121031899

logistic模型原理与推导过程分析(2)_LiBiGor的博客-CSDN博客

https://blog.csdn.net/qq_39237205/article/details/121031899

目录
相关文章
|
2月前
|
移动开发 算法 数据可视化
【视频】马尔可夫链蒙特卡罗方法MCMC原理与R语言实现|数据分享(上)
【视频】马尔可夫链蒙特卡罗方法MCMC原理与R语言实现|数据分享
|
2月前
|
算法
【视频】马尔可夫链蒙特卡罗方法MCMC原理与R语言实现|数据分享(下)
【视频】马尔可夫链蒙特卡罗方法MCMC原理与R语言实现|数据分享
|
机器学习/深度学习 算法 Python
|
11月前
|
机器学习/深度学习 算法 决策智能
最大熵图像复原方法原理(附完整代码)
最大熵图像复原方法原理(附完整代码)
160 0
|
2月前
|
机器学习/深度学习 JavaScript 前端开发
机器学习 - [源码实现决策树小专题]决策树中子数据集的划分(不允许调用sklearn等库的源代码实现)
机器学习 - [源码实现决策树小专题]决策树中子数据集的划分(不允许调用sklearn等库的源代码实现)
48 0
logistic模型原理与推导过程分析(3)
由上面的式子可以看出,g(A)的参数是一个m*1的矩阵,或者说是一个列向量。如果我们设计函数g的时候,支持传入一个列向量,并返回一个列向量,则hθ(x)−y可以一次计算得到结果。
92 0
|
机器学习/深度学习 算法 数据挖掘
logistic模型原理与推导过程分析(1)
给定一些数据集合,他们分别属于两个不同的类别。例如对于广告数据来说,是典型的二分类问题,一般将被点击的数据称为正样本,没被点击的数据称为负样本。现在我们要找到一个线性分类器,将这些数据分为两类。用X表示样本数据,Y表示样本类别(例如1与-1,或者1与0)。我们线性分类器的目的,就是找到一个超平面将两类样本分开。
216 0
|
机器学习/深度学习 定位技术
如何推导高斯过程回归以及深层高斯过程详解
如何推导高斯过程回归以及深层高斯过程详解
485 0
如何推导高斯过程回归以及深层高斯过程详解
【算法系列】主成分分析的推导过程
【算法系列】主成分分析的推导过程
【算法系列】主成分分析的推导过程
|
机器学习/深度学习 算法
用有趣的方式解释梯度下降算法
用有趣的方式解释梯度下降算法
用有趣的方式解释梯度下降算法