基于ANN以使用有监督和无监督的学习将其分为不同的类别或识别模式(Matlab代码实现)

news2024/11/23 13:10:02

       目录

💥1 概述

📚2 运行结果

🎉3 参考文献

👨‍💻4 Matlab代码


💥1 概述

人工神经网络(ANN)在包括技术或统计在内的每一个分支中都变得越来越有用,以分析一些社会或非社会现象。一些技术专家表示,未来几年(从现在到2050年),人工智能将在医学、教育、工业等领域改变整个世界。这就是为什么开始学习IA是如何工作的重要原因,从神经网络开始,并了解如何实现简单和基本的知识,对我们大有裨益。

在这个存储库中,您可以找到一些ANN的实现,以使用有监督和无监督的学习(如Adaline、Hopfield、Multilayer和Simple Perceptron等)将其分成不同的类或识别模式​。

📚2 运行结果

主函数部分代码:

%Comenzamos limpiando la pantalla y todas las variables

clearvars

clc

%Pedimos los valores dados por el usuario para realizar el aprendizaje de

%una RNA Adaline de un codificador de binario a decimal de 3 bits sin bias

it_max = input ('Ingresa el numero mimo de iteraciones: ');

e_it = input ('Ingresa el valor al que deseas llegar la sel del error: ');

alpha = input ('Ingresa el valor de alfa: ');

%Asignamos valores aleatorios a la matriz de pesos W con la funci髇 rand

W = rand (1, 3);

W1 = zeros (1, 9);

W2 = zeros (1, 9);

W3 = zeros (1, 9);

fprintf ('\n\nLos valores iniciales de la matriz de pesos son: ')

disp (W);

errores = 0;

Pesos = figure('Name','Red Adaline - Matriz de Pesos','NumberTitle','off');

Error = figure('Name','Red Adaline - Sel del error','NumberTitle','off');

rango = 0:8;

W1 (1) = W (1);

W2 (1) = W (2);

W3 (1) = W (3);

Error_It = 0;

Error_Global = zeros (1, 9);

for j = 1:it_max

    %k serun 0 cada iteraci para convertir a binario

    k = zeros (1, 1);

    fprintf ('\n\n\nIteraci nero %d\n', j)

    %Comenzamos a realizar la propagaci髇 hacia adelante de todos los datos

    for i = 1:8

        

        %Convertimos a k a un nero binario de 3 bits

        p = dec2bin (k, 3);

        %Transponemos el vector, para que sea un vector columna

        p = p';

        %Conertimos los elementos a numero para realizar la multiplicaci​

        p = str2num (p);

        

        Error_Global (i) = Error_It;

        %Realizamos la multiplicacion de las matrices

        a = purelin (W * p);

        fprintf ('a = %.4f\n', a)

        %Obtenemos el error para este dato

        errores = (k - a);

        fprintf ('error = %.4f\n\n', errores)

        %Actualizamos el valor de la matriz de pesos

        W = W + ((2 * alpha * errores) * p');

        k = k + 1;

        

        %Actutalizamos los valores de los pesos

        W1 (i + 1) = W (1);

        W2 (i + 1) = W (2);

        W3 (i + 1) = W (3);

        

        %Actualizamos el valor del error

        Error_It = Error_It + ((1/8) * errores);

    end

🎉3 参考文献

[1]夏瑜潞.人工神经网络的发展综述[J].电脑知识与技术,2019,15(20):227-229.DOI:10.14004/j.cnki.ckt.2019.2271.

👨‍💻4 Matlab代码

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

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

相关文章

【C++容器】vector、map、hash_map、unordered_map四大容器的性能分析【2023.02.28】

摘要 vector是标准容器对数组的封装,是一段连续的线性的内存。map底层是二叉排序树。hash_map是C11之前的无序map,unordered_map底层是hash表,涉及桶算法。现对各个容器的查询与”插入“性能做对比分析,方便后期选择。 测试方案…

QT-自定义滑动式日期选择

QT-自定义滑动式日期选择前言一、效果演示二、注意说明二、关键程序1.SliderDateTime.cpp2.Slider.cpp四、程序链接前言 1、使用鼠标滑动的方式选择指定的日期时间,并且获取当前选中的时间,整体样式看来十分舒服,更加适用触摸屏的方式。 2、…

Python进阶-----面向对象1.0(对象和类的介绍、定义)

目录 前言: 面向过程和面向对象 类和对象 Python中类的定义 (1)类的定义形式 (2)深层剖析类对象 前言: 感谢各位的一路陪伴,我学习Python也有一个月了,在这一个月里我收获满满…

理解Spring中的依赖注入和控制反转

依赖注入(Dependency Injection)是一种面向对象编程的设计模式,用于解决对象之间的依赖关系。它的基本思想是将对象的创建和管理工作交给容器来完成,而不是在应用程序中手动创建和管理对象,从而达到松耦合、易维护、易…

华为OD机试题【最差产品奖】用 C++ 编码,速通 (2023.Q1)

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧文章目录 最近更新的博客使用说明最差产…

【项目精选】 javaEE采购管理系统(论文+视频+源码)

点击下载源码 本系统是一个独立的系统,用来解决企业采购信息的管理问题。采用JSP技术构建了一个 有效而且实用的企业采购信息管理平台,目的是为高效地完成对企业采购信息的管理。经过 对课题的深入分析,采购系统需实现以下功能模块&#xff1…

中睿天下当选信通院网络安全卓越合作伙伴

2月23日,2023年中国网络和数据安全产业高峰论坛—网络安全技术创新赋能产业发展分论坛在四川成都成功召开,分论坛以“技术创新、场景赋能、实效验证”为主题,由工业和信息化部网络安全管理局指导,中国信息通信研究院主办&#xff…

kind kubernetes 集群内如何通过 helm 部署定制化 Prometheus-Operator?

文章目录1. Prometheus 简介2. Prometheus 优势3. Prometheus 架构图4. Prometheus-Operator 简介5. Prometheus-Operator 架构图6. 环境准备7. Kind 部署 Kubernetes7.1 安装 Ingress-nginx 组件7.2 安装 Metric Server 组件8. helm 快速安装 Prometheus-Operator9. 定制 Prom…

洗地机哪个品牌最好用?家用洗地机十大名牌

这几年清洁类的小家电非常热门,无线吸尘器、扫地机器人、扫拖一体机、洗地机和擦窗机器人层出不穷,各个品牌百花齐放。这些清洁电器,确实为家庭卫生清洁带来了很大的便捷。但要把这些产品一次性买齐是一笔不小的开销,而且需要收纳…

天猫淘宝企业服务为中小微企业打造供应链智能协同网络,让采购不再将就!丨爱分析报告

编者按:近日天猫淘宝企业服务&爱分析联合发布《2023中小微企业电商采购白皮书》,为中小微企业采购数字化带来红利。 某水泵企业:线上客户主要是中小微企业,线上业绩遇到瓶颈,如何突破呢?某焊割设备企业…

助力Koordinator云原生单机混部,龙蜥混部技术提升CPU利用率达60%|龙蜥技术

文/OpenAnolis Kernel SIG01什么是 CPU 混部CPU 混部是指将不同类型的业务部署到同一台机器上运行,让它们共享机器上的 CPU 资源以提升 CPU 利用率,从而降低机器的采购和运营成本。但是,对于有些类型的任务来说,它们对延时非常的敏…

光流分析 Optical Flow Lucas-Kanade 算法 DOF Dense Optical Flow

光流跟踪算法对车位进行跟踪 概念 光流是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。 一…

王道计算机网络课代表 - 考研计算机 第二章 物理层 究极精华总结笔记

本篇博客是考研期间学习王道课程 传送门 的笔记,以及一整年里对 计算机网络 知识点的理解的总结。希望对新一届的计算机考研人提供帮助!!! 关于对 “物理层” 章节知识点总结的十分全面,涵括了《计算机网络》课程里的全…

ARM LDREX/STREX指令以及独占监控器详解

一、目的Linux驱动开发中有一个特别重要的知识点必须掌握,即并发、竞态以及同步。什么是并发?多个执行单元(进程、线程、中断)同时对一个共享资源的进行访问;此处的共享资源可以是外设、内存或者软件层面的全局变量静态…

Linux服务器磁盘分区、挂载、卸载及报错处理

整体操作是:先对磁盘进行格式化,格式化后挂载到需要的挂载点,最后添加分区启动表,以便下次系统启动时自动挂载。一、linux分区1、Linux来说wulun有几个分区,分给哪一目录使用,他归根结底只有一个根目录&…

计算机操作系统第一章

操作系统引论1.1操作系统的目标和作用定义:操作系统是控制管理计算机系统的硬软件,分配调度资源的系统软件。目标:方便性,有效性(提高系统资源的利用率、提高系统的吞吐量),可扩充性&#xff0c…

小红书达人怎么找?保姆级教程来了~

在小红书推广营销中,寻找优质的达人是最头疼的事,许多品牌往往会根据简单的小红书排名来直接进行判断认定,其实在挑选小红书达人时有许多要注意的点,接下来和小编一起根据小红书数据分析工具来筛选合适、优质的达人。 千瓜数据—…

蓝桥杯入门即劝退(二十四)重复的子字符串(被秒杀)

欢迎关注点赞评论,共同学习,共同进步! ------持续更新蓝桥杯入门系列算法实例-------- 如果你也喜欢Java和算法,欢迎订阅专栏共同学习交流! 你的点赞、关注、评论、是我创作的动力! -------希望我的文章…

浅谈MySQL主从复制

目录 1.MySQL主从复制是什么 2.MySQL主从复制的意义 3.MySQL主从复制原理 4.数据同步一致性问题 5.实现方式 1.MySQL主从复制是什么 MySQL主从复制就是指数据可以从一台MySQL的主节点复制到一个或多个从节点。 MySQL默认采用异步复制方式,这样从节点不用一直访…

【博学谷学习记录】超强总结,用心分享丨人工智能 Python基础 个人学习总结之列表排序

目录前言简述list.sort()语法返回值实例无参参数key参数reversesorted()语法返回值实例无参参数key参数reverseoperator.itemgetter功能简述实例List.sort与sored区别sorted原理:Timsort算法扩展list原理数据结构心得前言 经过一周的学习,对Python基础部…