高级机器学习附加题

高级机器学习附加题


1. [10pts] Multi-Class Logistic Regression

教材的章节3.3 介绍了对数几率回归解决二分类问题的具体做法。假定现在的任务不再是二分类问题,而是多分类问题,其中 y ∈ { 1 , 2 , . . . , K } y\in \{1,2,...,K\} y{1,2,...,K}。请将对数几率回归算法拓展到该多分类问题。

  1. [5pts] 给出该对率回归模型的“对数似然”(log-likelihood)。
  2. [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+ezi1,
因此,我们可以得到: 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=0x)p(yi=1x)=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=1x)=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=0x)=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=1mlnp(yixi)=i=1mlnj=1Kp(yijxi)=i=1mj=1Klnp(yijxi)=i=1mj=1K(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=1mj=1K(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=1m[(yijβjTxi^ln(1+eβjTxi^))+k=1j1(yikβkTxi^ln(1+eβkTxi^))+k=j+1K(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=1m(yijxi^1+eβjTxi^xi^eβjTxi^)=i=1m(yijxi^p(yij=1xi^)xi^)=i=1m(xi^(yijp(yij=1xi^)))
梯度如下:
∇ ℓ ( β 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 y10111000
y C 1 y_{C1} yC10.70.40.30.90.450.60.50.2
y C 2 y_{C2} yC20.90.10.70.30.60.20.10.8
  1. [5pts]请计算两个分类器的AUC (area under the ROC curve)。
  2. [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+m1x+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+mx+rank(x+)2m+(m++1)=448+7+4+2245=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+mx+rank(x+)2m+(m++1)=448+6+5+4245=1613=0.8125

(2) The class result by the new rules:

y y y10111000
y C 1 y_{C1} yC111011110
y C 2 y_{C2} yC210101001

F 1 = 2 ∗ P ∗ R P + R F_{1}=\frac{2*P*R}{P+R} F1=P+R2PR
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
RealityTruthFalseTotal
Truth314
False314

The confusion matrix of classifier 2 and F 1 2 F_{1}2 F12.

Prediction
RealityTruthFalseTotal
Truth314
False134

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+R12P1R1=3+33+3+1323+333+13=4522143=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+R22P2R2=3+13+3+1323+113+11=43+4324343=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=1Ypklog2pklog2Y

并给出等号成立的条件。

提示:可以利用琴生不等式(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=1Ypklog2pk,(k=1Y=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}| Yk=1Ypklog2pkf(Yk=1Ypk)=Yk=1Ypklog2Yk=1Ypk=Y1log2Y1=Y1log2Y

所以,综上, 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=1Ypklog2pklog2Y

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值