Mostrando entradas con la etiqueta Redes Neuronales Artificiales. Mostrar todas las entradas
Mostrando entradas con la etiqueta Redes Neuronales Artificiales. Mostrar todas las entradas

lunes, 19 de noviembre de 2012

Reporte Final Redes Neuronales

Introducción
La idea del proyecto es realizar una red neuronal que pudiera hacer pronósticos basándose en un historial o una serie de datos proporcionados por el usuario, la idea es integrar éste proyecto junto a otro(plusreports) y éste sirve como historial para predecir sucesos.

Para la arquitectura de la red neuronal, se piden 6 valores, que estos pueden ser días, semanas meses o años y la red neuronal te regresara el séptimo valor.



Aportaciones:
Mis aportaciones principalmente fueron de la entrada y procesamiento de datos:

  • Neurona simple 
  • Interfaz
  • Lectura del archivo CSV
  • Escalamiento de éste
  • Gráficas
  • Interpretación de post-procesamiento

Aprendizaje:
Para el aprendizaje de la red neuronal, se utiliza el algoritmo de back-propagation junto con la función sigmoidal y el proceso feedforward con aprendizaje persistente.

Seuencia:
La secuencia que sigue el programa empieza en la interfaz, donde el usuario podrá subir un archivo csv (acomodado por fecha, valor), teniendo éste archivo el programa lo separa por fechas y valores acomodandolos en dos archivos uno que es valores.txt y fecha.txt, que esto servirá para su representación, una vez obtenido ésto, el programa lo normaliza en escala de 0 a 1 y corre un python donde será devuelto valores una vez que se haya terminado, se retroalimenta el csv y se muestran en la gráfica.

Código
El código que hace todo ésto se encuentra en la siguiente carpeta:
https://github.com/rafaellopezgtz/neurored/tree/master/entrada

Repositorio:El repositorio se encuentra en el siguiente link, donde mi usuario es jsp
https://github.com/rafaellopezgtz/neurored/commits/master

Demo:
http://neurored.rafaellopezgtz.com/pagina/

lunes, 8 de octubre de 2012

Reporte Individual Redes Neuronales

Proyecto seleccionado:

La idea es tomar la red neuronal para poder predecir un suceso que pueda acontecer en alguna zona o tiempo, lo buscado es poder aplicar ésto o usarlo de complemento para PlusReport, que es un proyecto que se lleva con otros compañeros.

Así que los parámetros de entrada sería el historial que se tenga de la base de datos.

Pero por lo pronto serán unos valores que serán ingresados por cierto usuario.

Mis aportaciones en el proyecto:

1.- Interfaz entrada:


En la interfaz desarrollada, fue hecha en php y jquery, en ésta se buscará que el usuario suba un archivo .cvs que éste deberá contener dos columnas con n cantidad de filas, la primera columna es de fecha y la segunda de la cantidad. Una vez aceptado el script lo limpia y manda llamar el script de la red neuronal


2.- Valores entrada y salida
Para los valores de entrada del cvs, estos hay que normalizarlos, ya que es así como la neurona los lee (-1 a 1), para normalizarlos se utilizo la siguiente fórmula:






3.- Salida
Una vez que pyhton arrojo un resultado éste es nuevamente normalizado a los valores originales, para posteriormente mostrarlos en la interfaz de salida.



Aprendido:
En lo que se aprendió, fue principalmente el la interpretación de los valores (pre-procesado & post procesado), en el funcionamiento de la neurona (ya que por diversión cada uno de los integrantes, realizaba una neurona hasta determinada fase) y como algunos temas de control y automatización son también aplicados en la predicción y/o aprendizaje de la red neuronal.

Notas:
Tratar de escalar valores en php es muy malo, ya que por experiencias propias, php tiene problemas al trabajar con valores grandes, así que sus resultados tienden a ser erróneos a comparación si éstos se hacen en python así que se hizo un script en pyhton donde te los devuelve.

Referencias:
http://www.neural-forecasting.com/Downloads/EVIC05_tutorial/EVIC%2705%20Slides%20-%20Forecasting%20with%20Neural%20Networks%20Tutorial%20SFCrone.pdf
http://www.obitko.com/tutorials/neural-network-prediction/prediction.html

martes, 7 de agosto de 2012

Idea para Desarrollar con Redes Neuronales

Mi idea o propuesta es la toma de decisión en acciones, si es bueno invertir o vender acciones.


Porque?
Actualmente, las acciones de una determinada empresa, pueden subir o caer insesperadamente, dando esto a perdidas millonarias o ganancias millonarias.

Beneficios:
A quien no le gustaría ganarse una feria o salvarse de una mala inversión.
Ayudar a accionistas en puntos críticos.

Idea:
La posible idea de como funcionaría ésta, sería tener un previo historial de las acciones, así como algunos datos actuales de como se mueven otras acciones, para poder predecir un posible quiebre.



Links:
http://ciberconta.unizar.es/Biblioteca/0004/SerGall96.html
http://www.ciberconta.unizar.es/leccion/redes/180.HTM