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:
- 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.
- Si hay un algoritmo eficiente para resolver el problema, típicamente polinomial y determinista, entonces no hay necesidad de usar un ANN.
- 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.
- 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.
- 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.
- 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.
- 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.
- ¿Es seguro decir que las recomendaciones sociales siempre superarán a los algoritmos controlados por computadora?
- ¿Cómo clasifica Quora las preguntas? ¿Qué algoritmos usan?
- ¿Cuál es el algoritmo más genial (programación competitiva) que hayas encontrado?
- ¿Qué significa limitado como sufijo para una empresa?
- ¿Podría hacerlo sin espacio adicional y en tiempo de ejecución O (n)?