Teacher: Dr. Victor Uc Cetina <victoruccetina@gmail.com>
Student: Ing. Dayan Bravo Fraga <dayan3847@gmail.com>
Course 1: Machine Learning
https://github.com/dayan3847/machine_learning/tree/master/dayan3847/binary_classification
https://github.com/dayan3847/machine_learning/blob/master/dayan3847/binary_classification/README.md
https://github.com/dayan3847/machine_learning/tree/master/dayan3847/multi_layer_perceptron
Postal code recognition with convolutional network.
https://github.com/dayan3847/machine_learning/tree/master/dayan3847/digit_detection
Practice Use of previously trained keras convolutional network.
https://github.com/dayan3847/machine_learning/tree/master/dayan3847/ada_boost
https://github.com/dayan3847/machine_learning/tree/master/dayan3847/bandit
Course 2: Neural Network Programming in Python
Implementation of linear regression and logistic regression algorithms with Gaussian and Sigmoidal Basis Functions.
- Implementar los algoritmos de regresión lineal y regresión logística con funciones de base Gaussiana y sigmoidal.
- Comparar y analizar el desempeño de estos dos algoritmos con respecto al uso de funciones de base polinomial, Gaussiana y sigmoidal.
- Experimentar con datos artificiales generados con Sin(2 pi x) y Cos(2 pi x).
Analysis of how weights vary within a neural network when it is being trained
Implementar una Python Notebook que permita observar el cambio en los pesos de una red MLP conforme se va entrenando.
Hacer experimentos con la base de datos iris, variando:
- Número de capas: {2,3,4,5,6}
- Función de activación: {Sigmoid, ReLu, Tanh}
- Optimizer: {SGD, Adam}
La función de activación de la última capa debe ser Softmax.
Generar gráficas donde se observe como cambian los pesos durante el entrenamiento.
Linear Regression with two-dimensional Gaussian
Implementar un algoritmo de regresión lineal usando funciones de base Gaussianas para d dimensiones.
Implementation of the Q-learning algorithm storing knowledge in tables.
Implementar el algoritmo Q-learning para una tarea con estados y acciones discretos.
Code: Notebook
Implementation of the Q-learning algorithm storing knowledge in Gaussian base functions.
Implementar el algoritmo Q-learning para estados continuos y acciones discretas, usando un aproximador de funciones de base Gaussiana para almacenar la función Q.
Implementation of the Q-learning algorithm storing knowledge in a neural network.
- Implementar algoritmos de Q-Learning y Sarsa
- Implementar un agente que use Reinforcement Learning en el entorno de Deep Mind para resolver el problema de “péndulo invertido”
- Utilizar un modelo gaussiano para almacenar la “policy function” tomando como estado la posición y velocidad.
- Las acciones serán discretas.
- Q-learning con entradas contínuas en forma de vector de variables
- Consideraciones: graficar curvas de recompensas para poder comparar diferentes variantes del algoritmo.
- Se realizó la implementación de los algoritmos Q-Learning y Sarsa para el problema "Cliff Walking".
- Se realizaron experimentos variando los parámetros de los algoritmos (epsilon).
- Se graficaron las curvas de recompensa para poder comparar diferentes variantes de los algoritmos.
- Se concluyó un simulador para el problema "Cliff Walking" compatible con Deep Mind para hacer experimentos en segundo plano
- Se realizó la implementación de un agente que usa Reinforcement Learning en el entorno de Deep Mind para resolver el problema de “péndulo invertido”.
- Se utilizó un agente "Random" para generar datos del "state" y "reward" y asi obtener los minimos y maximos de cada variable.
- Se creo un mecanismo para discretizar el "state"
- Se implementó en el entorno de Deep Mind visual un mecanismo para realizar entrenamientos semi-supervisados.
- Se realizó la implementación y entrenamiento de un modelo de tablas utilizando Q-Learning
- Se realizaron entrenamientos variando los parámetros de los algoritmos (epsilon).
- Se realizaron entrenamientos semi-supervisados.
- Se definieron 5 acciones de forma discreta con los siguientes valores: [-.3, -.1, 0, .1, .3]
- Se implementó una primera version del modelo "Gaussian" para almacenar la "policy function" tomando como estado la posición y velocidad.
- Los rangos de valores para el estado son los siguientes:
[-.5, .63]
[.2, 1]
[-1, 1]
[-1, 1]
[-5, 5]
- Se logró entrenar el modelo de tablas utilizando Q-Learning
- Inicialmente se utilizó un epsilon de 0.2
- El la version 1 del modelo "Gaussian" presento problemas de rendimiento y no se pudo entrenar.
- Se recomienda analizar la cantidad de pesos que contiene el modelo.
- Analizar la matriz de covarianza para evitar interferencias entre las gausianas.