文章目录
  1. 1. 我们将要学习什么东东?
    1. 1.1. 什么是机器学习?
      1. 1.1.1. 机器学习 $\approx$ 寻找一个函数
      2. 1.1.2. Framework 框架
    2. 1.2. 整体都学习哪些知识(Learning Map)
      1. 1.2.1. Regression(回归)是什么?
      2. 1.2.2. Classification(分类)
        1. 1.2.2.1. Binary Classification(二元分类)
        2. 1.2.2.2. Multi-class Classification(多元分类)
        3. 1.2.2.3. Deep Learning(深度学习)
      3. 1.2.3. Supervised Learning(有监督学习)
      4. 1.2.4. Semi-supervised Learning(半监督学习)
      5. 1.2.5. Transfer Learning(迁移学习)
      6. 1.2.6. Unsupervised Learning(无监督学习)
      7. 1.2.7. Structured Learning(结构化学习)
      8. 1.2.8. Reinforcement Learning(增强学习)
    3. 1.3. 理解Learning Map颜色的意义

Gitbook传送门:https://yoferzhang.gitbooks.io/machinelearningstudy/content/

引用课程:http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML16.html

先看这里,可能由于你正在查看这个平台行间公式不支持很多的渲染,所以最好在我的CSDN上查看,传送门:(无奈脸)

CSDN博客文章地址:http://blog.csdn.net/zyq522376829/article/details/66478149

我们将要学习什么东东?

什么是机器学习?


有右边这样非常大的音频数据集,写程序来进行学习,然后可以输出音频“Hello”


有右边这样非常大的图片数据集,写程序来进行学习,然后可以识别左边这样图,识别为正确的物种。

机器学习 $\approx$ 寻找一个函数

Framework 框架

  • Image Recognition 图像识别

函数集($f{1},f{2},\ldots $),通常将一个函数称为Model(模型)

为了找到最好的函数 $f$ ,将训练集图像放入函数集的输入中,函数集输出识别结果。

下面来看具体步骤

Step1.确定一组函数(Model),函数集怎么找后面会再介绍。
Step2.将训练集对函数集进行训练。
Step3.挑选出“最好”的函数 $f^{}$
然后就可以使用 $f^{
}$ 来对新的测试集进行检测。

整体都学习哪些知识(Learning Map)

Regression(回归)是什么?

Regression 意思是,我们要找到这样一个函数 $f$,使得输出为 scalar(标量,数值)

这里说法当然是比较不严谨,数学上简单的线性,一元或多元回归的知识可以在概率论与数理统计课本中进行学习。《概率论与数理统计》,浙江大学,第九章,P244。

举个例子,比如预测PM2.5.

输入就是之前每一天的PM2.5数值,输出是明天的PM2.5,是个标量。
具体做法:

Classification(分类)

分类比较容易理解,比如二元分类或者多元分类。

Binary Classification(二元分类)

比如垃圾邮件过滤,就是要找到一个Function,输入为一封邮件,输出是二元的,是或者不是垃圾邮件。训练集就是很多封邮件,每一封邮件知道它是否是垃圾邮件,让Function进行学习。

Multi-class Classification(多元分类)

多元分类;例如下面的新闻分类系统,找一个Function,输入就是新闻的内容,输出则是新闻的类型(政治,经济,体育等等)

Deep Learning(深度学习)

上面讲过,机器学习的第一个步骤就是确定一个函数集,可以选择Linear Model(线性模型),但是 Linear Model 比较有限。更多的则是 Non-lilnear Model(非线性模型)。比如深度学习就是 Non-lilnear Model 。

举个例子,比如图像识别:

这里举例深度学习中的一种,Convolutional Neural Network(CNN,卷积神经网络),输入就是很多的图像,输出为图像的类型,这里将每个对象都当作一个类别。训练集就是很多张图片,并告诉机器每张图片对应的是什么类型。深度学习的Function非常复杂。

再举一个例子,下围棋:

输入就是黑白子在1919棋盘上的位置,输出就是下一步应该下在哪里。这也就是一个选择题,可能的选项有1919个。

训练集就是一堆棋谱,每一步是怎么走的。

Supervised Learning(有监督学习)

Non-lilnear Model 不只Deep Learning,后面还会接触到SVM,decision tree等。
上面提到这些我们都叫做Supervised Learning(有监督学习),所谓 Supervised Learning 就是说训练集的输入和输出对于目标函数是成对的,目标函数看到一个输入,就应该对应有一个输出。也把这样的输出叫做 label。
见到说需要 Labelled data 的情况,就是指我们要告诉机器看到一个输入,要有一个输出。

其他的比如还有Semi-supervised Learning(半监督学习)

Semi-supervised Learning(半监督学习)

比如图像识别一些猫和狗,Labelled data 就是训练集中每个图片知道它对应的是什么类型。而Unlabelled data 就是不知道图片对应的类型。这种其实也是可以让机器学习的比较好的,后面也会介绍。

Transfer Learning(迁移学习)

举例说一下迁移学习:

比如有 Labelled data ,但我们还有一些labelled 或者 unlabelled 数据,这些数据和 Labelled data 中识别猫和狗都没有关系,但它也是怎么帮助Labelled data 更好的识别。这就是 Transfer Learning 要做的事情。

Unsupervised Learning(无监督学习)

举一个Unsupervised Learning 的例子:让机器阅读非常多的文章,然后机器就可以学习单词的含义。

这个Unsupervised Learning 的例子中,训练集只有输入(很多的文章),没有输出。假设通过Neural Network(神经网络)学习之后,给一个单词,就可以输出一个向量。

再举一个例子:比如想要让机器绘制一下自己的内心世界。

具体说就是给机器一堆数字,他就能自己绘制一张图片,此时训练集只有输出(很多的图片),没有输入。

Structured Learning(结构化学习)

比如看下面例子:第一个是语音识别,假设我们想要找的function是输入一段语音,然后输出语音的文字。如果把世界上不同的句子当作一个类别,这样是没有办法穷举所有类型的,所以这种超越分类的问题,就需要另外一套完整的思想来解决。
还有例子就是机器翻译,将中文翻译成英文,也是没有办法穷举所有的句子。再或者人脸识别,没有办法穷举所有人脸框。

Reinforcement Learning(增强学习)

举个Reinforcement Learning 的例子:AlphaGo。
举例来比较 Supervised 和 Reinforcement:比如学习对话,Supervised 训练集每句话,都有对应的输出;但是Reinforcement就只是不断的对话,机器只能知道它做的好或者不好,没有其他更多的信息。

再举一个围棋的例子,比如 Supervised 情况就是机器看到一个棋局,告诉它下一步应该走什么。Reinforcement 的情况就是走了很多步,输了或者赢了,就是知道一个结果。AlphaGo 就是两个都用到了,先看棋谱学习,但是棋谱的数量是有限的,然后再进行增强型学习。所以 AlphaGo 第一轮和世界高手对局时还捉襟见肘,第二轮就基本横扫了。

理解Learning Map颜色的意义

蓝色的都是代表Scenario(方案),红色部分指的是你要找的function的样子,可以在Semi-supervised Learning 的情况下做红色的task,也可以在 Transfer Learning下做红色task,就是右上角的4个虽然是小方块,但是 Supervised Learning 里面的 task 都可以在其他蓝色 scenario 中做。绿色的部分就是方法或者说模型,绿色的内容虽然写在 Classification 里面,但是可以放在 Regression 或者 Structured Learning 中。

新博客文章地址:http://yoferzhang.com/post/20170326ML01Introduction/
CSDN博客文章地址:http://blog.csdn.net/zyq522376829/article/details/66478149

文章目录
  1. 1. 我们将要学习什么东东?
    1. 1.1. 什么是机器学习?
      1. 1.1.1. 机器学习 $\approx$ 寻找一个函数
      2. 1.1.2. Framework 框架
    2. 1.2. 整体都学习哪些知识(Learning Map)
      1. 1.2.1. Regression(回归)是什么?
      2. 1.2.2. Classification(分类)
        1. 1.2.2.1. Binary Classification(二元分类)
        2. 1.2.2.2. Multi-class Classification(多元分类)
        3. 1.2.2.3. Deep Learning(深度学习)
      3. 1.2.3. Supervised Learning(有监督学习)
      4. 1.2.4. Semi-supervised Learning(半监督学习)
      5. 1.2.5. Transfer Learning(迁移学习)
      6. 1.2.6. Unsupervised Learning(无监督学习)
      7. 1.2.7. Structured Learning(结构化学习)
      8. 1.2.8. Reinforcement Learning(增强学习)
    3. 1.3. 理解Learning Map颜色的意义