¿Cuáles son ejemplos de problemas en los que entrenar un ANN es la solución óptima?

No soy un experto, pero sí tengo experiencia en la selección de tales soluciones. Como nadie ha respondido aún a su pregunta, sugeriré lo siguiente en función de mi perspectiva limitada.

Aquí hay algunos criterios para ayudar a identificar a un candidato para una solución ANN:

  1. Una ANN puede usarse mejor solo si tiene un conjunto grande (decenas de miles de casos o más) de datos para capacitación y pruebas, incluidas todas las entradas posibles junto con las salidas correctas (deseadas) correspondientes.
  2. Si hay un algoritmo eficiente para resolver el problema, típicamente polinomial y determinista, entonces no hay necesidad de usar un ANN.
  3. Si los datos de entrada se correlacionan con los datos de salida de una manera que es algo separable linealmente (está relacionada directa o indirectamente con su impacto en la salida) o que “se puede hacer que sea separable linealmente” (es decir, a través del truco del núcleo) entonces un ANN puede ser requerido.
  4. Si hay numerosos mínimos o máximos locales, o se espera que algunas de las entradas no tengan un impacto global en la salida, o si hay problemas para resolver el ítem (3) anterior, entonces un algoritmo genético podría ser una mejor opción.
  5. Debido al nivel de ruido en los datos de entrada y posiblemente a la falta de independencia entre las entradas, se puede descartar una solución de máquina de vectores de soporte (SVM). Además, si está preprocesando las entradas y desea tener más control en la “sintonización” del sistema, entonces un SVM puede ser subóptimo.
  6. Si no necesita comprender o decodificar los detalles de la red resultante, como los pesos de los nodos, o analizar las contribuciones de las entradas individuales, puede ser preferible un ANN.
  7. Un ANN solo es apropiado si no estás limitado por el tiempo de entrenamiento y posiblemente incluso por el tiempo de ejecución. Un ANN no es la solución más rápida en el tiempo de ejecución, pero es extremadamente lento para entrenar.

EDITAR: veo que los detalles de la pregunta ahora se han agregado y esto afecta un poco mi respuesta. Como dije en la apertura, no soy un experto y este es un consejo básico. Entonces usted (el OP) puede tener más conocimiento sobre esto que yo, y puede estar buscando la opinión de un experto. Sin embargo, dejaré mi respuesta publicada aquí para cualquier otra persona que desee un consejo básico.

Error 1:

No hay una solución óptima. Es un proceso de prueba y error.

Error 2:

Puede combinar diferentes métodos como ANN, SVM, regresión lineal dependiendo de la región en la que cada método ofrezca la mejor predicción.

En general, las ANN son uno de los mejores métodos para predecir situaciones basadas en entradas multivariadas.

More Interesting

Cómo resolver este problema sin usar ningún algoritmo de aprendizaje automático

¿Debería centrarme en el aprendizaje de algoritmos y estructuras de datos en profundidad, o aprender una habilidad como desarrollo web o desarrollo móvil usando Nanodegree?

¿Dónde debo comenzar una estructura de datos?

¿Qué necesitamos antes de comenzar las estructuras de datos?

¿Qué patrones iterativos y recursivos se pueden expresar como O (1), O (log2n), O (n) u O (n2) en notación O grande?

¿Es la composición musical un problema NP?

¿Qué algoritmo usa Arrays.sort?

¿Alguien puede explicar la solución del problema LabelMaker de Hacker Cup de Facebook?

¿Por qué la agrupación aleatoria al iterar sobre ella y cambiarla por un elemento aleatorio entre 0 y el último elemento de la matriz no produce una barajadura distribuida uniformemente?

¿Cómo no es aplicable el algoritmo de Dijkstra a los gráficos con pesos negativos? ¿No podemos simplemente agregar alguna constante a cada peso para que cada peso sea positivo, y luego aplicar el algoritmo de Dijkstra para encontrar el camino más corto?

¿Cuál es la diferencia entre analizar un archivo CSV y JSON? ¿Qué algoritmos comunes usarías en ambos?

Cómo agregar dos matrices en Java e inicializar la tercera matriz con la suma de los dos elementos correspondientes de las dos matrices

¿Qué es una explicación intuitiva de los algoritmos de gradiente proximal?

Para (I = 0; I <3; I ++) fork (), ¿cómo puedo hacer un algoritmo para contar el número de procesos y mostrarlo solo una vez?

¿Se puede usar el algoritmo DBSCAN para determinar los límites del área geográfica?