深度学习01 神经网络

embedded/2025/2/8 16:55:56/

目录

神经网络

​感知器

感知器的定义

感知器的数学表达

感知器的局限性

多层感知器(MLP, Multi-Layer Perceptron)

多层感知器的定义

多层感知器的结构

多层感知器的优势

偏置

偏置的作用

偏置的数学表达

神经网络的构造

神经网络的基本组件

前向传播(Forward Propagation)

损失函数

损失函数的作用

常见的损失函数

0-1损失函数

​均方差损失

平均绝对差损失

​交叉熵损失

​合页损失

总结

正则化惩罚

反向传播(BP神经网络

学习>深度学习是机器学习领域中的一个新的研究方向。所以在学习学习>深度学习之前我们需要了解一下神经网络

神经网络

神经网络:是由大量的节点(或称“神经元”)和之间相互的联接构成。 每个节点代表一种特定的输出函数,称为激励函数、激活函数(activation function)。 每两个节点间的联接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。

神经网络的本质

通过参数与激活函数来拟合特征与目标之间的真实函数关系。本质上是矩阵的运算。

神经网络是一种模拟人脑神经元工作方式的数学模型,用于解决各种机器学习问题。它由多个层(layers)组成,每一层包含多个神经元(neurons),这些神经元通过权重(weights)和偏置(biases)连接在一起。

感知器

感知器的定义

由两层神经元组成的神经网络--“感知器”(Perceptron),感知器只能线性划分数据。

感知器的数学表达
感知器的局限性

感知器只能解决线性可分的问题,无法解决非线性问题(如异或问题)。

多层感知器(MLP, Multi-Layer Perceptron

多层感知器的定义

多层感知器是由多个感知器组成的神经网络,包含输入层、隐藏层和输出层。通过增加隐藏层,MLP能够解决非线性问题。

tip:增加一个中间层,即隐含层,这也是神经网络可以做非线性分类的关键。

多层感知器的结构
  • 输入层:接收输入数据。

  • 隐藏层:对输入数据进行非线性变换。

  • 输出层:输出最终结果。

多层感知器的优势

通过增加隐藏层和神经元数量,MLP可以拟合任意复杂的函数。

偏置

神经网络中需要默认增加偏置神经元(节点),这些节点是默认存在的。 它本质上是一个只含有存储功能,且存储值永远为1的单元。在神经网络的每个层次中,除了输出层以外,都会含有这样一个偏置单元。

tips:

  1. 偏置节点没有输入。

  1. 一般情况下,不会明确画出偏置节点。

偏置的作用

偏置是神经元中的一个参数,用于调整神经元的激活阈值。它允许模型在输入为0时仍然能够输出非零值。

偏置的数学表达

在加权求和公式中,偏置 b是一个常数项:

神经网络的构造

神经网络的基本组件
  • 神经元:计算加权和并通过激活函数输出。

  • 层(Layer):由多个神经元组成,分为输入层、隐藏层和输出层。

    中间层如何确定?

    输入层的节点数:与特征的维度匹配 输出层的节点数:与目标的维度匹配。 中间层的节点数:目前业界没有完善的理论来指导这个决策。一般是根据经验来设置。较好的方法就是预先设定几个可选值,通过切换这几个值来看整个模型的预测效果,选择效果最好的值作为最终选择。

  • 连接(Connection):神经元之间通过权重连接。

tips: 1、设计一个神经网络时,输入层与输出层的节点数往往是固定的,中间层则可以自由指定; 2、神经网络结构图中的拓扑与箭头代表着预测过程时数据的流向,跟训练时的数据流有一定的区别; 3、结构图里的关键不是圆圈(代表“神经元”),而是连接线(代表“神经元”之间的连接)。每个连接线对应一个不同的权重(其值称为权值),这是需要训练得到的。

前向传播(Forward Propagation)

输入数据通过每一层的神经元,最终得到输出结果的过程。

损失函数

损失函数的作用

损失函数用于衡量模型预测值与真实值之间的差距。通过最小化损失函数,模型能够逐步优化。

常见的损失函数
0-1损失函数

0-1损失函数是最简单的分类损失函数,用于衡量分类任务中预测值与真实值是否一致。

均方差损失

均方差损失是回归任务中最常用的损失函数,衡量预测值与真实值之间的平方差。

平均绝对差损失

平均绝对差损失是回归任务中另一种常用的损失函数,衡量预测值与真实值之间的绝对差。

交叉熵损失

交叉熵损失是分类任务中最常用的损失函数,衡量预测概率分布与真实概率分布之间的差异。

神经网络多分类情况下,交叉熵损失函数运算过程如下:

合页损失

合页损失是支持向量机(SVM)中常用的损失函数,用于最大化分类间隔。

总结
损失函数应用场景优点缺点
0-1损失函数分类任务简单直观不可导,无法优化
均方差损失回归任务可导,易于优化对异常值敏感
平均绝对差损失回归任务对异常值不敏感在零点不可导,优化效率低
交叉熵损失分类任务适合概率输出,优化效果好对预测概率准确性要求高
合页损失二分类任务对分类间隔敏感,适合SVM不适合概率输出,对噪声敏感

正则化惩罚

正则化惩罚用于避免模型过拟合到训练数据,从而提高模型的泛化能力。正则化惩罚通过在目标函数中引入一个正则化项,以限制模型参数的大小或复杂度。

1)正则化惩罚的功能
        主要用于惩罚权重参数w,一般有L1和L2正则化。

2)L1正则化
        L1正则化通过在目标函数中加入参数的L1范数(绝对值之和),使得模型更倾向于产生稀疏的权重矩阵,即将一部分参数置为0,从而减少模型的复杂度。这可以帮助筛选出对模型影响较大的特征,提高模型的鲁棒性和可解释性。

3)L2正则化        
        L2正则化通过在目标函数中加入参数的L2范数(平方和的开方),使得模型更倾向于产生较小的权重值。这可以有效地控制模型参数的大小,避免出现过大的参数值,从而减少模型对训练数据的过拟合。

反向传播(BP神经网络

反向传播的原理

BP(Back-propagation,反向传播)前向传播得到误差,反向传播调整误差,再前向传播,再反向传播一轮一轮得到最优解的。

反向传播是一种高效计算梯度的方法,通过链式法则从输出层到输入层逐层计算损失函数对每个参数的梯度。


http://www.ppmy.cn/embedded/160577.html

相关文章

Java面试题及答案整理( 2022最新版,持续更新)

发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ Java面试永远是程序员迈向成功的第一个门槛,想要面试成功,各种面试题的洗礼是必不可少的,下面就来看看小编…

使用PyCharm创建项目以及如何注释代码

创建好项目后会出现如下图所示的画面,我们可以通过在项目文件夹上点击鼠标右键,选择“New”菜单下的“Python File”来创建一个 Python 文件,在给文件命名时建议使用英文字母和下划线的组合,创建好的 Python 文件会自动打开&#…

dl学习笔记(9):pytorch数据处理的完整流程

1)自动导入常用库的设置方式 在开始之前,这里介绍一下自动导入常用的你需要加载的库的操作方式。 首先在我们的目录下找到ipython文件,如下图: 然后找到里面的startup文件: 然后新建一个文本文档,输入你每…

如何挑选最适合您需求的智能氮气柜:七大关键因素沐渥科技详解

挑选智能氮气柜时,您需要考虑以下几个关键因素,以确保选择最适合您需求的设备: 1.湿度控制范围 根据您需要存储的物品对湿度敏感度的要求来确定所需的湿度控制范围。一些高端产品可以将内部湿度降至极低水平(如1%RH或更低&#xf…

【文件上传、秒传、分片上传、断点续传、重传】

文章目录 获取文件对象文件上传&#xff08;秒传、分片上传、断点续传、重传&#xff09;优化 获取文件对象 input标签的onchange方法接收到的参数就是用户上传的所有文件 <html lang"en"><head><title>文件上传</title><style>#inp…

OpenCV:图像修复

目录 简述 1. 原理说明 1.1 Navier-Stokes方法&#xff08;INPAINT_NS&#xff09; 1.2 快速行进方法&#xff08;INPAINT_TELEA&#xff09; 2. 实现步骤 2.1 输入图像和掩膜&#xff08;Mask&#xff09; 2.2 调用cv2.inpaint()函数 2.3 完整代码示例 2.4 运行结果 …

三格电子-单串口服务器说明

一、产品介绍 1.1 功能简介 SG-TCP232-110 是一款用来进行串口数据和网口数据转换的设备。解决普通 串口设备在 Internet 上的联网问题。 设备的串口部分提供一个 232 接口和一个 485 接口&#xff0c;两个接口内部连接&#xff0c;同 时只能使用一个口工作。 设 备 的网 口…

Unity 简易的UI框架

核心内容 UIType.cs namespace MYTOOL.UI {/// <summary>/// UI层级/// </summary>public enum UILayer{/// <summary>/// 主界面层/// </summary>MainUI 0,/// <summary>/// 普通界面层/// </summary>NormalUI 1,/// <summary>/…