人工神经网络初步

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

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


一、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://www.mzph.cn/diannao/7999.shtml

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

相关文章

指针再学习笔记

概念 示例 类型 示例 作用 注意:有些内存地址可能系统不会允许任意访问 运算 示例 空指针

ue引擎游戏开发笔记(34)——建立射击映射,并添加特效

1.需求分析: 准备处理射击系统,首先角色需要能射击,有反馈,先建立角色与控制器之间的映射,并添加简单特效,证明映射已经建立。 2.操作实现: 1.首先常规建立映射流程,具体可参考笔记…

《挑战100个产品拆解:抖音》

抖音,作为当今社交媒体领域的明星产品,其背后的产品思维一直备受关注。在这篇文章中,我们将深入拆解抖音的产品思维,揭示其成功的秘密。 产品定位 1.产品是什么样的用户: 年轻人和青少年是抖音的主要用户群体。抖音…

VMware与CentOS的安装

VMware与CentOS的安装 第一章 VMware安装第二章 CentOS上网虚拟机网络IP修改地址配置修改主机名和hosts文件修改主机名称配置Linux克隆机主机名称映射hosts文件,打开/etc/hosts 安装Xshell7和Xftp7 第一章 VMware安装 VMware Workstation Pro 安装包 …

洗地机什么牌子最好?618高性价比家用洗地机品牌

随着科技的发展,智能智能清洁家电越来越受到消费者的欢迎。洗地机作为其中的佼佼者,已经成为许多家庭清洁的好帮手。然而,面对满目琳琅的洗地机品牌型号,究竟哪一款机型适合家用呢,正好618也临近了,又有哪些…

【每日刷题】Day33

【每日刷题】Day33 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 20. 有效的括号 - 力扣(LeetCode) 2. 445. 两数相加 II - 力扣(…

牛客网刷题 | BC79 小乐乐求和

目前主要分为三个专栏,后续还会添加: 专栏如下: C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读! 初来乍到,如有错误请指出,感谢! 描述 小乐乐最近接触了求…

鸿蒙内核源码分析(时间管理篇) | 谁是内核基本时间单位

时间概念太重要了,在鸿蒙内核又是如何管理和使用时间的呢? 时间管理以系统时钟 g_sysClock 为基础,给应用程序提供所有和时间有关的服务。 用户以秒、毫秒为单位计时.操作系统以Tick为单位计时,这个认识很重要. 每秒的tick大小很大程度上决…

Linux:进程等待 进程替换

Linux:进程等待 & 进程替换 进程等待wait接口statuswaitpid接口 进程替换exec系列接口 当一个进程死亡后,会变成僵尸进程,此时进程的PCB被保留,等待父进程将该PCB回收。那么父进程要如何回收这个僵尸进程的PCB呢?父…

js实现json数据可编辑

背景 项目中有低代码平台,由于历史脏数据和非同步编辑的问题,偶尔会出现数据错乱的问题,希望有一个快捷的方式修改数据 之前在用Formily的时候有注意到designable/react 里面的json数据编辑功能非常不错如果能应用到项目里就完美了 design…

【数据结构】二叉树知识点详解

树的概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合有一个特殊的结点,称为根结点,根节点没有前驱结点除根节点外,其余结点被分成M(M>0)个互不相交的集合T1、T2、…

【贪心算法】单源最短路径Python实现

文章目录 [toc]问题描述Dijkstra算法Dijkstra算法的正确性贪心选择性质最优子结构性质 Dijkstra算法应用示例Python实现时间复杂性 问题描述 给定一个带权有向图 G ( V , E ) G (V , E) G(V,E),其中每条边的权是非负实数,给定 V V V中的一个顶点&…

【busybox记录】【shell指令】expand

目录 内容来源: 【GUN】【expand】指令介绍 【busybox】【expand】指令介绍 【linux】【expand】指令介绍 使用示例: 把制表符转化为空格 - 默认输出 把制表符转化为空格 - 修改制表符转空格的个数 把制表符转化为空格 - 修改制表符转空格的个数…

四川易点慧电子商务抖音小店:潜力无限的新零售风口

在当今数字化浪潮中,电子商务已经成为推动经济发展的重要引擎。四川易点慧电子商务有限公司凭借其敏锐的市场洞察力和创新精神,成功在抖音小店这一新兴平台上开辟出一片新天地。本文将探讨四川易点慧电子商务抖音小店的潜力及其在新零售领域的影响力。 一…

多C段的美国站群服务器有什么用途?

多C段的美国站群服务器有什么用途? 多C段的美国站群服务器是一种常见的网络运营策略,其用途主要体现在以下几个方面: 多C段的美国站群服务器有什么用途? 1. 提高站点排名和流量 部署多个站点在不同的C段IP地址上,可以通过不同的IP地址发布…

OpenGrok使用

以前都是用的find,或者VScode里面的浏览,但是到了Android这个就不行了,代码太多了。都在用OpenGrok,所以俺也用一下。 这里有两个步骤,一个是安装,是一个使用。 1 安装 大概看了一下,安装是to…

关于Clion开发stm32printf重定向问题简单解决问题方法

title: 关于Clion开发stm32printf重定向问题简单解决问题方法 tags: STM32Clion 参考来源1 这是另一种方法 在printf 重定向的基础上加上 一句 setbuf(stdout,NULL); 参考来源2 自己写的笔记啦

小语言模型的潜力

想象一下这样一个世界:智能助手不在云端,而是在你的手机上,无缝了解你的需求并以闪电般的速度做出响应。这不是科幻小说,而是科幻小说。这是小语​​言模型 (SLM) 的希望,这是一个快速发展的领域,有可能改变…

罗德与施瓦茨 SMC100A信号发生器9kHz至3.2 GHz

罗德与施瓦茨 SMC100A信号发生器,9 kHz - 3.2 GHz 罗德与施瓦茨 SMC100A 以极具吸引力的价格提供出色的信号质量。它覆盖的频率范围为 9 kHz 至 1.1 GHz 或 3.2 GHz。输出功率为典型值。> 17 dBm。所有重要功能(AM/FM/φM/脉冲调制)均已集…

代码随想录算法训练营第六十天| 647. 回文子串,516.最长回文子序列,动态规划总结篇

题目与题解 参考资料:动态规划总结篇 647. 回文子串 题目链接:647. 回文子串 代码随想录题解:647. 回文子串 视频讲解:动态规划,字符串性质决定了DP数组的定义 | LeetCode:647.回文子串_哔哩哔哩_bilibili …