domingo, 4 de mayo de 2014

Aprendizaje Automático: Machine Learning

Después de presentados 6 artículos (I, II, III , IV, V, VI) sobre modelos matemáticos es hora de presentar un caso práctico de actualidad que demuestre la capacidad de los mismos.

Que una computadora pase de llenar un piso entero de un edificio a caber en tu bolsillo es algo que sorprende, sin embargo la robótica y la inteligencia artificial promete pronto tenerla caminando a tu lado, reconociendo el entorno, interactuando contigo y respondiendo a tus preguntas como si de un ser inteligente y "sabiondo" se tratará. 
¿Cómo se consigue esto? Pues lo siento no es con magia, es con mucha matemática y algoritmos complejos, sobre todo probabilidad e inteligencia artificial. 

Gracias a Marco Gutama que recomendó este curso en edX sobre cuadricópteros y su navegación autónoma: 



Se encontró en la página del grupo de investigación de la Universidad Técnica de Munich en Visión por Computadora el curso:

En la página del curso (link de arriba) podrán encontrar las lecturas correspondientes y los vídeos de los profesores que imparten esta clase en inglés. Por cierto las lecturas y vídeos del cuadricóptero también las encuentran aquí.

Sin embargo si prefieren una versión resumida (o más extensa según el tópico) y en español no duden en seguir los siguientes artículos de este blog. 
Además se ofreció al principio un caso práctico, por lo tanto se usará Scilab y tal vez las mismas prácticas del curso para que no sea simplemente teoría matemática sino una verdadera aventura en el campo de la visión por computadora. 

Finalmente debido a que los autores de este blog pertenecen a la carrera de Ingeniería Electrónica y Telecomunicaciones se espera presentar el trabajo final de la materia Redes Neuronales, que tiene bastante relación con Machine Learning.

Empecemos por dar la lista de los temas a tratarse:
  1. Introducción al Aprendizaje y Razonamiento probabilístico.
  2. Introducción al Aprendizaje.
  3. Regresión o Ajuste.
  4. Modelos Gráficos Probabilísticos a) Métodos Dirigidos y b) Métodos No Dirigidos.
  5. Boosting (Intensificación).
  6. Métodos Kernel.
  7. Procesos Gaussianos a) Regresión y b) Clasificación.
  8. Modelos Mixtos y Maximización de la Esperanza.
  9. Interferencia Variacional.
  10. Métodos de Muestreo.
  11. Cadena de Markov Monte Carlo.
  12. Evaluación y Selección de Modelo.
  13. Agrupamiento.
Y una breve introducción de Scilab:

Scilab es desarrollado por  Inria (French National Institute for Research in Computer Science and Control) bajo la compañía Scilab Enterprises. Es un programa libre y abierto para aplicaciones científicas y de ingeniería. Es una opción frente al muy usado Matlab, que tiene el mismo objetivo, debido a que este último es un software de pago muy costoso.


Tiene una interfaz gráfica desarrollada tanto para Linux, Window y OSX a diferencia de Octave, también libre, que es un software de iguales o mejores características sin embargo su mayor potencial se desarrolla sobre Linux.
El uso de cualquiera de estos programas logra que el desarrollo de algoritmos y simulaciones de modelos matemáticos sea mucho más rápido que en un lenguaje de programación tradicional como C, al costo de disminuir la eficiencia en la ejecución de los mismos, usando más memoria y demorando más en obtener los resultados finales. Sin embargo como el objetivo de este curso tampoco es llegar a simular cosas demasiado complejas viene bien usar este software ahorrando tiempo en el desarrollo y haciendo cualquier otra actividad hasta que el resultado aparezca en pantalla. Que esperas para descargarlo e instalarlo.


No hay comentarios:

Publicar un comentario