逻辑回归

本文详细介绍了逻辑回归的基本概念,包括其作为线性分类器的特点和优势。重点解析了逻辑回归的损失函数——交叉熵,通过Sigmoid函数实现连续数据的离散化分类,并介绍了损失函数的极大似然估计推导过程。最后,提到了求解参数的梯度下降法。
摘要由CSDN通过智能技术生成

今天本篇记录一下自己的学习成果,简单梳理一下逻辑回归的基本原理!

一、逻辑回归概述

逻辑回归是在线性回归基础上的衍生和进化,它虽然带有回归两个字,但最终它要做的是分类,要把最终的结果转化为标签,将连续型数据转换为离散型数据,是一种名为“回归”的线性分类器,是一种广泛使用于分类问题中的广义回归算法。

逻辑回归在整个机器学习领域中有着不可替代的优点,比如说对线性关系的拟合效果非常好,对于线性数据计算速度快,抗噪能力强等等。也由于它强大的功能,它广受企业热爱。

接下来将会简单梳理一下逻辑回归的基本原理。

二、逻辑回归的损失函数

损失函数简单来说,就是描述模型预测值与真实值之间的差距大小。我们是使用“损失函数”这个评估指标,来衡量参数为 θ θ θ的模型拟合训练集时产生的信息损失的大小,并以此衡量参数 θ θ θ的优劣。

如果用一组参数建模后,模型在训练集上表现良好,那我们就说模型拟合过程中的损失很小,损失函数的值就很小,那么就表示这一组参数很优秀;相反,如果模型在训练集上表现糟糕,损失函数就会很大,模型就训练不足,效果较差,这一组参数也就表现较差,我们需要对参数进行进一步的调整。因此,我们在寻找最优参数的过程中,追求的是损失函数最小,使得模型在训练集上拟合效果最优。

在线性回归中运用的损失函数叫做“均值平方差”( M e a n S q u a r e d E r r o r , M S E Mean Squared Error,MSE MeanSquaredErrorMSE),也称均方误差。逻辑回归虽然从线性回归中衍生而来,但运用的损失函数却是不同的,逻辑回归中的损失函数叫做“交叉熵”( C r o s s e n t r o p y Crossentropy Crossentropy),由极大似然估计推导而来。二元逻辑回归的损失函数公式如下:

J ( θ ) = − ∑ i − 1 m ( y i ∗ log ⁡ ( y θ ( x i ) ) + ( 1 − y i ) ∗ log ⁡ ( 1 − y θ ( x i ) ) ) J(\theta ) = -\sum_{i-1}^{m}(y_i * \log (y_\theta(x_i)) + (1-y_i) * \log (1-y_\theta(x_i))) J(θ)=i1m(yilog(yθ(xi))+(1yi)log(1yθ(xi)))

其中, θ θ θ表示求解簇的一组参数,m是样本的个数, y i y_i yi是样本 i i i上真实的标签, y i ( x i ) y_i(x_i) yi(xi)是样本 i i i上基于参数 θ θ θ计算出来的逻辑回归返回值, x i x_i xi是样本i上各个特征的取值。我们的最终目标就是求解出使得 J ( θ ) J(θ) J(θ)最小的 θ θ θ取值。

三、损失函数的推导

1、引入 S i g m o i d Sigmoid Sigmoid函数

逻辑回归第一个问题,我们要如何把连续型数据转化为离散型数据?在这里可以通过引入联系函数( L i n k F u n c t i o n Link Function LinkFunction)来解决这个问题。在逻辑回归中这个联系函数就是 S i g m o i d Sigmoid Sigmoid函数:

S i g m o i d Sigmoid Sigmoid函数是一个 S S S形函数,它能将任意实数映射到(0,1)区间,最终可将任意值函数转变为更适合二分类的函数。因此它也被当做归一化的一种方法。将原线性回归的函数代入 S i g m o i d Sigmoid Sigmoid函数,当自变量 f ( x ) f(x) f(x)趋近于正无穷时,因变量 z z z趋近于1,而当自变量 f ( x ) f(x) f(x)趋近于负无穷时,因变量 z z z趋近于0。通过 S i g m o i d Sigmoid Sigmoid函数这个媒介,我们就可以把线性回归的结果进行分类。

假设对于任意样本 i i i,有:
z i = θ 0 + θ 1 x 1 + θ 2 x 2 + . . . + θ n x n z_i = θ_0 + θ_1x_1 + θ_2x_2 + ... + θ_nx_n zi=θ0+θ1x1+θ2x2+...+θnxn
θ θ θ统称为模型的参数,其中 θ 0 θ_0 θ0为截距。

z z z代入 S i g m o i d Sigmoid Sigmoid函数,便可得到二元逻辑回归的一般形式: y ( x ) = g ( z ) = 1 1 + e − z y(x) = g(z) = \frac{1}{1+e^{-z}} y(x)=g(z)=1+ez1

依据 S i g m o i d Sigmoid Sigmoid图像,当 z ( x ) > 0.5 z(x) > 0.5 z(x)>0.5时,可划分为一类;当 z ( x ) < 0.5 z(x) < 0.5 z(x)<0.5时,可划分为另一类,以此可将连续型的数据转化为离散型可分类的数据。

2、极大似然法

二元逻辑回归的标签服从伯努利分布(即0-1分布),因此我门可以将模型中的一个样本 i i i的预测情况分为如下形式:
① 样本标签被预测为1的概率为: P 1 = P ( y i ^ = 1 ∣ x i , θ ) = y θ ( x i ) P_{1} = P(\hat{y_{i}} = 1 | x_{i}, \theta ) = y_{\theta}(x_{i}) P1=P(yi^=1xi,θ)=yθ(xi)
② 样本标签被预测为0的概率为: P 0 = P ( y i ^ = 0 ∣ x i , θ ) = 1 − y θ ( x i ) P_{0} = P(\hat{y_{i}} = 0 | x_{i}, \theta ) = 1 - y_{\theta}(x_{i}) P0=P(yi^=0xi,θ)=1yθ(xi)
P 1 P_1 P1的值为1的时候,代表样本 i i i的标签被预测为1,当 P 0 P_0 P0的值为1的时候,代表样本i的标签被预测为0。

我们假设样本 i i i的真实标签 y i y_i yi被预测为1,此时如果 P 1 P_1 P1为1, P 0 P_0 P0为0,则代表样本 i i i的标签被预测为1,与真实值一致,则对样本 i i i来说,模型的预测是准确的,拟合程度优秀,没有信息损失。反之,如果 P 1 P_1 P1为0, P 0 P_0 P0为1·,则模型预测错误,拟合程度差,信息完全损失。当 y i y_i yi为0时,同理。

将两种取值的概率整合,可以定义公式:

P ( y i ^ ∣ x i , θ ) = P 1 y i ∗ P 1 1 − y i P(\hat{y_{i}} | x_{i}, \theta ) = P_{1}^{y_{i}} * P_{1}^{1-y_{i}} P(yi^xi,θ)=P1yiP11yi

此等式同时代表了 P 1 P_1 P1 P 0 P_0 P0。当样本 i i i的真实标签 y i y_i yi为1时,1- y i y_i yi就等于0, P 0 P_0 P0的0 次方等于1,所以 P ( y i ^ ∣ x i , θ ) = P 1 P(\hat{y_{i}} | x_{i}, \theta ) = P_1 P(yi^xi,θ)=P1。此时,如果 P 1 P_1 P1为1,那么模型效果好,损失小。同理,当 y i y_i yi为0时, P ( y i ^ ∣ x i , θ ) = P 0 P(\hat{y_{i}} | x_{i}, \theta ) = P_0 P(yi^xi,θ)=P0,此时如果 P 0 P_0 P0为1,那么模型效果好,损失小。因此,为了使模型效果好,将损失降到最小,我们应当使 P ( y i ^ ∣ x i , θ ) P(\hat{y_{i}} | x_{i}, \theta ) P(yi^xi,θ)的 值等于1或者使它最大可能接近1,即追求它的最大值。到此,模型拟合中的“损失最小化”问题转化为了对函数求极值。

P ( y i ^ ∣ x i , θ ) P(\hat{y_{i}} | x_{i}, \theta ) P(yi^xi,θ)是对单个样本 i i i的函数,对于整个模型样本 m m m来说,函数中预测出的所有可能性的 y ^ \hat{y} y^的概率 P P P为:
P = ∏ i = 1 m P ( y i ^ ∣ x i , θ ) ∏ i − 1 m ( P 1 y i ∗ P 0 1 − y i ) ∏ i − 1 m ( y θ ( x i y i ) ∗ ( 1 − y θ ( x i ) ) 1 − y i ) P =\prod_{i=1}^{m}P(\hat{y_{i}}|x_{i} ,\theta ) \prod_{i-1}^{m}(P_{1}^{y_{i}} * P_{0}^{1-y_{i}}) \prod_{i-1}^{m}(y_{\theta }(x_{i}^{^{y_{i}}})*(1-y_{\theta }(x_{i}))^{1-y_{i}}) P=i=1mP(yi^xi,θ)i1m(P1yiP01yi)i1m(yθ(xiyi)(1yθ(xi))1yi)

对该概率 P P P取对数:

log ⁡ P = log ⁡ ∏ i − 1 m ( y θ ( x i y i ) ∗ ( 1 − y θ ( x i ) ) 1 − y i ) \log P = \log {\prod_{i-1}^{m}(y_{\theta }(x_{i}^{^{y_{i}}})*(1-y_{\theta }(x_{i}))^{1-y_{i}})} logP=logi1m(yθ(xiyi)(1yθ(xi))1yi)

= ∑ i = 1 m log ⁡ ( y θ ( x i ) y i ∗ ( 1 − y θ ( x i ) 1 − y i ) = \sum_{i=1}^{m}\log (y_\theta(x_i)^{y_i} * {(1-y_\theta(x_i)}^{1-y_i}) =i=1mlog(yθ(xi)yi(1yθ(xi)1yi)

= ∑ i = 1 m ( log ⁡ y θ ( x i ) i y + log ⁡ ( 1 − y θ ( x i ) ) 1 − y i ) = \sum_{i=1}^{m}(\log y_\theta(x_i)^y_i + \log (1-y_\theta(x_i))^{1-y_i}) =i=1m(logyθ(xi)iy+log(1yθ(xi))1yi)

= ∑ i = 1 m ( y i ∗ log ⁡ ( y θ ( x i ) ) + ( 1 − y i ) ∗ log ⁡ ( 1 − y θ ( x i ) ) ) = \sum_{i=1}^{m}(y_i * \log (y_\theta(x_i)) + (1-y_i) * \log(1-y_\theta(x_i))) =i=1m(yilog(yθ(xi))+(1yi)log(1yθ(xi)))

上式就是交叉熵函数。为了更方便的定义“损失”的含义,我们将极大值问题转换为极小值问题,对 log ⁡ P \log P logP取负,并使参数 θ \theta θ作为函数的自变量,就得到了逻辑回归的损失函数:

J ( θ ) = − ∑ i − 1 m ( y i ∗ log ⁡ ( y θ ( x i ) ) + ( 1 − y i ) ∗ log ⁡ ( 1 − y θ ( x i ) ) ) J(\theta ) = -\sum_{i-1}^{m}(y_i * \log (y_\theta(x_i)) + (1-y_i) * \log (1-y_\theta(x_i))) J(θ)=i1m(yilog(yθ(xi))+(1yi)log(1yθ(xi)))

在这个函数上,只要求得函数的最小值,就能将损失降到最低,使模型在训练数据上的拟合效果最好。

四、梯度下降

逻辑回归的数学目的是求解出使得模型最优化的 θ \theta θ的值。对于二元逻辑回归来说,有多种方法可以求解参数,最常用包括梯度下降法( G r a d i e n t D e s c e n t Gradient Descent GradientDescent),坐标下降法( C o o r d i n a t e D e s c e n t Coordinate Descent CoordinateDescent),牛顿法( N e w t o n − R a p h s o n m e t h o d Newton-Raphson method NewtonRaphsonmethod)等等,其中以梯度下降法最为著名。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值