逻辑回归(Logistic Regression)原理(理论篇)

文章详细介绍了逻辑回归的基本概念、工作原理,包括sigmoid函数的作用、输入和输出形式,以及如何通过极大似然估计求解参数。此外,还探讨了逻辑回归在分类问题中的应用,并预告了代码实现部分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、逻辑回归简介及应用

二、逻辑回归的原理

(1)sigmoid函数

(2)输入和输出形式

 (3)基于目标函数求解参数w

三、逻辑回归代码复现


一、逻辑回归简介及应用

        logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。例如,探讨引发疾病的危险因素,并根据危险因素预测疾病发生的概率等。以胃癌病情分析为例,选择两组人群,一组是胃癌组,一组是非胃癌组,两组人群必定具有不同的体征与生活方式等。因此因变量就为是否胃癌,值为“是”或“否”,自变量就可以包括很多了,如年龄、性别、饮食习惯、幽门螺杆菌感染等。然后通过logistic回归分析,可以得到自变量的权重,同时根据该权值可以根据危险因素预测一个人患癌症的可能性。

       Logistic回归的因变量可以是二分类的,如上述中是否患胃癌;也可以是多分类的,如mnist手写识别,但是二分类的更为常用,也更加容易解释。所以实际中最常用的就是二分类的Logistic回归。

二、逻辑回归的原理

        谈到回归问题,第一反应是:y = kx+b在二维平面上是一条直线。当 k 和 b 确定时,对于回归问题,假设x为面积,经过线性映射,可以得到其体积y,则完成回归任务;对于分类问题,假设x为某个特征,经过线性映射,得到y>0,或<0,或=0,若规定大于0的为正标签,小于等于0的为负标签,则完成了分类任务。

        同理可得,当方程为多元方程时: f(x)=w_{1}x_{1}+w_{2}x_{2}+w_{3}x_{3}+\begin{matrix} ... \end{matrix}+w_{n}x_{1n}+b=\overrightarrow{w}\cdot \overrightarrow{x}+b=w^{T}x   ,如下图所示:

          如果继续对多元方程回归得到的f(x)规定大于0的为正标签,小于等于0的为负标签。由于f(x)的值域为\left ( -\infty, +\infty \right ),这样规定对于决策很不友好;若f(w)\in \left [ 0,1 \right ],规定大于阈值0.5为正标签,小于等于阈值0.5为负标签,那么越比0.5大,就越说明决策函数给出的正类的可信度越高,反之亦然。这样不仅灵活,而且可以根据数据情况调整不同的阈值来达到最佳准召率。

(1)sigmoid函数

  输入数据x_{i},经过函数映射为\left [ 0\sim 1 \right ],该函数为sigmoid函数,形式为sigmoid=\frac{1}{1+e^{-z}}

(2)输入和输出形式

        输入:x=\left ( x_{1}\,\, x_{2}\,\, x_{3}\,\, \begin{matrix} ... \end{matrix}x_{n}\,\,1\right )

       输出:   p=\frac{1}{1+e^{-\left ( w_{_{1}}x_{1}+w_{_{2}}x_{2}+w_{_{3}}x_{3}+\begin{matrix} ... \end{matrix}+w_{_{n}}x_{n}+b\right )}} =\frac{1}{1+e^{-\left ( \vec{w}\cdot \vec{x}+b \right )}},其中\sigma (z)=\frac{1}{1+e^{-z}} 

这里\vec{x}\vec{w}如图所示,分别为输入数据和待求参数,b为偏置项,为了后续推导方便,设定:\vec{w}\cdot \vec{x}+b=w^{^{T}}x,即w=\left ( w_{1} \, \, w_{2}\, \, w_{3}\, \,\begin{matrix} ...& \end{matrix} w_{n} \, \, b\right )x=\left ( x_{1}\,\, x_{2}\,\, x_{3}\,\, \begin{matrix} ... \end{matrix}x_{n}\,\,1\right )

        输出值a就是概率值,对a中参数w,b的求导过程如下所示,后面会用到,先求出来放在这里哈:

 a'=(\frac{1}{1+e^{-(w^{T}x)}})'=\frac{e^{-w^{T}x}\cdot x^{T}}{(1+e^{-w^{T}x})^{2}}=a(1-a)x^{T}

        求导过程为除法求导运算法则,需要注意一个推导公式:(w^{T}x)'=\frac{\partial w^{T}x}{\partial w}=x^{T}

 (3)基于目标函数求解参数w

        极大似然估计提供了一种基于给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。简单说来,就是知道了模型和结果,求解使得事件结果以最大概率发生时出现的参数。

        基于逻辑回归的计算式,对应标签1和0的概率分别为:P(Y=1|X)=\frac{1}{1+e^{-(w^{T}x)}}=p(x)P(Y=0|X)=\frac{1}{1+e^{-(w^{T}x)}}=1-p(x)

        第一步,构造极大似然函数,计算这些样本的似然函数,其实就是把每个样本的概率乘起来,

L(w,x)=\prod_{i=1}^{n}P(y_{i}|x_{i})=\prod_{i=1}^{n}p^{y_{i}}(1-p)^{(1-y_{i})}

        第二步,两边取对数得:ln\prod_{i=1}^{n}p^{y_{i}}(1-p)^{(1-y_{i})}=\sum_{i=1}^{n}y_{i}lnp+\sum_{i=1}^{n}(1-y_{i})ln(1-p)

tips:由于极大似然函数中有连乘符号,取对数,将连乘变为加和。

        目标函数为:L(x,w)=\sum_{i=1}^{n}y_{i}lnp+\sum_{i=1}^{n}(1-y_{i})ln(1-p)其中,y为真值,p为预测值。

        原函数求最大值,等价于乘以负1后求最小值。对于n个数据累加后值较大,用梯度下降容易导致梯度爆炸,可处于样本总数n,即

        L(x,w)=-\frac{1}{n}(\sum_{i=1}^{n}y_{i}lnp+\sum_{i=1}^{n}(1-y_{i})ln(1-p))

        第三步,对目标函数中参数w求导:为了求导过程更清晰,先去掉求和符号

\frac{\partial L}{\partial w}=-\frac{1}{n}(\frac{y_{i}}{p}{p}'-\frac{1-y_{i}}{1-p}{p}')=-\frac{1}{n}(\frac{y_{i}}{p}-\frac{1-y_{i}}{1-p})p(1-p)x^{T}

=-\frac{1}{n}(y_{i}(1-p)x^{T}-(1-y_{i})px^{T} )=-\frac{1}{n}(y_{i}-p)x^{T}

tips:p(x)'=p(x)(1-p(x))x^{T},该求导过程,涉及到对概率值p的求导,这个求导过程在前面已经推导完成。

        添加求和符号后为:\frac{\partial L}{\partial w}=-\frac{1}{n}\sum_{i=n}^{n}(y_{i}-p)x^{T}

        基于梯度下降法求得最优w:w_{t+1}=w_{t}+\frac{1}{n}\sum_{i=n}^{n}(y_{i}-p)x^{T}

三、逻辑回归代码复现

        后续补充。


参考文献:

【大道至简】机器学习算法之逻辑回归(Logistic Regression)详解(附代码)---非常通俗易懂!

        

        

逻辑回归是一个经典的分类算法,它可以处理二元分类以及多元分类。逻辑回归原理是由线性回归模型演变而来的,因此含有“回归”二字,但它并不是一个回归算法,而是属于广义线性模型的一类。[2] 逻辑回归的基本原理可以概括为以下几个步骤: 1. 寻找预测函数:逻辑回归模型通过定义一个预测函数来预测观测样本的分类概率。常用的预测函数是sigmoid函数,也称为逻辑函数。这个函数将输入值映射到一个介于0和1之间的概率值。 2. 构造损失函数:为了使模型能够学习到最优的参数,需要定义一个损失函数来衡量预测值与真实值的差距。常用的损失函数是交叉熵损失函数,它可以度量模型的预测与实际分类之间的误差。 3. 损失函数的优化方法:为了最小化损失函数,常用的优化方法是梯度下降法。梯度下降法通过迭代更新模型参数,使得损失函数逐渐减小,从而达到寻找最优参数的目的。 逻辑回归的优点包括:实现简单,计算效率高,模型可解释性强,可以处理线性可分问题,并且可以通过调整阈值来控制分类的准确率与召回率的平衡。缺点包括:对于非线性可分问题表现较差,并且对异常值敏感。 逻辑回归与线性回归的区别在于目标变量的类型不同。线性回归用于预测连续型变量,而逻辑回归用于预测分类变量。此外,逻辑回归使用了sigmoid函数来模拟分类概率,而线性回归没有这个步骤。 以上是关于逻辑回归原理的一些简要介绍。如果需要更加详细的内容,可以参考引用的材料进行进一步学习。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值