Esta presentación pretende realizar una breve descripción de las ramas y algoritmos más frecuentes en Machine Learning (ML), tales como ML supervisado, no supervisado, Deep Learning, así como del panorama tecnológico en el que se desenvuelven.
2. 2
Índice
• Introducción
• Regresión
• Clasificación
• Overfitting
• Deep Learning
• Aplicación de Machine Learning
• Unsupervised Learning
• Consideraciones finales
3. 3
Introducción
• Rama de la inteligencia artificial que pretende que una máquina sea
capaz de mejorar su actuación a la hora de resolver un problema
mediante la adquisición de experiencia en una tarea determinada
• Multitud de algoritmos con finalidades específicas
• Ramas de ML:
• Supervised Learning
• Unsupervised Learning
• Reinforcement Learning
• Deep Learning
• …
¿Qué es el Machine Learning (ML)?
4. 4
Introducción
Ejemplos Prácticos
• Sistemas de Recomendación
• Detección de spam
• Natural Language Processing (NLP)
• Photo OCR (Optical Character Recognition)
• Visión Artifical
• Diagnósticos médicos
• Conducción Autónoma
• AMD Ryzen ANN
• …
5. 5
Introducción
• Conjunto de datos (data set): El total del conjunto de datos sobre los que queremos
desarrollar un algoritmo de ML con el fin de obtener un modelo que lo represente lo mejor
posible. Contendrá variables independientes y dependientes
• Variables independientes (features), (VI): Aquellas columnas del data set que serán usadas
por el algoritmo para generar un modelo que prediga lo mejor posible las variables
dependientes
• Variables dependientes (labels), (VD): Columna del data set que responde a una correlación
de VI y que debe ser predicha por el futuro modelo
• Conjunto de datos de entrenamiento (training set): Subconjunto del data set que será
utilizado para entrenar el modelo que se pretende generar
• Conjunto de datos de test (test set): Subconjunto del data set que se le pasará al modelo una
vez haya sido entrenado para comprobar, mediante el uso de diferentes métricas, su calidad
Definiciones básicas
6. 6
Introducción
Datos del Titanic
pclass survived name sex age sibsp parch ticket fare cabin embarked boat body home.dest
1 1 Allen, Miss. Elisabeth Walton female 29 0 0 24160 211,3375 B5 S 2 St Louis, MO
1 1 Allison, Master. Hudson Trevor male 0,9167 1 2 113781 151,5500 C22 C26 S 11 Montreal, PQ / Chesterville, ON
1 0 Allison, Miss. Helen Loraine female 2 1 2 113781 151,5500 C22 C26 S Montreal, PQ / Chesterville, ON
1 0 Allison, Mr. Hudson Joshua Creighton male 30 1 2 113781 151,5500 C22 C26 S 135 Montreal, PQ / Chesterville, ON
1 0 Allison, Mrs. Hudson J C (Bessie Waldo Daniels) female 25 1 2 113781 151,5500 C22 C26 S Montreal, PQ / Chesterville, ON
1 1 Anderson, Mr. Harry male 48 0 0 19952 26,5500 E12 S 3 New York, NY
1 1 Andrews, Miss. Kornelia Theodosia female 63 1 0 13502 77,9583 D7 S 10 Hudson, NY
1 0 Andrews, Mr. Thomas Jr male 39 0 0 112050 0,0000 A36 S Belfast, NI
1 1 Appleton, Mrs. Edward Dale (Charlotte Lamson) female 53 2 0 11769 51,4792 C101 S D Bayside, Queens, NY
1 0 Artagaveytia, Mr. Ramon male 71 0 0 PC 17609 49,5042 C 22 Montevideo, Uruguay
1 0 Astor, Col. John Jacob male 47 1 0 PC 17757 227,5250 C62 C64 C 124 New York, NY
1 1 Astor, Mrs. John Jacob (Madeleine Talmadge Force) female 18 1 0 PC 17757 227,5250 C62 C64 C 4 New York, NY
1 1 Aubart, Mme. Leontine Pauline female 24 0 0 PC 17477 69,3000 B35 C 9 Paris, France
1 1 Barber, Miss. Ellen "Nellie" female 26 0 0 19877 78,8500 S 6
1 1 Barkworth, Mr. Algernon Henry Wilson male 80 0 0 27042 30,0000 A23 S B Hessle, Yorks
1 0 Baumann, Mr. John D male 0 0 PC 17318 25,9250 S New York, NY
1 0 Baxter, Mr. Quigg Edmond male 24 0 1 PC 17558 247,5208 B58 B60 C Montreal, PQ
1 1 Baxter, Mrs. James (Helene DeLaudeniere Chaput) female 50 0 1 PC 17558 247,5208 B58 B60 C 6 Montreal, PQ
1 1 Bazzani, Miss. Albina female 32 0 0 11813 76,2917 D15 C 8
1 0 Beattie, Mr. Thomson male 36 0 0 13050 75,2417 C6 C A Winnipeg, MN
1 1 Beckwith, Mr. Richard Leonard male 37 1 1 11751 52,5542 D35 S 5 New York, NY
1 1 Beckwith, Mrs. Richard Leonard (Sallie Monypeny) female 47 1 1 11751 52,5542 D35 S 5 New York, NY
1 1 Behr, Mr. Karl Howell male 26 0 0 111369 30,0000 C148 C 5 New York, NY
1 1 Bidois, Miss. Rosalie female 42 0 0 PC 17757 227,5250 C 4
𝑥1 𝑥2, … , 𝑥13
𝑉𝑎𝑟𝑖𝑎𝑏𝑙𝑒𝑠 𝑖𝑛𝑑𝑒𝑝𝑒𝑛𝑑𝑖𝑒𝑛𝑡𝑒𝑠
𝑦
𝑉𝑎𝑟𝑖𝑎𝑏𝑙𝑒 𝑑𝑒𝑝𝑒𝑛𝑑𝑖𝑒𝑛𝑡𝑒
Datos de
entrenamiento
Datos de
test
7. 7
Introducción
• Conjunto de datos (data set) con
variables independientes
(features) y dependientes (labels)
• Tratará de encontrar relaciones y
arrojar predicciones que se
ajusten a la realidad
• Dos grandes categorías:
• Regresión: la variable
predicha es continua
• Clasificación: la variable
predicha es discreta
Supervised Learning vs Unsupervised Learning
𝑥 1
, 𝑦 1
, 𝑥 2
, 𝑦 2
, . . . , 𝑥 𝑚
, 𝑦 𝑚
• Conjunto de datos (data set) con
variables independientes
(features) exclusivamente
• No hay estructura en los datos de
entrada. Trata de encontrar
relaciones entre los datos
• Clustering
• Non-clustering
𝑥(1)
, 𝑥(2)
, . . . , 𝑥(𝑚)
10. 10
Regresión
• Dado un set de entrenamiento (training set) escoger un algoritmo de
aprendizaje para obtener una hipótesis que se ajuste lo máximo
posible al mismo
Regresión Lineal Simple
Set de
entrenamiento
Algoritmo de ML
h
Tamaño
de la casa
• Ejemplo:
Precio
Tamaño de la
casa (m²)
Precio
(k€)
75 200
90 280
125 420
142 450
163 470
180 490
… …
• Esquema:
𝑥
𝑦
𝑥 𝑦
11. 11
Regresión
• Ecuación que describe lo mejor posible el comportamiento del fenómeno
a modelizar
Hipótesis
ℎ 𝜃 𝑥 = 𝜃0 + 𝜃1 𝑥
Función de coste I
• También conocida como “Squared error function” o “Mean squared error”
• Función de parámetros 𝜃 que busca alterarlos para minimizarla
𝐽 𝜃0, 𝜃1 =
1
2𝑚
𝑖=1
𝑚
ො𝑦(𝑖)
− 𝑦(𝑖) 2
=
1
2𝑚
𝑖=1
𝑚
ℎ 𝑥(𝑖)
− 𝑦(𝑖) 2
13. 13
Regresión
• Dada una función de coste
determinada, el gradiente de
descenso avanzará en un punto
respecto su derivada parcial
hasta llegar a un mínimo local
• La longitud de cada paso viene
dada por el índice de aprendizaje
(learning rate)
Gradiente de descenso I
• La elección del
learning rate puede
acarrear problemas
16. 16
Regresión
• En la mayoría de casos se trabajará con datos que contengan
múltiples variables de interés
• Notación:
Regresión Lineal Multivariable
𝒎: 𝑁º 𝑑𝑒 𝑒𝑗𝑒𝑚𝑝𝑙𝑜𝑠 del set de datos
𝒏: 𝑁º 𝑑𝑒 𝑣𝑎𝑟𝑖𝑎𝑏𝑙𝑒𝑠 𝑖𝑛𝑑𝑒𝑝𝑒𝑛𝑑𝑖𝑒𝑛𝑡𝑒𝑠 𝑉𝐼 , 𝑥(𝑖)
𝒙(𝒊)
: 𝑇𝑜𝑑𝑜𝑠 𝑙𝑜𝑠 𝑣𝑎𝑙𝑜𝑟𝑒𝑠 𝑑𝑒 𝑙𝑎 𝑉𝐼 𝑝𝑎𝑟𝑎 𝑒𝑙 𝑒𝑗𝑒𝑚𝑝𝑙𝑜 𝑑𝑒 𝑒𝑛𝑡𝑟𝑒𝑛𝑎𝑚𝑖𝑒𝑛𝑡𝑜 𝑖
𝒙𝒋
(𝒊)
: 𝑉𝑎𝑙𝑜𝑟 𝑑𝑒 𝑙𝑎 𝑉𝐼 𝑗 𝑝𝑎𝑟𝑎 𝑒𝑙 𝑒𝑗𝑒𝑚𝑝𝑙𝑜 𝑑𝑒 𝑒𝑛𝑡𝑟𝑒𝑛𝑎𝑚𝑖𝑒𝑛𝑡𝑜 𝑖
• Hipótesis:
ℎ 𝜃 𝑥 = 𝜃0 𝑥0 + 𝜃1 𝑥1+ . . . + 𝜃 𝑛 𝑥 𝑛 ℎ 𝜃 𝑥 = 𝜃0 𝜃1 … 𝜃 𝑛
𝑥0
𝑥1
⋮
𝑥0
= 𝜃 𝑇
𝑥
Implementación
vectorial
17. 17
Regresión
• El modelo que se pretende conseguir puede no seguir una línea
recta: su morfología puede ser cuadrática, cúbica, etc.
Regresión Lineal Polinómica
• Hipótesis:
ℎ 𝜃 𝑥 = 𝜃0 + 𝜃1 𝑥 + 𝜃2 𝑥2
+. . . + 𝜃 𝑛 𝑥 𝑛
19. 19
Regresión
• A medida que se añaden variables, es posible que sus escalas sean
distintas, y comparar sus parámetros 𝜃 puede llevar a error
• Ejemplo: El tamaño de una casa será mayor al nº de habitaciones; el
parámetro asociado al tamaño será más pequeño pero no menos
importante
• Solución: Algoritmos como Mean normalization:
Feature Scaling (Estandarización de variables)
𝑥1 →
𝑥1 − 𝜇1
𝑠1
𝜇1: Valor medio de 𝑥1 en los datos de entrenamiento
𝑠1: Rango (max – min) de 𝑥1
20. 20
Regresión
Ejemplo: Regresión Polinómica con SciKit Learn
Objetivo: Entrenar el modelo y evaluarlo con datos distintos
Se consigue que las variables se muevan en el mismo rango y
que los pesos asignados sean equivalentes
Ajuste de un modelo de Regresión Lineal
Ajuste de un modelo de Regresión Polinómica, indicando el
grado al que expandir la variable
21. 21
Regresión
• Simple Linear Regression
• Multiple Linear Regression
• Polynomial Regression
• Support Vector Regression (SVR)
• Decision Tree Regression
• Random Forest Regression
• …
Algoritmos de regresión
31. 31
Overfitting
• La sobregeneralización (Underfitting) se da cuando un modelo es
demasiado simple y ni tan solo se ajusta a los datos de entrenamiento
• El sobreajuste (Overfitting) aparece cuando un modelo es muy complejo y
se ajusta demasiado bien a los ejemplos de entrenamiento pero mal a los
de test (no generaliza)
El problema del sobreajuste
“Underfitting”, “High Bias” OK “Overfitting”, “High variance”
34. 34
Overfitting
• En determinados casos es posible que se cuente con demasiadas variables
independientes que aumentan la complejidad del problema
• PCA es una técnica que reduce el nº de variables de interés manteniendo
al máximo posible el valor que aportan al modelo
• Reducción de 2 variables de interés a una:
Solución II: Principal Component Analysis (PCA)
𝑥2
𝑥1
𝑧1
𝑧1
𝑥(𝑖)
∈ ℝ2
→ 𝑧 𝑖
∈ ℝ
35. 35
Overfitting
• Reducción de 3 variables de interés a dos:
Solución II: Principal Component Analysis (PCA)
𝑥(𝑖) ∈ ℝ3 → 𝑧 𝑖 ∈ ℝ2
• Ventajas
Reducción del coste computacional
Reducción de la complejidad del problema
Ayuda a la representación visual (imposibilidad de representar
gráficamente más de tres variables de interés)
37. 37
Artificial Neural Networks
• Ampliamente usado durante los 80-90.
Fuerte resurgir en la actualidad
• Gran herramienta para tratar modelos
con un gran número de entradas
• Basado en la imitación de la estructura
neuronal humana
Introducción
• Unidad logística
𝑏𝑖𝑎𝑠 𝑢𝑛𝑖𝑡
𝑥0
𝑥1
𝑥2
𝑥3
𝑐𝑢𝑒𝑟𝑝𝑜 𝑛𝑒𝑢𝑟𝑜𝑛𝑎𝑙
ℎ 𝜃 𝑥 =
1
1 + 𝑒−𝜃 𝑇 𝑥
𝐹𝑢𝑛𝑐𝑖ó𝑛 𝑑𝑒 𝑎𝑐𝑡𝑖𝑣𝑎𝑐𝑖ó𝑛 𝑙𝑜𝑔í𝑠𝑡𝑖𝑐𝑎 𝑠𝑖𝑔𝑚𝑜𝑖𝑑𝑒𝑎 𝑔 𝑧 =
1
1 + 𝑒−𝑧
𝑥 =
𝑥0
𝑥1
𝑥2
𝑥3
𝜃 =
𝜃0
𝜃1
𝜃2
𝜃3
𝑉𝑎𝑟𝑖𝑎𝑏𝑙𝑒𝑠 𝑖𝑛𝑑𝑒𝑝𝑒𝑛𝑑𝑖𝑒𝑛𝑡𝑒𝑠 𝑃𝑒𝑠𝑜𝑠 𝑜 𝑝𝑎𝑟á𝑚𝑒𝑡𝑟𝑜𝑠
38. 38
Artificial Neural Networks
Red neuronal
ℎΘ 𝑥 = 𝑎1
(3)
= 𝑔 Θ10
(2)
𝑎0
(2)
+ Θ11
(2)
𝑎1
(2)
+ Θ12
(2)
𝑎2
(2)
+ Θ13
(2)
𝑎3
(2)
𝒂𝒊
(𝒋)
: Función de activación de la neurona
i de la capa j
𝜣(𝒋)
: Matriz de peso que controla la
función de mapeo desde la capa j hasta
la j+1
ℎΘ 𝑥
𝑥1
𝑥2
𝑥3
𝑎1
(2)
𝑎2
(2)
𝑎3
(2)
• Funciones de activación: Forward Propagation
Capa entrada Capa salidaCapa oculta
Θ(1)
Θ(2)
Si una conexión entre capas tiene 𝑠𝑗
nodos en su capa j y 𝑠𝑗+1 en su capa 𝑗 + 1
la dimensión de Θ(𝑗)
será 𝑠𝑗+1 × 𝑠𝑗 + 1 ,
en este caso Θ(1)
𝜖ℝ3×4
𝑎1
(2)
= 𝑔 Θ10
(1)
𝑥0 + Θ11
(1)
𝑥1 + Θ12
(1)
𝑥2 + Θ13
(1)
𝑥3
𝑎2
(2)
= 𝑔 Θ20
(1)
𝑥0 + Θ21
(1)
𝑥1 + Θ22
(1)
𝑥2 + Θ23
(1)
𝑥3
𝑎3
(2)
= 𝑔 Θ30
(1)
𝑥0 + Θ31
(1)
𝑥1 + Θ32
(1)
𝑥2 + Θ33
(1)
𝑥3
39. 39
Artificial Neural Networks
Red neuronal de clasificación multiclase
• Anteriormente se ha analizado el caso de una
red neuronal con un último nodo de salida
• Es posible encontrar redes neuronales con una
salida de clasificación múltiple
• Ejemplo: dadas unas variables de entrada,
devuelve una salida como la siguiente:
𝑦 𝜖 ℝ 𝑘=4 → 𝑦 =
1
0
0
0
,
0
1
0
0
,
0
0
1
0
,
0
0
0
1
Peatón Coche Moto Camión
Unidades de salida
43. 43
Artificial Neural Networks
Resumen
• Inicialización aleatoria de los pesos a números pequeños próximos a 0
• Introducir una observación del dataset en la capa de entrada, cada variable en un
nodo o neurona
• Forward propagation: De izquierda a derecha, las neuronas se activan de forma que
el impacto de cada activación para cada neurona viene dada por los pesos.
Propagar las activaciones hasta obtener una predicción 𝑦
• Comparar el resultado de la predicción con el resultado verdadero. Cuantificar el
error generado
• Back-propagation: De derecha a izquierda, el error se propaga hacia atrás. Los pesos
se actualizan en función de cuánta responsabilidad han tenido sus respectivas
neuronas en el error. El ratio de aprendizaje dictamina cuánto se actualizan los
pesos
• Repetir los pasos anteriores y actualizar los pesos en cada observación
(Reinforcement Learning) o tras cada lote de observaciones (Batch Learning)
• El paso de todo el set de entrenamiento por la red neuronal da como resultado una
época (epoch). Rehacer más épocas
45. 45
Aplicación de Machine Learning
Evaluando una Hipótesis
• Primeros pasos a considerar para eliminar errores:
• Obtener más ejemplos de entrenamiento
• Usar un conjunto de variables independientes más pequeño
• Probar con variables independientes adicionales
• Añadir variables polinómicas
• Aumentar o disminuir el parámetro de regularización 𝜆
• Puede que una hipótesis funcione bien para el set de entrenamiento pero no en
otros casos. Solución: Dividir los datos en Training set y en Test Set
• Test Error:
• Regresión Lineal:
• Regresión Logística:
𝐽𝑡𝑒𝑠𝑡 𝜃 =
1
2𝑚 𝑡𝑒𝑠𝑡
𝑖=1
𝑚 𝑡𝑒𝑠𝑡
ℎ 𝜃 𝑥𝑡𝑒𝑠𝑡
𝑖
− 𝑦𝑡𝑒𝑠𝑡
𝑖
2
𝑇𝑒𝑠𝑡 𝐸𝑟𝑟𝑜𝑟 =
1
𝑚 𝑡𝑒𝑠𝑡
𝑖=1
𝑚 𝑡𝑒𝑠𝑡
𝑒𝑟𝑟 ℎ 𝜃 𝑥𝑡𝑒𝑠𝑡
𝑖
, 𝑦𝑡𝑒𝑠𝑡
𝑖
𝑒𝑟𝑟 ℎ 𝜃 𝑥𝑡𝑒𝑠𝑡
𝑖
, 𝑦𝑡𝑒𝑠𝑡
𝑖
= ቐ
1
𝑠𝑖 ℎ 𝜃 𝑥 ≥ 0,5 ; 𝑦 = 0
𝑜 𝑠𝑖 ℎ 𝜃 𝑥 < 0,5 ; 𝑦 = 1
0 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜
46. 46
Aplicación de Machine Learning
Selección de Modelo y Train/Cross/Test sets
• Que un modelo se ajuste a un set de entrenamiento no implica que se comporte
bien. Puede que se haya sobreajustado y falle a la hora de generalizar nuevos datos
• Dado un modelo polinómico de un grado determinado, se puede dividir el conjunto
de datos como sigue:
• Set de entrenamiento: 60 %
• Set de validación cruzada: 20 %
• Set de test: 20 %
• De este modo se pueden calcular tres errores de la siguiente manera:
• Optimizar los parámetros Θ en el set de entrenamiento para cada grado del polinomio
• Hallar el grado para el cual se obtiene el menor error para el set de validación cruzada
• Estimar un error generalizado usando el set de test con 𝐽𝑡𝑒𝑠𝑡 Θ(𝑑)
siendo 𝑑 el vector theta de parámetros con el mínimo error
48. 48
Aplicación de Machine Learning
Diagnosticar Sesgo vs Varianza (Bias vs Variance)
• Tanto el sesgo como la varianza provocarán que el modelo se comporte
erróneamente
• Un sesgo alto indica una sobregeneralización del modelo
• Una alta varianza denota un sobreajuste del modelo
• El error de entrenamiento de un modelo disminuirá a medida que aumenta su
grado polinómico hasta llegar a un determinado punto en el que comienza a crecer
• Alto sesgo (underfitting): Tanto 𝐽𝑡𝑟𝑎𝑖𝑛 Θ como 𝐽 𝐶𝑉 Θ serán altos. Además, 𝐽𝑡𝑟𝑎𝑖𝑛 Θ ≈ 𝐽 𝐶𝑉 Θ
• Alta varianza (overfitting): 𝐽𝑡𝑟𝑎𝑖𝑛 Θ será bajo y 𝐽 𝐶𝑉 Θ será mucho más alto que 𝐽𝑡𝑟𝑎𝑖𝑛 Θ
𝐶𝑜𝑠𝑡 𝐽(𝜃)
𝑑 (𝑔𝑟𝑎𝑑𝑜 𝑑𝑒𝑙 𝑝𝑜𝑙𝑖𝑛𝑜𝑚𝑖𝑜)
𝐽 𝐶𝑉 Θ
𝐽𝑡𝑟𝑎𝑖𝑛 Θ
𝑉𝑎𝑙𝑜𝑟 ó𝑝𝑡𝑖𝑚𝑜 𝑑𝑒 𝑑
49. 49
Aplicación de Machine Learning
Regularización y Sesgo/Varianza (Bias/Variance)
• Pasos para escoger un valor 𝜆 apropiado:
• Crear una lista de lambdas
• Crear un conjunto de modelos con diferentes grados u otras variantes
• Iterar sobre las lambdas y aprender los parámetros Θ para cada una
• Calcular 𝐽 𝐶𝑉 Θ sin regularización (𝜆 = 0)
• Seleccionar la combinación que resulta en un menor error en el set de validación cruzada
• Usando la mejor combinación y 𝜆, aplicarlo en 𝐽𝑡𝑒𝑠𝑡 Θ para ver si generalizará bien el problema
“Underfitting”, “High Bias” OK “Overfitting”, “High variance”
𝜆 𝑔𝑟𝑎𝑛𝑑𝑒 𝜆 𝑖𝑛𝑡𝑒𝑟𝑚𝑒𝑑𝑖𝑎 𝜆 𝑝𝑒𝑞𝑢𝑒ñ𝑎
𝐽 𝜃 =
1
2𝑚
𝑖=1
𝑚
ℎ 𝜃 𝑥(𝑖)
− 𝑦(𝑖) 2
+
𝜆
2𝑚
𝑗=1
𝑛
𝜃𝑗
2
𝜃0 + 𝜃1 𝑥 + 𝜃2 𝑥2
+ 𝜃3 𝑥3
+ 𝜃4 𝑥4
𝜃0 + 𝜃1 𝑥 + 𝜃2 𝑥2
𝜃0 + 𝜃1 𝑥
50. 50
Aplicación de Machine Learning
Curvas de aprendizaje (Learning Curves)
• Comparan los errores de entrenamiento y de validación cruzada
• Alto sesgo (sobregeneralización)
𝐸𝑟𝑟𝑜𝑟
𝑇𝑎𝑚𝑎ñ𝑜 𝑑𝑒𝑙 𝑠𝑒𝑡 𝑑𝑒 𝑒𝑛𝑡𝑟𝑒𝑛𝑎𝑚𝑖𝑒𝑛𝑡𝑜
(𝑚)
• Alta varianza (sobreajuste)
𝐸𝑟𝑟𝑜𝑟
𝑚
𝐽 𝐶𝑉 Θ
𝐽 𝐶𝑉 Θ
𝐽𝑡𝑟𝑎𝑖𝑛 Θ
𝐽𝑡𝑟𝑎𝑖𝑛 Θ
𝑐𝑜𝑚𝑝𝑜𝑟𝑡𝑎𝑚𝑖𝑒𝑛𝑡𝑜 𝑑𝑒𝑠𝑒𝑎𝑑𝑜
𝑐𝑜𝑚𝑝𝑜𝑟𝑡𝑎𝑚𝑖𝑒𝑛𝑡𝑜 𝑑𝑒𝑠𝑒𝑎𝑑𝑜
Adquirir más datos de entrenamiento
no tiene por qué mejorar el modelo
Adquirir más datos de entrenamiento
puede ayudar a mejorar el modelo
51. 51
Aplicación de Machine Learning
Resumen
• Obtener más ejemplos de entrenamiento: Soluciona la varianza alta
• Usar un conjunto de variables más pequeño: Soluciona la varianza alta
• Añadir variables: Soluciona el sesgo alto
• Añadir variables polinómicas: Soluciona el sesgo alto
• Disminuir 𝝀 : Soluciona es sesgo alto
• Aumentar 𝝀 : Soluciona la varianza alta
• Diagnosticando redes neuronales
• Una red neuronal con pocos parámetros tenderá a la sobregeneralización
• Una red neuronal con muchos parámetros tenderá al sobreajuste. Se puede ajustar el parámetro 𝜆 para solucionarlo
• Efectos de la complejidad del modelo
• Los modelos de baja complejidad (polinomios de bajo orden) tendrán alto sesgo y baja varianza
• Los modelos de alta complejidad (polinomios de alto orden) tendrán alta varianza y bajo sesgo, esto es, se ajustarán muy bien a los datos de
entrenamiento y muy mal a los de test
• Seleccionar un modelo de complejidad media que se ajuste lo mejor posible a los datos
53. 53
Aplicación de Machine Learning
Caso práctico: Clasificación del cáncer
• Casos en los que el nº de ejemplos negativos es mucho mayor que el de ejemplos positivos
• Ejemplo:
• Modelo regresión logística ℎ 𝜃 𝑥 = ቊ
𝑦 = 1 𝑐á𝑛𝑐𝑒𝑟
𝑦 = 0 𝑛𝑜 𝑐á𝑛𝑐𝑒𝑟
• Se tiene un 1 % de error en el set de test (99 % de diagnósticos correctos)
• Sólo el 0,5 % de los pacientes tiene cáncer
Exactitud vs. Precisión (Accuracy vs. Precision)
54. 54
Aplicación de Machine Learning
Matriz de confusión: Precisión/Recuperación
(Precision/Recall)
• Método de evaluación para clases sesgadas
0 1
0
True
Negative
False
Positive
1
False
Negative
True
Positive
ActualClass
Predicted Class
• Precisión: De todos los pacientes a
los que hemos predicho 𝑦 = 1,
¿cuántos tienen realmente cáncer
𝑇𝑟𝑢𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒𝑠
# 𝑃𝑟𝑒𝑑𝑖𝑐𝑡𝑒𝑑 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒𝑠
=
𝑇𝑟𝑢𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒𝑠
𝑇𝑟𝑢𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒𝑠 + 𝐹𝑎𝑙𝑠𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒𝑠
• Recuperación: De todos los pacientes que realmente tienen cáncer, ¿cuántos hemos predicho
correctamente?
𝑇𝑟𝑢𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒𝑠
# 𝐴𝑐𝑡𝑢𝑎𝑙 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒𝑠
=
𝑇𝑟𝑢𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒𝑠
𝑇𝑟𝑢𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒𝑠 + 𝐹𝑎𝑙𝑠𝑒 𝑁𝑒𝑔𝑎𝑡𝑖𝑣𝑒𝑠
• Exactitud: Relación entre los casos
predichos correctamente y el total
𝑇𝑃 + 𝑇𝑁
𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁
55. 55
Aplicación de Machine Learning
F1 Score
• Se pretende predecir 𝑦 = 1 sólo si se tiene una gran certeza:
• Se pretende evitar que se escapen demasiados casos positivos
𝑆𝑒 𝑝𝑟𝑒𝑑𝑖𝑐𝑒 1 𝑠𝑖 ℎ 𝜃 𝑥 ≥ 0,7
𝑆𝑒 𝑝𝑟𝑒𝑑𝑖𝑐𝑒 0 𝑠𝑖 ℎ 𝜃 𝑥 < 0,7
𝑀𝑎𝑦𝑜𝑟 𝑝𝑟𝑒𝑐𝑖𝑠𝑖ó𝑛
𝑀𝑒𝑛𝑜𝑟 𝑟𝑒𝑐𝑢𝑝𝑒𝑟𝑎𝑐𝑖ó𝑛
𝑆𝑒 𝑝𝑟𝑒𝑑𝑖𝑐𝑒 1 𝑠𝑖 ℎ 𝜃 𝑥 ≥ 0,3
𝑆𝑒 𝑝𝑟𝑒𝑑𝑖𝑐𝑒 0 𝑠𝑖 ℎ 𝜃 𝑥 < 0,3
𝑀𝑒𝑛𝑜𝑟 𝑝𝑟𝑒𝑐𝑖𝑠𝑖ó𝑛
𝑀𝑎𝑦𝑜𝑟 𝑟𝑒𝑐𝑢𝑝𝑒𝑟𝑎𝑐𝑖ó𝑛
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 =
𝑇𝑟𝑢𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒𝑠
𝑛º 𝑜𝑓 𝑃𝑟𝑒𝑑𝑖𝑐𝑡𝑒𝑑 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒𝑠
𝑅𝑒𝑐𝑎𝑙𝑙 =
𝑇𝑟𝑢𝑒 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒𝑠
𝑛º 𝑜𝑓 𝐴𝑐𝑡𝑢𝑎𝑙 𝑃𝑜𝑠𝑖𝑡𝑖𝑣𝑒𝑠
Compensación entre Precisión y Recuperación
Precision (P) Recall (R) Mean 𝑭 𝟏 Score
Algoritmo 1 0,5 0,4 0,45 0,444
Algoritmo 2 0,7 0,1 0,4 0,175
Algoritmo 3 0,02 1,0 0,51 0,0392
𝑀𝑒𝑑𝑖𝑎 =
𝑃 + 𝑅
2
𝐹1 𝑆𝑐𝑜𝑟𝑒 = 2
𝑃𝑅
𝑃 + 𝑅
57. 57
Unsupervised Learning
Introducción
• Técnica usada en problemas de ML no supervisado
• No hay variables independientes para los ejemplos de entrenamiento:
𝑥(1)
, 𝑥(2)
, 𝑥(3)
, . . . , 𝑥(𝑚)
• Al no tener valores asignados, se pretende que el sistema reconozca ciertos
patrones en los que agrupar los datos
• Posibles aplicaciones:
• Segmentación de mercado
• Análisis de redes sociales
• Organizar clusters de ordenadores
• Análisis de datos astronómicos
• …
59. 59
Unsupervised Learning
Algoritmo K-Means
• Asignación de los puntos del
conjunto de datos a uno de los
clusters según su proximidad al
centroide más cercano (distancia
euclídea)
62. 62
Unsupervised Learning
Objetivo de optimización
• Se define:
• 𝑐(𝑖)
= Índice del cluster (1, 2, … , 𝐾) al que el ejemplo 𝑥(𝑖)
está signado actualmente
• 𝜇 𝑘 = Centroide del clúster 𝑘 𝜇 𝑘 𝜖 ℝ 𝑛
• 𝜇 𝑐(𝑖) = Centroide del cluster para el que el ejemplo 𝑥(𝑖)
ha sido asignado
• Ejemplo: 𝑥(𝑖)
→ 5 ; 𝑐(𝑖)
= 5 ; 𝜇 𝑐(𝑖) = 𝜇5
𝐽 𝑐 1
, … , 𝑐 𝑚
, 𝜇1, … , 𝜇 𝑘 =
1
𝑚
𝑖=1
𝑚
𝑥(𝑖)
− 𝜇 𝑐(𝑖)
2
• Función de coste o Algoritmo de distorsión de k-Means:
• Algoritmo k-Means:
• Inicialización aleatoria de K centroides de cluster 𝜇 𝑘, 𝜇 𝑘, … , 𝜇 𝑘 𝜖 ℝ 𝑛
• 𝑅𝑒𝑝𝑒𝑡𝑖𝑟 {
for i=1 to m
𝑐 𝑖
≔ índice (de 1 a K) del centroide de cluster más cercano a 𝑥(𝑖)
for i=1 to m
𝜇 𝑘 ≔ media de los puntos asignados al custer k
}
Paso de asignación de cluster
Minimizar 𝐽 … respecto a 𝑐(1), 𝑐(2), … , 𝑐 𝑚
manteniendo 𝜇1, … , 𝜇 𝑘 𝜖 ℝ 𝑛
Paso de movimiento del centroide
Minimizar 𝐽 … respecto 𝜇1, … , 𝜇 𝑘 𝜖 ℝ 𝑛
63. 63
Unsupervised Learning
Elección del Número de Clusters 𝑲
• No existe un método canónico, suele hacerse manualmente
• Método del codo:
• Graficar la evolución de la función de coste en función del nº de clusters
• De aparecer un punto en el que la tendencia cambie bruscamente (codo), elegirlo
• Es posible que dicho punto no exista debido al descenso de la función de coste
• Función de coste:
1 2 3 4 5 6 7 8 9
FUNCIÓNDECOSTEJ
K (Nº DE CLUSTERS)
1 2 3 4 5 6 7 8 9
FUNCIÓNDECOSTEJ
K (Nº DE CLUSTERS)
codo
64. 64
Unsupervised Learning
Ejemplo práctico
• De los datos de un comercio se
obtiene la siguiente distribución
de ventas de camisetas según
peso y altura
• Escogiendo a mano un nº de
clusters se observa cómo es
posible segmentar este producto
en 3 grupos diferenciados y, con
esta información, tomar
diferentes decisiones de negocio
𝑃𝑒𝑠𝑜
𝐴𝑙𝑡𝑢𝑟𝑎
68. 68
Dónde aprender más
MOOC’s recomendados
• Aprendizaje Automático – Andrew Ng
• Machine Learning for Undergraduates – Nando da Freitas
• Machine Learning – Tom Mitchell, CMU
• Learning from Data – Yaser-Abu Mostafa
• Machine Learning A-Z - Kirill Eremenko y Hadelin de Ponteves