序言
邱老师的书针对于深度学习深入浅出讲解,让我受益良多,但是在学习过程中查找课后习题答案感觉十分麻烦,故写下此博客帮助后来学习者。
本文主要参考邱锡鹏老师的github讨论区内容及知乎回答,个人认为本文更加详尽清晰,如有问题欢迎指正,后续章节会慢慢更新。
第一题
为什么平方损失函数不适用于分类问题
答:平方误差过于严苛,必须是与预测值完全相同才行,并不符合分类的特点(仅需要分为正确类别)。
例如真实值为[0,0,1]时,预测为[0.1,0.2,0.7] 和预测值为 [0,0.3,0.7]其实效果一样,运用CrossEntropy时损失也一样,但是均方误差时损失则不同。
此外,针对于二分类问题,邱老师在课本76页(图3.7)给出了具体图像来解释:
第二题
线性回归中,如果我们给每个样本(
x
(
n
)
x^{(n)}
x(n),
y
(
n
)
y^{(n)}
y(n))赋予一个权重
r
(
n
)
r^{(n)}
r(n),经验风险函数为:
R
(
ω
)
=
1
2
∑
n
=
1
N
r
(
n
)
(
y
(
n
)
−
ω
x
)
2
R(\boldsymbol\omega)=\frac{1}{2}\sum_{n=1}^Nr^{(n)}(y^{(n)} - \boldsymbol\omega \boldsymbol x )^2
R(ω)=21n=1∑Nr(n)(y(n)−ωx)2
计算其最优参数
ω
∗
\omega ^ *
ω∗,并分析其权重的作用。
答:其实就是求一下最优参数
ω
∗
\omega^*
ω∗, 即导数为0,具体如下:
首先,取权重的对角矩阵:
P
=
d
i
a
g
(
r
(
n
)
)
P= diag(r^{(n)})
P=diag(r(n)),x,y,w均以向量(矩阵)表示,则原式为:
R
(
Ω
)
=
1
2
P
∣
∣
Y
−
X
T
Ω
∣
∣
2
\mathcal{R}(\boldsymbol\Omega) = \frac{1}{2}P||Y- X^T \Omega|| ^2
R(Ω)=21P∣∣Y−XTΩ∣∣2
进行求导:
∂
R
∂
Ω
=
−
X
P
(
Y
−
X
T
Ω
)
=
0
\frac{\partial \mathcal{R}}{\partial \Omega} = -XP(Y-X^T \Omega)=0
∂Ω∂R=−XP(Y−XTΩ)=0
解得
Ω
∗
=
(
X
P
X
T
)
−
1
X
P
Y
\Omega ^ *= (XPX^T)^{-1}XPY
Ω∗=(XPXT)−1XPY
相比于没有P时的
Ω
\Omega
Ω:
Ω
w
i
t
h
o
u
t
P
=
(
X
X
T
)
−
1
X
Y
\Omega_{without P}=(XX^T)^{-1}XY
ΩwithoutP=(XXT)−1XY
可以简单理解为
r
(
n
)
r^{(n)}
r(n)的存在为每个样本增加了权重,权重大的对最优值
ω
\omega
ω的影响也更大。
第三题
证明在线性回归中,如果样本数
N
N
N小于特征数量
D
+
1
D+1
D+1,那么
X
X
T
XX^T
XXT的秩最大为N
答:
r
a
n
k
(
X
X
T
)
=
r
a
n
k
(
X
)
≤
m
i
n
(
N
,
D
+
1
)
rank(XX^T) = rank(X)\leq min(N,D+1)
rank(XXT)=rank(X)≤min(N,D+1)
第一步可以搜证明过程,第二步就明了了
第四题
在线性回归中,验证岭回归的解为结构风险最小化的准则下的最小二乘法估计,见公式(2.44)
答:首先看下岭回归公式(2.44):
R
(
ω
)
=
1
2
∣
∣
y
−
X
T
ω
∣
∣
2
+
1
2
λ
∣
∣
ω
∣
∣
2
\mathcal{R}(\omega)= \frac{1}{2}||y-X^T\omega||^2+\frac{1}{2}\lambda||\omega||^2
R(ω)=21∣∣y−XTω∣∣2+21λ∣∣ω∣∣2
而根据岭回归想得到最优参数
ω
∗
\omega^*
ω∗,对其损失函数求导即可,具体过程不再赘述,最后结果为:
∂
R
(
ω
)
∂
ω
=
−
X
(
y
−
X
T
w
)
+
w
\frac{\partial \mathcal{R}(\omega)}{\partial \omega} = -X(y-X^Tw)+w
∂ω∂R(ω)=−X(y−XTw)+w
即为
λ
2
\lambda_2
λ2正则化,
w
w
w值不能过大,在梯度下降过程中会尽量将w变小,也就是梯度衰减策略(weight_decay)。
第五题
在线性回归中,若假设标签
y
y
y ~
N
(
ω
T
x
,
β
x
\mathcal{N} (\omega ^ T x, \beta x
N(ωTx,βx),并用最大似然法估计来优化参数,验证最优参数公式为(2.52)的解。
答:直接用书中公式(2.51),仅
β
\beta
β取代
σ
2
\sigma ^2
σ2,如何推至(2.51)请见书P37
log
p
(
y
∣
X
,
ω
,
β
)
=
∑
1
n
log
N
(
y
(
n
)
;
ω
T
x
(
n
)
,
β
)
\log p(\bm{y}|\bm{X}, \omega, \beta) = \sum _1^n \log \mathcal{N}(y^{(n)};\omega ^T x^{(n)}, \beta)
logp(y∣X,ω,β)=1∑nlogN(y(n);ωTx(n),β)
对
ω
\omega
ω求导数(忽略了取0后无效的
β
\beta
β):
∂
log
p
(
y
∣
X
,
ω
,
β
)
∂
ω
=
∂
∑
log
1
2
π
β
−
∑
(
y
−
ω
T
x
)
2
2
β
∂
ω
=
∂
∑
(
y
−
ω
T
x
)
2
∂
ω
\frac {\partial \log p(\bm{y}|\bm{X}, \omega, \beta)} {\partial \omega}= \frac{\partial \sum \log \frac{1}{\sqrt{2 \pi \beta}} - \sum \frac{(y -\omega^T x)^2}{2\beta}}{\partial \omega}=\frac{\partial \sum (y -\omega^T x)^2}{\partial \omega}
∂ω∂logp(y∣X,ω,β)=∂ω∂∑log2πβ1−∑2β(y−ωTx)2=∂ω∂∑(y−ωTx)2
同理,可将其写为向量形式,令
y
=
[
y
(
1
)
,
⋯
,
y
(
n
)
]
T
\bm{y} = [y^{(1)},\cdots,y^{(n)}]^T
y=[y(1),⋯,y(n)]T,
X
=
[
x
(
1
)
,
⋯
,
x
(
n
)
]
\bm{X}= [x^{(1)},\cdots,x^{(n)}]
X=[x(1),⋯,x(n)],那么:
∂
log
p
(
y
∣
X
,
ω
,
β
)
∂
ω
=
∂
∣
∣
y
−
X
T
ω
∣
∣
2
∂
ω
=
0
\frac {\partial \log p(\bm{y}|\bm{X}, \omega, \beta)} {\partial \omega} = \frac{\partial ||\bm{y}- \bm{X}^T \omega ||^2}{\partial \omega} = 0
∂ω∂logp(y∣X,ω,β)=∂ω∂∣∣y−XTω∣∣2=0
与前几题一样,可解得公式(2.52):
ω
M
L
=
(
X
X
T
)
−
1
X
y
\omega ^{ML} = (\bm{XX^T})^{-1}\bm{Xy}
ωML=(XXT)−1Xy
第六题
假设有N个样本
x
(
1
)
,
x
(
2
)
,
.
.
.
,
x
(
n
)
x^{(1)},x^{(2)},...,x^{(n)}
x(1),x(2),...,x(n)服从正态分布
N
(
μ
,
σ
2
)
\mathcal{N}(\mu,\sigma^2)
N(μ,σ2),其中
μ
\mu
μ为知,1)使用最大似然法估计来求解最优参数
μ
M
L
\mu^{ML}
μML;2)若参数
μ
\mu
μ为随机变量,并服从正态分布
N
(
μ
0
,
σ
0
2
)
\mathcal{N}(\mu_0,\sigma_0^2)
N(μ0,σ02),使用最大后验法来求解最优参数
μ
M
A
P
\mu^{MAP}
μMAP
答:(1)第一题就是最简单的概率题,假设各个样本独立同分布,则共同出现的概率为:
p
(
x
(
1
)
)
∗
p
(
x
(
2
)
)
∗
⋯
∗
p
(
x
(
n
)
)
=
∏
i
=
1
n
1
2
π
σ
e
−
(
x
−
μ
)
2
2
σ
2
p(x^{(1)}) * p(x^{(2)})* \cdots*p(x^{(n)})= \prod_{i=1}^n \frac{1}{\sqrt{2\pi}} \sigma \mathrm{e}^{-\frac{(x-\mu)^2}{2\sigma^2}}
p(x(1))∗p(x(2))∗⋯∗p(x(n))=i=1∏n2π1σe−2σ2(x−μ)2
采用最大似然法,如何取
μ
\mu
μ使得出现上式概率最大,直接取对数再取导数为0即可,结果为:
μ
=
∑
x
n
=
x
‾
\mu = \frac{\sum x}{n} = \overline x
μ=n∑x=x
(2)第二题也是传统题目,将贝叶斯估计引入。
先验概率为:
p
(
μ
)
=
N
(
μ
0
,
σ
0
2
)
=
1
2
π
σ
0
e
−
(
x
−
μ
0
)
2
2
σ
0
2
p(\mu)=\mathcal{N}(\mu_0,\sigma_0^2)=\frac{1}{\sqrt{2\pi}\sigma_0 } \mathrm{e}^{-\frac{(x-\mu _0)^2}{2\sigma_0^2}}
p(μ)=N(μ0,σ02)=2πσ01e−2σ02(x−μ0)2
后验概率为:
p
(
x
∣
u
)
p
(
u
)
=
{
∏
i
=
1
n
1
2
π
σ
e
−
(
x
−
μ
)
2
2
σ
2
}
∗
1
2
π
σ
0
e
−
(
μ
−
μ
0
)
2
2
σ
0
2
p(x|u)p(u)=\{\prod_{i=1}^n \frac{1}{\sqrt{2\pi}\sigma } \mathrm{e}^{-\frac{(x-\mu)^2}{2\sigma^2}}\} *\frac{1}{\sqrt{2\pi} \sigma_0} \mathrm{e}^{-\frac{(\mu-\mu _0)^2}{2\sigma_0^2}}
p(x∣u)p(u)={i=1∏n2πσ1e−2σ2(x−μ)2}∗2πσ01e−2σ02(μ−μ0)2
继续用最大似然法(贝叶斯+最大似然即为最大后验估计),对其求对数并求导,令导数为0,得:
{
∑
1
N
x
−
μ
σ
2
}
+
μ
−
μ
0
σ
0
2
=
0
\{\sum^N_1 \frac{x-\mu}{\sigma ^2 } \} + \frac{\mu - \mu_0}{\sigma_0^2}=0
{1∑Nσ2x−μ}+σ02μ−μ0=0
求解,得:
μ
=
σ
2
N
μ
0
−
σ
0
2
x
‾
σ
2
N
−
σ
0
2
\mu = \frac{\frac{\sigma^2}{N}\mu_0-\sigma_0^2 \overline{x}}{\frac{\sigma^2}{N}-\sigma^2_0}
μ=Nσ2−σ02Nσ2μ0−σ02x
最大似然法和贝叶斯估计是机器学习的重要基础,需概率论知识,进阶可阅读李航老师《统计学习方法》及知乎回答:极大似然估计与最大后验概率估计
第七题
在第六题中,证明当
N
⟶
∞
N \longrightarrow \infty
N⟶∞ 时,最大后验估计趋向于最大似然估计
答:N无穷大时,原式为
σ
0
x
‾
σ
0
=
x
‾
\frac{\sigma _0 \overline{x}}{\sigma_0} = \overline{x}
σ0σ0x=x。
根据前文知乎回答,私认为是先验分布导致的这种情况,若先验分布不是正态的,不会导致这种情况。
第八题
第九题
答:方差大一般是过拟合,偏差大一般认为是过拟合,偏差方差都大,说明模型完全没有学习到数据特征,或者数据有问题。
第十题
周志华《机器学习》p45
第十一题
分别用一元、二元和三元特征的词袋模型表示文本“我打了张三”和“张三打了我”,并分析不同模型的优缺点
答:词袋模型指的是将词语划分为不同词袋,一元词袋指每个词袋有一个词语,n元词袋指每个词袋有n个词语,然后用向量表示句子包含哪些词袋(类似one-hot编码)。
针对于本题,共有“我”,“打了”,“张三”以及句前空白“$”和句后空白“#”五个词语。
(1)一元词袋
每个词袋仅有一个词语,共有五个词袋对应五个单词,因为每句话都包含这五个词袋,所有向量分别为:
句
子
一
:
[
1
,
1
,
1
,
1
,
1
]
句子一:[1,1,1,1,1]
句子一:[1,1,1,1,1]
句
子
二
:
[
1
,
1
,
1
,
1
,
1
]
句子二:[1,1,1,1,1]
句子二:[1,1,1,1,1]
(2)二元词袋,每个词袋两个词语,针对这两句话,将每句话依次拆解,
第一句话有:“$我”,“我打了”,“打了张三”,“张三#”
第二句话有: “$张三”,"张三打了”,“打了我”,‘我#’。
根据以上词袋,得到向量分别为:
句
子
一
:
[
1
,
1
,
1
,
1
,
0
,
0
,
0
,
0
]
句子一:[1,1,1,1,0,0,0,0]
句子一:[1,1,1,1,0,0,0,0]
句
子
二
:
[
0
,
0
,
0
,
0
,
1
,
1
,
1
,
1
]
句子二:[0,0,0,0,1,1,1,1]
句子二:[0,0,0,0,1,1,1,1]
(3) 三元词袋,每个词袋三个词语,针对这两句话,
第一句话有:“$我打了”,“我打了张三”,“打了张三#”
第二句话有:“$张三打了”,‘张三打了我’,“打了我#”
根据以上词袋,得到向量分别为:
句
子
一
:
[
1
,
1
,
1
,
0
,
0
,
0
]
句子一:[1,1,1,0,0,0]
句子一:[1,1,1,0,0,0]
句
子
二
:
[
0
,
0
,
0
,
1
,
1
,
1
]
句子二:[0,0,0,1,1,1]
句子二:[0,0,0,1,1,1]
可以看出,一元词袋无法表示语序特征,三元词袋相对于二元词袋,得到向量更短。
但是词袋容量不能太大,若为五元词袋,则可以直接表示每句话,丧失词袋意义,需选择合适词袋大小。
第十二题
对于一个三分类问题,数据集的真实标签和模型的预测标签如下:
代号 | ① | ② | ③ | ④ | ⑤ | ⑥ | ⑦ | ⑧ | ⑨ |
---|---|---|---|---|---|---|---|---|---|
真实标签 | 1 | 1 | 2 | 2 | 2 | 3 | 3 | 3 | 3 |
预测标签 | 1 | 2 | 2 | 2 | 3 | 3 | 3 | 1 | 2 |
答:(1)精确率:所有预测类别为c中的正确率
label1:
P
1
=
①
/
(
①
+
⑧
)
=
0.5
P_1 = ①/(①+⑧)=0.5
P1=①/(①+⑧)=0.5
同理,
P
2
=
0.5
,
P
3
=
0.667
P_2=0.5,P_3=0.667
P2=0.5,P3=0.667
(2)召回率,所有真实类别为c中的正确率
label1:
R
1
=
①
/
(
①
+
②
)
=
0.5
R_1=①/(①+②) = 0.5
R1=①/(①+②)=0.5
同理,
R
2
=
0.667
,
R
3
=
0.5
R_2=0.667,R_3=0.5
R2=0.667,R3=0.5
(3)F1值
任一类别c的F1值为
F
1
=
2
∗
P
c
∗
R
c
P
c
+
R
c
F1=\frac{2*P_c*R_c}{P_c+R_c}
F1=Pc+Rc2∗Pc∗Rc
代入,得:
F
1
1
=
0.5
,
F
1
2
=
4
7
,
F
1
3
=
4
7
F1_1=0.5,F1_2=\frac{4}{7},F1_3=\frac{4}{7}
F11=0.5,F12=74,F13=74
(4)宏平均(每个算术平均值)
P
m
a
c
r
o
=
1
3
(
P
1
+
P
2
+
P
3
)
=
5
9
P_{macro}=\frac{1}{3}(P_1+P_2+P_3)=\frac{5}{9}
Pmacro=31(P1+P2+P3)=95
同理,
R
m
a
c
r
o
=
5
9
,
F
1
m
a
c
r
o
=
5
9
R_{macro}=\frac{5}{9},F1_{macro}=\frac{5}{9}
Rmacro=95,F1macro=95
(5)微平均(每个样本算术平均值)
P
m
i
c
r
o
=
R
m
i
c
r
o
=
1
9
(
1
+
0
+
1
+
1
+
0
+
1
+
1
+
0
+
0
)
=
5
9
P_{micro}=R_{micro}=\frac{1}{9}(1+0+1+1+0+1+1+0+0)=\frac{5}{9}
Pmicro=Rmicro=91(1+0+1+1+0+1+1+0+0)=95
根据前文F1公式,可得
F
1
m
i
c
r
o
=
5
9
F1_{micro}=\frac{5}{9}
F1micro=95