Week 16: 深度学习补遗:集成学习进阶与量子计算概念入门
文章目录
- Week 16: 深度学习补遗:集成学习进阶与量子计算概念入门
- 摘要
- Abstract
- 1. Adaboost
- 2. 量子计算初步
- 总结
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的方法,其具体做法是,训练好一个分类器f1f_1f1后,调整训练集的权重,让f1f_1f1的正确率在调整后的训练集上降低到50%的正确率。
在调整训练集权重时,Adaboost采用的方法是,对于f1f_1f1分类正确的数据,让其权重除以一个大于一的数值d1d_1d1;同时对于f1f_1f1错分的数据,让其权重乘以同样的一个数值d1d_1d1。
ϵ1=∑nu1nδ(f1(xn)≠yn^)∑nu1n=∑nu2nδ(f1(xn)≠yn^)∑nu2n∑nu2nδ(f1(xn)≠yn^)=∑f1(xn)≠yn^u1nd1∑nu2n=∑f1(xn)≠yn^u1nd1+∑f1(xn)=yn^u1n/d1\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的计算方式是,将错误数据的权重求和,并且进行归一化。使f1f_1f1的正确率降低到50%具体来说就是,在f1f_1f1在u1u_1u1的KaTeX parse error: Undefined control sequence: \textless at position 11: \epsilon_1\̲t̲e̲x̲t̲l̲e̲s̲s̲ ̲0.5时,调整权重得到u2u_2u2使得f1f_1f1在u2u_2u2上的ϵ2=0.5\epsilon_2=0.5ϵ2=0.5,并在权重u2u_2u2上训练f2f_2f2。
∵∑f1(xn)≠yn^u1nd1∑f1(xn)≠yn^u1nd1+∑f1(xn)=yn^u1n/d1=0.5∴∑f1(xn)≠yn^u1nd1+∑f1(xn)=yn^u1n/d1∑f1(xn)≠yn^u1nd1=2∑f1(xn)=yn^u1n/d1∑f1(xn)≠yn^u1nd1=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
这就说明∑f1(xn)=yn^u1n/d1=∑f1(xn)≠yn^u1nd1\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,即答对部分新的权重的总和需要等于答错部分新的权重总和。
∑f1(xn)=yn^u1n/d1=∑f1(xn)≠yn^u1nd11d1∑f1(xn)=yn^u1n=d1∑f1(xn)≠yn^u1nd1∵ϵ1=∑nu1nδ(f1(xn)≠yn^)∑nu1n∴∑nu1n(1−ϵ1)d1=∑nu1nϵ1d1∴d1=(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
可以得到,用这个d1d_1d1去乘以或者除u1u_1u1,就可以生成一个可以让f1f_1f1Fail掉的训练集。
可以将Adaboost的步骤整理。
- 对于训练数据{(x1,y1^,u11),…,(xn,yn^,u1n),…,(xN,yN^,u1N)}\{(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}=\pm1y^=±1(二元分类),u1n=1u_1^n=1u1n=1(初始化为等权重)
- 对于t=1,…,Tt=1,\dots,Tt=1,…,T:
- 用训练集权重{ut1,…,utN}\{u^1_t,\dots,u_t^N\}{ut1,…,utN}训练一个较弱的分类器ft(x)f_t(x)ft(x),得到其分类错误率ϵt\epsilon_tϵt。
- 对于n=1,…,Nn=1,\dots,Nn=1,…,N:
- 如果xnx^nxn被ft(x)f_t(x)ft(x)错分了,即yn^≠ft(xn)\hat{y^n}\neq f_t(x^n)yn^=ft(xn),那么训练集权重ut+1n=utn×dt=utn×eαtu^n_{t+1}=u^n_t\times d_t=u_t^n\times e^{\alpha_t}ut+1n=utn×dt=utn×eαt。
- 对于分类正确的情况,即yn^=ft(xn)\hat{y^n}= f_t(x^n)yn^=ft(xn),那么ut+1n=utndt=utn×e−αtu^n_{t+1}=\frac{u^n_t}{d_t}=u^n_t\times e^{-\alpha^t}ut+1n=dtutn=utn×e−αt。
- 其中,dt=(1−ϵ1)/ϵ1d_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
- 即ut+1n←utn×e−yn^ft(xn)αtu^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})=0v+(−v)=0
- 标量乘法与域乘法兼容性:a(bv)=(ab)va(b\bold{v})=(ab)\bold{v}a(bv)=(ab)v
- 标量乘法幺元:1v=v\bold{1v}=\bold{v}1v=v,1\bold{1}1是FFF中的乘法单位元。
- 标量乘法对向量加法的分配率:a(u+v)=au+ava(\bold{u+v})=a\bold{u}+a\bold{v}a(u+v)=au+av
- 标量乘法对域加法的分配率:(a+b)v=av+bv(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)。这种表示方式是由狄拉克发明的,分别称为⟨bra∣\bra{bra}⟨bra∣和∣ket⟩\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更新训练集权重组成新训练集以及利用训练多个分类器提升训练集准确率的方法。学习了量子计算的基本概念,关于矢量定义的相关内容。