逻辑回归(Logistic Regression)是一种广泛应用于分类问题的统计方法,尤其是二分类问题。虽然它的名称中包含“回归”,但实际上逻辑回归是一个用于估计概率的分类模型。以下是关于逻辑回归的详细介绍,包括它的基本原理、数学模型、如何训练一个逻辑回归模型,以及它的优缺点。
逻辑回归的核心思想是利用逻辑函数(Logistic Function),也称为Sigmoid函数,将线性回归模型的输出映射到(0,1)区间内,从而用来表示某个样本属于某一类别的概率。(也就是通过线性+非线性让模型具有更强的表示能力)
逻辑回归模型的基本数学公式如下:
P ( Y = 1 ∣ X ) = 1 1 + e − ( β 0 + β 1 X 1 + β 2 X 2 + . . . + β n X n ) P(Y=1|X) = \frac{1}{1 + e^{-(\beta_0 + \beta_1X_1 + \beta_2X_2 + ... + \beta_nX_n)}} P(Y=1∣X)=1+e−(β0+β1X1+β2X2+...+βnXn)1
其中:
逻辑回归中使用的逻辑函数(或Sigmoid函数)的形式为:
σ ( z ) = 1 1 + e − z \sigma(z) = \frac{1}{1 + e^{-z}} σ(z)=1+e−z1
其中, z = β 0 + β 1 X 1 + β 2 X 2 + . . . + β n X n z = \beta_0 + \beta_1X_1 + \beta_2X_2 + ... + \beta_nX_n z=β0+β1X1+β2X2+...+βnXn 是线性组合。Sigmoid函数将任何实数值 z z z映射到区间(0, 1)内,使其可以被解释为概率。
逻辑回归模型可以用来预测给定输入X下,某个事件发生的概率。通过设定一个阈值(如0.5),可以将概率转换为二分类结果(例如,如果 P ( Y = 1 ∣ X ) > 0.5 P(Y=1|X)>0.5 P(Y=1∣X)>0.5,则预测Y=1;否则,预测Y=0)。
逻辑回归的表示形式简单而强大,使其成为处理二分类问题的重要工具。
为了更好的理解逻辑回归,让我们通过一个实际应用案例来详细介绍逻辑回归的使用方法,包括问题的定义、解决方法、以及底层的数学推导。我们将考虑一个医疗健康领域的案例:预测患者是否有糖尿病。
假设我们有一个数据集,包含患者的多种生理指标(如年龄、性别、体重指数(BMI)、血糖水平等)以及他们是否被诊断为糖尿病(是或否)。我们的目标是建立一个逻辑回归模型,根据这些生理指标预测一个患者是否有糖尿病的概率。
假设我们的数据集包含以下特征:
我们将使用逻辑回归模型来预测 P ( Y = 1 ∣ X ) P(Y=1|X) P(Y=1∣X),即给定生理指标X时,患者有糖尿病的概率。模型的形式为:
P ( Y = 1 ∣ X ) = 1 1 + e − ( β 0 + β 1 X 1 + β 2 X 2 + β 3 X 3 + β 4 X 4 ) P(Y=1|X) = \frac{1}{1 + e^{-(\beta_0 + \beta_1X_1 + \beta_2X_2 + \beta_3X_3 + \beta_4X_4)}} P(Y=1∣X)=1+e−(β0+β1X1+β2X2+β3X3+β4X4)1
为了训练模型,我们需要找到模型参数 β 0 , β 1 , β 2 , β 3 , β 4 \beta_0, \beta_1, \beta_2, \beta_3, \beta_4 β0,β1,β2,β3,β4的最优值。这通常通过最大化对数似然函数来完成。
对数似然函数为:
L ( β ) = ∑ i = 1 n [ y i log ( p i ) + ( 1 − y i ) log ( 1 − p i ) ] L(\beta) = \sum_{i=1}^{n} [y_i \log(p_i) + (1 - y_i) \log(1 - p_i)] L(β)=∑i=1n[yilog(pi)+(1−yi)log(1−pi)]
其中, y i y_i yi是第 i i i个样本的实际标签, p i p_i pi是模型预测的概率 P ( Y = 1 ∣ X i ) P(Y=1|X_i) P(Y=1∣Xi)。
什么是似然函数
似然函数(Likelihood function)是统计学中的一个重要概念,用于**量化一个统计模型在给定一些样本数据下的参数估计的可能性。**简单地说,似然函数衡量的是,在已知某参数下,观察到当前数据样本的概率。
更具体地,假设有一个概率模型是由参数 θ \theta θ 决定的,以及一组观测数据 X X X,似然函数 L ( θ ∣ X ) L(\theta|X) L(θ∣X) 表示的是在给定观测数据 X X X 的条件下,参数 θ \theta θ 的可能性。这个函数对参数 θ \theta θ 的不同值有不同的评估,通过找到使似然函数值最大化的 θ \theta θ 值,可以得到参数的最大似然估计(MLE,Maximum Likelihood Estimation)。
用通俗易懂的方式解释最大似然估计
想象一下,你是一个侦探,正在试图解决一个谜团:在一个房间里发现了一堆骰子,你的任务是找出这些骰子是怎么样的(类比我们寻找最优参数)。每个骰子可能有不同的面数,比如有的是六面的,有的是十二面的(类比两种类型的参数)。你要做的是,仅仅通过观察这些骰子的投掷结果,来猜测这些骰子最有可能是什么样的(根据已经出现的数据,去猜测最有可能的参数)。
最大似然估计(MLE)就像是你在用一种特别的方法来猜测这些骰子。具体来说,你会这样思考:
假设一种情况:首先,你想象一下,如果这是一个六面骰子,那么投掷出每个数字的概率是多少。然后,你再想象如果这是一个十二面骰子,情况会怎样改变。
比较结果:接下来,你会看看实际上投掷出来的结果(已经出现的数据),比如多次投掷后大部分时间都投掷出了不超过6的数字。你会思考,这些结果在哪种假设下更有可能发生——是六面骰子的假设下,还是十二面骰子的假设下?
选择最可能的情况:最后,你会选择那个使得实际观察到的结果出现概率最大的假设。如果在假设这是一个六面骰子的情况下,观察到的结果出现的概率更高,那么你就会认为这些骰子很可能就是六面的。
所以说最大似然估计就是这样一种方法,它帮助我们根据已有的数据,来猜测最有可能的规则(参数)情况是什么。在统计学中,我们用这种方法来估计一些未知的参数——比如在上面的例子中,骰子的面数。我们通过计算在不同参数下,已观察到的数据出现的概率,然后选择那个能使这个概率最大化的参数值。
似然函数和概率密度函数(PDF)或概率质量函数(PMF)在形式上可能相似,但它们的应用上有本质的区别:
在逻辑回归中,我们预测的是二分类目标变量 y y y 的概率,其中 y ∈ { 0 , 1 } y \in \{0, 1\} y∈{0,1}。逻辑回归模型假设给定输入 X X X 的条件下 y y y 的概率 p p p 可以通过逻辑函数来模型化,即:
p i = Pr ( y i = 1 ∣ x i ) = 1 1 + e − β T x i p_i = \Pr(y_i = 1 \mid x_i) = \frac{1}{1 + e^{-\beta^T x_i}} pi=Pr(yi=1∣xi)=1+e−βTxi1
其中, β \beta β 是模型参数, x i x_i xi 是第 i i i 个观测的特征向量。
每个观测 i i i 的目标变量 y i y_i yi 被认为是一个伯努利试验的结果,其概率为 p i p_i pi。因此,给定参数 β \beta β 和特征 x i x_i xi 的条件下 y i y_i yi 的概率可以写为:
Pr ( y i ∣ x i ; β ) = p i y i ( 1 − p i ) 1 − y i \Pr(y_i \mid x_i; \beta) = p_i^{y_i} (1 - p_i)^{1 - y_i} Pr(yi∣xi;β)=piyi(1−pi)1−yi
这表示如果 y i = 1 y_i = 1 yi=1,概率是 p i p_i pi,如果 y i = 0 y_i = 0 yi=0,概率是 1 − p i 1 - p_i 1−pi。
逻辑回归中的似然函数是所有观测数据在给定参数 β \beta β 下的联合概率,即所有 y i y_i yi 给定 x i x_i xi 和 β \beta β 的概率的乘积:
L
(
β
)
=
∏
i
=
1
n
Pr
(
y
i
∣
x
i
;
β
)
L(\beta) = \prod_{i=1}^{n} \Pr(y_i \mid x_i; \beta)
L(β)=∏i=1nPr(yi∣xi;β)
=
∏
i
=
1
n
[
p
i
y
i
(
1
−
p
i
)
1
−
y
i
]
= \prod_{i=1}^{n} [p_i^{y_i} (1 - p_i)^{1 - y_i}]
=∏i=1n[piyi(1−pi)1−yi]
对似然函数取对数是为了简化乘法运算,因为对数函数可以将乘积转换为求和,从而便于求解和优化:
log
L
(
β
)
=
∑
i
=
1
n
log
[
p
i
y
i
(
1
−
p
i
)
1
−
y
i
]
\log L(\beta) = \sum_{i=1}^{n} \log [p_i^{y_i} (1 - p_i)^{1 - y_i}]
logL(β)=∑i=1nlog[piyi(1−pi)1−yi]
=
∑
i
=
1
n
[
y
i
log
(
p
i
)
+
(
1
−
y
i
)
log
(
1
−
p
i
)
]
= \sum_{i=1}^{n} [y_i \log(p_i) + (1 - y_i) \log(1 - p_i)]
=∑i=1n[yilog(pi)+(1−yi)log(1−pi)]
这就是逻辑回归中常用的对数似然函数 L ( β ) L(\beta) L(β) 的形式。它是最大化 L ( β ) L(\beta) L(β) 以找到最佳参数 β \beta β 的基础。