一个二分类下没有免费午餐定理的题

analysis101 2020-10-28 原文


一个二分类下没有免费午餐定理的题


一个证明题

周志华《机器学习》第一章中,有一个关于“没有免费的午餐”定理的题目,题目是这样的:

假设样本空间\(\mathcal{X}\)和假设空间\(\mathcal{H}\)都是离散的,令\(P(h|X,\mathcal{L}_a)\)为算法\(\mathcal{L}_a\)基于训练数据\(X\)产生假设\(h\)的概率,令\(f\)代表真实目标函数。考查二分类问题\(f\)可以是任何函数\(\mathcal{X} \mapsto \{0,1\}\),函数空间为\(\{0,1\}^{\vert \mathcal{X} \vert}\),假设\(f\)均匀分布(即不管\(h(x)\)是什么,都有一半的\(f\)\(x\)的预测与\(h(x)\)不一致)。现在采用\(\ell(h(x),f(x))\)作为分类器的性能度量,考虑\(\mathcal{L}_a\)的“训练集外误差”:

\[E_{ote}(\mathcal{L}_a | X,f)=\sum_h \sum_{x\in \mathcal{X}-X} P(x)\ell({h(x),f(x)}) P(h|X, \mathcal{L}_a)
\]

试证明“没有免费午餐定理”成立。

分析与解答

题目未给定\(\ell(h(x),f(x))\)的具体形式,但在二分类问题中,无非就4种情况。记\(\ell(1,1)=\ell_1\)\(\ell(0,1)=\ell_2\)\(\ell(1,0)=\ell_3\)\(\ell(0,0)=\ell_4\),它们都是常数。将\(\mathcal{L}_a\)的训练集外误差对所有\(f\)均匀分布求和为:

\[\begin{aligned}
&\sum_f E_{ote}(\mathcal{L}_a | X,f) \\
=& \sum_f \sum_h \sum_{x\in \mathcal{X}-X} P(x)\ell({h(x),f(x)}) P(h|X, \mathcal{L}_a) \\
=& \sum_{x\in \mathcal{X}-X} P(x) \sum_h P(h|X, \mathcal{L}_a) \sum_f \ell({h(x),f(x)})\\
=& \sum_{x\in \mathcal{X}-X} P(x) \sum_h P(h|X, \mathcal{L}_a) \left( 2^{\vert\mathcal{X}\vert}\mathbb{I}(h(x)=1) (\dfrac{1}{2} \ell_1+\dfrac{1}{2} \ell_3) \right)\\
+& \sum_{x\in \mathcal{X}-X} P(x) \sum_h P(h|X, \mathcal{L}_a) \left( 2^{\vert\mathcal{X}\vert}\mathbb{I}(h(x)=0) (\dfrac{1}{2} \ell_2+\dfrac{1}{2} \ell_4) \right)\\
\end{aligned}
\]

上面最后一个等式是因为\(f\)是均匀分布,因此如果给定了\(h\)\(x\),不管\(h(x)\)是0还是1,都有一半的\(f\)会是\(f(x)=0\),一半的\(f\)会是\(f(x)=1\)

又因为\(\mathbb{I}(h(x)=1)+\mathbb{I}(h(x)=0)=1\),可将上式继续化简:

\[\begin{aligned}
&\sum_f E_{ote}(\mathcal{L}_a | X,f) \\
=& 2^{\vert\mathcal{X}\vert-1}\sum_{x\in \mathcal{X}-X} P(x) \sum_h P(h|X, \mathcal{L}_a) \big((\ell_1+ \ell_3) \mathbb{I}(h(x)=1) +(\ell_2+\ell_4)(1-\mathbb{I}(h(x)=1)) \big)\\
=& 2^{\vert\mathcal{X}\vert-1} (\ell_2+\ell_4) \sum_{x\in \mathcal{X}-X} P(x) \sum_h P(h|X, \mathcal{L}_a)\cdot 1\\
+& 2^{\vert\mathcal{X}\vert-1} \sum_{x\in \mathcal{X}-X} P(x) \sum_h P(h|X, \mathcal{L}_a) (\ell_1+\ell_3-\ell_2-\ell_4)\mathbb{I}(h(x)=1)\\
=& 2^{\vert\mathcal{X}\vert-1} (\ell_2+\ell_4) \sum_{x\in \mathcal{X}-X} P(x) \\
+& 2^{\vert\mathcal{X}\vert-1} (\ell_1+\ell_3-\ell_2-\ell_4) \sum_{x\in \mathcal{X}-X} P(x) \sum_h P(h|X, \mathcal{L}_a)\mathbb{I}(h(x)=1)
\end{aligned}
\]

上式中,第一部分\(2^{\vert\mathcal{X}\vert-1} (\ell_2+\ell_4) \sum_{x\in \mathcal{X}-X} P(x)\) 显然与\(\mathcal{L}_a\)无关,第二部分则不然,需要再附加条件\(\ell_1+\ell_3-\ell_2-\ell_4=0\)才可以使整个式子与\(\mathcal{L}_a\)无关,在周志华的书中,并没有加这个限制,可能是默认隐含了(因为加入这个条件很合理)。\(\blacksquare\)

特殊化情形

再来看在书正文中的例子,该例子将\(\ell(h(x),f(x))\)特殊化为二分类的错误率,即取\(\ell(h(x),f(x))=\mathbb{I}(h(x)\ne f(x))\),对应到本文的设定中,有\(\ell_1=\ell_4=0\)\(\ell_2=\ell_3=1\),将它们代入后得:

\[\sum_f E_{ote}(\mathcal{L}_a | X,f) = 2^{\vert\mathcal{X}\vert-1} \sum_{x\in \mathcal{X}-X} P(x)
\]

因此,它与\(\mathcal{L}_a\)无关。对于任意的\(\mathcal{L}_a\)\(\mathcal{L}_b\),它们的样本外误差的期望其实是相等的。这就是“没有免费的午餐”定理(No Free Lunch Theorem,NFL)。

发表于
2020-10-28 21:45 
分析101 
阅读(0
评论(0
编辑 
收藏

 

版权声明:本文为analysis101原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/analysis101/p/13893730.html

一个二分类下没有免费午餐定理的题的更多相关文章

  1. 学机器学习,不会数据处理怎么行?—— 二、Pandas详解

    在上篇文章学机器学习,不会数据处理怎么行?—— 一、NumPy详解中,介绍了NumPy的一些基本内容,以及使用 […]...

  2. 2017年科技界十大新闻,你都知道吗?

    2017年马上就要过去了,小编带你一起来盘点今年最具影响力的十大科技新闻…… 1、人工智能AI元年到来 201 […]...

  3. 【图机器学习】cs224w Lecture 15 – 网络演变

    Stanford cs224w 课程笔记:现实生活中大部分网络并非静态,而是随时间推移而演变的。通过研究不同时 […]...

  4. GRU算法原理

    一、GRU算法   GRU(Gate Recurrent Unit,循环门单元)是循环神经网络(Recurre […]...

  5. Protobuf在Cmake中的正确使用

    Protobuf是google开发的一个序列化和反序列化的协议库,我们可以自己设计传递数据的格式,通过.pro […]...

  6. 机器学习基础之knn的简单例子

    knn算法是人工智能的基本算法,类似于语言中的”hello world!”,pytho […]...

  7. 机器学习之Logistic回归

      都说万事开头难,可一旦开头,就是全新的状态,就有可能收获自己未曾预料到的成果。记录是为了更好的监督、理解和 […]...

  8. 机器学习算法之Kmeans算法(K均值算法)

    Kmeans算法(K均值算法) KMeans算法是典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认 […]...

随机推荐

  1. linux硬盘分区及挂载

    今天买的一台服务器发现其硬盘容量与购买界面的描述不符,于是我去问了客服才知道有一块硬盘需要自己挂载,所以记录自 […]...

  2. 实现不同进程之间的通信

      进程之间的通信是为了解决不同进程之间的数据传输问题,这样可以让不同程序交互数据。实现进程通信的方式:1、剪 […]...

  3. C# – WinFrm应用程序调用WebService服务

    C# – WinFrm应用程序调用WebService服务 Posted on 2019-12-0 […]...

  4. JSP调用外部js文件

    在jsp中调用外部js文件分两种情况: 1. 一般来说jsp调用外部js的时候是使用jsp文件的相对路径。   […]...

  5. 详解线性结构 —— 一元多项式的乘法与加法运算

    一元多项式的乘法与加法运算 设计函数分别求两个一元多项式的乘积与和。 输入格式: 输入分2行,每行分别先给出多 […]...

  6. CCSP自学指南——Cisco安全PIX防火墙(CPFA)(第二版)(CCSP Self-Study:Cisco Secure PIX Firewall Advanced(CSPFA)Second Edition ) – cunshen

    CCSP自学指南——Cisco安全PIX防火墙(CPFA)(第二版)(CCSP Self-Study:Cisc […]...

  7. excel 根据多条件优先排序方法

    如何实现按照不同优先级进行数据的排序:依照下图可以看到,依次是:栋号–期数–房号  这 […]...

  8. OC CollectionView和TableView自身高度的隐式递归计算,改变父试图布局

    CollectionView和TableView自身高度的隐式递归计算 1、前沿:我们一般会碰到这样的需求,一 […]...

展开目录

目录导航