简要地介绍了一些机器学习的知识后,我们先来了解一些离散的学习模型。
Level 1 Concept Learning (被老师誉为最简单学习模型的概念学习模型orz)
首先,概念学习嘛,重点肯定在“概念”两字。但如果问一下自己,啥是“概念”嘞?emmm…新概念?概念股?只可意会,难以言传,如此晦涩难懂,那就不如百度一下;)
概念是人类在认识过程中,从感性认识上升到理性认识,把所感知的事物的共同本质特点抽象出来,加以概括,是自我认知意识的一种表达,形成概念式思维惯性。
ok,有了上述解释,我们就不难理解概念学习的含义了。所谓概念学习也就是模仿人类学习归纳过程中,对事物的认知从感性上升到理性(仿佛感受到了来自考研政治深深的恶意),概括事物本质并形成思维惯性的过程,从而达到判断是非的能力。注意:它是一种经验引导的算法,也就是启发式算法啦。
用机器学习的语言来说:概念学习的目的,就是让你从训练样本集D中来去归纳演绎出一般规律,来覆盖假设空间H。从一般(general)到特殊(special)是概念学习的精髓所在。
接着,还是拿判断性别(Task)的例子来看琢磨琢磨吧:如果给定了下列6个判断性别这一概念的一些子集(训练样本集D),你该如何去推断演绎整个假设空间H呢?
Example | Beard | Hair | Height | Figure | Tone | M/F |
---|---|---|---|---|---|---|
1 | yes | short | tall | normal | low | M |
2 | yes | short | tall | thin | low | M |
3 | no | long | short | fat | high | F |
4 | yes | long | mormal | fat | low | M |
5 | yes | short | short | normal | low | M |
6 | no | long | normal | normal | low | F |
分析假设空间前,我们先看上述性别判定问题中实例集X可能的取值:
属性 | 取值 |
---|---|
Beard | yes no ? ϕ \phi ϕ |
Hair | short long ? ϕ \phi ϕ |
Hight | tall short normal ? ϕ \phi ϕ |
FIgure | thin fat normal ? ϕ \phi ϕ |
Tone | high low ? ϕ \phi ϕ |
等一下,? 和 ϕ \phi ϕ是什么鬼?为啥所有属性都可以取到这俩鬼东西?想想我们在集合论中学习的知识, ϕ \phi ϕ表示什么?没错,空集!如果这一属性取 ϕ \phi ϕ,那么它一定是一个特殊分子,我们称实例集序列 < ϕ , ϕ , ϕ , ϕ , ϕ > < \phi ,\phi ,\phi ,\phi ,\phi > <ϕ,ϕ,ϕ,ϕ,ϕ>是最特殊的。那么 ? 代表的意思聪明的你一定可以猜到喽~没错就是excel里搜索可以代表任意字符的那个 ? ,< ?,?,?,?,? > 显然它代表的是最一般的序列。
拐回头来,我们来看离散的假设空间H 如何构造,作为离散的问题,我们优先想到,学习的过程就是用训练集的样例来去逼近一个布尔函数,也就是说,概念学习是从离散训练样例的输入输出中推断出满足条件的布尔函数的过程。其次,我们应该清楚,假设空间H应是各个属性的合取式(都要满足一定是“并”啦)。说到假设空间了,那么H的归纳偏置是什么呢?
我们要归纳布尔函数,使得它从一般到特殊,那么如何衡量一般和特殊间的关系呢?构造偏序关系!!也就是说整个假设空间H是有偏的!!这便是概念学习中我们要设置的归纳偏置。该偏序关系表示为 ≥ g { \ge _g} ≥g,也就是对应两假设 h j ( x ) {h_j}(x) hj(x)与 h k ( x ) {h_k}(x) hk(x)存在偏序关系: h j ( x ) ≥ g h k ( x ) {h_j}(x){ \ge _g}{h_k}(x) hj(x)≥ghk(x),那么我们就称 j j j比 k k k更一般。反应在Hasse图中也就是:
确定好了假设空间H,我们就可以拿训练样本集D去逼近H了。我们先来看一个词:一致(consistent)。如果你熟悉数学分析中“一致收敛”、“一致连续”的概念,那么这个词一定不陌生喽,当然,如果你没被数分折磨过,也不必在意这些细节,我们还从语文的角度来理解一下这个词。古人云,"推而通之,则万变而不穷;合而言之,则一致而已。"也就是说,一致反映的是一种接近的关系。好比CS毕业生找工作,有算法(凉了)、前端、后端等等,但总的预期大家都是一样的:多赚钱少干活离家近。。
正经地定义一下一致: 假设 h ∈ H h \in H h∈H与训练样本集D一致,当且仅当对于任意样例 < x , c ( x ) > ∈ D < x,c(x) > \in D <x,c(x)>∈D都有 h ( x ) = c ( x ) h(x) = c(x) h(x)=c(x)。
这么看来,如果我们对于任意的 h ∈ H h \in H h∈H都能保证与D 一致,那么,我们也就能说样本集D(一致)逼近到了H上。我们将上述一致形成的集合空间表示出来:
V S H , D ≡ { h ∈ H ∣ h 一 致 于 D } V{S_{H,D}} \equiv \left\{ {h \in H|h一致于D} \right\} VSH,D≡{h∈H∣h一致于D}
我们称这一空间为变形空间,它覆盖了 目标概念c(x) 中所有合理的变形,也就是说它包含了最佳假设。它们的包含关系如下(好像个煎蛋。。)
边界的约束就取决于H与D相一致的极大一般集合和极大特殊集合(可以理解成上下确界),也就是VS必须包含D中所有正例,而抑制D中所有反例。
万事具备!只要借合适的搜索算法之东风,便可以找到我们所需要的空间!
要注意哦,这里的两种算法都是建立在偏序集上的,因此是偏序搜索。
既然是布尔函数,那么结果无非就是Ture/False,Find-s的思路简单粗暴,你不是要找覆盖所有正例的集合嘛,那我就只通过正例来寻求极大特殊集合,反例我可以直接无视。
没明白,不要紧,我们接着拿上面判断性别的Task来演绎一遍Find-s
这里,我们设所有男性是正例。
Example | Beard | Hair | Height | Figure | Tone | M/F |
---|---|---|---|---|---|---|
1 | yes | short | tall | normal | low | M |
2 | yes | short | tall | thin | low | M |
3 | no | long | short | fat | high | F |
4 | yes | long | mormal | fat | low | M |
5 | yes | short | short | normal | low | M |
6 | no | long | normal | normal | low | F |
step1 H中有5类属性,最特殊的假设也就是 S0: < ϕ , ϕ , ϕ , ϕ , ϕ > < \phi ,\phi ,\phi ,\phi ,\phi > <ϕ,ϕ,ϕ,ϕ,ϕ>
step2 根据正例更新h.
也就是说每一步,如果遇到相同属性,则不需要改变属性名称,否则,将其变为 ?。
step3 将最General的S4输出。
很显然,无视反例的做法只能说明Find-s找到的假设仅是H中最特殊的一种,要保证得到的假设与所有的训练数据集一致,则必须考虑反例如何从空间中剔除(也就是寻找极大一般边界)。
反例的处理方法与正例大致相同,是从最一般的集合开始做集合的减法。但一定要注意!正例和反例间的约束关系!正例一定得到的是最特殊的,反例剔除后得到的一定是最一般的。 是一种合取关系。
照例:
加入反例,移去所有S2不一致的集合:
注意!加入例四后我们发现G3中,?,tall,?,?>与,short,?,?,?>竟然比S4更特殊!!,因此G4中应去除这两项。
最后S5和G5合取得到的空间即为变形空间VS
好家伙,合取最后只剩个