统计学习方法-李航-持续更新......
统计学习与监督学习理论
统计(机器)学习
对象为数据。关于数据的基本假设为同类数据具有一定的统计规律性。
目的是对于数据的预测与分析。
分类
监督学习:从标注的数据中学习预测模型,本质是学习输入到输出的映射的统计规律。
- 输入空间 特征空间 输出空间
输入与输出变量均为连续变量的预测问题->回归问题
输出为有限个离散变量的预测问题->分类问题
输入与输出均为变量序列的预测问题->标注问题- 联合概率分布
训练数据和测试数据可以看作是依联合概率分布P(X,Y)独立同步产生。- 假设空间
输入到输出的映射==模型
由条件概率分布或者决策函数表示
无监督学习:从无标注数据中学习预测模型,本质是学习数据中的统计规律或潜在结构。
强化学习:智能系统在于环境连续互动中学习最优行为策略。本质是学习最优的序贯决策。
状态价值函数与动作价值函数
半监督学习:利用少量标注数据、大量未标注数据学习预测。利用未标注数据的信息辅助标注数据,低成本。
主动学习:主动给实例让教师标注信息。
统计学习方法三要素
模型+策略+算法
- 模型:
- 策略:
损失函数:0-1损失函数;平方损失函数;绝对损失函数;对数损失函数
风险函数/期望损失:理论上模型F(X)关于联合分布P(X,Y)的平均意义下的损失。
经验风险/经验损失:模型F(X)关于训练数据集的平均损失。经验风险最小化 :样本容量很小时,结果不一定好,易过拟合
结构风险最小化:防止过拟合,等价于正则化。
- 算法:
统计学习归结为最优化问题
优化问题有显式解析解,问题简单
解析解不存在,数值计算。
模型评估与模型选择
训练误差:模型关于训练数据集的平均损失。
测试误差:模型关于测试数据集的平均损失。反映了模型对于未知的测试数据集的预测能力(泛化能力)。
过拟合:学习时选择的模型所包含的参数过多,以至出现这一模型对已知数据预测的很好,对未知数据预测的很差的现象。
正则化与交叉验证
正则化:是模型选择的典型方法。是结构风险最小化策略的实现。
正则化项是关于模型复杂度的单调递增函数,模型越复杂,正则化值越大。如:可以选取模型参数向量的范数。
正则化项的作用:选择经验风险与模型复杂度同时较小的模型。
交叉验证:
样本数据充足时,随机的将数据分为
训练集(训练模型)
验证集(用于模型的选择)
测试集(对学习方法进行评估)
数据不充足时,为了选择较好的模型,可以选择交叉验证。
基本思想:把给定的数据集进行切分,并组合为训练集与测试集,然后反复进行训练、测试以及模型选择。
简单交叉验证:
S折交叉验证:
留一交叉验证:为S折交叉验证的特殊情况,S=NN为数据集的容量)
泛化能力
泛化能力往往通过研究泛化误差的概率上界来进行分析。
通过比较泛化误差的概率上界比较算法的优劣。
样本容量增大时,泛化误差上界逐渐趋于0;
假设空间容量越大,泛化误差上界就越大。
生成模型与判别模型
监督学习中,生成方法学到的模型为生成模型;判别方法学到的模型为判别模型。
生成方法:由数据学习联合概率分布P(X,Y),然后求出条件概率分布作为预测的模型。
特点:学习收敛速度更快;存在隐变量时,仍可以用生成方法学习。
判别方法是由数据直接学习决策函数或条件概率分布作为预测的模型。
特点:直接面对预测,学习准确率更高,并且可以简化学习。
监督学习应用
分类问题
评价分类器性能的指标:分类准确率。
对于二分类问题的评价指标:
以关注的类为正类,其他类为负类。
精确率 P =(TP)/(TP+FP)
召回率:R=TP/(TP+FN)
F1值:精确率和召回率的调和均值。F1 = 2TP/(2TP+FN+FP)
Column 1 | Column 2 |
---|---|
TP | 将正类预测为正类数 |
FN | 将正类预测为负类数 |
FP | 将负类预测为正类数 |
TN | 将负类预测为负类数 |
标注问题
回归问题
输入到输出变量之间映射的函数,等价于函数拟合。
一元回归 多元回归
线性回归 非线性回归
感知机
为二分类的线性分类模型。属于判别模型。
旨在求出将训练数据进行线性划分的分离超平面。基于误分类的损失函数,采用梯度下降法。
感知机模型
从输入空间到输出空间的函数:
f ( x ) = s i g n ( ω ⋅ x + b ) f(x)=sign(\omega \cdot x+b ) f(x)=sign(ω⋅x+b)
其中 ω \omega ω为权值, b b b为偏置。
感知机学习策略
损失函数:选择为误分类点到超平面的总距离。
首先,任意一点 x 0 x_0 x0到超平面 S S S的距离为
∣ ω ⋅ x 0 + b ∣ ∥ ω ∥ \frac{\left | \omega \cdot x_0 +b\right |}{\left \| \omega \right \|} ∥ω∥∣ω⋅x0+b∣
对于误分类的数据:
− y i ( ω ⋅ x i + b ) > 0 -y_i(\omega \cdot x_i +b)>0 −yi(ω⋅xi+b)>0
所以某一误分类的点到超平面的距离可表示为
− y i ( ω ⋅ x i + b ) ) ∥ ω ∥ \frac{-y_i(\omega \cdot x_i+b))}{\left \| \omega \right \|} ∥ω∥−yi(ω⋅xi+b))
感知机的损失函数为:所有误分类点到超平面的距离和。
− ∑ x i ⊂ M y i ( ω ⋅ x i + b ) ) ∥ ω ∥ \frac{- \sum\limits_{x_i\subset M}^{}y_i(\omega \cdot x_i+b))}{\left \| \omega \right \|} ∥ω∥−xi⊂M∑yi(ω⋅xi+b))
感知机学习算法
原始形式
输入:训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T = \left \{ \left ( x_1,y_1 \right ),\left ( x_2,y_2 \right),...,\left ( x_N,y_N \right ) \right \} T={(x1,y1),(x2,y2),...,(xN,yN)},其中 x i ∈ χ = R N , y i ∈ { − 1 , 1 } , i = 1 , 2 , . . . , N , 学 习 率 η ( 0 < η ⩽ 1 ) x_i\in \chi = R^{N},y_i\in \left \{ -1,1 \right \},i=1,2,...,N,学习率\eta (0<\eta \leqslant 1) xi∈χ=RN,yi∈{−1,1},i=1,2,...,N,学习率η(0<η⩽1),
输出: ω , b \omega ,b ω,b
感知机模型: f ( x ) = s i g n ( ω ⋅ x + b ) f(x)=sign(\omega \cdot x+b ) f(x)=sign(ω⋅x+b)
(1) 选取初值 ω 0 , b 0 \omega _0,b_0 ω0,b0;
(2) 在训练集中选取数据 ( x i , y i ) \left ( x_i,y_i \right ) (xi,yi);
(3) 如果 y i ( ω ⋅ x i + b ) ⩽ 0 y_i(\omega \cdot x_i +b)\leqslant0 yi(ω⋅xi+b)⩽0,更新参数:
ω ← ω + η y i x i b ← b + η y i \begin{aligned} \omega &\leftarrow \omega +\eta y_i x_i\\ b&\leftarrow b + \eta y_i \end{aligned} ωb←ω+ηyixi←b+ηyi
(4)转至(2),直至训练集中没有误分类点。
对偶形式
输入:训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T = \left \{ \left ( x_1,y_1 \right ),\left ( x_2,y_2 \right),...,\left ( x_N,y_N \right ) \right \} T={(x1,y1),(x2,y2),...,(xN,yN)},其中 x i ∈ χ = R N , y i ∈ { − 1 , 1 } , i = 1 , 2 , . . . , N , 学 习 率 η ( 0 < η ⩽ 1 ) x_i\in \chi = R^{N},y_i\in \left \{ -1,1 \right \},i=1,2,...,N,学习率\eta (0<\eta \leqslant 1) xi∈χ=RN,yi∈{−1,1},i=1,2,...,N,学习率η(0<η⩽1),
输出: a , b a ,b a,b
感知机模型: f ( x ) = s i g n ( ∑ j = 1 N α j y j x j ⋅ x + b ) f(x)=sign(\sum\limits_{j=1}^{N}\alpha _jy_jx_j\cdot x +b) f(x)=sign(j=1∑Nαjyjxj⋅x+b)
(1) α ← 0 , b ← 0 \alpha\leftarrow0 ,b\leftarrow0 α←0,b←0;
(2) 在训练集中选取数据 ( x i , y i ) \left ( x_i,y_i \right ) (xi,yi);
(3) 如果 y i s i g n ( ∑ j = 1 N α j y j x j ⋅ x + b ) ⩽ 0 y_isign(\sum_{j=1}^{N}\alpha _jy_jx_j\cdot x +b)\leqslant 0 yisign(∑j=1Nαjyjxj⋅x+b)⩽0,更新参数:
α i ← α i + η b ← b + η y i \begin{aligned} \alpha _{i}&\leftarrow \alpha _i+\eta \\\ b&\leftarrow b + \eta y_i \end{aligned} αi b←αi+η←b+ηyi
(4)转至(2),直至训练集中没有误分类点。