统计学习方法(笔记)-概论
 
统计学习
统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科,也称为统计机器学习。即数据-->模型-->预测
。
统计学习的对象是数据。从数据出发,提取数据的特征,抽象出数据的模型,发现数据中的知识,又回到对数据的分析和预测中。其目的是对数据的预测与分析。
统计学习分为:监督学习(supervised learning)、非监督学习(unsupervised learning)、半监督学习(semi-supervised learning)和强化学习(reinforcement learning)等。
统计学习方法三要素:模型(model)、策略(strategy)和算法(algorithm)。
监督学习
即使用已有类别的数据训练模型。训练数据-->模型-->测试数据
统计学习假设数据存在一定的统计规律,X 和 Y 具有联合概率分布的假设就是监督学习关于数据的基本假设。
监督学习的目的在于学习一个由输入到输出的映射。
# 统计学习的三要素 ## 模型模型就是所有学习的条件概率分布或决策函数。
假设空间可以定义为参数向量决定的函数族:
$$F=\lbrace f|Y=f_\theta(X),\theta \in R^n\rbrace$$
也可以表示未参数向量决定的条件概率分布族:
$$F=\lbrace P|P_\theta(Y|X), \theta \in R^n \rbrace$$
策略
即怎么从假设空间中选择最优模型。
损失函数度量模型一次预测的好坏,风险函数度量平均意义下模型预测的好坏。
常用的损失函数:
- 0-1损失函数:
$$L(Y,f(X))= \begin {cases}&1, Y \neq f(X) \&0, Y = f(X)\end {cases}$$
- 平方损失函数
$$L(Y,f(X))=(Y-f(X))^2$$
- 绝对损失函数
$$L(Y,f(X))=|Y-f(X)|$$
- 对数损失函数
$$L(Y,f(X))=-\log P(Y|X)$$
损失函数越小,模型就越好。损失函数的期望:
$$R_{exp}(f)=E_p[L(Y,f(X))]=\int_{\mathcal{X}\times \mathcal{Y}}L(y,f(x))P(x,y){\rm d}x{\rm d}y$$
但是$R_{exp}(f)$一般不能直接计算,所以一般取 f(X)关于训练集的平均损失成为经验风险或者经验损失:
$$R_{emp}(f)=\frac{1}{N}\sum_{i=1}^{N}L(y_i,f(x_i))$$
当 N 趋近于无穷时,经验风向趋于期望风险。所以经验风险最小的模型就是最优的模型。但是样本容量很小时,可能导致过拟合。这时需要使用结构风险,结构风险最小化等价于正则化,其实质是在经验风险上加上表示模型复杂度的正则化项或罚项,其定义:
$$R_{srm}(f)=\frac{1}{N}\sum_{i=1}^{N}L(y_i,f(x_i)) + \lambda J(f)$$
其中J(F)为模型复杂度。结构风险最小化策略认为结构风险最小的模型就是最优模型。
算法
算法是学习模型的具体计算方法。统计学习问题归结为最优化问题,统计学习的算法成为求解最优化问题的算法。
模型评估与模型选择
统计学习的目的是使学到的模型不仅对已知数据而且对位置数据都有很好的预测能力。当损失函数给定时,基于损失函数的模型的训练误差和测试误差就成为学习方法评估的标准。注意:统计学习方法具体采用的损失函数未必是评估时使用的损失函数。
。测试误差小的方法具有更好的预测性。将学习方法对未知数据的预测能力称为泛化能力。
过拟合通常是因为参数过多导致的。即模型越复杂,越容易发生过拟合。过拟合对训练样本的误差小,但是对测试样本的误差大。
# 正则化正则化有如下形式:
$$\min_{\mathcal{f\in F}} \frac {1}{N}\sum_{i=1}^N L(y_i,f(x_i)) + \lambda J(f)$$
其中第一项为经验风险,第二项为正则化项。正则化项可以取不同的形式,如 $L_1$ 范数或者 $L_2$ 范数。
泛化能力
泛化误差就是学习到的模型的期望风险。可以通过比较两种学习方法的泛化误差上界的大小来比较它们的优劣。
泛化误差上界具有如下性质:它是样本容量的函数,当样本容量增加时,泛化上界趋于0;它是假设空间容量的函数,假设空间容量越大,模型越难学,泛化误差上界越大。
生成模型与判别模型
生成方法由数据学习联合概率分布$P(X,Y)$,然后求出条件概率分布$P(Y|X)$作为预测的模型,即生成模型:
$$P(Y|X)=\frac{P(X,Y)}{P(X)}$$
典型的生成模型有:朴素贝叶斯法和隐马尔可夫模型。生成方法可以还原出联合概率分布$P(X,Y)$,而判别方法不能;生成方法的学习收敛速度更快;当存在隐变量时,仍可以用生成方法学习。
判别方法由数据直接学习策略函数$f(X)$或者条件概率分布$P(Y|X)$作为预测的模型,即判别模型。典型的判别方法由:k 近邻法、感知机、决策树、逻辑斯特回归模型、最大熵模型、支持向量机、提升方法和条件随机场。判别方法直接学习的是条件概率$P(Y|X)$或决策函数$f(x)$,直接面对预测,往往学习的准确率更高;由于直接学习$P(Y|X)$或$f(x)$,可以对数据进行各种程度上的抽象、定义特征并使用特征,所以可以简化学习问题。
分类问题
TP——将正类预测为正类数;
FN——将正类预测为负类数;
FP——将负类预测为正类数;
TN——将负类预测为负类数;
精确率、召回率:
$$\begin {cases} &P=\frac{TP}{TP + FP} \\ &R=\frac{TP}{TP+FN} \end {cases}$$
$F_1$值是精确率和召回率的调和均值:
$$\begin {cases} \frac{2}{F_1} = \frac{1}{P} + \frac{1}{R} \\ F_1=\frac{2TP}{2TP+FP+FN} \end {cases}$$
标注问题
标注问题可以认为是分类问题的一个推广,也是更复杂的结构预测问题的一个简单形式。其输入是一个观测序列,输出是一个标记序列或者状态序列。
回归问题
回归问题用于预测输入变量和输出变量之间的关系。分类的输出变量是离散的,回归的输出变量是连续的。