[学渣啃西瓜书]绪论-作业1.1

1.1 表1. 中若只包含编号为1,4的两个样例?试给出相应的版本空间.

[学渣啃西瓜书]绪论-作业1.1_第1张图片

 先确认版本空间内假设的个数。X =(色泽A:“青绿”a1,“乌黑”a2,*),根蒂B(“蜷缩”b1,“稍卷”b2,*),敲声C(“浊响”c1,“沉闷”c2,*);空集(Fai);Y = (“好瓜”,“坏瓜”)

所以假设个数: 3*3*3+1 = 28

假设均为:(色泽=;根蒂=;敲声=)是好瓜

正例 :(a1,b1,c1) <-> 好瓜 ;  反例:(a2,b2,c2) <-> 坏瓜

思路:

1- *通配属性值,所以所有(a1 or *, b1 or *. c1 or*)都是符合正例,但是(*,*,*)也包含了反例,所以要剔除。

2- 所有(b1or *, b2 or *, b3 or *)的是反例,要剔除。

程序略过了,我写的很繁琐,可以参考下面的答案,很简洁。

机器学习_周志华(西瓜书) 课后习题答案 第一章 Chapter1_LI_Xiuling的博客-CSDN博客_西瓜书第一章答案机器学习_周志华 课后习题答案 第一章 Chapter1习题1.1Q:表1.1中若只包含编号为1和4的两个样例,试给出相应的版本空间。由所给出的数据集(训练集)可知,属性3个:色泽、根蒂、敲声,其属性值分别有两个。以A、B分别代表每个属性的两个属性值,“.”代表取什么值都合适。那么以上的数据集为:1: AAAY ;4:BBBN因此,我们可以做出的假设规模为:3x3x3+1=28个。...https://blog.csdn.net/qq_40273675/article/details/89856447?utm_medium=distribute.pc_feed_404.none-task-blog-2~default~BlogCommendFromBaidu~default-4.test_5searchdownload&depth_1-utm_source=distribute.pc_feed_404.none-task-blog-2~default~BlogCommendFromBaidu~default-4.test_5searchdownloa优点

- 使用了 set(),不用对数组中每个元素做对比Python set() 函数 | 菜鸟教程Python set() 函数 Python 内置函数 描述 set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。 语法 set 语法: class set([iterable]) 参数说明: iterable -- 可迭代对象对象; 返回值 返回新的集合对象。 实例 以下实例展示了 set 的使用方法: [mycode3 type='pythonhttps://www.runoob.com/python/python-func-set.html

- 使用了正则表达式,很容易做两个元素组的对比。Python3 正则表达式 | 菜鸟教程Python3 正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。 re 模块使 Python 语言拥有全部的正则表达式功能。 compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。 re 模块也提供了与这些方法功能完全一致的函数,..https://www.runoob.com/python3/python3-reg-expressions.html

我的程序结果:

[学渣啃西瓜书]绪论-作业1.1_第2张图片

 

通过本例,可以了解

1- 问清楚自己假设是什么?本例假设:(色泽=;根蒂=;敲声=)是好瓜

2- 假设空间 >= 版本空间,因为剔除了和正例不同的,以及符合反例的。 

遗留问题:

1- 空集怎么处理?

数据处理技巧:

1-用二进制处理通过逻辑运算更加方便做元素比较。网上能搜到。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(基础学习,机器学习,人工智能)