Estoy haciendo el curso ColumbiaX: CSMM.101x de Inteligencia Artificial de edx.org. De hecho. ya lo estoy acabando. Ya estamos en la última semana, y para mi suerte, el último proyecto ya lo tengo entregado y me ha llevado menos faena de lo que me pensaba, sin especiales contratiempos. Ahora sólo me falta hacer el examen final que será el 23 de abril, Sant Jordi.
Los proyectos que se han realizado, todos ellos en Python, son:
- Proyecto 1: Search Algorythms. BFS, DFS,… Se ha resuelto el 8-puzzle
- Proyecto 2: Adversarial Search and Games. Se ha resuelto el juego del 2048, que de hecho yo lo he jugado bastante. Este proyecto me costó bastante, y efectivamente llegué a 2048 en una ocasión combinando diferentes heurísticas.
- Proyecto 3: Machine Learning. Había tres problemas diferentes: I. Perceptron Learning Algorithm; II. Linear Regression; III. Classification
- Proyecto 4: Constraint Satisfaction Problems. Aquí resolvimos el juego del sudoku con los algoritmos del AC-3 y del backtracking.
- Proyecto 5: NLP, Natural Language Processing. Un proyecto muy interesante. Había un train data de 25000 comentarios de películas, valoradas del 0 al 10. Y después también hi havía un test data de 25000 comentarios que se tenían que valorar después de entrenar el sistema.
El resumen de las semanas ha sido:
- Week 1: Introduction to AI
- Week 2: Intelligent Agents and Uniformed Search
- Week 3: Heuristic Search
- Week 4: Adversarial Search and Games
- Week 5: Machine Learning I
- Week 6: Machine Learning II
- Week 7: Machine Learning III
- Week 8: CSP
- Week 9: Reinforcement Learning
- Week 10: Logical Agents
- Week 11: AI Applications: NLP
Por suerte el curso ya se está acabando porque me ha tomado más tiempo del que tenía y del que quería dedicarles. Pero realmente ha sido interesante y exigente, y me he tenido que poner las pilas con el Python. Realmente el tema de las estructuras de datos, y las diferentes librerías que se han utilizado con Python, son muy potentes.
Intentaré seguir leyendo cosas sobre Inteligencia Artificial (IA) y Machine Learning (ML).
NOTA: todavía no tengo acabado el proyecto de la máquina de dardos, y de hecho me doy cuenta de que el problema de acertar dónde ha tocado el dardo y qué puntuación tiene, a parte de un problema de CV (Computer Vision), también es un problema de ML (Machine Learning).