人工智能
什么是人工智能、机器学习与深度学习(见图1-1)?这三者之间有什么关系?
 
人工智能的简洁定义如下:努力将通常由人类完成的智力任务自动化。因此,人工智能是一个
综合性的领域,不仅包括机器学习与深度学习,还包括更多不涉及学习的方法。
例如,早期的国际象棋程序仅包含程序员精心编写的硬编码规则,并不属于机器学习。在相当
长的时间内,许多专家相信,只要程序员精心编写足够多的明确规则来处理知识,就可以实现
与人类水平相当的人工智能。这一方法被称为符号主义人工智能(symbolic AI),从20 世纪50
年代到80 年代末是人工智能的主流范式。
在20 世纪80 年代的专家系统(expert system)热潮中,这一方法的热度达到了顶峰。
虽然符号主义人工智能适合用来解决定义明确的逻辑问题,比如下国际象棋,但它难以给
出明确的规则来解决更加复杂、模糊的问题,比如图像分类、语音识别和语言翻译。于是出现
了一种新的方法来替代符号主义人工智能,这就是机器学习(machine learning)。
 
 
机器学习
在经典的程序设计(即符号主义人工智能的范
式)中,人们输入的是规则(即程序)和需要根据这些规则进行处理的数据,系统输出的是答案
(见图1-2)。利用机器学习,人们输入的是数据和从这些数据中预期得到的答案,系统输出的是
规则。这些规则随后可应用于新的数据,并使计算机自主生成答案。
 
机器学习系统是训练出来的,而不是明确地用程序编写出来的。
机器学习(尤其是深度学习)呈现出相对较少的数学理论(可能太少了),并且是以工程为导向的。这是一门需要上手实践的
学科,想法更多地是靠实践来证明,而不是靠理论推导。
 
从数据中学习表示
我们需要以下三个要素来进行机器学习
  • 输入数据点。
  • 预期输出的示例
  • 衡量算法效果好坏的方法
机器学习和深度学习的核心问题在于有意义地变换数据,换句话说,在
于学习输入数据的有用表示(representation)——这种表示可以让数据更接近预期输出
 
机器学习的技术定义:在预先定义好的可能性空间中,利用反馈信号的指引来寻找
输入数据的有用表示。
 
深度学习
深度学习是机器学习的一个分支领域:它是从数据中学习表示的一种新方法,强调从连续
的层(layer)中进行学习,这些层对应于越来越有意义的表示。
 
深度学习模型不是大脑模型。没有证据表明大脑的学习机制与现代深度学习模型所使用的相同
就我们的目的而言,深度学习是从数据中学习表示的一种数学框架。
 
 
这个网络将数字图像转换成与原始图像差别越来越大的表示,而其中关于
最终结果的信息却越来越丰富。你可以将深度网络看作多级信息蒸馏操作:信息穿过连续的过
滤器,其纯度越来越高(即对任务的帮助越来越大)。
这就是深度学习的技术定义:学习数据表示的多级方法。这个想法很简单,但事实证明,
非常简单的机制如果具有足够大的规模,将会产生魔法般的效果。
 
 
三张图理解深度学习的工作原理
神经网络中每层对输入数据所做的具体操作保存在该层的权重(weight)中,其本质是一串数字。
学习的意思是为神经网络的所有层找到一组权重值,使得该网络能够将每个示例输入与其目标正确地一一对应
 
 
想要控制神经网络的输出,就需要能够衡量该输出与预期值之间的距离。这是神经网络损失函数(loss function)的任务,该函数也叫目标函数(objective function)。
损失函数的输入是网络预测值与真实目标值(即你希望网络输出的结果),然后计算一个距离值,衡量该网络在这个示例上的效果好坏
 
深度学习的基本技巧是利用这个距离值作为反馈信号来对权重值进行微调,以降低当前示
例对应的损失值(见图1-9)。这种调节由优化器(optimizer)来完成,它实现了所谓的反向
传播(backpropagation)算法,这是深度学习的核心算法。
 
 
深度学习不一定总是解决问题的正确工具:有时没有足够的数据,深度学习不适用;有
时用其他算法可以更好地解决问题。
 
概率建模
概率建模(probabilistic modeling)是统计学原理在数据分析中的应用。它是最早的机器学
习形式之一,至今仍在广泛使用。其中最有名的算法之一就是朴素贝叶斯算法。
朴素贝叶斯是一类基于应用贝叶斯定理的机器学习分类器,它假设输入数据的特征都是独
立的。
 
另一个密切相关的模型是logistic 回归(logistic regression,简称logreg),它有时被认为是
现代机器学习的“hello world”。不要被它的名称所误导——logreg 是一种分类算法,而不是回
归算法
 
 
早期神经网络
贝尔实验室于1989 年第一次成功实现了神经网络的实践应用,当时Yann LeCun 将卷积
神经网络的早期思想与反向传播算法相结合,并将其应用于手写数字分类问题,由此得到名为
LeNet 的网络,在20 世纪90 年代被美国邮政署采用,用于自动读取信封上的邮政编码。
 
核方法
核方法是一组分类算法,其中最有名的就是支持向量机(SVM,
support vector machine)
SVM 的目标是通过在属于两个不同类别的两组数据点之间找到良好决策边界(decision
boundary,见图1-10)来解决分类问题。决策边界可以看作一条直线或一个平面,将训练数据
划分为两块空间,分别对应于两个类别。对于新数据点的分类,你只需判断它位于决策边界的
哪一侧。
 
 
 
SVM 通过两步来寻找决策边界。
(1) 将数据映射到一个新的高维表示,这时决策边界可以用一个超平面来表示(如果数据像
图1-10 那样是二维的,那么超平面就是一条直线)。
 
(2) 尽量让超平面与每个类别最近的数据点之间的距离最大化,从而计算出良好决策边界(分
割超平面),这一步叫作间隔最大化(maximizing the margin)。这样决策边界可以很好
地推广到训练数据集之外的新样本。
 
核技巧
其基本思想是:要想在新的表示空间中找到良好的决策超平面,你不需要在新空间中直接计算
点的坐标,只需要在新空间中计算点对之间的距离,而利用核函数(kernel function)可以高效
地完成这种计算。核函数是一个在计算上能够实现的操作,将原始空间中的任意两点映射为这
两点在目标表示空间中的距离,完全避免了对新表示进行直接计算。核函数通常是人为选择的,
而不是从数据中学到的——对于SVM 来说,只有分割超平面是通过学习得到的。
 
SVM 刚刚出现时,在简单的分类问题上表现出了最好的性能
但是,SVM 很难扩展到大型数据集,并且在图像分类等感知问题上的效果也不好。SVM
是一种比较浅层的方法,因此要想将其应用于感知问题,首先需要手动提取出有用的表示(这
叫作特征工程),这一步骤很难,而且不稳定。
 
决策树
决策树(decision tree)是类似于流程图的结构,可以对输入数据点进行分类或根据给定输
入来预测输出值(见图1-11)。
 
 
 
随机森林(random forest)算法
它引入了一种健壮且实用的决策树学习方法,即
首先构建许多决策树,然后将它们的输出集成在一起。
 
 
梯度提升机
梯度提升机(gradient boosting machine)也是将弱预测模型(通常是决策树)集成的机器学习技术。它使用了梯度提升方法,通过迭代地训练新模型来专门解决
之前模型的弱点,从而改进任何机器学习模型的效果。将梯度提升技术应用于决策树时,得到
的模型与随机森林具有相似的性质,但在绝大多数情况下效果都比随机森林要好。它可能是目
前处理非感知数据最好的算法之一
 
深度学习有何不同
两个基本特征:
第一,通过渐进的、逐层的方式形成越来越复杂的表示;
第二,对中间这些渐进的表示共同进行学习,每一层的变化都需要同时考虑上下两层的需要。
总之,这两个特征使得深度学习比先前的机器学习方法更加成功。
 
 
深度学习重要的性质
1. 简单。深度学习不需要特征工程,它将复杂的、不稳定的、工程量很大的流程替换为简
单的、端到端的可训练模型,这些模型通常只用到五六种不同的张量运算。
2. 可扩展。深度学习非常适合在GPU或TPU上并行计算,因此可以充分利用摩尔定律。此外,
深度学习模型通过对小批量数据进行迭代来训练,因此可以在任意大小的数据集上进行
训练
3. 多功能与可复用。与之前的许多机器学习方法不同,深度学习模型无须从头开始就可以
在附加数据上进行训练,因此可用于连续在线学习,这对于大型生产模型而言是非常重
要的特性。此外,训练好的深度学习模型可用于其他用途,因此是可以重复使用的
 
 
 
 
 
 
 

Python深度学习读书笔记-1.什么是深度学习的更多相关文章

  1. 强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning)

    强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning) 学习笔记: Reinforcement Learning: An Introductio ...

  2. 强化学习读书笔记 - 13 - 策略梯度方法(Policy Gradient Methods)

    强化学习读书笔记 - 13 - 策略梯度方法(Policy Gradient Methods) 学习笔记: Reinforcement Learning: An Introduction, Richa ...

  3. 强化学习读书笔记 - 12 - 资格痕迹(Eligibility Traces)

    强化学习读书笔记 - 12 - 资格痕迹(Eligibility Traces) 学习笔记: Reinforcement Learning: An Introduction, Richard S. S ...

  4. 强化学习读书笔记 - 11 - off-policy的近似方法

    强化学习读书笔记 - 11 - off-policy的近似方法 学习笔记: Reinforcement Learning: An Introduction, Richard S. Sutton and ...

  5. 强化学习读书笔记 - 10 - on-policy控制的近似方法

    强化学习读书笔记 - 10 - on-policy控制的近似方法 学习笔记: Reinforcement Learning: An Introduction, Richard S. Sutton an ...

  6. 强化学习读书笔记 - 09 - on-policy预测的近似方法

    强化学习读书笔记 - 09 - on-policy预测的近似方法 参照 Reinforcement Learning: An Introduction, Richard S. Sutton and A ...

  7. 深度学习读书笔记之RBM(限制波尔兹曼机)

    深度学习读书笔记之RBM 声明: 1)看到其他博客如@zouxy09都有个声明,老衲也抄袭一下这个东西 2)该博文是整理自网上很大牛和机器学习专家所无私奉献的资料的.具体引用的资料请看参考文献.具体的 ...

  8. C语言深度解剖读书笔记

    开始本节学习笔记之前,先说几句题外话.其实对于C语言深度解剖这本书来说,看完了有一段时间了,一直没有时间来写这篇博客.正巧还刚刚看完了国嵌唐老师的C语言视频,觉得两者是异曲同工,所以就把两者一起记录下 ...

  9. C语言深度解剖读书笔记(6.函数的核心)

    对于本节的函数内容其实就没什么难点了,但是对于函数这节又涉及到了顺序点的问题,我觉得可以还是忽略吧. 本节知识点: 1.函数中的顺序点:f(k,k++);  这样的问题大多跟编译器有关,不要去刻意追求 ...

随机推荐

  1. Nginx 别名访问

    #添加另一个域名,在浏览器中输入 etiantian.org,总是调到 www.etiantian.org server { listen            80; server_name   w ...

  2. SpringBoot01——Framework Introduced and Helloworld

    1.介绍 SpringBoot主要解决的是在微服务的架构下简化配置(有快速配置).前后端分离.快速开发 优点: l 提供了快速启动入门 l 开箱即用.提供默认配置 l 内嵌容器化web项目 l 没有冗 ...

  3. 【洛谷P2922】Secret Message

    题目大意:给定 N 个字符串组成的字典,有 M 个询问,每次给定一个字符串,求字典中有多少个单词为给定字符串的前缀或前缀是给定的字符串. 题解:在 trie 上维护一个 tag 表示有多少字符串以当前 ...

  4. redis分布式锁原理与实现

    分布式锁原理 分布式锁,是控制分布式系统之间同步访问共享资源的一种方式.在分布式系统中,常常需要协调他们的动作.如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候, ...

  5. Windows 2012 R2 DataCenter服务器 重启之后,其他加域电脑无法访问域账户

    需在域控服务器重启,服务Kerberos Key

  6. Docker报错解决

    今天我在学习docker的时候,用docker安装nginx的时候报了如下错误: 尝试了卸载docker重装,删除nginx,删除nginx镜像文件都没有用,最后发现还是Linux和docker版本兼 ...

  7. Django ckeditor增加编辑代码 功能

    前言 使用ckeditor这个组件的时候 对于长写博客的同学当然希望能有 增加代码这个功能按钮 而这个按钮 需要自己配置 我们的编辑器自然需要添加代码块的功能. 需要用到插件codesnippet,c ...

  8. python如何导入自定义文件和模块全部方法

    项目中想使用自定义python文件(本地代码) 有6种方式, 1.这种最简单,也可能最不实用,将你的外部文件放到跟需要调用外部文件的文件同一个包下,同一目录 folder------toinvoke. ...

  9. 《Head First 软件开发》阅读六

    软件错误:专业排错 你编写的代码,你的责任.处理错误的方法和其他流程一样,准备好白板.让客户参与.满怀信心的估计.重构与预构. 首先是与客户加强沟通,不管是谁的代码,在自己的系统里就是自己的代码.使代 ...

  10. electron-vue打包引用的图标不显示问题

    在electron-vue中使用了字体图标,但是打包成.exe文件后图标不显示,路劲问题 把字体图标放到static目录下就可以了,静态图片也一样 我原来放在其它地方不行 改到static目录就可以了