机器学习介绍
1. 人工智能、机器学习、深度学习之间的关系
- 人工智能是我们最终要达到的目的,为机器赋予人的智能
- 机器学习是我们达成目的的一种手段
- 深度学习是机器学习中的一种方法,它指的是涉及到深度神经网络的机器学习算法
三者的关系:如下图
2.机器学习的定义
机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能。本质上就是通过程序让机器具备学习的能力,大量数据来训练机器,最终得到一个学习后的模型。
在整个machine learning framework整个过程分成了三个步骤。第一个步骤就是找一个function,第二个步骤让machine可以衡量一个function是好还是不好,第三个步骤是让machine有一个自动的方法,有一个好演算法可以挑出最好的function。
机器学习其实只有三个步骤,这三个步骤简化了整个process。可以类比为:把大象放进冰箱。我们把大象塞进冰箱,其实也是三个步骤:把门打开;象塞进去;后把门关起来,然后就结束了。所以说,机器学习三个步骤,就好像是说把大象放进冰箱,也只需要三个步骤。
机器学习相关的技术
3.监督学习(supervised learning)
定义:利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程
特征:所用训练数据都是被标记过的
4.半监督学习(SSL)
为了减少监督学习中给训练数据做标记的工作量,是监督学习与无监督学习相结合的一种学习方法
定义:半监督学习使用大量的未标记数据,以及同时使用标记数据,来进行模式识别工作。
特征:训练数据中有部分数据是有标记的,有部分数据没有标记
5. 迁移学习
目的:将某个领域或任务上学习到的知识应用到不同的但相关的领域或问题中
主要思想:利用相关领域的知识完成目标领域的任务
意义:
- 数据的标签很难获取
- 从头建立模型是复杂和耗时的
6. 无监督学习(Unsupervised learning ,UL)
定义:根据类别未知 (没有被标记)的训练样本解决模式识别中的各种问题
特征:训练数据都是无标记的
特点:
- 无监督学习没有明确的目的
- 无监督学习不需要给数据打标签
- 无监督学习无法量化效果
7. 结构化学习 Structured Learning
Structured Learning不是一种具体的技术,只是一种描述问题,分析问题的方法。
具体地说,Structured Learning 中让机器输出的是要有结构性的。举例来说:在语音辨识里面,机器输入是声音讯号,输出是一个句子。句子是要很多词汇拼凑完成。它是一个有结构性的object。或者是说在机器翻译里面你说一句话,你输入中文希望机器翻成英文,它的输出也是有结构性的。或者你今天要做的是人脸辨识,来给机器看张图片,它会知道说最左边是长门,中间是凉宫春日,右边是宝玖瑠。然后机器要把这些东西标出来,这也是一个structure learning问题。
8. 强化学习(Reinforcement Learning, RL)
定义:强化学习是智能体(Agent)以“试错”的方式进行学习,通过与环境进行交互获得的奖赏指导行为,目标是使智能体获得最大的奖赏
基本模型:设置一个类似游戏的情景,算法会通过反复试验的方法来执行动作,并解决问题。对每一次试验与执行的动作,会设置对应的奖励,有时候也会有惩罚,算法最终的目标就是找到能够使奖励最大化的行动方案。
若我们用Alpha Go当做例子时,supervised learning就是告诉机器:看到这个盘式你就下“5-5”,看到这个盘式你就下“3-3”
reinforcement learning的意思是:机器跟对手互下,机器会不断的下棋,最后赢了,机器就会知道下的不错,但是究竟是哪里可以使它赢,它其实是不知道的。我们知道Alpha Go其实是用监督学习加上reinforcement learning去学习的。先用棋谱做监督学习,然后在做reinforcement learning,但是reinforcement learning需要一个对手,如果使用人当对手就会很让费时间,所以机器的对手是另外一个机器。
为什么我们需要学习机器学习?
机器学习为我们今天使用的许多服务提供了驱动力,如优酷,淘宝,今日头条的推荐系统; 百度和必应等搜索引擎;微博和微信这样的社交媒体; Siri和天猫精灵这样的语音助理,这样的名单还很长。
所有这些例子都表明机器学习在当今数据丰富的世界中已经开始发挥关键的作用。机器可以帮助我们筛选出有助于获得重大突破的有用信息,我们已经看到这种技术在各行各业中的广泛应用,如金融,医疗,保险,制造,转型变革等。
有了自动化机器学习,数据科学家可以通过自动执行重复性任务来提高工作效率。这使他们能够更多地关注解决问题本身而不是建模过程,并加快整个机器学习过程。传统机器学习整个过程中都需要人工干预,自动化机器学习流程还有助于避免人为错误。最终,自动化机器学习通过让每个人都可以使用机器学习,甚至是那些在这个领域没有专业知识的人,从而使AI变得更加普及。