往期回顾:从零开始的炼丹生活00——机器学习数学基础以及数值计算数值优化方法
这里主要介绍一下机器学习基本概念、统计学基本概念(参考《统计学习方法》,《深度学习》等)
一、什么是机器学习
机器学习又可以称为统计学习。机器学习算法是一种能够从数据中学习的算法,那么什么是学习呢?有如下定义:
”如果一个系统能够通过执行某个过程改进它的性能,这就是学习。"
"对于某类任务 T T T和性能度量 P P P,一个计算机可从经验 E E E中学习是指,通过经验 E E E改进后,它在任务 T T T上由性能度量 P P P衡量的性能有所提升。"
1. 任务 T T T
通常机器学习任务定义为机器学习系统如何处理样本,我们通常会将其表示为一个向量。常见的机器学习任务如下:
- 分类
- 输入缺失分类(即输入向量中包含缺失项)
- 回归
- 转录(将一种形式的数据转化成另一种形式。如:图片→文字描述)
- 机器翻译
- 结构化输出(输出是一个向量或数据结构,且构成输出的不同元素之间相互关联)
- 异常检测
- 合成和采样
- 缺失值填补
- 去噪
- 密度估计或概率质量估计
- ……
2.性能度量 P P P
P P P是特定于 T T T的,例如对于分类问题,我们可以采用准确率来度量。但通常选择一个与系统理想表现对应的性能度量通常是很困难的。
- 某些情况下我们不知道应该度量什么,如转录任务中,我们应该度量整个序列还是度量部分的正确性?因此度量的设计由我们实际应用需要决定。
- 另一些情况是我们想度量的数值不容易度量,如很多隐式表示的概率分布。我们需要设计一个仍然对应于设计对象的替代标准,或者设计一个良好的近似。
3.经验 E E E
根据学习过程中的不同经验,机器学习算法可以大致分类为无监督(unsupervised) 算法和监督(supervised) 算法,此外还有强化学习,半监督学习等(但实际上监督和无监督两者的界限是十分模糊的)。大部分学习算法可以被认为是在整个数据集上获取经验。数据集是样本的集合,而样本是特征的集合。统计学习关于数据的基本假设就是同类数据具有一定的统计规律性,这是统计学习的前提。。
总之, 机器学习方法可以概括为:从给定的、有限的、用于学习的训练数据集合出发,假设数据是独立同分布;并且假设要学习的模型属于某个函数的集合,称为假设空间;应用某个评价准则,从假设空间中选取一个最优模型,使它对已知的训练集和测试集有最优的度量值;而最优模型的选取过程由算法实现。
因此统计学习方法的三要素就是模型、策略、算法。
二、容量、过拟合和欠拟合
1.泛化
学习方法的泛化能力指由该方法学习到的模型对未知数据的预测能力,这是机器学习的主要挑战。我们在训练误差不断缩小的同时,也希望泛化误差尽量小。泛化误差指新输入的误差期望,即:
R e x p ( f ^ ) = E P [ L ( Y , f ^ ( X ) ) ] R_{exp}(\hat f)=E_P[L(Y,\hat f(X))] Rexp(f^)=EP[L(Y,f^(X))]
实际上泛化误差就是所学习到的模型的期望风险。
那么我们为什么能通过训练来减少泛化误差呢?
一般来说我们限制训练集和测试集的数据收集方式,即假设它们是独立同分布
(i.i.d.) 的。独立同分布的假设使得我们可以分析训练误差和泛化误差的关系,通过两种途径,使得我们机器学习算法的效果更好。
- 降低训练误差。
- 缩小训练误差和测试误差的差距。
这两个因素对应着两个挑战:欠拟合(underfitting) 和 过拟合(overfitting)
2.容量
模型的容量指的是其拟合各种函数的能力。通过调整模型的容量,我们可以控制模型偏向于欠拟合或是过拟合。容量低的模型会欠拟合,而容量高的模型会过拟合。
-
一种控制训练算法容量的方法是选择假设空间,即学习算法可以选择为解决方案的函数集。如:线性回归将所有线性函数作为假设空间,而广义线性回归的假设空间还包括多项式函数。
-
对于容量选取的原则我们通常遵循 奥卡姆剃刀(Occam’s razor) 原则:在同样能够解释已知观测现象的假设中,我们应该挑选”最简单“的那一个。
-
统计学习理论提供了量化模型容量的不同方法,其中最有名的就是Vapnik-Chervonenkis维度简称VC维,它度量二元分类器的容量。
关于VC维的理解
机器学习和数据挖掘(7):VC维 -
统计学习理论最重要的结论就是阐述了训练误差和泛化误差之间差异的上界随着模型容量的增长而增长,而随着训练样本增多而下降。这为机器学习的有效性提供了理论验证,但实际上很少应用于深度学习中。一方面边界太松,另一方面深度学习算法的容量很难确定。
-
更简单的函数更可能泛化,但我们仍需选择一个充分复杂的假设以达到低的训练误差。
-
还有一种容量是任意高的极端情况,即非参数模型,一个实例就是最近邻回归,它预测 y ^ = y i , i = arg min ∥ X i − x ∥ 2 2 \hat y=y_i, i=\argmin \|\boldsymbol{X}_i-\boldsymbol{x}\|^2_2 y^=yi,i=argmin∥Xi−x∥22 (也可以是其它距离)。对于非参数模型,更多的数据意味着更好的泛化能力,直到达到最佳可能的泛化误差。
-
贝叶斯误差:从预先知道的真实分布中进行预测出现的误差。它代表了分布的固有噪声。任何模型容量小于最优容量的固定参数模型会渐进到大于贝叶斯误差的误差值,通常我们可以认为人的误差近似于贝叶斯误差。
没有免费午餐定理(NFL)
没有一个机器学习算法总是比其他的要好。换言之,在所有可能的任务上,最先进的算法和简单地将所有点归为同一类的简单算法有着同样的平均性能。
(也就是说,我们要做到具体问题具体分析,从实际出发,实事求是) (马原没白学)
两种选择模型的方法:
3. 正则化
为了满足奥卡姆剃刀原则同时又尽可能减少误差,我们可以使用正则化的方法。正则化是结构风险最小化策略(SRM)的实现,是在经验风险上加一个正则化项或惩罚项,以使学习算法降低泛化误差。
R s r m ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) )