机器学习(周志华)习题解答1.4: 两个算法到底孰优孰劣?没有免费午餐定理

说明:本文是自己对周志华 2016 年《机器学习》中“没有免费的午餐定理”的简单论证解释和习题 1.4 的解答,难免有误欢迎指正。看没看书不影响看本文的理解。

  我们在机器学习中衡量两个算法,到底孰优孰劣,该怎么考虑?“没有免费的午餐定理”仿佛给了一个很令人 depressing 的答案:针对某一域的所有问题,所有算法的期望性能是相同的。但注意,这里有两个关键词,某一域的“所有”,和“期望”性能。所以它并没有否认两个算法有优劣之分,并且事实上还提供了一个视角让我们理解为什么在机器学习中,我们可以选择算法的优劣性。
  
  “没有免费的午餐定理”就是由 Wolpert and Macready 在 1997 年在优化领域中提出的 No Free Lunch Theorems(NFL),可以简单理解为:针对某一具体域内的所有优化问题 Q,经过 m 步迭代之后达到目标函数给定值的所有可能性的累加和是相等。用在机器学习中就是刚刚说的“针对某一域的所有问题,所有算法的期望性能是相同的”, 在该域的有些问题上算法 La Lb 好,其余问题上则有 Lb La 好。

  现在来理解一下书中的证明过程(Page 8),这个没什么 tricky,希望有耐心些很好理解。需说明书中这里讨论的是二分类问题,假设数据空间 X 和假设空间 H 都是离散的,样本空间记作 X ;且真实目标函数对所有可能的 f 均匀分布。

  首先需要明确这里算法性能是通过衡量训练集外误差得到的,即 off-training error(ote),本题所说的“训练集外”就是 XX 。“误差”也就是机器学习所说的损失函数(Loss function),Page 8 已经要求了损失函数为 L(h,f(x))=1(h,f(x)) 。算法 La 在所有训练集外的误差其实就是机器学习中说的风险函数,即

Risk(X,La)=L(h,f(x))dF(x)
  上式应用于由本题,则损失函数 L 换成 1 ;由于本题是离散空间,积分变作对“训练集外”即 XX 求和,故写作下面 (1) 式,调整一下写法变成 (2) 式
   符号说明:
   1) fEote(La)|X,f) 表示在该域所有问题上算法 La 在训练集外即
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值