什么是“感知机”?

news2024/11/29 0:29:29

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

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

分类

  • 单层感知机
  • 多层感知机( 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.coloradmin.cn/o/1450316.html

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

相关文章

DS Wannabe之5-AM Project: DS 30day int prep day18

Q1. What is Levenshtein Algorithm? Levenshtein算法,也称为编辑距离算法,是一种量化两个字符串之间差异的方法。它通过计算将一个字符串转换成另一个字符串所需的最少单字符编辑操作次数来实现。这些编辑操作包括插入、删除和替换字符。Levenshtein距…

Redis -- 数据库管理

目录 前言 切换数据库(select) 数据库中key的数量(dbsize) 清除数据库(flushall flushdb) 前言 MySQL有一个很重要的概念,那就是数据库database,一个MySQL里面有很多个database,一个datab…

计算机二级数据库之数据模型(三层相关的结构)

数据模型 模型的概念 模型的介绍模型是对现实世界特征的模拟和抽象, 数据模型的概念: 数据模型是对现实世界中数据特征的抽象,描述的是数据的共性。 数据模型是用来在数据库中抽象、表示和处理现实世界中的数据和信凹。 其相关的共同特…

STM32CubeMX的下载和安装固件库详细步骤

年也过了,节也过了,接下来又要进入紧张的学习中来了。过完年后发现一个问题,就是我之前吃的降压药不太管用,每天的血压只降到了91/140左右,没有到安全范围内,从初三开始换了一种降压药,效果出奇…

问题:内存时序参数 CASLatency 是() #学习方法#微信#微信

问题:内存时序参数 CASLatency 是() A.行地址控制器延迟时间 B.列地址至行地址延迟时间 C.列地址控制器预充电时间 D.列动态时间 参考答案如图所示

ArcgisForJS基础

文章目录 0.引言1.第一个ArcgisForJS应用程序1.1.安装部署ArcgisForJS1.2.实现ArcgisForJS应用程序 2.开发与调试工具2.1.集成开发环境2.2.调试工具2.3.Firebug 0.引言 ArcGIS API for JavaScript是一款由Esri公司开发的用于创建WebGIS应用的JavaScript库。它允许开发者通过调…

【数据库】哪些操作会导致索引失效

🍎个人博客:个人主页 🏆个人专栏:数据库 ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 结语 我的其他博客 前言 在数据库管理中,索引的有效性对于查询性能至关重要。然而,索引可能会因为各种操…

全战三国与Amadey病毒

一、疑云 某天晚,本人突发奇想从外网上体验一下全战三国(全面战争:三国)的可玩版本(没玩过全战系列,听说三国版是个半成品,打算先体验一下再考虑入正版。国内网站找到的资源:1.53的…

论文阅读 - Non-Local Spatial Propagation Network for Depth Completion

文章目录 1 概述2 模型说明2.1 局部SPN2.2 非局部SPN2.3 结合置信度的亲和力学习2.3.1 传统正则化2.3.2 置信度引导的affinity正则化 3 效果3.1 NYU Depth V23.2 KITTI Depth Completion 参考资料 1 概述 本文提出了一种非局部的空间传播网络用于深度图补全,简称为…

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

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

(17)Hive ——MR任务的map与reduce个数由什么决定?

一、MapTask的数量由什么决定? MapTask的数量由以下参数决定 文件个数文件大小blocksize 一般而言,对于每一个输入的文件会有一个map split,每一个分片会开启一个map任务,很容易导致小文件问题(如果不进行小文件合并&…

Mac终端远程访问Linux

以ubuntu为例 一、查看ubuntu的ip地址 1、下载net-tools localhostubuntu-server:~$ sudo apt install net-tools 2、查看ip地址 localhostubuntu-server:~$ ifconfig ubuntu需要下载net-tools才能使用ifconfig localhostubuntu-server:~$ sudo apt install net-tools 二…

问题:下列不属于影响职业选择的内在因素是()。 #微信#微信

问题:下列不属于影响职业选择的内在因素是()。 A.健康 B.个性特征 C.性别 D.家庭的影响 参考答案如图所示

算法刷题day13

目录 引言一、蜗牛 引言 今天时间有点紧,只搞了一道题目,不过确实搞了三个小时,才搞完,主要是也有点晚了,也好累啊,不过也还是可以的,学了状态DP,把建图和spfa算法熟悉了一下&#…

[嵌入式AI从0开始到入土]14_orangepi_aipro小修补含yolov7多线程案例

[嵌入式AI从0开始到入土]嵌入式AI系列教程 注:等我摸完鱼再把链接补上 可以关注我的B站号工具人呵呵的个人空间,后期会考虑出视频教程,务必催更,以防我变身鸽王。 第1期 昇腾Altas 200 DK上手 第2期 下载昇腾案例并运行 第3期 官…

openGauss学习笔记-221 openGauss性能调优-确定性能调优范围-分析作业是否被阻塞

文章目录 openGauss学习笔记-221 openGauss性能调优-确定性能调优范围-分析作业是否被阻塞221.1 操作步骤 openGauss学习笔记-221 openGauss性能调优-确定性能调优范围-分析作业是否被阻塞 数据库系统运行时,在某些业务场景下查询语句会被阻塞,导致语句…

备战蓝桥杯---图论之最短路dijkstra算法

目录 先分个类吧: 1.对于有向无环图,我们直接拓扑排序,和AOE网类似,把取max改成min即可。 2.边权全部相等,直接BFS即可 3.单源点最短路 从一个点出发,到达其他顶点的最短路长度。 Dijkstra算法&#x…

vmware workstation群晖虚拟机vmdk文件导出

为了防止群晖虚拟机中整个挂掉,里面的文件导不出来,尝试直接从vmdk中获取内容。 1、想采用diskgenius去读取文件,发现volume1是空的。只能读取群晖的系统文件。 2、选择另一个linux系统的虚拟机,选择对应的vmdk 3、如果有文件管理…

Python slice函数

在Python编程中,slice(切片)操作是一种强大且灵活的方式,用于从序列(如列表、元组、字符串等)中获取子序列。通过切片操作,可以轻松地提取序列中的一部分,进行遍历、修改、复制等操作…

springboot185基于vue.js的客户关系管理系统(crm)的设计与实现

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…