李宏毅2020机器学习笔记

视频链接

b站视频链接

主要授课内容

屏幕快照 2020-07-09 18.08.42.png

第一讲(P1).Course Introduction

一、机器学习的基本概念

1.什么是机器学习?

机器学习就是自动找函式。例如:
屏幕快照 2020-07-09 14.50.43.png

2.你想找什么样的函示?

要找的函示不同,机器学习的任务也就不同。例如
两个选项,返回值只能为pos或neg
多个选项,返回值为Class 1-N的其中一个

3.机器学习不只有两类任务

很多教材认为机器学习可以分为两大类任务:
Regression:返回一个数值
Classification:让机器做选择题
但是!除此之外还有机器学习还有一个十分重要的任务,那就是:
Generation:产生有结构的复杂的东西(例如文句、图片)

4.怎样告诉机器你想找什么样的函示?

1.Supervised Learning

通过给数据添加lable的方式告诉机器你想要的函示,告诉机器你想要的理想的正确的输出就叫做给数据添加lable。提供给机器这些有lable的数据进行学习就叫做Supervised learning。
需要提供训练集

函式的loss可以用来评估一个函示的好坏,Loss是通过对训练数据的测试得出的,它可以看成一个函示的错误率,但实际计算起来要比单纯的计算错误率要复杂得多。Loss越小越好,一个函示的Loss越小,代表它越接近我们心里想要机器找出来的那个function。机器会自动找出那个Loss最低的函示,课中会讲到机器用什么样的演算法找到这个function。
屏幕快照 2020-07-09 15.20.55.png

2.Reinforcement Learning
以Alpha go为例来展示Supervised Learning与Reinforcement Learning的区别:

Supervised Learning需要给出机器每一种情况落子的正确位置。而Reinforcement Learning就是让机器自己跟自己下或者跟别人下,通过“积累经验”的方式来找出每种情况落子的最佳位置,这个过程是没有人为干预的,机器需要自己想办法寻找策略,自己想办法精进自己。机器的输或赢就是Reward,这就是引导机器学习的方向。
屏幕快照 2020-07-09 15.35.15.png

3.Unsupervised Learning
给机器一堆没有lable的data

5.机器怎样找出你想要的函示?

1.需要给机器一个函示寻找的范围。不是所有函示都有可能是好的函示。常见的寻找范围有Linear architecture,Network architecture(如RNN和CNN)
2.运用寻找函数的算法。这门课运用的算法为Gradient Descent和pytorch框架。

二、机器学习的前沿研究

这门课涉及的机器学习的前沿研究如下

1. Explainable AI

以上面图片识别的机器学习为例,Explainable AI就是说机器不仅可以识别出一张图片是猫,它还可以解释为什么它觉得这张图片是一只猫。

2. Adversarial Attack

现在的图像识别系统大多都很robust,就算图片中添加了noise还是可以正确识别。Adversarial Attack就是说如果人类怀着恶意去攻击这个系统(刻意增加难以识别的noise)会发生什么事。

3. Network Compression

现在一些一通在做图像辨识也许可以得到很高的正确率,但是这个正确率可能来自于一个十分硕大的model,Network Compression就是研究能否将这个巨大的network压缩以致于可以将它放到手机甚至更小的base device上。

4.Anomaly Detection

还是以上面的图片识别系统为例,Anomaly Detection就是说,假如给这个系统一张奇奇怪怪的训练中没有见过的图片(比如一拳超人),那么这个系统能做出判断说它不知道,也就是机器知道“我不知道”,而不是将这张图片强行识别成一种动物。

5.Transfer Learning

现在的情景是,给你一些资料,这些资料氛围training data和Testing data,我们在进行测试的时候使用的training data 和testing data是十分相似的,而如果客户并不知道这一点,使用了和训练数据差别比较大的测试数据,那么这个系统的正确率可能会暴跌。Transfer Learning研究的就是如何解决这个问题。
屏幕快照 2020-07-09 17.32.49.png

6. Meta Learning

Meta Learning比机器学习更进一步。机器学期是让机器具备学习的能力,而Meta Learning是让机器学习如何具备学习的能力。
屏幕快照 2020-07-09 17.47.19.png

那么我们为什么要让机器自己去学习如何学习呢?这是因为现存的学习演算法都不是十分有效率,虽然现在有很多人工智能的出色结果,但那都是机器勤奋不懈的结果。现在的机器的学习都不是特别有效率,现在的演算法都是人类设计出来的出来的,由于人类的智慧有限,所以设计出来的算法学习起来也许并不十分有效率,而Meta Learning就是让机器去自己设计学习演算法期待比人类设计出来的更加有效率。
屏幕快照 2020-07-09 17.52.09.png

7. Lifelong Learning

Lifelong Learning研究的是让机器终身学习。
屏幕快照 2020-07-09 18.05.47.png

第二讲(P3)Regression

1. Regression的输出是一个标量。

例如:
屏幕快照 2020-07-10 16.26.55.png

2. 示例应用

设计一个function来预测Pokemon的CP。其中,x代表以某一只Pokemon,xcp为这只Pokemon的当前战力,xs代表这只Pokemon的种类,xhp代表这只Pokemon的生命值,xw代表它的重量,xh代表它的高度,最后的输出y为进化后的CP。

屏幕快照 2020-07-10 16.29.40.png

步骤为:
第一步,定义一个model(function set)。
第二步,评估model里function的好坏。
第三步,找出一个最好的function。
屏幕快照 2020-07-13 11.21.43.png

x1代表一个完整的个体,y1hat代表实际的cp值

屏幕快照 2020-07-13 11.32.21.png

屏幕快照 2020-07-13 21.07.25.png

屏幕快照 2020-07-13 21.15.06.png

求最好function的一个方法(方法是可微的):Gradient Descent
已知一个loss function L(w),如何找出一个w值让L(w)值最小呢?一个方法就是穷举法,但是这样是很没有效率的,那么怎样做比较有效呢?这就是Gradient Descent要告诉我们的。首先先随机选取一个w的初始值w0,求L关于w的微分,如果微分为正,说明在这点的切线斜率为正,向左走L(w)值会变小,反之向右走。已经确定了w的移动方向,那么w要移动多少呢?取决于两个因素,一个为微分值的大小,一个为事先定好的learning rate.
屏幕快照 2020-07-13 22.42.56.png

屏幕快照 2020-07-13 22.46.15.png

屏幕快照 2020-07-13 22.49.19.png

屏幕快照 2020-07-13 22.50.27.png

第六讲 (P10) Classification

Classification:输入一组数据,输出一个类别

例如:
屏幕快照 2020-07-14 10.25.11.png

以下的学习还是使用Pokemon的例子,输入一只Pokemon的HP, Attack,Defense,SP Atk, SP Def,Speed属性,输出它的属性类别。
如何实现分类?

(首先要收集训练数据)
一种思路是把按照Regression的方式来进行Classification,以Binary Classification为例,对于训练数据。如果输出值为1则Class为1,如果输出值为-1,则Class属于2;对于测试数据,如果输出值比较接近1则为Class 1,如果比较接近-1则为Class 2。但是这样做有一个问题就是“惩罚那些‘太正确’的例子”。如果分成多个类,如输出值为1则为Class1,输出值为2则为Class2,输出值为3则为Class3...但是这样同样是有问题的,因为如果这些Class是互相独立的,把这个问题当作Regression来处理就无法得到一个好的函示。

理想上的做法为:
屏幕快照 2020-07-14 11.21.22.png

如何找出最好的函示:Generative Moel

从训练数据中估计几率值

屏幕快照 2020-07-14 11.28.01.png

首先Prior(P(C1)和P(C2))比较好求:
屏幕快照 2020-07-14 11.34.53.png

剩下的两个值根据Gaussian Distribution来求:
屏幕快照 2020-07-14 11.44.04.png

屏幕快照 2020-07-14 11.45.07.png

屏幕快照 2020-07-14 11.47.46.png

如何找μ和∑?

方法为:Maximum Likelihood

现在训练数据中的79个点可以从任何高斯分布中获得,但是不同的高斯分布sample出这79个点可能性是不一样的。给出一个高斯分布的μ和∑,就可算从这个高斯分布中sample出这79个点的可能性,即为Likelihood,计算方法如下图。让Likelihood最大的μ和∑即为最好的的函示中的μ和∑。
屏幕快照 2020-07-14 11.57.17.png

求出来的结果准确率为47%,准确率比较低,因为上面的例子只是一个二元分类,实际上要预测一个Pokemon的种类是要在7维数据上进行操作的。上面的例子中不同的Class有不同的∑值,但是这在实际中是很少见的,常见的做法是不同的Class用同一个∑,因为∑是跟input fearture size的平方成正比的,如果用不同的∑的话,Model参数多就容易overfitting。
屏幕快照 2020-07-14 12.19.52.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,591评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,448评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,823评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,204评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,228评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,190评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,078评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,923评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,334评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,550评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,727评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,428评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,022评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,672评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,826评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,734评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,619评论 2 354