Diferencia entre revisiones de «Perceptrón»

De Wikipedia, la enciclopedia libre
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: 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.
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 ==
== Ejemplo ==

Revisión del 22:09 17 may 2010

Perceptrón con 2 entradas

El Perceptrón es un tipo de red neuronal artificial desarrollado por Frank Rosenblatt, véase Perceptrón multicapa, también puede entenderse como perceptrón la neurona artificial y unidad básica de inferencia en forma de discriminador lineal, que constituye este modelo de red neuronal artificial, esto debido a que el perceptrón puede usarse como neurona dentro de un perceptrón más grande u otro tipo de red neuronal artificial.

Definición

El perceptrón usa una matriz para representar las redes neuronales y es un discriminador terciario que traza su entrada (un vector binario) a un único valor de salida (un solo valor binario) a través de dicha matriz.

Donde es un vector de pesos reales y es el producto punto (que computa una suma ponderada). es el 'umbral', el cual representa el grado de inhibición de la neurona, es un término constante que no depende del valor que tome la entrada.

El valor de (0 o 1) se usa para clasificar 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 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 denota el elemento en la posición en el vector de la entrada
  • el el elemento en la posición en el vector de peso
  • el denota la salida de la neurona
  • el denota la salida esperada
  • el es una constante tal que

Los pesos son actualizados después de cada entrada según la regla de actualización siguiente:

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 difiere de la salida deseada . Para considerar una neurona al interactuar en múltiples iteraciones debemos definir algunas variables más:

  • denota el vector de entrada para la iteración i
  • denota el vector de peso para la iteración i
  • denota la salida para la iteración i
  • denota un periodo de aprendizaje de iteraciones

En cada iteración el vector de peso es actualizado como sigue:

  • Para cada pareja ordenada en
  • Pasar a la regla de actualización

El periodo de aprendizaje se dice que es separable linealmente si existe un valor positivo y un vector de peso tal que: para todos los .

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: .

Sin embargo si los datos no son separables linealmente, la línea de algoritmo anterior no se garantiza que converja.

Ejemplo

Considere las funciones AND y OR, estas funciones son linealmente separables y por lo tanto pueden ser aprendidas por un perceptrón.

AND, las salidas de valor alto se representan en verdeOR, las salidas de valor alto se representan en verde

La función XOR no puede ser aprendida por un único perceptrón puesto que requiere al menos de dos líneas para separar las clases (0 y 1). Debe utilizarse al menos una capa adicional de perceptrones para permitir su aprendizaje.

XOR, las salidas de valor alto se representan en verde

Véase también