¿Por qué se utilizan características derivadas en redes neuronales?

13

Por ejemplo, uno quiere predecir los precios de la vivienda y tener dos características de entrada de longitud y anchura de la vivienda. A veces, uno también incluye características de entrada polinomiales 'derivadas', como el área, que es largo * ancho.

1) ¿Cuál es el punto de incluir características derivadas? ¿No debería una red neuronal aprender la conexión entre longitud, ancho y precio durante el entrenamiento? ¿Por qué la tercera característica, área, no es redundante?

Además, a veces también veo que las personas ejecutan algoritmos de selección genética en las características de entrada para reducir su número.

2) ¿Cuál es el punto de reducir las características de entrada si todas contienen información útil? ¿No debería la red neuronal asignar pesos apropiados a cada característica de entrada de acuerdo con su importancia? ¿Cuál es el punto de ejecutar algoritmos de selección genética?

siamii
fuente

Respuestas:

8

nlnlnl

2): Hay dos razones que conozco para esto. Primero, si tiene miles de funciones suministradas (como sucede a menudo en los datos del mundo real), y tiene poco tiempo de CPU para el entrenamiento (también es una ocurrencia común), puede usar varios algoritmos de selección de funciones diferentes para reducir el espacio de funciones por adelantado. Los enfoques basados ​​en principios para esto a menudo usan medidas teóricas de información para seleccionar las características con el poder predictivo más alto. En segundo lugar, incluso si puede darse el lujo de capacitarse en todos los datos y todas las características que tiene, las redes neuronales a menudo son criticadas por ser modelos de 'caja negra'. Reducir el espacio de funciones por adelantado puede ayudar a mitigar este problema. Por ejemplo, un usuario que mira el NN no puede decir fácilmente si un peso de 0.01 significa "0, pero el proceso de optimización no llegó" o "

John Doucette
fuente
0

1) La mayoría de las redes neuronales no pueden realizar multiplicaciones; solo pueden calcular sumas (que luego se alimentan individualmente a través de una función de activación ). En cambio, deben estimar esas multiplicaciones si son importantes, lo que requiere muchas neuronas, especialmente si los factores pueden abarcar grandes rangos.

Si resulta que el área de la casa es de hecho una característica importante, ayudará a la red si le proporciona el área, ya que puede usar las neuronas que habría requerido para estimar la multiplicación del ancho y la longitud para hacer otras cosas

Por lo tanto, incluir características polinómicas puede en algunos casos ser beneficioso para la red, pero en otros casos no tiene un efecto significativo. Además, las características polinómicas son solo un tipo de características derivadas que pueden ser útiles para la red. Otro tipo de característica derivada que puede resultar útil es, por ejemplo, los logaritmos de las variables de entrada (consideradas como positivas) que la red también debe estimar para obtener.

Una idea sería permitir que la red realice más operaciones entre números que solo sumas, para permitirle calcular de manera eficiente cosas como las características polinómicas en sí, pero no está claro cómo funcionaría eso. Una arquitectura que parece que hace algo similar es la red de suma de productos .

2) Excepto por el costo computacional que John mencionó, aumentar el número de parámetros en el modelo, lo que inevitablemente sucede cuando introduce más entradas, también aumenta el riesgo de que la red se sobreajuste , especialmente si tiene pocos datos de capacitación.

Sin embargo, esto puede convertirse en un problema mucho menor si se utiliza un buen método de regularización. (La deserción parece funcionar extremadamente bien para eso) Teóricamente, con un método de regularización lo suficientemente bueno, el sobreajuste no debería ser un problema en absoluto. Como señala Hinton, un humano tiene del orden de 10 ^ 14 sinapsis en el cerebro (correspondiente a las conexiones en la red neuronal), pero solo vive en el orden de 10 ^ 9 segundos, pero todavía parece que somos capaces de generalizar bastante bien. Claramente, tener muchos parámetros que se pueden ajustar con el algoritmo correcto solo debería ser una ventaja.

Hola Adios
fuente