老饼讲解-机器学习 机器学习 神经网络 深度学习
机器学习入门
1.学前解惑
2.第一课:初探模型
3.第二课:逻辑回归与梯度下降
4.第三课:决策树
5.第四课:逻辑回归与决策树补充
6.第五课:常见的其它算法
7.第六课:综合应用

【原理】逻辑回归原理

作者 : 老饼 发表日期 : 2022-06-26 03:35:02 更新日期 : 2024-03-06 16:45:53
本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com



逻辑回归模型是机器学习中二分类模型中的经典,它用于分类问题中预测属于某个类别的概率

本文讲解逻辑回归原理,包括逻辑回归的思想、模型、损失函数和求解方法等等



  01. 什么是二分类问题  



在讲解逻辑回归原理前,本节先介绍什么是二分类问题



   什么是二分类问题   


现在有一组数据,需要利用各个特征去预测目标的类别是1还是0
 数据如下:  
 
二分类问题-数据
 这就是二分类问题,它的目的是判断类别样本属于哪个类别
 二分类问题一般默认类别标签为0和1,只需判断是不是1类就可以了,
因为如果不是1类,相当于默认是0类



     二分类问题的输出     


二分类问题共有三种输出方式,如下:
 二分类问题的输出形式
1.判断标签:直接输类别标签                             
2.判断结果:输出Yes或No,即代表是不是类别1
3.判断依据:输出属于类别1的概率                    
 具体哪种输出更适合二分类问题,需要具体问题具体确定
 但二分类问题输出概率是最通用的,因为它可以转化为判断标签或判断结果





  02. 逻辑回归的原理与思想   



逻辑回归主要用于解决二分类问题,它输出的是属于类别1的概率

本节讲解逻辑回归解决二分类问题的原理与思想



    数值与概率的关系   


数值与概率的正相关性
我们知道,线性回归拟合的是数值,并不符合二分类问题预测类别的需求
但数值与类别也是有关联的,例如,天色越黑,下雨概率就越大
即值越大,属于某类别的概率也越大,值与概率之间可以互转
    数值与概率的转换   
 
在数学里通常用函数  将数值转化为概率:
sigmoid函数的图像如下:
 sigmoid函数 
 可以看到,sigmoid函数的输出区间为(0,1),它与概率的范围是一致的


   逻辑回归的模型原理与思想   


逻辑回归就是这样的原理,
先用   作为对样本类别的综合评估值,
再套用 sigmoid 函数将综合评估值转为概率
所以,逻辑回归本骨子里还是线性模型
✍️备注
这样理解逻辑回归模型的原理是不严谨的,但作为入门无伤大雅,
后面接触了信息熵的概念,再回头补充sigmoid函数的由来与实际意义




  03. 逻辑回归-模型表达式  



本节介绍逻辑回归模型的数学表达式,及解读表达式的特性,

通过对逻辑回归模型的解读,从而掌握逻辑回归原理



    逻辑回归模型表达式    


逻辑回归的模型表达式如下

 备注:这里的X代表,最后的1用于替代b



    逻辑回归模型特性解说    


下面通过对逻辑回归模型的特性进一步了解逻辑回归原理
在单变量时,逻辑回归模型就是一条S曲线

 
逻辑回归模型
 
类似地,在两个变量时,它就是一个S面,在更多变量时,则是一个超S面
其中,w控制了S曲线的拉伸,b则控制了它的平移位置,示图如下
 
逻辑回归模型参数的意义






   04. 逻辑回归-损失函数   



逻辑回归的损失函数是逻辑回归原理的重要组成部分

本节解说逻辑回归模型的损失函数及损失函数的设计思路



    前言   


损失函数引导我们去求取模型里的参数w和b,
也就是指明我们想要一个什么样的w,b。
由于逻辑回归的输出是概率,采用均方误差作为损失函数就不适合了
  逻辑回归模型采用的是,模型预测正确概率最大化~!



   逻辑回归-样本评估正确的概率   


逻辑回归-单个样本评估正确的概率
先看逻辑回归单个样本评估正确的概率

模型对单个样本评估正确的概率   为:



✍️解释:

 逻辑回归的输出就是属于类别1的概率,
真实值 y为1 时, P就是评估正确的概率 ;
 真实值 y为0时,P是错误的概率,1-P 就是模型正确的概率
----------------------------------------------------
巧妙的操作是,可以用一条式子把上述二式合并如下
  

 
 
  
✍️解释:
 当y=1时,第二个括号等于1;当y=0时,第一个括号等于0
化简后与上述两式是一致的
逻辑回归-所有样本评估正确的概率   
假设每个样本是独立事件,
则逻辑回归总评估正确的概率为所有样本评估正确的积
 
   
    



   逻辑回归-损失函数   


我们期待  ​  最大化,只要将损失函数设计成  即可
又由于   中含 有大量的乘号,为计算方便,我们外套一个对数
 
 最后,损失函数设计如下:
 



备注:化简的具体过程见《逻辑回归损失函数推导过程
✍️说明
 
在连乘的情况下,使用对数使其转为加号是常用的操作
因为对数是单调函数,能让P最大化的W,同样会是令lnP最大化的W



  逻辑回归损失函数-设计思路总结  


逻辑回归损失函数设计的整体思路为:
 逻辑回归损失函数推导过程 
这种思路设计的损失函数也叫最大似然损失函数





  05. 逻辑回归-模型求解  



本节讲解逻辑回归模型损失函数的求解方法 



    梯度下降算法    


现在我们需要求解逻辑回归模型里的参数W,
使得损失函数   最小,
也即令预测概率准确性最大化,求解方法可以使用梯度下降算法
 理论上,我们可以求损失函数的偏导,
m个样本,共m个方程,联立求解出k+1个参数即可
但遗憾的是,它的偏导数是非线性方程,
我们没有能力去求解m+1个非线性方程的解
因此,我们退而求其次,使用算法去寻找一个优秀解
其中,
梯度下降法就是一个经典的数值求解算法
梯度下降算法   
梯度下降算法原理如下:

 梯度下降法求极值
梯度下降算法先初始化一个初始解,
然后不断地根据目标函数的梯度下降方向调整x,最后达到局部最优值
 具体理论请看《梯度下降算法原理




    逻辑回归-损失函数的梯度公式与算法流程  


逻辑回归-损失函数的梯度公式
梯度下降法在迭代过程需要使用损失函数L(W)的梯度,
我们求出L(W)的梯度公式如下:


 
其中
 X :
m*n矩阵, m样本数, n为特征个数,
 即一行为一个样本,一列为一特征 
 y,p: 为 列向量, 
 W:n*1的列向量                           
 公式的具体推导过程见《逻辑回归梯度公式推导
梯度下降求解逻辑回归算法流程
 
 算法流程如下:
 
先初始化W,然后
(1) 按照梯度公式算出梯度
(2) 将W往负梯度方向调整 
不断循环(1)和(2),直到达到终止条件(例如达到最大迭代次数)



   关于软件包里逻辑回归的求解算法   


工具包里通常不使用梯度下降算法,
对于逻辑回归,会有更巧妙的求解算法,
例如matlab工具箱里使用的就是牛顿法,它与梯度下降法思想类似
在这里我们先学习梯度下降法求解逻辑回归,作为理解逻辑回归原理已经足够
梯度下降法是最经典必学的求解算法,没有之一,它简单,普适性广,通用
至于工具箱中逻辑回归所使用的算法,在进阶阶段再进行学习




好了,以上就是逻辑回归原理的全部内容了~






 End 




联系老饼