c# neural-network predict

c# - .NET Neural Network o AI para predicciones futuras



neural-network predict (3)

Si entiendo su pregunta correctamente, quiere aproximar y extrapolar una función desconocida. En tu ejemplo, conoces los valores de la función

f(0) = 1 f(1) = 2 f(2) = 3 f(3) = 4 f(4) = 5

Una buena aproximación para estos puntos sería f(x) = x+1 , y eso arrojaría f(5) = 6 ... como se esperaba. El problema es que no puede resolver esto sin conocer la función que desea extrapolar: ¿es lineal? ¿Es un polinomio? ¿Es suave? ¿Es (aproximadamente o exactamente) cíclico? ¿Cuál es el rango y el dominio de la función? Cuanto más sepa sobre la función que desea extrapolar, mejores serán sus predicciones.

Estoy buscando algún tipo de biblioteca inteligente (estaba pensando en AI o en una red neuronal) que pueda alimentar una lista de datos históricos y esto predecerá la próxima secuencia de resultados.

Como ejemplo me gustaría alimentar a la biblioteca las siguientes figuras 1,2,3,4,5

y en base a esto, debe predecir que la siguiente secuencia es 6,7,8,9,10, etc.

Las entradas serán mucho más complejas y contienen mucha más información.

Esto se usará en una aplicación C #.

Si tiene alguna recomendación o advertencia, será genial.

Gracias

EDITAR

Lo que intento hacer es utilizar los datos históricos de ventas, predecir qué cantidad va a gastar un cliente específico en el próximo período.

Entiendo que hay docenas de factores externos que pueden influir en las compras de los clientes, pero por ahora solo tengo que basarlo en el historial de ventas y luego trazar un gráfico que muestre las ventas anteriores y las ventas previstas.


Si está buscando una API .NET, le recomiendo que pruebe AForge.NET http://code.google.com/p/aforge/

Si solo quieres probar varios algoritmos de aprendizaje automático en un conjunto de datos que tienes a tu disposición, entonces te recomiendo que juegues con Weka ; es (relativamente) fácil de usar e implementa muchos algoritmos ML / AI. Ejecute varias ejecuciones con diferentes configuraciones para cada algoritmo y pruebe tantos algoritmos como pueda. La mayoría de ellos tendrá algún poder de predicción y si combina los correctos, entonces realmente puede obtener algo útil.


Solo tengo una advertencia, lo siento. =)

Matemáticamente, no hay ninguna razón para que su secuencia anterior sea seguida por un "6". Puedo darle fácilmente una función simple, cuyo siguiente valor es cualquier valor que desee. Es solo que a los humanos les gustan las reglas simples, y por lo tanto, tienden a ver una conexión en estas secuencias, que en realidad no está allí. Por lo tanto, esta es una tarea imposible para una computadora, si no desea alimentarla con información adicional.

Editar: en el caso de que sospeche que sus datos tienen una dependencia funcional conocida, y existen factores externos incontrolables, tal vez el análisis de regresión tenga buenos resultados. Para empezar fácil, primero mire la regresión lineal .

Si no puede asumir la dependencia lineal, hay una buena aplicación que busca funciones que se ajusten a sus datos históricos ... Actualizaré esta publicación con su nombre tan pronto como lo recuerde. =)