《机器学习(周志华)》Chapter1 绪论 课后习题答案




表1.1 包含4个样例,3种属性,假设空间中有3 * 4 * 4 + 1 = 49种假设。在不考虑冗余的情况下,最多包含k个合取式来表达假设空间,显然k的最大值是49,每次从中选出k个来组成析合式,共种可能。但是其中包含了很多沉余的情况(至少存在一个合取式被剩余的析合式完全包含<空集除外>)。

如果考虑沉余的情况 在这里忽略空集,一个原因是并不是太明白空集是否应该加入析合式,另外就算需要加入,求出了前面48种假设的组合,可以很容易求出加入空集后的组合数(每种可能都可以加上空集,再加上1种空集单独的情况)。 48种假设中: 具体假设:2∗3∗3=18种 一个属性泛化假设:2∗3+3∗3+2∗3=21种 两个属性泛化假设:2+3+3=8种 三属性泛化:1种


回答1:
1). 通常认为两个数据的属性越相近,则更倾向于将他们分为同一类。若相同属性出现了两种不同的分类,则认为它属于与他最临近几个数据的属性。
2). 也可以考虑同时去掉所有具有相同属性而不同分类的数据,留下的数据就是没误差的数据,但是可能会丢失部分信息。
回答2:
1). 定义一个阈值,只要训练后满足的样本数量百分比达到这个阈值即可。
2). 在训练过程中选择满足最多样本的假设。



NFL首先要保证真目标函数f均匀分布。对于X个训练数据的二分类问题,显然f共有种情况,其中一半是与假设一致的,也就是P(f(x) = h(x)) = 0.5.因此,其中应为常数,如果性能度量为错误率,二者各为0.5,则该值为1,如果为其他性能度量,根据网友的想法:,应当隐含这样的充分条件。


https://wenku.baidu.com/view/fd90c73f4b35eefdc8d3335e.html


### 周志华机器学习》第二章课后习题答案 #### 2.10 Friedman检验中使用式(2.34)(2.35) 的区别 Friedman检验是一种非参数统计方法,适用于多组相关样本之间的差异分析。当处理多个模型在同一测试集上的性能评估时尤为有用。 - **式(2.34)** 主要用于计算各算法排名的平均值及其方差,从而构建出一个衡量不同算法之间相对表现的标准。具体来说,该公式帮助量化每种算法在整个实验中的总体表现位置[^3]。 - **式(2.35)** 则进一步利用上述得到的信息来决定是否存在显著性的差别。通过引入临界值的概念,可以据此判断所观察到的表现差距是否超出了随机波动所能解释的程度之外。如果实际计算所得的结果超过了设定好的阈值,则说明至少有两个被比较的对象间确实存在明显不同的效果。 为了更直观理解这两个公式的应用过程以及它们各自的作用: ```python import numpy as np from scipy.stats import friedmanchisquare # 示例数据:假设有三个分类器A、B、C分别在五个数据集上进行了测试 data = [ [87, 92, 85], # 数据集1上的准确率 [89, 90, 88], [91, 93, 86], [88, 91, 87], [90, 94, 89] ] chi_statistic, p_value = friedmanchisquare(*np.array(data).T) print(f"Chi-square statistic: {chi_statistic}") print(f"P-value: {p_value}") if p_value < 0.05: print("At least two classifiers have significantly different performances.") else: print("No significant difference among classifier performances.") ``` 这段Python代码展示了如何运用SciPy库执行Friedman检验,并依据返回的卡方统计量和P值做出结论。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值