machine-learning - metodos - algoritmos de agrupamiento clustering
¿Por qué obtengo una buena precisión con el conjunto de datos IRIS con un solo nodo oculto? (2)
En primer lugar, está bien establecido que una variedad de modelos de clasificación produce resultados increíblemente buenos en Iris (Iris es muy predecible); mira aquí , por ejemplo.
En segundo lugar, podemos observar que hay relativamente pocas características en el conjunto de datos de Iris. Además, si nos fijamos en la descripción del conjunto de datos , puede ver que dos de las características están muy correlacionadas con los resultados de la clase.
Estos valores de correlación son correlaciones lineales de característica única, lo que indica que es muy probable que se aplique un modelo lineal y se observen buenos resultados. Las redes neuronales son altamente no lineales; se vuelven cada vez más complejos y capturan combinaciones de características no lineales cada vez mayores a medida que aumenta el número de nodos ocultos y capas ocultas.
Teniendo en cuenta estos hechos, que (a) hay pocas características para comenzar y (b) que hay altas correlaciones lineales con la clase, todos apuntan a una función lineal menos compleja como el modelo predictivo apropiado - mediante el uso de un solo nodo oculto, estás casi usando un modelo lineal.
También se puede observar que, en ausencia de cualquier capa oculta (es decir, solo nodos de entrada y salida), y cuando se utiliza la función de transferencia logística, esto es equivalente a la regresión logística.
Tengo un ejemplo mínimo de una red neuronal con un capacitador de propagación inversa, probándolo en el conjunto de datos de IRIS. Empecé con 7 nodos ocultos y funcionó bien.
Reduje el número de nodos en la capa oculta a 1 (esperando que falle), pero me sorprendió ver que la precisión aumentaba.
Configuré el experimento en azure ml, solo para validar que no era mi código. Lo mismo allí, 98.3333% de precisión con un solo nodo oculto.
¿Alguien puede explicarme qué está pasando aquí?
Simplemente agregando a la muy buena respuesta de DMlash: El conjunto de datos de Iris puede incluso predecirse con una precisión muy alta (96%) usando solo tres reglas simples en un solo atributo:
If Petal.Width = (0.0976,0.791] then Species = setosa
If Petal.Width = (0.791,1.63] then Species = versicolor
If Petal.Width = (1.63,2.5] then Species = virginica
En general, las redes neuronales son cajas negras en las que nunca se sabe realmente lo que están aprendiendo, pero en este caso la ingeniería inversa debería ser fácil. Es concebible que haya aprendido algo como lo anterior.