主要参考书目《统计学习方法》第2版,清华大学出版社
参考书目 Machine Learning in Action, Peter Harrington
用于考研复试笔记
写在前面:考研算法方向复试所用,以概念为主+必要的理解阐述+代码,概念部分比较枯燥,可直接背诵。一天更一章,不更走路踩狗屎,计划2月8日前更完。立个flag:寒假学会手写svm。
概念
杂概念
统计学习(statistical Learning)是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科。统计学习也称为统计机器学习(statistical machine learning)。
统计学习研究的对象是数据。
统计学习关于数据的基本假设是同类数据具有一定的规律性,这是统计学习的前提。
统计学习方法的三要素 模型(model)、策略(strategy)、算法(algorithm)
假设空间 假设要学习的模型属于某个函数的集合。
特征空间 由输入的特征向量存在的空间。
输出预测:
P
(
y
∣
x
)
P(y|x)
P(y∣x)或
y
=
f
(
x
)
y=f(x)
y=f(x)
机器学习的分类
监督学习、无监督学习、强化学习
监督学习(supervised learning)是指从标注数据中学习预测模型的机器学习问题。
监督学习分为学习和预测两个过程,由学习系统与预测系统完成。
无监督学习(unsupervised learning)是指从无标注数据中学习预测模型的机器学习问题。可以对模型实现聚类、降维或概率估计。
强化学习(reinforcement learning)是指智能系统在与环境的连续互动中学习最优行为策略的机器学习问题。假设智能系统与环境的互动基于马尔可夫决策过程(Markov decision process),智能系统能观测的是与环境互动得到的数据序列。强化学习的本质是学习最优的序贯决策。
具体见《统计学习方法》P9
概率模型和非概率模型
概率模型
P
(
y
∣
x
)
P(y|x)
P(y∣x)(probabilistic model) 决策树、朴素贝叶斯、隐马尔科夫模型、条件随机场、概率潜在语义分析、潜在狄利克雷分配、高斯混合模型。
非概率模型
y
=
f
(
x
)
y=f(x)
y=f(x)(non-probabilistic model) 感知机、支持向量机、k近邻、AdaBoost、k均值、潜在语义分析、神经网络。
既可以看作概率模型又可以看作非概率模型 Logistic regression
线性模型与非线性模型
线性模型 (linear model)
y
=
f
(
x
)
y=f(x)
y=f(x) 感知机、线性支持向量机、k近邻、k均值、潜在语义分析
非线性模型 核函数支持向量机、AdaBoost、神经网络
参数化模型或非参数化模型
参数化模型(parametric model) 感知机、朴素贝叶斯、Logistic regression、k均值、高斯混合模型、潜在语义分析、概率潜在语义分析、潜在狄利克雷分配是参数化模型。
非参数化模型(non-parametric model) 决策树、支持向量机、AdaBoost、k近邻
参数化模型参数的维度是固定的,非参数化模型维度不是固定的或者无限大。现实中非参数化模型往往更有效
在线学习和批量学习
在线学习 (online learning) 每次接受一个样本,进行预测,之后学习模型。
批量学习 (batch learning) 批量学习所有数据,学习模型。
贝叶斯学习和核方法
贝叶斯学习(Bayesian learning) 又称 贝叶斯推理(Bayesian inference)
P
(
θ
)
P
(
D
∣
θ
)
P
(
D
)
\frac{P(\theta)P(D|\theta)}{P(D)}
P(D)P(θ)P(D∣θ)
·贝叶斯和极大似然估计是两种流派
核方法(kernel method)把线性模型扩展到非线性模型,直接的做法是低维到高维的映射:核函数支持向量机,核PCA,核k均值
方法=模型+策略+算法
·有了模型的假设空间,统计学习接着需要考虑的是按照什么样的准则学习或选择最优模型
损失函数和风险函数
0-1损失函数 (0-1 loss function)
L
(
Y
,
f
(
X
)
)
=
{
1
,
Y
=
f
(
X
)
0
,
Y
≠
f
(
X
)
L(Y,f(X))=\left\{ \begin{aligned} 1, && Y & = & f(X) \\ 0, && Y & \neq & f(X) \end{aligned} \right.
L(Y,f(X))={1,0,YY==f(X)f(X)
平方损失函数 (quadratic loss function)
L
(
Y
,
f
(
X
)
)
=
(
Y
−
f
(
X
)
)
2
L(Y,f(X))=(Y-f(X))^{2}
L(Y,f(X))=(Y−f(X))2
绝对损失函数(absolute loss function)
L
(
Y
,
f
(
X
)
)
=
∣
Y
−
f
(
X
)
∣
L(Y,f(X))=|Y-f(X)|
L(Y,f(X))=∣Y−f(X)∣
对数损失函数(logarithmic loss function)
L
(
Y
,
P
(
Y
∣
X
)
=
−
l
o
g
P
(
Y
∣
X
)
L(Y,P(Y|X)=-logP(Y|X)
L(Y,P(Y∣X)=−logP(Y∣X)
损失函数的期望是
R
e
x
p
(
f
)
=
E
p
[
L
(
Y
,
f
(
X
)
)
]
=
∫
x
×
y
L
(
y
,
f
(
x
)
)
P
(
x
,
y
)
d
x
d
y
R_{exp}(f)=E_{p}[L(Y,f(X))]=\int_{x \times y}L(y,f(x))P(x,y)dxdy
Rexp(f)=Ep[L(Y,f(X))]=∫x×yL(y,f(x))P(x,y)dxdy
`这是理论上模型
f
(
X
)
f(X)
f(X)关于联合分布$P(X,Y)的平均意义下的损失,称为风险函数(risk function)或期望损失(expected loss)
模型 f ( X ) f(X) f(X)关于训练数据集的平均损失称为经验风险(empirical risk)或经验损失(empirical loss),记作 R e m p ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) R_{emp}(f)=\frac{1}{N} \sum_{i=1}^{N}L(y_{i},f(x_{i})) Remp(f)=N1∑i=1NL(yi,f(xi))
经验风险最小化(empirical risk minimization, ERM)与结构风险最小化(structural risk minimization, SRM)
min
f
∈
F
1
N
∑
i
=
1
N
L
(
y
i
,
f
(
x
i
)
)
\min\limits_{f\in{F}}\frac{1}{N}\sum\limits_{i=1}^{N}L(y_{i},f(x_{i}))
f∈FminN1i=1∑NL(yi,f(xi))
其中
F
F
F是假设空间
·当样本容量很小时,风眼风险最小化容易产生过拟合现象
结构风险最小化是为了防止过拟合而提出来的策略,结构风险最小化等价于正则化(regularization)。结构风险在经验风险上加上表示模型复杂度的正则化项(regularizer)或罚项(penalty term)。
结构风险的定义为
R
s
r
m
(
f
)
=
1
N
∑
i
=
1
N
L
(
y
i
,
f
(
x
i
)
)
+
λ
J
(
f
)
R_{srm}(f)=\frac{1}{N}\sum\limits_{i=1}^{N}L(y_{i},f(x_{i}))+\lambda J(f)
Rsrm(f)=N1i=1∑NL(yi,f(xi))+λJ(f)
其中
J
(
f
)
J(f)
J(f)为模型的复杂度,是定义在假设空间
F
F
F上的范函,模型
f
f
f越复杂,复杂度
J
(
f
)
J(f)
J(f)越大。
λ
\lambda
λ是系数。
训练误差和测试误差
训练、测试的平均损失
R
e
m
p
(
f
^
)
=
1
N
∑
i
=
1
N
L
(
y
i
,
f
^
(
x
i
)
)
R_{emp}(\hat{f})=\frac{1}{N}\sum\limits_{i=1}^{N}L(y_{i},\hat{f}(x_{i}))
Remp(f^)=N1i=1∑NL(yi,f^(xi))
指示函数I(indicator function)
I
(
y
i
=
f
^
(
x
i
)
I(y_{i} = \hat{f}(x_{i})
I(yi=f^(xi)
y
=
f
^
(
x
)
时
为
1
,
否
则
为
0
y = \hat{f}(x)时为1,否则为0
y=f^(x)时为1,否则为0
准确率(accuracy)
r
t
e
s
t
=
1
N
′
∑
i
=
1
N
′
I
(
y
i
=
f
^
(
x
i
)
)
r_{test}=\frac{1}{N^{'}}\sum\limits_{i=1}^{N^{'}}I(y_{i}=\hat{f}(x_{i}))
rtest=N′1i=1∑N′I(yi=f^(xi))
泛化能力(generalization ability) 对未知数据的预测能力
正则化(regularization)
正则化有多种形式
min
f
∈
F
=
1
N
∑
i
=
1
N
L
(
y
i
,
f
(
x
i
)
)
+
λ
J
(
f
)
\min \limits_{f \in F}=\frac{1}{N}\sum\limits_{i=1}^{N}L(y_{i},f(x_{i}))+\lambda J(f)
f∈Fmin=N1i=1∑NL(yi,f(xi))+λJ(f)
L
(
w
)
=
1
N
∑
i
=
1
N
(
f
(
x
i
;
w
)
−
y
i
)
2
+
λ
2
∣
∣
w
∣
∣
2
L(w)=\frac{1}{N}\sum\limits_{i=1}^{N}(f(x_{i};w)-y_{i})^{2}+\frac{\lambda}{2}||w||^{2}
L(w)=N1i=1∑N(f(xi;w)−yi)2+2λ∣∣w∣∣2
`这里,
∣
∣
w
∣
∣
||w||
∣∣w∣∣表示参数向量
w
w
w的
L
2
L_{2}
L2范数,也可以是
L
1
L_{1}
L1范数
L
1
L_{1}
L1范数,绝对值相加,
L
2
L_{2}
L2范数,平方相加
个人理解:前面讲到结构风险最小化, λ J ( f ) \lambda J(f) λJ(f)中 f f f越复杂, J ( f ) J(f) J(f)越大,是因为,防止过拟合,去掉复杂的对象是一种方式,保留更多有共性的数据,让有“特性”的数据不参与训练。
交叉验证(cross validation)
简单交叉模型 随机将已知数据集分成两部分,一部分训练集, 一部分测试集,训练出不同的模型,找到误差最小的模型。
S折交叉验证(S-fold cross validation) 随机将数据分成S个不相交大小相同的子集,利用S-1个子集进行训练,利用余下的子集测试模型,将这一过程对S钟可能重复,选出平均测试误差最小的模型。
留一交叉验证(leave-one-out cross validation)
上者S=N的情形。
泛化能力
学习方法的泛化能力(generalization ability)是指由该方法学习道德的模型对未知数据的预测能力,是学习方法本质上重要的性质。
泛化误差(generalization error)的定义 如果学到的模型是 f ^ \hat{f} f^,那么用这个模型对未知数据预测的误差即为泛化误差 R e x p ( f ^ ) = E p [ L ( Y , f ^ ( X ) ) ] = ∫ x × y L ( y , f ^ ( x ) ) P ( x , y ) d x d y R_{exp}(\hat{f})=E_p[L(Y,\hat{f}(X))]=\int_{x \times y}L(y,\hat{f}(x))P(x,y)dxdy Rexp(f^)=Ep[L(Y,f^(X))]=∫x×yL(y,f^(x))P(x,y)dxdy
泛化误差反映了学习方法的泛化能力,如果一种方法学习的模型比另一种方法学习的模型具有更小的泛化误差,那么这种方法更有效。
泛化误差上界
模型越难学,泛化误差越大
模型难学是说,这个模型,过于“特殊”,自然,就不够“泛化”,误差就大了
定理 1.1 (泛化误差上界)
对于二分类问题,当假设空间是有限个函数的集合
F
=
{
f
1
,
f
2
,
.
.
.
,
f
d
}
F=\{f_1,f_2,...,f_d\}
F={f1,f2,...,fd}时,对于任意一个函数
f
∈
F
f \in F
f∈F,至少以概念
1
−
δ
,
0
<
δ
<
1
1-\delta, 0 < \delta < 1
1−δ,0<δ<1,以下不等式成立:
R
(
f
)
≤
R
^
(
f
)
+
ε
(
d
,
N
,
δ
)
R(f) \leq \hat{R}(f)+\varepsilon(d,N,\delta)
R(f)≤R^(f)+ε(d,N,δ)
其中
ε
(
d
,
N
,
δ
)
=
1
2
N
(
l
o
g
d
+
l
o
g
1
δ
)
\varepsilon(d,N,\delta)=\sqrt{\frac{1}{2N}(logd+log\frac{1}{\delta})}
ε(d,N,δ)=2N1(logd+logδ1)
R
(
f
)
R(f)
R(f)是泛化误差,
R
^
(
f
)
+
ε
(
d
,
N
,
δ
)
\hat{R}(f)+\varepsilon(d,N,\delta)
R^(f)+ε(d,N,δ) 即泛化误差上界
生成模型和判别模型
监督学习应用
监督学习从数据中学习一个分类模型或分类决策函数,称为分类器(classifier)
评价分类器性能的指标一般是分类精准率(accuracy)
对于二分类问题常用的评价指标是精确率(precision)与召回率(recall)。
TP——将正类预测为正类数;
FN——将正类预测为负类数;
FP——将负类预测为正类数;
TN——将负类预测为负类数;
精确率
P
=
T
P
T
P
+
F
P
P=\frac{TP}{TP+FP}
P=TP+FPTP
召回率
R
=
T
P
T
P
+
F
N
R=\frac{TP}{TP+FN}
R=TP+FNTP
精确率是指 预测为正类的数目中预测对的比例
召回率是指 正类中被预测对的比例
精准率和召回率的调和均值:
2
F
1
=
1
P
+
1
R
\frac{2}{F_1}=\frac{1}{P}+\frac{1}{R}
F12=P1+R1