机器学习及其Python实践 (7).pdf

上传人:奉*** 文档编号:67730275 上传时间:2022-12-26 格式:PDF 页数:88 大小:6.48MB
返回 下载 相关 举报
机器学习及其Python实践 (7).pdf_第1页
第1页 / 共88页
机器学习及其Python实践 (7).pdf_第2页
第2页 / 共88页
点击查看更多>>
资源描述

《机器学习及其Python实践 (7).pdf》由会员分享,可在线阅读,更多相关《机器学习及其Python实践 (7).pdf(88页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、机器学习及其Python实践第7章 神经网络基础第7章 神经网络基础 人类大脑的神经系统是由超百亿神经元(neuron)细胞组成的网络,它是人类智能的物质基础 人工神经网络(Artificial Neural Network,缩写ANN,简称神经网络)是受生物神经系统启发而提出的一种数学模型,目前广泛应用于机器学习和人工智能“神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界所做出的交互反应”(T.Kohonen)7.1 神经元模型 神经元的基本功能是接受、整合、传导和输出信息 将大量神经元组合在一起形成网络,其功能就会变得非常强大 生物神经元与M

2、-P神经元模型细胞体轴突树突7.1 神经元模型 生物神经元与M-P神经元模型 y=(xw-)w1x1w2wix2xiywdxd yz=xw-zy=(z)w1x1w2wix2xiwdxd细胞体轴突树突=1,如果 00,如果 0.(7 1)=11+22+.=11+22+.7 2=1,如果 00,如果 0.(7 2)激活函数(activation function)7.1 神经元模型 生物神经元与M-P神经元模型 y=(xw-)w1x1w2wix2xiywdxd yz=xw-zy=(z)w1x1w2wix2xiwdxd=11+22+.7 2=1,如果 00,如果 0.(7 2)激活函数(activa

3、tion function)7.1 神经元模型 生物神经元与M-P神经元模型 Hebb学习规则=+=11+22+.7 3=1,如果 00,如果 0.(7 3)阚道宏7.1 神经元模型 生物神经元与M-P神经元模型 Hebb学习规则 感知机模型=+=11+22+.7 3=1,如果 00,如果 0.(7 3)7.1 神经元模型 常用激活函数 阶跃函数 sigmoid函数 ReLU函数 tanh函数 无激活函数=1 1.(7 8)=+=1,如果+00,如果+07.1 神经元模型 常用激活函数 阶跃函数 sigmoid函数 ReLU函数 tanh函数 无激活函数=1 1.(7 8)=11+,0,1.7

4、 9a=1 =11+1+,0,0.25.(7 9b)7.1 神经元模型 常用激活函数 阶跃函数 sigmoid函数 ReLU函数 tanh函数 无激活函数=1 1.(7 8)=max 0,=,00,0,0,+.7 11a=1,00,0是一个超参数,用于控制更新参数时的步长(即更新幅度)。如果学习率过小,则每次迭代时参数的更新幅度很小,收敛速度慢 可以增大学习率来提高收敛速度,但如果学习率过大则参数可能会更新过头,这将使参数在极值点两边来回振荡,难以收敛 目前提高BP算法收敛速度的方法有两种,一是通过累积梯度来调节更新步长,二是通过自适应学习率来调节更新步长7.3 反向传播算法 基于代次、批次的

5、梯度下降 提高算法收敛速度 带动量的梯度下降法7.3 反向传播算法 基于代次、批次的梯度下降 提高算法收敛速度 带动量的梯度下降法 自适应学习率7.3 反向传播算法 基于代次、批次的梯度下降 提高算法收敛速度 带动量的梯度下降法 自适应学习率 面向深度学习的BP算法 梯度消失或梯度爆炸问题 过拟合问题7.3 反向传播算法 基于代次、批次的梯度下降 提高算法收敛速度 带动量的梯度下降法 自适应学习率 面向深度学习的BP算法 梯度消失或梯度爆炸问题 过拟合问题7.3 反向传播算法 基于代次、批次的梯度下降 提高算法收敛速度 带动量的梯度下降法 自适应学习率 面向深度学习的BP算法 梯度消失或梯度爆

6、炸问题 过拟合问题7.4 TensorFlow机器学习框架TensorFlow开源机器学习平台:https:/ Programming Interface):类库和函数库软件开发框架(framework):软件架构、接口规范以及APITensorFlow API支持Python、C+、Java等主流计算机语言的开发本课程使用Python语言来讲解TensorFlow编程开发7.4 TensorFlow机器学习框架 TensorFlow及其安装 TensorFlow 1(已逐步被淘汰)TensorFlow 2(Python 3.5以上版本)Anaconda+TensorFlow 2 创建Tens

7、orFlow开发环境 验证TensorFlow开发环境7.4 TensorFlow机器学习框架 TensorFlow及其安装 TensorFlow 1(已逐步被淘汰)TensorFlow 2(Python 3.5以上版本)Anaconda+TensorFlow 2 创建TensorFlow开发环境 验证TensorFlow开发环境7.4 TensorFlow机器学习框架 TensorFlow及其安装 TensorFlow 1(已逐步被淘汰)TensorFlow 2(Python 3.5以上版本)Anaconda+TensorFlow 2 创建TensorFlow开发环境 验证TensorFlo

8、w开发环境7.4 TensorFlow机器学习框架 TensorFlow底层接口编程 张量(tensor)及其运算、计算图(dataflow graph)与自动微分 两者相加就是“基于张量的计算图”(TensorFlow)TensorFlow提供了丰富的数据结构类与算法函数,它们被统称为TensorFlow API 底层接口(low-level API)和高层接口(high-level API,即Keras)TensorFlow API所包含的类和函数非常多包 子包 模块 类(或函数)()阚道宏7.4 TensorFlow机器学习框架 TensorFlow底层接口编程 张量(tensor)及其

9、运算、计算图(dataflow graph)与自动微分 两者相加就是“基于张量的计算图”(TensorFlow)TensorFlow提供了丰富的数据结构类与算法函数,它们被统称为TensorFlow API 底层接口(low-level API)和高层接口(high-level API,即Keras)TensorFlow API所包含的类和函数非常多包 子包 模块 类(或函数)()7.4 TensorFlow机器学习框架 TensorFlow底层接口编程 张量类型Tensor、Variable7.4 TensorFlow机器学习框架 TensorFlow底层接口编程 随机生成张量阚道宏7.4

10、TensorFlow机器学习框架 TensorFlow底层接口编程 批次标准化、算术运算1=2+.阚道宏7.4 TensorFlow机器学习框架 TensorFlow底层接口编程 张量运算阚道宏7.4 TensorFlow机器学习框架 TensorFlow底层接口编程 记录并生成计算图阚道宏7.4 TensorFlow机器学习框架 TensorFlow底层接口编程 记录计算图并进行自动微分7.4 TensorFlow机器学习框架 TensorFlow底层接口编程 将数据集包装成Dataset对象7.4 TensorFlow机器学习框架 TensorFlow底层接口编程 使用TensorFlow

11、底层接口搭建神经网络 波士顿房价预测模型 使用TensorFlow搭建神经网络模型的主要工作有:加载数据集、对数据集进行预处理、设计并搭建神经网络、编写训练(fit,即学习)算法和预测(predict)算法,最后使用训练集训练模型,并使用测试集对模型进行测试、评估阚道宏7.4 TensorFlow机器学习框架 TensorFlow底层接口编程 使用TensorFlow底层接口搭建神经网络 波士顿房价预测模型 使用TensorFlow搭建神经网络模型的主要工作有:加载数据集、对数据集进行预处理、设计并搭建神经网络、编写训练(fit,即学习)算法和预测(predict)算法,最后使用训练集训练模型

12、,并使用测试集对模型进行测试、评估7.4 TensorFlow机器学习框架 TensorFlow底层接口编程 使用TensorFlow底层接口搭建神经网络 波士顿房价预测模型 使用TensorFlow搭建神经网络模型的主要工作有:加载数据集、对数据集进行预处理、设计并搭建神经网络、编写训练(fit,即学习)算法和预测(predict)算法,最后使用训练集训练模型,并使用测试集对模型进行测试、评估w11w35u11u51输入层隐层输出层y1x1x2x3h1h57.4 TensorFlow机器学习框架 TensorFlow底层接口编程 使用TensorFlow底层接口搭建神经网络 波士顿房价预测模

13、型 使用TensorFlow搭建神经网络模型的主要工作有:加载数据集、对数据集进行预处理、设计并搭建神经网络、编写训练(fit,即学习)算法和预测(predict)算法,最后使用训练集训练模型,并使用测试集对模型进行测试、评估w11w35u11u51输入层隐层输出层y1x1x2x3h1h57.4 TensorFlow机器学习框架 TensorFlow底层接口编程 使用TensorFlow底层接口搭建神经网络 波士顿房价预测模型 使用TensorFlow搭建神经网络模型的主要工作有:加载数据集、对数据集进行预处理、设计并搭建神经网络、编写训练(fit,即学习)算法和预测(predict)算法,最

14、后使用训练集训练模型,并使用测试集对模型进行测试、评估w11w35u11u51输入层隐层输出层y1x1x2x3h1h5阚道宏7.4 TensorFlow机器学习框架 TensorFlow底层接口编程 使用TensorFlow底层接口搭建神经网络 波士顿房价预测模型 使用TensorFlow搭建神经网络模型的主要工作有:加载数据集、对数据集进行预处理、设计并搭建神经网络、编写训练(fit,即学习)算法和预测(predict)算法,最后使用训练集训练模型,并使用测试集对模型进行测试、评估w11w35u11u51输入层隐层输出层y1x1x2x3h1h57.5 Keras高层接口建模 Keras(号角

15、,来自希腊语)是一个用Python语言编写的专门用于神经网络与深度学习的高层接口(或称作KerasAPI)Keras能让科学家、工程师摆脱编程困扰,迅速将神经网络与深度学习引入自己的研究开发工作。注:如果是神经网络或深度学习建模则可以选用Keras,否则应选用其他Python库(例如Scikit-learn)Keras实际上是一个第三方开源Python库,在机器学习领域具有广泛的影响力。为此,TensorFlow从第2版开始引入Keras,将其作为自己的高层接口 安装TensorFlow 2时,Keras API将作为其中的一个子包被同时安装7.5 Keras高层接口建模 从编程到装配 Ker

16、as的核心是模型类Model以及构成模型的网络层类Layer 模型类Model下最常用的子类是堆叠式神经网络模型类Sequential(或称顺序模型类);网络层类Layer下最常用的子类是全连接网络层类Dense 在程序设计中,类(class)像是一张设计图纸,用类定义对象(object)就相当于是按照图纸制造程序零件(或称作实例,instance)7.5 Keras高层接口建模 从编程到装配 Keras用Python语言编写了搭建神经网络模型所需的全部代码,并以类的语法形式提供给用户使用。对用户来说,Keras能将神经网络建模工作从复杂的编程转变成简单的装配 使用Keras高层接口搭建神经网

17、络模型的完整流程,共5个环节,它们依次是:搭建神经网络模型、配置模型、训练模型、评估模型和应用模型阚道宏7.5 Keras高层接口建模 从编程到装配 搭建神经网络模型 配置模型 训练模型 评估模型 应用模型7.5 Keras高层接口建模 从编程到装配 搭建神经网络模型 配置模型 训练模型 评估模型 应用模型阚道宏7.5 Keras高层接口建模 使用Keras高层接口建立回归模型 加载数据集并进行预处理 搭建神经网络模型 训练模型并查看训练过程 测试并评估模型阚道宏7.5 Keras高层接口建模 使用Keras高层接口建立回归模型 加载数据集并进行预处理 搭建神经网络模型 训练模型并查看训练过程

18、 测试并评估模型阚道宏7.5 Keras高层接口建模 使用Keras高层接口建立分类模型 TensorFlow提供了一个手写数字数据集(名为MNIST)其中包含六万个手写数字样本图像,每幅图像的大小为2828=784像素阚道宏7.5 Keras高层接口建模 使用Keras高层接口建立分类模型 TensorFlow提供了一个手写数字数据集(名为MNIST)其中包含六万个手写数字样本图像,每幅图像的大小为2828=784像素7.5 Keras高层接口建模 使用Keras高层接口建立分类模型 TensorFlow提供了一个手写数字数据集(名为MNIST)其中包含六万个手写数字样本图像,每幅图像的大小

19、为2828=784像素w11w784,128输入层隐层1输出层p0p1p9x1x2x784h11h1128softmaxu11u64,10h21h264隐层2z0z1z97.5 Keras高层接口建模 使用Keras高层接口建立分类模型 TensorFlow提供了一个手写数字数据集(名为MNIST)其中包含六万个手写数字样本图像,每幅图像的大小为2828=784像素w11w784,128输入层隐层1输出层p0p1p9x1x2x784h11h1128softmaxu11u64,10h21h264隐层2z0z1z9阚道宏7.5 Keras高层接口建模 使用Keras高层接口建立分类模型 Tenso

20、rFlow提供了一个手写数字数据集(名为MNIST)其中包含六万个手写数字样本图像,每幅图像的大小为2828=784像素w11w784,128输入层隐层1输出层p0p1p9x1x2x784h11h1128softmaxu11u64,10h21h264隐层2z0z1z9阚道宏7.5 Keras高层接口建模 使用Keras高层接口建立分类模型 TensorFlow提供了一个手写数字数据集(名为MNIST)其中包含六万个手写数字样本图像,每幅图像的大小为2828=784像素w11w784,128输入层隐层1输出层p0p1p9x1x2x784h11h1128softmaxu11u64,10h21h264隐层2z0z1z9第7章 神经网络基础 本章学习要点 生物神经元、M-P神经元模型、感知机与Hebb学习规则、常用激活函数sigmoid/ReLU/tanh/softmax、小批量梯度下降法、代次/批次 多层前馈神经网络、输入层/隐层/输出层的功能与设计、基于特征/基于数据的机器学习、深度学习、梯度爆炸/梯度消失、过拟合 前向计算与反向求导、反向传播算法(BP算法)、RMSProp算法、Adam算法、批次标准化、早停、Dropout TensorFlow2下载与安装、张量及其运算、计算图与自动微分、使用TensorFlow底层接口/Keras高层接口搭建神经网络模型

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁