目录
💥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.