高级机器学习附加题
文章目录
1. [10pts] Multi-Class Logistic Regression
教材的章节3.3 介绍了对数几率回归解决二分类问题的具体做法。假定现在的任务不再是二分类问题,而是多分类问题,其中 y ∈ { 1 , 2 , . . . , K } y\in \{1,2,...,K\} y∈{1,2,...,K}。请将对数几率回归算法拓展到该多分类问题。
- [5pts] 给出该对率回归模型的“对数似然”(log-likelihood)。
- [5pts]计算出该“对数似然”的梯度。
Solution
(1) [15pts]
x
\bm{x}
x有
K
K
K个标签,总共的标签数为
K
K
K,那么所有的标签组合一共有
2
K
2^K
2K种,因为这
K
K
K种标签之间的关系是独立的,我们可以对其中的一个标签
y
i
(
i
=
1
,
2
,
.
.
.
,
K
)
y_i(i=1,2,...,K)
yi(i=1,2,...,K)进行分析。由已知
y
i
∈
{
0
,
1
}
y_i\in\{0,1\}
yi∈{0,1},可以知道对于每一个标签而言,都是一个二分类问题,我们可以建立
y
i
y_i
yi与
x
x
x的对数几率函数:
y
i
=
1
1
+
e
−
z
i
,
y_i=\frac{1}{1+e^{-z_i}},
yi=1+e−zi1,
因此,我们可以得到:
ln
p
(
y
i
=
1
∣
x
)
p
(
y
i
=
0
∣
x
)
=
w
i
T
x
+
b
i
,
\ln{\frac{p(y_i=1|\bm{x})}{p(y_i=0|\bm{x})}}=\bm{w_i}^T\bm{x}+b_i,
lnp(yi=0∣x)p(yi=1∣x)=wiTx+bi,
显然有:
p
(
y
i
=
1
∣
x
)
=
e
w
i
T
x
+
b
i
1
+
e
w
i
T
x
+
b
i
,
p(y_i=1|\bm{x})=\frac{e^{\bm{w_i}^T\bm{x}+b_i}}{1+e^{\bm{w_i}^T\bm{x}+b_i}},
p(yi=1∣x)=1+ewiTx+biewiTx+bi,
p
(
y
i
=
0
∣
x
)
=
1
1
+
e
w
i
T
x
+
b
i
p(y_i=0|\bm{x})=\frac{1}{1+e^{\bm{w_i}^T\bm{x}+b_i}}
p(yi=0∣x)=1+ewiTx+bi1
同时我们可以构建矩阵
y
\bm{y}
y、矩阵
W
\bm{W}
W和矩阵
b
\bm{b}
b:
y
=
(
y
1
y
2
.
.
.
y
K
)
,
W
=
(
w
1
,
w
2
,
.
.
.
w
K
)
b
=
(
b
1
b
2
.
.
.
b
K
)
\bm{y}=\begin{pmatrix} y_1 \\ y_2 \\ ...\\y_K \end{pmatrix},\ \ \bm{W}=\begin{pmatrix} \bm{w}_1,\bm{w}_2, ...\bm{w}_K \end{pmatrix}\ \ \bm{b}=\begin{pmatrix} b_1 \\ b_2 \\ ...\\b_K \end{pmatrix}
y=⎝⎜⎜⎛y1y2...yK⎠⎟⎟⎞, W=(w1,w2,...wK) b=⎝⎜⎜⎛b1b2...bK⎠⎟⎟⎞
y
\bm{y}
y的预测值
z
=
W
T
x
+
b
\bm{z}=\bm{W}^T\bm{x}+\bm{b}
z=WTx+b,
该对率回归模型的“对数似然”为:
ℓ
(
W
,
b
)
=
∑
i
=
1
m
ln
p
(
y
i
∣
x
i
)
=
∑
i
=
1
m
ln
∏
j
=
1
K
p
(
y
i
j
∣
x
i
)
=
∑
i
=
1
m
∑
j
=
1
K
ln
p
(
y
i
j
∣
x
i
)
=
∑
i
=
1
m
∑
j
=
1
K
(
y
i
j
(
w
j
T
x
i
+
b
j
)
−
l
n
(
1
+
e
w
j
T
x
i
+
b
j
)
)
\begin{aligned} \ell(\bm{W},\bm{b})&=\sum_{i=1}^{m}\ln{p(\bm{y}_i|\bm{x}_i)}\\ &=\sum_{i=1}^{m}\ln{\prod_{j=1}^{K}p(y_{ij}|\bm{x}_i)}\\ &=\sum_{i=1}^{m}\sum_{j=1}^{K}\ln{p(y_{ij}|\bm{x}_i)}\\ &=\sum_{i=1}^{m}\sum_{j=1}^{K}(y_{ij}(\bm{w}_j^T\bm{x}_i+b_j)-ln(1+e^{\bm{w}_j^T\bm{x}_i+b_j})) \end{aligned}
ℓ(W,b)=i=1∑mlnp(yi∣xi)=i=1∑mlnj=1∏Kp(yij∣xi)=i=1∑mj=1∑Klnp(yij∣xi)=i=1∑mj=1∑K(yij(wjTxi+bj)−ln(1+ewjTxi+bj))
(2) [10pts]
令
β
j
=
(
w
j
;
b
j
)
,
x
^
=
(
x
;
1
)
,
β
=
(
W
,
b
)
\bm{\beta_j}=(\bm{w}_j;b_j),\ \bm{\hat{x}}=(x;1),\ \bm{\beta}=(\bm{W},\bm{b})
βj=(wj;bj), x^=(x;1), β=(W,b),
从而可以将原式化为:
ℓ
(
β
)
=
∑
i
=
1
m
∑
j
=
1
K
(
y
i
j
β
j
T
x
i
^
−
l
n
(
1
+
e
β
j
T
x
i
^
)
)
\ell(\bm{\beta})=\sum_{i=1}^{m}\sum_{j=1}^{K}(y_{ij}\bm{\beta_j}^T\bm{\hat{x_i}}-ln(1+e^{\bm{\beta_j}^T\bm{\hat{x_i}}}))
ℓ(β)=i=1∑mj=1∑K(yijβjTxi^−ln(1+eβjTxi^))
该对数似然的梯度计算如下:
ℓ
(
β
)
=
∑
i
=
1
m
[
(
y
i
j
β
j
T
x
i
^
−
l
n
(
1
+
e
β
j
T
x
i
^
)
)
+
∑
k
=
1
j
−
1
(
y
i
k
β
k
T
x
i
^
−
l
n
(
1
+
e
β
k
T
x
i
^
)
)
+
∑
k
=
j
+
1
K
(
y
i
k
β
k
T
x
i
^
−
l
n
(
1
+
e
β
k
T
x
i
^
)
)
]
\begin{aligned} \ell(\bm{\beta})&=\sum_{i=1}^{m}\big[(y_{ij}\bm{\beta_j}^T\bm{\hat{x_i}}-ln(1+e^{\bm{\beta_j}^T\bm{\hat{x_i}}}))+\sum_{k=1}^{j-1}(y_{ik}\bm{\beta_k}^T\bm{\hat{x_i}}-ln(1+e^{\bm{\beta_k}^T\bm{\hat{x_i}}}))\\ &+\sum_{k=j+1}^{K}(y_{ik}\bm{\beta_k}^T\bm{\hat{x_i}}-ln(1+e^{\bm{\beta_k}^T\bm{\hat{x_i}}}))\big] \end{aligned}
ℓ(β)=i=1∑m[(yijβjTxi^−ln(1+eβjTxi^))+k=1∑j−1(yikβkTxi^−ln(1+eβkTxi^))+k=j+1∑K(yikβkTxi^−ln(1+eβkTxi^))]
因此:
∂
ℓ
(
β
)
∂
β
j
=
∂
(
∑
i
=
1
m
[
(
y
i
j
β
j
T
x
i
^
−
l
n
(
1
+
e
β
j
T
x
i
^
)
)
+
C
]
)
∂
β
j
=
∑
i
=
1
m
(
y
i
j
x
i
^
−
x
i
^
e
β
j
T
x
i
^
1
+
e
β
j
T
x
i
^
)
=
∑
i
=
1
m
(
y
i
j
x
i
^
−
p
(
y
i
j
=
1
∣
x
i
^
)
x
i
^
)
=
∑
i
=
1
m
(
x
i
^
(
y
i
j
−
p
(
y
i
j
=
1
∣
x
i
^
)
)
)
\begin{aligned} \frac{\partial{\ell(\bm{\beta})}}{\partial\bm{\beta_j}}&=\frac{\partial(\sum_{i=1}^{m}\big[(y_{ij}\bm{\beta_j}^T\bm{\hat{x_i}}-ln(1+e^{\bm{\beta_j}^T\bm{\hat{x_i}}}))+C\big])}{\partial\bm{\beta_j}}\\ &=\sum_{i=1}^{m}(y_{ij}\bm{\hat{x_i}}-\frac{\bm{\hat{x_i}}e^{\bm{\beta_j}^T\bm{\hat{x_i}}}}{1+e^{\bm{\beta_j}^T\bm{\hat{x_i}}}})\\ &=\sum_{i=1}^{m}(y_{ij}\bm{\hat{x_i}}-p(y_{ij}=1|\bm{\hat{x_i}})\bm{\hat{x_i}})\\ &=\sum_{i=1}^{m}(\bm{\hat{x_i}}(y_{ij}-p(y_{ij}=1|\bm{\hat{x_i}}))) \end{aligned}
∂βj∂ℓ(β)=∂βj∂(∑i=1m[(yijβjTxi^−ln(1+eβjTxi^))+C])=i=1∑m(yijxi^−1+eβjTxi^xi^eβjTxi^)=i=1∑m(yijxi^−p(yij=1∣xi^)xi^)=i=1∑m(xi^(yij−p(yij=1∣xi^)))
梯度如下:
∇
ℓ
(
β
1
,
β
2
,
.
.
.
,
β
K
)
=
(
∂
ℓ
(
β
)
β
1
,
∂
ℓ
(
β
)
β
2
,
.
.
.
,
∂
ℓ
(
β
)
β
K
)
.
\nabla\ell(\beta_1,\beta_2,...,\beta_K)=(\,\frac{\partial{\ell(\bm{\beta})}}{\beta_1},\frac{\partial{\ell(\bm{\beta})}}{\beta_2},...,\frac{\partial{\ell(\bm{\beta})}}{\beta_K}).
∇ℓ(β1,β2,...,βK)=(β1∂ℓ(β),β2∂ℓ(β),...,βK∂ℓ(β)).
2. [10pts] 性能度量
我们有一些样本。我们希望将它们分为两类中的一个(0或1)。对于每个样本,分类器会给出一个分数(分数越接近于0,则分类器认为其为类0,分数越接近1则分类器认为其为类1)。以下是两个分类器对8个样本的给分( y C 1 , y C 2 y_{C1}, y_{C2} yC1,yC2)和每个样本的真实标记( y y y)。
y y y | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 |
---|---|---|---|---|---|---|---|---|
y C 1 y_{C1} yC1 | 0.7 | 0.4 | 0.3 | 0.9 | 0.45 | 0.6 | 0.5 | 0.2 |
y C 2 y_{C2} yC2 | 0.9 | 0.1 | 0.7 | 0.3 | 0.6 | 0.2 | 0.1 | 0.8 |
- [5pts]请计算两个分类器的AUC (area under the ROC curve)。
- [5pts] 令分类器 C 1 C_1 C1的划分阈值为0.33 (当 y C 1 > 0.33 y_{C1}>0.33 yC1>0.33时其被视为正类,否则为负类)。据此计算分类器 C 1 C_1 C1的混淆矩阵和 F 1 F_1 F1。相似地令分类器 C 2 C_2 C2的划分阈值为0.5。据此计算分类器 C 2 C_2 C2的混淆矩阵和 F 1 F_1 F1。
solution
(1) “损失”
ℓ
r
a
n
k
=
1
m
+
m
−
∑
x
+
∑
x
−
(
I
(
f
(
x
+
)
<
f
(
x
−
)
)
+
1
2
I
(
f
(
x
+
)
=
f
(
x
−
)
)
)
\ell_{rank}=\frac{1}{m^+m^-}\sum_{x^+}\sum_{x^-}(I(f(x^+)<f(x^-))+\frac{1}{2}I(f(x^+)=f(x^-)))
ℓrank=m+m−1∑x+∑x−(I(f(x+)<f(x−))+21I(f(x+)=f(x−)))
对于分类器1:
A
U
C
=
∑
x
+
r
a
n
k
(
x
+
)
m
+
∗
(
m
+
+
1
)
2
m
+
m
−
=
8
+
7
+
4
+
2
−
4
∗
5
2
4
∗
4
=
11
16
=
0.6875
AUC = \frac{\sum_{x^+}rank(x^+)\frac{m^+*(m^++1)}{2}}{m^+m^-}=\frac{8+7+4+2-\frac{4*5}{2}}{4*4}=\frac{11}{16}=0.6875
AUC=m+m−∑x+rank(x+)2m+∗(m++1)=4∗48+7+4+2−24∗5=1611=0.6875
对于分类器2: A U C = ∑ x + r a n k ( x + ) m + ∗ ( m + + 1 ) 2 m + m − = 8 + 6 + 5 + 4 − 4 ∗ 5 2 4 ∗ 4 = 13 16 = 0.8125 AUC = \frac{\sum_{x^+}rank(x^+)\frac{m^+*(m^++1)}{2}}{m^+m^-}=\frac{8+6+5+4-\frac{4*5}{2}}{4*4}=\frac{13}{16}=0.8125 AUC=m+m−∑x+rank(x+)2m+∗(m++1)=4∗48+6+5+4−24∗5=1613=0.8125
(2) The class result by the new rules:
y y y | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 |
---|---|---|---|---|---|---|---|---|
y C 1 y_{C1} yC1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 0 |
y C 2 y_{C2} yC2 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 1 |
F
1
=
2
∗
P
∗
R
P
+
R
F_{1}=\frac{2*P*R}{P+R}
F1=P+R2∗P∗R
P
=
T
P
T
P
+
F
P
P=\frac{TP}{TP+FP}
P=TP+FPTP
R
=
T
P
T
P
+
F
N
R=\frac{TP}{TP+FN}
R=TP+FNTP
Among them:
F
1
F_{1}
F1 is the F-Measure.
P
P
P is the precision.
R
R
R is the recall.
The confusion matrix of classifier 1 and F 1 1 F_{1}1 F11.
Prediction | ||||
Reality | Truth | False | Total | |
Truth | 3 | 1 | 4 | |
False | 3 | 1 | 4 |
The confusion matrix of classifier 2 and F 1 2 F_{1}2 F12.
Prediction | ||||
Reality | Truth | False | Total | |
Truth | 3 | 1 | 4 | |
False | 1 | 3 | 4 |
So,
F
1
1
=
2
∗
P
1
∗
R
1
P
1
+
R
1
=
2
∗
3
3
+
3
∗
3
3
+
1
3
3
+
3
+
3
3
+
1
=
2
∗
1
2
∗
3
4
5
4
=
3
5
\begin{aligned} F_{1}1&=\frac{2*P_{1}*R_{1}}{P_{1}+R_{1}} &=\frac{2*\frac{3}{3+3}*\frac{3}{3+1}}{\frac{3}{3+3}+\frac{3}{3+1}} &=\frac{2*\frac{1}{2}*\frac{3}{4}}{\frac{5}{4}} &=\frac{3}{5} \end{aligned}
F11=P1+R12∗P1∗R1=3+33+3+132∗3+33∗3+13=452∗21∗43=53
F
1
2
=
2
∗
P
2
∗
R
2
P
2
+
R
2
=
2
∗
1
3
+
1
∗
1
3
+
1
3
3
+
1
+
3
3
+
1
=
2
∗
3
4
∗
3
4
3
4
+
3
4
=
3
4
\begin{aligned} F_{1}2&=\frac{2*P_{2}*R_{2}}{P_{2}+R_{2}} &=\frac{2*\frac{1}{3+1}*\frac{1}{3+1}}{\frac{3}{3+1}+\frac{3}{3+1}} &=\frac{2*\frac{3}{4}*\frac{3}{4}}{\frac{3}{4}+\frac{3}{4}} &=\frac{3}{4} \end{aligned}
F12=P2+R22∗P2∗R2=3+13+3+132∗3+11∗3+11=43+432∗43∗43=43
3. [15pts] 信息熵
试证明
E n t ( D ) = − ∑ k = 1 ∣ Y ∣ p k log 2 p k ≤ log 2 ∣ Y ∣ Ent(D)=-\sum_{k=1}^{\vert \mathcal{Y} \vert}p_k\log_2 p_k \leq \log_2\vert \mathcal{Y}\vert Ent(D)=−k=1∑∣Y∣pklog2pk≤log2∣Y∣
并给出等号成立的条件。
提示:可以利用琴生不等式(Jensen Inequality)。
solution
令
H
(
P
)
=
−
∑
k
=
1
∣
Y
∣
p
k
log
2
p
k
,
(
∑
k
=
1
∣
Y
∣
=
1
,
0
<
p
k
<
1
)
H(P)=-\sum_{k=1}^{|\mathcal{Y}|}p_k\log_2p_k, (\sum_{k=1}^{|\mathcal{Y}|}=1, 0<p_k<1)
H(P)=−k=1∑∣Y∣pklog2pk,(k=1∑∣Y∣=1,0<pk<1)
f ( p ) = − p log 2 p ( 0 < p < 1 ) f(p)=-p\log_2 p (0<p<1) f(p)=−plog2p(0<p<1)
因为 f ′ ′ ( p ) = − 1 p l n 2 < 0 在 ( 0 < p < 1 ) 上 恒 成 立 f''(p)=-\frac{1}{pln2}<0 在(0<p<1)上恒成立 f′′(p)=−pln21<0在(0<p<1)上恒成立,因此 f ( p ) f(p) f(p)在(0,1)上为凸函数。
所以根据Jensen Inequality:
− ∑ k = 1 ∣ Y ∣ p k log 2 p k ∣ Y ∣ ≤ f ( ∑ k = 1 ∣ Y ∣ p k ∣ Y ∣ ) = − ∑ k = 1 ∣ Y ∣ p k ∣ Y ∣ log 2 ∑ k = 1 ∣ Y ∣ p k ∣ Y ∣ = − 1 ∣ Y ∣ l o g 2 1 ∣ Y ∣ = 1 ∣ Y ∣ l o g 2 ∣ Y ∣ -\frac{\sum_{k=1}^{|\mathcal{Y}|}p_k\log_2p_k}{|\mathcal{Y}|} \leq f(\frac{\sum_{k=1}^{|\mathcal{Y}|}p_k}{|\mathcal{Y}|})=-\frac{\sum_{k=1}^{|\mathcal{Y}|}p_k}{|\mathcal{Y}|}\log_2 \frac{\sum_{k=1}^{|\mathcal{Y}|}p_k}{|\mathcal{Y}|} = -\frac{1}{|\mathcal{Y}|}log_2\frac{1}{|\mathcal{Y}|}=\frac{1}{|\mathcal{Y}|}log_2|\mathcal{Y}| −∣Y∣∑k=1∣Y∣pklog2pk≤f(∣Y∣∑k=1∣Y∣pk)=−∣Y∣∑k=1∣Y∣pklog2∣Y∣∑k=1∣Y∣pk=−∣Y∣1log2∣Y∣1=∣Y∣1log2∣Y∣
所以,综上, E n t ( D ) = − ∑ k = 1 ∣ Y ∣ p k log 2 p k ≤ log 2 ∣ Y ∣ Ent(D)=-\sum_{k=1}^{\vert \mathcal{Y} \vert}p_k\log_2 p_k \leq \log_2\vert \mathcal{Y}\vert Ent(D)=−k=1∑∣Y∣pklog2pk≤log2∣Y∣