什么是“感知机”?

感知机(神经网络和支持向量机的理论基础

概念:简单来说,感知机就是一个旨在建立一个线性超平面对线性可分的数据集进行分类线性模型

分类

  • 单层感知机
  • 多层感知机( Multi-Layer Perceptron,MLP)/神经网络模型

1.单层感知机

单层感知机包含两层神经元输入神经元和输出神经元,可以非常容易地实现逻辑与、逻辑或、逻辑非等线性可分情形。

基本结构如图1.4所示:一个n维输入的单层感知机模型。
在这里插入图片描述

图1.4 感知机模型

  • x1~xn:n维输入向量的各个分量

  • w1~wn:各个输入分量连接到感知机的权重(权值)

    权重W初始值一般是随机设置,往往达不到较好的拟合结果,那么如何更改权重数值使标量输出y更逼近实际值呢?使用梯度下降法最速下降法)进行学习

  • Θ \Theta Θ阈值(偏置)

  • f:激活函数(激励函数/传递函数)(通常是越阶函数或Sigmoid函数)

  • y:标量输出

完整的单层感知机训练的过程:

  1. 前向计算:图1.1从左到右为感知机模型的计算执行方向,模型接受了x1,x2,x3三个输入,将输入与权值参数w进行加权求和并经过sigmoid函数进行激活,将激活结果y作为输出

  2. 执行完前向计算得到基本输出之后,模型需要根据当前的输出和实际的输出按照损失函数计算当前损失,计算损失函数关于权值和偏置的梯度,然后根据梯度下降法更新权值和偏置,经过不断地迭代调整权值和偏置使损失最小,这就是完整的单层感知机训练的过程。

    注:单层感知机没有反向转播这个概念,而是直接建立损失函数和偏置参数进行梯度优化。

图1.2所示是输入为图像的感知机计算过程

在这里插入图片描述

2.多层感知机

单层感知机问题

单层感知机不能处理稍微复杂的异或问题,即本质缺陷是不能处理线性不可分问题。如图1.7所示。

解释:单层感知机的学习能力非常有限,对与像异或问题这样的线性不可分情形,单层感知机就搞不定(线性不可分即输入训练数据存在一个线性超平面能够将其进行线性分类)。其学习过程会出现一定程度的震荡,权值参数w难以稳定下来,最终不能求得合适的解。

图1.7:其中,(1,1)和(-1,-1)是一类,(1,-1)和(-1,1)是一类。
由于单层感知机本质上就是该平面的一条直线,因此不可能解决这个分类问题。
所以需要多层感知机。

解决:两种方法

  • 支持向量机(旨在通过核函数映射来处理非线性的情况)
  • 神经网络模型多层感知机 Multi-Layer Perceptron,MLP)

多层感知机

  • 多层感知机(Multi-Layer Perceptron,MLP)是由单层感知机推广而来的。
  • 多层感知机与单层感知机的主要区别:MLP多了若干隐藏层,这使得神经网络能够处理非线性问题。
  • 多层感知机最主要特点:有多个神经元层,可以实现复杂的非线性变换(可以解决异或问题)。
  • 一般将MLP的第一层称为输入层,中间层成为隐藏层,最后一层成为输出层

一个单隐藏层的神经网络的结构如图1.8所示。

图1.8

图1.9

可以看出,图1.8相较于两层神经元的单层感知机,该多层感知机中间多了一个隐藏层

输入层的神经元:仅接收外界信息并将其传递给隐藏层

隐藏层与输出层的神经元:对信号进行加工

MLP并没有规定隐藏层的数量,可以根据实际处理需求选择合适的隐藏层数目,对于隐藏层和输出层中每层神经元的个数,MLP也没有限制。

多层感知机可以解决如图1.10所示的异或问题,因为MLP模型不再是一个平面中的直线。

图1.10

何为隐藏层

在神经网络的训练过程中只观察到输入层和输出层的数据,对于中间隐藏层的数据变化是看不见的。

因而在深度神经网络(Deep NeuralNetworks,DNN)中,将中间看不见又难以对其效果进行合理解释的隐藏层称为“黑箱子”

含隐藏层的神经网络如何训练?

多层感知机关键问题如何训练各层之间的连接权值

训练方式大致分为两类:

  1. 一类是将其他连接权值进行固定,只训练某两层之间的连接权值

  2. 另一类即反向传播(Back Propagation,BP)算法。

    BP算法通常使用Sigmoid和Tanh等连续函数模拟神经元对激励的相应,使用反向传播对神经网络的连接权值进行训练

反向传播的过程就是更新神经元的误差值,然后再根据所求出的误差值正向更新权值和偏置

与感知机一样,神经网络的训练包含前向计算反向传播(Back Propagation,BP)两个主要过程。

前向计算:权值偏置与输入的线性加权和激活操作,在隐藏层上有个嵌套的过程。

反向转播算法:(也称为误差逆传播算法),作为神经网络的训练算法,反向传播算法可谓是目前最成功的神经网络学习算法。

  • 通常所说的BP神经网络是指应用反向传播算法进行训练的神经网络模型。

  • 反向传播是基于梯度下降策略的,主要是以目标参数的负梯度方向对参数进行更新,所以基于损失函数对前向传播过程中各个变量进行梯度计算就非常必要。

  • 总结起来就是前向计算得到输出,反向传播调整参数,最后以得到损失最小时的参数为最优学习参数。

  • 反向传播的基本过程?

    以一个两层(单隐藏层)网络为例,即图1.4中的网络结构。

在这里插入图片描述

图过程

以上就是BP神经网络模型和算法的基本工作流程,如图过程所示。

总结起来就是前向计算得到输出,反向传播调整参数,最后以得到损失最小时的参数为最优学习参数。
经过近十几年的发展,神经网络的结构已经从普通的全连接网络发展到卷积神经网络、循环神经网络、自编码器、生成对抗网络和图神经网络等各种各样的结构,但BP算法一直都是神经网络的一个经典和高效的寻优工具。

参考文献:

1.《深度学习笔记》 鲁伟 编著

出版社:北京大学出版社,出版时间:2020年7月1日

ISBN:978-7-301-16122-7
2.《深度学习之图像识别 核心算法与实战案例 (全彩版)》言有三 著

出版社:清华大学出版社 ,出版时间:2023年7月第一版(第一次印刷)

ISBN:978-7-302-63527-7

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

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

相关文章

C/C++中的max函数如何使用?哪个头文件?多个数字可以用max吗?

在C中&#xff0c;max函数是一个非常实用的函数&#xff0c;它用于比较两个或更多数值并返回其中的最大值。这个函数在头文件中定义。 下面是如何在C中使用max函数的一些示例&#xff1a; #include <iostream> #include <algorithm> // 引入algorithm头文件以使…

STM32——中断

1 什么是中断 中断&#xff1a;打断CPU执行正常的程序&#xff0c;转而处理紧急程序&#xff0c;然后返回原暂停的程序继续运行&#xff1b; 对于单片机来说&#xff0c;中断是指CPU正在处理某个事件A&#xff0c;发生了另一件事件B&#xff0c;请求CPU迅速去处理&#xff08;…

CentOS7.9+Kubernetes1.29.2+Docker25.0.3高可用集群二进制部署

CentOS7.9Kubernetes1.29.2Docker25.0.3高可用集群二进制部署 Kubernetes高可用集群&#xff08;Kubernetes1.29.2Docker25.0.3&#xff09;二进制部署二进制软件部署flannel v0.22.3网络&#xff0c;使用的etcd是版本3&#xff0c;与之前使用版本2不同。查看官方文档进行了解…

[word] word技巧分享_word自动编号的标题 #知识分享#知识分享#其他

word技巧分享_word自动编号的标题 日常办公&#xff0c;我们时时都在使用 word 软件。 word 软件内容的组织是通过一节一节的标题进行的。 我们常常需要处理的是下图一样的章节目录

语言与科技创新(大语言模型对科技创新的影响)

1.科技创新中的语言因素 科技创新中的语言因素至关重要&#xff0c;具体体现在以下几个方面&#xff1a; 科技文献交流&#xff1a; 英语作为全球科学研究的通用语言&#xff0c;极大地推动了科技成果的国际传播与合作。科学家们在发表论文、报告研究成果时&#xff0c;大多选…

.NET Core WebAPI中使用swagger版本控制,添加注释

一、效果 二、实现步骤 在代码中添加注释 在项目属性中生成API文档 在Program中注册Swagger服务并配置文档信息 // 添加swagger注释 builder.Services.AddSwaggerGen(x > {x.SwaggerDoc("v1", new OpenApiInfo { Title "Swagger标题", Version "…

Ansible file文件模块 设置文件的属性,比如创建文件、创建链接文件、删除文件

目录 语法创建目录创建链接文件删除文件 每个值的属性 语法 创建目录 ansible slave -m file -a path/data/app statedirectory path/data/app # 定义创建路径 statedirectory # 如果目录不存在就创建目录这就是创建目录成功之后的回显 可以看到&#xff0c;已经打印出目录a…

SECS/GEM的HSMS通讯?金南瓜方案

High Speed SECS Message Service (HSMS) 是一种基于 TCP/IP 的协议&#xff0c;它使得 SECS 消息通信更加快速。这通常用作设备间通信的接口。 HSMS 状态逻辑变化&#xff08;序列&#xff09;&#xff1a; 1.Not Connected&#xff1a;准备初始化 TCP/IP 连接&#xff0c;但尚…

JDBC教程+数据库连接池

JDBC 1.JDBC概述 ​ JDBC&#xff0c;全称Java数据库连接&#xff08;Java DataBase Connectivity&#xff09;&#xff0c;它是使用Java语言操作关系型数据库的一套API。 ​ JDBC本质是官方&#xff08;原SUN公司&#xff0c;现ORACLE&#xff09;定义的一套操作所有关系型数…

苹果推出新型开源AI图像编辑模型“MGIE”;可汗学院辅助学习的GPT,Prompt 质量非常高

&#x1f989; AI新闻 &#x1f680; 苹果推出新型开源AI图像编辑模型“MGIE” 摘要&#xff1a;苹果公司最近发布了一个名为“MGIE”的开源人工智能模型&#xff0c;旨在通过自然语言指令对图片进行编辑。MGIE&#xff0c;全称MLLM-Guided Image Editing&#xff0c;依赖于多…

【DDD】学习笔记-对象图与聚合

类之间的关系 在理解领域驱动设计的聚合&#xff08;Aggregate&#xff09;之前&#xff0c;我们需要先理清面向对象设计中对象之间的关系。正如生活中我们不可能做到“鸡犬之声相闻&#xff0c;老死不相往来”一般&#xff0c;对象之间必然存在关系&#xff0c;如此才可以通力…

医院三基怎么搜题答案? #学习方法#学习方法#微信

在大学生的学习过程中&#xff0c;遇到难题和疑惑是常有的事情。然而&#xff0c;随着互联网的普及和技术的发展&#xff0c;搜题和学习软件成为了大学生们解决问题的利器。今天&#xff0c;我将向大家推荐几款备受大学生喜爱的搜题和学习软件&#xff0c;帮助我们更好地应对学…