Python 全栈体系【四阶】(十六)

news2024/11/27 12:55:53

第五章 深度学习

请添加图片描述

一、基本理论

2. 深度神经网络结构

2.1 感知机
2.1.1 生物神经元

感知机(Perceptron),又称人工神经元(Artificial neuron),它是生物神经元在计算机中的模拟。下图是一个生物神经元示意图:
请添加图片描述

2.1.2 生物神经网络

更多的生物神经元相互连接,形成复杂的神经网络。人类神经元数量在 1011 数量级。
请添加图片描述

2.1.3 什么是感知机

感知机(Perceptron),又称神经元(Neuron,对生物神经元进行了模仿)是神经网络(深度学习)的起源算法,1958 年由康奈尔大学心理学教授弗兰克·罗森布拉特(Frank Rosenblatt)提出,它可以接收多个输入信号,产生一个输出信号。

请添加图片描述

2.1.4 感知机的功能

作为分类器/回归器,解决线性分类(逻辑和、逻辑或)、回归问题

  • 神经元作为回归器 / 分类器
    请添加图片描述
  • 逻辑和(线性分类)
    请添加图片描述
  • 逻辑或(线性分类)
    请添加图片描述

组成神经网络

2.1.5 如何实现感知机

实现逻辑和

在这里插入图片描述

实现逻辑或

在这里插入图片描述

2.1.6 感知机的局限

感知机的局限在于无法处理“异或”问题(非线性问题)
请添加图片描述

2.1.7 多层感知机

1975 年,感知机的“异或”难题才被理论界彻底解决,即通过多个感知机组合来解决该问题,这种模型也叫多层感知机(Multi-Layer Perceptron,MLP)。如下图所示,神经元节点阈值均设置为 0.5
请添加图片描述

多层感知机解决异或门实现

在这里插入图片描述

2.2 神经网络
2.2.1 什么是神经网络

感知机由于结构简单,完成的功能十分有限。可以将若干个感知机连在一起,形成一个级联网络结构,这个结构称为“多层前馈神经网络”(Multi-layer Feedforward Neural Networks)。所谓“前馈”是指将前一层的输出作为后一层的输入的逻辑结构。每一层神经元仅与下一层的神经元全连接。但在同一层之内,神经元彼此不连接,而且跨层之间的神经元,彼此也不相连。

在这里插入图片描述

2.2.2 神经网络的功能

1989 年,奥地利学者库尔特·霍尼克(Kurt Hornik)等人发表论文证明,对于任意复杂度的连续波莱尔可测函数(Borel Measurable Function)f,仅仅需要一个隐含层,只要这个隐含层包括足够多的神经元,前馈神经网络使用挤压函数(Squashing Function)作为激活函数,就可以以任意精度来近似模拟 f。如果想增加 f 的近似精度,单纯依靠增加神经元的数目即可实现。

这个定理也被称为通用近似定理(Universal Approximation Theorem),该定理表明,前馈神经网在理论上可近似解决任何问题。

2.2.3 通用近似定理几何解释

现有目标函数 f ( x ) = x 3 + x 2 − x − 1 f(x) = x^3 + x^2 - x - 1 f(x)=x3+x2x1,可以使用 6 个神经元进行模拟:
在这里插入图片描述
请添加图片描述
请添加图片描述

2.2.4 神经网络为什么要足够深

其实,神经网络的结构还有另外一个“进化”方向,那就是朝着“纵深”方向发展,也就是说,减少单层的神经元数量,而增加神经网络的层数,也就是“深”而“瘦”的网络模型。

微软研究院的科研人员就以上两类网络性能展开了实验,实验结果表明:增加网络的层数会显著提升神经网络系统的学习性能。

在这里插入图片描述

2.2.5 多层神经网络计算公式

神经网络涉及很多层权重,每一层又由多个权重组成,符号表示规则如下所示:
在这里插入图片描述
以下是一个多层神经网络及其计算公式:
请添加图片描述

2.3 激活函数
2.3.1 什么是激活函数

在神经网络中,将输入信号的总和转换为输出信号的函数被称为激活函数(activation function)。
请添加图片描述

2.3.2 为什么使用激活函数

激活函数将多层感知机输出转换为非线性,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。

如果一个多层网络,使用连续函数作为激活函数的多层网络,称之为“神经网络”,否则称为“多层感知机”。所以,激活函数是区别多层感知机和神经网络的依据。

2.3.3 常见激活函数

阶跃函数

  • 阶跃函数(Step Function)是一种特殊的连续时间函数,是一个从 0 跳变到 1 的过程,函数形式与图像:
    请添加图片描述

sigmoid 函数

  • sigmoid 函数也叫 Logistic 函数,用于隐层神经元输出,取值范围为(0,1),它可以将一个实数映射到(0,1)的区间,可以用来做二分类,表达式: σ ( x ) = 1 / ( 1 + e − x ) σ(x) = 1 / (1 + e^{-x}) σ(x)=1/(1+ex)
    在这里插入图片描述

  • 优点:平滑、易于求导

  • 缺点:激活函数计算量大,反向传播求误差梯度时,求导涉及除法;反向传播时,很容易就会出现梯度消失的情况,从而无法完成深层网络的训练

tanh 双曲正切函数
请添加图片描述

  • 优点:平滑、易于求导;输出均值为 0,收敛速度要比 sigmoid 快,从而可以减少迭代次数
  • 缺点:梯度消失
  • 用途:常用于 NLP 中

ReLU(Rectified Linear Units,修正线性单元)
请添加图片描述

  • 优点:

    • 更加有效率的梯度下降以及反向传播,避免了梯度爆炸和梯度消失问题
    • 计算过程简单
  • 缺点:小于等于 0 的部分梯度为 0

  • 用途:常用于图像

Softmax

  • Softmax 函数定义如下,其中 V i V_i Vi 是分类器前级输出单元的输出。i 表示类别索引,总的类别个数为 C。 S i S_i Si 表示的是当前元素的指数与所有元素指数和的比值。通过Softmax 函数就可以将多分类的输出数值转化为相对概率,而这些值的累和为 1,常用于神经网络输出层。表达式:
    在这里插入图片描述 请添加图片描述
2.3.4 案例:实现常见激活函数

请添加图片描述

2.4 小结

感知机

  • 接收多个输入信号,产生一个输出信号,无法解决异或问题

多层感知机

  • 将多个感知机组合

多层前馈网络

  • 若干个感知机组合成若干层的网络,上一层输出作为下一层输入

激活函数

  • 将计算结果转换为输出的值,包括阶跃函数、sigmoid、tanh、ReLU

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1530546.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

故障诊断 | 一文解决,RBF径向基神经网络的故障诊断(Matlab)

文章目录 效果一览文章概述专栏介绍模型描述源码设计参考资料效果一览 文章概述

【leetcode热题】二叉搜索树迭代器

实现一个二叉搜索树迭代器类BSTIterator ,表示一个按中序遍历二叉搜索树(BST)的迭代器: BSTIterator(TreeNode root) 初始化 BSTIterator 类的一个对象。BST 的根节点 root 会作为构造函数的一部分给出。指针应初始化为一个不存在…

【案例34】数据源密码保存不上

问题现象 客户反馈在启动BIP高级版时,Bip 2207启动异常。在相关的启动日志中排查发现,报数据源连接异常的错误。排查发现BIP高级版的数据源不通。发现密码字段为空导致。 问题分析 添加了正确的密码,测试通过保存。再次重启。发现还是报数据…

如何设置vscode编辑器代码格式化(settings.json)

vscode编辑器代码格式化设置 第一步:打开编辑器找到"设置"图标,选择"设置"选项 第二步:在搜索框输入"setting",选择文本编辑器选项,点击"settings.json中编辑" 第三步:把以下代码复制替换原来的配置即可 {"update.mode"…

wayland(xdg_wm_base) + egl + opengles 使用 Assimp 加载材质文件Mtl 中的纹理图片最简实例(十六)

文章目录 前言一、3d 立方体 model 属性相关文件1. cube.obj2. cube.Mtl3. 纹理图片 cordeBouee4.jpg二、代码实例1. 依赖库和头文件1.1 assimp1.2 stb_image.h2. egl_wayland_obj_cube.cpp3. Matrix.h 和 Matrix.cpp4. xdg-shell-client-protocol.h 和 xdg-shell-protocol.c5.…

HTML静态网页成品作业(HTML+CSS)——非遗徽州木雕网页(6个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有6个页面。 二、作品演示 三、代…

如何在gitee上fork github上面的项目,并保持同步更新

前言 当看到github上面比较好的项目,想用到自己的项目,又不想仓库别人看,同时网络不好,囊中又羞涩的情况下,怎么办? 可以考虑用gitee来同步更新github上面的项目。 一、在gitee创建私有仓库 新建的是选择…

Android Studio配置buildTypes{}后,gradle中Tasks列表不显示assembleRelease。

打开Files → Settings → Experimental 取消选中 "Do not build Gradle task list during Grafle sync"

锂电池寿命预测 | Matlab基于ALO-SVR蚁狮优化支持向量回归的锂离子电池剩余寿命预测

目录 预测效果基本介绍程序设计参考资料 预测效果 基本介绍 锂电池寿命预测 | Matlab基于ALO-SVR蚁狮优化支持向量回归的锂离子电池剩余寿命预测 基于蚁狮优化和支持向量回归的锂离子电池剩余寿命预测: 1、提取NASA数据集的电池容量,以历史容量作为输入,…

CMake笔记之GLOB和GLOB_RECURSE的使用方法

CMake笔记之GLOB和GLOB_RECURSE的使用方法 —— 杭州 2024-03-19 夜 文章目录 CMake笔记之GLOB和GLOB_RECURSE的使用方法1.GLOB使用方法2.GLOB对比GLOB_RECURSE 1.GLOB使用方法 在 CMake 中,file(GLOB ...) 命令用于将匹配特定模式的文件列表赋值给变量。这可以用…

HTML静态网页成品作业(HTML+CSS)——动漫猫和老鼠网页(1个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有1个页面。 二、作品演示 三、代…

5 个去除图像水印的工具学习分享

水印可能是保护图像并防止它们成为未经授权使用的受害者的最常见技术。 但是,在某些情况下您可能需要从图像中删除水印。也许它遮挡了照片上的一些重要细节,或者您可能希望它(水印)位于图像的另一侧)。无论出于何种原…

蓝桥练习题总结(一)字母图形、完美的代价、01串、序列求和

目录 一、字母图形 二、完美的代价 三、01字串 四、序列求和 一、字母图形 问题描述 利用字母可以组成一些美丽的图形,下面给出了一个例子: ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 这是一个5行7列的图形,请找出这个图形的规律&#xff…

jmeter之Http请求默认值与Http信息头管理器-第五天

1.Http请求默认值 点击测试计划-右键-添加-配置元件-Http请求默认值 http请求默认值:设置重复的字段 2.Http信息头管理器 点击测试计划-右键-添加-配置元件-Http信息头管理器 http信息头管理器: 新增修改实现时提交的数据是JSON 格式的,…

OpenResty使用Lua大全(十二)实战: 动手实现一个网关框架

文章目录 系列文章索引一、网关基本介绍1、网关常用功能2、本次实战目标3、orange介绍4、安装orange 二、动手实现网关1、主入口(1)nginx的conf配置(2)网关lua:gateway.lua(3)启动 2、gateway网…

camunda 与 pycamunda学习

camunda 与 pycamunda 相关链接: camunda 官方社区:https://docs.camunda.org/manual/7.17/ 官方社区提供的REST_API:https://docs.camunda.org/manual/7.17/reference/rest/ GITHUB 社区:https://github.com/camunda-community-hub Git…

【机器学习】机器学习实验方法与原则(统计有效性检验详解)

统计有效性检验 假设的评估检验:问题1 • 效果估计 • 给定一个假设 在有限量数据 上的准确率 • 该准确率是否能准确估计 在其它未见数据上 的效果? 假设的评估检验:问题2 • h 1 在数据的一个样本集上表现优于 h 2 • h 1 总体…

ubuntu下samba匿名读写服务器

目的: 局域网内,ubuntu下,创建SAMBA文件共享服务器。匿名读写权限。为了开发项目组文件共享传输方便。 环境: X86_64电脑一台。 操作系统: Ubuntu 20.04 LTS 64位。 安装samba $ sudo apt-get install samba创建…

缅甸的大开发时代即将到来 缅文wordpress主题模板

Simplify WordPress外贸网站模板 Simplify WordPress外贸网站模板,简洁实用的外贸公司wordpress外贸建站模板。 https://www.jianzhanpress.com/?p4565

爬虫(七)

1.批量爬取知网数据 lxml:是 Python 的一个功能强大且易用的 XML 和 HTML 处理库。它提供了简单又轻巧的 API,使得解析、构建和操作 XML 和 HTML 文档变得非常方便。lxml 库通常用于处理 XML 和 HTML 文档,例如解析网页、处理配置文件等。openpyxl:是 Python 中用于操作 Ex…