机器学习#假设空间与版本空间

来源:互联网 发布:360检测网络异常 编辑:程序博客网 时间:2024/06/12 00:49

读周志华的机器学习,卡在假设空间和版本空间这一块了,写一下自己的理解:

假设空间:所有属性的可能性(可能取值)组合形成的假设(假设*,*,*为好瓜),组成假设空间,以西瓜问题假设为例。色泽属性可取(青绿,乌黑,浅白,*),根蒂属性可取(蜷缩,稍蜷,硬挺,*),敲声属性可取(浊响,清脆,沉闷,*),以及好瓜假设不存在。即西瓜问题的假设空间大小为(4*4*4+1=65)

有了假设空间之后,要根据已获取的信息(数据集)来对假设空间进行剪枝。即要找到一个与训练集匹配的假设空间子集。

版本空间:书中定义为:与训练集匹配的假设空间子集称为版本空间。


前文提到的匹配有必要着重解释下:我们的假设空间写出来为,色泽青绿,根蒂蜷缩,敲声浊响的瓜是好瓜把上文列举的64种可能性组合(不包含空集)去替换红色字迹部分蓝色字迹部分不变,总共写成64+1行,这是假设空间的真面目!!!然而,这些都是假设,接下来要做的是根据训练集去筛选这些假设。筛选规则书中有说:删除与正例不一致的假设和与反例一致的假设(即删除那些错误的假设)。这个过程就是假设空间与训练集匹配。最终得到的假设组成版本空间。


下面继续说:删除与正例不一致的假设和与反例一致的假设这一过程。(当初以为把数据集中所有的正实例写出来,把反实例剔除就行了,too young too naive!!)

                                                       

以西瓜问题的数据集,表1.1为例。色泽青绿,根蒂蜷缩,敲声浊响的瓜是好瓜,这句话没问题。但是,若它作为一种假设,则需要被剔除,因为若它成立,则色泽非青绿,根蒂非蜷缩,敲声非浊响的瓜都为坏瓜,这就与编号2的实例矛盾了。(没考虑到假设的排他性,我理解为话不能说的太满大笑当然也有例外的情况)。再比如说,色泽=*,根蒂=*,敲声=浊响的瓜是好瓜,如果我们做出这种假设,对于表中的4种训练样本,在这种假设下都能做出正确的判断。对于色泽是乌黑,根蒂蜷缩,敲声浊响的瓜,根据这种假设,我们也能做出是好瓜的判断。同理色泽=*,根蒂=青绿,敲声=*的瓜是好瓜这条假设也匹配,这样,就能得出与表1.1训练集相匹配的版本空间。

版本空间的求取看到这就可以结束了,真正在做的时候可能需要把所有的假设全部列出来,再进行匹配(虽然可能会很复杂,但求版本空间的题目意义在于让大家理解下文的概念,所以就算有类似的题,要与之匹配的数据集也不会太大,可以把所有假设列出来再进行匹配)

我觉得版本空间的概念是为了让大家理解接下来的意思:上面求出来了西瓜问题的版本空间,但可以看到版本空间不是很确定,包含有*的假设可能会得到正确的判断,也可能得到错误的判断(这句话是针对实际问题,如果针对表1.1的训练集,那当然不会有错误的判断)。因此,要想判断的正确,就要全面、大量的训练,以排除更多假设空间中的错误假设。错误假设越少,剩下的假设越少,就越有可能是正确假设,我们判断的结果的正确概率越大。因为最终的假设会随着版本(数据集)变化而变化,所以叫做版本空间。

也就是说,训练样本的这些假设只是版本空间的一个子集。这就是所谓的“泛化”。泛化的意思也就是,根据某些偏好,我们选择了版本空间里的一种假设作为判断好

瓜坏瓜的决策准则,我能对训练集中的样本做出正确的判断,对于训练集中没有训练到的样本,我们也可以做出判断,但是判断结果可能是错误的。

文章参考:http://blog.csdn.net/qq_20936739/article/details/77982056


阅读全文
0 0
原创粉丝点击