《机器学习基石》课程学习总结(一)

《机器学习基石》课程非常棒,作为总结,本文重点是梳理课程中的知识脉络,同时尽可能说白话,让没有机器学习背景的朋友也能看懂。

这个课程好在哪里?

1、最大的好

课程内容组织非常科学,就像一个故事,有着清晰的主线。课程共16讲,基本是按照四个问题的顺序来展开的,即:

  • When:机器学习能解决哪些问题(1-4课)
  • Why:为什么机器学习能解决这些问题(5-8课)
  • How:怎样用机器学习来解决这些问题(9-12课)
  • How better: 怎样更好地用机器学习来解决这些问题(13-16课)

这条主线就像旅行者手中的地图,时时告诉你当前所处方位,从什么地方过来的,下一步要往哪里去。整个课程浑然一体,连贯不可分。对我这样的初学者,有了主线的帮助,能够快速构建机器学习完整的知识体系,为下一步的学习打下坚实的根基,这也是本课叫《机器学习基石》的原因。

2、其他的好

1、幽默诙谐的语言

林轩田具有传道授业的天赋,讲课风格非常轻松幽默,充满热情,享受其中,听课者很容易被感染而激发起学习的兴趣。

2、善于用图和示例化难为易

机器学习涉及许多数学知识,每当此时,林总会用很多图和浅显的例子,将数学知识背后的观念揭示出来,时刻注重数学在机器学习中的工具属性,没有陷入为数学而数学的陷阱,这对初学者是非常友好的。

3、善于总结

每课开头都会用一句话来回顾上一课内容,非常精辟准确;每课结束都会简要回顾本课的要点,同样言简意赅。尤其是对整个课程的总结:“6个3”,让人拍手叫绝!

2、以银行卡信用卡开始

向银行申请信用卡的人具有一些特征,比如性别、年龄、工作年限、工资水平、是否负债等,这些特征可以抽象为(x1, x2, ..., xd)。

在银行看来,申请人无非就是好的申请人和坏的申请人,好的申请人就给他发卡,坏的申请人就拒绝发卡。

那么问题来了,如何根据申请人的特征信息判断他是好是坏?

答案便是用机器学习,具体思路如下:

首先,假设存在一个完美的函数f,它的输入是申请人的特征信息向量X(大写的X表示向量),输出是要不要给申请人发卡,YES就代表可以发卡,NO代表不应发卡。这个完美的函数在课程中叫做target f。哇!要是能找到这个函数,发卡问题岂不是迎刃而解?

理想很丰满,现实很骨感,我们只是凭直觉感到冥冥之中有这么一个完美的f存在,但却并不知道它的真面目,所以,我更愿意称它为上帝函数(god f),因为它是我们无法得知的,只有上帝知道。

但是,上帝给你关上一道门的同时,总会给你打开一扇窗的。虽然无法看到f的庐山真面目,但它还是有一些线索的,这就是银行中已有的发卡数据,这些数据就是一个个发卡人的特征信息以及发卡后的结果好坏。这些数据称为D:{(X1,y1),(X2,y2),...,(Xn,yn)}(这里用大写的X表示这是一个竖向量),这些X可以认为是f的输入,y就是f的输出。

机器学习的核心问题就是:如何根据D找出一个函数g,使得g尽可能地接近f,此时,函数g称为假设(hypothesis)。全书都是在围绕这个问题展开的。

我的感觉,f是一个深闺中的少女,D就是深夜少女在窗户上映出的影子,我们的任务就是根据这个不完整还晃动的影子临摹出少女的模样,虽然无法达到一模一样,但求惟妙惟肖。

现在的问题是,如何找函数g?

首先,我们需要一个函数集以供我们查找挑选,这个函数集称为H,也称其为假设集(Hypothesis Set)。其次,我们需要一个算法A,它根据数据D,在H中挑出一个最好的g,所谓最好,就是指与f最像,所谓最像,是指任意给定一个输入数据d(这个d不一定是D中的数据),g和f的输出结果有很大概率是相同或相近的。

由上,可以总结出机器学习的简明概括:

算法A利用D,从H中挑出一个最好的函数g,使得g尽可能地像f。如下图所示:

3、找出函数g的第一个办法--PLA算法

为了找出函数g,我们先要确定g的范围,即H,我们发现,函数集H中的函数有一个共同的特点:输入是一个d维向量X,输出只有两个结果YES或NO,也可说是+1和-1 。这样的函数有一个专有的名字,叫感知器(Perceptron),H也就可以叫做感知器集合。

考虑银行发放信用卡,我们很自然的一个想法就是根据用户个人特征信息给用户打分,不同的特征信息有不同的权重,分数大于某个值时,就发卡,小于该值时,即拒绝发卡即:

将上式进行如下变形:

上面的式子中,X和W都是一个d+1维的竖向量,其中x0 = +1,w0 = -threshold。x1xd就是用户的d个特征信息,w1wd就是相应特征信息的权重。

上面的式子最大的作用就是帮助我们确定假设集H(Hypothesis Set)。每个W对应一个假设h(X),所有可能的W组成了所有可能的假设,所有可能的假设就是我们要从中挑选g的假设集。

现在,挑选最好的g,转变成了挑选最好的W,那么怎么挑选呢?W有无穷多个,我们必须确定一个可操作的挑选标准。

一个合理的挑选标准是,看这个W(也就是h(X))在数据D上是否与f保持一致,越一致的W越好,最理想的结果是,对于D中的任一个数据(Xn,yn),都有h(Xn)=yn=f(Xn)。PLA算法的思路就是找到一个这样的W,使它满足最理想的结果,具体步骤是从一个W0出发,不断地调整它,直到达到最理想的状态。伪代码如下:

上述代码中,对于Wt,每当发现它在一个数据上与f表现不一致时,就对它进行调整,得到Wt+1,如此循环,直到对于D中的任一个数据(Xn,yn),都有h(Xn)=yn=f(Xn),将此时的W(称作WPLA)返回,作为我们要找的函数g。

这个算法中最难理解的是对Wt调整得到Wt+1这一步,为理解它,需要我们再次审视h(X)=sign(WT*X),WT*X实际上就是向量W和向量X的内积。学过线性代数的我们知道,内积为0时,两个向量相互垂直,内积大于0时,两个向量夹角小于90度,内积小于0时,两个向量夹角大于90度。所以h(X)为+1时,表示W与X夹角小于90度,为-1时,表示W和X的夹角大于90度。

回到上面的伪代码中,假如我们发现了一个数据(Xn,yn),在这个数据上,sign(WT*Xn)与yn不相等,简便起见,我们假设sign(WT*Xn)为-1,而yn为+1(相反情况也是类似的分析)。这说明我们目前的W还不够好,需要调整,怎么调整呢?

sign(W^T*Xn)为-1 说明W和Xn的夹角大于90度,yn为+1说明我们理想的W和Xn的夹角应当是小于90度的,所以,我们要减小W和Xn的夹角,方法就是将W加上Xn作为新的W。那么,是否新的W和Xn的夹角就小于90度了呢,这不一定,不过,新的W和Xn的夹角总是变小了一点,离我们理想的W更近了一点,随着循环次数的增加,我们相信,二者夹角总会小于90度的。

上面分析的过程用图说明如下:

PLA算法有一个明显的弊端,就是理想的W不一定存在,我们有时候不可能找到一个W,它在D上与f表现完全一致,这个时候,算法中的循环将不会停止。

什么时候会存在理想的W呢?

这取决于数据集D,如果数据集D使得这样的理想W存在,我们就称D是线性可分的,否则,就说D不是线性可分的(linear separable),示意如下:

即使D是线性可分的,存在理想的W,我们的PLA算法一定能够找到理想的W并停止吗?答案是YES,但这涉及到一定的数学证明,这里不再细述,课程中有讲解。

原文发布于微信公众号 - 人工智能LeadAI(atleadai)

原文发表时间:2018-02-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数说工作室

异常值检测

之前发过一篇讨论文章——异常值怎么整。 在原文评论区里(戳此→异常值怎么整?| 讨论)得到了各位大大的指教,数说君也受益匪浅,现在整理一下供大家参考: 聚类 ...

2705
来自专栏AI科技评论

干货 | 不能更通俗易懂的机器学习名词解释

train? valid? or test? 机器学习最明显的一个特点是需要大量的数据。特别对监督学习来说,就是需要大量的带标签数据(labeled dat...

3337
来自专栏专知

【NAACL2018最佳论文】忘掉Word2vec吧!艾伦人工智能研究院新词向量学习方法,一文了解各大奖项论文

【导读】当地时间6月1日到6月6日,第十六届自然语言处理顶级会议NAACL - HLT(Annual Conference of the North Ameri...

773
来自专栏大数据挖掘DT机器学习

机器学习有很多关于核函数的说法,核函数的定义和作用是什么?

作者:蓦风 链接:https://www.zhihu.com/question/30371867/answer/73508853 机器学习,具体以RBF网络里...

3265
来自专栏人工智能头条

家里有两只猫给挖坑,还有世界美食的诱惑,我就被无监督学习彻底收服了!

【导读】无监督学习是推断描述“未标记”数据的分布与关系的机器学习任务,即给予学习算法的示例是未被标记的,因此没有直接的方法来评估算法产生的准确性。无监督学习根据...

512
来自专栏AI科技评论

简简单单,用 LSTM 创造一个写诗机器人

AI 科技评论按:人们已经给神经网络找到了越来越多的事情做,比如画画和写诗,微软的小冰都已经出版了一本诗集了。而其实训练一个能写诗的神经网络并不难,Automa...

2747
来自专栏AI研习社

入门必读的机器学习名词解释,你都懂了吗?

train? valid? or test? 机器学习最明显的一个特点是需要大量的数据。特别对监督学习来说,就是需要大量的带标签数据(labeled dat...

3324
来自专栏数说工作室

训练集是题库,测试集就是高考!| 不能更简单通俗的机器学习名词解释

1. train? valid? or test? 机器学习最明显的一个特点是需要大量的数据。特别对监督学习来说,就是需要大量的带标签数据(labeled da...

3928
来自专栏目标检测和深度学习

OCR技术综述

最近入坑研究OCR,看了比较多关于OCR的资料,对OCR的前世今生也有了一个比较清晰的了解。所以想写一篇关于OCR技术的综述,对OCR相关的知识点都好好总结一遍...

5448
来自专栏专知

【AlphaGo Zero 核心技术-深度强化学习教程代码实战05】SARSA(λ)算法实现

【导读】Google DeepMind在Nature上发表最新论文,介绍了迄今最强最新的版本AlphaGo Zero,不使用人类先验知识,使用纯强化学习,将价值...

2666

扫描关注云+社区