李航-统计学习⽅法-笔记-1:概论
正则化是最小化策略的实现写在前⾯
本系列笔记主要记录《统计学习⽅法》中7种常⽤的机器学习分类算法,包括感知机,KNN,朴素贝叶斯,决策树,逻辑斯谛回归与最⼤熵模型,SVM,boosting。
课本还涉及到3种算法是关于概率模型估计和标注问题的,暂未列⼊学习计划,所以笔记中没有涉及,包括EM算法,隐马尔可夫模型,条件随机场(CRF)。
所以本系列笔记总共包括9篇笔记:
1篇概论(对应书本第1章)
7篇算法(对应书本第2-8章)
1篇总结(对应书本第12章)
统计学习
学习:Herber A. Simon曾对“学习”给出以下定义:“如果⼀个系统能够通过执⾏某个过程改进它的性能,这
就是学习”。
统计学习:统计学习就是计算机系统通过运⽤数据及统计⽅法提⾼系统性能的机器学习。现在⼈们提及的机器学习,往往就是指统计机器学习。
统计学习的前提:统计学习关于数据的基本假设是同类数据具有⼀定的统计规律性。由于它们具有统计规律性,所以可以⽤概率统计⽅法来加以处理。⽐如,可⽤随机变量描述数据中的特征,⽤概率分布描述数据的统计规律。
统计学习包括:监督学习,⾮监督学习,半监督学习,强化学习,本书主要讨论监督学习。
监督学习
三种任务:输⼊输出均为连续变量的预测问题称为回归问题,输出变量为有限个离散变量的预测问题称为分类问题,输⼊输出均为变量序列的预测问题称为标注问题。
监督学习的假设:假设输⼊与输出的随机变量X和Y遵循联合概率分布P(X, Y)。在学习的过程中,假定这⼀联合概率分布存在,训练数据与测试数据被看作是依联合概率分布P(X, Y)独⽴同分布产⽣的。
独⽴同分布:随机过程中任何时刻的取值都为随机变量,如果这些随机变量服从同⼀分布,并且相互独⽴(X1的取值不影响X2的取值,X2的取值不影响X1的取值),那么这些随机变量是独⽴同分布的。
统计学习三要素之⼀:模型
模型和假设空间:统计学习⾸要考虑的问题是学习什么样的模型。监督学习中,模型就是所要学习的条件概率分布或决策函数,模型的假设空间包含所有可能的条件概率分布或决策函数。
决策函数族:假设空间可以定义为决策函数的集合,\mathcal{F} = \{f \ | \ Y = f_\theta(X), \theta \in R^n\}。
条件概率分布族:假设空间也可以定义为条件概率的集合,\mathcal{F} = \{P \ | \ P_\theta(Y \ | \ X), \theta \in R^n\}。
概率模型和⾮概率模型:⽤决策函数表⽰的模型为⾮概率模型,⽤条件概率表⽰的模型为概率模型。有时模型兼有两种解释,既可以看作概率模型,也可以看作⾮概率模型。为了简便起见,当论及模型时,有时只⽤其中⼀种模型。
统计学习三要素之⼆:策略(损失函数)
常⽤损失函数:
(1)0-1损失:$$L(Y,f(X)) = \left{\begin{matrix} 1, & Y \neq f(X)\ 0, & Y = f(X) \end{matrix}\right. $$
(2)平⽅损失:L(Y,f(X)) = (Y-f(X))^2
(3)绝对损失:L(Y,f(X)) = |Y-f(X)|
(4)对数损失:L(Y, P(Y|X)) = - \log P(Y|X)
期望风险:公式如下,这是理论上模型f(X)关于联合分布P(X,Y)的平均意义下的损失,称为期望风险(expected risk)。学习的⽬标是选择期望风险最⼩的模型,但是实际上联合分布P(X,Y)是未知的。如果知道联合分布P(X,Y),可以从联合分布直接求出条件概率分布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)dxdy
经验风险最⼩化:公式如下,这是模型关于训练数据的平均损失,称为经验风险(empirical risk)。根据⼤数定律,样本N趋于⽆穷
时,R_{emp}(f)趋近于R_{exp}(f),所以通常⽤经验风险来估计期望风险,经验风险最⼩化认为经验风险最⼩的模型是最优的模型。
R_{emp}(f)=\frac{1}{N}\sum_{i=1}^{N}L(y_i, f(x_i)), \\ f^* = \min_{f \in \mathcal{F}} R_{emp}(f)
结构风险最⼩化:,但是现实中训练样本有限,甚⾄很⼩,需要对R_{emp}进⾏矫正。结构风险最⼩化(structure risk minimization)是为了防⽌过拟合提出来的策略,在经验风险的基础上加上表⽰模型复杂度的正则化项或者惩罚项,如下式所⽰,J(f)为模型的复杂度,复杂度表⽰了对复杂模型的惩罚,\lambda \geqslant 0是系数,⽤来权衡经验风险和模型复杂度。
R_{srm}(f)=\frac{1}{N}\sum_{i=1}^{N}L(y_i, f(x_i))+ \lambda J(f)
结构风险最⼩化需要经验风险与模型复杂度同时⼩。结构风险⼩的模型往往对训练数据以及未知的测试数据都有较好的预测。
统计学习三要素之三:算法(最优化算法)
算法到最优化:统计学习基于训练集(data),根据学习策略(loss),从假设空间(model)中选择最优模型,最后需要考虑⽤什么算法(algorithm)求解最优模型。这时,统计学习问题归结为最优化问题,统计学习的算法称为最优化问题的算法。
最优化:如果最优化问题有显式的解析解就⽐较简单,但通常解析解不存在,这就需要⽤数值计算的⽅法来求解。如何保证到全局最优解,并使求解的过程⾼效,就成为⼀个重要问题。统计学习可以⽤已有的最优化算法(常⽤的有梯度下降法,⽜顿法和拟⽜顿法),有时也需要开发独⾃的优化算法。
模型评估与模型选择
评估标准:当损失函数给定时,基于损失函数的模型的训练误差和测试误差就⾃然称为学习⽅法的评估标准。注意,统计学习⽅法具体采⽤的损失函数未必是评估时使⽤的损失函数,当然,让⼆者⼀致是⽐较理想的(现实中由于0-1损失不是连续可导的,评估时⽤0-1损失,训练时使⽤另外的损失,⽐如分类任务中⼤多⽤对数损失)。
训练误差:模型关于训练集的平均损失(经验损失)。训练误差的⼤⼩,对判断给定问题是不是⼀个容易学习的问题是有意义的,但本质上不重要。
测试误差:模型关于测试集的平均损失(当损失函数是0-1损失时,测试误差就变成了测试集上的误差率error rate,误差率加准确率为1)。测试误差反映了学习⽅法对未知的测试数据集的预测能⼒,通常将学习⽅法对未知数据的预测能⼒称为泛化能⼒。
模型选择:当假设空间含有不同复杂度(例如,不同的参数个数)的模型时,就要⾯临模型选择的问题,我们希望学习⼀个合适的模型。如果假设空间中存在“真”模型,那么所选择的模型应该逼近“真”模型。
过拟合:如果⼀味追求提⾼对训练数据的预测能⼒,所选模型的复杂度往往会⽐“真”模型更⾼,这种现
象称为过拟合。过拟合是指学习时选择的模型所包含的参数过多,以⾄于出现这⼀模型对已知数据预测得很好,但对未知数据预测很差的现象。
模型选择和过拟合:可以说模型选择旨在避免过拟合并提⾼模型的预测能⼒,常⽤的模型选择⽅法有正则化和交叉验证。
正则化:
正则化是结构风险最⼩化策略的实现,是在经验风险上加上⼀个正则化项或惩罚项。正则化项⼀般是模型复杂度的单调递增函数,模型越复杂,正则化值越⼤。正则化项可以是模型参数向量的范数,⽐如L1范数或L2范数。如下式⼦回归问题中的平⽅损失加L2范数。
L(w)=\frac{1}{N}\sum_{i=1}^{N}(f(x_i;w))^2+ \frac {\lambda}{2}\left \| w \right \|_2^2
第1项的经验风险较⼩的模型可能⽐较复杂(多个⾮零参数),这时第2项的模型复杂度会⽐较⼤。正则化的作⽤是选择经验风险与模型复杂度同时⽐较⼩的模型。
正则化符合奥卡姆剃⼑原理:在所有可能选择的模型中,能够很好地解释已知数据并且⼗分简单才是最好的模型,也就是应该选择的模型。
训练/验证/测试:如果样本充⾜,模型选择的⼀个简单⽅法是把数据随机划分为训练集,验证集,测试集。训练集⽤来训练模型,验证集⽤于模型的模型,测试集⽤于最终对学习⽅法的评估。在学习到的不同复杂度的模型中,选择对验证集有最⼩预测误差的模型,由于验证集有⾜够多的数据,这样进⾏模型选择是有效的。
但是实际应⽤中数据是不充⾜的,为了选择好的模型,可以采⽤交叉验证的⽅法。其基本思想是重复使⽤数据,划分为训练集和测试集,在此基础上反复训练,测试以及模型选择。
简单交叉验证:随机划分两部分数据,⼀部分作为训练集,⼀部分作为测试集(⽐如三七分)。然后⽤训练集在各种条件下(⽐如不同的参数个数)训练模型,在测试集上评价各个模型,选择测试误差最⼩的模型。
S折交叉验证(应⽤最多):随机切分成S个互不相交,⼤⼩相同的⼦集;⽤S-1个⼦集的数据训练模型,余下的⼦集做测试;将可能的S种选择重复进⾏,会得到⼀个平均误差;选择平均测试误差最⼩的模型作为最优模型。
留⼀交叉验证:S折交叉验证的特殊情形是S=N(样本容量),称为留⼀验证,往往在数据缺乏的情况下使⽤。
泛化能⼒
泛化能⼒:学习⽅法的泛化能⼒指由该⽅法学习到的模型对未知数据的预测能⼒。
测试误差:现实中采⽤最多的办法是通过测试误差来评价学习⽅法的泛化能⼒,但这种评价是依赖于测试数据集的,因为测试数据集是有限的,很有可能由此得到的评价结果是不可靠的。
泛化误差:泛化误差就是学习到的模型的期望风险。
泛化误差上界:统计学习理论试图从理论上对学习⽅法的泛化能⼒进⾏分析。学习⽅法的泛化能⼒分析往往是通过研究泛化误差的概率上界进⾏的,简称泛化误差上界。具体来说,就是⽐较两种学习⽅法的泛化误差上界的⼤⼩来⽐较它们的优劣。
泛化误差上界的性质:随着样本容量的增加,泛化上界趋于0。假设空间越⼤,模型越难学,泛化上界越⼤。
⼆分类的泛化误差上界:对⼆分类问题,当假设空间是有限个函数的集合\mathcal{F}=\{f_1,f_2,...,f_d\}时,对任意⼀个函数f\in\mathcal{F},⾄少以概率1-\delta,以下不等式成⽴(以下只是假设空间包含有限个函数情况下的泛化误差上界,对⼀般的假设空间要到泛化误差界没有这么简单)。
R(f) \leqslant \hat{R}(f)+\varepsilon(d,N,\delta) \\ \varepsilon(d,N,\delta)= \sqrt{\frac{1}{2N}(\log d + log \frac{1}{\delta})}
不等式左端R(f)是泛化误差。右端为泛化误差上界。其中右端第1项为训练误差,训练误差越⼩,泛化误差上界也越⼩。右端第2项是N的单调递减函数,当N趋于⽆穷时趋于0;同时它也是\sqrt{\log d}阶的函数,假设空间\mathcal{F}包含的函数越多,其值越⼤。
⽣成模型和判别模型
⽣成⽅法和判别⽅法:监督学习⽅法⼜可分成⽣成⽅法和判别⽅法,所学到的模型分别为⽣成模型和判别模型。
⽣成模型:⽣成⽅法由数据学习联合概率分布P(X, Y),然后求出条件概率分布P(Y|X)作为预测的模型,即⽣成模型。
P(Y|X)=\frac{P(X, Y)}{P(X)}
之所以称为⽣成⽅法,是因为模型表⽰了给定输⼊X产⽣输出Y的⽣成关系。典型的⽣成模型有:朴素贝叶斯法和隐马尔可夫模型。
判别模型:判别⽅法由数据直接学习决策函数f(X)或条件概率分布P(Y|X)作为预测的模型,即判别模型。判别⽅法关⼼的是对给定的输⼊X,应该预测什么样的输出Y。典型的判别模型包括:KNN,感知机,决策树,逻辑回归,最⼤熵模型,SVM,boosting⽅法和条件随机场。
⽣成⽅法的优点
(1)可以还原出联合概率分布
(2)学习收敛更快,即随着样本容量N的增加,学到的模型可以更快地收敛于真实模型。
(3)当存在隐变量时,仍可以⽤⽣成⽅法学习,此时判别⽅法就不能⽤。
判别⽅法的优点:
(1)直接学习条件概率P(Y|X)或决策函数f(X),直⾯预测,往往准确率更⾼。
(2)直接学习P(Y|X)或f(X),可以对数据进⾏各种程度上的抽象,定义特征并使⽤特征,因此可以简化学习问题。
Loading [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。