机器学习
基本概念
定义:机器学习是通过大量数据来构建“模型”,在面对新情况时,模型将会给出相应的判断(即学习算法)。
举例一个日常例子:人们买西瓜之前都想自己随手挑的西瓜是好瓜。除了靠运气之外,我们可以搜集大量西瓜的数据,比如色泽 ;根蒂 ;敲声等指标。大家总结经验,发现:色泽是青绿;根蒂是蜷缩;敲声是浊响,一般有这三种特征的西瓜都是好瓜。
这一个个西瓜就是“训练数据集”,这些经验就是学习产生模型。当下次看到一个没剖开的瓜时,通过经验判断它是哪种瓜 (用模型判断)。
基本术语
属性:反映事件或对象在某方面的表现或性质的事项。例如每条记录中的“色泽”、“根蒂”、“敲声”就是西瓜的属性。(与java中类的属性类似)
属性空间:属性张成的空间。例如我们把"色泽" "根蒂" "敲声"作为三个坐标轴,则它们张成一个用于描述西瓜的三维空间就是属性空间
特征向量:每个西瓜都可在这个三维空间中找到自己的坐标位置。 这个点对应的一个坐标就是一个特征向量。
如果希望学得一个能帮助我们判断没剖开的是不是"好瓜"的具体模型,,我们还需获得训练样本的"结果"信息,例如色泽是青绿;根蒂是蜷缩;敲声是浊响即好瓜 。
标记:关于“结果”的信息,比如上面的“好瓜”就是一个标记。
样例:拥有了标记的例子,则称为样例。一般地,用 表示第 i 个样例,其中 是特征向量, 是这个样本的标记。
机器学习的目标是希望通过对训练集 { } 进行学习,建立一个从输入空间 X 到输出空间 Y 的映射
假设空间与版本空间
假设空间:所有假设构成的集合。如(色泽=浅自;根蒂=硬挺;敲声=清脆)
版本空间:只保留了假设空间中与训练数据集中正例一致的一部分假设,由这些正确的假设构成的集合成为版本空间 。
表1.1的训练数据集对应的假设空间应该如下:
1 色泽=*,根蒂=*,敲声=*
2 色泽=青绿,根蒂=*,敲声=*
3 色泽=乌黑,根蒂=*,敲声=*
4 色泽=*,根蒂=蜷缩,敲声=*
5 色泽=*,根蒂=硬挺,敲声=*
6 色泽=*,根蒂=稍蜷,敲声=*
7 色泽=*,根蒂=*,敲声=浊响
8 色泽=*,根蒂=*,敲声=清脆
9 色泽=*,根蒂=*,敲声=沉闷
10 色泽=青绿,根蒂=蜷缩,敲声=*
11 色泽=青绿,根蒂=硬挺,敲声=*
12 色泽=青绿,根蒂=稍蜷,敲声=*
13 色泽=乌黑,根蒂=蜷缩,敲声=*
14 色泽=乌黑,根蒂=硬挺,敲声=*
15 色泽=乌黑,根蒂=稍蜷,敲声=*
16 色泽=青绿,根蒂=*,敲声=浊响
17 色泽=青绿,根蒂=*,敲声=清脆
18 色泽=青绿,根蒂=*,敲声=沉闷
19 色泽=乌黑,根蒂=*,敲声=浊响
20 色泽=乌黑,根蒂=*,敲声=清脆
21 色泽=乌黑,根蒂=*,敲声=沉闷
22 色泽=*,根蒂=蜷缩,敲声=浊响
23 色泽=*,根蒂=蜷缩,敲声=清脆
24 色泽=*,根蒂=蜷缩,敲声=沉闷
25 色泽=*,根蒂=硬挺,敲声=浊响
26 色泽=*,根蒂=硬挺,敲声=清脆
27 色泽=*,根蒂=硬挺,敲声=沉闷
28 色泽=*,根蒂=稍蜷,敲声=浊响
29 色泽=*,根蒂=稍蜷,敲声=清脆
30 色泽=*,根蒂=稍蜷,敲声=沉闷
31 色泽=青绿,根蒂=蜷缩,敲声=浊响
32 色泽=青绿,根蒂=蜷缩,敲声=清脆
33 色泽=青绿,根蒂=蜷缩,敲声=沉闷
34 色泽=青绿,根蒂=硬挺,敲声=浊响
35 色泽=青绿,根蒂=硬挺,敲声=清脆
36 色泽=青绿,根蒂=硬挺,敲声=沉闷
37 色泽=青绿,根蒂=稍蜷,敲声=浊响
38 色泽=青绿,根蒂=稍蜷,敲声=清脆
39 色泽=青绿,根蒂=稍蜷,敲声=沉闷
40 色泽=乌黑,根蒂=蜷缩,敲声=浊响
41 色泽=乌黑,根蒂=蜷缩,敲声=清脆
42 色泽=乌黑,根蒂=蜷缩,敲声=沉闷
43 色泽=乌黑,根蒂=硬挺,敲声=浊响
44 色泽=乌黑,根蒂=硬挺,敲声=清脆
45 色泽=乌黑,根蒂=硬挺,敲声=沉闷
46 色泽=乌黑,根蒂=稍蜷,敲声=浊响
47 色泽=乌黑,根蒂=稍蜷,敲声=清脆
48 色泽=乌黑,根蒂=稍蜷,敲声=沉闷
49 Ø
根据总结,按照上述过程进行学习:
(1,(色泽=青绿、根蒂=蜷缩、敲声=浊响),好瓜)
可以删除假设空间中的3、5、6、8、9、11-15、17-21、23-30、32-49
(2,(色泽=乌黑、根蒂=蜷缩、敲声=浊响),好瓜)
可以删除剩余假设空间中的2、10、16、31
(3,(色泽=青绿、根蒂=硬挺、敲声=清脆),坏瓜)
可以删除剩余假设空间中的1
(4,(色泽=乌黑、根蒂=稍蜷、敲声=沉闷),坏瓜)
剩余假设空间中无可删除的假设
学习过后剩余的假设为:
4 色泽=*,根蒂=蜷缩,敲声=*
7 色泽=*,根蒂=*,敲声=浊响
22 色泽=*,根蒂=蜷缩,敲声=浊响
这就是最后的“假设集合”,也就是“版本空间”。
要想判断的正确,就要全面、大量的训练,以排除更多假设空间中的错误假设。错误假设越少,剩下的假设越少,就越有可能是正确假设,我们判断的结果的正确概率越大。
归纳偏好
从假设空间到版本空间是一个归纳过程(即从特殊到一般的过程)。
现在有一个问题,例如(色泽=青绿,根蒂=蜷缩,敲声=沉闷)这瓜,如果采用(色泽=*) ⋀ (根蒂=蜷缩) ⋀ (敲声=*)这个假设进行判断,这瓜就是好瓜;但是采用(色泽=*) ⋀ (根蒂=*) ⋀ (敲声=浊响)这个假设判断,这瓜就是坏瓜。那么,应该采用哪一个模型(或假设)呢?
若仅有上表中的训练样本,则无法断定上述三个假设中哪一个"更好".
然而,对于一个具体的学习算法而言?它必须要产生一个模型。这时,学习算法本身的"偏好"就会起到关键的作用。
归纳偏好(简称"偏好"):机器学习算法在学习过程中对某种类型假设的偏好。
任何一个有效的机器学习算法必有其归纳偏好,否则它将被假设空间中看似在训练集上"等效"的假设所迷惑,无法产生确定的学习结果。
如果没有偏好,刚才那个例子就没有确定的答案了。这样的学习结果显得没有意义。