逻辑回归(Logistic Regression)

基础不牢,地动山摇。

文中加粗的字母(如\boldsymbol{w}\boldsymbol{x}等)默认为列向量。

用机器学习算法做分类任务的小伙伴一定使用过“逻辑回归分类器”这个东西,顾名思义,既然是个分类器,那逻辑回归肯定是用在分类任务中的。我在上一篇博客中介绍过回归任务与分类任务的区别:回归任务用来预测一个数值,分类任务用来预测一个标签。逻辑回归既然是用在分类任务中的,那它的名字里为什么要有“回归”两个字呢?

我们可以来大胆地假设一下,逻辑回归是不是在用回归的思想做分类

1. 如何用回归的思想做分类

让我们以最简单的二分类任务为例,假设样本的真实分类标签y只能是0或者1。而线性回归模型产生的预测值z=\boldsymbol{w}^{T}\boldsymbol{x}+b是实值,它的取值范围可以是一切实数。于是,我们想办法将回归模型产生的实值z转换为分类任务所需的0或者1,这样也就实现了回归任务和分类任务的相互转化。

最简单的方法是将实值z输入单位阶跃函数:

h(z)=\left\{\begin{matrix} 0, & z<0;\\ 0.5, & z=0;\\ 1,& z>0;\end{matrix}\right.

若预测值h(z)大于零就判标签为1,小于零就判标签为0,预测值为临界值可以任意判别,示意图如下:

2. Logistic函数

自此,我们已经用一个单位阶跃函数将回归模型的思想与分类任务结合起来了。但是,单位阶跃函数并不连续,这会给我们带来一些不便,于是我们希望找到能在一定程度上近似单位阶跃函数的“替代函数”,Logistic函数正是这样一个常用的替代函数:

h(z)=\frac{1}{1+e^{-z}}

它的函数图像如下:

从图中可以看出,Logistic函数是一种“Sigmoid函数”。它能将回归模型输出的z值转化成一个01之间的h(z)值,与单位阶跃函数不同,这个h(z)值不再是最终的预测结果,而是可以理解为:样本标签为1的概率。得到所有样本的h(z)值之后,我们可以使用一个阈值将其分成两部分,小于阈值的判断为0标签,大于阈值的判断为1标签,这样就达到了分类的效果。

李航《统计学习方法》上的描述为:h(z)表示样本标签为1的概率,则1-h(z)表示样本标签为0的概率,将h(z)1-h(z)比大小,将样本分到概率值较大的那一类,这种思想其实就类似于将阈值设为0.5。

使用Logistic函数来代替单位阶跃函数有以下几个好处:

① Logistic函数连续、充分光滑、单调递增,能最大程度地保留z自身的特点;
② Logistic函数不是直接预测出类别,而是可以得到近似的概率预测,这对许多需要利用概率辅助决策的任务很有用;
③ Logistic函数是任意阶可导的凸函数,有很好的数学性质。

3. 二分类的逻辑回归

经过上面的描述,大家应该已经清楚了如何用回归的思想来做分类任务。下面我们来定义一下逻辑回归的目标

为线性模型z=\boldsymbol{w}^{T}\boldsymbol{x}+b找到一组最合适的\boldsymbol{w}b,使得h(z)=\frac{1}{1+e^{-z}}在全部样本上预测正确的概率最大。

如何才能找到这样的参数呢,请接着往下看。

将线性模型产生的预测值:z=\boldsymbol{w}^{T}\boldsymbol{x}+b,代入到Logistic函数:h(z)=\frac{1}{1+e^{-z}}

可以得到:

h(\boldsymbol{x};\boldsymbol{w},b)=\frac{1}{1+e^{-(\boldsymbol{w}^{T}\boldsymbol{x}+b)}}

把这个式子稍微转化一下,可以得到:

\ln \frac{h(\boldsymbol{x};\boldsymbol{w},b)}{1-h(\boldsymbol{x};\boldsymbol{w},b)}=\boldsymbol{w}^{T}\boldsymbol{x}+b

上面说过,我们可以把h(z),也就是h(\boldsymbol{x};\boldsymbol{w},b)看成样本标签为1的概率,则1-h(\boldsymbol{x};\boldsymbol{w},b)可以看成样本标签为0的概率,则我们可以把上式用概率的形式改写一下:

\ln \frac{P(y=1\mid \boldsymbol{x})}{P(y=0\mid \boldsymbol{x})}=\boldsymbol{w}^{T}\boldsymbol{x}+b

其中,P(y=1\mid \boldsymbol{x})读作:在给定输入\boldsymbol{x}下,样本标签为1的概率;P(y=0\mid \boldsymbol{x})读作:在给定输入\boldsymbol{x}下,样本标签为0的概率。

将上式拆开写,可以得到二分类逻辑回归的模型

P(y=1\mid \boldsymbol{x})=\frac{e^{\boldsymbol{w}^{T}\boldsymbol{x}+b}}{1+e^{\boldsymbol{w}^{T}\boldsymbol{x}+b}}

P(y=0\mid \boldsymbol{x})=\frac{1}{1+e^{\boldsymbol{w}^{T}\boldsymbol{x}+b}}

从上面的描述可以看出,P(y\mid \boldsymbol{x})服从伯努利分布,伯努利分布的一些介绍如下图:

为了便于表达,记P(y=1\mid \boldsymbol{x})=\pi(\boldsymbol{x})P(y=0\mid \boldsymbol{x})=1-\pi(\boldsymbol{x}),则单个样本的概率质量函数可以记为:

\left [ \pi(\boldsymbol{x}) \right ]^{y}\left [ 1-\pi(\boldsymbol{x}) \right ]^{1-y}

假设现在给定训练集(\boldsymbol{x_{1}};y_{1}),(\boldsymbol{x_{2}};y_{2}),\cdots (\boldsymbol{x_{m}};y_{m}),则全部样本上预测正确的概率,即似然函数为:

\prod_{i=1}^{m}\left [ \pi(\boldsymbol{x_{i}}) \right ]^{y_{i}}\left [ 1-\pi(\boldsymbol{x_{i}}) \right ]^{1-y_{i}}

我们用极大似然估计法来估计\boldsymbol{w}b,根据上式写出对数似然函数:

L(\boldsymbol{w},b)=\sum_{i=1}^{m}\left [ y_{i}\ln \pi(\boldsymbol{x_{i}})+(1-y_{i})\ln(1-\pi(\boldsymbol{x_{i}})) \right ]=\sum_{i=1}^{m}\left [ y_{i}\ln\frac{\pi(\boldsymbol{x_{i}})}{1-\pi(\boldsymbol{x_{i}})} +\ln(1-\pi(\boldsymbol{x_{i}}))\right ]=\sum_{i=1}^{m}\left [ y_{i}(\boldsymbol{w}^{T}\boldsymbol{x_{i}}+b)-\ln(1+e^{\boldsymbol{w}^{T}\boldsymbol{x_{i}}+b}) \right ]

为了便于讨论,令:

\boldsymbol{\beta }=\begin{pmatrix} \boldsymbol{w}\\ b\end{pmatrix}\boldsymbol{\hat{x_{i}}}=\begin{pmatrix} \boldsymbol{x_{i}}\\ 1\end{pmatrix}

\boldsymbol{w}^{T}\boldsymbol{x}+b可以简写为:\boldsymbol{\beta }^{T}\boldsymbol{\hat{x}}

上面的对数似然函数可以简写为:

L(\boldsymbol{\beta })=\sum_{i=1}^{m}\left [ y_{i}\boldsymbol{\beta }^{T}\boldsymbol{\hat{x_{i}}}-\ln(1+e^{\boldsymbol{\beta }^{T}\boldsymbol{\hat{x_{i}}}}) \right ]

所以二分类的逻辑回归的目标就是:找出能使这个对数似然函数取最大值的参数\boldsymbol{\beta }

由于我们习惯于让一个函数越小越好,所以我们把最大化L(\boldsymbol{\beta })转化为最小化-L(\boldsymbol{\beta })。此外,使用一个正的常数系数来缩放对数似然函数,并不会改变参数估计的结果,所以我们把最大化L(\boldsymbol{\beta })转化为最小化-\frac{1}{m}L(\boldsymbol{\beta })m式子如下:

-\frac{1}{m}L(\boldsymbol{\beta })=-\frac{1}{m}\sum_{i=1}^{m}\left [ y_{i}\boldsymbol{\beta }^{T}\boldsymbol{\hat{x_{i}}}-\ln(1+e^{\boldsymbol{\beta }^{T}\boldsymbol{\hat{x_{i}}}}) \right ]

其中,m是样本数,在吴恩达的机器学习视频课程中,使用上式作为逻辑回归的损失函数,我们可以用梯度下降法对\boldsymbol{\beta }进行参数估计,用梯度更新参数的步骤如下:

\small \boldsymbol{\beta }_{j}=\boldsymbol{\beta }_{j}-\frac{\alpha }{m} \frac{\partial (-L(\boldsymbol{\beta }))}{\partial \boldsymbol{\beta }}=\boldsymbol{\beta }_{j}+\frac{\alpha }{m} \frac{\partial (L(\boldsymbol{\beta }))}{\partial \boldsymbol{\beta }}=\boldsymbol{\beta }_{j}+\frac{\alpha }{m}\sum_{i=1}^{m}\boldsymbol{\hat{x_{i}}}(y_{i}-\frac{e^{\boldsymbol{\beta }^T\boldsymbol{\hat{x_{i}}}}}{1+e^{\boldsymbol{\beta }^{T}\boldsymbol{\hat{x_{i}}}}})=\boldsymbol{\beta }_{j}+\frac{\alpha }{m}\sum_{i=1}^{m}\boldsymbol{\hat{x_{i}}}(y_{i}-h(\boldsymbol{\beta }^{T}\boldsymbol{\hat{x_{i}}}))=\boldsymbol{\beta }_{j}-\frac{\alpha }{m}\sum_{i=1}^{m}\boldsymbol{\hat{x_{i}}}(h(\boldsymbol{\beta }^{T}\boldsymbol{\hat{x_{i}}})-y_{i})

其中,\alpha为学习率。更新参数是一个耗时耗力的过程,我们可以交给计算机去完成。

假设我们使用极大似然估计得到的参数为:\boldsymbol{\hat{\beta }}=\begin{pmatrix} \boldsymbol{\hat{w}}\\ \hat{b}\end{pmatrix},那么最终学到的二分类的逻辑回归模型为:

P(y=1\mid \boldsymbol{x})=\frac{e^{\boldsymbol{\hat{w}}^{T}\boldsymbol{x}+\hat{b}}}{1+e^{\boldsymbol{\hat{w}}^{T}\boldsymbol{x}+\hat{b}}}

P(y=0\mid \boldsymbol{x})=\frac{1}{1+e^{\boldsymbol{\boldsymbol{\hat{w}}}^{T}\boldsymbol{x}+\hat{b}}}

4. 多分类的逻辑回归

假设样本的真实标签值的取值集合为:\left \{ 1,2,\cdots,K \right \},那么多分类的逻辑回归模型可以表达为:

P(y=k\mid \boldsymbol{x})=\frac{e^{\boldsymbol{w}_{k}^{T}\boldsymbol{x}+b}}{1+\sum_{k=1}^{K-1}e^{\boldsymbol{w}_{k}^{T}\boldsymbol{x}+b}} ,\ k=1,2,\cdots,K-1

P(y=K\mid \boldsymbol{x})=\frac{1}{1+\sum_{k=1}^{K-1}e^{\boldsymbol{w}_{k}^{T}\boldsymbol{x}+b}}

二分类逻辑回归的参数估计方法也可以推广到多分类的情况,这里不再单独说明。 

参考:

李航《统计学习方法》
周志华《机器学习》
https://blog.csdn.net/weixin_39445556/article/details/83930186
https://blog.csdn.net/u012421852/article/details/79575720

  • 10
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Logistic回归是一种逻辑回归方法。它是一种特殊的回归方法,用于对于分类问题中的因变量建立预测模型。这种方法基于学习一个由输入变量到二元输出变量的条件概率来构建预测模型,用于对一个新的样本进行分类。它对于分类问题中的因变量建立预测模型非常有效。 ### 回答2: 逻辑回归是一种用于解决二分类问题的监督学习算法。它是一种基于概率统计的分类模型,可以用于预测分类结果。逻辑回归的输出结果是一个0到1之间的概率值,其含义是该样本属于某一类别的概率。 逻辑回归模型的基本假设是数据服从伯努利分布,也就是数据只有两种可能的取值,被称为正类和负类。对于给定的训练数据集,逻辑回归模型的目标是最大化似然函数,即最大化样本属于正类(或负类)的概率。利用最大似然估计方法,我们可以求解出逻辑回归模型的参数。在实际应用中,我们通常使用梯度下降等优化算法来求解模型参数。 逻辑回归模型有多种变体,如L1正则化逻辑回归、L2正则化逻辑回归、多项式逻辑回归等。其中,L1正则化逻辑回归可以实现特征选择,可以削减一些不重要的特征,从而简化模型,提高计算速度和模型的泛化能力。 在机器学习领域,逻辑回归是一个常用的模型。它广泛应用于各种领域,如网络广告点击率预测、信用风险评估、医疗诊断等。逻辑回归模型简单易实现,具有较高的解释性,是一个较为理想的分类算法。 ### 回答3: 逻辑回归Logistic Regression)是一种经典的分类算法,在机器学习和统计学领域中得到广泛的应用。它旨在从已有的数据中构建一个能够预测类别的模型,输出结果为概率值,可以用于二分类或多分类问题的解决。 逻辑回归的基本原理是利用一个特定的函数对输入特征进行线性组合,然后将结果输入到一个Sigmoid函数中进行映射,将结果值压缩到0到1的范围内,表示输入属于某一类别的概率。这个Sigmoid函数可以被看作是一个阀门,控制着数据流向最终输出。它将具有很强预测能力的线性组合函数输出转化为概率输出的过程,将出现在中间层的结果值映射到[0,1]范围内,以表达某个样本属于某个类别的概率。 在训练模型时,逻辑回归使用的是最大似然估计的方法来确定模型的参数。在分类训练数据时,需要对样本经过一系列的处理,例如特征提取、特征转换、数据归一化等步骤。训练数据可以通过梯度下降法、牛顿迭代法等优化方法来确定最佳参数。通过此训练过程,模型可以学习到输入特征与输出概率之间的映射关系。 逻辑回归的优点包括了功能简单、速度快、易于实现和修改等等。它是机器学习中最为基本的分类算法之一,在数据挖掘、信用评估、自然语言处理、广告推荐等领域都有广泛的应用。逻辑回归作为一个二分类算法,常被用于解决分类问题。然而,在实际业务中,如何选择不同的逻辑回归模型及参数,对算法的效果和优化有着重要的影响。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SongGu1996

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值