美文网首页
机器为什么能学习(上)

机器为什么能学习(上)

作者: ringotc | 来源:发表于2018-09-02 11:19 被阅读0次

本篇文章是台湾大学《机器学习基石上》的课程笔记。以PLA算法为例,推导证明机器学习的可行性。

问题概述

机器学习在当前发展得很快,我们不由得发问:为什么这种算法是可行的。
我们说机器学习算法是可行的,是指它的损失函数值很小。比如在回归问题里,我们的目标是让 g \approx f
我们用更为数学化的语言表述这件事情:
首先定义一下本文需要用到的数学符号
\begin{array} \\ \hline x & 输入数据 \\ y&输出结果 \\ f&目标函数 \\ g&预测函数\\ data&训练样本 \\ hypothesis & 假设 \\ alogrithm & 算法\\ E_{in}(h)&在抽样样本中h(x)!=y的概率\\ E_{out}(h)&在抽样样本外h(x)!=y的概率 \end{array}
我们让g \approx f本质上就是要使得E(h)足够小且E_{in} \approx E_{out}
我们这篇文章需要证明的两个保证机器学习可行的结论,就是:

  • E_{in} \approx E_{out}
  • E_{in} 足够小

但是,我们知道在计算机科学里有一个著名的NFL(No Free Lunch)理论,它似乎在告诉我们机器学习是不可行的...

NFL理论 与 算法优越性

NFL理论的具体表述如下:

不管采用何种学习算法,至少存在一个目标函数,能够使得随机猜测算法是更好的算法。平常所说的一个学习算法比另一个算法更“优越”,效果更好,只是针对特定的问题,特定的先验信息,数据的分布,训练样本的数目,代价或奖励函数等。

是不是很不符合常理?难道Hugo Sort(猴子排序)真的和快速排序优越性一样吗?我们来看看周志华教授的《机器学习》一书中,关于NFL的简要证明:


周志华《机器学习》第八页
周志华《机器学习》第九页

最后的结果里,一个算法的期望性能居然和算法本身无关!
按照NFL的理论,是不是不仅机器学习算法不可行,就连传统的算法也不可行了呢?

通过 Hoeffding's inequality 得到机器学习可行的两个条件

上面NFL理论的表述,实际上是在告诉我们:不会存在一个算法对任意一种条件都有优越性。但我们实际上只需要期望机器学习算法能解决大部分的问题。也就是说,我们的问题变成了证明机器学习算法在有界的概率下,是可行的。
我们在证明这个结论,需要用到一个数学工具 Hoeffding's inequality。

什么是Hoeffding's inequality

我们先用一个Bin Model来介绍什么是 Hoeffding's inequality。
现在假设我们有如下的一个桶,需要去预测其中绿色球与橙色球的比例。

Bin Model
显然,根据统计学的原理,我们会从桶中抽取一个抽样样本( compute bad data
上面的推导涉及到的符号解释如下:
hypothesis
这就给了我们启发,是不是能够找到一个能够表示真正有所不同的 one-point
可以看到,当平面上只有一个点的时候,PLA算法只有两种 point-4

经过分析,我们得到平面上线的种类是有限的。并且可以发现,有效的种类数目总是\leq 2^N
我们用effective(N)来代替M,重新写一下Hoeffding's inequality。
P[|E_{in}(g) - E_{out}(g)| > \epsilon] \leq2 * effective(N)*exp(-2\epsilon^2N)
我们在刚刚已经知道了effective(N)<2^N,现在如果有effective(N)\ll 2^N就能保证不等式的右边足够小(接近于0)。这个时候机器学习就是可行的。

dichotomy 替代 M

dichotomy:dichotomy 就是将空间中的点(例如二维平面)用一条直线分成正类(蓝色 O)和负类(红色 X)。令H是将平面上的点用直线分开的所有hypothesis h的集合。

dichotomy与hypotheses 的关系是:hypotheses 是平面上所有直线的集合,个数可能是无限个,而dichotomy 是平面上能将点完全用直线分开的直线种类,它的上界是 2^N

成长函数 m_{H}(N)

成长函数的定义

成长函数 growth \ function
m_{H}(N):对于由N个点组成的不同集合中,某集合对于的dichotomy最大,那么这个dichotomy的值就是m_{H}(N),它的上界是2^N

根据我们上面的推导,在二维平面上,m_{H}(N)N的变化关系是:

m(N)

接下来,我们将告诉大家如何去计算成长函数,以及如何运用VC维去分析。

相关文章

  • 机器为什么能学习(上)

    本篇文章是台湾大学《机器学习基石上》的课程笔记。以PLA算法为例,推导证明机器学习的可行性。 问题概述 机器学习在...

  • 「零基础」python机器学习入门(一)| 什么是机器学习?

    了解什么是机器学习?为什么需要机器学习? 一、什么是机器学习? 字面上,「机器学习」可以拆分为两个词:机器、学习。...

  • 机器学习

    Why Q:机器学习是为什么?为什么机器需要学习? A:按照我的理解,控制机器的是人类,人类为了让机器更好的适应时...

  • 您应该知道的所有机器学习主题

    1、机器学习简介 什么是机器学习? 为什么我们需要机器学习? 机器学习解决了哪些类型的问题? 您处理的数据类型? ...

  • 构建机器学习项目

    机器学习策略简介 为什么是机器学习? 更为高效的构建机器学习系统的方法。什么是机器学习策略? 如果例子的效果不理想...

  • 1-机器学习启蒙- Python基础语法与工具

    机器学习正在改变世界 以前的机器学习观点 我为什么学习机器学习?机器人:人工智能应用。 亚马逊零售推荐,Googl...

  • 机器学习需要哪些技能?

    我们学习机器学习的目的 实话实说,目前大部分人上各种班来学习机器学习,学习大数据,归根到底还是希望能找到一个好的工...

  • 机器学习:从入门到晋级

    摘要: 什么是机器学习,为什么学习机器学习,如何学习机器学习,这篇文章都告诉给你。 目前,人工智能(AI)非常热门...

  • 机器学习:从入门到晋级

    摘要:什么是机器学习,为什么学习机器学习,如何学习机器学习,这篇文章都告诉给你。 目前,人工智能(AI)非常热门,...

  • Coursera台大机器学习课程笔记3 – 机器学习的可能性

    Coursera台大机器学习课程笔记3 – 机器学习的可能性 提纲: 机器学习为什么可能? 引入计算橙球概率问题 ...

网友评论

      本文标题:机器为什么能学习(上)

      本文链接:https://www.haomeiwen.com/subject/jlgpwftx.html