《Python深度学习》第一章笔记

  • 1.1人工智能、机器学习、深度学习
    • 人工智能
    • 机器学习
    • 深度学习
      • 深度学习的工作原理
  • 1.2深度学习之前:机器学习简史
    • 概率建模
    • 早期神经网络
    • 核方法
    • 决策树、随机森林与梯度提升机
    • 回到神经网络

1.1人工智能、机器学习、深度学习

什么是人工智能、机器学习与深度学习?这三者之间有什么关系?

人工智能

人工智能诞生于20世纪50年代,人工智能的简洁定义如下:努力将通常由人类完成的智力任务自动化。人工智能是一个综合性的领域,不仅包括机器学习与深度学习,还包括更多不涉及学习的方法。

机器学习

机器学习系统是训练出来的,人们输入的是数据和从这些数据中预期得到的答案,系统输出的是规则。机器学习的技术定义:在预先定义好的可能性空间中,利用反馈信号的指引来寻找输入数据的有用表示。
在符号人工智能中,人们输入规则和需要根据这些规则进行处理的数据,系统输出答案。这种并不属于机器学习。

深度学习

为了给出深度学习的定义并搞清楚深度学习与其他机器学习方法的区别,我们首先需要知道机器学习在做什么
我们需要以下三要素来进行机器学习。

- 输入数据点。例如,你的任务是语音识别,那么这些数据点可能是记录人们说话的声音文件。如果你的任务是为图像添加标签,那么这些数据点可能是图像。
- 预期输出的示例。对于语音识别任务来说,这些示例可能是人们根据声音文件整理生成的文本。对于图像标记任务来说,预期输出可能是“狗”“猫”之类的标签。
- 衡量算法好坏的方法。这一衡量方法是为了计算算法的当前输出与预期输出的差距。
机器学习和深度学习的核心问题在于有意义地变换数据,在于学习输入数据的有用表示——这种表示可以让数据更接近预期输出。

现在你理解了学习的含义,下面我们来看一下深度学习的特殊之处。
深度学习是机器学习的一个分支领域:它是从数据中学习表示的一种新方法,强调从连续的(layer)中进行学习,这些层对应于越来越有意义的表示。

“深度学习”中的“深度”是指一系列连续的表示层。数据模型中包含多少层,这被称为模型的深度(depth)。现代深度学习通常包含数十个甚至上百个连续的表示层,这些表示层全都是从训练数据中自动学习的。
因此,深度学习的技术定义:学习数据表示的多级方法。即利用深层神经网络的机器学习来学习输入数据的有用表示。

深度学习的工作原理

  • 首先,深度神经网络通过一系列简单的数据变换(层)来实现输入到输出的映射,神经网络中每层对输入数据所做的具体操作保存在该层的权重中,每层实现的变换由其权重来参数化,但是一个深度神经网络可能包含数千万个参数,找到所有参数的正确取值是一项非常艰巨的任务。
  • 其次,想要控制一件事物,需要能够观察它。想要控制神经网络的输出,需要能够衡量该输出与预期值之间的距离,这是神经网络损失函数的任务。
  • 最后,深度学习中的核心算法——反向传播算法,利用损失函数计算出的预测值与真实值之间的距离作为反馈信号实现对权重值的调节
  • 一开始对权重随机赋值,但随着网络处理的示例越来越多,权重值也在向正确的方向逐步微调,损失值也逐渐降低。这就是训练循环,将这种循环重复足够多次,得到的权重值可以使损失函数最小。

1.2深度学习之前:机器学习简史

下面让我们简要回顾经典机器学习方法(具体算法实现请读者自行查阅资料进行学习)。这样我们可以将深度学习放入机器学习的大背景中,并更好地理解深度学习的起源以及它为什么如此重要。

概率建模

概率建模是统计学原理在数据分析中的应用。它是最早的机器学习形式之一,至今仍在广泛使用。其中最有名的算法之一是朴素贝叶斯算法。

朴素贝叶斯是一类基于应用贝叶斯定理的机器学习分类器它假设输入数据的特征都是独立的。朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。

另一个模型是logistic回归,它也是一种分类算法,而不是回归算法。logistic回归常用于两分类问题。

早期神经网络

人们早在 20 世纪 50 年代就对神经网络核心思想进行研究,但在很长一段时间内,一直没有训练大型神经网络的有效方法。这一点在 20 世纪 80 年代中期发生了变化,当时很多人都独立地重新发现了反向传播算法——一种利用梯度下降优化来训练一系列参数化运算链的方法,并开始将其应用于神经网络。
贝尔实验室于 1989 年第一次成功实现了神经网络的实践应用,当时 Yann LeCun 将卷积神经网络的早期思想与反向传播算法相结合,并将其应用于手写数字分类问题,由此得到名为LeNet 的网络,在 20 世纪 90 年代被美国邮政署采用,用于自动读取信封上的邮政编码。

核方法

上述神经网络取得了第一次成功,并在 20 世纪 90 年代开始在研究人员中受到一定的重视,但一种新的机器学习方法在这时声名鹊起,很快就使人们将神经网络抛诸脑后。这种方法就是核方法。核方法是一组分类算法,其中最有名的就是支持向量机(SVM,support vector machine)。

SVM 的目标是通过在属于两个不同类别的两组数据点之间找到良好决策边界来解决分类问题。决策边界可以看作一条直线或一个平面,将训练数据划分为两块空间,分别对应于两个类别。对于新数据点的分类,只需判断它位于决策边界的哪一侧。

决策树、随机森林与梯度提升机

决策树(decision tree)是类似于流程图的结构,可以对输入数据点进行分类或根据给定输入来预测输出值。
随机森林(random forest)算法,是集成学习算法的一种,它引入了一种健壮且实用的决策树学习方法,即首先构建许多决策树,然后将它们的输出集成在一起。随机森林适用于各种各样的问题——对于任何浅层的机器学习任务来说,它几乎总是第二好的算法。
与随机森林类似, 梯度提升机(gradient boosting machine)也是将弱预测模型(通常是决策树,但不限于决策树)集成的机器学习技术。它使用了梯度提升方法,通过迭代地训练新模型来专门解决之前模型的弱点,从而改进任何机器学习模型的效果。

回到神经网络

自2012年以来,深度卷积神经网络(DNN)已成为所有计算机视觉任务的首选算法。与此同时,深度学习也在许多其他问题上得到应用,比如自然语言处理。它已经在大量应用中完全取代了SVM与决策树。

卷积神经网络(CNN),这是深度学习算法应用最成功的领域之一,卷积神经网络包括一维卷积神经网络,二维卷积神经网络以及三维卷积神经网络。一维卷积神经网络主要用于序列类的数据处理,二维卷积神经网络常应用于图像类文本的识别,三维卷积神经网络主要应用于医学图像以及视频类数据识别。

关于卷积神经网络的CNN的原理,详情可学习以下链接:
https://www.cnblogs.com/charlotte77/p/7759802.html

《Python深度学习》第一章笔记相关推荐

  1. 《Python深度学习》读书笔记:第1章 什么是深度学习

    目录 第1章 什么是深度学习 1.1 人工智能.机器学习与深度学习 1.1.1 人工智能 1.1.2 机器学习 1.1.3 从数据中学习表示 1.1.4 深度学习之"深度" 1.1 ...

  2. 零基础入门深度学习 | 第一章:感知器

    北京 | 高性能计算之GPU CUDA课程11月24-26日3天密集学习 快速带你晋级阅读全文> 无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作 ...

  3. python爬虫学习第一章

    <!DOCTYPE html> python爬虫第一章 python网络爬虫的学习 什么是网络爬虫 按照特定需求,从互联网中搜索有用信息网页进行过滤,就叫网络爬虫. 网络爬虫算法 当浏览信 ...

  4. 《Python深度学习》读书笔记

    第一章 1. 人工智能.机器学习.深度学习之间的关系 2. 人工智能:将通常由人类完成的智力任务自动化. 3. 机器学习 第二章 keras实现mnist识别 from keras.datasets ...

  5. Python程序设计基础第一章笔记:Python概述

    Python程序设计基础笔记 目录 Python程序设计基础笔记 第一章:python概述 1.1 python是这样一种语言 1.2 python版本之争 略 1.3 python编程规范与代码优化 ...

  6. python深度学习第一讲——用python写神经网络

    神经网络输入层到第一层的传递,也就是wx+b 用矩阵的形式写出 激活函数用sigmoid函数,其图像如下 三层神经网络的python代码如下 def sigmoid(x):return 1 / (1+ ...

  7. Python Turtle学习第一章:用Turtle画一些简单的图形

    前期准备 首先,使用Python内置的Turtle绘图库需要在程序前添加以下代码: import turtle 也可以写成这样: from turtle import * 我们来讲一讲它们的区别: 使 ...

  8. 深度学习第一章(rnn)

    cnn与rnn区别: cnn需要固定长度的输入.输出,rnn的输入和输出可以是不定长.不等长的 cnn只有one to one ,rnn有onetoone,onetomany(图像生成文字),many ...

  9. 《Python深度学习》第五章-5(可视化过滤器)读书笔记

    5.4 卷积神经网络的可视化 卷积神经网络学到的表示非常适合可视化,很大程度上是因为它们是视觉概念的表示\color{red}视觉概念的表示视觉概念的表示.接下来介绍3种可视化方法. 事中\color ...

最新文章

  1. iview select选中值取值_完美解决iview 的select下拉框选项错位的问题
  2. linux进程调度周期,Linux进程组调度机制学习
  3. c++ 类的继承与派生
  4. method=post和method=get的区别是啥【汇总】
  5. 手机音频通道被占用_关于凯叔讲故事APP的音频导出下载
  6. 微信公众平台消息接口开发(2)-封装weixin.class.php
  7. $(document).ready和window.onload的区别
  8. servlet多重映射_【简答题】请简要概述什么是Servlet的多重映射,并列出Servlet多重映射的实现方式。...
  9. Visual C#组件技巧之深入ComboBox美容
  10. 通过高阶DMD对地铁的实时短时OD预测
  11. 南大计算机专业课表,南大课程表
  12. 拆一台微型计算机步骤,台式微型计算机拆装.doc
  13. Ant下载及配置安装
  14. 《WEB开发- Web服务器环境搭建》使用花生壳+II7搭建网站服务
  15. [效率提升]webstorm配置Prettier
  16. 华为防火墙USG5500的配置方法
  17. H3C服务器配置raid
  18. 人生的一道窄门,教育
  19. Robust官方文档介绍
  20. 为什么要与MCN签约

热门文章

  1. 鸿蒙系统入门开发(入门篇)
  2. 基于以太坊ICO的安全合约架构
  3. INSEC WORLD:世界信息安全西望成都
  4. 超级详细的计数问题的解法
  5. Redis主从复制 AKF
  6. Java_深度剖析ConcurrentHashMap
  7. GStreamer基础教程02——GStreamer概念
  8. y40.第三章 Kubernetes从入门到精通 -- k8s 资源对象(十三)
  9. 一百行代码实现的HTML5登录页面
  10. 基于matlab的光伏模块输出特性及mppt的建模与仿真,基于MATLAB的光伏模块输出特性及MPPT的建模与仿真...