人工智能原理(9)

news2024/12/25 9:16:45

目录

一、人工神经元模型

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.coloradmin.cn/o/890715.html

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

相关文章

Centos7安装Docker及配置加速器地址

一、安装docker #1.yum 包更新到最新 yum update #2.安装需要的软件包&#xff0c;yum-util 提供yum-config-manager功能&#xff0c;另外两个是devicemapper驱动依赖的 yum install -y yum-utils device-mapper-persistent-data lvm2 #3.设置yum源 yum-config-manager --add…

【推荐】深入浅出学习Spring框架【上】

​ 目录 1.spring简介 1.1含义 1.2优点 2&#xff0c;Spring之IOC详解 2.1&#xff0c;控制反转是什么 2.2&#xff0c;控制反转案例 2.1.3案例前台测试 3、IoC的三种注入方式 3.1 构造方法注入 3.2 setter方法注入 3.3 接口注入&#xff08;自动装配&#xff09;用的最多&…

考研408 | 【操作系统】操作系统的概述

操作系统的概念和功能 导图 操作系统的功能和目标 1.作为系统资源的管理者 2.向上层提供方便易用的服务 3.作为最接近硬件的层次 操作系统的特征 导图 并发 并发VS并行 共享 并发和共享的关系 虚拟 异步 操作系统的发展和分类 导图 1.手工操作 2.批处理阶段--单道批处理系统…

JavaWeb 速通 EL 和 JSTL

目录 一、EL表达式 1.快速入门 : 1.1 基本介绍 1.2 入门案例 2.常用输出形式 : 2.1 创建JavaBean类 2.2 创建JSP文件 3.empty运算符 : 3.1 介绍 3.2 实例 4.EL对象 : 4.1 EL11个内置对象 4.2 域对象演示 4.3获取HTTP信息 二、JSTL标签库 1.基本介绍 : 2.core核心库常用标…

java 一个注解实现限流

在Java中&#xff0c;可以使用自定义注解来实现限流功能。 java import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; Retention(RetentionPolicy.RUNTIME…

【数据结构】 ArrayList简介与实战

文章目录 什么是ArrayListArrayList相关说明 ArrayList使用ArrayList的构造无参构造指定顺序表初始容量利用其他 Collection 构建 ArrayListArrayList常见操作获取list有效元素个数获取和设置index位置上的元素在list的index位置插入指定元素删除指定元素删除list中index位置上…

redis-集群(基础了解)

前言 为什么要做集群&#xff1f;解决什么问题&#xff1f; 1、避免单点故障&#xff0c;实现高可用&#xff1b;就需要数据沉余&#xff0c;通过沉余副本也是slave。 三种集群区别&#xff1f; 1、主从复制 复制策略 --> 全量复制 第一次连接到master&#xff0c;mast…

Mysql整理一 基础知识/常见面试题

一、基础概念 1. 索引 之前的文章已经写过了&#xff0c;比较细 数据库索引含义,类别,用法,创建方式_表结构加树形id和索引是为什么_马丁•路德•王的博客-CSDN博客 简单概括就是在表的某个列或者多个列或者联合表的时候加个索引&#xff0c;类似图书馆书本的索引编号&…

git环境超详细配置说明

一&#xff0c;简介 在git工具安装完成之后&#xff0c;需要设置一下常用的配置&#xff0c;如邮箱&#xff0c;缩写&#xff0c;以及git commit模板等等。本文就来详细介绍些各个配置如何操作&#xff0c;供参考。 二&#xff0c;配置步骤 2.1 查看当前git的配置 git conf…

pyqt5 第一个程序

import sys from PyQt5.QtWidgets import QApplication, QWidgetif __name__ __main__:# 创建 QApplication 实例app QApplication(sys.argv)# 创建一个主窗口w QWidget()# 设置大小w.resize(400, 200)# 设置窗口标题w.setWindowTitle(第一个程序)# 显示窗口w.show()# 固定写…

Arcgis连续数据的分类(求不同值域的面积)

问题描述&#xff1a;如果得到的一个连续的影响数值数据&#xff0c;但是我们想求取某一段值域的面积占比&#xff0c;需要进行以下操作&#xff1a; 1.按照数值重分类&#xff0c;将某段数值变成一个类别 2.栅格转矢量&#xff0c;再求取面积

第7章:贝叶斯分类器

贝叶斯决策论 贝叶斯分类器&#xff1a;使用贝叶斯公式 贝叶斯学习&#xff1a;使用分布估计&#xff08;不同于频率主义的点估计&#xff09; 极大似然估计 朴素贝叶斯分类 半朴素贝叶斯 条件独立性假设&#xff0c;在现实生活中往往很难成立。 半朴素贝叶 斯的一个常用策略…

学习ts(四)联合类型、交叉类型、类型断言

联合类型 使用联合类型定义属性和方法&#xff0c;只要符合其中一种即可 let myPhone: string | number 010-7788 // let myPhone1: string | number true 因为没有包含boolean值 会报错const fn (something: number | boolean): boolean > {return !!something }con…

Android Studio 之 Android 中使用 HanLP 进行句子段落的分词处理(包括词的属性处理)的简单整理

Android Studio 之 Android 中使用 HanLP 进行句子段落的分词处理&#xff08;包括词的属性处理&#xff09;的简单整理 目录 Android Studio 之 Android 中使用 HanLP 进行句子段落的分词处理&#xff08;包括词的属性处理&#xff09;的简单整理 一、简单介绍 二、实现原理…

Python入门【装饰器​编辑、多个装饰器 、带参数的装饰器、生成器、 生成器定义、 迭代器】(二十八)

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱敲代码的小王&#xff0c;CSDN博客博主,Python小白 &#x1f4d5;系列专栏&#xff1a;python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发 &#x1f4e7;如果文章知识点有错误…

教你10分钟快速上手Docker基础操作

一、docker平台组成 docker最核心的组件是&#xff1a;镜像、容器、仓库 二、常用基础命令 1、镜像操作 &#xff08;1&#xff09;拉取镜像 查找指定镜像&#xff1a;docker search 镜像名字 [rootclient ~]# docker search centos NAME …

VirtualBox安装CentOS8.5

0 环境 win10 virtualbox版本 版本 7.0.10 r158379 (Qt5.15.2) 1.镜像下载 阿里镜像站 https://developer.aliyun.com/mirror/ 1.1 找到安装包下载地址 1.2 找到8.5版本 1.3 iso 再然后 1.4 选择安装包 我这里选的是最小安装包&#xff0c;centOS8.5最小安装版本&#…

【边缘设备】yolov5训练与rknn模型导出并在RK3588部署~4.导出模型(亲测有效)

保姆级教程&#xff0c;看这一篇就够用了。 在翻阅了网络上很多资料后&#xff0c;发现很多版本的信息比匹配。 花了一周的时间配置环境&#xff0c;以及环境验证&#xff0c;然后写了这篇长文。 有过程&#xff0c;有代码&#xff0c;有经验&#xff0c;欢迎大家批评指正。 一…

linux部署kafka3.5.1(单机)

一、下载jdk17 kafka3.x版本需要jdk11以上版本才能更好的兼容&#xff0c;jdk11、jdk17都是LTS长期维护版本&#xff0c;而且jdk17支持springboot3.x,所以我选择了openjdk17。 下载地址: Archived OpenJDK GA Releaseshttps://jdk.java.net/archive/ 二、上传jdk安装包解压 …

Linux 终端会话中,启动任务并放到后台运行

一、需求 linux要执行一个脚本&#xff0c;耗时很长&#xff0c;想要脚本在后台运行&#xff0c;用户注销或终端软件关闭时也可以继续运行。 二、实现 1、nohup命令 脚本在后台运行 nohup 是在 Linux 和类 Unix 系统中使用的一个命令&#xff0c;用于在后台运行程序&#x…