一、深度学习

1.BP算法

BP(back propagation)神经网络是1986年由Rumelhart和McClelland为首的科学家提出的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络,是一种使用比较广泛的参数学习算法。

如图所示,它的基本思想是学习过程由信号的正向传播(求损失)与误差的反向传播(误差回传)两个过程组成。

(1)BP算法的一般流程

1)正向传播FP(求损失)

在这个过程中,我们根据输入的样本,给定的初始化权重值W和偏置项的值b,计算最终输出值以及输出值与实际值时间的损失值。如果损失值不在给定范围内则进行反向传播过程;否则停止W,b的更新。

2)反向传播BP(回传误差)

将输出以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。

由于BP算法是通过传递误差值δ进行更新求解权重值W和偏置项的值b, 所以BP算法也常常被叫做δ算法。如下图所示,以三层感知器结构为例,说明BP算法的一般计算方法。

(2)BP算法的各层误差计算

各部分输入输出如下图所示,各层误差的计算主要包括三部分。

1)输出层的误差

2)展开至隐层的误差

3)展开至隐层的误差

观察上式,只有上式和输入x有关。E有了,那么就很简单可以看出使用常用的随即梯度下降法(SGD)求解,也就是求解式子中的W和V,使得误差E最小。

2.卷积神经网络

卷积神经网络(Convolutional Neural Networks)是一种深度学习模型或类似于人工神经网络的多层感知器,常用来分析视觉图像。卷积神经网络的创始人是有着的计算机科学家Yann LeCun,他是第一个通过卷积神经网络在MNIST数据集上解决手写数字问题的人。架构如下所示:

卷积神经网络架构与常规人工神经网络架构非常相似,特别是在网络的最后一层,即全连接。此外,卷积神经网络能够接受多个特征图作为输入,而不是向量。卷积圣经网络的层级结构主要包括数据输入层、卷积计算层、ReLU激励层、池化层和全连接层。

(1)数据输入层

该层要做的处理主要是对原始数据进行预处理,其中包括:

1)去均值:把输入数据各个纬度都中心化为0,其目的就是把样本的中心拉回到坐标系原点上。

2)归一化:幅度归一化到同样的范围,即减少各维度数据取值范围的差异而带来的干扰,比如,我们有两个维度的特征A和B,A范围是0到10,而B范围是0到10000,如果直接使用这两个特征是有问题的,好的做法就是归一化,即A合B的数据都变为0到1的范围。

3)PCA/白化:用PCA降维;白化是对数据各个特征轴上的幅度归一化。

(2)卷积计算层

这一层就是卷积神经网络最终的一个层次,也是“卷积神经网络”的名字来源。在这个卷积层,有两个关键操作:局部关联,每个神经元看做一个滤波器(filter);窗口(receptive field)滑动,filter对局部数据计算。

(3)激励层

把卷积层输出结果做非线性映射。

CNN采用的激励函数一般为ReLU(The Rectified Linear Unit/修正线性单元),特德特点是收敛快,求梯度简单,但叫脆弱,图像如下所示。

(4)池化层

池化层夹在连续的卷积层中间,用于压缩数据和参数的量,减小过拟合。如果输入是图像的话,那么池化层的最主要作用就是压缩图像。

1)特征不变性。也就是在图像处理中经常提到的特征的尺度不变性,池化操作就是图像的resize,平时一张狗的图像被缩小了一倍我们还能认出这是一张狗的照片,这说明这张图像中仍保留着狗最终的特征,我们一看就能判断图像中画的是一只狗,图像压缩时去掉的信息只是一些无关紧要的信息,而留下的信息则是具有尺度不变性的特征,是最能表达图像的特征。

2)特征降维。一幅图像含有的信息是很大的,特征也很多,但是有些信息对于我们做图像任务时没有太多用途或者有重复,我们可以把这类冗余信息去除,把最重要的特征抽取出来,这也是池化操作的一大作用。

3)在一定程度上防止过拟合,更方便优化。

池化层用的方法有max pooling和average pooling,而实际上用的较多的是max pooling,其方法如下图所示,对于每个2×2的窗口选出最大的数作为输出矩阵的相应元素的值。

(5)全连接层

两层之间所有的神经元都有权重连接,通常全连接层在卷积神经网络尾部。也就是跟传统的网络神经元的连接方式是一样的:

(6)卷积神经网络优缺点

1)优点:共享卷积核,对高维数据处理无压力;无需手动选取特征,训练好权重,即得特征分类效果好。

2)缺点:需要调参,需要大样本量,训练最好要GPU;物理含义不明确,即其本身就是一种难以解释的“黑箱模型”。

(7)卷积神经网络常用框架

1)Caffe:源于Berkeley的主流CV工具包,支持C++、Python和matlab;Model Zoo中有大量预训练好的模型供使用。

2)Torch:Facebook用的卷积神经网络工具包;通过时域卷积的本地接口,使用非常直观;定义新网络层结构。

3)TensorFlow:Google的深度学习框架;TensorBoard可视化非常方便;数据和模型并行化好,速度快。

Python数据分析与挖掘实战学习12相关推荐

  1. python数据分析与挖掘实战 配套资源_[课程学习]Python数据分析与挖掘实战 配套完整数据和源代码 rar文件[25.46MB]-码姐姐下载...

    该资源为<python数据分析与挖掘实战>一书的配套的资源代码,鉴于大多数读者很难找到此资源,特此分... 大小:20.99MB | 2020-05-14 19:07:04 本资源是pyt ...

  2. 《Python数据分析与挖掘实战》第12章(中)——协同推荐

    本文是基于<Python数据分析与挖掘实战>的实战部分的第12章的数据--<电子商务网站用户行为分析及服务推荐>做的分析. 由于此章内容很多,因此,分为三个部分进行分享--数据 ...

  3. 《Python数据分析与挖掘实战》第12章(下)——协同推荐

    本文是基于<Python数据分析与挖掘实战>的实战部分的第12章的数据--<电子商务网站用户行为分析及服务推荐>做的分析. 由于此章内容很多,因此,分为三个部分进行分享--数据 ...

  4. 《Python数据分析与挖掘实战》示例源码免费下载

    <Python数据分析与挖掘实战>​ 在当今大数据驱动的时代,要想从事机器学习.人工智能.数据挖掘等前沿技术,离不开数据跟踪与分析,通过NumPy.Pandas等进行数据科学计算,通过Se ...

  5. Python数据分析与挖掘实战期末考复习(抱佛脚啦)

    期末三天赛高考我真的会谢,三天学完数据挖掘--真的很极限了的. 课本是那本绿色的Python数据分析与挖掘实战(第2版),作者张良均- 图片来自老师给的ppt,以下内容是我自己总结的,自己复习用,覆盖 ...

  6. 《Python数据分析与挖掘实战》第7章-聚类+绘制雷达图

    本文是基于<Python数据分析与挖掘实战>的第七章的数据--<航空公司客户价值分析>做的分析对部分代码,做出补充,对原文中的雷达图进行了实现. 1. 背景与目标分析 此项目旨 ...

  7. (八)Python数据分析与挖掘实战(实战篇)——中医证型关联规则挖掘

    这个专栏用来记录我在学习和实践<Python数据分析与挖掘实战>一书时的一些知识点总结和代码实现. 文章目录 背景和目标 数据 原始属性表 脚本 discretization.py apr ...

  8. 《Python数据分析与挖掘实战》Chapter8中医证型关联规则挖掘笔记

    最近在学习<Python数据分析与挖掘实战>中的案例,写写自己的心得. 代码分为两大部分:1.读取数据并进行聚类分析                                  2. ...

  9. 大数据培训课程分享:Python数据分析与挖掘实战课程介绍

    <Python数据分析与挖掘实战>课程内容以Python数据分析与挖掘的常用技术与真实案例相结合的方式,深入浅出地介绍Python数据分析与挖掘的重要内容,共分为基础篇(第1~5章)和实战 ...

最新文章

  1. 使用ROS和TensorFlow进行深度学习
  2. c++分治法求最大最小值实现_程序员:算法导论,分治法、归并排序,伪代码和Java实现...
  3. 解决cuda版本与pytorch版本不兼容问题
  4. 权威发布:2020软科中国最好学科排名
  5. Hyperledger Fabric学习笔记(三)- 启动网络并测试一个Fabcar的demo
  6. 国产剧注水严重 广电总局拟将出手:剧集不得超过40集
  7. Reporting Services Internal Error(诡异的问题)-【转载】
  8. [bzoj4763]雪辉[bzoj4812][Ynoi2017]由乃打扑克
  9. 2015年 不可不知的五大热点话题
  10. SSM框架01--springmvc
  11. 《深入解析Windows操作系统第4版》随笔记录02
  12. 微信小程序登陆\code详解
  13. 一键清理系统垃圾文件,让你的电脑运行如飞,隐私也更安全!
  14. 如何利用STM32和迪文串口屏以及WIFI模组进行数据交互
  15. hibernate创建配置遇到问题:!-- https://mvnrepository.com/artifact/javassist/javassist -- dependency
  16. oracle 月份中日的值必须介于 1 和当月最后一日之间,ora-01847:月份中日的值必须介于 1 和当月最后一日之间...
  17. 事务前沿研究 | 隔离级别的追溯与究明,带你读懂 TiDB 的隔离级别(上篇)
  18. 对话推荐CRS论文精读KBRD:Towards Knowledge-Based Recommender Dialog System
  19. FMDB 的简单说明
  20. 12_心理咨询_微信小程序项目实战_数据交互_深入理解小程序

热门文章

  1. 虚幻4皮肤材质_虚幻引擎4.5版本预览说明
  2. 爬虫学习笔记 - day02
  3. 利用python实现汉字转拼音的2种方法
  4. linux共享实体机硬盘,实现目录共享
  5. linux timerfd系列函数学习笔记2 获取超时次数
  6. html如何转换为母版页,如何在模板中指定/或取消母版页
  7. CSCD刊源(2007年-2008年)
  8. JAVA RPC 生产级高可用RPC框架使用分享
  9. Excel教程 零基础到应用实操
  10. 用jQuery实现9宫格抽奖