机器学习(周志华)第一章课后答案

写在前面:

这学期开始学习机器学习,后面给出的问题的解答或是想法仅供参考,甚至还有错误的地方,届时希望大能们能够加以斧正,解答我的疑惑。

 

1.1首先课本给出的样例的版本空间是错的,害我一脸懵逼(再版的已经更正了)。正确应为:

机器学习(周志华)第一章课后答案_第1张图片

 

若只包含样例1和4,则“色泽”“根蒂”“敲声”分别都有2中取值,所以假设空间规模大小为3*3*3+1=28种。

版本空间为:A(2,2)-1 = 7

色泽

根蒂

敲声

青绿

*

*

青绿

*

浊响

青绿

蜷缩

*

*

蜷缩

*

*

蜷缩

浊响

*

*

浊响

青绿

蜷缩

浊响

 

1.2首先假设空间的规模为3*4*4+1 = 49

(包含空集,属性就只考虑表格样例出现的)

因为要考虑冗余,而任何的集合与空集做析取都是其本身。

考虑集合的属性为*的情况时的冗余,分别考虑C(3,3)C(3,2)C(3,1)C(3,0),分别对应属性中*的数量。

  1. 空集本身也算一个。
  2. (*,*,*)与其他集合做析取都是(*,*,*),1个。
  3. (*,*,#)找出不被包含或不包含其的其他式子。
  4. (*,#,#)找出不被包含或不包含其的其他式子。
  5. (#,#,#) 任意的两个式子都不会冗余,可以有

情况太多了,算不出来。。。

 

可以考虑用编程的方法实现:

  1. 创建合取式对象,(a,b,c),将取值量化为数字
  2. 集合用来放合取式对象,构建最终的析合范式,初始为空。
  3. 循环生成合取式对象,并打上唯一标记index
  4. 依次添加合取式对象,若欲添加的对象不是已添加的对象的子集,或者已添加的对象不是欲添加的对象的子集,则可以加入,此时集合的对象为一个可行的(不冗余)析合范式。
  5. 不断循环判断添加的方式穷举得到所有的可能解。
  6. 分析:理论可行,实际却不太行。除空集外其他的48个对象均执行相同操作,最多需要48!次运算,还不包括中间需要的判断比较。虽然可以进一步简化,比如添加一个后便删除剩余对象中包含或被包含的对象。
  7. 而这只是只有3个属性几个取值生成的情况,考虑到一般问题的求解,感觉应该是无解了!

 

1.3噪声的存在使得原本符合的版本空间被删除,课本介绍求解版本空间时,遇到不符合的样例便删除该假设空间,若该样例恰好是噪声,就会导致题目的情况,简单的说就是无解。

我认为可以在每一假设空间检验完所有的样例后再决定其是否准确,对于每个假设空间,求得其准确率。准确率=(符合假设空间的条件且为好瓜的样例数量)/(符合假设空间的条件的样例数量)。比如由于噪声的存在,假设空间(色泽=*,根蒂=蜷缩,敲声=*)的准确率为99%,远高于其他假设空间的准确率,最终偏好(色泽=*,根蒂=蜷缩,敲声=*)。

1.4ɭ( h(x) , f(x) ) = Ⅱ( h(x) ≠ f(x) ) * θ( h(x) , f(x) )

可以理解为新的性能度量=产生不同假设时假设之间的性能差异的求和

仿照课本的证明过程,因此新的计算结果=

机器学习(周志华)第一章课后答案_第2张图片

对于不同的算法结果一致。

 

1.5比如我们可以训练搜索引擎识别各种图像,并为其打上标记,当我们搜索图片时,通过机器学习学到的识别方法,搜索引擎在海量的图片库中识别并显示符合的结果。 

 

你可能感兴趣的:(机器学习,机器学习,假设空间,版本空间,归纳偏好,NFL定理)