机器学习-Logistic Regression

时间:2022-11-01 17:01:17

概述

逻辑斯蒂回归名为回归,但其实解决的是分类问题,而不是回归问题.回归问题尝试预测的变量y是连续变量,Logistic Regression(LR)预测的变量是离散的,对于离散二值分类问题用线性模型预测效果不好.如下图:
机器学习-Logistic Regression
直观的看,很容易看到图中有0-1两个分类,而线性模型将该训练数据从x2处划分,那么处于x1-x2的训练数据被错误划分了,所以对于此类二值分类问题,可以使用我们的逻辑斯蒂回归进行分类.

分布函数和概率密度函数

若类别Y是二值{0, 1},而逻辑回归得到的值为连续的,我们需要一个函数将预测得到的值总在[0, 1]之间,即 hθ(x)ϵ[0,1] ,这个函数就是逻辑函数(logistic函数或sigmoid函数):

g(z)=11+ez

其分布函数图像为一条S形曲线:
机器学习-Logistic Regression
从图中可以看到,逻辑斯蒂分布的分布函数曲线以 (μ,12) 为中心对称.所以如下公式成立:

g(x+μ)=g(xμ)

上图为逻辑斯蒂的分布函数,概率密度函数如下所示:
机器学习-Logistic Regression

逻辑斯蒂回归模型

LR模型服从logistic分布:

hθ(x)=g(θTx)=11+eθTx

若Y的取值服从0-1分布,则假设给定输入x以 θ 为参数的Y的条件概率分布:

P(Y=0|θT;x)P(Y=1|θT;x)=hθ(x)=1hθ(x)

对于给定的输入实例x,通过比较输出Y分别为0和1的条件概率,将实例点划分到概率较大的类别,这就是逻辑斯蒂回归的分类方法.
一个事件的几率是指该事件发生的概率与不发生的概率的比值,对逻辑斯蒂回归而言,Y=0的对数几率为:

lnP(Y=0|θT;x)P(Y=1|θT;x)=lnhθ(x)1hθ(x)=ln11+eθTxeθTx1+eθTx=θTx

由此得出结论:在逻辑斯蒂模型中,输出Y=0的对数几率为输入x以 θ 为参数的线性模型.
结合logistic函数图像考虑:对于给定输入x,线性函数 θTx 的值越大,其在logistic函数图像上的值越接近1,即 g(θTx)=hθ(x)=P(Y=0|θT;x) 的值越接近1,换句话说就是该输入属于Y=0的概率越大;反之若输入x的线性函数的值越小,其属于Y=1的概率越大.
按照以上模型我们便实现了数据的分类目的,但现在我们想要得到这样一个模型,就必须要估计出合适的 θ ,这就引出了以下的极大似然估计.

极大似然法估计模型参数

监督学习训练模型为的就是估计合适的参数,以使得模型对于未知类别的数据有很好的预测.我们采用极大似然法来估计模型参数,极大似然的一般做法是:首先选取似然函数(概率密度函数或概率质量函数),整理后求最大值.实际应用中通常会选取似然函数的对数(对数似然函数)来求解最大值.这里又有几个问题:

  1. 为什么采用极大似然?
  2. 极大似然的处理过程中为什么选取对数似然作为求最大值的函数?

让我们先来考虑似然函数的概念:

在数理统计中,似然函数是一种关于统计模型中的参数的函数,表示模型参数中的似然性.

给出一个例子解释为什么采用极大似然:
已知抛一枚硬币100次全是正面.

给定输出y时,关于参数 θ 的似然函数 L(θ|y) 在数值上等于给定参数 θ 后输出y的概率( P(y|θ) ).

所以这枚硬币正面朝上的概率为0.5的似然为 L(θ|)=P(|θ)=0.50.5=0.25 .
同理正面朝上的概率为0.8(硬币不均匀)的似然为0.64.
从实验结果上看,我们更愿意相信这枚硬币不均匀(如果怀疑真实性,就抛100次,结果还是100次正面….),即参数正面朝上的概率为0.8更能符合我们的模型.

所以似然函数取得最大值表示相应的参数能够使得统计模型最为合理,这便解释了采用极大似然法估计LR模型参数的原因.回到LR模型,考虑该模型参数的似然函数:
假设

P(Y=0|θT;x)P(Y=1|θT;x)=hθ(x)=1hθ(x)

已知Y的取值服从0-1分布,因此联合概率密度为

P(y|θT;x)=hθ(x)y(1hθ(x))1y

注意符号 P(y|θT;x) 表示的是给定输入x以 θ 为参数的情况下随机变量y的概率.
所以似然函数 L(θ) 为:

L(θ)=P(y|θT;x)=i=1NP(y(i)|θT;x(i))=i=1Nhθ(x(i))y(i)(1hθ(x(i)))1y(i)

对数似然就是对似然函数取对数,关于参数 θ 的对数似然函数为:

l(θ)=ln [i=1Nhθ(x(i))y(i)(1hθ(x(i)))1y(i)]=i=1N[y(i)ln hθ(x(i))+(1y(i))ln(1hθ(x(i)))]=i=1N[y(i)ln hθ(x(i))y(i)ln (1hθ(x(i)))+ln(1hθ(x(i)))]=i=1N[y(i)lnhθ(x(i))1hθ(x(i))+ln(1hθ(x(i)))]

由上文对数几率的结论: lnP(Y=0|θT;x)P(Y=1|θT;x)=θTx .
因此 l(θ) 更新为:

l(θ)=i=1N[y(i)θTxln(1+exp(θTx))]

现在对对数几率求最大值,得到参数 θ 的极大值.求解一个函数的极大值往往需要求解该函数关于未知参数的偏导数.由于对数函数是单调递增的,而且对数函数求极大值往往比较方便,所以对数函数常用于极大似然估计中,这就解释了为什么极大似然估计中选择对数似然作为求解最大值的函数.

为了使似然性最大化,我们使用梯度上升的方法求对数似然函数对 θ 的偏导:

θj:=θj+αθl(θ)

l(θ) 的最大值,偏导数展开:
θjl(θ)=θj(y(i)θTxln(1+exp(θTx)))=(yhθ(x))xj

其中 hθ(x)=g(θTx)=11+eθTx
所以关于 θ 的迭代公式变为

θj:=θj+α(y(i)hθ(x))x(i)j

多项逻辑斯蒂回归模型

以上LR模型属于二项逻辑斯蒂回归模型,适用于随机变量Y满足0-1分布的情况,可以将其推广为多项逻辑斯蒂回归模型,用于多类别分类.
假设离散随机变量的取值为{1,2,…K},那么多项逻辑斯蒂回归模型为:

P(K|x)P(k|x)=exp(θTx)1+K1k=1exp(θTx)=11+K1k=1exp(θTx)

参考文章
[机器学习-斯坦福] 学习笔记3-欠拟合与过拟合的概念
使用最大似然法来求解线性模型(2)-为什么是最大化似然函数?
统计学习方法_李航
似然函数_百度百科