第三章 对数几率回归
3.1 算法原理
对数几率回归(Logistic Regression)是一种统计方法,主要用于二分类问题。它通过拟合一个对数几率函数(logit function),即对数几率(log-odds)与输入变量的线性组合之间的关系,来预测一个事件发生的概率。其基本公式为:
l o g i t ( P ) = l n ( P 1 − P ) = β 0 + β 1 X 1 + β 2 X 2 + . . . + β n X n logit(P)=ln(\frac{P}{1-P})=\beta_0+\beta_1X_1+\beta_2X_2+...+\beta_nX_n logit(P)=ln(1−PP)=β0+β1X1+β2X2+...+βnXn
其中,P是事件发生的概率, β 0 \beta_0 β0是截距, β 1 , β 2 , . . . , β n \beta_1,\beta_2,...,\beta_n β1,β2,...,βn是回归系数, X 1 , X 2 , . . . , X n X_1,X_2,...,X_n X1,X2,...,Xn是输入变量。通过对参数 β \beta β进行估计,模型可以用于预测新数据点的分类结果。
简单来说,它是在线性模型的基础上套了一个映射函数来实现分类功能,在这里是套了一个 1 1 + e − z \frac{1}{1+e^{-z}} 1+e−z1函数,其图像如下图所示:
3.2损失函数的极大似然估计推导(策略)
第一步: 确定概率质量函数(质量密度函数)
已知离散型随机变量 y ∈ { 0 , 1 } y\in{\{0,1\}} y∈{0,1}取值为1和0的概率分别建模为:
p ( y = 1 ∣ x ) = 1 1 + e − ( w T x + b ) = e w T x + b 1 + e w T x + b p(y=1|x)=\frac{1}{1+e^{-(w^Tx+b)}}=\frac {e^{w^Tx+b}}{1+e^{w^Tx+b}} p(y=1∣x)=1+e−(wTx+b)1=1+ewTx+bewTx+b
p ( y = 0 ∣ x ) = 1 − p ( y = 1 ∣ x ) = 1 1 + e w T x + b p(y=0|x)=1-p(y=1|x)=\frac {1}{1+e^{w^Tx+b}} p(y=0∣x)=1−p(y=1∣x)=1+ewTx+b1
通过以上概率取值可推得随机变量 y ∈ { 0 , 1 } y\in{\{0,1\}} y∈{0,1}的概率质量函数为
p ( y ∣ x ^ ; β ) = y ⋅ p 1 ( x ^ ; β ) + ( 1 − y ) ⋅ p 0 ( x ^ ; β ) p(y|\hat x;\beta)=y \cdot p_1(\hat x;\beta)+(1-y)\cdot p_0(\hat x;\beta) p(y∣x^;β)=y⋅p1(x^;β)+(1−y)⋅p0(x^;β)
另一种表达是,
p ( y ∣ x ^ ; β ) = [ p 1 ( x ^ ; β ) ] y + [ p 0 ( x ^ ; β ) ] 1 − y p(y|\hat x;\beta)=[p_1(\hat x;\beta)]^y+[p_0(\hat x;\beta)]^{1-y} p(y∣x^;β)=[p1(x^;β)]y+[p0(x^;β)]1−y
第二步: 写出似然函数
L ( β ) = ∏ i = 1 m p ( y i ∣ x ^ i ; β ) L(\beta)=\prod \limits_{i=1}^mp(y_i|\hat x_i;\beta) L(β)=i=1∏mp(yi∣x^i;β)
对数似然函数为
l ( β ) = l n L ( β ) = ∑ i = 1 m p ( y i ∣ x ^ i ; β ) l(\beta)=lnL(\beta)=\sum_{i=1}^mp(y_i|\hat x_i;\beta) l(β)=lnL(β)=i=1∑mp(yi∣x^i;β)
l ( β ) = ∑ i = 1 m l n ( y i p 1 ( x ^ i ; β ) + ( 1 − y i ) p 0 ( x ^ i ; β ) ) l(\beta)=\sum_{i=1}^mln(y_ip_1(\hat x_i;\beta)+(1-y_i)p_0(\hat x_i;\beta)) l(β)=i=1∑mln(yip1(x^i;β)+(1−yi)p0(x^i;β))
带入化简得:
l ( β ) = ∑ i = 1 m ( y i β T x ^ i − l n ( 1 + e β T x ^ i ) ) l(\beta)=\sum_{i=1}^m(y_i\beta^T\hat x_i-ln(1+e^{\beta^T\hat x_i})) l(β)=i=1∑m(yiβTx^i−ln(1+eβTx^i))
最后取反即得到西瓜书得式(3.27),即对小化损失函数。
3.3损失函数的信息论推导(策略)
信息论(Information Theory)是一门研究信息的度量、传输和处理的科学。它由克劳德·香农(Claude Shannon)在20世纪中期创立。信息论的应用广泛,包括数据压缩、加密、通信系统设计、机器学习等领域。通过量化信息和不确定性,信息论为理解和优化信息处理系统提供了理论基础。
关键概念:
1.自信息:在信息论中,自信息(Self-Information),又称为信息量或惊讶度,是一个度量事件不确定性的概念。自信息量用于描述单个事件的置信度或信息含量。其定义如下:
I ( x ) = − l o g P ( x ) I(x)=-logP(x) I(x)=−logP(x)
其中,I(x)是事件x的自信息量,P(x)是事件x发生的概率,log 表示对数运算,可以是以2为底(通常用于信息论中的单位为比特)或以自然对数为底(单位为纳特,nats)。
2.信息熵(Entropy)是信息论中的一个核心概念,用来衡量一个随机变量的不确定性或信息量。它是由克劳德·香农(Claude Shannon)在其1948年的论文《通信的数学理论》中提出的,因此有时也称为香农熵。信息熵的定义如下:
H ( X ) = − ∑ i P ( x i ) l o g P ( x i ) H(X)=-\sum_iP(x_i)logP(x_i) H(X)=−i∑P(xi)logP(xi)
其中:
H ( X ) H(X) H(X)是随机变量X的熵;
P ( x i ) P(x_i) P(xi)是随机变量X取值为 x i x_i xi的概率。
log是对数运算
要注意的一点是,当 p ( x ) = 0 p(x)=0 p(x)=0,则 p ( x ) l o g b p ( x ) = 0 p(x)log_bp(x)=0 p(x)logbp(x)=0
3.相对熵(Relative Entropy),也称为Kullback-Leibler散度(Kullback-Leibler Divergence, 简称KL散度),是信息论中用来衡量两个概率分布之间差异的非对称度量。它描述了从一个分布到另一个分布的额外信息量或“代价”。相对熵的定义如下:
对于两个概率分布P和Q,相对熵 D K L ( P ∣ ∣ Q ) D_{KL}(P||Q) DKL(P∣∣Q)定义为:
D K L ( P ∣ ∣ Q ) = ∑ x ∈ X P ( x ) l o g P ( x ) Q ( x ) D_{KL}(P||Q)=\sum_{x\in \mathcal X}P(x)log \frac{P(x)}{Q(x)} DKL(P∣∣Q)=x∈X∑P(x)logQ(x)P(x)
其中,
P和Q是定义在同一随机变量X上的两个概率分布;
X \mathcal X X是X的取值范围;
log是对数运算。
上面的式子可以化为:
D K L ( p ∣ ∣ q ) = ∑ x p ( x ) l o g p ( x ) − ∑ x p ( x ) l o g b q ( x ) D_{KL}(p||q)=\sum_{x}p(x)log p(x)-\sum_xp(x)log_bq(x) DKL(p∣∣q)=x∑p(x)logp(x)−x∑p(x)logbq(x)
可以看到上面的式子的后半部分就是交叉熵。由于理想分布p(x)是未知但固定的分布(频率学派的角度),所以式子的前办部分是一个常量,那么最小化相对熵就等价于最小化交叉熵。
以对数几率回归为例,对单个样本 y i y_i yi来说,它的理想分布是
p ( y i ) = { p ( 1 ) = 1 , p ( 0 ) = 0 , y i = 1 p ( 1 ) = 0 , p ( 0 ) = 1 , y i = 0 p(y_i)=\left\{ \begin{aligned} p(1)=1,p(0)=0,y_i=1 \\ p(1)=0,p(0)=1,y_i=0\\ \end{aligned} \right. p(yi)={p(1)=1,p(0)=0,yi=1p(1)=0,p(0)=1,yi=0
模拟分布为:
q ( y i ) = { e β T x ^ 1 + e β T x ^ = p 1 ( x ^ ; β ) , y i = 1 1 1 + e β T x ^ = p 0 ( x ^ ; β ) , y i = 0 q(y_i)=\left\{ \begin{aligned} \frac{e^{\beta^T\hat x}}{1+e^{\beta^T\hat x}}=p_1(\hat x;\beta),y_i=1 \\ \frac{1}{1+e^{\beta^T\hat x}}=p_0(\hat x;\beta),y_i=0\\ \end{aligned} \right. q(yi)=⎩ ⎨ ⎧1+eβTx^eβTx^=p1(x^;β),yi=11+eβTx^1=p0(x^;β),yi=0
带入交叉熵公式同时全体训练样本的交叉熵求和化简得到,
∑ i = 1 m ( − y i β T x ^ i + l n ( 1 + e β T x ^ i ) ) \sum_{i=1}^m(-y_i\beta^T\hat x_i+ln(1+e^{\beta^T\hat x_i})) i=1∑m(−yiβTx^i+ln(1+eβTx^i))
3.4补充
对数几率回归算法的机器学习三要素:
1.模型:线性模型,输出值得范围为[0,1],近似阶跃得单调可微函数
2.策略:极大似然估计,信息论
3.算法:梯度下降,牛顿法(近似求解方法,没有闭式解)