《机器学习》(西瓜书)---周志华习题1.2学习记录

旨在交流和学习,我自学,又没有好的交流方式,于是我想到了在csdn上写博客

西瓜书习题1.2

题目内容:
与使用单个合取式来进行假设表示相比,使用“析合范式”将使得假设空间具有更强的表达能力,例如:

好瓜←→ ((色泽=*)∧(根蒂=蜷缩)∧(敲声=*))∨((色泽=乌黑)∧(根蒂=*)∧(敲声=沉闷))

会把“(色泽=青绿)∧(根蒂=蜷缩)∧(敲声=清脆)”以及“(色泽=青绿)∧(根蒂=蜷缩)∧(敲声=清脆)”都分类为“好瓜”。若使用最多包含k个合取式的析合范式来表达下表西瓜分类问题的假设空间,试估算共有多少中可能的假设。

表1 西瓜数据集

编号 色泽 根蒂 敲声 是否是好瓜
1 青绿 蜷缩 浊响
2 乌黑 蜷缩 浊响
3 青绿 硬挺 清脆
4 乌黑 稍蜷 沉闷

题面解析

这题目本身好难理清,若不懂得其中设计到的概念根本无从下手。“单个合取式”,“析合范式”,‘∨’ ‘∧’ ‘←→’是离散数学上的逻辑表达式和逻辑运算符。
假设空间hypothesis space):空间的意思就是集合,若想表示假设空间,找出该集合的所有子集即可。假设空间中的子集包括 空集,1维子集,2维子集,…n(n集合的最大单子集数)维子集。
举例,集合S=[1,2,3,4,5] 1维子集,即为,S→S的映射[1,2,3,4,5],S集合所在假设空间的2维子集为S⊗S→S的映射[^1][(1,1),(1,2),(1,3),…,(5,3),(5,4),(5,5)]

S⊗S⊗S⊗S⊗S→S的映射[(1,1,1,1,1),(1,1,1,1,2),…,(5,5,5,5,4),(5,5,5,5,5)]

下午又考虑到,其实像(1,1,1,1,1)这样的子集的确是假设空间的一个子集,但是实际却没有意义,比如,你说什么是好瓜,你把其中一种可能,罗列五次,即k=5的析合范式,与k=1的合取式是等价的。
k=5的析合范式

((色泽=青绿)∧(根蒂=蜷缩)∧(敲声=清脆))((色泽=青绿)∧(根蒂=蜷缩)∧(敲声=清脆))((色泽=青绿)∧(根蒂=蜷缩)∧(敲声=清脆))((色泽=青绿)∧(根蒂=蜷缩)∧(敲声=清脆))((色泽=青绿)∧(根蒂=蜷缩)∧(敲声=清脆))

与k=1的合取式,是等价的

(色泽=青绿)∧(根蒂=蜷缩)∧(敲声=清脆)

与k=2,3,4也是等价的,
所以上面举例集合S=[1,2,3,4,5] 1维子集,即为,S→S的映射[1,2,3,4,5],S集合所在假设空间的2维子集为S⊗S→S的映射[(1,2),(1,3),(1,4),(1,5),(2,3),(2,4),(2,5),(3,4),(3,5),(4,5)]因为(i,j)与(j,i)所代表的k=2析合范式是等价的

S⊗S⊗S⊗S⊗S→S的映射[(1,2,3,4,5)]
我在解题思路中并没有使用通配符星号,因为我发觉这样会带来不必要的计算,并且,在后面还要去掉所谓的冗余的情况。
这里S集(类比与上面的举例)为2x3x3=18个一维子集,并不考虑通配符的情况,这个问题我考虑了好久,出现通配符的冗余,很困难摒除冗余。若不考虑通配符,问题反而变得简单起来。
[a1b1c1,a1b1c2,a1b1c3,a1b2c1,a1b2c2,a1b2c3,a1b3c1,a1b3c2,a1b3c3,
a2b1c1,a2b1c2,a2b1c3,a2b2c1,a2b2c2,a2b2c3,a2b3c1,a2b3c2,a2b3c3]
其中

1 2 3
a 色泽=青绿 色泽=乌黑 ----
b 根蒂=蜷缩 根蒂=稍蜷 根蒂=硬挺
c 敲声=浊响 敲声=清脆 敲声=沉闷

把上集合简化为[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]
k=1,时所有的析合式为:
[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]
k=2,时,所有的析合范式为:
[(1,2),(1,3),(1,4),(1,5),…,(1,17),(1,18),(2,3),(2,4),(2,5),…(2,18),…,(16,17),(16,17),(16,18),(17,18)] 所有可能的析合范式的个数为,17+16+15+…+3+2 即为152
k=3时,[(1,2,3),(1,2,4),(1,2,5),…(1,3,4),(1,3,5),(1,3,6).(1,3,7),…(1,16,17)

result=0
for i in range(1,17):
    for j in range((i+1),19):
        for k in range((j+1),19):
            print((i,j,k))
            result=result+1

print(result)

运行结果

(1, 2, 3)
(1, 2, 4)
(1, 2, 5)
(1, 2, 6)
(1, 2, 7)
(1, 2, 8)
(1, 2, 9)
(1, 2, 10)
(1, 2, 11)
(1, 2, 12)
(1, 2, 13)
(1, 2, 14)
(1, 2, 15)
(1, 2, 16)
(1, 2, 17)
(1, 2, 18)
(1, 3, 4)
(1, 3, 5)
(1, 3, 6)
(1, 3, 7)
(1, 3, 8)
(1, 3, 9)
(1, 3, 10)
(1, 3, 11)
(1, 3, 12)
(1, 3, 13)
(1, 3, 14)
(1, 3, 15)
(1, 3, 16)
(1, 3, 17)
(1, 3, 18)
(1, 4, 5)
(1, 4, 6)
(1, 4, 7)
(1, 4, 8)
(1, 4, 9)
(1, 4, 10)
(1, 4, 11)
(1, 4, 12)
(1, 4, 13)
(1, 4, 14)
(1, 4, 15)
(1, 4, 16)
(1, 4, 17)
(1, 4, 18)
(1, 5, 6)
(1, 5, 7)
(1, 5, 8)
(1, 5, 9)
(1, 5, 10)
(1, 5, 11)
(1, 5, 12)
(1, 5, 13)
(1, 5, 14)
(1, 5, 15)
(1, 5, 16)
(1, 5, 17)
(1, 5, 18)
(1, 6, 7)
(1, 6, 8)
(1, 6, 9)
(1, 6, 10)
(1, 6, 11)
(1, 6, 12)
(1, 6, 13)
(1, 6, 14)
(1, 6, 15)
(1, 6, 16)
(1, 6, 17)
(1, 6, 18)
(1, 7, 8)
(1, 7, 9)
(1, 7, 10)
(1, 7, 11)
(1, 7, 12)
(1, 7, 13)
(1, 7, 14)
(1, 7, 15)
(1, 7, 16)
(1, 7, 17)
(1, 7, 18)
(1, 8, 9)
(1, 8, 10)
(1, 8, 11)
(1, 8, 12)
(1, 8, 13)
(1, 8, 14)
(1, 8, 15)
(1, 8, 16)
(1, 8, 17)
(1, 8, 18)
(1, 9, 10)
(1, 9, 11)
(1, 9, 12)
(1, 9, 13)
(1, 9, 14)
(1, 9, 15)
(1, 9, 16)
(1, 9, 17)
(1, 9, 18)
(1, 10, 11)
(1, 10, 12)
(1, 10, 13)
(1, 10, 14)
(1, 10, 15)
(1, 10, 16)
(1, 10, 17)
(1, 10, 18)
(1, 11, 12)
(1, 11, 13)
(1, 11, 14)
(1, 11, 15)
(1, 11, 16)
(1, 11, 17)
(1, 11, 18)
(1, 12, 13)
(1, 12, 14)
(1, 12, 15)
(1, 12, 16)
(1, 12, 17)
(1, 12, 18)
(1, 13, 14)
(1, 13, 15)
(1, 13, 16)
(1, 13, 17)
(1, 13, 18)
(1, 14, 15)
(1, 14, 16)
(1, 14, 17)
(1, 14, 18)
(1, 15, 16)
(1, 15, 17)
(1, 15, 18)
(1, 16, 17)
(1, 16, 18)
(1, 17, 18)
(2, 3, 4)
(2, 3, 5)
(2, 3, 6)
(2, 3, 7)
(2, 3, 8)
(2, 3, 9)
(2
### 关于周志华机器学习》(西瓜)第二章的学习笔记 #### 模型评估与选择概述 模型评估与选择是机器学习领域的重要组成部分,旨在通过理的方法评价不同模型的表现并挑选最优者。这一过程不仅涉及如何衡量单个模型的好坏,还包括怎样对比多个候选方案以做出最佳决策。 #### 偏差、方差和噪声的概念解 偏差度量了学习算法的期望预测与实际结果之间的差距,反映了算法自身的拟精度;方差描述的是相同规模训练集变化引起的学习效果波动情况,体现了数据扰动带来的影响;而噪声则设定了给定任务下所有可能采用的学习方法能达到的最佳预期泛化误差界限,揭示了问题本身固有的复杂性和挑战性[^2]。 #### 性能度量指标——P-R图及其应用 为了更直观地展示各类分类器的工作特性,通常会绘制精确率-召回率(Precision-Recall, P-R)曲线来辅助分。当面对多组实验结果时,可以通过观察这些图形相互间的位置关系来进行优劣评判:如果某条曲线始终位于另一条之上,则表明前者具有更好的整体表现;而对于那些存在交点的情况,则需进一步计算各自下方区域面积大小作为判断依据之一。此外,“平衡点”作为一种特殊的性能测度,在特定条件下也能提供有价值的参考信息[^3]。 #### 偏差-方差分解理论简介 该理论为理解学习算法的一般化能力提供了框架性的指导思路,通过对平均测试错误率实施拆分操作,可以深入剖导致过拟现象背后的原因所在,并据此探索改进措施的方向。具体而言,总误差由三部分构成——不可约减误差点(即噪声)、平方形式表达出来的偏差项以及线性累加而成的方差成分[^4]。 ```python import numpy as np from sklearn.model_selection import train_test_split from sklearn.metrics import precision_recall_curve, auc def evaluate_model_performance(model, X, y): """ 计算并返回PR曲线下面积(AUC),用于量化模型的整体性能。 参数: model (object): 已经训练好的分类模型实例。 X (array-like of shape (n_samples, n_features)): 测试特征矩阵。 y (array-like of shape (n_samples,)): 对应的真实标签向量。 返回: float: PR AUC得分。 """ # 划分训练集/验证集 X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.2) # 使用训练集拟模型 model.fit(X_train, y_train) # 获取验证集中各观测对应的概率估计值 probas_pred = model.predict_proba(X_val)[:, 1] # 绘制PR曲线并求得AUC分数 precisions, recalls, _ = precision_recall_curve(y_val, probas_pred) pr_auc_score = auc(recalls, precisions) return pr_auc_score ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值