Red neuronal: entrada binaria versus entrada discreta / continua

14

¿Existen buenas razones para preferir los valores binarios (0/1) sobre los valores normalizados discretos o continuos , por ejemplo (1; 3), como entradas para una red de alimentación directa para todos los nodos de entrada (con o sin propagación hacia atrás)?

Por supuesto, solo estoy hablando de entradas que podrían transformarse en cualquier forma; por ejemplo, cuando tiene una variable que puede tomar varios valores, ya sea alimentarlos directamente como un valor de un nodo de entrada o formar un nodo binario para cada valor discreto. Y se supone que el rango de valores posibles sería el mismo para todos los nodos de entrada. Vea las fotos para ver un ejemplo de ambas posibilidades.

Mientras investigaba sobre este tema, no pude encontrar ningún dato frío sobre esto; me parece que, más o menos, siempre será "prueba y error" al final. Por supuesto, los nodos binarios para cada valor de entrada discreto significan más nodos de capa de entrada (y, por lo tanto, más nodos de capa ocultos), pero realmente produciría una mejor clasificación de salida que tener los mismos valores en un nodo, con una función de umbral bien ajustada en la capa oculta?

¿Estaría de acuerdo en que es solo "probar y ver", o tiene otra opinión sobre esto? Posibilidad uno: entrada directa de los valores posibles {1; 3} Posibilidad dos: obtener cada valor de entrada en un nodo binario

cirko
fuente

Respuestas:

11

Si convertir las variables de entrada a binario depende de la variable de entrada. Se podría pensar que las entradas de la red neuronal representan un tipo de "intensidad": es decir, los valores más grandes de la variable de entrada representan una mayor intensidad de esa variable de entrada. Después de todo, suponiendo que la red solo tenga una entrada, un nodo oculto dado de la red aprenderá alguna función . donde es la función de transferencia (por ejemplo, el sigmoide) la variable de entrada.f(wx+b)fx

Esta configuración no tiene sentido para las variables categóricas. Si las categorías están representadas por números, no tiene sentido aplicarles la función . Por ejemplo, imagine que su variable de entrada representa un animal y ovejas = 1 y vaca = 2. No tiene sentido multiplicar las ovejas por y agregarle , ni tiene sentido que las vacas sean siempre de mayor magnitud que las ovejas. En este caso, debe convertir la codificación discreta en una codificación binaria de 1 de .f(wx+b)wbk

Para las variables con valor real, simplemente déjelas con valor real (pero normalice las entradas). Por ejemplo, digamos que tiene dos variables de entrada, una el animal y otra la temperatura del animal. Convertiría el animal en 1-de- , donde = número de animales, y dejaría la temperatura tal como está.kk

Mate
fuente
Para abreviar, señala la escala de las variables: métrica, ordinal y nominal. Bueno, creo que es obvio que las escalas nominales no pueden ser "calculadas" o representadas por una función. Con respecto a los valores reales, como usted, tiendo a pensar que los valores reales podrían ser "mejores" que los valores reales "clasificados" debido a las transiciones más suaves, pero no pude encontrar ninguna prueba sólida de eso. Me parece otro caso de "prueba y error".
cirko
4

Sí hay. Imagine que su objetivo es construir un clasificador binario. Luego modela su problema como una estimación de una distribución de Bernoulli donde, dado un vector de características, el resultado pertenece a una clase o al contrario. La salida de dicha red neuronal es la probabilidad condicional. Si es mayor que 0.5, lo asocia a una clase, de lo contrario a la otra.

E=y(x)t(1y(x))1t
y(x)tt{0,1}
jpmuc
fuente
Entiendo que una entrada normalizada es preferible sobre rangos variables de valores de entrada, ya que esto es más similar a las salidas binarias que la red debería producir. Pero en mi pregunta, quería referirme a valores discretos normalizados de un cierto rango, es decir, si las entradas podrían estar dentro de un rango, entonces todos los nodos deberían tener el mismo rango, es decir, estar normalizados. En ese caso, sería todavía ser preferible utilizar nodos binarios para cada valor discreto? (Ahora
edité
1

También enfrenté el mismo dilema cuando estaba resolviendo un problema. No probé la arquitectura, pero mi opinión es que, si la variable de entrada es discreta, la función de salida de la red neuronal tendrá la característica de la función de impulso y la red neuronal es buena para modelar la función de impulso. De hecho, cualquier función se puede modelar con una red neuronal con precisión variable según la complejidad de la red neuronal. La única diferencia es que, en la primera arquitectura, debe aumentar el número de entrada para que tenga más peso en el nodo de la primera capa oculta para modelar la función de impulso, pero para la segunda arquitectura necesita más número de nodo en la capa oculta en comparación con la primera arquitectura para obtener el mismo rendimiento.

Anshu Abhishek
fuente