统计学习方法概论阅读笔记
统计学习:对象是数据,从数据出发,提取数据的特征,抽象出数据的模型,发现数据中知识,又回到对数据的分析预测中去。
方法:监督学习,非监督学习,半监督学习,强化学习。
监督学习
概述
输入空间,特征空间与输出空间。
在监督学习中,将输入与输出所有可能取值的集合分别称为输入空间与输出空间。输入空间与输出空间可以是同一个空间,也可以是不同的空间,但通常输出空间远远小于输出空间。
每一个具体的输入是一个实例,通常由特征向量表示。这时,所有特征向量存在的空间称为特征空间。特征空间的每一维对应于一个特征。(输入空间有时=特征空间,也可以看做是实例从输入空间映射到特征空间)
回归问题【输出变量为连续变量的预测问题】
分类问题 【输出变量为离散变量的预测问题】
标注问题【输入输出变量均为变量序列的预测问题】
联合概率分布
[我的理解就是,x,y同时发生的概率,即输入为x输出为y同时出现的概率]
监督学习假设输入与输出的随机变量X和Y遵循联合概率分布P(X,Y)。但对学习系统来说,联合概率分布的具体定义是未知的,训练数据与测试数据被看做是依联合概率分布P(X,Y)独立同分布产生的。
统计学习假设数据存在一定的统计规律,X和Y具有联合概率分布的假设就是监督学习关于数据的基本假设。
维基百科【联合概率分布】
- 对离散随机变量而言,联合分布概率质量函数为Pr(X = x & Y = y),即
$P(X=x\ and \ Y=y)=P(Y=y|X=x)P(X=x)\\=P(X=x|Y=y)P(Y=y)$
因为是概率分布函数,所以必须有
$\sum_{x}\sum_{y}P(X=x\ and\ Y=y)=1$
- 类似地,对连续随机变量而言,联合分布概率密度函数为$f_{X,Y}(x, y)$,其中$f_{Y|X}$(y|x)和$f_{X|Y}$(x|y)分别代表X = x时Y的条件分布以及Y = y时X的条件分布;$f_X(x)$和$f_Y(y)$分别代表X和Y的边缘分布。
同样地,因为是概率分布函数,所以必须有
$\int_{x}\int_y\ f_{X,Y}(x,y)dy\ dx=1$
- 对于两相互独立的事件P(X)及P(Y),任意x和y而言有离散随机变量$P(X=x\ and Y=y)=P(X=x) \cdot P(Y=y)$,或者有连续随机变量$P_{X,Y}(x,y)=p_X(x)\cdot \ p_Y(y)$。
假设空间
监督学习的目的在于学习一个由输入到输出的映射,这一映射由模型来表示。换句话说,学习的目的在于找到最好的这样的模型。模型属于由输入空间到输出空间的集合,这个集合就是假设空间。
监督学习的模型可以是概率模型或非概率模型,由条件概率分布P(Y|X)或决策函数Y=f(X)表示,随具体学习方法而定。对具体的输入进行相应的输出预测时,写作P(y|x)或y=f(x)
则得到的预测结果$y_{N+1}=\underset{y_{N+1}}{\operatorname{argmax}} \hat{P}(y_{N+1}|x_{N+1})$或$y_{N+1}=\hat{f}(x_{N+1})$
损失函数与风险函数
统计学习的目标在于从假设空间中选取最优模型。
首先引入损失函数与风险函数的概念。损失函数度量模型一次预测的好坏,风险函数度量平均意义下模型预测的好坏。
损失函数有四种。损失函数L(Y,f(X)),一共有四种P23
又由于X,Y是随机变量,遵循联合分布P(X,Y),所以损失函数期望可以得到。为理论上模型f(X)关于联合分布P(X,Y)的平均意义下的损失,称为风险函数或期望损失。$R_{exp}(f)=E_p[L(Y,f(x))]=\int_{x \times y}L(y,f(x))P(x,y)dxdy$
模型f(x)关于训练数据集的平均损失称为为经验风险或经验损失:
$R_{emp}(f)=\frac{1}{N}\sum_{i=1}^{N}L(y_i,f(x_i))$
期望风险是模型关于联合分布的期望损失,经验风险是模型关于训练样本集的平均损失,当样本容量N趋近无穷时,经验风险趋近于期望风险。
so一般使用经验风险估计期望风险。要矫正:经验风险最小化,结构风险最小化。
经验风险最小化,认为经验风险最小即为最优模型,转化为最优化问题,在样本容量足够大是,能保证有比较好的学习效果。eg:极大似然估计,即当模型为条件概率分布,损失函数是对数损失函数时,经验风险最小化就等价于极大似然估计。
样本容量很小时,经验风险最小化学习的效果未必很好,会产生“过拟合”现象。
结构风险最小化(SRM)是为了防止过拟合而提出来的策略,结构风险最小化等价于正则化。结构风险在经验风险上加上表示模型复杂度的正则化项或罚项。在假设空间、损失函数以及训练数据集确定的情况下,结构风险的定义是:
$R_{srm}(f)=\frac{1}{N}\sum^{N}_{i=1}L(y_{i},f(x_{i}))+\lambda J(f)$
其中J(f)为模型的复杂度。是定义在空间$\mathcal{F}$上的泛函。模型f越复杂,复杂度J(f)就越大;反正,模型f越简单,复杂度J(f)就越小。$\lambda \geq 0$是系数,用以权衡经验风险和模型复杂度。结构风险小的模型,需要经验风险与模型复杂度同时小。对未知的测试数据有较好的预测。
例如:贝叶斯估计中的最大后验概率估计。当模型是条件概率分布、损失函数是对数损失函数、模型复杂度由模型的先验概率表示时,结构风险最小化就等价于最大后验概率估计。
结构风险最小化认为结构风险最小的模型是最远模型-》最优化问题。
模型评估与模型选择
训练误差与测试误差
训练误差,针对训练数据集。测试误差,针对测试数据集。公式如下:
$\frac{1}{N}\sum^{N}_{i=1}L(y_i,\hat{f}(x_i))$
过拟合与模型选择
当假设空间含有不同复杂度(例如,不同的参数个数)的模型时,就要面临模型旋转的问题。
【在多项式函数拟合中,随着多项式次数(模型复杂度)的增加,训练误差会减小,直至趋向于0,但是测试误差却不如此,它会随着多项式次数(模型复杂度)的增加先减小而后增大(因为出现过拟合现象)。最终目的是使测试误差达到最小。】
正则化与交叉验证
模型选择的典型方法,正则化。【比如加个范数】
选择模型:1.简单 2.很好地解释已知数据。
交叉验证:切分数据,重复使用,进行验证
生成模型与判别模型
监督学习方法可以分为生成方法和判别方法。所学到的模型为生成模型和判别模型。
生成方法,数据学习联合概率分布P(X,Y),然后求出P(Y|X)
生成模型:
$P(Y|X)=\frac{P(X,Y)}{P(X)}$
模型表示了给定输入X产生输出Y的生成关系。典型的生成模型有:朴素贝叶斯法和隐马尔克夫模型。
判别方法,数据直接学习决策函数f(X)或者P(Y|X)作为预测的模型。关系的是对给定的输入X,应该预测怎样的输出Y典型的判别模型包括:感知机,决策树,支持向量机,条件随机场,最大熵模型等。