[TOC]
## **机器学习、人工智能、深度学习是什么关系?**
* 机器学习研究和构建的是一种特殊算法(**而非某一个特定的算法**),能够让计算机自己在数据中学习从而进行预测。
所以,**机器学习不是某种具体的算法,而是很多算法的统称。**
* 机器学习包含了很多种不同的算法,深度学习就是其中之一,其他方法包括决策树,聚类,贝叶斯等。
*
* 深度学习的灵感来自大脑的结构和功能,即许多神经元的互连。人工神经网络(ANN)是模拟大脑生物结构的算法。
*
* 不管是机器学习还是深度学习,都属于人工智能(AI)的范畴。所以人工智能、机器学习、深度学习可以用下面的图来表示:
![UTOOLS1587022223906.png](http://yanxuan.nosdn.127.net/a8b47570c3eb5ea35c71afe38ce08263.png)
人工智能、机器学习、深度学习的关系
## **什么是机器学习?**
### **机器学习的基本思路**
1. 把现实生活中的问题抽象成数学模型,并且很清楚模型中不同参数的作用
2. 利用数学方法对这个数学模型进行求解,从而解决现实生活中的问题
3. 评估这个数学模型,是否真正的解决了现实生活中的问题,解决的如何?
**无论使用什么算法,使用什么样的数据,最根本的思路都逃不出上面的3步!**
![UTOOLS1587022355313.png](http://yanxuan.nosdn.127.net/0e625190009ce2a6e543917ec0d132e4.png)
机器学习的基本思路
* 当我们理解了这个基本思路,我们就能发现:
* 不是所有问题都可以转换成数学问题的。那些没有办法转换的现实问题 AI 就没有办法解决。同时最难的部分也就是把现实问题转换为数学问题这一步。
### **机器学习的原理**
* 下面以监督学习为例,讲解一下机器学习的实现原理。
*
* 假如我们正在教小朋友识字(一、二、三)。我们首先会拿出3张卡片,然后便让小朋友看卡片,一边说“一条横线的是一、两条横线的是二、三条横线的是三”。
![UTOOLS1587022507863.png](http://yanxuan.nosdn.127.net/3f53252ee2f99ac8b76ad86667892e35.png)
* 不断重复上面的过程,小朋友的大脑就在不停的学习。
![UTOOLS1587022532166.png](http://yanxuan.nosdn.127.net/ee14cf0c2eb43081b4f4559fd79d3288.png)
* 当重复的次数足够多时,小朋友就学会了一个新技能——认识汉字:一、二、三。
![UTOOLS1587022566720.png](http://yanxuan.nosdn.127.net/48d396f092ff6afa8e3e0189121a4db2.png)
* 我们用上面人类的学习过程来类比机器学习。机器学习跟上面提到的人类学习过程很相似。
* * 上面提到的认字的卡片在机器学习中叫——训练集
* * 上面提到的“一条横线,两条横线”这种区分不同汉字的属性叫——特征
* * 小朋友不断学习的过程叫——建模
* * 学会了识字后总结出来的规律叫——模型
* **通过训练集,不断识别特征,不断建模,最后形成有效的模型,这个过程就叫“机器学习”!**
![UTOOLS1587022633392.png](http://yanxuan.nosdn.127.net/4c6db7317d4bd19093f3281f252f9fec.png)
## **监督学习、非监督学习、强化学习**
* 机器学习根据训练方法大致可以分为3大类:
*
* 1. 监督学习
* 2. 非监督学习
* 3. 强化学习
*
* 除此之外,大家可能还听过“半监督学习”之类的说法,但是那些都是基于上面3类的变种,本质没有改变。
### **监督学习**
* 监督学习是指我们给算法一个数据集,并且给定正确答案。机器通过数据来学习正确答案的计算方法。
*
* 举个例子:
* 我们准备了一大堆猫和狗的照片,我们想让机器学会如何识别猫和狗。当我们使用监督学习的时候,我们需要给这些照片打上标签。
![UTOOLS1587022710940.png](http://yanxuan.nosdn.127.net/89a3dbd28b8a67756b8abd5d251f2902.png)
将打好标签的照片用来训练
* 我们给照片打的标签就是“正确答案”,机器通过大量学习,就可以学会在新照片中认出猫和狗。
![UTOOLS1587022991035.png](http://yanxuan.nosdn.127.net/efbc1522fc9c2a95e5efaa87f0a91258.png)
当机器遇到新的小狗照片时就能认出他
* 这种通过大量人工打标签来帮助机器学习的方式就是监督学习。这种学习方式效果非常好,但是成本也非常高。
### **非监督学习**
*
* 非监督学习中,给定的数据集没有“正确答案”,所有的数据都是一样的。无监督学习的任务是从给定的数据集中,挖掘出潜在的结构。
*
* 举个例子:
*
* 我们把一堆猫和狗的照片给机器,不给这些照片打任何标签,但是我们希望机器能够将这些照片分分类。
![UTOOLS1587023078765.png](http://yanxuan.nosdn.127.net/1b3a3cb9fc76863eed600c9c1f8224af.png)
将不打标签的照片给机器
* 通过学习,机器会把这些照片分为2类,一类都是猫的照片,一类都是狗的照片。虽然跟上面的监督学习看上去结果差不多,但是有着本质的差别:
*
* **非监督学习中,虽然照片分为了猫和狗,但是机器并不知道哪个是猫,哪个是狗。对于机器来说,相当于分成了 A、B 两类。**
![UTOOLS1587023180805.png](http://yanxuan.nosdn.127.net/af775e1cb47d03ec0e7531cadba96b53.png)
机器可以将猫和狗分开,但是并不知道哪个是猫,哪个是狗
### **强化学习**
* 强化学习更接近生物学习的本质,因此有望获得更高的智能。它关注的是智能体如何在环境中采取一系列行为,从而获得最大的累积回报。通过强化学习,一个智能体应该知道在什么状态下应该采取什么行为。
*
* 最典型的场景就是打游戏。
## **机器学习实操的7个步骤**
* 通过上面的内容,我们对机器学习已经有一些模糊的概念了,这个时候肯定会特别好奇:到底怎么使用机器学习?
*
* 机器学习在实际操作层面一共分为7步:
* 1. 收集数据
* 2. 数据准备
* 3. 选择一个模型
* 4. 训练
* 5. 评估
* 6. 参数调整
* 7. 预测(开始使用)
* 假设我们的任务是通过酒精度和颜色来区分红酒和啤酒,下面详细介绍一下机器学习中每一个步骤是如何工作的。
![UTOOLS1587023303667.png](http://yanxuan.nosdn.127.net/fc89302161f20c76bee71525423f6db8.png)
案例目标:区分红酒和啤酒
### **步骤1:收集数据**
* 我们在超市买来一堆不同种类的啤酒和红酒,然后再买来测量颜色的光谱仪和用于测量酒精度的设备。
*
* 这个时候,我们把买来的所有酒都标记出他的颜色和酒精度,会形成下面这张表格。
![UTOOLS1587023630908.png](http://yanxuan.nosdn.127.net/e63c1411c87292d49683a9a32bb12da1.png)
**这一步非常重要,因为数据的数量和质量直接决定了预测模型的好坏。**
### **步骤2:数据准备**
* 在这个例子中,我们的数据是很工整的,但是在实际情况中,我们收集到的数据会有很多问题,所以会涉及到数据清洗等工作。
*
* 当数据本身没有什么问题后,我们将数据分成3个部分:训练集(60%)、验证集(20%)、测试集(20%),用于后面的验证和评估工作。
![UTOOLS1587023737226.png](http://yanxuan.nosdn.127.net/8a8d76d8d6a6c3144e565d44811e6a6d.png)
数据要分为3个部分:训练集、验证集、测试集
### **步骤3:选择一个模型**
* 研究人员和数据科学家多年来创造了许多模型。有些非常适合图像数据,有些非常适合于序列(如文本或音乐),有些用于数字数据,有些用于基于文本的数据。
*
* 在我们的例子中,由于我们只有2个特征,颜色和酒精度,我们可以使用一个小的线性模型,这是一个相当简单的模型。
### **步骤4:训练**
* 大部分人都认为这个是最重要的部分,其实并非如此~ 数据数量和质量、还有模型的选择比训练本身重要更多(训练知识台上的3分钟,更重要的是台下的10年功)。
*
* 这个过程就不需要人来参与的,机器独立就可以完成,整个过程就好像是在做算术题。因为机器学习的本质就是**将问题转化为数学问题,然后解答数学题的过程**。
### **步骤5:评估**
* 一旦训练完成,就可以评估模型是否有用。这是我们之前预留的验证集和测试集发挥作用的地方。评估的指标主要有 准确率、召回率、F值。
*
* 这个过程可以让我们看到模型如何对尚未看到的数是如何做预测的。这意味着代表模型在现实世界中的表现。
### **步骤6:参数调整**
* 完成评估后,您可能希望了解是否可以以任何方式进一步改进训练。我们可以通过调整参数来做到这一点。当我们进行训练时,我们隐含地假设了一些参数,我们可以通过认为的调整这些参数让模型表现的更出色。
### **步骤7:预测**
* 我们上面的6个步骤都是为了这一步来服务的。这也是机器学习的价值。这个时候,当我们买来一瓶新的酒,只要告诉机器他的颜色和酒精度,他就会告诉你,这时啤酒还是红酒了。
## **15种经典机器学习算法**
![UTOOLS1587023996230.png](http://yanxuan.nosdn.127.net/d22e0c208c3eb6ff3369e1fd0273d6a3.png)