一、机器学习的分类
1.1 基本分类:
- 监督学习:从标注的数据学习预测模型.
监督学习假设输入 X X X与输出 Y Y Y服从联合概率分布 P ( X , Y ) P(X,Y) P(X,Y) - 无监督学习:从无标注的数据学习预测模型
- 强化学习:智能系统与环境进行连续互动学习最优行为策略的过程
(智能系统根据环境做出的状态和奖励决定下一步的行为,环境根据智能系统的行为做出下一步的状态和奖励)
半监督学习(从大量未标注数据,少量标注数据中学习预测模型)
主动学习(机器不断主动产生实例让老师进行评判打分,倾向于找出堆学习最有帮助的实例让教师标注,而监督学习使用给定的标注数据,往往是随机产生的,因为也属于“被动学习”)属于监督学习的一类
1.2 按模型分类
概率与非概率模型
- 概率模型:学习条件概率分布
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)
e.g.,朴素贝叶斯,决策树 - 非概率模型:学习决策函数
Y
=
f
(
X
)
Y = f(X)
Y=f(X)
区别,概率模型可以表示为联合概率分布 P ( X , Y ) P(X,Y) P(X,Y)的形式,非概率模型不可以
e,g.,逻辑斯蒂回归,支持向量机,k近邻
参数与非参数模型
- 参数模型:假设模型参数的维度固定,即模型可以由有限个参数完全刻画
e.g.,逻辑斯蒂回归,朴素贝叶斯 - 非参数模型:假设模型参数的维度不固定或者是无穷大,随着数据量的增加而不断增大
e.g.,决策树,支持向量机,k近邻
1.3 按算法分类
- 在线学习:每次接受一个样本,进行预测,之后学习模型
- 批量学习:一次接受所有数据,学习模型,之后进行预测
1.4 按技巧分类
- 贝叶斯学习:根据贝叶斯定理,计算在给定数据的条件下模型的条件概率,即后验概率
假设变量 D D D表示数据, θ \theta θ表示模型参数。根据贝叶斯定理可以学习模型的后验概率
P ( θ ∣ D ) = P ( D ∣ θ ) P ( θ ) P ( D ) P(\theta|D) = \frac{P(D|\theta)P(\theta)}{P(D)} P(θ∣D)=P(D)P(D∣θ)P(θ)
其中, P ( θ ) P(\theta) P(θ)表示先验概率, P ( D ∣ θ ) P(D|\theta) P(D∣θ)表示条件概率(似然函数)。想要获得最佳模型参数即求解最大后验概率。 - 核方法:使用核函数表示核学习非线性模型
不显示地定义低维空间到高维空间的映射,而是直接定义核函数,即映射之后在高维空间的内积
假设输入空间两个向量 x , y x,y x,y,到输出空间的映射为 ϕ \phi ϕ,则在输出空间的内积为 < ϕ ( x ) , ϕ ( y ) > <\phi(x),\phi(y)> <ϕ(x),ϕ(y)>,可以直接在输入空间定义核函数 K ( x , y ) K(x,y) K(x,y),满足 K ( x , y ) = < ϕ ( x ) , ϕ ( y ) > K(x,y)= <\phi(x),\phi(y)> K(x,y)=<ϕ(x),ϕ(y)>
常见的核函数有:
核函数 | 表达式 |
---|---|
线性核 | K ( x i , x j ) = x i T x j K(x_{i},x_{j})=x_{i}^{T}x_{j} K(xi,xj)=xiTxj |
多项式核 | K ( x i , x j ) = ( x i T x j + 1 ) d K(x_{i},x_{j})=(x_{i}^{T} x_{j}+1)^{d} K(xi,xj)=(xiTxj+1)d |
高斯核 | K ( x i , x j ) = e x p ( − ∥ x i − x j ∥ 2 2 σ 2 ) = e x p ( − γ ∥ x i − x j ∥ 2 ) K(x_{i},x_{j})=exp(-\frac{\Vert x_{i}-x_{j}\Vert^{2}}{2\sigma^{2}})=exp(-\gamma\Vert x_{i}-x_{j}\Vert^{2}) K(xi,xj)=exp(−2σ2∥xi−xj∥2)=exp(−γ∥xi−xj∥2) |
拉普拉斯核 | K ( x i , x j ) = e x p ( − ∥ x i − x j ∥ σ ) K(x_{i},x_{j})=exp(-\frac{\Vert x_{i}-x_{j}\Vert}{\sigma}) K(xi,xj)=exp(−σ∥xi−xj∥) |
指数核 | K ( x i , x j ) = e x p ( − ∥ x i − x j ∥ 2 σ 2 ) K(x_{i},x_{j})=exp(-\frac{\Vert x_{i}-x_{j}\Vert}{2\sigma^{2}}) K(xi,xj)=exp(−2σ2∥xi−xj∥) |
二,机器学习方法三要素
方法 = 模型+策略+算法
2.1 模型
假设空间用 F F F定义,在监督学习中,模型是需要学习的条件概率分布或决策函数
- 决策函数的集合:
F = { f ∣ Y = f ( x ) } F = \{f|Y=f(x)\} F={f∣Y=f(x)} - 条件概率的集合:
F = { P ∣ P ( Y ∣ X ) } F = \{P|P(Y|X)\} F={P∣P(Y∣X)}
2.2 策略
根据模型的假设空间,依据准则选取最优模型
损失函数:
- 0-1损失
L
(
Y
,
f
(
X
)
)
=
{
0
,
Y
≠
f
(
X
)
1
,
Y
=
f
(
X
)
L(Y,f(X))=\begin{cases} 0, Y\ne f(X)\\ 1,Y =f(X) \end{cases}
L(Y,f(X))={0,Y=f(X)1,Y=f(X)
2. 平方损失函数
L
(
Y
,
f
(
X
)
)
=
(
Y
−
f
(
X
)
)
2
L(Y,f(X))=(Y-f(X))^{2}
L(Y,f(X))=(Y−f(X))2
3. 绝对损失函数
L
(
Y
,
f
(
X
)
)
=
∣
Y
−
f
(
X
)
∣
2
L(Y,f(X))=\vert Y-f(X)\vert^{2}
L(Y,f(X))=∣Y−f(X)∣2
4. 对数似然损失函数
L
(
Y
,
P
(
Y
∣
X
)
)
=
−
l
o
g
(
P
(
Y
∣
X
)
)
L(Y,P(Y|X))=-log(P(Y|X))
L(Y,P(Y∣X))=−log(P(Y∣X))
损失函数的期望(风险函数,期望损失)为
R
e
x
p
=
E
P
[
L
(
Y
,
f
(
X
)
)
]
=
∫
(
x
,
y
)
L
(
Y
,
f
(
X
)
)
P
(
X
,
Y
)
d
x
d
y
R_{exp}=E_{P}[L(Y,f(X))]=\int_{(x,y)}L(Y,f(X))P(X,Y)dxdy
Rexp=EP[L(Y,f(X))]=∫(x,y)L(Y,f(X))P(X,Y)dxdy
由于联合概率
P
(
X
,
Y
)
P(X,Y)
P(X,Y)未知,则在给定训练数据集
T
=
{
(
x
1
,
y
1
)
,
⋯
,
(
x
N
,
y
N
)
}
T=\{(x_{1},y_{1}),\cdots,(x_{N},y_{N})\}
T={(x1,y1),⋯,(xN,yN)}
模型
f
(
X
)
f(X)
f(X)关于训练数据集的平均损失(经验风险)为
R
e
m
p
=
1
N
∑
i
=
1
N
L
(
y
i
,
f
(
x
i
)
)
R_{emp}=\frac{1}{N}\sum_{i=1}^{N}L(y_{i},f(x_{i}))
Remp=N1i=1∑NL(yi,f(xi))
期望风险
R
e
x
p
R_{exp}
Rexp时模型关于联合概率分布的期望损失,经验风险
R
e
m
p
R_{emp}
Remp时模型关于训练数据的平均损失,根据大数定理(
∀
ε
≥
0
\forall\varepsilon\ge0
∀ε≥0,如果存在
l
i
m
n
→
∞
P
(
∣
X
ˉ
n
−
E
X
ˉ
n
)
∣
<
ε
)
=
1
lim_{n\to\infty}P(\vert\bar{X}_{n}-E\bar{X}_{n})\vert<\varepsilon)=1
limn→∞P(∣Xˉn−EXˉn)∣<ε)=1,则称
{
X
n
}
\{X_{n}\}
{Xn}服从大数定理,中心极限定理是指
n
→
∞
,
X
ˉ
n
n\to\infty,\bar{X}_{n}
n→∞,Xˉn服从正态分布)可知经验风险趋于期望风险
经验风险最小化:
m
i
n
f
∈
F
1
N
∑
i
=
1
N
L
(
y
i
,
f
(
x
i
)
)
\underset{f\in F}{min}\frac{1}{N}\sum_{i=1}^{N}L(y_{i},f(x_{i}))
f∈FminN1i=1∑NL(yi,f(xi))
当样本量足够大时,经验风险最小化能够保证较好的学习效果;但是当样本量较小时,容易出现“过拟合”现象(在训练集上效果好,对未知数据效果差)
结构风险最小化:等价于正则化
在经验风险的基础上加上模型复杂度的惩罚项,意在找到较为简单同时经验风险较小的模型
m
i
n
f
∈
F
1
N
∑
i
=
1
N
L
(
y
i
,
f
(
x
i
)
)
+
λ
J
(
f
)
\underset{f\in F}{min}\frac{1}{N}\sum_{i=1}^{N}L(y_{i},f(x_{i}))+\lambda J(f)
f∈FminN1i=1∑NL(yi,f(xi))+λJ(f)
λ
\lambda
λ用于平衡经验风险和模型复杂度,第一项为经验风险,第二项为正则化项,
J
(
f
)
J(f)
J(f)表示模型复杂度
2.3 算法
学习模型的具体计算方法,例如梯度下降等
三,模型评估与模型选择
3.1 模型评估
假设学习的模型为
Y
=
f
^
(
X
)
Y = \hat{f}(X)
Y=f^(X),训练误差为
R
e
m
p
=
1
N
∑
i
=
1
N
L
(
y
i
,
f
^
(
x
i
)
)
R_{emp}=\frac{1}{N}\sum_{i=1}^{N}L(y_{i},\hat{f}(x_{i}))
Remp=N1i=1∑NL(yi,f^(xi))
测试误差为
e
t
e
s
t
=
1
N
′
∑
i
=
1
N
′
L
(
y
i
,
f
^
(
x
i
)
)
e_{test}=\frac{1}{N'}\sum_{i=1}^{N'}L(y_{i},\hat{f}(x_{i}))
etest=N′1i=1∑N′L(yi,f^(xi))
当损失为0-1损失时,
误差率:
e
t
e
s
t
=
1
N
′
∑
i
=
1
N
′
I
(
y
i
≠
f
^
(
x
i
)
)
e_{test}=\frac{1}{N'}\sum_{i=1}^{N'}I(y_{i}\ne\hat{f}(x_{i}))
etest=N′1∑i=1N′I(yi=f^(xi))
精确度(accuracy):
r
t
e
s
t
=
1
N
′
∑
i
=
1
N
′
I
(
y
i
=
f
^
(
x
i
)
)
r_{test}=\frac{1}{N'}\sum_{i=1}^{N'}I(y_{i}=\hat{f}(x_{i}))
rtest=N′1∑i=1N′I(yi=f^(xi))
显然有
e
t
e
s
t
+
r
t
e
s
t
=
1
e_{test} + r_{test}=1
etest+rtest=1
更多评估指标可见模型评估与选择
3.2 模型选择:
- 正则化( L 1 , L 2 L_{1},L_{2} L1,L2正则化)
L
2
L_{2}
L2正则化:
m
i
n
f
∈
F
1
N
∑
i
=
1
N
L
(
y
i
,
f
(
x
i
)
)
+
λ
2
∥
θ
∥
2
\underset{f\in F}{min}\frac{1} {N}\sum_{i=1}^{N}L(y_{i},f(x_{i}))+\frac{\lambda}{2} \Vert \theta \Vert^{2}
f∈FminN1i=1∑NL(yi,f(xi))+2λ∥θ∥2
L
1
L_{1}
L1正则化:
m
i
n
f
∈
F
1
N
∑
i
=
1
N
L
(
y
i
,
f
(
x
i
)
)
+
λ
∥
θ
∥
1
\underset{f\in F}{min}\frac{1}{N}\sum_{i=1}^{N}L(y_{i},f(x_{i}))+\lambda \Vert \theta \Vert_{1}
f∈FminN1i=1∑NL(yi,f(xi))+λ∥θ∥1
其中,
θ
\theta
θ表示参数向量。
过拟合现象:学习时选择的模型所包含的参数过多,导致模型对于已知数据预测得很好,但对于位置数据预测得很差的现象
模型复杂度越高,训练误差越低,但是测试误差会较高
模型复杂度较小,训练误差和测试误差均较高
选择合适的模型参数,以达到测试误差最小
3. 交叉验证法:
+ 简单交叉验证:随机将已知数据分为两部分,分别作为训练集和测试集
+ K折交叉验证:将数据分为K份互不相交,大小相同的子集,利用K-1个子集训练模型,1个余下子集测试模型,将该过程重复K次,得到平均测试误差最小的模型
+ 留一交叉验证(在数据量匮乏时,K = N(样本量),留一个样本用于测试
训练集:训练模型
验证集:模型选择
测试集:评估模型的泛化性能
学习方法对未知数据的预测能力称为泛化能力
四,生成式和判别式模型
监督学习的任务是对于输入X,输出Y,本质上是学习一个决策函数 Y = f ( X ) Y=f(X) Y=f(X)或条件概率模型 P ( Y ∣ X ) P(Y|X) P(Y∣X)
4.1 生成式模型
首先由数据学习联合概率分布
P
(
X
,
Y
)
P(X,Y)
P(X,Y),然后求出条件概率分布作为预测的模型:
P
(
Y
∣
X
)
=
P
(
X
,
Y
)
P
(
X
)
=
P
(
X
∣
Y
)
P
(
Y
)
P
(
X
)
P(Y|X)=\frac{P(X,Y)}{P(X)}=\frac{P(X|Y)P(Y)}{P(X)}
P(Y∣X)=P(X)P(X,Y)=P(X)P(X∣Y)P(Y)
如:朴素贝叶斯,隐马尔可夫
4.2 判别式模型
由数据直接学习决策函数
Y
=
f
(
X
)
Y=f(X)
Y=f(X)或者条件概率分布
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)作为预测的模型
如:k近邻,感知机,决策树,逻辑斯蒂回归
4.3 优缺点
- 生成式模型可以还原数据的联合概率分布,判别式模型不可以
- 生成式模型的学习收敛速度更快,即当数据量增大的,学习到的模型可以更快地收敛到真实模型
- 当存在隐变量时,生成式方法同样适用,但是判别式方法不可以
- 判别式模型通过直接对输入 X X X预测输出 Y Y Y,学习的精确率更高
- 判别方法由于直接学习 f ( X ) f(X) f(X)或 P ( Y ∣ X ) P(Y|X) P(Y∣X),可以对数据进行各种程度上的抽样,定义特征并使用特征,可以简化学习问题