机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。
机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。
机器学习最基本的做法,是使用算法来解析数据、从中学习,然后对真实世界中的事件做出决策和预测。
与传统的为解决特定任务、硬编码的软件程序不同,机器学习是用大量的数据来“训练”,通过各种算法从数据中学习如何完成任务。
机器学习最成功的应用领域是计算机视觉,虽然也还是需要大量的手工编码来完成工作。人们需要手工编写分类器、边缘检测滤波器,以便让程序能识别物体从哪里开始,到哪里结束;写形状检测程序来判断检测对象是不是有八条边;写分类器来识别字母“STOP”。使用以上这些手工编写的分类器,人们总算可以开发算法来感知图像,判断图像是不是一个停止标志牌。
第一类是无监督学习,指的是从信息出发自动寻找规律,并将其分成各种类别,有时也称"聚类问题"。
第二类是监督学习,监督学习指的是给历史一个标签,运用模型预测结果。如有一个水果,我们根据水果的形状和颜色去判断到底是香蕉还是苹果,这就是一个监督学习的例子。
最后一类为强化学习,是指可以用来支持人们去做决策和规划的一个学习方式,它是对人的一些动作、行为产生奖励的回馈机制,通过这个回馈机制促进学习,这与人类的学习相似,所以强化学习是目前研究的重要方向之一。
监督学习的问题是我们需要大量的training data。training data告诉我们要找的function的input和output之间的关系。如果我们在监督学习下进行学习,我们需要告诉机器function的input和output是什么。这个output往往没有办法用很自然的方式取得,需要人工的力量把它标注出来,这些function的output叫做label。
在解任务的过程中第一步就是要选择的是function set,选不同的function set就是选不同的model。Model有很多种,最简单的就是线性模型,但我们会花很多时间在非线性的模型上。在非线性的模型中最耳熟能详的就是Deep learning。
Regression是一种machine learning的task,当我们说:我们要做regression时的意思是,machine找到的function,它的输出是一个scalar,这个叫做regression。举例来说,在作业一里面,我们会要你做PM2.5的预测(比如说预测明天上午的PM2.5) ,也就是说你要找一个function,这个function的输出是未来某一个时间PM2.5的一个数值,这个是一个regression的问题。
机器要判断function明天上午的PM2.5输出,你要提供给它一些资讯,它才能够猜出明天上午的PM2.5。你给他资讯可能是今天上的PM2.5、昨天上午的PM2.5等等。这是一个function,它吃我们给它过去PM2.5的资料,它输出的是预测未来的PM2.5。
Regression和Classification的差别就是我们要机器输出的东西的类型是不一样。在Regression中机器输出的是一个数值,在Classification里面机器输出的是类别。假设Classification问题分成两种,一种叫做二分类输出的是是或否(Yes or No);另一类叫做多分类(Multi-class),在Multi-class中是让机器做一个选择题,等于是给他数个选项,每个选项都是一个类别,让他从数个类别里选择正确的类别。
在machine要解的任务上我们讲了Regression、classification,还有一类的问题是structured learning。structured learning 中让机器输出的是要有结构性的,举例来说:在语音辨识里面,机器输入是声音讯号,输出是一个句子。句子是要很多词汇拼凑完成。它是一个有结构性的object。或者是说在机器翻译里面你说一句话,你输入中文希望机器翻成英文,它的输出也是有结构性的。或者你今天要做的是人脸辨识,来给机器看张图片,它会知道说最左边是长门,中间是凉宫春日,右边是宝玖瑠。然后机器要把这些东西标出来,这也是一个structure learning问题。
减少监督学习中label需要的量,就是半监督学习。
假设你先想让机器鉴别猫狗的不同。你想做一个分类器让它告诉你,图片上是猫还是狗。你有少量的猫和狗的labelled data,但是同时你又有大量的Unlabeled data,但是你没有力气去告诉机器说哪些是猫哪些是狗。在半监督学习的技术中,这些没有label的data,他可能也是对学习有帮助。
在学习的基础上减少data用量的方向是迁移学习
假设我们要做猫和狗的分类问题,我们也一样,只有少量的有label的data。但是我们现在有大量的data,这些大量的data中可能有label也可能没有label。但是他跟我们现在要考虑的问题是没有什么特别的关系的,我们要分辨的是猫和狗的不同,但是这边有一大堆其他动物的图片还是动画图片(凉宫春日,御坂美琴)你有这一大堆不相干的图片,它到底可以带来什么帮助。这个就是迁移学习要讲的问题。
更加进阶的就是无监督学习,我们希望机器可以学到无师自通。如果在完全没有任何label的情况下,到底机器可以学到什么样的事情。举例来说,如果我们给机器看大量的文章(在去网络上收集站文章很容易,网络上随便爬就可以)让机器看过大量的文章以后,它到底可以学到什么事情。一个无监督学习的例子:假设我们今天带机器去动物园让它看一大堆的动物,它能不能够在看了一大堆动物以后,它就学会自己创造一些动物。那这个都是真实例子。仔细看了大量的动物以后,它就可以自己的画一些狗出来。有眼睛长在身上的狗、还有乳牛狗等等。
我们若将强化学习和监督学习进行比较时,在监督学习中我们会告诉机器正确答案是什么。若现在我们要用监督学习的方法来训练一个聊天机器人,你的训练方式会是:你就告诉机器,现在使用者说了hello,你就说hi,现在使用者说了byebye ,你就说good bye。所以机器有一个人当他家教在他旁边手把手的教他每件事情,这就是监督学习。
reinforcement learning是什么呢?在reinforcement learning里面,我们没有告诉机器正确的答案是什么,机器所拥有的只有一个分数,就是他做的好还是不好。若我们现在要用reinforcement learning方法来训练一个聊天机器人的话,他训练的方法会是这样:你就把机器发到线下,让他的和面进来的客人对话,然后想了半天以后呢,最后仍旧勃然大怒把电话挂掉了。那机器就学到一件事情就是刚才做错了。但是他不知道哪边错了,它就要回去自己想道理,是一开始就不应该打招呼吗?还是中间不应该在骂脏话了之类。它不知道,也没有人告诉它哪里做的不好,它要回去反省检讨哪一步做的不好。机器要在reinforcement learning的情况下学习,机器是非常intelligence的。 reinforcement learning也是比较符合我们人类真正的学习的情景,这是你在学校里面的学习老师会告诉你答案,但在真实社会中没人回告诉你正确答案。你只知道你做得好还是做得不好,如果机器可以做到reinforcement learning,那确实是比较intelligence。
若我们用Alpha Go当做例子时,supervised learning就是告诉机器:看到这个盘式你就下“5-5”,看到这个盘式你就下“3-3”
reinforcement learning的意思是:机器跟对手互下,机器会不断的下棋,最后赢了,机器就会知道下的不错,但是究竟是哪里可以使它赢,它其实是不知道的。我们知道Alpha Go其实是用监督学习加上reinforcement learning去学习的。先用棋谱做监督学习,然后在做reinforcement learning,但是reinforcement learning需要一个对手,如果使用人当对手就会很让费时间,所以机器的对手是另外一个机器。
机器学习同深度学习之间是有区别的,机器学习是指计算机的算法能够像人一样,从数据中找到信息,从而学习一些规律。虽然深度学习是机器学习的一种,但深度学习是利用深度的神经网络,将模型处理得更为复杂,从而使模型对数据的理解更加深入。
深度学习是机器学习中一种基于对数据进行表征学习的方法。深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。
同机器学习方法一样,深度机器学习方法也有监督学习与无监督学习之分。不同的学习框架下建立的学习模型很是不同。例如,卷积神经网络(Convolutional neural networks,简称CNNs)就是一种深度的监督学习下的机器学习模型,而深度置信网(Deep Belief Nets,简称DBNs)就是一种无监督学习下的机器学习模型。
神经网络在设计的时候就是模仿人脑的处理方式,希望其可以按人类大脑的逻辑运行(尽管目前来说对人脑的研究仍不够透彻)。神经网络已经有很多年的历史,但现在基本很少听到了。饮鹿网(innov100)产业研究员认为神经网络可以简单的分为单层,双层,以及多层网络。神经网络在之前有非常多的问题,层数无法深入过多,有太多的参数需要调节,样本数据量过小等问题。总之,其之前是一门并不被看好的技术。直到2006年,Hinton在《Science》和相关期刊上发表了论文,首次提出了“深度信念网络”的概念。
人工智能研究的领域主要有五层:
1、最底层是基础设施建设,包含数据和计算能力两部分,数据越大,人工智能的能力越强。
2、往上一层为算法,如卷积神经网络、LSTM 序列学习、Q-Learning、深度学习等算法,都是机器学习的算法。
3、第三层为重要的技术方向和问题,如计算机视觉,语音工程,自然语言处理等。还有另外的一些类似决策系统,像 reinforcement learning(编辑注:增强学习),或像一些大数据分析的统计系统,这些都能在机器学习算法上产生。
4、第四层为具体的技术,如图像识别、语音识别、机器翻译等等。
5、最顶端为行业的解决方案,如人工智能在金融、医疗、互联网、交通和游戏等上的应用,这是我们所关心它能带来的价值。
学习参考:
https://datawhalechina.github.io/leeml-notes/#/chapter1/chapter1
https://zhuanlan.zhihu.com/p/86794447