0% encontró este documento útil (0 votos)
15 vistas2 páginas

Algoritmo del Perceptrón de Rosenblatt

El documento describe el algoritmo de Rosenblatt, un algoritmo de aprendizaje supervisado inventado por Frank Rosenblatt en 1957. El algoritmo fue implementado originalmente en una computadora IBM 704 y se usó para entrenar perceptrones, dispositivos electrónicos que podían aprender. El documento también incluye código de un programa que implementa el algoritmo de Rosenblatt para clasificar patrones.

Cargado por

Christian
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
15 vistas2 páginas

Algoritmo del Perceptrón de Rosenblatt

El documento describe el algoritmo de Rosenblatt, un algoritmo de aprendizaje supervisado inventado por Frank Rosenblatt en 1957. El algoritmo fue implementado originalmente en una computadora IBM 704 y se usó para entrenar perceptrones, dispositivos electrónicos que podían aprender. El documento también incluye código de un programa que implementa el algoritmo de Rosenblatt para clasificar patrones.

Cargado por

Christian
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

cenidet

Centro Nacional de Investigacion y Desarrollo Tecnologico.

Ciencias de la computacion. Inteligencia Artificial.


Redes Neuronales.
Christian Hern
andez Becerra
Tarea 6: Algoritmo de Rosenblatt.
Febrero de 2016.

1.

Algoritmo de Rosenblatt

Frank (era mejor conocido como Perceptron), un dispositivo electronico que fue construido de acuerdo con los principios biologicos y mostro una habilidad para aprender. El Perceptron
de Rosenblatt fue simulado inicialmente en una computadora IBM 704 en el laboratorio aeronautico de Cornell en 1957[1].
El algoritmo del perceptron fue inventado en 1957 en el laboratorio aeronautico de Cornell
por Frank Rosenblatt, financiado por la Oficina de Investigacion Naval de los Estados Unidos.
El perceptron se pretenda que fuera una maquina, en lugar de un programa[2].

2.
Vuelta
Vuelta
Vuelta
Vuelta
Vuelta
Vuelta
Vuelta
Vuelta
Vuelta
Vuelta
Vuelta
Vuelta
Vuelta
Vuelta
Vuelta
Vuelta
Vuelta
Vuelta
Vuelta
Vuelta
Vuelta
Vuelta

Results
0, Pesos: [0, 0]. Entrada [0, 0], P. Punto [Link] 0, Salida 0.
1, Pesos: [0, 0]. Entrada [0, 1], P. Punto [Link] 0, Salida 0.
2, Pesos: [0, 0]. Entrada [1, 0], P. Punto [Link] 0, Salida 0.
3, Pesos: [0, 0]. Entrada [1, 1], P. Punto [Link] 0, Salida 0.
4, Pesos: [1, 1]. Entrada [0, 0], P. Punto [Link] -1, Salida 1.
5, Pesos: [1, 1]. Entrada [0, 1], P. Punto [Link] 0, Salida 1.
6, Pesos: [1, 0]. Entrada [1, 0], P. Punto [Link] 1, Salida 0.
7, Pesos: [1, 0]. Entrada [1, 1], P. Punto [Link] 1, Salida 0.
8, Pesos: [2, 1]. Entrada [0, 0], P. Punto [Link] 0, Salida 0.
9, Pesos: [2, 1]. Entrada [0, 1], P. Punto [Link] 0, Salida 1.
10, Pesos: [2, 0]. Entrada [1, 0], P. Punto [Link] 1, Salida 1.
11, Pesos: [1, 0]. Entrada [1, 1], P. Punto [Link] 2, Salida 0.
12, Pesos: [2, 1]. Entrada [0, 0], P. Punto [Link] 1, Salida 0.
13, Pesos: [2, 1]. Entrada [0, 1], P. Punto [Link] 1, Salida 0.
14, Pesos: [2, 1]. Entrada [1, 0], P. Punto [Link] 1, Salida 1.
15, Pesos: [1, 1]. Entrada [1, 1], P. Punto [Link] 2, Salida 0.
16, Pesos: [2, 2]. Entrada [0, 0], P. Punto [Link] 1, Salida 0.
17, Pesos: [2, 2]. Entrada [0, 1], P. Punto [Link] 1, Salida 1.
18, Pesos: [2, 1]. Entrada [1, 0], P. Punto [Link] 2, Salida 0.
19, Pesos: [2, 1]. Entrada [1, 1], P. Punto [Link] 2, Salida 1.
20, Pesos: [2, 1]. Entrada [0, 0], P. Punto [Link] 2, Salida 0.
21, Pesos: [2, 1]. Entrada [0, 1], P. Punto [Link] 2, Salida 0.

Pesos: [2, 1], Theta 2. El ajuste tomo

6 Epocas

3.

Code

int main()
{
const int vecDim = 2; // Dimensi
on de entrada
const int population = 4; // total de poblaci
on
int x[vecDim][population] = {{0,0,1,1},{0,1,0,1}}; //Poblaci
on
int z[population] = { 0, 0, 0, 1 }; //Clasificaci
on de la poblaci
on
int epoch = 0; // Numero de epocas
int elements = 0; // Elementos bien clasificacos consecutivamente
int w[vecDim] = { 0,0 }; // Pesos
int theta = 0; // Umbral
int outP, outT; //Salida parcial y total
int i; // Contador
int actual = 0; // Elemento evaluado actualmente
int auxDes; // Auxiliar para hacer el ajuste
while(elements < population) {
outP = 0;
for (i = 0; i < vecDim; i++)
outP += x[i][actual%population] * w[i];
outT = outP > theta ? 1 : 0;
printf("Vuelta %d, Pesos: [%d, %d]. ", actual, w[0], w[1]);
printf("Entrada [%d, %d], P. Punto %d.", x[0][actual%population],...
x[1][actual%population], outP);
printf("Theta %d, Salida %d.\n", theta, outT);
elements++;
if (outT != z[actual%population]) {
elements = 0;
auxDes = outT == 0 ? 1 : -1;
for (i = 0; i < vecDim; i++)
w[i] = x[i][actual%population] == 1 ? w[i] + auxDes : w[i];
theta += (-1)*auxDes;
}
actual++;
}
epoch = (int) (actual / population) +1;
printf("Pesos: [%d, %d], Theta %d. ", w[0], w[1], theta);
printf("El ajuste tomo %d Epocas\n", epoch);
getchar();
return 0;
}

4.

Bibliogarfa

[1] Preceptron (19 February 2016)


[Link]
[2] Frank Rosenblat (15 February 2016)
[Link]

También podría gustarte