从0开始深度学习(11)——多层感知机

前面介绍了线性神经网络,但是线性模型是有可能出错的,因为线性模型意味着是单调假设,但是现实中往往很复杂。例如,我们想要根据体温预测死亡率。 对体温高于37摄氏度的人来说,温度越高风险越大。 然而,对体温低于37摄氏度的人来说,温度越高风险就越低。
所以在深度神经网络中,我们使用观测数据来联合学习隐藏层表示和应用于该表示的线性预测器,以此来克服线性模型的限制

1 隐藏层

隐藏层(Hidden Layer)是人工神经网络(ANN)中介于输入层和输出层之间的层。隐藏层由多个神经元组成,这些神经元对输入进行加权求和,并通过激活函数进行非线性变换,可以让模型学习到更复杂的特征和模式

1.1 在网络中加入隐藏层

最简单的方法是将许多全连接层堆叠在一起。 每一层都输出到上面的层,直到生成最后的输出。 我们可以把前 L − 1 L-1 L1 层看作表示,把最后一层看作线性预测器。 这种架构通常称为多层感知机(multilayer perceptron),通常缩写为MLP。下图是一个多层感知机:
在这里插入图片描述
这个多层感知机有4个输入,3个输出,其隐藏层包含5个隐藏单元。输入层不涉及任何计算,因此使用此网络产生输出只需要实现隐藏层和输出层的计算。 因此,这个多层感知机中的层数为2。

注意,这两个层都是全连接的。每个输入都会影响隐藏层中的每个神经元, 而隐藏层中的每个神经元又会影响输出层中的每个神经元。

1.2 从线性到非线性

假设用矩阵 X X X 来表示 n n n 个样本的小批量,每个样本具有 d d d 个输入特征。

对于具有 h h h 个隐藏单元的单隐藏层感知机,我们用 H H H 表示隐藏层的输出,在数学中, H H H 也被称为隐藏层变量。因为隐藏层和输出层是全连接的,所以我们有隐藏层权重 W ( 1 ) W^{(1)} W(1) 和隐藏层偏置 b ( 1 ) b^{(1)} b(1),和输出层权重 W ( 2 ) W^{(2)} W(2) 和输出层偏置 b ( 2 ) b^{(2)} b(2) ,所以我们的多层感知机的输出 O O O可以用以下表示:
在这里插入图片描述
但是该模型依然没有实现非线性变化,因为隐藏单元是由输入的仿射函数给出,输出又是由隐藏单元的仿射函数给出,仿射函数的仿射函数,还是仿射函数,不包含非线性变化。

所以为了解决这一问题, 我们在在仿射变换之后对每个隐藏单元应用非线性的激活函数(activation function) σ \sigma σ,这样多层感知机的输出变成了下面的样式:
在这里插入图片描述
通过堆叠这样的隐藏层,可以产生更有表达能力的模型。

1.3 通用近似定理

定义:一个具有足够数量的隐藏层神经元的前馈神经网络(例如多层感知机),只要使用适当的激活函数(如非线性激活函数),可以以任意精度近似任何连续的、多变量的函数。

如,在一对输入上进行基本逻辑操作,多层感知机是通用近似器,但它并不关心训练的效率、网络的大小或如何选择最优的网络结构。因此,实际工作中还需要考虑优化算法、网络的设计和数据量等问题。

2 激活函数

激活函数(activation function)通过计算加权和并加上偏置来确定神经元是否应该被激活,它们将输入信号转换为输出的可微运算。 大多数激活函数都是非线性的。激活函数的输出被称为活性值(activations)。

2.1 ReLU函数

最受欢迎的激活函数是修正线性单元(Rectified linear unit,ReLU), 因为它实现简单,同时在各种预测任务中表现良好。 ReLU提供了一种非常简单的非线性变换。

给定元素 x x x ,ReLU函数被定义为该元素与0的最大值:
R e L U ( x ) = m a x ( x , 0 ) ReLU(x)=max(x,0) ReLU(x)=max(x,0)
在这里插入图片描述
即只保留正元素,丢弃所有负元素,可以看出ReLU是分段的。

当输入为负时,ReLU函数的导数为0,而当输入为正时,ReLU函数的导数为1。
在这里插入图片描述

所以:

  • 正向传播时,如果隐藏层仿射函数的输出 z z z 是正数,则输出本身;如果输出是负数或者0,则输出0.
  • 反向传播时,如果 z z z 是正数,则输出1; z z z 是负数或者0时,输出0

ReLU有很多变体,比如参数化ReLU,即为ReLU添加一个线性项,这样即使有些参数是负的,也可以通过:
在这里插入图片描述

2.2 sigmoid函数

对于一个定义域在 R \mathbb{R} R中的输入,sigmoid函数将输入变化为区间(0,1)上的输出,所以也被称为挤压函数(squashing function),公式如下:
在这里插入图片描述
在这里插入图片描述

早期神经网络热衷与“激发”和“不激发”,即认为有一个阈值单元,低于阈值取0,高于阈值取1。但当大家专注于梯度学习后,sigmoid函数作为一个平滑的曲线,逐渐被使用。

sigmoid函数的导数为以下公式:
在这里插入图片描述
在这里插入图片描述
即输入为0时,导数值最大为0.25,越远离0,导数值越接近0

2.3 tanh函数

与sigmoid函数类似, tanh(双曲正切)函数也能将其输入压缩转换到区间(-1, 1)上。 tanh函数的公式如下:
在这里插入图片描述
在这里插入图片描述
tanh的导数公式是:
在这里插入图片描述
在这里插入图片描述
即输入越接近0,导数值越接近最大值1,越远离0,导数值越接近0

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL插入优化-性能对比

插入优化主要包括: 批量插入条数据,而不是单个记录逐条插入。手动提交事务,避免自动提交事务带来的额外开销。使用load命令从本地文件导入。 性能对比 创建数据库表 CREATE TABLE if not exists tb_sku ( id int(20) …

facefusion,使用CPU实现一键图片、视频换脸,无需显卡,无限时长(附下载即用的整合包)

FaceFusion 是一种利用人工智能技术将两张或多张人脸融合在一起的图像处理技术。这种技术通过面部特征的识别和重构,将不同的人脸混合成一张新的脸,生成的图像看起来像是这些人脸的融合体。 FaceFusion使用深度学习算法,来捕捉人脸的细节和特…

OpenCV答题卡识别

文章目录 一、基本流程二、代码实现1.定义函数2.图像预处理(1)高斯模糊、边缘检测(2)轮廓检测(3)透视变换(4)阈值处理和轮廓检测 3.筛选和排序选项轮廓4.判断答案5.显示结果 三、总结…

YOLOv11改进有效系列目录 - 包含卷积、主干、检测头、注意力机制、Neck上百种创新机制 - 针对多尺度、小目标、遮挡、恶劣天气等问题

目标检测作为计算机视觉领域的一项核心任务,极大地推动了整个领域的发展。它不仅是其他许多视觉任务的基础工具,还在学术研究和实际应用之间架起了一座桥梁。目标检测的主要任务是识别和定位图像或视频中的特定对象,通常需要模型能同时处理多…

C++ | Leetcode C++题解之第476题数字的补数

题目&#xff1a; 题解&#xff1a; class Solution { public:int findComplement(int num) {int highbit 0;for (int i 1; i < 30; i) {if (num > (1 << i)) {highbit i;}else {break;} }int mask (highbit 30 ? 0x7fffffff : (1 << (hig…

【DBA Part01】国产Linux上安装Oracle进行数据迁移

内容如下&#xff1a; 1.1.生产环境RHEL/OEL Linux8Oracle11gR2安装配置 1.2.国产麒麟操作系统Oracle11gR2安装配置 1.3.国产麒麟操作系统Oracle11gR2 RAC集群安装配置 1.4.Oracle11gR2迁移到国产麒麟操作系统&#xff08;单机/RAC&#xff09; 本阶段课程项目需求说明&am…

零一万物 Yi-Lightning:超越 GPT-4o 冲击全球榜单;阿里国际 Marco 翻译大模型发布丨 RTE 开发者日报

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」 &#xff0c;每天和大家一起看新闻、聊八卦。 我们的社区编辑团队会整理分享 RTE&#xff08;Real-Time Engagement&#xff09; 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 …

CEEMDAN +组合预测模型(Transformer - BiLSTM + ARIMA)

往期精彩内容&#xff1a; 时序预测&#xff1a;LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较 全是干货 | 数据集、学习资料、建模资源分享&#xff01; EMD、EEMD、FEEMD、CEEMD、CEEMDAN的区别、原理和Python实现&#xff08;一&#xff09;EMD-CSDN博客 EMD、EEM…

具备技术二:正则表达式

一、C正则库 regex 用于报文的解析。 使用接口&#xff1a;bool regex_match(const string &src, smatch &matches, regex &e); src&#xff1a;要解释的字符串。 smatch&#xff1a;一个类似于数组的结构&#xff0c;用于存储一个个解释之后的字符串。 matche…

鸿蒙网络编程系列3-TCP客户端通讯示例

1. TCP简介 TCP协议是传输层最重要的协议&#xff0c;提供了可靠、有序的数据传输&#xff0c;是多个广泛使用的表示层协议的运行基础&#xff0c;相对于UDP来说&#xff0c;TCP需要经过三次握手后才能建立连接&#xff0c;建立连接后才能进行数据传输&#xff0c;所以效率差了…

Android -- [SelfView] 多动画效果图片播放器

Android – [SelfView] 多动画效果图片播放器 效果&#xff08;录制的有点卡&#xff09; 1. 引用&#xff1a; <com.nepalese.virgolib.widget.image.BaseImageViewandroid:id"id/base_image"android:layout_width"match_parent"android:layout_heigh…

AD画图的使用

一、新建工程 二、绘制原理图 1、原理图搜索方法&#xff1a; https://www.ti.com/lit/ds/symlink/tlv1117.pdf?ts1729143086540&ref_urlhttps%253A%252F%252Fwww.mouser.tw%252F www.alldatasheet.com 2、绘图步骤&#xff1a; 注&#xff1a;管脚四点朝外

2024软考网络工程师笔记 - 第5章.无线通信网

文章目录 移动通信与 5G1️⃣移动通信2️⃣移动通信制式3️⃣5G 应用场景与关键技术 &#x1f551;WLAN 通信技术1️⃣WLAN 通信技术 &#x1f552;WLAN 频谱与信道&#xff08;高频考点&#xff09;1️⃣WLAN 网络分类2️⃣ISM频段3️⃣不重叠信道&#xff08;重点&#xff09…

uniapp 省、市、区、乡镇 数据层级选择插件 Ba-DataPicker

Ba-DataPicker 是一款uniapp数据层级选择弹窗插件。支持省市区乡四级&#xff1b;支持自定义数据。 支持省、市、区、乡镇四级支持自定义数据支持字母检索 截图展示 支持定制、本地包、源码等&#xff0c;有建议和需要&#xff0c;请点击文章结尾“Uniapp插件开发”联系我&am…

人脸识别-特征算法

文章目录 一、LBPH算法1.基本原理2.实现步骤3.代码实现 二、Eigenfaces算法1.特点2.代码实习 三、FisherFaces算法1.算法原理2.算法特点3.代码实现 四、总结 人脸识别特征识别器是数字信息发展中的一种生物特征识别技术&#xff0c;其核心在于通过特定的算法和技术手段&#xf…

代码随想录算法训练营第八天(1)|哈希表理论基础

文档讲解&#xff1a;代码随想录 难度&#xff1a;有一点 哈希表理论基础 哈希表 首先什么是哈希表&#xff0c;哈希表&#xff08;英文名字为Hash table&#xff0c;国内也有一些算法书籍翻译为散列表&#xff0c;大家看到这两个名称知道都是指hash table就可以了&#xff0…

指尖的无声告白,算法里的隐约温柔

公主请阅 1. 三数之和1. 题目说明示例 1示例 2示例 3 1.2 题目分析1.3 代码部分1.3 代码分析 2. 四数之和2.1 题目说明示例 1示例 2 2.2 题目分析2.3 代码部分2.4 代码解析 1. 三数之和 题目传送门 1. 题目说明 给定一个整数数组 nums&#xff0c;判断数组中是否存在三个元素 …

鸿道Intewell操作系统构型介绍之Intewell-C全实时构型

鸿道(Intewell)操作系统主要包括Intewell-C、Intewell-H和Intewell-V三种不同构型产品&#xff1a; Intewell-C Intewell-C是一款工业实时微内核操作系统&#xff0c;由科东软件自主研发&#xff0c;具有超低延迟和最小抖动&#xff0c;保障工业设备可以高效处理时间敏感的现…

python爬虫实战案例——从移动端接口抓取微博评论,采用cookie登陆,数据存入excel表格,超详细(15)

文章目录 1、任务目标2、网页分析3、代码编写3.1 代码分析3.2 完整代码1、任务目标 1、目标网站:微博文章(https://m.weibo.cn/detail/4813628149072458),这是微博某一篇博文,用于本文测试 2、要求:爬取该博文下,所有一级评论和二级评论,以及每条评论的作者,最后保存至E…

熵权法计算评价指标权重——使用Excel VBA实现

[ 熵权法 ] 信息是系统有序程度的一个度量&#xff0c;熵是系统无序程度的一个度量&#xff1b;根据信息熵的定义&#xff0c;对于某项指标&#xff0c;可以用熵值来判断某个指标的离散程度&#xff0c;其信息熵值越小&#xff0c;指标的离散程度越大&#xff0c; 该指标对综合…