2. Introducción a la Ciencia de Datos (Índice)
▪ Un poco de Historia
▪ Tipos de aprendizajes dentro del Machine Learning
▪ Dos Conceptos Importantes: train y predict
▪ Ajustando nuestra primera función
▪ Aprendizaje Supervisado (ejercicio práctico)
▪ Clasificación de texto (ejercicio práctico)
▪ Aprendizaje No-Supervisado (ejercicio práctico)
▪ Reinforcement Learning (ejercicio práctico)
▪ Deep Learning (ejercicio práctico)
2
3. Un poco de Historia
La ciencia de datos es un campo interdisciplinario que involucra métodos científicos, procesos y sistemas para extraer conocimiento o un
mejor entendimiento de datos en sus diferentes formas, ya sea estructurados o no estructurados,1
lo cual es una continuación de algunos
campos de análisis de datos como la estadística, la minería de datos, el aprendizaje automático y la analítica predictiva.1
También se define La ciencia de datos como "Un concepto para unificar estadísticas, análisis de datos, aprendizaje automático y sus métodos
relacionados para comprender y analizar los fenómenos reales", 2
empleando técnicas y teorías extraídas de muchos campos dentro del
contexto de las matemáticas, la estadística, la ciencia de la información y la informática.
El ganador del premio Turing, Jim Gray, imaginó la ciencia de datos como un "cuarto paradigma" de la ciencia (empírico, teórico, computacional
y ahora basado en datos) y afirmó que "todo lo relacionado con la ciencia está cambiando debido al impacto de la tecnología de la información y
el diluvio de datos".3
En este nuevo paradigma, los investigadores se apoyan de sistemas y procesos que son muy diferentes a los utilizados en el pasado, como son
modelos, ecuaciones, algoritmos, así como evaluación e interpretación de resultados
3
https://es.wikipedia.org/wiki/Ciencia_de_datos
4. Un poco de Historia
4
https://towardsdatascience.com/no-machine-learning-is-not-just-glorified-statistics-26d3952234e3
5. Un poco de Historia
5
https://towardsdatascience.com/no-machine-learning-is-not-just-glorified-statistics-26d3952234e3
● El sentimiento de que el aprendizaje automático no es realmente un motivo para
entusiasmarse, o que es solo una reparación de técnicas estadísticas antiguas,
simplemente no es verdad
● Estadística es el campo de las matemáticas que se centra en el entendimiento e
interpretación de los datos. Machine Learning es un conjunto de algoritmos
computacionales y por ende, nace a partir de las ciencias computacionales
● Los campos no se excluyen mutuamente, pero eso no los hace iguales. Un
matemático podría señalar a un físico teórico, que trabaja en la teoría cuántica de
campos, y decir con razón que está haciendo matemáticas, pero sería erroneo si el
matemático afirmara que su campo de la física no era más que una matemática
exagerada
8. Dos Conceptos importantes: train y predict
8
Durante la fase de TRAIN es cuando se produce el ajuste del algoritmos a los datos. Los
algoritmos usan alguna métrica que tienen que minimizar o maximizar durante esta fase.
El resultado óptimo de esta fase es que el algoritmo se ajusta adecuadamente a los datos
9. Dos Conceptos importantes: train y predict
9
Durante la fase de PREDICT es cuando se ejecuta el algoritmo, ya previamente ajustado,
sobre nuevos datos.
10. Ajustando nuestra primera función
10
https://colab.research.google.com/notebooks/welcome.ipynb
11. Aprendizaje Supervisado
11
Como su nombre lo indica, Supervised Learning necesita un ser humano para
"supervisar" y decirle a la computadora para qué debe entrenarse para predecir, o darle la
respuesta correcta. Alimentamos la computadora con datos de entrenamiento que
contienen varias características, y también le decimos la respuesta correcta.
12. Aprendizaje Supervisado
12
Dependiendo del tipo de respuesta que podamos dar al algoritmo, tenemos que
diferenciar entre Clasificación y Regresión.
En Clasificación, la respuesta es discreta, es decir, respuestas del tipo: Si/No,
Rojo/Amarillo/Azul, Bajo/Medio/Alto, etc
En Regresión, la respuesta es continua, por ejemplo: la temperatura de una ciudad, el
precio de la vivienda, la altura de una persona, etc
14. Aprendizaje Supervisado: Clasificación de Texto
14
Este es un caso de Clasificación Supervisada en el que se trabaja con Texto. Por ejemplo, si
queremos enviar noticias de distintas fuentes primero vamos a tener que resolver un problema:
¿cómo sabemos a qué categoría pertenece una noticia?. El resultado final será un programa
capaz de clasificar un texto en función de otros textos que ha analizado previamente y que le
han servido para aprender a clasificar textos. Hablamos de machine learning en estado puro.
https://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html
16. Aprendizaje NO Supervisado
16
Aquí no le damos a la computadora una etiqueta de "objetivo" para predecir. En su lugar,
dejamos que la computadora descubra patrones por sí misma y luego elegimos el que
tenga más sentido. Esta técnica es necesaria, ya que a menudo ni siquiera sabemos lo
que buscamos en nuestros datos.
17. Aprendizaje NO Supervisado
17
En la siguiente web podemos ver como funcionan algunos algoritmos de clustering para
distintos tipos de datasets:
https://www.naftaliharris.com/
19. Aprendizaje por Refuerzo
19
Aprendizaje por refuerzo o Aprendizaje reforzado es un área del aprendizaje automático
inspirada en la psicología conductista, cuya ocupación es determinar qué acciones debe
escoger un agente de software en un entorno dado con el fin de maximizar alguna noción
de "recompensa" o premio acumulado.
https://es.wikipedia.org/wiki/Aprendizaje_por_refuerzo
20. Aprendizaje por Refuerzo
20
Esta técnica, principalmente se basa en la ecuación de Bellman:
El valor de un estado dado es igual a la acción máxima (acción que maximiza el valor) de
la recompensa de la acción óptima en el estado dado y agrega el factor de descuento
(disminuye la recompensa a lo largo del tiempo) multiplicado por el Valor del Bellman del
siguiente estado Ecuación.
Aquí Alpha y Gamma son los parámetros para el algoritmo de Q-learning. Alpha se
conoce como la tasa de aprendizaje y gamma como el factor de descuento, los valores
oscilan entre 0 y 1 y, en ocasiones, son iguales a uno. Gamma puede ser cero, mientras
que alfa no puede pues es relativo a la pérdida debe actualizarse con cierta tasa de
aprendizaje. Alfa aquí representa lo mismo que se usa en el aprendizaje supervisado.
Gamma determina cuánta importancia queremos dar a las recompensas futuras.
https://medium.com/@taggatle/02-reinforcement-learning-move-37-the-bellman-equation-254375be82bd
21. Aprendizaje por Refuerzo
21
Pasos que sigue el algoritmo:
Paso 1: Inicialice la tabla Q con todos los ceros y los valores Q a constantes arbitrarias.
Paso 2: Deje que el agente reaccione al entorno y explore las acciones. Para cada
cambio de estado, seleccione una de las acciones posibles para el estado actual (S).
Paso 3: Viaje al siguiente estado (S) como resultado de esa acción (a).
Paso 4: Para todas las acciones posibles del estado (S), seleccione la que tenga el valor
Q más alto.
Paso 5: Actualice los valores de la tabla Q usando la ecuación.
Estado 6: cambia el siguiente estado como el estado actual.
Paso 7: Si se alcanza el estado objetivo, finalice y repita el proceso.
22. Aprendizaje por Refuerzo
22
Aquí tenemos algunos videos bastante impresionantes sobre lo que se puede hacer con
esta técnica:
Jugar al Arcanoid (ATARI)
Jugar al Pacman(ATARI)
Derrotar al campeón mundial de Ajedrez
Derrotar al campeón mundial de GO
Derrotar a un humano jugando al StarCraft
24. Redes Neuronales
24
El aprendizaje profundo (Deep Learning) es un subcampo del aprendizaje automático que
trata con algoritmos inspirados en la estructura y función del cerebro llamadas redes
neuronales artificiales.
Los modelos de aprendizaje profundo funcionan en capas y un modelo típico al menos
tiene tres capas. Cada capa acepta la información de la anterior y la pasa a la siguiente.
https://medium.com/intro-to-artificial-intelligence/deep-learning-series-1-intro-to-deep-learning-abb1780ee20
25. Redes Neuronales
25
Hay tres elementos claves que hacen que exista una explosión de este campo. La
existencia de datos masivos. capacidades de procesamiento no antes conocidas con las
GPUs y la mejora constante en los algoritmos y frameworks:
Link donde se explica la diferencia entre CPU y GPU
26. Redes Neuronales
26
Los modelos de aprendizaje profundo tienden a funcionar bien con la cantidad de datos,
mientras que los modelos de aprendizaje automático antiguos dejan de mejorar después
de un punto de saturación.
27. Redes Neuronales
27
Una de las diferencias entre el aprendizaje automático y el modelo de aprendizaje
profundo está en el área de extracción de características. La extracción de características
es realizada por humanos en el aprendizaje automático, mientras que el modelo de
aprendizaje profundo se resuelve por sí mismo.
28. Redes Neuronales
28
Los principales usos que se están dando de esta técnica están mayormente acotados a
los campos del tratamiento de texto o la identificación de imágenes: