人工神经网络初步

        大家好,这里是七七,由于各种比赛的缘故,使用了很多人工神经网络模型。但是很多的原理都不是很明白,就导致了不能灵活地运用┭┮﹏┭┮。为此,去看了些人工神经网络原理书,写下此专题。

在进入正文之前要先说明,本文不是面向小白的(时间不够写那么多基础知识),建议在了解人工智能所需要用到的神经元、函数、梯度、矩阵的基础知识后,再来阅读此篇(这几部分基础知识真的很重要)。


一、MCP模型和感知器

MCP模型

最初的神经网络雏形,实在1943年,美国的科学家提出的MCP模型,这种模型就是模拟了人类的神经元,一个胞体,前面有很多树突输入,每个输入都有相应的权值;胞体也有自己的输出,在输入*权值之和大于某个临界值时,胞体的输出是一种形态(如1),否则就是另一种形态(如0)。至于是那种形态,取决于激活函数的设定,这里采用的是单位阶跃函数。这种就是基本型MCP模型。

之后对于这种模型进行了增强,推出了增强型MCP模型,规定

  • 输出变量可以为任意实数
  • 输入既可以表示同一神经网络中其他神经元的输出,也可以是神经网络的外部输入
  • 激活函数可以为其他的函数形式(如分段线性函数、整流线性函数、软整流函数、S形函数等)

感知器

        人工神经网络一般分为两个阶段,第一个是学习阶段或训练阶段,第二个是运行阶段。学习阶段主要任务是找到合适的决策函数和参数,运行阶段的任务就是通过训练得到的模型来进行识别或预测。

在训练阶段会选择一些数据作为训练集。假设训练集中有两类数据,如果在模式空间中存在一个超平面,可以分开这两类数据,那么就说这两种数据是线性可分的,否则就是非线性可分的。

 1958年,美国心理学家提出了名为Perceptron(感知器)的人工神经网络架构及其训练算法,通过数学证明,得出了这样的结论:对于线性可分的二类识别问题,其训练算法是收敛的。
感知器的架构其实就是单个MCP模型神经元。

这个算法其实和bp神经网络算法很相似,可以看下边的例子,再次不过多做解释

BP神经网络应用案例_bp神经网络案例-CSDN博客

由于说单个的感知器只能解决线性可分的二分类模式问题,为了能够处理多类别处理问题,我们可以把多个感知器并联,就形成了单层感知器。

二、多层感知器(MLP)

        一般来说,一个MLP包含了一个输入层、一个输出层以及若干个隐层。相邻层的神经元之间以单项全互联方式进行连接。

要注意的是,输入神经元并不是真的神经元,它没有激活函数,也没有输入,只有输出。当我们说一个L层MLP时,是指输出层加上若干隐层后一共有L层,输入层是不计入其中的。

数学上可以证明,对于一个L(L>=2)层MLP,如果不限制各隐层神经元的个数,也不限制激活函数的形式,那么只要权值和阈值取值得当,则输出函数可以无限逼近任意一个N元函数。

MLP的训练学习通常是使用监督学习方法,即每一个作为输入的训练样本矢量都带有一个已知的我们所期待的输出矢量,也就是其标签。实际输出与标签的差异为其训练误差,当平均训练误差低于我们设定的某个值时,就说明模型训练成功。

当然,也可能即使训练了很多次,还是没能满足要求,这就说明模型设计上存在缺陷,或者初始的权值和阈值选取不合适,此时应该种植训练,修改初始值或模型再训练。

一般来说,再训练结束后应该还有一个测试阶段,用于测试模型的准确性,满足要求了才会使用,否则就需要修改模型。

BP算法

核心思想就是通过输出值与期望值的差距,通过求输出结果y与每个神经元路径上权值w的偏导数,进行反馈,并沿梯度下降,从而达到反馈的效果。

此算法的案例在下文已经讲过,本文我们来探讨一些细节内容。

BP神经网络应用案例_bp神经网络案例-CSDN博客

  • bp算法要求激活函数是处处可导的,还需要有大量的数据且两个相同的样本标签必须相同。
  • 初始值应该取绝对值较小的不同的随机值。
  • 由于计算机的计算方式在本质上只能是离散的,所以在计算机上无法实现严格意义上的梯度下降算法,当BP算法的学习率η趋于0时,BP算法才能时梯度算法。
  • 由于是梯度算法,所以可能最终结果为局部最优解,要避免这种情况,可以配合模拟退火算法、遗传算法、噪声注入算法等来使用。
  • 学习率的选取也有讲究,建议越靠近输入层η越大,越靠近输出层η越小;训练初期η取较大值,后期取较小值等等。
  • 容量可以理解为神经元与隐含层的数量,容量越大,越容易发生过拟合。因此如果发生过拟合,可尝试减小容量。
  • 若误差容限设置的过小,收敛便会很困难,很可能导致过度训练,使得MLP过于在意一些无关紧要的细枝末节,导致效果较差。

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

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

相关文章

六西格玛项目的核心要素:理论学习、实践应用与项目经验

许多朋友担心,没有项目经验是否就意味着无法考取六西格玛证书。针对这一疑问,张驰咨询为大家详细解答。 首先,需要明确的是,六西格玛项目不仅仅是一种管理工具或方法,更是一种追求卓越、持续改进的思维方式。它强调通…

Pycharm导入自定义模块报红

文章目录 Pycharm导入自定义模块报红1.问题描述2.解决办法 Pycharm导入自定义模块报红 1.问题描述 Pycharm 导入自定义模块报红,出现红色下划线。 2.解决办法 打开【File】->【Setting】->【Build,Execution,Deployment】->【Console】->【Python Con…

【机器学习】自然语言引导下的单目深度估计:泛化能力与鲁棒性的新挑战

自然语言引导下的单目深度估计:泛化能力与鲁棒性的新挑战 一、自然语言引导下的单目深度估计进展二、泛化能力与鲁棒性的挑战三、评估方法与实验验证四、代码实例与未来展望 在人工智能领域,单目深度估计一直是一个备受关注的热点问题。通过单张图片推断…

优立科技:从数字孪生到元宇宙

2021年10月,Facebook致力于发展元宇宙,并更名为Meta。加上此前Roblox上市的消息,让「元宇宙」一词迅速在2021年爆火,刺激了VR、游戏等相关产业的发展,甚至有人宣称2021年为「元宇宙『元年』」。然而,「元年…

c#教程——索引器

前言: 索引器(Indexer)可以像操作数组一样来访问对象的元素。它允许你使用索引来访问对象中的元素,就像使用数组索引一样。在C#中,索引器的定义方式类似于属性,但具有类似数组的访问方式。 索引器&#x…

mysql 离线安装

package download mysql https://dev.mysql.com/downloads/mysql/ libaio http://mirror.centos.org/centos/7/os/x86_64/Packages/libaio-0.3.109-13.el7.x86_64.rpm 根据自己服务器选择下载对应的安装包及依赖 删除本机自带mysql相关 # 首先排查服务器自身是否有安装对应m…

Promise魔鬼面试题

文章目录 题目解析难点分析分析输出step1step2step3step4step5step6 参考/致谢:渡一袁老师 题目 Promise.resolve().then(() > {console.log(0);return Promise.resolve(4);}).then((res) > {console.log(res);});Promise.resolve().then(() > {console.l…

【BUUCTF】Crypto_RSA(铜锁/openssl使用系列)

【BUUCTF】Crypto_RSA(铜锁/openssl使用系列) 1、题目 在一次RSA密钥对生成中,假设p473398607161,q4511491,e17 求解出d作为flga提交 2、解析 RSA加密过程: 1)选择素数:选择两个不…

【管理咨询宝藏93】大型制造集团数字化转型设计方案

【管理咨询宝藏93】大型制造集团数字化转型设计方案 【格式】PDF版本 【关键词】国际咨询公司、制造型企业转型、数字化转型 【核心观点】 - 235页大型制造型集团数字化转型方案设计!细节非常详尽,图表丰富! - 系统架构必须采用成熟、具有国…

docker资源限额

多数的应⽤场景要对Docker容器的运⾏内存进⾏限制,防⽌其使⽤过多的内存。 格式:-m或--memory 正常的内存大小 [rootadmin ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS …

SpringBoot过滤器简单构建详细教程以及与拦截器区别解释

作用范围:过滤器基于Servlet规范,作用于更广泛的层面,不仅限于Spring MVC,它可以拦截进入Web应用的所有请求,包括静态资源请求。过滤器可以对请求和响应的内容进行预处理和后处理。实现方式:过滤器需要实现…

Java初识继承

继承 文章目录 继承为什么需要继承继承中变量的访问特点继承中方法的访问特点继承的优缺点 概念:在Java中,继承是面向对象编程的一个基本特性。它允许我们定义一个新类,它从另一个已经存在的类继承其属性和方法。被继承的类称为父类或超类,新…

牛客NC142 最长重复子串【中等 字符串 Java/Go】

题目 题目链接: https://www.nowcoder.com/practice/4fe306a84f084c249e4afad5edf889cc 思路 注意:题目给的时间复杂度是O(N^2)那么直接套用双重循环:外层循环i为假定起始重复子串的初始位置,内层循环的j为假定重复子串的结束位置…

Mac 链接 HP 136w 打印机步骤

打开 WI-FI 【1】打开打印机左下角Wi-Fi网络设计【或者点击…按钮进入WI-FI菜单】,找到NetWork选项OK进入; 【2】设置WI-FI选项:在菜单内找到Wi-Fi选项OK进入; 【3】在菜单内找到Wi-Fi Direct选项OK进入; 【4】在菜单…

(论文阅读-分析引擎)Modin

一、简介 目标是在不改变的Dataframe语义的情况下支持可扩展的dataframe操作。 什么是机会主义评价?Opportunistic Evaluation? Exploratory data analysis(EDA):总结、理解并从数据集中获取价值的过程。 MPI&#…

【知识点随笔分享 | 第十篇】快速介绍一致性Hash算法

前言: 在分布式系统中,数据的分布和负载均衡是至关重要的问题。一致性哈希算法是一种解决这些挑战的有效工具,它在分布式存储、负载均衡和缓存系统等领域得到了广泛应用。 随着互联网规模的不断扩大,传统的哈希算法在面对大规模…

PY32MD310单片机介绍,非常适合做三相/单相 BLDC/PMSM主控

PY32MD310 单片机采用了高性能的 32 位 ARM Cortex-M0 内核,嵌入高达 64 Kbytes flash 和 8 Kbytes SRAM 存储器,最高工作频率 48 MHz。芯片内置多功能三相 PN 型半桥式栅极驱动器,片内集成多路 I2C、SPI、USART 等通讯外设,1 路 …

爬虫学习:XPath匹配网页数据

目录 一、安装XPath 二、XPath的基础语法 1.选取节点 三、使用XPath匹配数据 1.浏览器审查元素 2.具体实例 四、总结 一、安装XPath 控制台输入指令:pip install lxml 二、XPath的基础语法 XPath是一种在XML文档中查找信息的语言,可以使用它在HTM…

【快捷部署】022_ZooKeeper(3.5.8)

📣【快捷部署系列】022期信息 编号选型版本操作系统部署形式部署模式复检时间022ZooKeeper3.5.8Ubuntu 20.04tar包单机2024-05-07 一、快捷部署 #!/bin/bash ################################################################################# # 作者&#xff…

接入大量设备后,视频汇聚系统EasyCVR安防监控视频融合平台是如何实现负载均衡的?

一、负载均衡 随着技术的不断进步和监控需求的日益增长,企业视频监控系统的规模也在不断扩大,接入大量监控设备已成为一项常态化的挑战。为确保企业能够有效应对这一挑战,视频汇聚系统EasyCVR视频融合平台凭借其卓越的高并发处理能力&#x…