《机器学习》第一章习题

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

表1.1 西瓜数据集
样本空间各属性的取值:

色泽:青绿、乌黑、*
根蒂:蜷缩、稍蜷、*
敲声:浊响、沉闷、*

版本空间定义:学习过程是基于有限的训练集进行,可能有多个假设与训练集一致,即存在着一个与训练集一致的“假设集合”,称为“版本空间”。

所以对于编号1和4的版本空间为:

1.色泽=青绿;根蒂=蜷缩;敲声=浊响
2.色泽=青绿;根蒂=蜷缩;敲声=*
3.色泽=青绿;根蒂=*;敲声=浊响
4.色泽=青绿;根蒂=*;敲声=*
5.色泽=*;根蒂=蜷缩;敲声=浊响
6.色泽=*;根蒂=蜷缩;敲声=*
7.色泽=*;根蒂=*;敲声=浊响

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

好瓜←→((色泽=)∧(根蒂=蜷缩)∧(敲声=))∨((色泽=乌黑)∧(根蒂=*)∧(敲声=沉闷))会把“((色泽=青绿)∧(根蒂=蜷缩)∧(敲声=清脆))”以及“((色泽=乌黑)∧(根蒂=硬挺)∧(敲声=沉闷))”都分类为“好瓜”。

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

表1.1西瓜数据集中,色泽共有2个属性值,根蒂共有3个属性值,敲声共有3个属性值。为计算方便,下面的计算不考虑空集的情况(若考虑空集,则直接在每种假设的情况下再加上一种含空集的假设计算即可)

计算假设还需考虑每个属性的通配符(泛化)的情况,则用单个合取式来表示假设共有3×4×4=48种不同假设,分别为:

①不含泛化属性的假设:2×3×3=18种
②含一个属性泛化的假设:2×3+2×3+3×3=21种
③含两个属性泛化的假设:2+3+3=8种
④含三个属性泛化的假设:1种

用“析合范式”表示假设
(1)不考虑冗余情况:易知k的取值范围是[1,48],则假设总数就是从48个合取式中取出k个进行组合的加总,共有 种假设

(2)考虑冗余情况:试想当取k=18的时候恰好有一种组合方式是由18种不含泛化属性的假设组合成的,此时若取k=19,则必然引入至少1个含一个属性泛化的假设进行组合,就必然会产生冗余的情况。所以可知k的取值范围是[1,18],且k=18时组合产生的假设只有1种。

求最多包含k个合取式的析合范式的假设数量最容易想到的办法就是作差计算
计算思路:
①求出k在每种取值下的所有组合数
②求出k在每种取值下出现冗余的组合数
③将上面两数相减即可得出析合范式的假设数量

计算流程

详细代码见文末链接

结果:
k=1,48
k=2,931
k=3,10341
k=4,72647
k=5,346712
k=6,1181588
……

在利用python求解的过程中遇到比较大的问题就是随着k的增大,组合数量呈指数级增长,对计算机的运算能力和内存的要求都非常高。此种方法运算到k=5时用时33s,k=6时用时6min,k=8时出现内存溢出。
针对此现象,曾尝试加入相关的能提高运算速度和减少内存消耗的方法改进代码,但是由于技术有限,处理后的效果并不显著。

1.3若数据包含噪声,则假设空间中可能不存在与所有训练样本都一致的假设。在此情形下,试设计一种归纳偏好用于假设选择

归纳偏好通俗的理解就是在面对有不同分类结果的西瓜时,你更倾向于根据哪种“标准”来分类。在西瓜问题上,假设空间中可能不存在与所有训练样本都一致的假设,此时我更倾向于选择与训练集好瓜属性尽可能一致的标准,即精度越高越好的归纳偏好。

1.4本章1.4节在论述“没有免费的午餐”定理时,默认使用了“分类错误率”作为性能度量来对分类器进行评估。若换用其他性能度量l,则将(1.1)式改写成下面形式,试证明没有免费的午餐”定理仍成立

式(1.2)

以下分析均基于二分类任务
式1.2中,l ( h (x), f (x) )表示分类器对一个样例分类正确或者错误的“分数”,并且分类正确与错误的分数是固定的常数,即 l (0,0) = l (1,1) = a , l (0,1) = l (1,0) = b

可推出 l (0,0) + l (0,1) = l (1,1) + l (1, 0)= A ,A亦为固定常数

因此 l ( h (x) = f (x) ) + l ( h (x) ≠ f (x) )=A

基于以上推导,可求出某种分类器的总“得分”,过程如下


证明过程

可以看到,采用任一性能度量,算法的种类并不影响分类的总“得分”,即所有分类器的期望性能都是相同的,也就是说“没有免费的午餐”定理成立。

思考:上面的分析参考了网上的文章得出。在刚开始看见式(1.2)时,思维被固定在 l ( h (x),f (x) ) 的意义上了,然后自己就尝试抛掉式(1.2)列举一个具体的性能指标“查全率”来分析:
在二分类任务中,查准率

变量解释

由上面公式可以看出,N是所有西瓜的总数(已知常数),TP+FN为真实情况中好瓜的数量(已知常数),现在只需证明P(·)与算法无关就能证明查准率R与采用何种算法无关。
对TP/N的理解:所有西瓜中有多少比例的好瓜被预测正确了
假设目标函数 f 服从均匀分布,则 f 的期望值与采用哪种算法无关,而 f 的期望值可以理解为在所有西瓜中好瓜被预测正确的概率有多大,也就是说 f 的期望就是TP/N或P(·),所以查准率R不受采用何种算法无关,“没有免费的午餐”定理成立。

“没有免费的午餐”定理的成立,需要遵从很严谨的假设。而事实上我们的假设通常没有办法实现,所以才造成了采用不同算法有不同的性能表现,这一点可以回看之前同学对各分类器的总结章节

1.5 试述机器学习能在互联网搜索的哪些环节起作用

①在网页中推送用户经常浏览的内容:客户日常搜索的关键字会被输入到系统中,经过神经网络等算法处理,在网页上及时更新用户感兴趣的推送内容
②智能语音搜素:如百度的语音搜索、siri的语音搜索,涉及到自然语言处理等内容
③互联网金融中客户的识别:如蚂蚁金服中会通过记录客户的金融记录和信用记录,对客户进行分类和给客户提出风险提示,当中涉及复杂的数据挖掘、神经网络等算法。

代码:我的码云

你可能感兴趣的:(《机器学习》第一章习题)