【机器学习】7:逻辑回归原理(Logistic Regression,LR)

前言:

逻辑回归在工业上运用广泛,本文只着重讲解逻辑回归的推导过程,具体的实例还需读者自己去寻找;

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

一、逻辑回归与线性回归:

逻辑回归是一种广义线性回归(generalized linear model),因此它与多重线性回归有一些异同点:

  • 相同点:它们的模型形式基本上相同,都具有wx+bw’x+b,其中wwbb是待求参数,ww是系数矩阵,bb是偏置项;
  • 不同点:多重线性回归是直接将wx+bw’x+b的结果作为因变量yy,即y=wx+by=w’x+b; 而逻辑回归添加了一个中间函数L(x)L(x),将wx+bw’x+b通过L(x)L(x)映射成一个隐状态pp,即p=L(wx+b)p=L(w’x+b),然后再根据pp1p1-p的大小决定因变量yy的值;

如果这个中间函数L(x)L(x)Logistic型函数(Logistic型函数/曲线即为常见的S形函数),则这个回归分析就是逻辑回归(Logistic Regression,LR);而如果这个中间函数L(x)L(x)是多项式函数,那么这个回归分析就是多项式回归;

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

1.1:Logistic型曲线的性质

Logistic型函数/曲线即为常见的S形函数,例:S型函数形如下:
在这里插入图片描述
Logistic曲线性质:可将(-∞,+∞)的自变量xx压缩到[0, 1]的范围;再结合既定阈值,Logistic函数就可以将连续变化的xx值,映射转化为非零即一的因变量的值——这也是由回归到分类的过程;

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

二、Logistic型函数的一个特例——Sigmod函数:

Logistic曲线类中,Sigmod函数是具有代表性的一个函数,首先看一下它的表达式:
在这里插入图片描述
为什么说Sigmod函数是个特例?Sigmod函数的特殊性有以下两点:

  1. 压缩性:Sigmod函数能将(-∞,+∞)的自变量zz压缩到[0, 1]的范围;
  2. 导数特殊性:Sigmod函数求导过程如下,可以发现——Sigmod函数的导数=它自身*(1-它自身)

因为在求解系数矩阵ww、偏置项bb时少不了对原等式进行求导,而Sigmod函数的导数与自身构成关系,这在求解的过程中可以减少运算量。所以上面的压缩性是所有Logistic曲线都具有的性质,而导数特殊性是Sigmod函数被选中的主要因素;
在这里插入图片描述
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------

三、逻辑回归原理:(重点)

逻辑回归是在线性回归的基础上发展而来的。线性回归是直接将wx+bw’x+b的结果作为因变量yy,即y=wx+by=w’x+b
而逻辑回归是在线性回归里添加了一个中间函数L(x)L(x),将wx+bw’x+b先通过L(x)L(x)映射成一个隐状态pp,即p=L(wx+b)p=L(w’x+b),然后再根据pp1p1-p的大小决定最后因变量yy的值;

更一般的函数形式如下,自变量xxzz的关系是z=θxz=θ'xxx是训练数据,可以是低维数组也可以是高维向量;θθ是矩阵形式的待定系数)。zz再经过中间函数g(z)g(z)的作用,映射成为hθ(x)h_θ(x)=g(θx)g(θ'x),这里hθ(x)h_θ(x)相当于因变量yy,再将g(θx)g(θ'x)换成Sigmod函数就变成下图的第二行等式;
在这里插入图片描述
为求解矩阵形式的待定系数θθ,我们沿用线性回归的最小二乘法——均方误差求极值的方法求取损失的最优解,也就是用预测值和真实值的差值的平方和来估计参数θθ的优劣,这时就遇到了问题:

3.1、类比线性回归求解系数时遇到的新问题

在线性回归中,均方误差求极值的方法得到的损失函数cost大多是如下右图的凸函数(不是直接的凸函数,也可以经过变换转化成凸函数);而在逻辑回归中也用这种方法得到的损失函数曲线形如左下图,这是一个非凸函数,具有多个局部极小值点,在难以求得全局最小值的情况下,表现并不好。
在这里插入图片描述
那有什么方法,能将这个非凸函数的损失函数转化成凸函数呢?
-----------------------------------------------------------------------------------------------------

3.2、重新定义损失函数

于是大神们就开始研究了——有没有那种经过Sigmod函数映射后,它的损失函数还是凸函数的函数呢?
大牛们当然是能找到这样的函数的,如下:(y是标签,二分类y\in{0,1})
在这里插入图片描述
解释y = 1的情况,也就是上左图:(y = 0同理)
在这里插入图片描述
从损失函数、hθ(x)h_θ(x)函数与xx的变化规律说明:上面这个分段函数满足我们对新损失函数的要求——自变量xx经过了Sigmod函数映射后得到的损失函数确实是个凸函数;

但新问题也同时出现了——这个新的损失函数由于是个分段函数,在计算的过程中是很复杂的,那有没有什么办法可以将这个分段函数合成一个函数呢?

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

3.3、解决分段函数问题——极大似然估计

我们采用极大似然估计的方法,将这个分段函数合成一个函数;
-----------------------------------------------------------------------------------------------------
这里博主只能粗略的对极大似然估计进行讲解,如果你想要很清楚的看懂下面的理论,建议深入学习
极大似然估计只是一种粗略的数学期望,通过已出现或已观测的结果对总体期望进行估计的一种方法,表达式为L(θ)=p(yiX;θ)L(θ)=p(y_i|X;θ)

假设:某一事件只有两个可能发生的结果:y=0,y=1y=0,y=1

  • y=1y=1的概率为:p(y=1X;θ)p(y=1|X;θ)
  • y=0y=0的概率为:p(y=0X;θ)p(y=0|X;θ),也等于1p(y=1X;θ)1-p(y=1|X;θ)

则用极大似然估计,总体期望L(θ)=p(yiX;θ)=p(y=1X;θ)p(y=0X;θ)=p(y=1X;θ)(1p(y=1X;θ))L(θ)=p(y_i|X;θ)=p(y=1|X;θ)*p(y=0|X;θ)=p(y=1|X;θ)*(1-p(y=1|X;θ))

结合上面的分段函数,概率pp是满足Sigmod函数变化的,即:
在这里插入图片描述
则将概率pp换成hθ(x)h_θ(x),极大似然函数就变成如下:
在这里插入图片描述
更一般的形式即为:
在这里插入图片描述
两边再取导数,连乘变成连加就成如下,这个等式在下面就会用到:
在这里插入图片描述
-----------------------------------------------------------------------------------------------------
通过极大似然估计的方法,将上面的分段函数转化成为了一个函数,也就是下面的目标函数:
在这里插入图片描述
-----------------------------------------------------------------------------------------------------

3.4、确定θθ的更新公式

我们的终极目标就是求上面这个目标函数的极值点,使用梯度下降法,θθ的更新依据公式如下,αα是学习率
在这里插入图片描述
所以需要对θ进行求导:在这里插入图片描述
根据上式,确切的θθ更新公式即为:
在这里插入图片描述
因为式中αα是既定的学习率,所以1/m1/m可以省略,所以最终的θθ更新公式为:
在这里插入图片描述
其中

  • αα是学习率;
  • hθ(X)h_θ(X)是在当前参数θθ下得到的预测值;
  • yy是真实值;
  • xjx_j是第jj个参与训练的数据,xjx_j\inXX

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

说明:

逻辑回归详细的给出了参数学习的方向,在深度学习中这个思想运用广泛,所以理解其中的算法思路很重要;

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

补充知识:

Sigmod函数的由来——事件的优势比(oddsodds),那什么是事件的优势比?

  • 事件成功的机率pp与事件失败的机率1p1-p的比值即为事件的优势比:odds=p/(1p)odds = p/(1-p)

两边取对数:ln(odds)=ln(p/(1p))ln(odds)=ln(p/(1-p)),求取pppp的表达式就是Sigmod函数

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章