概念
研究如何通过计算的手段,利用经验来改善系统自身的性能。研究的主要内容:在计算机上从数据中产生“模型”的算法,即“学习算法“
基本术语
- 数据集:描述一个事件或者对象的数据的集合
- 示例(样本):数据集中的单条记录
- 属性:反映事件或者对象在某方面的表现或性质的事项
- 属性值:属性上的取值
- 属性空间(样本空间,输入空间):属性张成的空间
- 学习(训练):从数据中学得模型的过程
- 训练数据:训练过程使用的数据
- 训练样本:训练数据中的单个数据
- 标记空间(输出空间):用(xi,yi)表示第i个样例,其中yi ∈ ∈ y 是示例xi的标记, y 是所有标记的集合
- 分类:预测的是离散值
- 回归:预测的是连续值
- 测试样本:学习模型之后需要测试,被测试的样本成为测试集
- 聚类:将数据集划分为若干组
- 监督学习:(分类和回归)
- 无监督学习:(聚类)
- 泛化能力:学得的模型适用于新样本的能力
- 独立同分布:通常假设样本孔家中全体样本服从一个未知分布,我们获得的每个样本都是独立的服从这个分布上采样获得的
假设空间
归纳(induction
)与演绎(deduction
)是科学的推理的两大基本手段。前者是从特殊到一般的泛化(generalization
),即从具体的事实归结出一般性规律,演绎是从一般到特殊的“特化(specialization
)”,即从原理推演出具体的状况。
The hypothesis space,which defines the class of functions mapping the input space to the output space. That is, the functions operate on the feature vectors of the input objects, and make predictions according to the format of the output space.
假设空间:监督学习的目的在于学习一个由输入到输出的映射,这一映射由模型来表示。换句话说,学习的目的就在于找到最好的这样的模型。模型属于由输入空间到输出空间的映射集合,这个集合就是假设空间(hypothesis space)。假设空间的确定意味着学习范围的确定。
我们可以把学习过程看做是一个在所有假设(hypothesis
)组成的空间中进行搜索的过程,搜索的目标是找到与训练集“匹配(fit
)”的假设,即能够将训练集中的瓜判断正确的假设。假设的表示一旦确定,假设空间及其规模大小就确定了。
例如西瓜有三种属性:色泽,根蒂,敲响。这三种属性分别有3,2,2种1取值,那么西瓜的假设空间大小为4 × × 3 × × 3+1=37。这里为什么是37 而不是4 × × 3 × × 3=36,看了下其他人的解释:
对于一个瓜是不是好瓜,要有一个判定条件,这个判定条件就是一个假设。比如说,我们的假设是:色泽青绿 、根蒂蜷缩 、敲声浊响的瓜 是好瓜。或者我们也可以假设 :只要色泽青绿 、根蒂蜷缩的瓜,无论敲声随便是什么声音(书中用通配符*表示),都是好瓜。极端情况下,我们也可以假设世界上是没有好瓜的,不管是什么颜色什么根蒂什么敲声,都是坏瓜(书中用空集表示)。
关键在“没有好瓜“这种极端的假设。假设空间实际上就是对所有的可能进行排列组合。
归纳偏好
在实际的问题中,我们通常会面临很大的假设空间,但是学习过程是基于有限样本训练集进行的,因此,可能有多个假设与训练集一致,即存在一个与训练集一致的“假设合集”(版本空间)。例如假设空间中有两个假设:
好瓜 ←→ ←→ (色泽=*;根蒂=蜷缩;敲声=*)
好瓜 ←→ ←→ (色泽=*;根蒂=*;敲声=浊响)
而训练集中一个数据:(色泽=*;根蒂=蜷缩;敲声=浊响)。这个时候就无法根据假设空间做出合理的判定,所以机器学习算法,在学习的过程中对某种类型假设的偏好,称为“归纳偏好“。任何一个有效的机器学习算法必有其归纳偏好,否则它将被假设空间中看似在训练集上“等效”的假设所迷惑。
“奥卡姆剃刀(Occam's razor
)”是一种常用的,自然科学研究中最基本的原则,“即若有多个假设与观察一致,则选最简单的那个”。
没有免费午餐(NFL)
奥卡姆剃刀并非唯一可行的原则,事实上,归纳偏好对应了学习算法本身所作出的关于“什么样的模型更好”的假设。在具体的现实问题中,这个假设是否成立,即算法的归纳偏好是否与问题本身匹配,大多数时候直接决定了算法能否取得好的性能。
对于任何两个学习算法 ζ ζ a和 ζ ζ b,他们的期望性能是一致的:
NFL公式推导
单个点样本点 x x ,若真实值等于预测值 h(x) h ( x ) ,那么 I(x) I ( x ) =1,不相等则 I(x) I ( x ) =0,表述为函数:
那么假设函数
h(x)
h
(
x
)
“训练集误差”可表示为:
其中 m m 表示除训练集外样本总数 , ∑xI(f(x)≠h(x)) ∑ x I ( f ( x ) ≠ h ( x ) ) 表示预测出错的总个数。
对照书中的公式, P(x)=1/m P ( x ) = 1 / m ,如何理解这里的 P(x) P ( x ) ,列出其他人的观点:
1.设P(x)为“在某个数据集中抽取一个能让h误判的样本的概率”
2.由于x是一个随机变量,那么这个误差值也是一个随机变量,取值为0或1,其在训练集之外的所有样本上的期望可以看作假设函数h在训练集之外的所有样本上预测的错误率
可能需要看原始文献
看了《大学数学 概率论与数理统计》这里的P表示误差的分布规律,
P(x)
P
(
x
)
表示单个样品出错的概率,同时也是不出错的概率。
需要注意的是,现实问题中我们常面临很大的假设空间,但学习是基于有限个样本训练集进行的,因此,可能有多个假设与训练集一致,即存在一个与训练集一致的“假设集合”
所以产生的假设函数h h(x) h ( x ) 是有概率的,所以另 P(h|X,ζa) P ( h | X , ζ a ) 表示算法 ζa ζ a 基于训练数据 X X 产生假设的概率。那么算法 ,ζa , ζ a 对所有可能的 h h 产生的误差为:
对所有的
f
f
按均匀分布对误差求和:
首先,这里考虑的是二分类问题,而且假设真实目标函数 f f 可以是任何输入空间到输出空间{0, 1}的映射,那么整个函数空间的大小就应该是 2|χ| 2 | χ | 。
然后,这里假设在整个函数空间中所有可能的目标函数 f f 是均匀分布的(即所有真实的问题是均匀出现的)。在二分类问题中,对于一个样本点,假设函数 h(x) h ( x ) 的预测值要么是0要么是1,不妨假设为0,那么由于 f f 是均匀分布的,所有将映射为0的真实函数f的数量和所有将 x x 映射为1的真实函数的数量应该是一样的,那么,在函数空间中就有一半数量的可能的f于假设函数h的预测不一致,于是就有:
另外:
那么:
最终的结果与算法 ζa ζ a 无关。
NFL小结
NFL定理重要前提:所有的问题出现的机会相同,所有问题同等重要。但是实际情况并不是这样。很多时候我们只关心自己试图解决的问题,希望为他找到一个解决方案,至于这个解决方案在别的问题,甚至相似问题是是否为好方案,我们并不关心。
NFL定理假设 f f <script type="math/tex" id="MathJax-Element-89">f</script>均匀分布,但是实际情况并不如此
NFL定理最重要的寓意,是让我们清楚的认识到,脱离实际问题,空谈“什么学习算法更好”毫无意义,因为若考虑潜在的问题,则所有的学习算法一样好,要谈算法的相对优劣,必须针对具体的学习问题。