人工神经网络关键核心知识点

2024-05-29 10:38

本文主要是介绍人工神经网络关键核心知识点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

神经网络里面主要就是单层神经网络学习和多层神经网络学习,涉及到知识点主要就是感知器,线性分割,影藏层,权重校正,误差的平方和等知识点。

感知器:是神经网络最简单的形式,单层双输入感知器的结构如下:


感知器的作用是将输入分类,超平面有线性分割函数定义:


下图是感知器的线性分割:两输入感知器和三输入感知器的情形。


感知器如何学习分类任务

感知器通过细微的调节权值来减少感知器的期望输出和实际输出之间的差别可以完成这一任务。

下面我们来介绍下感知器分类任务的训练算法

设Y(p)为实际输出,Yd(p)为期望输出,e(p)为误差,

则:


如果e(p)为+,就需要增加感知器的输出Y(p),如果为负,就减少感知器的的输出Y(p),因此可以建立下面的感知器的学习规则:


算法1:

步骤一:初始化。

设置权重w1,w2,...Wn和阈值o的初值,取值范围为[-0.5,+0.5]。

步骤二:激活。

通过用输入 以及期望输入Yd(p)来激活感知器,在迭代p=1上计算实际输出


其中n为感知器输入的数量,step为阶跃激活函数。

步骤三:权重训练。

修改感知器的权重。



其中为迭代p上的权重校正。

通过delta规则计算权重校正:


步骤四:迭代。

迭代p加1,回到步骤二,重复以上过程直至收敛。(完)


可以训练感知器执行类似AND(a),OR(b),,但是不能通过训练执行异或逻辑操作(c):



四个常用的激活函数------阶跃、符号、线性、s形函数如下图:


单感知器仅仅能分类线性分割模式,要处理非线性的问题就只能通过多层网络来解决。


多层神经网络:多感知器是有一个或者多个隐藏层的前馈网络,如下图有两个隐藏层的多层感知器:



为什么需要隐藏层?

多层神经网络的每一个层都有特定的功能,输入层接受来自外部世界的输入信号,重新将信号发送给隐藏层的所有神经元,

利用一个隐藏层,我们可以表示输入信号的任何连续函数,利用两个隐藏层甚至可以表示不连续的函数。

隐藏层到底隐藏了什么?

隐藏层隐藏期望的输出值,隐藏层的神经元不能通过网络的输入和输出行为来分析,换句话说就是隐藏层的期望输出由层自己决定。

多层网络如何学习?

后向传送方法。

学习算法有两个阶段:

1、将训练输入模式提供给网络的输入端,输入模式在网络中一层一层的传送,直到输出层产生输出模式为止。

2、从网络的输出端后向的传送到输入端,在传送误差是调整权重的值。


后向传送方法和感知器的类似,只是在后向传送方法中神经元使用的是S形的激活函数:



后向传送方法的算法:

步骤一:初始化。

用很小的范围均匀分布的随机数设置网络的权重和阈值


其中Fi是网络中神经与的输入的总数。

步骤二:激活。

通过应用输入和期望的输出来激活后向传送神经网络。

(1)计算隐藏层神经网络的实际输出:


其中n是隐藏层神经元j输入的个数。

(2)计算输出层神经元的实际输出:


其中m为输出层神经元k的输入个数。

步骤三:训练权重。

     修改后向传送网络的权重

(1)计算输出层神经元的误差斜率:


其中:


计算权重的校正:


更新输出层的权重:


(2)计算隐藏层神经元的误差斜率:


计算权重的校正:


更新隐藏层神经元的权重:


步骤四:迭代。

迭代p加1,回到步骤二,重复以上过程直至满足误差的平方和满足要求为止。(完)

这篇关于人工神经网络关键核心知识点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1013433

相关文章

Python进阶之列表推导式的10个核心技巧

《Python进阶之列表推导式的10个核心技巧》在Python编程中,列表推导式(ListComprehension)是提升代码效率的瑞士军刀,本文将通过真实场景案例,揭示列表推导式的进阶用法,希望对... 目录一、基础语法重构:理解推导式的底层逻辑二、嵌套循环:破解多维数据处理难题三、条件表达式:实现分支

深度解析Python yfinance的核心功能和高级用法

《深度解析Pythonyfinance的核心功能和高级用法》yfinance是一个功能强大且易于使用的Python库,用于从YahooFinance获取金融数据,本教程将深入探讨yfinance的核... 目录yfinance 深度解析教程 (python)1. 简介与安装1.1 什么是 yfinance?

深度解析Spring Security 中的 SecurityFilterChain核心功能

《深度解析SpringSecurity中的SecurityFilterChain核心功能》SecurityFilterChain通过组件化配置、类型安全路径匹配、多链协同三大特性,重构了Spri... 目录Spring Security 中的SecurityFilterChain深度解析一、Security

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1

Spring Boot Maven 插件如何构建可执行 JAR 的核心配置

《SpringBootMaven插件如何构建可执行JAR的核心配置》SpringBoot核心Maven插件,用于生成可执行JAR/WAR,内置服务器简化部署,支持热部署、多环境配置及依赖管理... 目录前言一、插件的核心功能与目标1.1 插件的定位1.2 插件的 Goals(目标)1.3 插件定位1.4 核

PowerShell中15个提升运维效率关键命令实战指南

《PowerShell中15个提升运维效率关键命令实战指南》作为网络安全专业人员的必备技能,PowerShell在系统管理、日志分析、威胁检测和自动化响应方面展现出强大能力,下面我们就来看看15个提升... 目录一、PowerShell在网络安全中的战略价值二、网络安全关键场景命令实战1. 系统安全基线核查

详解MySQL中DISTINCT去重的核心注意事项

《详解MySQL中DISTINCT去重的核心注意事项》为了实现查询不重复的数据,MySQL提供了DISTINCT关键字,它的主要作用就是对数据表中一个或多个字段重复的数据进行过滤,只返回其中的一条数据... 目录DISTINCT 六大注意事项1. 作用范围:所有 SELECT 字段2. NULL 值的特殊处

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实

java中Optional的核心用法和最佳实践

《java中Optional的核心用法和最佳实践》Java8中Optional用于处理可能为null的值,减少空指针异常,:本文主要介绍java中Optional核心用法和最佳实践的相关资料,文中... 目录前言1. 创建 Optional 对象1.1 常规创建方式2. 访问 Optional 中的值2.1

Java Jackson核心注解使用详解

《JavaJackson核心注解使用详解》:本文主要介绍JavaJackson核心注解的使用,​​Jackson核心注解​​用于控制Java对象与JSON之间的序列化、反序列化行为,简化字段映射... 目录前言一、@jsonProperty-指定JSON字段名二、@JsonIgnore-忽略字段三、@Jso