Week 16: 深度学习补遗:集成学习进阶与量子计算概念入门
Week 16: 深度学习补遗:集成学习进阶与量子计算概念入门
摘要
本周跟随李宏毅老师的课程继续学习了Adaboost相关的知识和数学原理推导,同时根据老师的指引开始补充部分量子计算相关的基础知识。
Abstract
This week, I continued studying Adaboost-related knowledge and mathematical principle derivations in Professor Li Hongyi’s course. At the same time, following the professor’s guidance, I began supplementing some foundational knowledge related to quantum computing.
1. Adaboost
Adaboost是一种Boosting的方法,其具体做法是,训练好一个分类器 f 1 f_1 f1后,调整训练集的权重,让 f 1 f_1 f1的正确率在调整后的训练集上降低到50%的正确率。
在调整训练集权重时,Adaboost采用的方法是,对于
f
1
f_1
f1分类正确的数据,让其权重除以一个大于一的数值
d
1
d_1
d1;同时对于
f
1
f_1
f1错分的数据,让其权重乘以同样的一个数值
d
1
d_1
d1。
ϵ
1
=
∑
n
u
1
n
δ
(
f
1
(
x
n
)
≠
y
n
^
)
∑
n
u
1
n
=
∑
n
u
2
n
δ
(
f
1
(
x
n
)
≠
y
n
^
)
∑
n
u
2
n
∑
n
u
2
n
δ
(
f
1
(
x
n
)
≠
y
n
^
)
=
∑
f
1
(
x
n
)
≠
y
n
^
u
1
n
d
1
∑
n
u
2
n
=
∑
f
1
(
x
n
)
≠
y
n
^
u
1
n
d
1
+
∑
f
1
(
x
n
)
=
y
n
^
u
1
n
/
d
1
\epsilon_1 =\frac{\sum_n u_1^n\delta(f_1(x^n)\neq\hat{y^n})}{\sum_n u_1^n} =\frac{\sum_n u_2^n\delta(f_1(x^n)\neq\hat{y^n})}{\sum_n u_2^n} \\ \sum_n u_2^n\delta(f_1(x^n)\neq\hat{y^n})=\sum_{f_1(x^n)\neq\hat{y^n}}u_1^nd_1\\ \sum_nu_2^n=\sum_{f_1(x^n)\neq\hat{y^n}}u_1^nd_1+\sum_{f_1(x^n)=\hat{y^n}}u_1^n/d_1
ϵ1=∑nu1n∑nu1nδ(f1(xn)=yn^)=∑nu2n∑nu2nδ(f1(xn)=yn^)n∑u2nδ(f1(xn)=yn^)=f1(xn)=yn^∑u1nd1n∑u2n=f1(xn)=yn^∑u1nd1+f1(xn)=yn^∑u1n/d1
错误率
ϵ
1
\epsilon_1
ϵ1的计算方式是,将错误数据的权重求和,并且进行归一化。使
f
1
f_1
f1的正确率降低到50%具体来说就是,在
f
1
f_1
f1在
u
1
u_1
u1的KaTeX parse error: Undefined control sequence: \textless at position 11: \epsilon_1\̲t̲e̲x̲t̲l̲e̲s̲s̲ ̲0.5时,调整权重得到
u
2
u_2
u2使得
f
1
f_1
f1在
u
2
u_2
u2上的
ϵ
2
=
0.5
\epsilon_2=0.5
ϵ2=0.5,并在权重
u
2
u_2
u2上训练
f
2
f_2
f2。
∵
∑
f
1
(
x
n
)
≠
y
n
^
u
1
n
d
1
∑
f
1
(
x
n
)
≠
y
n
^
u
1
n
d
1
+
∑
f
1
(
x
n
)
=
y
n
^
u
1
n
/
d
1
=
0.5
∴
∑
f
1
(
x
n
)
≠
y
n
^
u
1
n
d
1
+
∑
f
1
(
x
n
)
=
y
n
^
u
1
n
/
d
1
∑
f
1
(
x
n
)
≠
y
n
^
u
1
n
d
1
=
2
∑
f
1
(
x
n
)
=
y
n
^
u
1
n
/
d
1
∑
f
1
(
x
n
)
≠
y
n
^
u
1
n
d
1
=
1
\begin{aligned} \because\frac{\sum_{f_1(x^n)\neq\hat{y^n}}u_1^nd_1}{\sum_{f_1(x^n)\neq\hat{y^n}}u_1^nd_1+\sum_{f_1(x^n)=\hat{y^n}}u_1^n/d_1}&=0.5 \\ \therefore \frac{\sum_{f_1(x^n)\neq\hat{y^n}}u_1^nd_1+\sum_{f_1(x^n)=\hat{y^n}}u_1^n/d_1}{\sum_{f_1(x^n)\neq\hat{y^n}}u_1^nd_1}&=2\\ \frac{\sum_{f_1(x^n)=\hat{y^n}}u_1^n/d_1}{\sum_{f_1(x^n)\neq\hat{y^n}}u_1^nd_1}=1 \end{aligned}
∵∑f1(xn)=yn^u1nd1+∑f1(xn)=yn^u1n/d1∑f1(xn)=yn^u1nd1∴∑f1(xn)=yn^u1nd1∑f1(xn)=yn^u1nd1+∑f1(xn)=yn^u1n/d1∑f1(xn)=yn^u1nd1∑f1(xn)=yn^u1n/d1=1=0.5=2
这就说明
∑
f
1
(
x
n
)
=
y
n
^
u
1
n
/
d
1
=
∑
f
1
(
x
n
)
≠
y
n
^
u
1
n
d
1
\sum_{f_1(x^n)=\hat{y^n}}u_1^n/d_1=\sum_{f_1(x^n)\neq\hat{y^n}}u_1^nd_1
∑f1(xn)=yn^u1n/d1=∑f1(xn)=yn^u1nd1,即答对部分新的权重的总和需要等于答错部分新的权重总和。
∑
f
1
(
x
n
)
=
y
n
^
u
1
n
/
d
1
=
∑
f
1
(
x
n
)
≠
y
n
^
u
1
n
d
1
1
d
1
∑
f
1
(
x
n
)
=
y
n
^
u
1
n
=
d
1
∑
f
1
(
x
n
)
≠
y
n
^
u
1
n
d
1
∵
ϵ
1
=
∑
n
u
1
n
δ
(
f
1
(
x
n
)
≠
y
n
^
)
∑
n
u
1
n
∴
∑
n
u
1
n
(
1
−
ϵ
1
)
d
1
=
∑
n
u
1
n
ϵ
1
d
1
∴
d
1
=
(
1
−
ϵ
1
)
/
ϵ
1
>
1
\begin{aligned} \sum_{f_1(x^n)=\hat{y^n}}u_1^n/d_1&=\sum_{f_1(x^n)\neq\hat{y^n}}u_1^nd_1 \\ \frac{1}{d_1}\sum_{f_1(x^n)=\hat{y^n}}u_1^n&=d_1\sum_{f_1(x^n)\neq\hat{y^n}}u_1^nd_1\\ \because \epsilon_1 &=\frac{\sum_n u_1^n\delta(f_1(x^n)\neq\hat{y^n})}{\sum_n u_1^n}\\ \therefore \frac{\sum_n u_1^n(1-\epsilon_1)}{d_1}&=\sum_n u_1^n\epsilon_1d_1\\ \therefore d_1=\sqrt{(1-\epsilon_1)/\epsilon_1}>1 \end{aligned}
f1(xn)=yn^∑u1n/d1d11f1(xn)=yn^∑u1n∵ϵ1∴d1∑nu1n(1−ϵ1)∴d1=(1−ϵ1)/ϵ1>1=f1(xn)=yn^∑u1nd1=d1f1(xn)=yn^∑u1nd1=∑nu1n∑nu1nδ(f1(xn)=yn^)=n∑u1nϵ1d1
可以得到,用这个 d 1 d_1 d1去乘以或者除 u 1 u_1 u1,就可以生成一个可以让 f 1 f_1 f1Fail掉的训练集。
可以将Adaboost的步骤整理。
- 对于训练数据 { ( x 1 , y 1 ^ , u 1 1 ) , … , ( x n , y n ^ , u 1 n ) , … , ( x N , y N ^ , u 1 N ) } \{(x^1,\hat{y^1},u_1^1),\dots,(x^n,\hat{y^n},u_1^n),\dots,(x^N,\hat{y^N},u_1^N)\} {(x1,y1^,u11),…,(xn,yn^,u1n),…,(xN,yN^,u1N)},其中 y ^ = ± 1 \hat{y}=\pm1 y^=±1(二元分类), u 1 n = 1 u_1^n=1 u1n=1(初始化为等权重)
- 对于
t
=
1
,
…
,
T
t=1,\dots,T
t=1,…,T:
- 用训练集权重 { u t 1 , … , u t N } \{u^1_t,\dots,u_t^N\} {ut1,…,utN}训练一个较弱的分类器 f t ( x ) f_t(x) ft(x),得到其分类错误率 ϵ t \epsilon_t ϵt。
- 对于
n
=
1
,
…
,
N
n=1,\dots,N
n=1,…,N:
- 如果 x n x^n xn被 f t ( x ) f_t(x) ft(x)错分了,即 y n ^ ≠ f t ( x n ) \hat{y^n}\neq f_t(x^n) yn^=ft(xn),那么训练集权重 u t + 1 n = u t n × d t = u t n × e α t u^n_{t+1}=u^n_t\times d_t=u_t^n\times e^{\alpha_t} ut+1n=utn×dt=utn×eαt。
- 对于分类正确的情况,即 y n ^ = f t ( x n ) \hat{y^n}= f_t(x^n) yn^=ft(xn),那么 u t + 1 n = u t n d t = u t n × e − α t u^n_{t+1}=\frac{u^n_t}{d_t}=u^n_t\times e^{-\alpha^t} ut+1n=dtutn=utn×e−αt。
- 其中, d t = ( 1 − ϵ 1 ) / ϵ 1 d_t=\sqrt{(1-\epsilon_1)/\epsilon_1} dt=(1−ϵ1)/ϵ1, α t = ln ( 1 − ϵ 1 ) / ϵ 1 \alpha_t=\ln\sqrt{(1-\epsilon_1)/\epsilon_1} αt=ln(1−ϵ1)/ϵ1
- 即 u t + 1 n ← u t n × e − y n ^ f t ( x n ) α t u^n_{t+1}\gets u_t^n\times e^{-\hat{y^n}f_t(x^n)\alpha_t} ut+1n←utn×e−yn^ft(xn)αt
2. 量子计算初步
一个集合如果满足以下运算法则就能被称为一个矢量。
- 加法结合律: u + ( v + w ) = ( u + v ) + w \bold{u}+(\bold{v}+\bold{w})=(\bold{u}+\bold{v})+\bold{w} u+(v+w)=(u+v)+w
- 加法交换律: u + v = v + u \bold{u}+\bold{v}=\bold{v}+\bold{u} u+v=v+u
- 加法幺元:存在 0 ∈ V \bold{0} \in \it{V} 0∈V,称为0矢量,存在对于任意 v \bold{v} v有 v + 0 = v \bold{v}+\bold{0}=\bold{v} v+0=v
- 加法逆元:对于任意 v \bold{v} v,存在 − v ∈ V \bold{-v} \in \it{V} −v∈V,称为 v \bold{v} v的逆元,令 v + ( − v ) = 0 \bold{v}+(\bold{-v})=0 v+(−v)=0
- 标量乘法与域乘法兼容性: a ( b v ) = ( a b ) v a(b\bold{v})=(ab)\bold{v} a(bv)=(ab)v
- 标量乘法幺元: 1 v = v \bold{1v}=\bold{v} 1v=v, 1 \bold{1} 1是 F F F中的乘法单位元。
- 标量乘法对向量加法的分配率: a ( u + v ) = a u + a v a(\bold{u+v})=a\bold{u}+a\bold{v} a(u+v)=au+av
- 标量乘法对域加法的分配率: ( a + b ) v = a v + b v (a+b)\bold{v}=a\bold{v}+b\bold{v} (a+b)v=av+bv
例如一个由“波函数”组成的集合,比如: H = { Spin up, Spin down } H=\{\text{Spin up, Spin down }\} H={Spin up, Spin down },描述了电子自旋的状态。使用狄拉克表示,我们可以将其表示成: ∣ 0 ⟩ = Spin up , ∣ 1 ⟩ = Spin down \ket{0}=\text{Spin up},\ket{1}=\text{Spin down} ∣0⟩=Spin up,∣1⟩=Spin down。 ∣ 0 ⟩ \ket{0} ∣0⟩和 ∣ 1 ⟩ \ket{1} ∣1⟩就被称为“量子比特”(Qubit)。这种表示方式是由狄拉克发明的,分别称为 ⟨ b r a ∣ \bra{bra} ⟨bra∣和 ∣ k e t ⟩ \ket{ket} ∣ket⟩。一个电子的状态就可以表示为 a ∣ 0 ⟩ + b ∣ 1 ⟩ a\ket{0}+b\ket{1} a∣0⟩+b∣1⟩,其中 ∣ a ∣ 2 + ∣ b ∣ 2 = 1 ( a , b ∈ C ) |a|^2+|b|^2=1(a,b\in \mathbb{C}) ∣a∣2+∣b∣2=1(a,b∈C)。
总结
本周机器学习方面,学习了Adaboost相关知识和推导,理解了Adaboost更新训练集权重组成新训练集以及利用训练多个分类器提升训练集准确率的方法。学习了量子计算的基本概念,关于矢量定义的相关内容。
更多推荐


所有评论(0)