Diferencia entre revisiones de «Perceptrón»

Contenido eliminado Contenido añadido
m Revertidos los cambios de 190.27.177.188 (disc.) a la última edición de Louperibot
Línea 14:
El valor de <math>f(x)</math> (0 o 1) se usa para clasificar <math>x</math> como un positivo o un caso negativo, en el caso de un problema de la clasificación binario. El umbral puede pensarse de como compensar la función de activación, o dando un nivel bajo de actividad a la neurona del rendimiento. La suma ponderada de las entradas debe producir un valor mayor que <math>u</math> para cambiar la neurona de estado 0 a 1.
 
== Aprendizaje ==
 
El algoritmo de aprendizaje es el mismo para todas las neuronas, todo lo que sigue se aplica a una sola neurona en el aislamiento. Nosotros definimos algunas variables primero:
* el <math>x(j)</math> denota el elemento en la posición <math>j</math> en el vector de la entrada
* el <math>w(j)</math> el elemento en la posición <math>j</math> en el vector de peso
* el <math>y</math> denota la salida de la neurona
* el <math>\delta</math> denota la salida esperada
* el <math>\alpha</math> es una constante tal que <math>0<\alpha<1</math>
 
Los pesos son actualizados después de cada entrada según la regla de actualización siguiente:
:<math>w(j)' = w(j) + \alpha(\delta-y)x(j)\,</math> <!-- Tex -->
 
Por lo cual, el aprendizaje es modelado como la actualización del vector de peso después de cada iteración, lo cual sólo tendrá lugar si la salida <math>y</math> difiere de la salida deseada <math>\delta</math>. Para considerar una neurona al interactuar en múltiples iteraciones debemos definir algunas variables más:
 
* <math>x_i</math> denota el vector de entrada para la iteración i
* <math>w_i</math> denota el vector de peso para la iteración i
* <math>y_i</math> denota la salida para la iteración i
* <math>D_m = \{(x_1,y_1),\dots,(x_m,y_m)\}</math> denota un periodo de aprendizaje de <math>m</math> iteraciones
<!--
Para comodidad asumeramos valores binarios para los valores de salida deseados <math>y_i</math>:
 
* <math>y_i=1</math> para iteraciones positivas
* <math>y_i=-1</math> para iteraciones negativas
-->
En cada iteración el vector de peso es actualizado como sigue:
* Para cada pareja ordenada <math>(x,y)</math> en <math>D_m = \{(x_1,y_1),\dots,(x_m,y_m)\}</math>
* Pasar <math>(x_i, y_i, w_i)</math> a la regla de actualización <math>w(j)' = w(j) + \alpha(\delta-y)x(j)</math>
 
El periodo de aprendizaje <math>D_m</math> se dice que es separable linealmente si existe un valor positivo <math>\gamma </math> y un vector de peso <math>w</math> tal que:
<math>y_i \cdot\left( \langle w, x_i \rangle +u \right) > \gamma </math> para todos los <math>i</math>.
 
Novikoff (1962) probo que el algoritmo de aprendizaje converge después de un número finito de iteraciones si los datos son separables linealmente y el número de errores esta limitado a:
<math>\left(\frac{2R}{\gamma}\right)^2</math>.
 
Sin embargo si los datos no son separables linealmente, la línea de algoritmo anterior no se garantiza que converja.
 
== Ejemplo ==