【西瓜书】1-绪论习题

文章目录

1.1

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


表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 号数据,(色泽=青绿、根蒂=蜷缩、敲声=浊响) 好瓜,剩下

  • 1 色泽=*,根蒂=*,敲声=*
  • 2 色泽=青绿,根蒂=*,敲声=*
  • 4 色泽=*,根蒂=蜷缩,敲声=*
  • 7 色泽=*,根蒂=*,敲声=浊响
  • 10 色泽=青绿,根蒂=蜷缩,敲声=*
  • 16 色泽=青绿,根蒂=*,敲声=浊响
  • 22 色泽=*,根蒂=蜷缩,敲声=浊响
  • 31 色泽=青绿,根蒂=蜷缩,敲声=浊响

加入 4 号数据,(色泽=乌黑、根蒂=稍蜷、敲声=沉闷) 坏瓜,剩下

  • 2 色泽=青绿,根蒂=*,敲声=*
  • 4 色泽=*,根蒂=蜷缩,敲声=*
  • 7 色泽=*,根蒂=*,敲声=浊响
  • 10 色泽=青绿,根蒂=蜷缩,敲声=*
  • 16 色泽=青绿,根蒂=*,敲声=浊响
  • 22 色泽=*,根蒂=蜷缩,敲声=浊响
  • 31 色泽=青绿,根蒂=蜷缩,敲声=浊响

成功构建版本空间

1.2

与使用单个合取式来进行假设表示相比,使用"析合范式"将使得假设空间具有更强的表示能力。
例如

好瓜 <-> ((色泽=*(根蒂=蜷缩) ^ (敲声= *)) v ((色泽=乌黑) ^ (根蒂=*) ^ (敲声=沉闷))

会把(色泽=青绿)^(根蒂=蜷缩)^(敲声=清脆)以及(色泽=乌黑) ^ (根蒂=硬挺) ^ (敲声=沉闷)都分类为"好瓜"

若使用最多包含 k k k 个合取式的析合范式来表达。表1. 1 西瓜分类问题的假设空间, 试估算共有多少种可能的假设.


不会

  1. 48

从网上抄到一份代码(不过我觉得可以用动态规划试一试§(* ̄▽ ̄*)§)

机器学习(周志华) 第一章 习题1.2参考答案_是你的小鱼的博客-CSDN博客

import numpy as np
import itertools as it

def get_18_from_trible(trible):  #把三维向量变为代表特征的18维向量
   a = np.zeros([2,3,3])
   a1 = trible[0]
   a2 = trible[1]
   a3 = trible[2]
   if a1 == 3:  #对于第一种属性为"*"的情况
	   a1 = [1,2]
   else:
	   a1 = [a1]    
   if a2 == 4:  #对于第二种属性为"*"的情况
	   a2 = [1,2,3]
   else:
	   a2 = [a2]
	if a3 == 4:  #对于第三种属性为"*"的情况
		a3 = [1,2,3]
	else:
		a3 = [a3]
	#print (a1,a2,a3) 
	#print(a)
	for m1 in a1:
		for m2 in a2:
			for m3 in a3:
				a[m1-1][m2-1][m3-1] = 1
	return a           #得到了一个18维向量(0/1二值),代表18种特征情况

def turn_48_to_trible(num):   
# num in [0,47],把一个小于48的数字对应到一个三维数组中
	for i in range(3): 
		for j in range(4):
			for k in range
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值