机器学习(第三章)3.3对数几率回归
1、对数几率回归的机器学习三要素
1.模型:根据具体问题,确定假设空间——此篇为线性模型,输出值范围为[0,1],为近似阶跃的单调可微函数;
2.策略:根据评价标准,确定选取最优模型的策略(通常会产生一个“损失函数”)——此篇由最大似然估计法、信息论来确定损失函数最小的等价条件;
3.算法:求解损失函数,确定最优模型,一般无法求出准确值,求得近似值即可——可以采用梯度下降、牛顿法近似求解。
2.算法原理
原理:在线性模型的基础上套一个映射函数来实现分类功能
对于二分类任务, 输出标记 yε{0 ,1},但是线性回归产生的产生的预测值为实数,需要将其转化为0/1 值. 最理想的是"单位阶跃函数" (unit-step function)
理想:即若预测值大于零就判为正例,小于零则判为反例,预测值为临界值零则可任意判别
但是这种情况虽然简单,但是单位阶跃函数不连续,所以需要在一定程度上近似单位阶跃函数的"替代函数"。
实际:常用的"替代函数"是对数几率函数,它的优点是求导的代价很小
y
=
1
1
+
e
−
z
y=\frac{1}{1+e^{-z}}
y=1+e−z1
下图是单位阶跃函数与对数几率函数的对比
3.利用极大似然估计推导损失函数
3.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
=
0
∣
x
)
=
1
−
p
(
y
=
1
∣
x
)
=
1
1
+
e
w
T
x
+
b
\begin{array}{l} p(y=1 \mid \boldsymbol{x})=\frac{1}{1+e^{-\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b\right)}}=\frac{e^{\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b}}{1+e^{\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b}} \\ p(y=0 \mid \boldsymbol{x})=1-p(y=1 \mid \boldsymbol{x})=\frac{1}{1+e^{\boldsymbol{w}^{\mathrm{T}} \boldsymbol{x}+b}} \end{array}
p(y=1∣x)=1+e−(wTx+b)1=1+ewTx+bewTx+bp(y=0∣x)=1−p(y=1∣x)=1+ewTx+b1
为
了
便
于
讨
论
,
令
β
=
(
w
;
b
)
,
x
^
=
(
x
;
1
)
,
则
上
式
可
简
写
为
为了便于讨论, 令 \boldsymbol{\beta}=(\boldsymbol{w} ; b), \hat{\boldsymbol{x}}=(\boldsymbol{x} ; 1) , 则上式可简写为 \\
为了便于讨论,令β=(w;b),x^=(x;1),则上式可简写为
p
(
y
=
1
∣
x
^
;
β
)
=
e
β
T
x
^
1
+
e
β
T
x
^
=
p
1
(
x
^
;
β
)
p
(
y
=
0
∣
x
^
;
β
)
=
1
1
+
e
β
T
x
^
=
p
0
(
x
^
;
β
)
\begin{array}{l} p(y=1 \mid \hat{\boldsymbol{x}} ; \boldsymbol{\beta})=\frac{e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}}}{1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}}}=p_{1}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta}) \\ p(y=0 \mid \hat{\boldsymbol{x}} ; \boldsymbol{\beta})=\frac{1}{1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}}}=p_{0}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta}) \end{array}
p(y=1∣x^;β)=1+eβTx^eβTx^=p1(x^;β)p(y=0∣x^;β)=1+eβTx^1=p0(x^;β)
由以上概率取值可推得随机变量yε{0,1}的概率质量函数
p
(
y
∣
x
^
;
β
)
=
y
⋅
p
1
(
x
^
;
β
)
+
(
1
−
y
)
⋅
p
0
(
x
^
;
β
)
此
即
为
公
式
3.26
或
者
为
p
(
y
∣
x
^
;
β
)
=
[
p
1
(
x
^
;
β
)
]
y
[
p
0
(
x
^
;
β
)
]
1
−
y
p(y \mid \hat{\boldsymbol{x}} ; \boldsymbol{\beta})=y \cdot p_{1}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta})+(1-y) \cdot p_{0}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta}) \quad\quad 此即为公式 3.26\\ 或者为\quad\quad p(y \mid \hat{\boldsymbol{x}} ; \boldsymbol{\beta})=\left[p_{1}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta})\right]^{y}\left[p_{0}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta})\right]^{1-y}
p(y∣x^;β)=y⋅p1(x^;β)+(1−y)⋅p0(x^;β)此即为公式3.26或者为p(y∣x^;β)=[p1(x^;β)]y[p0(x^;β)]1−y
西瓜书采用的第一种,不过第二种的推导更简单,南瓜书3.27
3.2写出似然函数
L ( β ) = ∏ i = 1 m p ( y i ∣ x ^ i ; β ) L(\boldsymbol{\beta})=\prod_{i=1}^{m} p\left(y_{i} \mid \hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)\\ L(β)=i=1∏mp(yi∣x^i;β)
对
数
似
然
函
数
为
ℓ
(
β
)
=
ln
L
(
β
)
=
∑
i
=
1
m
ln
p
(
y
i
∣
x
^
i
;
β
)
ℓ
(
β
)
=
∑
i
=
1
m
ln
(
y
i
p
1
(
x
^
i
;
β
)
+
(
1
−
y
i
)
p
0
(
x
^
i
;
β
)
)
将
p
1
(
x
^
i
;
β
)
=
e
β
T
x
^
i
1
+
e
β
T
x
^
i
,
p
0
(
x
^
i
;
β
)
=
1
1
+
e
β
T
x
^
i
代入上式可得
ℓ
(
β
)
=
∑
i
=
1
m
ln
(
y
i
e
β
T
x
^
i
1
+
e
β
T
x
^
i
+
1
−
y
i
1
+
e
β
T
x
^
i
)
=
∑
i
=
1
m
ln
(
y
i
e
β
T
x
^
i
+
1
−
y
i
1
+
e
β
T
x
^
i
)
=
∑
i
=
1
m
(
ln
(
y
i
e
β
T
x
^
i
+
1
−
y
i
)
−
ln
(
1
+
e
β
T
x
^
i
)
)
\begin{array}{c} 对数似然函数为\quad\ell(\boldsymbol{\beta})=\ln L(\boldsymbol{\beta})=\sum_{i=1}^{m} \ln p\left(y_{i} \mid \hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right) \\ \ell(\boldsymbol{\beta})=\sum_{i=1}^{m} \ln \left(y_{i} p_{1}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)+\left(1-y_{i}\right) p_{0}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)\right) \end{array}\\ \begin{array}{c} \text { 将 } p_{1}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)=\frac{e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}}{1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}}, p_{0}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)=\frac{1}{1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}} \text { 代入上式可得 } \\ \ell(\boldsymbol{\beta})=\sum_{i=1}^{m} \ln \left(\frac{y_{i} e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}}{1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}}+\frac{1-y_{i}}{1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}}\right) \\ =\sum_{i=1}^{m} \ln \left(\frac{y_{i} e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}+1-y_{i}}{1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}}\right) \\ =\sum_{i=1}^{m}\left(\ln \left(y_{i} e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}+1-y_{i}\right)-\ln \left(1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}\right)\right) \end{array}
对数似然函数为ℓ(β)=lnL(β)=∑i=1mlnp(yi∣x^i;β)ℓ(β)=∑i=1mln(yip1(x^i;β)+(1−yi)p0(x^i;β)) 将 p1(x^i;β)=1+eβTx^ieβTx^i,p0(x^i;β)=1+eβTx^i1 代入上式可得 ℓ(β)=∑i=1mln(1+eβTx^iyieβTx^i+1+eβTx^i1−yi)=∑i=1mln(1+eβTx^iyieβTx^i+1−yi)=∑i=1m(ln(yieβTx^i+1−yi)−ln(1+eβTx^i))
由
于
y
i
∈
{
0
,
1
}
,
则
由于 y_{i} \in\{0,1\} , 则
由于yi∈{0,1},则
ℓ
(
β
)
=
{
∑
i
=
1
m
(
−
ln
(
1
+
e
β
T
x
^
i
)
)
,
y
i
=
0
∑
i
=
1
m
(
β
T
x
^
i
−
ln
(
1
+
e
β
T
x
^
i
)
)
,
y
i
=
1
\ell(\boldsymbol{\beta})=\left\{\begin{array}{ll} \sum_{i=1}^{m}\left(-\ln \left(1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}\right)\right), & y_{i}=0 \\ \sum_{i=1}^{m}\left(\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}-\ln \left(1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}\right)\right), & y_{i}=1 \end{array}\right.\\
ℓ(β)=⎩⎨⎧∑i=1m(−ln(1+eβTx^i)),∑i=1m(βTx^i−ln(1+eβTx^i)),yi=0yi=1
两式综合可得
ℓ
(
β
)
=
∑
i
=
1
m
(
y
i
β
T
x
^
i
−
ln
(
1
+
e
β
T
x
^
i
)
)
\ell(\boldsymbol{\beta})=\sum_{i=1}^{m}\left(y_{i} \boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}-\ln \left(1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}\right)\right)\\
ℓ(β)=i=1∑m(yiβTx^i−ln(1+eβTx^i))
由于损失函数通常是以最小化为优化目标, 因此可以将最大化 \ell(\beta) 等价转化为最小化
ℓ
(
β
)
的
相
反
数
−
ℓ
(
β
)
,
此
即
为
公
式
(
3.27
)
\ell(\boldsymbol{\beta}) 的相反数 -\ell(\boldsymbol{\beta}) , 此即为公式(3.27)
ℓ(β)的相反数−ℓ(β),此即为公式(3.27)
4.利用信息论推导损失函数
4.1信息论概念
信息论:以概率论、随机过程为基本研究工具,研究广义通信系统的整个过程。
自信息:b=2时单位为bit,b=e时单位为nat
I
(
X
)
=
−
log
b
p
(
x
)
I(X)=-\log _{b} p(x)
I(X)=−logbp(x)
信息熵:度量随机变量X的不确定性,信息熵越大越不确定。
H
(
X
)
=
E
[
I
(
X
)
]
=
−
∑
x
p
(
x
)
log
b
p
(
x
)
此处以离散型为例
H(X)=E[I(X)]=-\sum_{x} p(x) \log _{b} p(x) \quad \text { 此处以离散型为例 }
H(X)=E[I(X)]=−x∑p(x)logbp(x) 此处以离散型为例
并且约定了log0的情况
若
p
(
x
)
=
0
, 则
p
(
x
)
log
b
p
(
x
)
=
0
\text { 若 } p(x)=0 \text {, 则 } p(x) \log _{b} p(x)=0
若 p(x)=0, 则 p(x)logbp(x)=0
相对熵(KL散度):度量两个分布的差异,其典型使用场景是用来度量**理想分布p(x)和模拟分布q(x)**之间的差异。
D
K
L
(
p
∥
q
)
=
∑
x
p
(
x
)
log
b
(
p
(
x
)
q
(
x
)
)
D_{K L}(p \| q)=\sum_{x} p(x) \log _{b}\left(\frac{p(x)}{q(x)}\right)\\
DKL(p∥q)=x∑p(x)logb(q(x)p(x))
=
∑
x
p
(
x
)
log
b
p
(
x
)
−
∑
x
p
(
x
)
log
b
q
(
x
)
=\sum_{x} p(x) \log _{b} p(x)-\sum_{x} p(x) \log _{b} q(x)\\
=x∑p(x)logbp(x)−x∑p(x)logbq(x)
其中
−
∑
x
p
(
x
)
log
b
q
(
x
)
-\sum_{x} p(x) \log _{b} q(x)
−x∑p(x)logbq(x)
称为交叉熵。
与理想分布最为接近的模拟分布即为最优分布,所以可以通过最小化相对熵这个策略来求出最优分布,理想分布p(x)是未知但固定的,即
∑
x
p
(
x
)
log
b
p
(
x
)
\sum_{x} p(x) \log _{b} p(x)
x∑p(x)logbp(x)
为常量,所以最小化相对熵就等于最小化交叉熵
−
∑
x
p
(
x
)
log
b
q
(
x
)
-\sum_{x} p(x) \log _{b} q(x)
−x∑p(x)logbq(x)
4.2应用信息论实例
以对数几率回归为例, 对单个样本 y_{i} 来说, 它的理想分布是
p
(
y
i
)
=
{
p
(
1
)
=
1
,
p
(
0
)
=
0
,
y
i
=
1
p
(
1
)
=
0
,
p
(
0
)
=
1
,
y
i
=
0
p\left(y_{i}\right)=\left\{\begin{array}{ll} p(1)=1, p(0)=0, & y_{i}=1 \\ p(1)=0, p(0)=1, & y_{i}=0 \end{array}\right.\\
p(yi)={p(1)=1,p(0)=0,p(1)=0,p(0)=1,yi=1yi=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\left(y_{i}\right)=\left\{\begin{array}{ll} \frac{e^{\beta^{\mathrm{T}} \hat{\hat{x}}}}{1+e^{\beta^{T} \hat{x}}}=p_{1}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta}), & y_{i}=1 \\ \frac{1}{1+e^{\beta^{T} \hat{x}}}=p_{0}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta}), & y_{i}=0 \end{array}\right.
q(yi)={1+eβTx^eβTx^^=p1(x^;β),1+eβTx^1=p0(x^;β),yi=1yi=0
那么单个样本的交叉熵为
−
∑
y
i
p
(
y
i
)
log
b
q
(
y
i
)
−
p
(
1
)
⋅
log
b
p
1
(
x
^
;
β
)
−
p
(
0
)
⋅
log
b
p
0
(
x
^
;
β
)
−
y
i
⋅
log
b
p
1
(
x
^
;
β
)
−
(
1
−
y
i
)
⋅
log
b
p
0
(
x
^
;
β
)
令
b
=
e
−
y
i
ln
p
1
(
x
^
;
β
)
−
(
1
−
y
i
)
ln
p
0
(
x
^
;
β
)
\begin{array}{c} -\sum_{y_{i}} p\left(y_{i}\right) \log _{b} q\left(y_{i}\right) \\ -p(1) \cdot \log _{b} p_{1}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta})-p(0) \cdot \log _{b} p_{0}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta}) \\ -y_{i} \cdot \log _{b} p_{1}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta})-\left(1-y_{i}\right) \cdot \log _{b} p_{0}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta}) \\\text { 令 } b=e\\ -y_{i} \ln p_{1}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta})-\left(1-y_{i}\right) \ln p_{0}(\hat{\boldsymbol{x}} ; \boldsymbol{\beta}) \end{array}
−∑yip(yi)logbq(yi)−p(1)⋅logbp1(x^;β)−p(0)⋅logbp0(x^;β)−yi⋅logbp1(x^;β)−(1−yi)⋅logbp0(x^;β) 令 b=e−yilnp1(x^;β)−(1−yi)lnp0(x^;β)
全体样本的交叉熵为
∑
i
=
1
m
[
−
y
i
ln
p
1
(
x
^
i
;
β
)
−
(
1
−
y
i
)
ln
p
0
(
x
^
i
;
β
)
]
∑
i
=
1
m
{
−
y
i
[
ln
p
1
(
x
^
i
;
β
)
−
ln
p
0
(
x
^
i
;
β
)
]
−
ln
(
p
0
(
x
^
i
;
β
)
)
}
∑
i
=
1
m
[
−
y
i
ln
(
p
1
(
x
^
i
;
β
)
p
0
(
x
^
i
;
β
)
)
−
ln
(
p
0
(
x
^
i
;
β
)
)
]
∑
i
=
1
m
[
−
y
i
ln
(
e
β
T
x
^
1
+
e
β
T
x
^
1
1
+
e
β
T
x
^
)
−
ln
(
1
1
+
e
β
T
x
^
^
)
]
∑
i
=
1
m
(
−
y
i
β
T
x
^
i
+
ln
(
1
+
e
β
T
x
^
i
)
)
此
即
为
公
式
3.27
\begin{array}{c} \sum_{i=1}^{m}\left[-y_{i} \ln p_{1}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)-\left(1-y_{i}\right) \ln p_{0}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)\right] \\ \sum_{i=1}^{m}\left\{-y_{i}\left[\ln p_{1}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)-\ln p_{0}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)\right]-\ln \left(p_{0}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)\right)\right\} \\ \sum_{i=1}^{m}\left[-y_{i} \ln \left(\frac{p_{1}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)}{p_{0}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)}\right)-\ln \left(p_{0}\left(\hat{\boldsymbol{x}}_{i} ; \boldsymbol{\beta}\right)\right)\right] \\ \sum_{i=1}^{m}\left[-y_{i} \ln \left(\frac{\frac{e^{\beta^{\mathrm{T}} \hat{\boldsymbol{x}}}}{1+e^{\beta^{T} \hat{x}}}}{\frac{1}{1+e^{\beta^{T} \hat{x}}}}\right)-\ln \left(\frac{1}{1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\hat{x}}}}\right)\right]\\ \sum_{i=1}^{m}\left(-y_{i} \boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}+\ln \left(1+e^{\boldsymbol{\beta}^{\mathrm{T}} \hat{\boldsymbol{x}}_{i}}\right)\right) \quad\quad 此即为公式 3.27 \end{array}
∑i=1m[−yilnp1(x^i;β)−(1−yi)lnp0(x^i;β)]∑i=1m{−yi[lnp1(x^i;β)−lnp0(x^i;β)]−ln(p0(x^i;β))}∑i=1m[−yiln(p0(x^i;β)p1(x^i;β))−ln(p0(x^i;β))]∑i=1m[−yiln(1+eβTx^11+eβTx^eβTx^)−ln(1+eβTx^^1)]∑i=1m(−yiβTx^i+ln(1+eβTx^i))此即为公式3.27