机器学习(一)之基本概念

说在前面

这里我想先提出5个问题?然后通过学习依次来解决它们?

  1. 使用日常生活中的例子说明:机器学习所对应的哪些问题/任务?
  2. 以路径规划(高德地图)为例,说明机器学习算法与传统的算法相比,其优势是什么?
  3. 机器学习、数据挖掘、人工智能、大数据的联系和区别是什么?
  4. 机器学习现在很火,以后会降温吗?为什么?
  5. 你认为机器学习以后会如何发展?

其实,机器学习就是自动找函式!!!

  • Speech Rcognition:将一段语音通过一个函数转换成文本
    在这里插入图片描述

  • Image Recognition:将一张图片转换成文本
    在这里插入图片描述

  • Playing Go:函式的输入就是黑子与白子的位置,输出就是下一步要落子的位置
    在这里插入图片描述

  • Dialogue System
    在这里插入图片描述

  那么,现在的问题就是你要找什么样的函式?你希望机器帮你找出什么样的函式?

  随着你找的函式的不同,我们有不同的机器学习的任务。

1. Regression(回归)

  举例来说,我们的第一个作业叫做 Regression,the output of function is a scalar(数值)。

  比如,我们要让机器预测未来某个时候的 PM2.5 数值,那么要做的事情就是找一个 function,那么这个 function 的输入是一些过去的跟 PM2.5 有关的资讯等等。输出就是明天某个时候的 PM2.5 的值(该输出是一个数值)。那么这样的一个任务就叫做 Regression。
在这里插入图片描述

2. Binary Classification(二分类)

  还有一个任务叫做 Binary Classification。如果你今天要找的函式只有一个输出,它的输出只有两种可能,Yes or No。这就叫做 Binary Classification。

  比如,我们的输入是一个句子,输出是这个句子是正面的还是负面的。那么这个任务就是 Binary Classification。
在这里插入图片描述

3. Multi-class Classification(多类分类)

  还有一种任务叫做 Multi-class Classification。即是说我们要找的 function 它有一个输出,它的输出是让机器做一个选择题,先定好 N 个class(N个选项),然后从 N 个选项中选出一个正确的,这就叫做 Multi-class Classification。

  比如,我们输入一张图片,我们让机器识别出这张图片是一个面包,还是一个蛋,还是一碗汤呢?这是一个 Multi-class classification 的问题。

  很多的教科书中只会告诉你,所谓机器学习,就是两大类的任务,一个是 Regression(输出一个数值),另一个就是 Classification(让机器做选择题)。如果你只知道机器学习只有 Regression 和 Classification,就像你只知道世界只有五大洲一样。其实,世界不止有五大洲,在五大洲外面还有个黑暗大陆。这个就叫做 Generation(生成),即产生有结构的复杂东西(例如:文句,图片等等),这个任务我们叫做 Generation。其实这个过程就是让机器学习怎么做?

  比如,我们让机器进行翻译,翻译就是产生文句。还有一个作业就是让机器画图,比如产生二次元人物。这些都是让机器 Generation(创造)的过程。

  那么,这里有一个问题。怎么告诉机器你想找什么样的函式?

  一种很常见的做法叫做 Supervised Learning(监督学习)。比如我心里已经想好了我要输入一张图片,输出是这张图片属于什么样的一个类别。
在这里插入图片描述
  那么,我们怎么告诉机器我们要找的函式是什么样子呢?首先,你得给机器一些 Labeled Data(序列资料)。
在这里插入图片描述
  提供给机器有 label 的资料进行学习,这件事情叫做 Supervised Learning。那么,你提供了资料给机器学习,机器是怎样进行学习呢?

  你提供给机器这些有 label 的资料之后,接下来机器就可以评估一个函式的好坏。即机器会给函式一个 loss,用来辨别这个函式的好坏。那么机器是怎么判断你这个函式的好坏呢?它会把你提供的这个资料(比如你提供的这些图片)放到函式中,然后这个函式会给我们每一张图片的输出。比如,把上图的4张图片放入一个函式 f1 中,它的输出都是 “Dog”,但是在我们的4张图片中只有两张是狗,其余两张是猫,这个 function 只答对了一半问题。那么我们可以计算出该函式的 Loss = 50%。
在这里插入图片描述
  假设我们重新设计了一个 function,它的输出全部正确,那么我们可以说该 function 的 Loss = 0%。那么该 function 就是我们心里要找的 function。
在这里插入图片描述
  那么,下一步就是机器会自动找出 Loss 最低的函式。

  其实,机器学习不止有以上所说的 Supervised Learning(监督学习),还有一种 Reinforcement Learning(强化学习)。那么这两种学习方法的区别是什么呢?

  比如我们要让机器学习下围棋。

  • Supervised Learning:假如棋盘的盘面是这样的,那么就需要告诉机器在此刻的这个盘面,下一步应该落子落在哪里是最合适的。即需要告诉在什么样的盘面下,下一步应该落子落在哪里是最好的。
    在这里插入图片描述

  • Reinforcement Learning:如果使用这种方式的话,那么就会简单很多。不需要告诉每一种情况下一步最应该落子在哪里。其实就是让机器自己跟自己下,或者机器去和别人下,下一下之后,发现它赢了,那么机器就会知道这局应该是某些地方下得不错,但是并没有人告诉它说哪几步下得比较好;如果它输了,那么机器就会知道这局应该是某些地方下得不好,至于是哪几步下错了,到底怎样下才是对的,没有人会告诉它。机器会想办法找出一些策略来提高正确率。而机器输或赢这件事情就是 Reward,引导机器学习的方向。这个就叫做 Reforcement Learning。
    在这里插入图片描述

  而我们熟知的 Alpha Go is supervised learning + reinforcement learning。

  接下来,机器怎么找出你想要的函式?给定函式寻找范围

  在前两个作业(Regression 和 Classification)里面,我们假定我们要找的函式就是一个 Linear 的 function。在之后的作业,我们整个函式的搜寻范围就是 Network Architecture。其中两个比较经典的 Network Architecture 架构就是 RNN 和 CNN。那么给定范围之后,怎么从范围中找出最好的 function 呢?函式寻找方法——Gradient Descent(梯度下降法)。在 Regression and Classification 里面。要求 Implement the algorithm by yourself。而在其它作业里面会使用现成的 Deep Learning Framework。

在这里插入图片描述


机器学习的前言研究

  以上都是说的机器学习的基本概念。下面我们来说说机器学习的前沿研究。

  比如什么是 Explainable AI。比如,今天我们都知道机器可以做图像识别,你给它一张图片,它会告诉你这张图片里面有一只猫。但是,它能不能告诉我们它认为图片里面有猫的理由是什么呢?为什么它觉得这张图片是一只猫呢?这个就是 Explainable AI 这个作业会学到的事情。
在这里插入图片描述
  还有一个前沿的研究是 Adversarial Attack(对抗攻击)。比如,如今的影色辨像系统已经非常的强健,即使你加入一些杂讯,它还是可以得到正确的结果。但是 Adversarial Attack 是说如果人类怀着恶意去攻击这个系统,会发生什么事情?如果我们加的杂讯不是一般的杂讯,而是刻意制造的杂讯,它就会使这个机器崩溃,可能会把猫变成其它动物。这个就是在 Adversarial Attck 这个作业会学到的东西。

  另外更近一步,我们会谈到 Network Compression(网络压缩)。如今的i影色辨像系统虽然可以达到很高的正确率,但是这个有非常大的 Network,大到无法放到手机里面,那么 Network Compression 要做的事情就是我们有没有办法将这个 Network 缩小,这就是 Network Compression 这个作业要做的事情。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41033011/article/details/108894833
今日推荐