第八周学习笔记
学习内容
CS229复习与思考
1.Softmax
Softmax是广义线性模型假设y服从多项分布时,导出的线性多分类模型,在推导过程中,需要注意的是假设总类数有
k
k
k类时,第
k
k
k类的概率
ϕ
k
\phi_k
ϕk不是参数,而由之前的
k
−
1
k-1
k−1个参数决定,所以推导过程在
k
−
1
k-1
k−1维的
y
y
y和
η
\eta
η下进行,值得注意的是,应用过程中我们优化的似然函数为
l
(
Θ
)
=
∏
i
=
1
k
e
θ
i
T
x
∑
j
=
1
k
e
θ
j
T
x
l(\Theta)=\prod_{i=1}^k\dfrac{e^{\theta_i^Tx}}{\sum_{j=1}^ke^{\theta_j^Tx}}
l(Θ)=i=1∏k∑j=1keθjTxeθiTx
但是,按照之前导出的结果,似然函数应该是
l
(
Θ
)
=
∏
i
=
1
k
−
1
e
θ
i
T
x
1
+
∑
j
=
1
k
−
1
e
θ
j
T
x
1
1
+
∑
j
=
1
k
−
1
e
θ
j
T
x
l(\Theta)=\prod_{i=1}^{k-1}\dfrac{e^{\theta_i^Tx}}{1+\sum_{j=1}^{k-1}e^{\theta_j^Tx}}\dfrac{1}{1+\sum_{j=1}^{k-1}e^{\theta_j^Tx}}
l(Θ)=i=1∏k−11+∑j=1k−1eθjTxeθiTx1+∑j=1k−1eθjTx1
于是出现了不一致的情况,但仔细观察,对于第一个式子的一个解
Θ
=
(
θ
1
,
θ
2
,
.
.
.
,
θ
k
)
\Theta=(\theta_1,\theta_2,...,\theta_k)
Θ=(θ1,θ2,...,θk),在
Θ
\Theta
Θ的任意一行增加一个常数
c
c
c,并不改变似然函数的值,因此,
θ
1
,
θ
2
,
.
.
.
,
θ
k
\theta_1,\theta_2,...,\theta_k
θ1,θ2,...,θk可以随意调整,于是我们固定
θ
k
\theta_k
θk为0向量,便得到上述第二个式子,因此两个式子的解是等价的。使用第一个式子来解决问题,可以满足代码的一致性,不需要为第k类单独编写代码。
2.拉普拉斯平滑(Laplace smoothing)
贝叶斯统计的核心思想之一是通过证据来更新信念,其中,更新之前的信念就是先验概率(分布),证据就是抽样结果,更新后的信念就是后验概率(分布),拉普拉斯平滑和贝叶斯统计有着很大的联系。
假设我们面对问题是:估计一个人的射击命中率
我们希望在 n n n次射击内估计到这个人的命中率 p p p,则 n n n次射击的命中数X服从二项分布 B ( n , p ) B(n,p) B(n,p)。
一个极端的例子
现在这个人开了一枪,结果只有两种,此时,使用传统频率学派的方法,假设第一枪命中,则估计结果 p = 1 p=1 p=1,否则,估计结果 p = 0 p=0 p=0,显然,这种估计方法是不合适的,频率学派的估计正确性依赖于大数定律,在 n n n较小的时候,估计的结果就十分不准确,因此无法解决小样本的参数估计问题。
解决方法
Laplace平滑提供了解决方法,若射中次数为
a
a
a次,则命中率估计为
a
+
1
n
+
2
\dfrac{a+1}{n+2}
n+2a+1作为
a
n
\dfrac{a}{n}
na的替代
为什么?
事实上Laplace平滑正是使用贝叶斯方法来估计
p
p
p的结果。首先,最为重要的一点是,在贝叶斯统计中,待估计的变量
p
p
p已经不再是一个确定的数字,而是一个随机变量,由于我们对枪手一无所知,不妨设
p
p
p的先验分布是一个均匀分布
p
∼
U
(
0
,
1
)
p\sim U(0,1)
p∼U(0,1),设
π
(
p
)
\pi(p)
π(p)是
p
p
p的概率密度函数(Probability density function)
π
(
p
)
=
{
1
,
0
<
p
<
1
0
,
o
t
h
e
r
s
\pi(p)=\begin{cases}& 1 , 0<p<1 \cr & 0,others \end{cases}
π(p)={1,0<p<10,others
假设
n
n
n次实验过后,枪手命中
a
a
a次(事件A),根据贝叶斯公式,后验分布
π
(
p
∣
A
)
=
π
(
p
)
(
n
a
)
p
a
(
1
−
p
)
n
−
a
∫
0
1
π
(
p
)
(
n
a
)
p
a
(
1
−
p
)
n
−
a
d
p
=
p
a
(
1
−
p
)
n
−
a
∫
0
1
p
a
(
1
−
p
)
n
−
a
d
p
\begin{aligned} \pi(p|A)&=\dfrac{\pi(p)\binom{n}{a}p^a(1-p)^{n-a}}{\int^{1}_{0}\pi(p)\binom{n}{a}p^a(1-p)^{n-a}dp}\\ &=\dfrac{p^a(1-p)^{n-a}}{\int^{1}_{0}p^a(1-p)^{n-a}dp}\\ \end{aligned}
π(p∣A)=∫01π(p)(an)pa(1−p)n−adpπ(p)(an)pa(1−p)n−a=∫01pa(1−p)n−adppa(1−p)n−a
用均值来估计
p
p
p有
p
^
=
E
[
p
]
=
∫
0
1
p
π
(
p
∣
A
)
d
p
=
∫
0
1
p
a
+
1
(
1
−
p
)
n
−
a
∫
0
1
p
a
(
1
−
p
)
n
−
a
d
p
=
B
(
a
+
2
,
n
−
a
+
1
)
B
(
a
+
1
,
n
−
a
+
1
)
=
Γ
(
a
+
2
)
Γ
(
n
+
2
)
Γ
(
a
+
1
)
Γ
(
n
+
3
)
=
a
+
1
n
+
2
\begin{aligned} \hat{p}&=E[p]\\&=\int^{1}_0p\pi(p|A)dp\\ &=\dfrac{\int^{1}_0p^{a+1}(1-p)^{n-a}}{\int^{1}_{0}p^a(1-p)^{n-a}dp}\\ &=\dfrac{B(a+2,n-a+1)}{B(a+1,n-a+1)}\\ &=\dfrac{\Gamma(a+2)\Gamma(n+2)}{\Gamma(a+1)\Gamma(n+3)}\\ &=\dfrac{a+1}{n+2} \end{aligned}
p^=E[p]=∫01pπ(p∣A)dp=∫01pa(1−p)n−adp∫01pa+1(1−p)n−a=B(a+1,n−a+1)B(a+2,n−a+1)=Γ(a+1)Γ(n+3)Γ(a+2)Γ(n+2)=n+2a+1
即为Laplace平滑的结果
3.VC维
对于假设集合 H H H, V C ( H ) VC(H) VC(H)表示 H H H能达到 0 0 0误差的最大的点集基数,若存在一个最大的点集, H H H可以在其上达到 0 0 0误差意味着任意改变这些点的标签, H H H仍然可以完美划分它们,则VC(H)就是这个点集的基数。需要注意的是上面的存在和任意,存在表明,我们能找到一个点集,而不一定要对所有点集满足,因为我们可以设计一个所有点都在一跳直线上的点集,使得 H H H不可能完美分割它们。任意表明,一旦我们固定了点集,对这个点集上的点任意分配标签, H H H都能分割它们,这意味着,即便我们可以设计线性可分的大的点集, H H H的 V C VC VC维仍然要满足其他可能的标签分配情况。
2.Problem Set#2
( a )不会写
( b ) 令
γ
=
1
m
l
o
g
k
δ
\gamma=\dfrac{1}{m}log\dfrac{k}{\delta}
γ=m1logδk,解得,
m
=
1
γ
l
o
g
k
δ
m=\dfrac{1}{\gamma}log\dfrac{k}{\delta}
m=γ1logδk
3.Problem Set#3
( a )
ε
^
S
c
v
(
h
^
i
)
\hat\varepsilon_{S_{cv}}(\hat{h}_i)
ε^Scv(h^i)与
ε
^
S
t
r
a
i
n
(
h
^
i
)
\hat\varepsilon_{S_{train}}(\hat{h}_i)
ε^Strain(h^i)关于
h
o
e
d
f
f
d
i
n
g
hoedffding
hoedffding不等式的证明是相同的,因此,只要以
β
m
\beta m
βm代
β
\beta
β,以
δ
2
\frac{\delta}{2}
2δ代
δ
\delta
δ即可得到
∣
ε
(
h
^
i
)
−
ε
^
S
c
v
(
h
^
i
)
∣
≤
1
2
β
m
l
o
g
4
k
δ
|ε(\hat{h}_i) − \hat{ε}_{S_{cv}}(\hat{h}_i)| \leq \sqrt{\dfrac{1}{2\beta m}log\dfrac{4k}{\delta}}
∣ε(h^i)−ε^Scv(h^i)∣≤2βm1logδ4k
( b )
∀
i
\forall i
∀i,有
ε
(
h
^
)
≤
ε
(
h
^
i
)
≤
ε
^
S
c
v
(
h
^
i
)
+
γ
≤
ε
(
h
^
i
)
+
2
γ
\varepsilon(\hat{h})\leqε(\hat{h}_i) \leq \hat{ε}_{S_{cv}}(\hat{h}_i) + \gamma\leq\varepsilon(\hat{h}_i)+2\gamma
ε(h^)≤ε(h^i)≤ε^Scv(h^i)+γ≤ε(h^i)+2γ
所以,在
1
−
δ
2
1-\frac{\delta}{2}
1−2δ的概率下
ε
(
h
^
)
≤
min
i
=
1
,
.
.
.
,
k
ε
(
h
^
i
)
+
2
β
m
l
o
g
4
k
δ
\varepsilon(\hat{h})\leq \min_{i=1,...,k}\varepsilon(\hat{h}_i)+\sqrt{\dfrac{2}{\beta m}log\dfrac{4k}{\delta}}
ε(h^)≤i=1,...,kminε(h^i)+βm2logδ4k
( c )
将问题中式子带入( b ) 中即得结果
2.
( a ) VC维是1,若左边的点是正类,则不可区分
( b )VC维是2,解决了( a )中的问题,但对于普通的三个点的集合,若从x轴自左向右看,分别是正、负、正,则不可区分。
( c )VC维是1,假设存在点
A
,
B
A,B
A,B可以被h划分,h可以某时将AB同时划分为正类,但改变AB的标签使两者属于不同类别时,h便无法划分AB
( d )VC维是2,但对于普通的三个点的集合,若从x轴自左向右看,分别是正、负、正,则不可区分。
3.
( a )
∂
J
(
θ
)
∂
θ
=
(
X
θ
ˉ
+
X
i
θ
i
−
y
⃗
)
T
X
i
+
λ
s
i
\dfrac{\partial{J(\theta)}}{\partial{\theta}}=(X\bar{\theta}+X_i\theta_i-\vec{y})^TX_i+\lambda s_i
∂θ∂J(θ)=(Xθˉ+Xiθi−y)TXi+λsi
θ
i
=
y
⃗
T
X
i
−
λ
s
i
−
θ
T
X
T
X
i
X
i
T
X
i
\theta_i = \dfrac{\vec{y}^TX_i-\lambda s_i-\theta^TX^TX_i}{X^T_iX_i}
θi=XiTXiyTXi−λsi−θTXTXi
若
s
i
s_i
si大于零,则
θ
i
\theta_i
θi最小取零,否则
θ
i
\theta_i
θi最大取0。
( b )( c ),因为没有课程数据,就直接用第一次报告使用的Kaggle房价数据。
分别使用l1正则化和l2正则化得到结果
代码在这
l1正则化:
l2正则化:
最后二者得到的参数在测试集上的表现为
正则化方法 | l1 | l2 |
---|---|---|
误差 | 0.252 | 0.247 |
由结果可见,两个正则化方法在表现相差不大的情况下,l1正则化得到的参数分布是稀疏的,也就是有很多分量是0,因此我们可以使用l1正则化来进行特征剔除,将使用l1正则化方法训练出的对应 θ i \theta_i θi为0的特征 i i i剔除,以减少过拟合风险。