在此就不介绍机器学习的概念了。
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
领取专属 10元无门槛券
私享最新 技术干货