Aun cuando las redes neuronales se han convertido en el algoritmo más potente (y único aplicable) en numerosos escenarios, lo cierto es que tienen ventajas y desventajas que debemos conocer. Así, entre las ventajas encontramos:
- Su alta capacidad de aprendizaje
- Son muy flexibles, pudiendo ser diseñadas para realizar predicciones con datos de muy diversa naturaleza: textos, imágenes, audio, señales de sensores, etc.
- Son capaces de crear modelos no lineales
- Pueden entrenar un modelo online (entrenándose con nuevas muestras a medida que éstas están disponibles)
Entre las desventajas podemos destacar:
- La necesidad de grandes cantidades de datos para su entrenamiento
- Son difíciles de interpretar, lo que hace difícil entender el motivo por el que llega a una cierta predicción
- Tienden a sobreentrenarse con mucha facilidad, debido a la mencionada capacidad de aprendizaje
- Los perceptrones multicapa tienen una función de pérdida en general no convexa con más de un mínimo local, por lo que los valores aleatorios inicialmente asignados a los pesos de los enlaces entre neuronas puede llevar a modelos con diferente precisión.
- Es necesario ajustar un alto número de hiperparámetros como el número de capas ocultas, funciones de activación, número de iteraciones, solver (optimizador) y número de neuronas por capa, lo que no hace sencilla su optimización
- Son muy sensibles a la escala de los datos, por lo que resulta conveniente transformarlos de forma que todas las características tengan una escala semejante, por ejemplo, escalándolas al rango [0, 1] o a [-1, 1], o estandarizándolas de forma que todas tengan un mismo valor medio e idéntica desviación estándar