人工智能原理(9)

目录

一、人工神经元模型

1、概念

2、分类

二、感知器的结构

三、反向传播网络

四、自组织映射神经网络

五、离散HOPFIELD网络

1、离散Hopfield网络结构

2、离散Hopfield网络的稳定性

3、离散Hopfield网络学习算法

六、脉冲耦合神经网络


一、人工神经元模型

1、概念

        人工神经元模型:对生物神经元的抽象(由数学得到的)和模拟(由结构和功能得到的)。

        下图为人工神经元模型,x是输入值,w是权值,人工神经元输出:y=f(\sum_{i=1}^nx_i\omega_{ij}-\theta)

2、分类

        M-P模型:y_i=f(A_j)=\left\{\begin{matrix} 1 \qquad A_j>0\\ 0 \qquad A_j\leqslant 0 \end{matrix}\right. 

        S型神经元(Sigmoid):y_i=f(A_j)=\frac{1}{1+e^{-A_j}}

        伪线型神经元:y_i=\left\{\begin{matrix} 0 \qquad \qquad A_j\leqslant 0\\ CA_j \quad 0<A_j\leqslant A_j\leqslant A_c \\ 1 \qquad \qquad A_c<A_j \end{matrix}\right.

        概率型神经元:一种二值随机神经元模型,输出状态只有0或1。

                                 输出为1的概率:p(s_j=1)=\frac{1}{1+e^{-A_j/T}}

                                 输出为0的概率:p(s_j=0)=1-p(s_j=1)=1-\frac{1}{1+e^{-A_j}/T}

二、感知器的结构

        感知器1958年由罗森布拉特提出,是一种感知器的训练算法,成功引用于模式分类问题。

         感知器学习算法:

        (1)初始化:W(0)=\left [ \omega_{0(1)},\omega_{0(2)} \right ]=[0,0];b(0)=0

        (2)第一次迭代:

                        a=f(n)=f(X_1 \times W(0))

                        新误差:e=t_1-a

                        新权重:W(1)=W(0)+eX_1

                        新偏置:b(1)=b(0)+e

         (3)重复迭代。

三、反向传播网络

        反向传播网络:是一种基于梯度下降算法的人工神经网络,可以自动地学习输入和输出之间的映射关系。在反向传播网络中,神经元按照层次分组,层间存在多个连接,并设置连接中的权值通过不断进行迭代,调整权值达到最优效果。反向传播网络有两个阶段:前向传播和反向传播,前向传播从输入开始,依次计算网络的输出,同时计算输出误差,反向传播中,误差从输出层开始向输入层传递,通过链式法则计算每个神经元的梯度,并根据梯度下降算法来更新权值,不断迭代,获得最优解。

        反向传播算法训练网络时有两种方式,一种每输入一个样本修改一次权值,另一种批处理方式。

四、自组织映射神经网络

        Kohonen提出自组织特征映射,认为一个神经网络接受外界输入模式,将会分成不同区域,各区域对输入模式具有不同的相应特征,同时这一过程是自动完成。

        自组织特征映射算法(SOM)是一种无监督学习的聚类方法。

        自组织映射神经网络特点:

        (1)各神经元的连接权值具有一定的分布

        (2)最邻近的神经元互相刺激

        (3)较远的神经元则互相抑制

        (4)更远一些有较弱的刺激作用

五、离散HOPFIELD网络

1、离散Hopfield网络结构

        Hopfield网络是由J.Hopfield教授1982年提出的一种具有相互连接的反馈型神经网络模型。分为离散型和连续型两种网络模型。

         离散型:经过激活函数后,输出结果为离散的,0或1,表示神经元的激活和抑制状态。

         连续型:经过激活函数后,输出结果为连续的,如Sigmoid函数。

         离散Hopfield网络有串行和并行两种方式,串行状态,任意时刻只有一个神经元改变状态,其余不变,并行状态,任意时刻所有神经元同时改变状态。

2、离散Hopfield网络的稳定性

        由于在反馈网络中,网络的输出要反复地作为输入再送入网络中,这就使网络具有动态性,网络的状态在不断的改变之中,所以就提出了网络的稳定性问题。

        设用X(t)表示在网络上时刻t的状态,如果从t=0的任一初始状态X(0)开始,存在一个有限的时刻t,使得从此时刻开始神经网络的状态不再发生变化,即X(t+\Delta t)=X(t) \quad \Delta t>0,则网络是稳定的。

3、离散Hopfield网络学习算法

        (1)设置互连权值

                W_{ij}=\left\{\begin{matrix} \sum_{s=0}^{m-1}x_i^sx_j^s \quad i\neq j\\ 0 \qquad \qquad \quad i=j \end{matrix}\right.

        (2)未知类别样本初始化

        y_i(0)=x_i \qquad 0\leqslant i\leqslant n-1

        (3)迭代直到收敛

        y_j(t+1)=f(\sum_{t=0}^{n-1}W_{ij}y_i(t))

                f是阈值型激发函数,该过程会不断迭代直到不再改变节点输出为止,此时输出和输入达           到最佳匹配。

        (4)回到第(2)步进行循环。

六、脉冲耦合神经网络

        脉冲耦合神经网络(PCNN):模型来源于猫的视觉皮层神经细胞的研究成果,具有同步脉冲激发现象,阈值衰减及参数可控等特性,在数字图像处理等领域中具有广阔的应用前景。脉冲耦合神经网络是一种基于模拟神经网络的图像处理方法,不同于传统神经网络的连续输出,PCNN的输出是由每个神经元发出的脉冲信号来表示的。

        脉冲耦合神经网络由三部分构成,接收部分(链接域和馈送域),调制部分,脉冲产生部分。

参考视频:【人工智能教程】9.1 - 人工神经元模型_哔哩哔哩_bilibili

参考书籍:《人工智能原理》丁世飞

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

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

相关文章

6G 特点及表现

6G R&D Vision: Requirements and Candidate Technologies 5G已经提出来了大移动带宽&#xff0c;低时延和大规模机器互联&#xff0c;在这个基础上&#xff0c;6G加上了高可靠性&#xff0c;高定位精度和高智能化。 6G的主要候选技术&#xff0c;包括(子) THz 通信&#x…

在 SHELL 脚本中调用另一个 SHELL 脚本(报错: go: not found)

文章目录 在 SHELL 脚本中调用另一个 SHELL 脚本&#xff08;报错&#xff1a; go: not found&#xff09;在 SHELL 脚本中调用另一个 SHELL 脚本一个脚本sudo调另外一个脚本&#xff0c;报错&#xff08;报错&#xff1a; go: not found&#xff09; 在 SHELL 脚本中调用另一个…

OpenCV实例(九)基于深度学习的运动目标检测(一)YOLO运动目标检测算法

基于深度学习的运动目标检测&#xff08;一&#xff09; 1.YOLO算法检测流程2.YOLO算法网络架构3.网络训练模型3.1 训练策略3.2 代价函数的设定 2012年&#xff0c;随着深度学习技术的不断突破&#xff0c;开始兴起基于深度学习的目标检测算法的研究浪潮。 2014年&#xff0c;…

【C++】面向对象编程引入 ③ ( 面向过程编程的结构化程序设计方法 | 结构化程序设计方法概念 / 特点 / 优缺点 | 面向对象编程引入 )

文章目录 一、面向过程编程的结构化程序设计方法1、结构化程序设计方法概念2、结构化程序设计方法特点3、结构化程序设计方法优缺点 二、面向对象编程引入 一、面向过程编程的结构化程序设计方法 如果使用 面向过程语言 ( 如 : C 语言 ) , 开发 大型 项目 , 一般使用 结构化程序…

uniapp微信小程序区分正式版,开发版,体验版

小程序代码区分是正式版&#xff0c;开发版&#xff0c;还是体验版 通常正式和开发环境需要调用不同域名接口&#xff0c;发布时需要手动更换 或者有些东西不想在正式版显示&#xff0c;只在开发版体验版中显示&#xff0c;也需要去手动隐藏 官方没有明确给出判断环境的方法&a…

scrollIntoView 导致整个页面上移问题

更改参数 block: ‘start’, behavior: smooth’更改为 behavior: ‘smooth’, block: ‘nearest’, inline: ‘start’ 在这里插入图片描述

Selenium之css怎么实现元素定位?

世界上最远的距离大概就是明明看到一个页面元素站在那里&#xff0c;但是我却定位不到&#xff01;&#xff01; Selenium定位元素的方法有很多种&#xff0c;像是通过id、name、class_name、tag_name、link_text等等&#xff0c;但是这些方法局限性太大&#xff0c; 随着自动…

一百五十九、Kettle——Kettle9.2通过配置Hadoop clusters连接Hadoop3.1.3(踩坑亲测、附流程截图)

一、目的 由于kettle的任务需要用到Hadoop&#xff08;HDFS&#xff09;&#xff0c;所以就要连接Hadoop服务。 之前使用的是kettle9.3&#xff0c;由于在kettle新官网以及博客百度等渠道实在找不到shims的驱动包&#xff0c;无奈换成了kettle9.2&#xff0c;kettle9.2的安装…

Flink之Task解析

Flink之Task解析 对Flink的Task进行解析前,我们首先要清楚几个角色TaskManager、Slot、Task、Subtask、TaskChain分别是什么 角色注释TaskManager在Flink中TaskManager就是一个管理task的进程,每个节点只有一个TaskManagerSlotSlot就是TaskManager中的槽位,一个TaskManager中可…

【数据结构与算法】十大经典排序算法-希尔排序

&#x1f31f;个人博客&#xff1a;www.hellocode.top &#x1f3f0;Java知识导航&#xff1a;Java-Navigate &#x1f525;CSDN&#xff1a;HelloCode. &#x1f31e;知乎&#xff1a;HelloCode &#x1f334;掘金&#xff1a;HelloCode ⚡如有问题&#xff0c;欢迎指正&#…

数据结构之动态内存管理机制

目录 数据结构之动态内存管理机制 占用块和空闲块 系统的内存管理 可利用空间表 分配存储空间的方式 空间分配与回收过程产生的问题 边界标识法管理动态内存 分配算法 回收算法 伙伴系统管理动态内存 可利用空间表中结点构成 分配算法 回收算法 总结 无用单元收…

机器学习、cv、nlp的一些前置知识

为节省篇幅&#xff0c;不标注文章来源和文章的问题场景。大部分是我的通俗理解。 文章目录 向量关于向量的偏导数&#xff1a;雅可比矩阵二阶导数矩阵&#xff1a;海森矩阵随机变量随机场伽马函数beta分布数学术语坐标上升法协方差训练集&#xff0c;验证集&#xff0c;测试集…

SpringBoot案例 调用第三方接口传输数据

一、前言 最近再写调用三方接口传输数据的项目&#xff0c;这篇博客记录项目完成的过程&#xff0c;方便后续再碰到类似的项目可以快速上手 项目结构&#xff1a; 二、编码 这里主要介绍HttpClient发送POST请求工具类和定时器的使用&#xff0c;mvc三层架构编码不做探究 pom.x…

43、TCP报文(一)

本节内容开始&#xff0c;我们正式学习TCP协议中具体的一些原理。首先&#xff0c;最重要的内容仍然是这个协议的封装结构和首部格式&#xff0c;因为这里面牵扯到一些环环相扣的知识点&#xff0c;例如ACK、SYN等等&#xff0c;如果这些内容不能很好的理解&#xff0c;那么后续…

SASS 学习笔记

SASS 学习笔记 总共会写两个练手项目&#xff0c;成品在 https://goldenaarcher.com/scss-study 可以看到&#xff0c;代码在 https://github.com/GoldenaArcher/scss-study。 什么是 SASS SASS 是 CSS 预处理&#xff0c;它提供了变量&#xff08;虽然现在 CSS 也提供了&am…

web集群学习:搭建 LNMP应用环境

目录 LNMP的介绍&#xff1a; LNMP组合工作流程&#xff1a; FastCGI介绍&#xff1a; 1、什么是 CGI 2、什么是 FastCGI 配置LNMP 1、部署LNMP环境 2、配置LNMP环境 LNMP的介绍&#xff1a; 随着 Nginx Web 服务的逐渐流行&#xff0c;又岀现了新的 Web 服务环境组合—…

面向对象编程(OOP):Python中的抽象与封装

文章目录 &#x1f340;引言&#x1f340; 类与对象&#x1f340;封装&#x1f340;继承&#x1f340;多态&#x1f340;面向对象编程的优势&#x1f340;使用面向对象编程的场景&#x1f340;实例化与构造函数&#x1f340; 成员属性和类属性&#x1f340;魔术方法&#x1f34…

初识Sentinel

目录 1.解决雪崩的方式有4种&#xff1a; 1.1.2超时处理&#xff1a; 1.1.3仓壁模式 1.1.4.断路器 1.1.5.限流 1.1.6.总结 1.2.服务保护技术对比 1.3.Sentinel介绍和安装 1.3.1.初识Sentinel 1.3.2.安装Sentinel 1.4.微服务整合Sentinel 2.流量控制 2.1.簇点链路 …

K8S调度

K8S调度 一、List-Watch 机制 controller-manager、scheduler、kubelet 通过 List-Watch 机制监听 apiserver 发出的事件&#xff0c;apiserver 通过 List-Watch 机制监听 etcd 发出的事件1.scheduler 的调度策略 预选策略/预算策略&#xff1a;通过调度算法过滤掉不满足条件…

什么是EM(最大期望值算法)

什么是EM(最大期望值算法) 在现实生活中&#xff0c;苹果百分百是苹果&#xff0c;梨百分白是梨。 生活中还有很多事物是概率分布&#xff0c;比如有多少人结了婚&#xff0c;又有多少人有工作&#xff0c; 如果我们想要调查人群中吸大麻者的比例呢&#xff1f;敏感问题很难得…