Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial Internet of Things >> Incrustado

Cómo utilizar un ejemplo de red neuronal de perceptrón simple para clasificar datos

Este artículo demuestra la funcionalidad básica de una red neuronal Perceptron y explica el propósito del entrenamiento.

Este artículo es parte de una serie sobre redes neuronales Perceptron.

Si desea comenzar desde el principio o avanzar, puede consultar los otros artículos aquí:

  1. Cómo realizar la clasificación mediante una red neuronal:¿Qué es el perceptrón?
  2. Cómo utilizar un ejemplo de red neuronal de Perceptron simple para clasificar datos
  3. Cómo entrenar una red neuronal de perceptrón básica
  4. Comprensión del entrenamiento de redes neuronales simples
  5. Introducción a la teoría del entrenamiento para redes neuronales
  6. Comprensión de la tasa de aprendizaje en redes neuronales
  7. Aprendizaje automático avanzado con el perceptrón multicapa
  8. La función de activación sigmoidea:activación en redes neuronales de perceptrones multicapa
  9. Cómo entrenar una red neuronal de perceptrón multicapa
  10. Comprender las fórmulas de entrenamiento y la retropropagación para perceptrones multicapa
  11. Arquitectura de red neuronal para una implementación de Python
  12. Cómo crear una red neuronal de perceptrón multicapa en Python
  13. Procesamiento de señales mediante redes neuronales:validación en el diseño de redes neuronales
  14. Conjuntos de datos de entrenamiento para redes neuronales:cómo entrenar y validar una red neuronal Python

¿Qué es un perceptrón de capa única?

En el artículo anterior, vimos que una red neuronal consta de nodos interconectados dispuestos en capas. Los nodos en la capa de entrada distribuyen datos y los nodos en otras capas realizan la suma y luego aplican una función de activación. Las conexiones entre estos nodos están ponderadas, lo que significa que cada conexión multiplica el dato transferido por un valor escalar.


Tenga en cuenta que esta configuración se denomina perceptrón de una sola capa. Sí, lo sé, tiene dos capas (entrada y salida), pero solo tiene una capa que contiene nodos computacionales.

Clasificación con un perceptrón

En este artículo, exploraremos la funcionalidad de Perceptron utilizando la siguiente red neuronal.


Como puede ver, nuestra dimensionalidad de entrada es tres. Podemos pensar en este perceptrón como una herramienta para resolver problemas en el espacio tridimensional. Por ejemplo, propongamos el siguiente problema:si un punto en el espacio tridimensional está ubicado debajo del eje x, corresponde a un dato no válido. Si el punto está en el eje x o por encima del mismo, corresponde a un dato válido que debe conservarse para un análisis posterior. Necesitamos esta red neutral para categorizar nuestros datos, con un valor de salida de 1 que indica un dato válido y un valor de 0 que indica un dato no válido.

Primero, debemos mapear nuestras coordenadas tridimensionales al vector de entrada. En este ejemplo, ingrese 0 es el componente x, entrada 1 es el componente y, y la entrada 2 es el componente z. A continuación, necesitamos determinar los pesos. Este ejemplo es tan simple que no necesitamos capacitar a la red. Simplemente podemos pensar en los pesos requeridos y asignarlos:

Todo lo que tenemos que hacer ahora es especificar que la función de activación del nodo de salida es un paso unitario expresado de la siguiente manera:

\ [f (x) =\ begin {cases} 0 &x <0 \\ 1 &x \ geq 0 \ end {cases} \]

El Perceptron funciona así:Desde w 1 =0 y w 2 =0, los componentes y y z no contribuyen a la suma generada por el nodo de salida. El único dato de entrada que afecta la suma es el componente x, que se entrega al nodo de salida sin modificar porque w 0 =1. Si el punto en el espacio tridimensional está debajo del eje x, la suma del nodo de salida será negativa y la función de activación convertirá este valor negativo en la salida 0 =0. Si el punto en el espacio tridimensional está en o por encima del eje x, la suma será igual o mayor que cero, y la función de activación lo convertirá en la salida 0 =1.

Solución de problemas con un perceptrón

En la sección anterior, describí nuestro Perceptron como una herramienta para resolver problemas. Sin embargo, es posible que haya notado que el Perceptron no resolvió muchos problemas: yo resolvió el problema y le dio la solución al Perceptron asignando los pesos requeridos.

En este punto, hemos llegado a un concepto crucial de red neuronal:pude resolver rápidamente el problema de clasificación válido / no válido porque la relación entre los datos de entrada y los valores de salida deseados es muy simple. Sin embargo, en muchas situaciones de la vida real, sería extremadamente difícil para un ser humano formular una relación matemática entre los datos de entrada y los valores de salida. Podemos adquirir datos de entrada y podemos registrar o producir valores de salida correspondientes, pero no tenemos una ruta matemática de entrada a salida.

Un ejemplo útil es el reconocimiento de escritura a mano. Supongamos que tenemos imágenes de caracteres escritos a mano y queremos clasificar esas imágenes como "a", "b", "c", etc., de modo que podamos convertir la escritura a mano en texto normal de computadora. Cualquiera que sepa escribir y leer podrá generar imágenes de entrada y luego asignar las categorías correctas a cada imagen. Por lo tanto, la recopilación de datos de entrada y los datos de salida correspondientes no es difícil. Por otro lado, sería extremadamente difícil mirar los pares de entrada-salida y formular una expresión matemática o un algoritmo que convierta correctamente las imágenes de entrada en una categoría de salida.

Por lo tanto, el reconocimiento de escritura a mano y muchas otras tareas de procesamiento de señales presentan problemas matemáticos que los seres humanos no pueden resolver sin la ayuda de herramientas sofisticadas. A pesar de que las redes neuronales no pueden pensar, analizar e innovar, nos permiten resolver estos difíciles problemas porque pueden hacer algo que los seres humanos no pueden, es decir, realizar cálculos de forma rápida y repetida que involucran cantidades potencialmente inmensas de datos numéricos. .

Entrenamiento de la red

El proceso que permite que una red neuronal cree una ruta matemática desde la entrada hasta la salida se llama entrenamiento. Proporcionamos a la red datos de entrenamiento que constan de valores de entrada y valores de salida correspondientes, y aplica un procedimiento matemático fijo a estos valores. El objetivo de este procedimiento es modificar gradualmente los pesos de la red de modo que la red pueda calcular los valores de salida correctos incluso con datos de entrada que nunca antes había visto. Básicamente, se trata de encontrar patrones en los datos de entrenamiento y generar pesos que producirán resultados útiles al aplicar estos patrones a datos nuevos.

El siguiente diagrama muestra el clasificador válido / no válido discutido anteriormente, pero los pesos son diferentes. Estos son pesos que generé entrenando al Perceptron con 1000 puntos de datos. Como puede ver, el proceso de entrenamiento le ha permitido al Perceptron aproximarse automáticamente a la relación matemática que identifiqué a través del pensamiento crítico al estilo humano.


En el próximo artículo…

Les he mostrado los resultados del entrenamiento de este perceptrón, pero no he dicho nada sobre cómo obtuve estos resultados. El siguiente artículo describirá un programa corto de Python que implementa una red neuronal Perceptron de una sola capa, y también explicaré mi procedimiento de entrenamiento.


Incrustado

  1. ¿Cómo utilizamos el molibdeno?
  2. ¿Cómo proteger la tecnología en la nube?
  3. ¿Cómo utilizar Azure DevOps de forma eficaz?
  4. Protocolos de red
  5. Cómo la computación analógica en memoria puede resolver los desafíos de potencia de la inferencia de IA de borde
  6. Cómo el ecosistema de red está cambiando el futuro de la granja
  7. Realloc () Función en la biblioteca C:¿Cómo usar? Sintaxis y ejemplo
  8. Función free () en la biblioteca C:¿Cómo usar? Aprende con el Ejemplo
  9. Cómo los fabricantes pueden usar Analytics para una mejor experiencia del cliente
  10. Recuperación de datos:el modelo de red neuronal del NIST encuentra objetos pequeños en imágenes densas
  11. Cómo usar una amoladora cortadora