Tag: Machine Learning Foundations

Machine Learning Foundations 6: Theory of Generalization


 
 

一般化理论:机器是如何做到举一反三的

 
 

内容:

只要你有一个breakpoint,他其实是对未来每一个的数量都加上了很大的限制,也就是上面公式的数学归纳法,最后可以得到上限可以用一个多项式来表示,这个多项式可以取代原来公式中的M,从而证明2维情况下有了一个breakpoint一定是可以学习的。

 
 


 
 

上一节讲到:

因为M无限大的时候没有办法做机器学习,因此提出了成长函数m来取代M。

 
 

这里将探讨两个问题:

  1. 这个m到底是不是长得很慢
  2. 这个m如果真的长得很慢,那到底其能不能取代M

 
 


 
 

首先回顾一下m的定义:

这个有 N 个资料的 h 到底最多能有多少个 dichotomies(二分)

Break point就是第一个小于 2 的 N 次方个 dichotomies 的地方

 
 

再是四个上次的举例的情况回顾。

 
 

上次讲的一个非常重要的知识点就是:当k是breakpoint的时候,K + … 都是breakpoint。

 
 


 
 

假设:

我有一个hypotheses,他最小的breakpoint在2的地方。意思就是任意取h中两个点都不存在完整的四种情况(oo/ox/xo/xx)。

 
 

也就是说:

如果 N=1,m 一定等于 2(o/x),也就是说如果今天只有一个点一定有两种 dichotomies。

如果 N=2,因为breakpoint在2的地方,因此 m 就需要小于4,也就是说最多会是三个 dichotomies(oo/xx/ox/xo 任选3个)

 
 

如果 N=3(三个点),产生一种 dichotomy, 如下图的情况就是。这时候 breakpoint 也是在 k=2,也就是说随便找两个点,你都不能够产生四种不同的二分情况。也就是满足上面的假设最小的breakpoint在k=2。

 
 

看图理解:随便找两个点就是竖着选两行,这两行是否存在(oo,ox,xo,xx)。

 
 


 
 

如图,如果是两个 dichotomies。同样没有四种情况

 
 


 
 

三个 dichotomies 的情况:没有四种情况

 
 


 
 

四个 dichotomies,例如如图所示的情况。

 
 

如果看 x2,x3 上面,你就会发现存在四种情况了。这就和我们的假设,任何两个点都不存在四种情况(2的N次方)存在冲突。

因此不能加进这种情况。

 
 


 
 

因此我们回到原来的三种的情况,再加入另外的第四个,就符合假设(任意取两个点都不存在完整的四种情况)

 
 


 
 

如果是五个 dichotomies 的情况,如图所示,看x1,x3 就不符合假设。

 
 


 
 

五个的情况再换一个,一样不行。

 
 


 
 

再换一个,也不行。

 
 


 
 

经过一番尝试你会发现,在坚持假设的前提下,四个dichotomies就是极限,第五个dichotomies是加不进来的。

 
 


 
 

所以总结一下 N=3 的情况,最多最多就是4种,然后你会发现4和2的三次方已经差了很多了。

 
 

因此这边可以作如下猜想:

如果mh的最多可能性是小于一个多项式表示的,那么,mh本身也就是一个多项式级别的递增而已。

 
 


 
 

小练习

你假设的条件是一个都不能不一样,对于每一列,那么一定是最多只能有一种情况。

 
 


 
 

有了上面一小节追踪的概念,我们来为这个下一个定义。

 
 

Bounding function:我们有一个成长函数,这个成长函数的breakpoint在k的位置,你告诉我这个成长函数最多最多有多少种dichotomies。

 
 

换句话说:我不想要管我的成长函数到底长什么样子,而关心的是在排列组合上我到底能做出多少种排列组合。

在换句话说:我有一堆的向量由ooxx组成的,长度是N;但是我做出一个限制:对于这些向量我只看他其中K个维度(K列)都不希望看到满情形(2的k次方种情况)。

 
 

因此有了 bounding function的性质,我们就可以替代成长函数的作用;因此我们需要证明的是这个bounding function是一个多项式成长的。

 
 


 
 

我们来看这个 bounding function,有两个参数,一个是N(有几个点),一个是k(breakpoint位置)。

 
 

我们已知的两个加进表格。

 
 


 
 

再来考虑 k=1,这也是知道的。

 
 


 
 

我们还可以填充表的右上半部分:当N比K还来得小的时候,你最多产生的是2的N次方种。

 
 


 
 

再看一下 N=K 的情况:其中k=1/2 已知,得出的理由是不能是全部,因此就是满选择减去一种(2的N次方-1),同样的道理可以填充所有的其他k的情况。

 
 


 
 

先来个小练习

这里想说的是bounding function是上限,不一定有等号的发生。

 
 


 
 

我们接下来就要开始填表中比较困难的部分。

 
 

譬如我们开始填表中B(4,3),来考虑它与前面已知的关系。想办法让B(4,x)与B(3,x)建立联系来解。

 
 


 
 

来程式化解决这个问题:

搜寻所有种可能性16种,然后在里面选,一个个加进去看是否符合假设,符合加入,不符合不加入。做法和前面的人工解释B(3,2)一样。

结果会如上面的左图,最多可以是11种情况,可以填入表中。

 
 

又有了更多的一种情况,再去分析表中B(4,x)与B(3,x)的关系

 
 


 
 

我们把这个B(4,x)的解做一个整理:

橘色的解是成双成对的;紫色的是形单影只的。

 
 


 
 

B(4,3)就是这两部分相加,分别用 alpha/beta表示。

 
 

如果我们只看x1,x2,x3的话,我们得到的情况如上面左图:原来成双成对的减半算成一个了,原来形单影只的还在。

 
 

再有假设:B(4,3)的意思就是任何的三个点都不能满选择。

也就是说这里上面左图的 alpha+beta 也不能满选择,也就是说 alpha + neta <= B(3,3)。

 
 

这里得到第一个 B(4,x) 和 B(3,x) 的关系。

 
 


 
 

我们再来考虑:只看橘色的部分的x1,x2,x3,不管紫色的部分。

 
 

(shatter的意思就是满选择,符合2的N次方的情况)

 
 

Alpha 部分 x1,x2,x3 如果 shatter 那么就是不符合条件,因此 B(4,3) no shatter 意味着 B(3,2) 也因该是 no shatter。

 
 

因此获得第二个相关关系条件: alpha < B(3,2)

 
 


 
 

整理起来得到的结论就是 B(4,3) <= B(3,3) + B(3,2)

 
 


 
 

再推到 N,k 的情况也符合: B(N,k) <= B(N-1,k) + B(N-1, k-1)

 
 

也就是说可以把表填满了,填的是上限。

也就是说我们知道了bounding function的上限。

 
 


 
 

有了上面的这些,我们就可以证明一件事情:B(N,k) <= 上限的上限组合多项式

 
 

上限的上限组合 的最高项就是 N的k-1次方。

证明的方式就是表格和上面的推导公式,数学归纳法。

 
 

因此就得到了我们的预期:B(N,k) 一定是一个多项式级别的递增。

 
 


 
 

然后再检查一下以前的例子是否符合现在的结论。

 
 


 
 

小练习

 
 


 
 

好有了成长函数,我们来考虑能不能把其上限函数丢到原来的公式里面,然后事情就解决了。

然而没有那么简单。

 
 

我们能得到的是青色公式。这个证明非常复杂,这里我们不来推导怎么证明,只来和大家解释原理和常数的来源。证明当中的一下技巧很值得学习,得到了这些常数。

 
 


 
 

证明有三个步骤,第一个步骤:

 
 

我们有兴趣的是坏事发生的几率,一堆h里面只要有一个不满足条件就是不好的。

Ein 是有限多个,Eout还是无限多个。因此我们不能直接使用上面的公式,我们需要把Eout也变成有限多个。

我们采用一个数据集D’来验证估计结果,D’也可以得到一个估计结果Ein’,我们看能不能让Ein’来取代Eout。

这是可以的

我们来看有右边图解:Ein好的都在Eout周围,坏的Ein远离Eout。现在我们求出的Ein如果验证的时候Ein’原理Ein,也可以看作是不好的,相反如果很近就是好的。

 
 

换掉Eout后就得到最上面的公式。

 
 


 
 

Ein属于D,Ein’属于D’。也就是说如果我的h在D,D’上面的结果好,Ein,Ein’就会很近,也就是说我们可以在H里面挑好的h了。

 
 

右边的图解讲的是:分门别类(以前讲过)

你使用untion bound每次会有一个错误,当你不考虑重叠的时候,你会觉得像中间的图一样到处是问题,但是你考虑顶点归类后其实如最右边的图。

 
 

这里就引入了mh(2N)

 
 


 
 

现在我们就有了一个固定的h,然后想知道两次sampling的差别。

 
 

也就是说我们抓2N个出来,然后比较差别,通过hoeffding。

 
 


 
 

总结来说我们证明了一个定理: Vapnik-Chervonenkis(VC) bound

 
 

整理一下上面的那些参数也就出来了。

 
 

到此,我们解决了2D的perceptrons的证明。还没有证明的是任意维度的perceptrons。

 
 


 
 

小练习

这里要说明的是,这里花了大力气来推导出的bound并不是那么的准的,如何做下一步的改进,请看下一堂课的内容。

 
 


 
 

小结:

只要你有一个breakpoint,他其实是对未来每一个的数量都加上了很大的限制,也就是上面公式的数学归纳法,最后可以得到上限可以用一个多项式来表示,这个多项式可以取代原来公式中的M,从而证明2维情况下有了一个breakpoint一定是可以学习的。

 
 

下节课我们继续来探讨breakpoint。

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

Machine Learning Foundations 5: Training versus Testing


 
 

训练和测试过程:

 
 

首先把learning拆解成两个问题: Ein/Eout相似;Ein约等于0

然后考虑合并M的情况能有几种,也就是成长函数 growth function

再考虑成长函数的性质,到底从哪里开始出现曙光,就是break point

 
 

 
 


 
 

上一节讲到在一定条件下机器学习是可行的。

这里开始探讨无限大的 h 会造成什么样的问题。

 
 


 
 

当前的learning的整个流程图:

学习算法透过学习资料和g,通过前面的概率理论基础选择一个h。

上一节加上了两个条件:

  1. 训练资料和测试方法都来自同样的足够大的资料集,保证Ein、Eout相似
  2. 选一个Ein最小的h就可以得到一个Eout最接近0的最好结果

即可达到学习的效果。

 
 

上面12分别解释一下其实就是:

  1. 让Ein 接近0,让结果符合当前资料
  2. 让Ein 接近 Eout,让结果符合未知的资料,测试更准确

 
 


 
 

回顾一下过去四堂课学的内容

  1. 我们的数据符合的是位置的规则f,我们的盐酸法希望找出的是g,两者接近。也就是Eout(g)接近0。
  2. 我们从已有的资料可以让 Ein(g) 接近0。
  3. 我们是在一个很特定的情况下去做机器学习,就是有哪些学习类别。
  4. 处理Ein/Eout的关系:Eout 接近 Ein 最好

     
     

这里是回过头来理一遍得出上面的相同的结论的过程。

 
 

这里我们是把learning的核心问题拆解成了两个问题:

  1. 到底Ein/Eout接近不接近
  2. 怎么让Ein变得越小越好

 
 

我们再来看 H(M) 就是 所有h的集合 的重要性。

 
 


 
 

M 的两种可能性是否能满足上面的两个核心问题:

  1. M 数字比较大:坏事情发生的几率增加了,不能保证Ein/Eout相似,有足够选择能有一个Ein=0。
  2. M 数字比较小:Ein/Eout可以很接近,Ein的选择很有限,不一定能有一个可以接近0。

 
 

这里看出了 M 的重要性,选择正确的 M 和学习结果有很大关系。

无限大的M根本不好learning。

 
 


 
 

所以到这里问题是:我们要想办法解决无限大的M的问题,选择一个合适的有限大的M解决问题。

 
 

我们要把无限大的M换成一个有限大的m来解决learning的问题。如果可以换,则可以通过有限的m来解决无限M的问题。

 
 

如果能换,按上一节理论就有可能可以做机器学习。

 
 


 
 

先来个小练习。

 
 


 
 

我们首先要回答的是为啥 M 无限大的时候,没办法learning。

 
 

推导:

我们有一堆不好的事情(Ein/Eout差距太大);

我们今天有非常多的h,通过上一节讲的方法,对于一个h把所有的会发生不好的情况的几率级联起来。

问题在于: 几率的级联 小于等于 各个独立几率相加

当M无线大且有很多不好的事情的情况下,右边部分很多项不是0,则加起来的总和很有可能是无限大。这样这个上限就没有任何意义。

 
 

这个上限的

 
 


 
 

我们来看看这个上限出了什么问题:

 
 

以前我们可以使用这个上限的原因是坏事情不会重叠。1好h发生坏事情的dataset和2号h发生坏事情的dataset是不一样的dataset。

 
 

但是这件事情不大对吧。

如果存在两个很接近的h的dataset,则:Eout(h1)和Eout(h2)就很会接近,Ein(h1)=Eout(h2),也就是说发生坏事情dataset可能长成上图那样,会有很大的重叠。

我们前面在做这个上限的时候没有考虑这个叠加的情况,这样就会造成我们的上显示 over estimate,就造成了我们没有办法处理无限大的M。

 
 

所以我们要找出这些重叠的部分。

做法是看能不能把无线多的h分成有限多类,每一类里面是长得差不多像的。

 
 

下面我们讨论怎么样来对h归类。

 
 


 
 

举个例子:

考虑平面上的分割线,有无限多条。

 
 


 
 

只有一笔资料,则如果从这笔资料看出去的话,只有两种线,说这资料是正1,说这个资料是负1。

 
 



再来考虑俩个点的情况,对于两个点整体来说就有四种线。

 
 


 
 


 
 

对于三个资料,则有8种情况。

 
 


 
 

但是如果三个资料在同一直线上,则如果线性可分的化,就只有6种情况。

 
 


 
 

对于四笔资料的情况,也要注意非线性可分的情况要去掉。

 
 


 
 

因此,我们如果只从资料点看出去的话,得到的划分情况是有限的。

 
 

注意点:对于N个资料点

是小于等于2的N次方,因为要去掉非线性可分的情况。

最好是比2的N次方小很多,则原来公示里面的无限大的 M 可以被有限大的数值取代掉,当N够大的时候,整个就接近0。也就是说基本上都是好事。

 
 

条件:这个有限数字要比2的N次方小很多。

以后会证明。

 
 


 
 

小练习 22 种情况。

 
 


 
 

前面讲的是在平面上用线区分,那么对于高纬度的区分方法,我们怎么来确定到底有几种区分情况。

 
 

一个hypotheses到底可以做出多少种dichotomy?

Dichotomy: 二分

 
 

我们把h用在N个点上,用 h(x1…xn) 表示,代表的是 Dichotomy,不是 hypotheses。

两者的区别见上面的表格:主要是将无限多变成了有限多。

 
 

我们接下来会用 Dichotomy 的大小来换掉M。

 
 


 
 

Dichotomy 的大小取决于预先选好的 x1, x2 … xn,作为理论分析最好移除掉对这个预设的依赖,因此我们算最多有多少种。

也就是说我们有各式各样x的可能性,我选最大的dichotomy的大小,用mh来表示。

mh在上面平面的例子就是最多情况的那个数值。

 
 

这里给mh取个名字叫 growth function,这个值一定是有限的,最大就是2的N次方。

 
 

那我们考虑下到底能不能真的把函数数值公式写出来呢?

 
 


 
 

先看一个简单的hypothese:positive rays。

 
 

我们的输入就是一维的实数

我取某一个门槛值来区分正负1,任意一个hypothese(门槛值)结果就不一样

 
 

那么用这个hypotheses,我给你N个点可以切处多少种不一样的dichotomy。

N个点都不一样的情况切出的数量最多,最多就是N+1种。

也就是成长函数的长相: mh = N + 1

 
 

注意 N+1 远远小于 2的N次方

 
 


 
 

再看一个例子: positive intervals

某一个范围内正1,其余都为负1.

 
 

同样这样子的成长函数可以直接计算出来,如上图。

 
 

同样注意: 这个成长函数比2的n次方小很多。

 
 


 
 

再来一个例子:conves sets

凸的几何体内是正的,其余为负的

 
 


 
 

把所有的输入排在一个圆圈边上,这样保证凸,就很容易区分。

 
 

因此这个成长函数是 2的N次方。

 
 


 
 

小练习

 
 


 
 

上面讲了四个不同的成长函数。

上面也讲了我们原来想要的是用成长函数去取代原来的无限大的M

 
 

看式子右边如果成长函数小到不再是指数,当N足够大,则可以确保这个式子就会约等于0。

所以上面的例子前两个可以保证这个式子约等于0,后面两个不行。

 
 

因此重点是确认成长函数到底是多项式形式还是指数形式。

 
 


 
 

我们想要找出这个成长函数中第一个看起来很有希望的点在哪里。这样的点叫做 break point。

 
 

举例子1中:

三个点8种情况,四个点最多小于16种情况,也就是从四个点开始漏出了小于2的n次方的一线希望,这时候叫做break point。

 
 

找到第一个 break point,后面的也就统统都是 break point

 
 

 
 


 
 

因此原来的四个例子的break point在哪里,紫色字体就是答案。

 
 

通过上面的观察

会有猜想:

没有 break point 的时候一定是指数形式。

有 break point 的时候我们的成长函数的速度大概和N的k-1次方有关。

 
 

下一课的重点就是来证明。

 
 


 
 

小练习

 
 


 
 

小结:

首先把learning拆解成两个问题: Ein/Eout相似;Ein约等于0

然后考虑合并M的情况能有几种,也就是成长函数

再考虑成长函数的性质,到底从哪里开始出现曙光,就是break point

 
 

下一次课就是要来证明是不是有break point的时候,成长函数就和一个多项式差不多,远小于指数结果。

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

Machine Learning Foundations 4: Feasibility of Learning

 
 


 
 

这里探讨的是:机器学习是否是可行的

 
 

一开始说机器学习做不到

但是加上一些统计上的假设,譬如资料的产生方式,表现衡量方法,就可以做推论做验证,就是机器学习。

 
 


 
 

上一节主要说的是机器学习的分类

这一节首先说什么情况下机器学习做不到,在做不到情况下怎样处理可以变的做得到。

 
 


 
 

首先看个小问题:

 
 

上面三张属于 -1 类,下面三张属于 +1 类

则下面的你会判断属于哪一类

 
 


 
 

答案是非常多的,根据不同的分类方式得到的结果是不同的。

 
 


 
 

再来一个例子:

 
 

输入是一个三个维度的向量,输出还是正负1

然后给了你5笔资料,则g会是怎样的?

 
 

做法可以是:

列出所有的可能性,然后标注5比资料,然后找一条线来区分资料。(类PLA算法)

 
 


 
 

你会发现符合5个资料的结果非常多,用他们再用来预测其他,结果会完全不一样。

 
 

想一下你会发现:

我们想要的不是把已知的都答对,而是对于未来的结果答对的最多。

我们如果不增加假设上面的问题就无法用机器学习解决

 
 


 
 

益智问题

 
 


 
 

答案:4

无答案

 
 


 
 

现在我们有个问题了,就是上面的问题机器学习做不到

 
 

因此我们现在要考虑的是:我们怎么去做推论

 
 

例如图:

有一堆弹珠,想知道里面的橘色弹珠比例占多少?

 
 


 
 

方法:

随机的抓一把弹珠,数一下看比例,就大概是罐子里橘色弹珠的比例。(推论)

 
 

所有数据 》 取样 》 样本结果v 》 数据结果u

 
 


 
 

U != V, 但是大概率情况下两者接近

 
 

接下来看数学表示:

 
 


 
 

定理: uv差距大于e的可能性很小

(具体可以见概率论)

 
 


 
 

右边这项与u无关,因此这个定理与我们不知道的假设无关,以保证准确

e设的大一点,右边的几率就更小

因此样本e够大的话,可以做出推论,uv基本类似

 
 


 
 

计算题

 
 


 
 

答案是 3

 
 


 
 

弹珠事件模型

  1. 不知道的橘色的真正占比 – 函数表示就是f,预测h是否与f一样
  2. 一堆弹珠(橘色弹珠,绿色弹珠)
  3. 做抽样

 

对应到 机器学习模型

  1. 目标f就是橘色真正占比,我们不知道,因此取值到某个x点上面。今天新来一个顾客,我们定义h来预测新来的这个的结果是不是橘色,看是否正确。
  2. 弹珠x,在这个x上面,h是否等于f,一样就是橘色,不一样就是绿色。我们就可以通过这个规则来标识弹珠。要做到这一点我们首先需要有一个固定的h。

    换句话说就是:我们手上有一个固定的预测函数h,就可以把任一弹珠x预测结果是橘色还是绿色。

    这样做的好处是:今天如果我们抓了100个球,就会有100次判断结果。

    这样就和我们的已有资料对应起来:我们已知的部分弹珠的结果加上正确的标记。

    这样就可以检查h的预测结果对不对。

 
 

结论:

如果我们的资料量够大,就相当于我们抓了一把够大的弹珠,

如果我们所有资料的x是独立的从某个地方取样出来,就相当于我们独立的从罐子里抽弹珠

那么我们大概可以说整体的h,f不一样的几率是多少,就相当于整个罐子里面h,f不一样的几率是多少。不仅仅是看得到的样本。

 
 


 
 

我们有一个几率来做从罐子里面取样,这个取样会用在两个地方:

  1. 取样产生了我们的资料
  2. 我们用这个同样的几率来衡量hf的相似程度

h就是从整个H里面的一个样本,然后我们就可以使用我们手上的资料来看hf是否一样。

 
 

Eout 就是来衡量 hf 在整个罐子里面到底一不一样

Ein 就是说在已有的sample上面 hf一不一样

 
 


 
 

这样原来的几率衡量公式可以改写成Eout、Ein的形式

 
 

说明:

这个公式对个个例子都是对的

我们不需要知道Eout,其实就是我们不需要知道f,P

 
 

这样我们就知道了:

如果Ein/Eout相似,Ein很小,那么Eout也就很小,那么如果继续从P产生资料的话 hf 还是相似。

 
 


 
 

从上面得到我们已经有的保证:

如果资料量足够大的话,固定的h的 Ein/Eout 相似。

 
 

那么在此基础上我们是否可以说 gf 是否相似,是否可以说是好的学习。g是h集合

是:选了一个固定的h有 Ein 很小,可推论到 gf 相似

否:问题是只有那个h可以做到,g可能包含很多其他的h,大部分其他h都会导致 Ein 很大。

 
 

因此:

真正的学习是有选择的选好的h

 
 


 
 

改了一下流程:重点是我们需要确认结果好不好

 
 

我们一样有资料,但是没有经过选择。

我们可以验证这个h的表现到底好不好。验证方法是再找一堆资料(verifying examples)看看这个h在这堆资料上面的表现到底好不好。这堆资料的产生和判断hf好不好的方式是一致的,那么你就可以确认这个h表现好不好。

 
 


 
 

联系:股票

 
 


 
 

答案 2

 
 

你可以选择未来的100天测试,如果其和过去十年类似,那么就可以赚大钱了。

 
 


 
 

上面讲到一个h的时候我们可以做验证

如果我们今天有很多个h的时候,则么办。

 
 

例子:

如果今天你有十个罐子,其中一个罐子抽出来全是绿色(全对),你要不要选他()是不是最好的答案。

 
 


 
 

举例丢铜板也是一样,你可以自己动手尝试一下。

 
 

譬如上课的这150个人每人丢5次,很可能出现丢五次五次都是正面,但问题是这个人的这块铜板真的比别人的好么?

 
 

你分析一下你会发现:

完全公平的铜板,上面这个情况,至少一个人出现5次正面的几率大于 99%,

但是如果你去选这150个铜板,你就会存在偏见,想去选那全对的(5次正面)的铜板。

 
 

所以:

上一节说道不好的这件事情很小,但是,这里你会发现:有选择的时候,这些选择会恶化不好的倾向。

 
 

解释:

原来只有一颗铜板,五个正面的几率是 1/32

现在你有150个选择,五个正面的几率是 > 99/100

这个五个正面的表现是不能正确反映分布的不好的倾向。

 
 


 
 

那什么是不好的资料

 
 

对于一个h

 
 

不好的sample例

铜板Eout就是1/2,但是五次正面在很多次的情况下会出现的几率很高,出现的时候Ein=0,差很远。

 
 

不好的data

表面看Ein很小,但事实Eout很大

 
 

好不好:Ein/Eout 的差距大不大

 
 

Hoeffding small 意思是:

把所有可能的资料列出一排(穷举),不好的资料加起来的几率很小。

 
 


 
 

如果今天有很多h,不好的几率会变成什么样子?

 
 

不好的资料:

演算法不能自由自在的做选择,就是很可能选到不好的那个。也就是说存在一个h的Ein/Eout差得非常远。

 
 

上图:

Hoeffding 告诉我们一行一行,bad加起来的几率不大。

竖着看,只要一列上面有一个不好的,就是overfitting,也就是说D1126才是好的,才是我们可以拿来使用的资料。

然后,我们更关心的是这个竖着的不好的资料发生的几率是多少?!也就是打问号的地方值是多少?

 
 


 
 

Pd(bad):表示的是只要对一个h来说是不好的资料的概率

 
 

如上图推导计算上限。

 
 

说明:

结论作用于各种例子都对。

我们不需要知道Eout是多少,也就是不需要知道p

每一个资料集都是安全的。也就是说,不管你怎么去做选择,你一定能选到一个g的Ein/Eout差不多。

 
 

因此:

最合理的演算法,就是选一个Ein(g)最小的g,因为这样基本表示 Ein/Eout接近。

 
 


 
 

于是我们终于可以做到一点点的learning了

 
 

意思是:

如果今天我们的h有有限多种选择,资料够多,那么不管我的演算法怎么选,Ein/Eout都会接近。

演算法就是找一个Ein最小的,就可以包装Eout也很小,就是期望的结果。

 
 

问题是:大部分情况下h是无限的,下面就会讲。

 
 


 
 

问题

 
 


 
 

答案是1

 
 


 
 

总结:

一开始说机器学习做不到

但是加上一些统计上的假设,譬如资料的产生方式,表现衡量方法,就可以做推论做验证,就是机器学习。

下面要讲是的h无线多的情况。

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

Machine Learning Foundations 3: Types of Learning


 
 

内容

  1. 根据资料输出结果不同来分类:classification,regression,structured
  2. 根据资料输出的标记不同来分类:supervised,unsupervised,simisupervised,reinforcement(增强)
  3. 根据取得资料的方法不同来分类:batch,online,active
  4. 根据资料输入的抽象不同来分类:concrete, raw, abstract

 
 


 
 

上一节讲到的是对于回答是非题,我们可以采用 PLA 来解决

 
 


 
 

先复习一下是非题:例如银行要不要给顾客发信用卡,给机器资料,机器给出答案要或者不要。

两种可能性习惯用正负1来表示。

 
 


 
 

用图来表示就是给出一堆有标识的点,机器会把区域划分成两部分分别表示正负1的区域。划分可以是直线曲线甚至其他不规则划分方式。

 
 

二元分类是最基本的问题。

 
 


 
 

那么如果我们今天不是要把问题分成两类,就是多类问题。

 
 

譬如分美元铜板,有四种。

如果我们给机器的是硬币的重量,如图所示,我们希望机器可以通过相关数据分硬币为四类。这就是 multiclass 问题。

 
 

其他例子:

手写数字分类 0-9

一张图里面是什么水果

电子邮件分类:重要的,社交的,广告的,等等

 
 

Recognition 领域有非常多的应用。

 
 


 
 

对于医院来说:

二元分类解决的是 这个病人生病还是没有生病

多元分类解决的是 这个病人得的是什么类型的病

 
 

regression解决的是 这个病人刚动完手术,大概要多久才能恢复

这里的输出是一个范围,这样的问题在统计里面就是回归分析

 
 

线性回归就是一个典型的回归分析。

 
 

回归分析应用:

预测明天股票的涨跌,天气的状况

 
 

这个问题在统计里面已经研究很多年,里面的很多工具会用到机器学习里面。

 
 


 
 

来更复杂的:自然语言辨识

写出一段话,能不能知道这段话里面每个词的词性。

自动词性标注是自然语言里面的重要问题。

 
 

如果输入是个句子,一个词的词性与所在句子的位置有关。

这是一种结构性关系,是一个结构性关系的学习与分类的问题。

结构化的学习

 
 

这个问题很复杂,但是应用很广泛。

 
 


 
 

简单总结:根据输出来分类,机器学习的问题可以包括:

是非题(0/1);

回归分析(n);

结构化学习。

 
 

下面讲得比较多的是是非题和回归分析的方法。这里分类不止这些,这里只是常用的。

 
 


 
 

图书馆门禁系统,分类人群做不同收费,根据人脸识别。

 
 


 
 

答案:2

四类别分类问题。

 
 


 
 

铜板加相关资料 喂给机器,然后机器给结果。

 
 

这样的方式是 监督学习

 
 

这是一个完整的教学,告诉你是什么铜板,每个铜板的特点是什么,然后让你去学习。

 
 


 
 

这里是非监督学习,聚类

 
 

告诉你这些都是铜板,让你自己想办法分类。不是教你说各个类别有什么特点,然后告诉你应该怎么分。

 
 


 
 

分群是一个相对比较难的。因为你都不知道要分几类,该怎么定制划分标准。

 
 


 
 

非监督学习,就算不用输出,我们也可以通过资料来学出一些东西。

 
 

譬如说分布的疏密,可以应用于交通导流。

譬如说找出不合群的,可以用于网络安全里面找出入侵者。

 
 

非监督学习的实现方法更多样。

 
 


 
 

混合方式(混合监督学习,非监督学习):半监督学习

 
 

做法是有一堆资料,只有其中一些是已经知道的分类的,剩下的不知道。

这个应用很广泛,譬如一大堆照片,已经人工分类了一些,然后机器自动去区分剩下的所有,来根据资料本身特征和少数标记的资料来区分。

 
 

上面三种时最基本的学习方式。

 
 


 
 

一种不一样的机器学习方式:

 
 

你想一下你是如何教宠物坐下的。你很难直接输出指令让宠物听懂,也不能去示范教学,但是可以通过惩罚机制来告诉宠物的选择是否正确。

 
 

这里注意的是两点:

你每次都是告诉宠物对还是不对,分类标准不是最期望的而是相对正确方向的。还要有惩罚奖励机制。

 
 

譬如:输入广告系统,用户点击就是好,不点击就是不好,很多轮以后学到的就是一个用户比较喜欢点击的广告系统。

 
 

这样的学习动作是序列化的发生的。

 
 


 
 

至此一共是四种学习方式:

  1. 监督式(核心)
  2. 非监督试
  3. 半监督试
  4. 增强试

 
 


 
 

一个公司做树的辨识系统,是一个什么样的问题?

 
 


 
 

答案3

 
 


 
 

Batch Learning

 
 

收集一堆完整的资料并手动分类,然后喂给机器得到g,然后后续分类使用这个g来分类。

 
 

特点是:

成批喂资料给机器分类

 
 


 
 

应用:

收集一堆分好的电子邮件来学习,医院癌症病人资料来学习,等等

 
 


 
 

但是很多时候的应用是:

 
 

今天你收到一份邮件,机器判断是不是垃圾邮件,你回答是不是,根据你回答的结果来调整g,明天再来几分邮件,在用新的g来判断新的。

 
 

特点:

线性的线上学习方式

 
 

PLA 非常适合改造成线上学习这种方式。

增强试学习就是这种线上试学习方式。

 
 

这里我们希望的是每一轮的g越变越好

 
 


 
 

哲学上:

batch:填鸭式教育

online:启发式教学

但是从机器的角度,这两种方式都是被动的学习。

 
 

这几年新的发展方向:让机器问问题,主动式学习

 
 

上面的橙色线:机器提问我有一个输入,然后你得回答机器是什么,来高效率的提升学习能力。

 
 

使用的场合也是资料标注很贵的场景。

 
 


 
 

总结:和机器沟通的方式

Batch

Online

Active

 
 

这课主要在batch的方式。

 
 


 
 

想要标记照片分类

 
 


 
 

答案 3

 
 


 
 

最后一部分谈谈 输入的部分有些什么样的变化?

 
 

信用卡的问题:输入就是申请资料(concrete feature:可以数字化的资料)

 
 


 
 

铜板:大小,重量

信用卡:过去信用资料

癌症:病人病历

 
 

通常都带有人类的智慧,专业知识。(domain knownledge)

 
 

这些都是比较简单的问题

 
 


 
 

例如:手写数字的辨识

 
 

这里输入会是:

对称性,密度(所占多少格)

 
 


 
 

譬如区分1,5两个数字,密度就可以区分的很好。

 
 

以上这些都是 concerte feature

 
 

还能怎么做:图片变成 16*16 的格子取0、1表示是否填充,拉升出来就是一个256位的向量。

这里就抽象化了,常用于视觉声音。

 
 

资料抽象化抽取特征

人做:特征工程

机器做:深度学习就是在大量的非监督学习资料里面抽取特征。

 
 


 
 

最困难的:非常非常抽象

 
 

预测每个使用者给每部歌曲几分

 
 

输出是0-100的实数

输入:使用者和歌曲分别的编号和分数,可以看作一张图表

 
 

因此我们要做的就是 帮助使用者抽取歌曲的特征,然后再根据歌曲特征和用户喜好再匹配学习。

 
 

这个方式也很实用,特征抽取更抽象。

 
 


 
 

总结:三种不同的输入形式

  1. Concerte
  2. Raw
  3. Abstract

     
     

 
 


 
 

线上图像学习

 
 


 
 

答案 4

都可以考虑

 
 


 
 

总结见开头

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

Machine Learning Foundations 2: Learning to Answer Yes/No


 
 

内容:

 
 

线性可分相关处理

详细介绍了 PLA 以及变形:口袋算法

 
 


 
 

上一讲说的就是

 
 

机器学习 通过演算法A学习资料D,从H集合里面选择最符合数据D表现的G

 
 

今天讲的是怎么样的机器学习算法可以做是非题?

 
 


 
 

先来复习一下机器学习流程图

 
 

那么具体的H会长什么样?

 
 


 
 

这里给大家介绍一个模型:

 
 

每个使用者一个x是一个向量,每一个维度表示的是一个衡量值。

我们把维度综合起来算一个分数,分数总和超过一定的数值就过关,给他发信用卡。

 
 

分数 = 加权和(维度x * 维度重要性权值w)

 
 

这里我们用两个值来表示:好的(1)不好的(-1)

这样判断就可以公式化为h:sin(上面的加权和 – 门槛值) 结果就可以来判断好坏

 
 

h 叫做 perceptron(感知器):一个可能的公式G

 
 


 
 

简化:

 
 

把门槛值也当作特殊的 W0(权重)* X0(数值)

由此符号化表示就可以简化为如上面的投影片表示。

要注意的是这样的话就是从0维度开始。

 
 

下面可视化一下h长什么样子

 
 


 
 

最上面是 一个二维的h的示例

然后画出图

圈圈叉叉代表1和-1

h表示的是正负切换位置,就是h = … = 0 二维的情况下就是一条直线。

用直线来划分预测,每一条线就代表一种预测方式。

 
 

Perceptrons(感知器) 就代表了上面的一条线:因此也叫做线性分类器。

 
 


 
 

小测验:感知器用在垃圾邮件分类,下面哪个维度权重高会比较好

 
 


 
 

答案 2

那些字常在垃圾邮件中出现。

 
 


 
 

从 H 选择最好的 g

最好的g就是F, 如果知道F那是最好,可惜并不知道,因此目标就是获得最接近F的G。

 
 

但是我们所拥有的资料就是从F产生的,因此我们可以找一条线完全满足现有的资料所展示的信息。

但是这做法存在的问题:有无限多解。

 
 

因此可以考虑的是:有一条线在手上,然后根据已有数据去修正,让它变得更好。

 
 

用w0看来表示一开始的线。

 
 


 
 

找到某一个点

如果当前的线 wt(第t次的结果) 在这个点上犯了错误:用线判断的结果和数据结果不一致。

那么做修正:

预期是正,结果是负:w+x 结果

预期是负,结果是正:w-x 结果

这就是更新的公式

直到找不到新的错误的点,则表示得到了最终的结果的线,就是g。

 
 

上面就是 PLA 算法的基本原理:知错能改演算法。

 
 


 
 

实现:

 
 

从第一个开始一个一个往后判断再回旋回来,知道走完N个都不存在错误,则表示结束。

还有其他很多方式都可以。

 
 


 
 

举个例子:

 
 

XXOO 已有资料

看能不能通过刚才的方法找到那条线。

 
 


 
 

第一步

找第一个点,只有这一个数据,这个方向是全对的,则就是找从原点(画面中心点)到这个点的向量的向量就是wt。

注意:分割线是向量w的垂线。

 
 


 
 

第一轮的判断结果。

然后在此基础上找错的点,黑色那个点。

然后根据算法:

红色向量,黑色向量 取中间向量

得到w(t+1)

 
 

 
 


 
 

在上面的结果上找错的点

同样方法再去找错误点,再修正。

 
 


 
 

下面就是再看再修正。

这个算法就是一次就看一个点,因此也有可能中间部分步骤的结果反倒更差。

 
 


 
 

 
 


 
 


 
 


 
 

 
 


 
 

 
 


 
 

但是到最后,能得到一个完美的线。

 
 

注意:为了视觉效果,这里给的一个条件就是xi都比x0大。这个条件是只为了视觉效果才这么搞的。

 
 


 
 

问题:

这个演算法一定会停下来么?

就算这个演算法会停下来,但是结果是不是我们想要的 g 最接近 f 么?

 
 


 
 

小测验:

给上面两条,则下面哪一条一定是对的?

 
 


 
 

第三条:两边同时乘上ynxn
 


 
 

接下来看PLA 什么时候会停下来?

 
 

停下来的条件:有一条线可以区分数据。也就是线性可分。

 
 

上面只有图1是线性可分。

 
 


 
 

假设有一条线,看PLA会不会停下来。

 
 

Wf 是目标线:


符合上面橘黄色公式,则表示完美的线性可分,统统切开分隔两边。

 
 

完美切分意味着:


  • 每一个点乘上到线的距离都>0, 犯错误的点到线的距离>=每一个点乘上到线的距离


  • 内积:找出一个错误的点做更新,按照上面的公式做第一步变换,因为大于0再做变换。

 
 

结论:两个向量的内积越来越大。

 
 

这边还不能得出结论:两个向量越来越靠近,因为还存在向量长度的影响。

 
 


 
 

PLA 特性:


有错才更新。

 
 

跟新:


根据上面黄色公式变换,会<=0再变换,中间蓝色这项则表示不会成长数值,红色表示最大涨幅。 yn可以处理掉(正负1平方值都一样不影响结果,最终就看点到分割线的距离的平方。)

 
 

上面两页PPT结果合并起来计算:


就是正规化的内积:就表示两个向量越来越靠近。

同时内积也不会无限上涨,因为正规化内积最大为1.

 
 

因此就证明了这个演算法会停下来。

 
 


 
 

练习:这个PLA跟新多少次停下来?

 
 

R平方:半径平方

row:目标线的法向量和每个点的内积,线性可分则这个值一定大于0

 
 


 
 

答案是2

 
 


 
 

上面证明的结论:

 
 

如果资料线性可分,PLA每次挑一个错误来修正,则PLA会停下来。

 
 

好处:

算法简单

 
 

坏处:

必须要线性可分

而拿到资料的时候我们根本不知道是不是线性可分。也不知道多久会停(上面推倒多久会停包含wf, 而wf我们根本不知道)

 
 


 
 

这里想说:

我们在收集数据的时候本身就可能包含杂讯。

也就是说就算我们原来的f是一条线,则根据资料也得不到一条线。

 
 


 
 

一般来说假设杂讯比较小。也就是说 y f 基本相同,也就是说我们找到的 g 也要基本相同于 f

 
 

也就是说我们要找的是一条犯错误最小的线,而不是不犯错误的线。

 
 


公式表示的就是错误最小,

这是一个np问题。

 
 

机器学习研究方法的方向目前只能是

就是去找比较好的方法,而不是完美的方法。

 
 


 
 

口袋算法(贪心算法)

 
 

手上抓着一个,然后去找下一个,更好保留,不好丢掉,直到你觉得足够好就停下来。

 
 

这方法不需要线性可分这个条件。

 
 


 
 

可以PLA的用口袋算法,损失的是什么?

 
 


 
 

Pocket 比 PLA 慢。

 
 


 
 

总结:

 
 

介绍了线性可分

介绍了对应算法:PLA pocket 算法

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

 
 

Machine Learning Foundations 1: The Learning Problem


 
 

课程基本信息

 
 


 
 

机器学习 学习的两条路径

 
 

理论:数学之美,但是不会用

方法:直接一个一个例子使用,但是不知道该在什么情况下用什么。

 
 


 
 

这门课里面是从基础切入。

每一个学习机器学习的人都因该会的东西。

不代表简单。

 
 

想听一个故事一样听课:

从问题出发,什么时候用得上机器学习,为什么这时候会用机器学习,机器学习是怎么样做的,怎么样让机器学习的更好。

 
 


 
 

NTU课程安排:

 
 

15-17周,每周两小时。

流程图表示的是学生专业分布。

 
 

Coursear课程安排:

 
 

前八周基础,后八周另开一门课讲应用。

从黑板教学变成投影片教学。

 
 


 
 

测验小问题。

 
 


 
 

答案:XXXV

 
 


 
 

开始讲第一部分:

 
 

我们什么时候用机器学习?

 
 

 
 


 
 

到底什么是学习?

 
 

学习是从观察出发,经过脑袋的转化过程,最后变成有用的技能技巧。

机器学习就是模拟上面的学习过程。电脑通过对数据的观察,来变成电脑的处理技巧。

 
 


 
 

技巧是什么?

对于某种表现的增进。

 
 

机器学习的过程就是从数据出发,通过运算得到某种表现的增进。

 
 

例子:电脑通过对股票数据的学习,来获得股票分析的增进,告诉你怎么炒股赚钱。

 
 

在这个定义之下,我们为什么要使用机器学习?

 
 


 
 

这张图里面是什么?

 
 

大家都知道是树,那么我们怎么去定义树?

 
 

如果我们要让机器认知到树,那么我们就必须去定义树的规则。而我们自己去手动的定义这个问题告诉电脑,然后电脑根据这个定义做分析,这个工作量几乎不可能实现。

而作为人的话,比如小孩是自己通过观察去了解到这是树,而机器学习就是来模仿着一个过程,让机器自己去学习了解这棵树,这会比较可行。

 
 


 
 

机器学习有如下方向应用:

 
 

有的系统很难去定义规则,人对其相关工作了解有限:比如火星车会遇到的问题。

人对其规则难以定义和表述:视觉和听觉

人想都没想过的事情:股票高频交易

个性化的提供服务。

 
 


 
 

机器学习的三个关键:

 
 

用来判断这个问题是否适合使用机器学习。

 
 

  1. 有某一种表现可以增进,有学习目标。
  2. 我们不知道怎样写下规则。
  3. 我们要有数据资料。

 
 


 
 

小测验:这些例子是否适合机器学习。

 
 


 
 

答案:XXVX

 
 

第一个表现难以增进,第二个有规则容易看出来,第四个没有数据资料。

 
 


 
 

机器学习应用:衣食住行 四大领域

 
 

从twitter上分析出餐厅好坏

学习怎样搭配衣服好看

预测房子的能源消耗

自动辨识交通信号灯,提升准确率

 
 


 
 

再来例子:教育

 
 

线上答题,系统自动知道学生会了什么,还不会什么,提高再学习效率。

 
 

解决方法:

正确率 = if ( 学生等级 > 题目难度 )

然后通过已有以分类资料来判断

 
 

当年台大拿下比赛第一

 
 


 
 

最后一个例子:娱乐

 
 

推荐系统

推荐给使用者更喜欢的电影

 
 

Netfilx 美国线上最大的电影租借公司

分享数据来让大家比赛,提升推荐解决方案

Yahoo music 也做了类似方法

 
 


 
 

我们怎么决定喜不喜欢这部电影

 
 

一种解决方案:

 
 

喜好 约等于 电影特征组合

人:描述成一串特征数字

电影:相同描述成一串特征数字

内积分数越高则表示会越喜欢

 
 

11 年台大又拿了第一名

 
 


 
 

小测验:哪个领域用不到机器学习

 
 


 
 

答案是都用得到

 
 

机器学习完整流程

 
 


 
 

接下来讲机器学习比较具体的长什么样子,就是机器学习完整流程。

 
 

这边举个例子是银行对信用卡使用者的分析

 
 

上面是一张申请表,机器学习希望通过这些数据来决定要不要给这个人发信用卡。

 
 


 
 

符号表示方法

 
 

X : 输入(申请人)

Y : 答案(要不要发卡)

F : 目标函数(目标,但是得不到)

D : 数据资料

G : 假说函数(机器学习学到的函数,理想就是等于F),然后用G来做判断

 
 

最后是机器学习做法的符号化表示

 
 


 
 

详细过程

 
 

数据资料 -> 机器学习演算法 -> 得到G(fg越像越好)

 
 

G 一般长什么样呢?

 
 


 
 

举三个G的例子:

年收入大于80万的给信用卡

负债大于十万的给信用卡

工作年限小于两年的给信用卡


所有的称H

 
 

机器学习演算法A:

从上面的一堆假设里面找出一个最符合当前已知数据的,当作G

 
 

机器学习模型:A & H

 
 


 
 

机器学习具体定义:

 
 

从资料出发,算出G要很接近期望的f

 
 


 
 

小测验:哪个是哪个表示

 
 


 
 

答案 2

 
 

机器学习和相关领域

 
 


 
 

Data mining:通过数据找出一些有趣的事情

 
 

比较两者定义

 
 

如果 有趣的事情 = f 则 两者一致

如果 有趣的事情 related to f 则相互帮助

DM 通常关注于有效的快速的计算大数据

 
 

两者密不可分

 
 


 
 

AI:通过计算做一些聪明的表现

 
 

机器学习是实现人工智能的一种方法

 
 


 
 

统计学:通过数据做推论

 
 

统计是实现机器学习的一种方法

 
 


 
 

小测验:3是对的

 
 


 
 

总结:这里讲了四个问题

定义

应用

描述

与其他领域的关系