1. 问题描述
这里考虑一个宝可梦和数码宝贝分类的例子,给一个宝可梦或者数码宝贝,通过机器学习方法分类出其结果。通过观察可以发现宝可梦和数码宝贝画风有差异,宝可梦线条简单,数码宝贝线条复杂。有很多方法可以画出宝可梦和数码宝贝图片的线条,通过统计线条的像素点的个数,可以简单划分宝可梦和数码宝贝。
2. 定义未知函数和定义损失函数
那么机器学习的第一步和第二步,定义未知函数和定义损失函数如下两图所示,
3. 训练样本
那么接下来做机器学习的第三步,通过训练样本找到一个好的函数。这里
理想: h a l l = arg min h L ( h , D a l l ) h^{all} = \argmin\limits_{h}L(h,D_{all}) hall=hargminL(h,Dall)
现实: h t r a i n = arg min h L ( h , D t r a i n ) h^{train} = \argmin\limits_{h}L(h,D_{train}) htrain=hargminL(h,Dtrain)
3.1 目标一
目标一:我们希望 L ( h t r a i n , D a l l ) L(h^{train},D_{all}) L(htrain,Dall)与 L ( h a l l , D a l l ) L(h^{all},D_{all}) L(hall,Dall)越近越好; 转化为数学语言,目标一等同于如果 D t r a i n D_{train} Dtrain满足对任意的 h ∈ H h \in H h∈H, ∣ L ( h , D t r a i n ) − L ( h , D a l l ) ∣ ≤ δ 2 |L(h,D_{train})-L(h,D_{all})| \leq \frac{\delta}{2} ∣L(h,Dtrain)−L(h,Dall)∣≤2δ,那么理想就会很接近现实,即 L ( h t r a i n , D a l l ) − L ( h a l l , D a l l ) ≤ δ L(h^{train},D_{all})-L(h^{all},D_{all})\leq \delta L(htrain,Dall)−L(hall,Dall)≤δ.可以从数学上证明以上论述成立,证明过程如下:
证明: L ( h t r a i n , D a l l ) ≤ L ( h t r a i n , D t r a i n ) + δ 2 ≤ L ( h a l l , D t r a i n ) + δ 2 ≤ L ( h a l l , D a l l ) + δ 2 + δ 2 = L ( h a l l , D a l l ) + δ L(h^{train},D_{all}) \leq L(h^{train},D_{train}) + \frac{\delta}{2} \\ \leq L(h^{all},D_{train}) + \frac{\delta}{2} \\ \leq L(h^{all},D_{all}) + \frac{\delta}{2}+ \frac{\delta}{2} \\ = L(h^{all},D_{all}) +\delta L(htrain,Dall)≤L(htrain,Dtrain)+2δ≤L(hall,Dtrain)+2δ≤L(hall,Dall)+2δ+2δ=L(hall,Dall)+δ
3.2 目标二
目标二:找到一个好的 D t r a i n D_{train} Dtrain,满足对任意的 h ∈ H h \in H h∈H, ∣ L ( h , D t r a i n ) − L ( h , D a l l ) ∣ ≤ δ 2 |L(h,D_{train})-L(h,D_{all})| \leq \frac{\delta}{2} ∣L(h,Dtrain)−L(h,Dall)∣≤2δ . 自然要计算随便找一个 D t r a i n D_{train} Dtrain,不满足理想与现实接近的几率有多大?下图中每个点代表一个训练集。
P ( D t r a i n i s b a d ) = ⋃ h ∈ H P ( D t r a i n i s b a d d u e t o h ) ≤ ∑ h ∈ H P ( D t r a i n i s b a d d u e t o h ) ≤ ∑ h ∈ H 2 e x p ( − 2 N ϵ 2 ) = ∣ H ∣ 2 e x p ( − 2 N ϵ 2 ) P(D_{train} \quad is \quad bad) = \bigcup\limits_{h \in H} P(D_{train} \quad is \quad bad \quad due \quad to \quad h) \\ \leq \sum\limits_{h \in H} P(D_{train} \quad is \quad bad \quad due \quad to \quad h) \\ \leq \sum\limits_{h \in H} 2 exp(-2N\epsilon^2) \\ = |H| 2 exp(-2N\epsilon^2) P(Dtrainisbad)=h∈H⋃P(Dtrainisbadduetoh)≤h∈H∑P(Dtrainisbadduetoh)≤h∈H∑2exp(−2Nϵ2)=∣H∣2exp(−2Nϵ2)
上式第三步要求损失函数loss值在0到1的范围内,其中 N N N是 D t r a i n D_{train} Dtrain的样本数。
那么怎么让 P ( D t r a i n i s b a d ) P(D_{train} \quad is \quad bad) P(Dtrainisbad) 更小呢?
1). Larger N N N and 2). smaller ∣ H ∣ |H| ∣H∣。也就是说,增加训练集样本数量或者降低模型复杂程度。下两图显示通过这两种方法怎么降低 P ( D t r a i n i s b a d ) P(D_{train} \quad is \quad bad) P(Dtrainisbad) 。
4. 思考
参考
[1] 李宏毅浅谈机器学习原理视频链接