在机器学习中的中心问题是从特殊的训练样例中归纳出通用式函数【管中窥豹】;往往在预定义的假设空间搜索假设,使其与训练样例达到最佳的拟合度的搜索问题的过程,从中得出该类别的一般定义。
2.1 简介
概念学习:指的是从有关的某个布尔函数的输入、输出训练样例中推断出该布尔函数。
例如:从动物集合中提取出鸟类的子集。
每个概念都可看作是一个对象或事件集合,是从更大的集合中选取的子集(从动物集合选取鸟类)或在针对更大集合定义的布尔函数(定义布尔函数,属于鸟类为true,否则为false);而类似这种基于子集样例集合以及每个样例是否隶属某一概念的划分,自动推导出该概念的一般定义。
2.2概念学习
例子:Aldo是否乐于水上运动,任务目的基于某天属性预测出改天是否enjoy sport
日期 | 天气 | 气温 | 湿度 | 风 | 水 | 预报 | 是否合适 |
---|---|---|---|---|---|---|---|
05-01 | 晴天 | 暖和 | 正常 | 强 | 暖和 | 无变化 | 合适 |
05-02 | 晴天 | 暖和 | 潮湿 | 强 | 暖和 | 无变化 | 合适 |
05-03 | 雨天 | 寒冷 | 潮湿 | 强 | 暖和 | 变化 | 不合适 |
05-04 | 晴天 | 暖和 | 潮湿 | 强 | 寒冷 | 变化 | 合适 |
问题 采用什么的形式表示假设?
- 方法一 : 实例的各属性约束的合取式
另每个假设为6个约束的向量:天气、气温、湿度、风、水、预报的值,对应的每个属性可取值为:1. 由“?”表示任意本属性可接受的值
2. 明确指定的属性值(如晴天、暖和)
3. 由“∅”表示不可接受任何值
如果某些实例x满足假设h的所有约束,那么h将x分类为正例(h(x)=1).比如aldo只在寒冷和潮湿的日子进行水上运动(与其他属性无关),假设表示为:
<?,寒冷,潮湿,?,?,?>
最一般的假设是每一天都是正例,表示为:
<?,?,?,?,?,?>
而特殊的假设即每一天都是反例表示为:
<∅,∅,∅,∅,∅,∅>
结论
综上所述:enjoy sport对应的概念学习需要学习的是 enjoy sport = yes的日子,并将其表示为属性约束的合取式。一般来说任何概念学习任务能被描述为
实例的集合、实例集合上的目标函数、候选假设的集合及训练样例的集合。
上面的例子也就转化如下:
-
已知:
-
实例集X:可能的日子;构成属性描述:
- 天气:取值 晴天、寒冷、雨天
- 气温:取值 暖和、寒冷
- 湿度:取值 潮湿、正常
- 风:取值 强、弱
- 水:取值 暖和、寒冷
- 预报:取值 不变、变化
-
实例集H:每个假设描述为6个属性:天气、气温、湿度、风、水、预报;对应的约束取值:?(接收任意值)、∅(空值)、某一特定值
-
目标概念c: enjoy sport: X->{0,1}
-
训练样例集D: 目标函数的正例和反例(见上面表格)
-
求解:
-
H中的一假设h,使得对于X中任意x,H(x) = c(x):
-
目标概念
待学习的概念或函数,一般来说,目标概念是定义在实例集合上的任意布尔函数:在本例中,当EnjoySport = Yes,c(x) = 1; 当EnjoySport = No,c(x) = 0;
在学习目标概念的时候,提供的训练样例集合,其中每个样例为X中一个实例x以及它的目标概念值c(x).对于c(x) = 1的实例被称为正例或目标概念的成员;而c(x)=0的实例称为反例或非目标概念成员,<x,c(x)>表示训练样例,符号D表示训练样例集合。因此一旦给定目标概念c的训练样例集(D),接下来的问题即为假设或估计c。通常使用符号H来表示所有可能假设的集合,是为确定目标概念所考虑的范围,一般根据设计者选择的假设而定,对应的H中每个假设h表示X上定义的布尔函数:h;X->{0,1},最后通过寻找一个假设h,使得X所有的x,h(x)=c(x).
归纳学习假设
机器学习的任务是在整个实例集合X上确定与目标概念c相同的假设h,但是由于c仅有的信息只是它在训练样例上的值,那么归纳学习算法最多只能保证输出的假设能与训练样例相拟合,来假定完成未见实例与训练数据最佳拟合的最好假设。
任一假设若是能够在足够大的训练样例集中很好逼近目标函数,那么它也能在未见实例中很好的逼近目标函数,达到最佳拟合。
由于概念学习本身可以看做是一个搜索的过程,范围是假设的表示所有隐含定义的整个空间。为寻找能最好拟合训练样例的假设作为目标,一旦当假设的表示形式选定后,那么也就为算法确定了所有假设的空间(隐含的)。
网友评论