统计学习方法概论
1.1 统计学习
1.1.1 统计学习的特点
是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科
1.1.2. 统计学习的对象
对象是数据,基本假设是同类数据具有一定的统计规律性
1.1.3. 统计学习的目的
用于对数据进行预测和分析,总的目标是考虑学习什么样的模型和如何学习模型
1.1.4. 统计学习的方法
基于数据构建统计模型从而对数据进行预测和分析
由监督学习.非监督学习.半监督学习和强化学习组成
1.1.5. 统计学习的研究
一般包括统计学习方法,统计学习理论,及统计学习应用
1.2 监督学习
学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出好的预测
1.2.1 基本概念
- 输入空间和输出空间
- 每个具体的输入是一个实例,通常由特征向量表示
- 输入和输出看作是定义在输入(特征)空间和输出空间上随机变量的取值
- 输入输出用大写字母表示,输入输出变量用小写字母表示
eg:
- 回归问题——输入输出均为连续变量
- 分类问题——输出为离散变量
标注问题——输入输出均为变量序列
联合概率分布
- 假设空间——输入空间到输出空间的映射的集合
1.2.2 问题的形式化
监督学习利用训练数据集训练一个模型,再用模型对测试样本集进行预测
在学习过程中,学习系统利用给定的训练数据集,通过学习(或训练)得到一个模型,表示为条件概率分布 P^(Y|X) P ^ ( Y | X ) 或决策函数 Y=f^(X) Y = f ^ ( X ) .
在预测过程中,预测系统对于给定的测试样本集中的输入 xN+1 x N + 1 ,由模型 yN+1=argmaxP^(yN+1|xN+1) y N + 1 = a r g m a x P ^ ( y N + 1 | x N + 1 ) 或 yN+1=f^(xN+1) y N + 1 = f ^ ( x N + 1 ) 给出相应的输出 yN+1 y N + 1
1.3 统计学习三要素
1.3.1 模型
监督学习中,模型就是所要学习的条件概率分布或决策函数
假设空间为决策函数的集合: F={f|Y=fθ(x),θϵRn} F = { f | Y = f θ ( x ) , θ ϵ R n } ,非概率模型
假设空间为条件概率的集合: F={P|Pθ(Y|X),θϵRn} F = { P | P θ ( Y | X ) , θ ϵ R n } ,概率模型
其中 θ θ 称之为参数空间
1.3.2 策略
损失函数——度量模型一次预测的好坏
风险函数——度量平均意义下模型的好坏
eg:
- 0-1损失函数 L(Y,f(X))={1,0,Y≠f(X)Y=f(X) L ( Y , f ( X ) ) = { 1 , Y ≠ f ( X ) 0 , Y = f ( X )
- 平方损失函数 L(Y,f(X))=(Y−f(X))2 L ( Y , f ( X ) ) = ( Y − f ( X ) ) 2
- 绝对损失函数 L(Y,f(X))=|Y−f(X)| L ( Y , f ( X ) ) = | Y − f ( X ) |
- 对数损失函数或对数似然函数 L(Y,P(Y|X))=−logP(Y|X) L ( Y , P ( Y | X ) ) = − l o g P ( Y | X )
风险函数或期望损失—— Rexp(f)=Ep[L(Y,f(X))]=∫x∗yL(y,f(x))P(x,y)dxdy R e x p ( f ) = E p [ L ( Y , f ( X ) ) ] = ∫ x ∗ y L ( y , f ( x ) ) P ( x , y ) d x d y
经验风险或经验损失—— Remp(f)=1n∑ni=1L(yi,f(xi)) R e m p ( f ) = 1 n ∑ i = 1 n L ( y i , f ( x i ) )
根据大数定律,当样本容量N趋于无穷时,经验风险趋于期望风险
经验风险最小化: minfϵF1n∑ni=1L(yi,f(xi)) m i n f ϵ F 1 n ∑ i = 1 n L ( y i , f ( x i ) )
当模型是条件概率分布,损失函数是对数损失函数时,经验风险最小化等价于极大似然估计,证明如下:
min1n∑ni=1−log(Pθ(yi|xi))↔max1n∑ni=1log(Pθ(yi|xi))↔max1n∏ni=1Pθ(yi|xi) m i n 1 n ∑ i = 1 n − l o g ( P θ ( y i | x i ) ) ↔ m a x 1 n ∑ i = 1 n l o g ( P θ ( y i | x i ) ) ↔ m a x 1 n ∏ i = 1 n P θ ( y i | x i )
- 结构风险最小化:, minfϵF1n∑ni=1L(yi,f(xi))+λJ(f) m i n f ϵ F 1 n ∑ i = 1 n L ( y i , f ( x i ) ) + λ J ( f ) ,其中 J(f) J ( f ) 为模型的复杂度
当模型是条件概率分布,损失函数是对数损失函数时,模型复杂度由模型的先验概率表示时,结构风险最小化等价于最大后验概率估计,证明如下:
μ^MAP=argmaxμP(μ|X)=argmaxμP(X|μ)P(μ)P(X)=argmaxμP(X|μ)P(μ) μ ^ M A P = a r g m a x μ P ( μ | X ) = a r g m a x μ P ( X | μ ) P ( μ ) P ( X ) = a r g m a x μ P ( X | μ ) P ( μ )
取log之后:
μ^MAP=argmaxμlogP(μ|X)=argmaxμ(log∏i=1nP(xi|μ)+logP(μ))=argmaxμ(log∑i=1nP(xi|μ)+logP(μ))=argminμ(−∑i=1nlogP(xi|μ)−logP(μ)) μ ^ M A P = a r g m a x μ l o g P ( μ | X ) = a r g m a x μ ( l o g ∏ i = 1 n P ( x i | μ ) + l o g P ( μ ) ) = a r g m a x μ ( l o g ∑ i = 1 n P ( x i | μ ) + l o g P ( μ ) ) = a r g m i n μ ( − ∑ i = 1 n l o g P ( x i | μ ) − l o g P ( μ ) )
1.3.3 算法
最优化问题,找到全局最优解
1.4 模型评估与模型选择
1.4.1 训练误差与测试误差
- 训练误差:模型在训练数据集上的平均损失 Remp(f^)=1N∑Ni=1L(yi,f^(xi)) R e m p ( f ^ ) = 1 N ∑ i = 1 N L ( y i , f ^ ( x i ) )
- 测试误差:模型在测试数据集上的平均损失 etest(f^)=1N′∑N′i=1L(yi,f^(xi)) e t e s t ( f ^ ) = 1 N ′ ∑ i = 1 N ′ L ( y i , f ^ ( x i ) )
1.4.2 过拟合与模型选择
过拟合是指学习时选择的模型所包含的参数过多,以至于这一模型对已知数据预测的很好,但对未知数据预测很差的现象
以M次多项式函数拟合举例
L(w)=12∑Ni=1(∑Mj=1wjxji−yi)2 L ( w ) = 1 2 ∑ i = 1 N ( ∑ j = 1 M w j x i j − y i ) 2
wj=∑Ni=1xjiyi∑Ni=1xj+1i w j = ∑ i = 1 N x i j y i ∑ i = 1 N x i j + 1
M=9时出现了过拟合,不是很好的预测
当模型的复杂度变大时,训练误差逐渐减小并趋向于0,而测试误差会先减小,达到最小值后又增大
1.5 正则化与交叉验证
1.5.1 正则化
正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项或罚项,正则化项一般是模型复杂度的单调递增函数。
min1N∑Ni=1L(yi,f(xi))+λJ(f) m i n 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f )
- 回归问题中,损失函数是平方损失,正则化项可以是参数向量的 L2 L 2 范数, L(w)=1N∑Ni=1(f(xi;w)−yi)2+λ2||w||2 L ( w ) = 1 N ∑ i = 1 N ( f ( x i ; w ) − y i ) 2 + λ 2 | | w | | 2
- 也可以是参数向量的 L1 L 1 范数, L(w)=1N∑Ni=1(f(xi;w)−yi)2+λ||w|| L ( w ) = 1 N ∑ i = 1 N ( f ( x i ; w ) − y i ) 2 + λ | | w | |
从贝叶斯估计的角度来看,正则化对应于模型的先验概率,可以假设复杂的模型有较小的先验概率,简单的模型有较大的先验概率。
1.5.2 交叉验证
将数据集分为三部分,训练集,验证集和测试集。
重复的使用数据,把给定的数据进行切分,在此基础上进行反复的训练测试和模型选择
- 简单交叉验证
- S折交叉验证
- 留一交叉验证
1.6 泛化能力
1.6.1 泛化误差
如果学到的模型是 f^ f ^
Rexp(f^)=Ep[L(Y,f^(X))]=∫x∗yL(y,f^(x))P(x,y)dxdy R e x p ( f ^ ) = E p [ L ( Y , f ^ ( X ) ) ] = ∫ x ∗ y L ( y , f ^ ( x ) ) P ( x , y ) d x d y
引理1 令 A1,A2,⋯,Ak A 1 , A 2 , ⋯ , A k 为k个不同的事件(不一定相互独立),那么有: P(A1∪A2∪⋯∪Ak)≤P(A1)+P(A2)+⋯+P(Ak) P ( A 1 ∪ A 2 ∪ ⋯ ∪ A k ) ≤ P ( A 1 ) + P ( A 2 ) + ⋯ + P ( A k )
引理2 Hoeffding 不等式,如果 X1,X2,⋯,Xn X 1 , X 2 , ⋯ , X n 是一组独立同分布的参数为p的伯努利分布随机变量,定义这组随机变量均值为 X¯¯¯¯=1n∑ni=1Xi X ¯ = 1 n ∑ i = 1 n X i ,对于任意的 ϵ>0 ϵ > 0 , P{|X¯¯¯¯−E(X¯¯¯¯)|>ϵ}≤2e−2ϵ2n P { | X ¯ − E ( X ¯ ) | > ϵ } ≤ 2 e − 2 ϵ 2 n
(1)有限假设空间情况( F={f1,f2,⋯,fM} F = { f 1 , f 2 , ⋯ , f M } )
对任意假设 fk f k
样本内误差: Ein(fk)=1n∑ni=1I(fk(i)≠f(i)) E i n ( f k ) = 1 n ∑ i = 1 n I ( f k ( i ) ≠ f ( i ) )
样本外误差: Eout(fk)=P(fk(i)≠f(i)) E o u t ( f k ) = P ( f k ( i ) ≠ f ( i ) )
由Hoeffding不等式得知,对于任意的 ϵ>0 ϵ > 0 , P(|Ein(fk)−Eout(fk)|>ϵ)≤2e−2ϵ2n P ( | E i n ( f k ) − E o u t ( f k ) | > ϵ ) ≤ 2 e − 2 ϵ 2 n
P(∃fϵF:|Ein(f)−Eout(f)|>ϵ)=P(∪|Ein(f)−Eout(f)|>ϵ)≤∑Mi=1P(Ein(fi)−Eout(fi)|>ϵ)≤2Me−2ϵ2n P ( ∃ f ϵ F : | E i n ( f ) − E o u t ( f ) | > ϵ ) = P ( ∪ | E i n ( f ) − E o u t ( f ) | > ϵ ) ≤ ∑ i = 1 M P ( E i n ( f i ) − E o u t ( f i ) | > ϵ ) ≤ 2 M e − 2 ϵ 2 n
等价为 P(∀fϵF:|Ein(f)−Eout(f)|≤ϵ)>1−2Me−2ϵ2n P ( ∀ f ϵ F : | E i n ( f ) − E o u t ( f ) | ≤ ϵ ) > 1 − 2 M e − 2 ϵ 2 n
令 2Me−2ϵ2n 2 M e − 2 ϵ 2 n 为 σ σ ,则至少有 1−σ 1 − σ 概率, |Ein(f)−Eout(f)|≤12nln2Mσ−−−−−−−√ | E i n ( f ) − E o u t ( f ) | ≤ 1 2 n l n 2 M σ
(2)无限假设空间情况
当M无限大时,(1)中求得的界限便没有了意义,如果可以将这无限大的假设空间分成有限的几类,按照样本数据划分方式进行分类,便可以将无限的问题转换成有限的问题。
以平面线性二分类举例
当样本数为1时,我们可以把假设分成2类。
当样本数为2时,我们可以把假设分为4类。
设 F F 为假设集,我们用表示分成的类数,并且有 F(X1,X2,⋯,XN)≤2N F ( X 1 , X 2 , ⋯ , X N ) ≤ 2 N
可是随着样本的不同,即使样本数一致,分成的类数会有所不同
如上图样本数为3时,我们可以分为8类和6类
因此我们引入成长函数 mF(N) m F ( N )
mF(N)=maxx1,x2,⋯,xNϵXF(X1,X2,⋯,XN) m F ( N ) = m a x x 1 , x 2 , ⋯ , x N ϵ X F ( X 1 , X 2 , ⋯ , X N )
mF(N)≤2N m F ( N ) ≤ 2 N
我们将成长函数替换到(1)中所求, P(∃fϵF:|Ein(f)−Eout(f)|>ϵ)≤2mF(N)e−2ϵ2n≤22ne2ϵ2n P ( ∃ f ϵ F : | E i n ( f ) − E o u t ( f ) | > ϵ ) ≤ 2 m F ( N ) e − 2 ϵ 2 n ≤ 2 2 n e 2 ϵ 2 n
在样本数为4时,我们可以分为14类,如下图,出现了2种表示不出的情况,我们将4其称之为断点
只要假设集存在断点,成长函数满足一个更小的上界, mF(N)≤∑k−1i=0CiN m F ( N ) ≤ ∑ i = 0 k − 1 C N i
VC Bound:
P(∃fϵF:|Ein(f)−Eout(f)|>ϵ)≤2⋅2mF(2N)e2⋅116Nϵ2≤2⋅2⋅∑k−1i=0Ci2Ne2⋅116Nϵ2 P ( ∃ f ϵ F : | E i n ( f ) − E o u t ( f ) | > ϵ ) ≤ 2 ⋅ 2 m F ( 2 N ) e 2 ⋅ 1 16 N ϵ 2 ≤ 2 ⋅ 2 ⋅ ∑ i = 0 k − 1 C 2 N i e 2 ⋅ 1 16 N ϵ 2
1.7 生成模型和判别模型
监督学习方法可分为生成方法和判别方法,所学到的模型分别称为生成模型和判别模型
- 生成方法由数据学习联合概率分布P(X,Y),然后求出条件概率分布P(Y|X), P(Y|X)=P(X,Y)P(X) P ( Y | X ) = P ( X , Y ) P ( X ) ,典型的生成模型有隐马尔可夫模型和朴素贝叶斯法,其优点在于可以还原联合概率分布,学习收敛速度更快
- 判别方法由数据直接学习决策函数f(X)或者条件概率分布P(Y|X),典型的判别模型有k近邻法,感知机,决策树,逻辑斯蒂回归,最大熵模型等,其优点在于直接学习模型,准确率更高,可以简化学习问题。
1.8 分类问题
(x1,y1),(x2,y2),⋯,(xN,yN) ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x N , y N ) 是训练数据集,训练系统由训练数据训练一个分类器 Y=f(X) Y = f ( X ) 或 P(Y|X) P ( Y | X ) ,将新的输入实例 xN+1 x N + 1 分类为 yN+1 y N + 1
分类准确率——对于给定的测试数据集,分类器正确分类的样本数和总样本数之比
精确率—— P=TPTP+FP P = T P T P + F P
- 召回率—— R=TPTP+FN R = T P T P + F N
TP——将正类预测为正类数
FN——将正类预测为负类数
FP——将负类预测为正类数
FN——将负类预测为负类数
- F1 F 1 值为精确率和召回率的调和均值, 2F1=1P+1R 2 F 1 = 1 P + 1 R , F1=2TP2TP+FP+FN F 1 = 2 T P 2 T P + F P + F N
1.9 标注问题
输入是一个观测序列,输出是一个标记序列或状态序列,标注问题的目标在于学习一个模型,使它能够对观测序列给出标记序列作为预测。
给定训练数据集 T={(x1,y1),(x2,y2),⋯,(xN,yN)} T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x N , y N ) }
xi=(x(1)i,x(2)i,⋯,x(n)i)T,i=1,2,⋯,N x i = ( x i ( 1 ) , x i ( 2 ) , ⋯ , x i ( n ) ) T , i = 1 , 2 , ⋯ , N 是输入观测序列
yi=(y(1)i,y(2)i,⋯,y(n)i)T,i=1,2,⋯,N y i = ( y i ( 1 ) , y i ( 2 ) , ⋯ , y i ( n ) ) T , i = 1 , 2 , ⋯ , N 是相应的输出标记序列
学习系统基于训练数据构建一个模型, P(Y(1),Y(2),⋯,Y(n)|X(1),X(2),⋯,X(n)) P ( Y ( 1 ) , Y ( 2 ) , ⋯ , Y ( n ) | X ( 1 ) , X ( 2 ) , ⋯ , X ( n ) )
具体的,对一个观测序列 xN+1=(x(1)N+1,x(2)N+1,⋯,x(n)N+1)T x N + 1 = ( x N + 1 ( 1 ) , x N + 1 ( 2 ) , ⋯ , x N + 1 ( n ) ) T
找到令条件概率 P((y(1)N+1,Y(2)N+1,⋯,Y(n)N+1)|X(1)N+1,X(2)N+1,⋯,X(n)N+1) P ( ( y N + 1 ( 1 ) , Y N + 1 ( 2 ) , ⋯ , Y N + 1 ( n ) ) | X N + 1 ( 1 ) , X N + 1 ( 2 ) , ⋯ , X N + 1 ( n ) ) 最大的标记序列 xN+1=(y(1)N+1,y(2)N+1,⋯,y(n)N+1)T x N + 1 = ( y N + 1 ( 1 ) , y N + 1 ( 2 ) , ⋯ , y N + 1 ( n ) ) T
1.10 回归问题
预测输入变量(自变量)与输出变量(因变量)之间的关系,等价于函数拟合