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] 李宏毅浅谈机器学习原理视频链接