Replicator Neural Network para detección de valores atípicos, función paso a paso que causa la misma predicción
neural-network outliers (1)
Estoy enfrentando el problema de implementar este algoritmo y aquí está mi visión del problema que podría haber tenido: la capa intermedia, al utilizar una función paso a paso, esencialmente está realizando un agrupamiento en los datos. Cada capa transforma los datos en un número discreto que podría interpretarse como una coordenada en un sistema de grillas. Imaginemos que usamos dos neuronas en la capa intermedia con valores paso a paso que van de -2 a +2 en incrementos de 1. De esta forma, definimos una cuadrícula de 5x5 donde se colocará cada conjunto de características. Cuantos más pasos permitas, más cuadrículas. Cuantas más cuadrículas, más "grupos" tiene.
Todo esto suena bien y todo. Después de todo, estamos comprimiendo los datos en una representación más pequeña (dimensional) que luego se usa para tratar de reconstruir en la entrada original.
Sin embargo, esta función paso a paso tiene un gran problema en sí misma: la retro-propagación no funciona (en teoría) con funciones paso a paso. Puede encontrar más sobre esto en este documento . En este último documento, sugieren cambiar la función paso a paso con una función similar a una rampa. Es decir, tener una cantidad casi infinita de clusters.
Su problema puede estar directamente relacionado con esto. Intente cambiar la función paso a paso por una rampa y mida cómo cambia el error a lo largo de la fase de aprendizaje.
Por cierto, ¿tiene alguno de estos códigos disponibles para que los usen otros investigadores?
En mi proyecto, uno de mis objetivos es encontrar valores atípicos en los datos de motores aeronáuticos y elegí utilizar la red neuronal Replicator para hacerlo y leer el siguiente informe sobre él ( http://citeseerx.ist.psu.edu/viewdoc/download ? doi = 10.1.1.12.3366 & rep = rep1 & type = pdf ) y estoy teniendo un ligero problema de comprensión con la función paso a paso (página 4, figura 3) y los valores de predicción debidos a ella.
La explicación de una red neuronal de replicador se describe mejor en el informe anterior, pero como fondo la red neuronal de replicador que he construido funciona teniendo el mismo número de salidas que las entradas y teniendo 3 capas ocultas con las siguientes funciones de activación:
Capa oculta 1 = tanh sigmoide S1 (θ) = tanh, capa oculta 2 = paso a paso, S2 (θ) = 1/2 + 1 / (2 (k - 1)) {suma cada variable j} tanh [a3 ( θ -j / N)] Hidden Layer 3 = tanh sigmoide S1 (θ) = tanh, Output Layer 4 = sigmoid normal S3 (θ) = 1/1 + e ^ -θ He implementado el algoritmo y parece estar entrenando (dado que el error cuadrático medio disminuye constantemente durante el entrenamiento). Lo único que no entiendo es cómo se hacen las predicciones cuando se aplica la capa intermedia con la función de activación paso a paso, ya que hace que las 3 activaciones de los nodos intermedios se conviertan en valores discretos específicos (por ejemplo, mis últimas activaciones en el 3 el medio fue 1.0, -1.0, 2.0), esto hace que estos valores se propaguen hacia adelante y yo obtenga predicciones muy similares o exactamente las mismas siempre.
La sección del informe en la página 3-4 describe mejor el algoritmo, pero no tengo idea de lo que tengo que hacer para solucionarlo. Tampoco tengo mucho tiempo :(
Cualquier ayuda sería muy apreciada.
Gracias