Retropropagación en minería de datos

Backpropagation es un algoritmo que retropropaga los errores de los Nodes de salida a los Nodes de entrada. Por lo tanto, se denomina simplemente propagación hacia atrás de errores. Se utiliza en las amplias aplicaciones de redes neuronales en minería de datos como reconocimiento de caracteres, verificación de firmas, etc.

Red neuronal:

Las redes neuronales son un paradigma de procesamiento de información inspirado en el sistema nervioso humano. Así como en el sistema nervioso humano tenemos neuronas biológicas de la misma manera en las redes neuronales tenemos neuronas artificiales, las neuronas artificiales son funciones matemáticas derivadas de las neuronas biológicas. Se estima que el cerebro humano tiene alrededor de 10 mil millones de neuronas, cada una conectada a un promedio de otras 10 000 neuronas. Cada neurona recibe una señal a través de una sinapsis, que controla el efecto de la señal en la neurona.

Artificial Neural Network Structure

 

Retropropagación:

Backpropagation es un algoritmo ampliamente utilizado para entrenar redes neuronales feedforward. Calcula el gradiente de la función de pérdida con respecto a los pesos de la red y es muy eficiente, en lugar de calcular directamente el gradiente con respecto a cada peso individual. Esta eficiencia hace posible el uso de métodos de gradiente para entrenar redes multicapa y actualizar pesos para minimizar la pérdida; a menudo se utilizan variantes como el descenso de gradiente o el descenso de gradiente estocástico.

El algoritmo de retropropagación funciona calculando el gradiente de la función de pérdida con respecto a cada peso a través de la regla de la string, calculando el gradiente capa por capa e iterando hacia atrás desde la última capa para evitar el cálculo redundante de términos intermedios en la regla de la string.

Trabajo de Backpropagation:

Las redes neuronales utilizan el aprendizaje supervisado para generar vectores de salida a partir de los vectores de entrada en los que opera la red. Compara la salida generada con la salida deseada y genera un informe de error si el resultado no coincide con el vector de salida generado. Luego ajusta los pesos de acuerdo con el informe de error para obtener el resultado deseado.

Algoritmo de retropropagación:

Paso 1: Entradas X, llegan por el camino preconectado.

Paso 2: La entrada se modela utilizando pesos reales W. Los pesos generalmente se eligen al azar.

Paso 3: Calcule la salida de cada neurona desde la capa de entrada a la capa oculta a la capa de salida.

Paso 4: Calcular el error en las salidas

Backpropagation Error= Actual Output – Desired Output

Paso 5: desde la capa de salida, regrese a la capa oculta para ajustar los pesos y reducir el error.

Paso 6: Repita el proceso hasta lograr el resultado deseado.

Necesidad de retropropagación:

Backpropagation es «propagación hacia atrás de errores» y es muy útil para entrenar redes neuronales. Es rápido, fácil de implementar y simple. Backpropagation no requiere que se configure ningún parámetro, excepto el número de entradas. La retropropagación es un método flexible porque no se requiere conocimiento previo de la red.

Tipos de retropropagación

Hay dos tipos de redes de retropropagación.

  • Retropropagación estática: La retropropagación estática es una red diseñada para mapear entradas estáticas para salidas estáticas. Este tipo de redes son capaces de resolver problemas de clasificación estática como el OCR (Reconocimiento Óptico de Caracteres).
  • Retropropagación recurrente: La retropropagación recursiva es otra red utilizada para el aprendizaje de punto fijo. La activación en la retropropagación recurrente es realimentada hasta que se alcanza un valor fijo. La retropropagación estática proporciona un mapeo instantáneo, mientras que la retropropagación recurrente no proporciona un mapeo instantáneo.

ventajas:

  • Es simple, rápido y fácil de programar.
  • Solo se sintonizan los números de la entrada, ningún otro parámetro.
  • Es flexible y eficiente.
  • No es necesario que los usuarios aprendan ninguna función especial.

Desventajas:

  • Es sensible a datos ruidosos e irregularidades. Los datos ruidosos pueden conducir a resultados inexactos.
  • El rendimiento depende en gran medida de los datos de entrada.
  • Pasar demasiado tiempo entrenando.
  • Se prefiere el enfoque basado en array sobre un mini lote.

Publicación traducida automáticamente

Artículo escrito por ishukatiyar16 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *