Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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 0.Theta 0, Salida 0.
1, Pesos: [0, 0]. Entrada [0, 1], P. Punto 0.Theta 0, Salida 0.
2, Pesos: [0, 0]. Entrada [1, 0], P. Punto 0.Theta 0, Salida 0.
3, Pesos: [0, 0]. Entrada [1, 1], P. Punto 0.Theta 0, Salida 0.
4, Pesos: [1, 1]. Entrada [0, 0], P. Punto 0.Theta -1, Salida 1.
5, Pesos: [1, 1]. Entrada [0, 1], P. Punto 1.Theta 0, Salida 1.
6, Pesos: [1, 0]. Entrada [1, 0], P. Punto 1.Theta 1, Salida 0.
7, Pesos: [1, 0]. Entrada [1, 1], P. Punto 1.Theta 1, Salida 0.
8, Pesos: [2, 1]. Entrada [0, 0], P. Punto 0.Theta 0, Salida 0.
9, Pesos: [2, 1]. Entrada [0, 1], P. Punto 1.Theta 0, Salida 1.
10, Pesos: [2, 0]. Entrada [1, 0], P. Punto 2.Theta 1, Salida 1.
11, Pesos: [1, 0]. Entrada [1, 1], P. Punto 1.Theta 2, Salida 0.
12, Pesos: [2, 1]. Entrada [0, 0], P. Punto 0.Theta 1, Salida 0.
13, Pesos: [2, 1]. Entrada [0, 1], P. Punto 1.Theta 1, Salida 0.
14, Pesos: [2, 1]. Entrada [1, 0], P. Punto 2.Theta 1, Salida 1.
15, Pesos: [1, 1]. Entrada [1, 1], P. Punto 2.Theta 2, Salida 0.
16, Pesos: [2, 2]. Entrada [0, 0], P. Punto 0.Theta 1, Salida 0.
17, Pesos: [2, 2]. Entrada [0, 1], P. Punto 2.Theta 1, Salida 1.
18, Pesos: [2, 1]. Entrada [1, 0], P. Punto 2.Theta 2, Salida 0.
19, Pesos: [2, 1]. Entrada [1, 1], P. Punto 3.Theta 2, Salida 1.
20, Pesos: [2, 1]. Entrada [0, 0], P. Punto 0.Theta 2, Salida 0.
21, Pesos: [2, 1]. Entrada [0, 1], P. Punto 1.Theta 2, Salida 0.
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