机器学习入门

在此就不介绍机器学习的概念了。

Learning Map(学习导图)

先来看一张李宏毅大大的总图↓

鉴于看起来不是很直观,我“照虎画猫”做了一个思维导图如下:

理论上Supervised Learning分支下的内容都可以放在其他Learning Map大类下。

Supervised Learning

所谓监督学习,就是我们告诉机器说,当这个function看到某种input则输出a,看到另一种input输出b,等等等等。

【Supervised Learning 之 Regression】

Regresion: The output of the target founction f is ‘scalar’

如果我们在机器学习中要找的function输出是数值,举个例子: 预测PM2.5进行天气预报。

核心思想就是:连续函数下进行预测。

【Supervised Learning 之 Classification】

分类问题有两种可能:

Binary Classification 输出是或否;

Multi-class Classification输出多个类型。

举个例子:

Binary Classification: Spam filtering(垃圾邮件过滤),判断是垃圾邮件,不是垃圾邮件。

Multi-classification: DocumentClassification(文件分类),将文件分为政治、经济、体育等多个大类。

【Classification 之 Linear Model 与 Non-Linear Model】

Linear Model :能做的事有限,一些简单的模型可以用它来做,但遇到复杂问题就力不从心了。

Non-linear Model :For example,现在的深度学习就是一个Non-linear Model,能完成一些很复杂的工作,比如图像分类等。

Classification-Image Recognition:输入一个图片,通过一个很复杂的卷积神经网络(CNN)的Function判断是猫是狗还是猴子,每个可能的物种是class。

Classification-Playing Go:输入棋盘上的局势,判断下一个落子的位置,每一个可能的落子位置就是一个class。

【Structuerd Learning】

在实际运用中,常常会遇到Beyond Classification的情况,比如语音识别,人脸识别,语言翻译等,是结构化输出。此类问题常配合Reinforcement Learning 解决。

Semi-supervised Learning

Example:

要建立一个辨识猫与狗的系统,手上有一部分Labelled data(已经标记好的猫狗图片),和一部分Unlabeled data(未做过标记的猫狗图片),那么Semi-supervised Learning做的就是利用Unlabeled data优化function,也常用于数据不足时进行学习。

Transfer Learning

Example:

还是建立辨识猫与狗的系统,手上有一部分Labelled data(已经标记好的猫狗图片),和另一部分与猫狗没有关系的图片(比如狮子老虎,标未标记都可),那么Transfer Learning就是利用这些data优化function。

Unsupervised Learning

Example 1:

要让机器学会阅读,希望机器自己在网络上爬去很多文章,自己理解其中的意思,进而取得人类的一些理解,掌握阅读的技巧,这就是非监督学习要做的。

我们知道,做machine Learning就是要找一个function。比如在学会阅读这个系统里,我们给系统input一个“apple”词汇,然后让机器看懂。在Unsupervised Learning 中没有人告诉机器每个词汇表示什么意思,只有大量text喂给机器。

Example 2:

要让机器学会自主绘画,我们只给机器呈现显示世界中的景象并不做标识,机器要从中提炼绘画风格与内容,学会通过作画表达自己。

Reinforcement Learning

在实际运用中,以上方法并不能解决全部问题,常常会遇到Beyond Classification的情况,比如语音识别,人脸识别,语言翻译等,那么就要通过增强学习来解决问题。

增强学习的一个非常知名的应用就是 google 阿法狗。

【Reinforcement Learning VS Supervised】

增强学习与监督学习有什么区别呢?

用一个语音识别的例子来解释:

Supervised 就像给了机器一个点读机,他听到一句话时可以看到其含义,每一句话都有标签,就像有一个手把手教他的老师。

而Reinforcement Learning 就像跟女朋友对话,反复讲来回讲很多句话,直到女朋友觉得你无言以对愤然离去,机器唯一可以知道的就是他做的好还是不好,除此之外没有任何information。而这更像人类现实生活中的学习过程,必须自己像哪里做得好做得不够好,怎么修正。

另一个例子,下围棋。

supervised:

给机器一堆棋谱,告诉机器,情况a则落子在“5-5”处,情况b则落子在……

Reinforcement Learning:

让机器自己下棋,下过几百手之后,机器只知道自己赢了还是输了,下的好还是不好,机器必须自己想办法做提高。

Alpha Go is supervised learning + reinforcement learning.

学习导图总结

有一个非常重要的信息是每一个框的颜色。

蓝色部分代表scenario,意思是你现在有什么类型的 training data。

红色部分代表task,意思是现在function的output是什么,只体现在supervised中,但其实可以插在以上五种Learning的每一种内。

绿色部分代表Method方法模型,比如在Classification中有Linear模型 or Non-linear模型,我们可以将绿色部分插入任何红色部分中。

希望对大家的理解有帮助~欢迎大家指错交流!

本文来自:https://blog.csdn.net/soulmeetliang/article/details/72591054

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180619G1ZVKI00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券