SlideShare uma empresa Scribd logo
1 de 69
Baixar para ler offline
Machine Learning
Introducción al Aprendizaje Automático
Javier Esteve Meliá
2
Índice
• Introducción
• Regresión
• Clasificación
• Overfitting
• Deep Learning
• Aplicación de Machine Learning
• Unsupervised Learning
• Consideraciones finales
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
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
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
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
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)
, . . . , 𝑥(𝑚)
8
Introducción
Flujo de trabajo
Adquisición de
datos
Preprocesado
Extracción de
variables
Algoritmo ML
Obtención del
modelo
Evaluación de
resultados
9
Regresión
Regresión Lineal Simple
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
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
12
Regresión
• Gráfica:
𝜃0 = 0 → ℎ 𝜃 𝑥 = 𝜃1 𝑥
Función de coste II
• Simplificación:
𝐽(𝜃1)
𝜃1
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
14
Regresión
• Algoritmo:
Gradiente de descenso II
𝜕
𝜕𝜃𝑗
𝐽 𝜃0, 𝜃1 =
𝜕
𝜕𝜃𝑗
1
2𝑚
෍
𝑖=0
𝑚
ℎ 𝑥(𝑖)
− 𝑦(𝑖) 2
=
𝜕
𝜕𝜃𝑗
1
2𝑚
෍
𝑖=0
𝑚
𝜃0 + 𝜃0 𝑥(𝑖)
− 𝑦(𝑖) 2
𝑗 = 0 ≔
𝜕
𝜕𝜃𝑗
𝐽 𝜃0, 𝜃1 =
1
𝑚
෍
𝑖=0
𝑚
ℎ 𝑥(𝑖)
− 𝑦(𝑖)
𝑗 = 1 ≔
𝜕
𝜕𝜃𝑗
𝐽 𝜃0, 𝜃1 =
1
𝑚
෍
𝑖=0
𝑚
ℎ 𝑥 𝑖
− 𝑦 𝑖
𝑥(𝑖)
𝜃0
𝜃1
𝜃𝑗 ≔ 𝜃𝑗 − 𝛼
𝜕
𝜕𝜃𝑗
𝐽 𝜃0, 𝜃1
𝛼: Índice de aprendizaje (learning rate)
15
Regresión
Regresión Lineal
Multivariable
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
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
+. . . + 𝜃 𝑛 𝑥 𝑛
18
Regresión
• Error de mínimos cuadrados en función de
Función de coste
Gradiente de descenso
• Repetir:
𝐽 𝜃 =
1
2𝑚
෍
𝑖=0
𝑚
ℎ 𝑥(𝑖)
− 𝑦(𝑖) 2
𝜃𝑗 ≔ 𝜃𝑗 − 𝛼
𝜕
𝜕𝜃𝑗
𝐽 θ = 𝜃𝑗 − 𝛼
1
𝑚
෍
𝑖=1
𝑚
ℎ 𝑥 𝑖
− 𝑦 𝑖
𝑥𝑗
(𝑖)
Para 𝑗 ≔ 0 … 𝑛
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
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
Regresión
• Simple Linear Regression
• Multiple Linear Regression
• Polynomial Regression
• Support Vector Regression (SVR)
• Decision Tree Regression
• Random Forest Regression
• …
Algoritmos de regresión
22
Clasificación
Regresión Logística
23
Clasificación
• Dos grandes tipos:
• Clasificación binaria:
• Clasificación multiclase:
Introducción a la Regresión Logística
• La regresión lineal no arroja buenos resultados
𝑦 𝜖 [0, 1]
𝑦 𝜖 0, 1, 2, 3, …
¿ 𝑀𝑎𝑙𝑖𝑔𝑛𝑜?
𝑇𝑎𝑚𝑎ñ𝑜 𝑑𝑒𝑙 𝑡𝑢𝑚𝑜𝑟
𝑆í 1
𝑁𝑜 0
0,5
ℎ 𝜃 𝑥 = 𝜃0 + 𝜃1 𝑥
𝑆𝑖 ℎ 𝜃 𝑥 ≥ 0.5, 𝑝𝑟𝑒𝑑𝑒𝑐𝑖𝑟 𝑦 = 1
𝑆𝑖 ℎ 𝜃 𝑥 < 0.5, 𝑝𝑟𝑒𝑑𝑒𝑐𝑖𝑟 𝑦 = 0
• Nueva hipótesis
24
Clasificación
• Función sigmoidea o logística
Hipótesis
• Límites de decisión (Decision Boundary)
ℎ 𝜃 𝑥 = 𝑔 𝜃 𝑇 𝑥
𝑔 𝑧 =
1
1 + 𝑒−𝑧
ℎ 𝜃 𝑥 =
1
1 + 𝑒−𝜃 𝑇 𝑥
ℎ 𝜃 𝑥 = 𝑔(𝜃0 + 𝜃1 𝑥1 + 𝜃2 𝑥2) ℎ 𝜃 𝑥 = 𝑔(𝜃0 + 𝜃1 𝑥1 + 𝜃2 𝑥2 + 𝜃3 𝑥1
2
+ 𝜃4 𝑥2
2
)
𝑆𝑒 𝑝𝑟𝑒𝑑𝑖𝑐𝑒 𝑦 = 1 𝑠𝑖 − 3 + 𝑥1 + 𝑥2 ≥ 0 𝑆𝑒 𝑝𝑟𝑒𝑑𝑖𝑐𝑒 𝑦 = 1 𝑠𝑖 − 1 + 𝑥1
2
+ 𝑥2
2
≥ 0
ℎ 𝜃 𝑥 = 𝑔(𝜃0 + 𝜃1 𝑥1 + 𝜃2 𝑥2 + 𝜃3 𝑥1
2
+
+𝜃4 𝑥1
2
𝑥2 + 𝜃5 𝑥1
2
𝑥2
2
+ 𝜃6 𝑥1
3
𝑥2+ . . . )
𝑔 𝑧 ≥ 0.5 𝑐𝑢𝑎𝑛𝑑𝑜 𝑧 ≥ 0
ℎ 𝜃 𝑥 = 𝑔 𝜃 𝑇
𝑥 ≥ 0.5 𝑐𝑢𝑎𝑛𝑑𝑜 𝜃 𝑇
𝑥 ≥ 0
𝑔(𝑧)
𝑧
−3 1 1 −1 0 0 1 1
𝜃 𝑇
𝑥 𝜃 𝑇
𝑥
25
Clasificación
• Regresión Lineal
Función de coste
• Regresión Logística
𝐽 𝜃 =
1
𝑚
෍
𝑖=1
𝑚
1
2
ℎ 𝜃 𝑥(𝑖)
− 𝑦(𝑖) 2
=
1
𝑚
෍
𝑖=1
𝑚
𝐶𝑜𝑠𝑡 ℎ 𝜃 𝑥(𝑖)
, 𝑦(𝑖)
𝐶𝑜𝑠𝑡 ℎ 𝜃 𝑥 , 𝑦 = ൝
− log(ℎ 𝜃 𝑥 )
− log 1 − ℎ 𝜃 𝑥
𝑠𝑖 𝑦 = 1
𝑠𝑖 𝑦 = 0
1
1 + 𝑒−𝜃 𝑇 𝑥
𝑁𝑜 𝑐𝑜𝑛𝑣𝑒𝑟𝑔𝑒𝑛𝑡𝑒
𝐽 𝜃
𝐽 𝜃
ℎ 𝜃 𝑥
ℎ 𝜃 𝑥
• Versión simplificada
𝐽 𝜃 =
1
𝑚
෍
𝑖=1
𝑚
𝐶𝑜𝑠𝑡 ℎ 𝜃 𝑥(𝑖)
, 𝑦(𝑖)
= −
1
𝑚
෍
𝑖=1
𝑚
𝑦(𝑖)
log ℎ 𝜃 𝑥(𝑖)
+ 1 − 𝑦(𝑖)
log 1 − ℎ 𝜃 𝑥(𝑖)
26
Clasificación
• Minimizar 𝐽 𝜃
Gradiente de descenso
• Otros algoritmos de optimización
• Conjugate Gradient
• BFGS
• L-BFGS
• …
𝑅𝑒𝑝𝑒𝑡𝑖𝑟 {
𝜃𝑗 ≔ 𝜃𝑗 − 𝛼 ෍
𝑖=1
𝑚
ℎ 𝜃 𝑥(𝑖) − 𝑦(𝑖) 𝑥𝑗
(𝑖)
}
• Regresión Logística
ℎ 𝜃 𝑥 =
1
1 + 𝑒−𝜃 𝑇 𝑥
• Regresión Lineal
ℎ 𝜃 𝑥 = 𝜃 𝑇 𝑥
27
Clasificación
• Aplicaciones
• Etiquetado de e-mails
• Diagnósticos médicos
• Predicciones meteorológicas
• …
Clasificación Multivariable: One-vs-All
𝑥2
𝑥1
𝑥2
𝑥1
𝑥2
𝑥1𝑥2
𝑥1ℎ 𝜃
𝑖
𝑥 = 𝑃 𝑦 = 𝑖|𝑥; 𝜃 𝑖 = 1, 2, 3
28
Clasificación
Ejemplo: Regresión
Logística con SciKit Learn
Ajuste de un modelo de Regresión Logística
Evaluación de métricas con la matriz de confusión
29
Clasificación
• Logistic Regression
• Support Vector Machine (SVM)
• Naïve Bayes
• Decision Tree Classification
• Random Forest Classification
• …
Algoritmos de clasificación
30
Overfitting
Sobreajuste y
Sobregeneralización
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”
32
Overfitting
• Cuanto menores sean los parámetros, más simple el modelo y menor
probabilidad de sobreajuste
• Regularized Linear Regression
• Función de coste
Solución I: Regularización
𝐽 𝜃 =
1
2𝑚
෍
𝑖=1
𝑚
ℎ 𝜃 𝑥(𝑖)
− 𝑦(𝑖) 2
+ 𝜆 ෍
𝑗=1
𝑛
𝜃𝑗
2
• Gradiente de descenso
𝑅𝑒𝑝𝑒𝑡𝑖𝑟 {
𝜃0 ≔ 𝜃0 − 𝛼
1
𝑚
෍
𝑖=1
𝑚
ℎ 𝜃 𝑥(𝑖)
− 𝑦(𝑖)
𝑥0
(𝑖)
}
𝜃𝑗 ≔ 𝜃𝑗 − 𝛼
1
𝑚
෍
𝑖=1
𝑚
ℎ 𝜃 𝑥 𝑖
− 𝑦 𝑖
𝑥𝑗
𝑖
+
𝜆
𝑚
𝜃𝑗
𝜃𝑗 ≔ 𝜃𝑗 1 + 𝛼
𝜆
𝑚
− 𝛼
1
𝑚
෍
𝑖=1
𝑚
ℎ 𝜃 𝑥 𝑖
− 𝑦 𝑖
𝑥𝑗
𝑖
𝜆: Parámetro de regularización
33
Overfitting
• Regularized Logistic Regression
• Función de coste
𝑅𝑒𝑝𝑒𝑡𝑖𝑟 {
𝜃0 ≔ 𝜃0 − 𝛼
1
𝑚
෍
𝑖=1
𝑚
ℎ 𝜃 𝑥(𝑖)
− 𝑦(𝑖)
𝑥0
(𝑖)
}
𝜃𝑗 ≔ 𝜃𝑗 − 𝛼
1
𝑚
෍
𝑖=1
𝑚
ℎ 𝜃 𝑥 𝑖
− 𝑦 𝑖
𝑥𝑗
𝑖
+
𝜆
𝑚
𝜃𝑗
𝐽 𝜃 = −
1
𝑚
෍
𝑖=1
𝑚
𝑦 𝑖
log ℎ 𝜃 𝑥 𝑖
+ 1 − 𝑦 𝑖
log 1 − ℎ 𝜃 𝑥 𝑖
+
𝜆
2𝑚
෍
𝑗=1
𝑛
𝜃𝑗
2
𝜕
𝜕𝜃𝑗
𝐽 𝜃
ℎ 𝜃 𝑥 =
1
1 + 𝑒−𝜃 𝑇 𝑥
• Función de coste
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
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)
36
Deep Learning
Artificial Neural Networks (ANN)
Redes Neuronales
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
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
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
40
Artificial Neural Networks
Forward Propagation: Implementación vectorial
𝑎1
(2)
= 𝑔 𝑧1
(2)
𝑎2
(2)
= 𝑔 𝑧2
(2)
𝑎3
(2)
= 𝑔 𝑧3
(2)
• Las funciones de activación vistas anteriormente
conforman la forward propagation
• Implementación vectorial de la misma con el objetivo de
reducir la complejidad y elaborar redes neuronales más
completas
𝑧 𝑘
(2)
= 𝑔 Θ 𝑘,0
(1)
𝑥0 + Θ 𝑘,1
(1)
𝑥1+ . . . +Θ 𝑘,𝑛
(1)
𝑥 𝑛
𝑧(𝑗)
= Θ(𝑗−1)
𝑎(𝑗−1)
𝑥 =
𝑥0
𝑥1
𝑥2
𝑥3
𝑧(2) =
𝑧1
(2)
𝑧2
(2)
𝑧3
(2)
𝑧(2)
= Θ(1)
𝑥 = Θ(1)
𝑎(1)
𝑎(2)
= 𝑔 𝑧(2)
ℎΘ 𝑥
𝑥1
𝑥2
𝑥3
𝑎1
(2)
𝑎2
(2)
𝑎3
(2)
𝑎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
ℎΘ 𝑥 = 𝑎1
(3)
= 𝑔 Θ10
(2)
𝑎0
(2)
+ Θ11
(2)
𝑎1
(2)
+ Θ12
(2)
𝑎2
(2)
+ Θ13
(2)
𝑎3
(2)
𝑧(3)
= Θ(2)
𝑎(2)
ℎΘ 𝑥 = 𝑎(3)
= 𝑔 𝑧(3)
𝑧(𝑗+1)
= Θ(𝑗)
𝑎(𝑗)
ℎΘ 𝑥 = 𝑎(𝑗+1)
= 𝑔 𝑧(𝑗+1)
Añadir 𝑎0
(2)
= 1
41
Artificial Neural Networks
Función de coste
𝐿: Nº total de capas en la red neuronal
• Variables de uso
𝑠𝑙: Nº de unidades (sin contar la de oscilación) de una capa 𝑙
Conjunto de datos: 𝑥(1)
, 𝑦(1)
, 𝑥(2)
, 𝑦(2)
, . . . , 𝑥(𝑚)
, 𝑦(𝑚)
ℎΘ 𝑥
𝑥1
𝑥2
𝑥3
𝑎1
(2)
𝑎2
(2)
𝑎3
(2)
ℎΘ 𝑥 = 𝑎1
(3)
= 𝑔 Θ10
(2)
𝑎0
(2)
+ Θ11
(2)
𝑎1
(2)
+ Θ12
(2)
𝑎2
(2)
+ Θ13
(2)
𝑎3
(2)
𝐾: Nº de unidades/clases de salida
• Regresión Logística
𝐽 𝜃 = −
1
𝑚
෍
𝑖=1
𝑚
𝑦 𝑖
log ℎ 𝜃 𝑥 𝑖
+ 1 − 𝑦 𝑖
log 1 − ℎ 𝜃 𝑥 𝑖
+
𝜆
2𝑚
෍
𝑗=1
𝑛
𝜃𝑗
2
𝐽 Θ = −
1
𝑚
෍
𝑖=1
𝑚
෍
𝑘=1
𝐾
𝑦 𝑖
log ℎΘ 𝑥 𝑖
𝑘
+ 1 − 𝑦𝑘
(𝑖)
log 1 − ℎΘ 𝑥 𝑖
𝑘
+
𝜆
2𝑚
෍
𝑙=1
𝐿−1
෍
𝑖=1
𝑠 𝑙
෍
𝑗=1
𝑠 𝑙+1
Θ𝑗,𝑖
(𝑙) 2
• Generalización para Redes Neuronales
𝑎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
42
Artificial Neural Networks
Backpropagation
• Algoritmo usado para minimizar la función de costes
• Dada la función de coste 𝐽 𝜃 , se define:
• Se define 𝛿𝑗
(𝑙)
= error de coste para 𝑎𝑗
(𝑙)
(unidad 𝑗 en capa 𝑙)
• Formalmente, 𝛿𝑗
(𝑙)
=
𝜕
𝜕𝑧 𝑗
𝑙 𝑐𝑜𝑠𝑡(𝑖)
𝑐𝑜𝑠𝑡 𝑖 = 𝑦(𝑖) log ℎ 𝜃 𝑥(𝑖) + 1 − 𝑦(𝑖) log ℎ 𝜃 𝑥(𝑖)
+1
𝑧1
(2)
→ 𝑎1
(2)
𝛿1
(2)
𝑧2
(2)
→ 𝑎2
(2)
𝛿2
(2)𝑥2
𝑥1
+1 +1
𝑧1
(3)
→ 𝑎1
(3)
𝛿1
(3)
𝑧2
(3)
→ 𝑎2
(3)
𝛿2
(3)
𝑧1
(4)
→ 𝑎1
(4)
𝛿1
(4)
𝜽 𝟏𝟐
(𝟐)
𝜽 𝟐𝟐
(𝟐)
𝜽 𝟏𝟐
(𝟑)
𝛿1
(4)
= 𝑦(𝑖) − 𝑎1
(4)
𝛿2
(2)
= Θ12
(2)
𝛿1
(3)
+ Θ22
(2)
𝛿2
(3)
𝛿2
(3)
= Θ12
(3)
𝛿1
(4)
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
44
Aplicación de Machine Learning
Evaluando un Algoritmo
de Aprendizaje
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
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
47
Aplicación de Machine Learning
Sesgo vs. Varianza
(Bias vs. Variance)
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
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
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
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
52
Aplicación de Machine Learning
Manejando datos
sesgados
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
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
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
𝑃𝑅
𝑃 + 𝑅
56
Unsupervised Learning
Clustering
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
• …
58
Unsupervised Learning
Algoritmo K-Means
• Elección de 𝑘 centroides de
clúster al azar
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)
60
Unsupervised Learning
Algoritmo K-Means
• Desplazamiento de los centroides
a la zona de más peso de puntos
asignados a él
61
Unsupervised Learning
Algoritmo K-Means
• Repetir hasta que el centroide no
pueda cambiar de posición
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
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
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
𝑃𝑒𝑠𝑜
𝐴𝑙𝑡𝑢𝑟𝑎
65
Consideraciones finales
66
Panorama tecnológico
Lenguajes de programación
67
Panorama tecnológico
Frameworks y librerías
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
Introducción al Machine Learning

Mais conteúdo relacionado

Mais procurados

2. compuertas lógicas y álgebra booleana
2. compuertas lógicas y álgebra booleana2. compuertas lógicas y álgebra booleana
2. compuertas lógicas y álgebra booleanaJosse Sumari
 
mapa de karnaugh
mapa de karnaughmapa de karnaugh
mapa de karnaughDennyARiosR
 
Matlab Neural Network Toolbox MATLAB
Matlab Neural Network Toolbox MATLABMatlab Neural Network Toolbox MATLAB
Matlab Neural Network Toolbox MATLABESCOM
 
Algebra de boole y simplificacion logica
Algebra de boole y simplificacion logicaAlgebra de boole y simplificacion logica
Algebra de boole y simplificacion logicaEdgar Rivera
 
Latches y flip flops
Latches y flip flopsLatches y flip flops
Latches y flip flopsJimmy Osores
 
Multiplexores
MultiplexoresMultiplexores
MultiplexoresRopoga
 
Algebra booleana y circuitos combinatorios
Algebra booleana y circuitos combinatoriosAlgebra booleana y circuitos combinatorios
Algebra booleana y circuitos combinatoriosAndoni Vasquez
 
OpenERP data integration in an entreprise context: a war story
OpenERP data integration in an entreprise context: a war storyOpenERP data integration in an entreprise context: a war story
OpenERP data integration in an entreprise context: a war storyDaniel Reis
 
Sensores capacitivos
Sensores capacitivosSensores capacitivos
Sensores capacitivosDayli Baek Ho
 
Diseño Base Datos
Diseño Base DatosDiseño Base Datos
Diseño Base Datosjhonnyjpo
 
Complemento a 1 y a 2
Complemento a 1 y a 2Complemento a 1 y a 2
Complemento a 1 y a 2Jossue Jossue
 
RED NEURONAL ADALINE
RED NEURONAL ADALINERED NEURONAL ADALINE
RED NEURONAL ADALINEESCOM
 

Mais procurados (20)

áLgebra booleana
áLgebra booleanaáLgebra booleana
áLgebra booleana
 
2. compuertas lógicas y álgebra booleana
2. compuertas lógicas y álgebra booleana2. compuertas lógicas y álgebra booleana
2. compuertas lógicas y álgebra booleana
 
mapa de karnaugh
mapa de karnaughmapa de karnaugh
mapa de karnaugh
 
Algebra de boole_1
Algebra de boole_1Algebra de boole_1
Algebra de boole_1
 
LOGICA BINARIA
LOGICA BINARIALOGICA BINARIA
LOGICA BINARIA
 
Matlab Neural Network Toolbox MATLAB
Matlab Neural Network Toolbox MATLABMatlab Neural Network Toolbox MATLAB
Matlab Neural Network Toolbox MATLAB
 
Algebra de boole y simplificacion logica
Algebra de boole y simplificacion logicaAlgebra de boole y simplificacion logica
Algebra de boole y simplificacion logica
 
Latches y flip flops
Latches y flip flopsLatches y flip flops
Latches y flip flops
 
Algebra de Boole
Algebra de Boole  Algebra de Boole
Algebra de Boole
 
Sumador\Restador
Sumador\RestadorSumador\Restador
Sumador\Restador
 
Multiplexores
MultiplexoresMultiplexores
Multiplexores
 
Mapeo de memoria
Mapeo de memoriaMapeo de memoria
Mapeo de memoria
 
Algebra booleana y circuitos combinatorios
Algebra booleana y circuitos combinatoriosAlgebra booleana y circuitos combinatorios
Algebra booleana y circuitos combinatorios
 
OpenERP data integration in an entreprise context: a war story
OpenERP data integration in an entreprise context: a war storyOpenERP data integration in an entreprise context: a war story
OpenERP data integration in an entreprise context: a war story
 
Sensores capacitivos
Sensores capacitivosSensores capacitivos
Sensores capacitivos
 
Punteros
PunterosPunteros
Punteros
 
Diseño Base Datos
Diseño Base DatosDiseño Base Datos
Diseño Base Datos
 
Colas
ColasColas
Colas
 
Complemento a 1 y a 2
Complemento a 1 y a 2Complemento a 1 y a 2
Complemento a 1 y a 2
 
RED NEURONAL ADALINE
RED NEURONAL ADALINERED NEURONAL ADALINE
RED NEURONAL ADALINE
 

Semelhante a Introducción al Machine Learning

Análisis y modelación masiva de datos a través
Análisis y modelación masiva de datos a travésAnálisis y modelación masiva de datos a través
Análisis y modelación masiva de datos a travésJuan Pablo Bribiesca Espinosa
 
SEMANA 04- MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA 04- MEDIDAS DE TENDENCIA CENTRAL.pdfSEMANA 04- MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA 04- MEDIDAS DE TENDENCIA CENTRAL.pdfIvanBautistaQuispe
 
Curse of dimensionality by MC Ivan Alejando Garcia
Curse of dimensionality by MC Ivan Alejando GarciaCurse of dimensionality by MC Ivan Alejando Garcia
Curse of dimensionality by MC Ivan Alejando GarciaDataLab Community
 
Es un recipiente ovalado que en un extremo tiene una boca estrecha cerrada po...
Es un recipiente ovalado que en un extremo tiene una boca estrecha cerrada po...Es un recipiente ovalado que en un extremo tiene una boca estrecha cerrada po...
Es un recipiente ovalado que en un extremo tiene una boca estrecha cerrada po...evaristobrionesruiz
 
Simulación de Sistemas - Maestria Ingeniería
Simulación de Sistemas - Maestria IngenieríaSimulación de Sistemas - Maestria Ingeniería
Simulación de Sistemas - Maestria IngenieríaNovarMichellCastaeda
 
Estadistica descriptiva presentación (ito)
Estadistica descriptiva presentación (ito)Estadistica descriptiva presentación (ito)
Estadistica descriptiva presentación (ito)Benito Santiago
 
Estadistica descriptiva presentación (ito)
Estadistica descriptiva presentación (ito)Estadistica descriptiva presentación (ito)
Estadistica descriptiva presentación (ito)Benito Santiago
 
Estadistica descriptiva presentación (ito)
Estadistica descriptiva presentación (ito)Estadistica descriptiva presentación (ito)
Estadistica descriptiva presentación (ito)Benito Santiago
 
Clase13_SoluciónEcuacióndeEstado_Cntrolabilidad_Observabilidad_V202220 2.pptx
Clase13_SoluciónEcuacióndeEstado_Cntrolabilidad_Observabilidad_V202220 2.pptxClase13_SoluciónEcuacióndeEstado_Cntrolabilidad_Observabilidad_V202220 2.pptx
Clase13_SoluciónEcuacióndeEstado_Cntrolabilidad_Observabilidad_V202220 2.pptxJessicaBeltrn9
 
Medidas y cifras significativas
Medidas y cifras significativasMedidas y cifras significativas
Medidas y cifras significativasGladys Sánchez
 
Revista Futuro en el Presente.
Revista Futuro en el Presente.Revista Futuro en el Presente.
Revista Futuro en el Presente.AnasDazCortez
 
Estadística - (trabajo grupal).pptx
Estadística - (trabajo grupal).pptxEstadística - (trabajo grupal).pptx
Estadística - (trabajo grupal).pptxPabloVasquez77
 

Semelhante a Introducción al Machine Learning (20)

Introducción al Deep Learning
Introducción al Deep LearningIntroducción al Deep Learning
Introducción al Deep Learning
 
Análisis y modelación masiva de datos a través
Análisis y modelación masiva de datos a travésAnálisis y modelación masiva de datos a través
Análisis y modelación masiva de datos a través
 
mineria
mineriamineria
mineria
 
C1S1P1.pdf
C1S1P1.pdfC1S1P1.pdf
C1S1P1.pdf
 
Optimizacion 1
Optimizacion  1Optimizacion  1
Optimizacion 1
 
SEMANA 04- MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA 04- MEDIDAS DE TENDENCIA CENTRAL.pdfSEMANA 04- MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA 04- MEDIDAS DE TENDENCIA CENTRAL.pdf
 
Curse of dimensionality by MC Ivan Alejando Garcia
Curse of dimensionality by MC Ivan Alejando GarciaCurse of dimensionality by MC Ivan Alejando Garcia
Curse of dimensionality by MC Ivan Alejando Garcia
 
Es un recipiente ovalado que en un extremo tiene una boca estrecha cerrada po...
Es un recipiente ovalado que en un extremo tiene una boca estrecha cerrada po...Es un recipiente ovalado que en un extremo tiene una boca estrecha cerrada po...
Es un recipiente ovalado que en un extremo tiene una boca estrecha cerrada po...
 
Estadistica gral
Estadistica gralEstadistica gral
Estadistica gral
 
Simulación de Sistemas - Maestria Ingeniería
Simulación de Sistemas - Maestria IngenieríaSimulación de Sistemas - Maestria Ingeniería
Simulación de Sistemas - Maestria Ingeniería
 
Estadistica descriptiva presentación (ito)
Estadistica descriptiva presentación (ito)Estadistica descriptiva presentación (ito)
Estadistica descriptiva presentación (ito)
 
Estadistica descriptiva presentación (ito)
Estadistica descriptiva presentación (ito)Estadistica descriptiva presentación (ito)
Estadistica descriptiva presentación (ito)
 
Estadistica descriptiva presentación (ito)
Estadistica descriptiva presentación (ito)Estadistica descriptiva presentación (ito)
Estadistica descriptiva presentación (ito)
 
Clase13_SoluciónEcuacióndeEstado_Cntrolabilidad_Observabilidad_V202220 2.pptx
Clase13_SoluciónEcuacióndeEstado_Cntrolabilidad_Observabilidad_V202220 2.pptxClase13_SoluciónEcuacióndeEstado_Cntrolabilidad_Observabilidad_V202220 2.pptx
Clase13_SoluciónEcuacióndeEstado_Cntrolabilidad_Observabilidad_V202220 2.pptx
 
Ajuste de curvas regresion lineal y no lineal
Ajuste de curvas regresion lineal y no linealAjuste de curvas regresion lineal y no lineal
Ajuste de curvas regresion lineal y no lineal
 
Miop u1 ea
Miop u1 eaMiop u1 ea
Miop u1 ea
 
Medidas y cifras significativas
Medidas y cifras significativasMedidas y cifras significativas
Medidas y cifras significativas
 
Control de sistemas no lineales
Control de sistemas no linealesControl de sistemas no lineales
Control de sistemas no lineales
 
Revista Futuro en el Presente.
Revista Futuro en el Presente.Revista Futuro en el Presente.
Revista Futuro en el Presente.
 
Estadística - (trabajo grupal).pptx
Estadística - (trabajo grupal).pptxEstadística - (trabajo grupal).pptx
Estadística - (trabajo grupal).pptx
 

Último

El Maltrato Animal en Bolivia PowerPoint
El Maltrato Animal en Bolivia PowerPointEl Maltrato Animal en Bolivia PowerPoint
El Maltrato Animal en Bolivia PowerPointjose2rodriguez2000
 
Las Características Principales de las Redes.pptx
Las Características Principales de las Redes.pptxLas Características Principales de las Redes.pptx
Las Características Principales de las Redes.pptxecarvictoriajhan
 
REPORTE SOBRE INCIDENCIA DELICTIVA, SILAO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, SILAO, FEBRERO 2024REPORTE SOBRE INCIDENCIA DELICTIVA, SILAO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, SILAO, FEBRERO 2024OBSERVATORIOREGIONAL
 
Politicas publicas un balance necesario Bolivia
Politicas publicas un balance necesario BoliviaPoliticas publicas un balance necesario Bolivia
Politicas publicas un balance necesario BoliviaAlfredo Zaconeta
 
REPORTE SOBRE INCIDENCIA DELICTIVA, VALLE DE SANTIAGO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, VALLE DE SANTIAGO, FEBRERO 2024REPORTE SOBRE INCIDENCIA DELICTIVA, VALLE DE SANTIAGO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, VALLE DE SANTIAGO, FEBRERO 2024OBSERVATORIOREGIONAL
 
REPORTE SOBRE INCIDENCIA DELICTIVA, ROMITA, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, ROMITA, FEBRERO 2024REPORTE SOBRE INCIDENCIA DELICTIVA, ROMITA, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, ROMITA, FEBRERO 2024OBSERVATORIOREGIONAL
 
SISTEMAS REGISTRALES GUATEMALTECOS QUINTA.pptx
SISTEMAS REGISTRALES GUATEMALTECOS QUINTA.pptxSISTEMAS REGISTRALES GUATEMALTECOS QUINTA.pptx
SISTEMAS REGISTRALES GUATEMALTECOS QUINTA.pptxryo516
 
Metodología del trabajo universitario pt 1
Metodología del trabajo universitario pt 1Metodología del trabajo universitario pt 1
Metodología del trabajo universitario pt 1gostingsoto
 
REPORTE SOBRE INCIDENCIA DELICTIVA, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, FEBRERO 2024REPORTE SOBRE INCIDENCIA DELICTIVA, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, FEBRERO 2024OBSERVATORIOREGIONAL
 
ANÁLISIS DE LA ÉTICA UTILIRALISTA DE JEREMY BENTHAM.pdf
ANÁLISIS DE LA ÉTICA UTILIRALISTA DE JEREMY BENTHAM.pdfANÁLISIS DE LA ÉTICA UTILIRALISTA DE JEREMY BENTHAM.pdf
ANÁLISIS DE LA ÉTICA UTILIRALISTA DE JEREMY BENTHAM.pdfDaniloAstoVeliz
 
TECNOLOGIA Salaverry descripción del sector .pdf
TECNOLOGIA Salaverry  descripción del sector  .pdfTECNOLOGIA Salaverry  descripción del sector  .pdf
TECNOLOGIA Salaverry descripción del sector .pdfleonardomendocilla23
 
REPORTE SOBRE INCIDENCIA DELICTIVA, PÉNJAMO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, PÉNJAMO, FEBRERO 2024REPORTE SOBRE INCIDENCIA DELICTIVA, PÉNJAMO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, PÉNJAMO, FEBRERO 2024OBSERVATORIOREGIONAL
 
TALLER DE PLAN DE SOPORTE SOCIOEMOCIONAL.pptx
TALLER DE PLAN DE SOPORTE SOCIOEMOCIONAL.pptxTALLER DE PLAN DE SOPORTE SOCIOEMOCIONAL.pptx
TALLER DE PLAN DE SOPORTE SOCIOEMOCIONAL.pptxDiegoRuizRios
 
taller de ujieres de la iglesia local pptx
taller de ujieres de la iglesia local pptxtaller de ujieres de la iglesia local pptx
taller de ujieres de la iglesia local pptxSandraEspaa8
 
accidentes de tránsito 1ER BIMESTRE 2023-FINAL.pdf
accidentes de tránsito 1ER BIMESTRE 2023-FINAL.pdfaccidentes de tránsito 1ER BIMESTRE 2023-FINAL.pdf
accidentes de tránsito 1ER BIMESTRE 2023-FINAL.pdfIrapuatoCmovamos
 
CATASTRO -tipos,importancia,ley 28294 entre otros
CATASTRO -tipos,importancia,ley 28294 entre otrosCATASTRO -tipos,importancia,ley 28294 entre otros
CATASTRO -tipos,importancia,ley 28294 entre otrosAlimarVargas
 
Competencia el ingrediente para crecer.pdf
Competencia el ingrediente para crecer.pdfCompetencia el ingrediente para crecer.pdf
Competencia el ingrediente para crecer.pdfAlfredo Zaconeta
 
REPORTE SOBRE INCIDENCIA DELICTIVA, JARAL DEL PROGRESO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, JARAL DEL PROGRESO, FEBRERO 2024REPORTE SOBRE INCIDENCIA DELICTIVA, JARAL DEL PROGRESO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, JARAL DEL PROGRESO, FEBRERO 2024OBSERVATORIOREGIONAL
 

Último (18)

El Maltrato Animal en Bolivia PowerPoint
El Maltrato Animal en Bolivia PowerPointEl Maltrato Animal en Bolivia PowerPoint
El Maltrato Animal en Bolivia PowerPoint
 
Las Características Principales de las Redes.pptx
Las Características Principales de las Redes.pptxLas Características Principales de las Redes.pptx
Las Características Principales de las Redes.pptx
 
REPORTE SOBRE INCIDENCIA DELICTIVA, SILAO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, SILAO, FEBRERO 2024REPORTE SOBRE INCIDENCIA DELICTIVA, SILAO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, SILAO, FEBRERO 2024
 
Politicas publicas un balance necesario Bolivia
Politicas publicas un balance necesario BoliviaPoliticas publicas un balance necesario Bolivia
Politicas publicas un balance necesario Bolivia
 
REPORTE SOBRE INCIDENCIA DELICTIVA, VALLE DE SANTIAGO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, VALLE DE SANTIAGO, FEBRERO 2024REPORTE SOBRE INCIDENCIA DELICTIVA, VALLE DE SANTIAGO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, VALLE DE SANTIAGO, FEBRERO 2024
 
REPORTE SOBRE INCIDENCIA DELICTIVA, ROMITA, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, ROMITA, FEBRERO 2024REPORTE SOBRE INCIDENCIA DELICTIVA, ROMITA, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, ROMITA, FEBRERO 2024
 
SISTEMAS REGISTRALES GUATEMALTECOS QUINTA.pptx
SISTEMAS REGISTRALES GUATEMALTECOS QUINTA.pptxSISTEMAS REGISTRALES GUATEMALTECOS QUINTA.pptx
SISTEMAS REGISTRALES GUATEMALTECOS QUINTA.pptx
 
Metodología del trabajo universitario pt 1
Metodología del trabajo universitario pt 1Metodología del trabajo universitario pt 1
Metodología del trabajo universitario pt 1
 
REPORTE SOBRE INCIDENCIA DELICTIVA, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, FEBRERO 2024REPORTE SOBRE INCIDENCIA DELICTIVA, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, FEBRERO 2024
 
ANÁLISIS DE LA ÉTICA UTILIRALISTA DE JEREMY BENTHAM.pdf
ANÁLISIS DE LA ÉTICA UTILIRALISTA DE JEREMY BENTHAM.pdfANÁLISIS DE LA ÉTICA UTILIRALISTA DE JEREMY BENTHAM.pdf
ANÁLISIS DE LA ÉTICA UTILIRALISTA DE JEREMY BENTHAM.pdf
 
TECNOLOGIA Salaverry descripción del sector .pdf
TECNOLOGIA Salaverry  descripción del sector  .pdfTECNOLOGIA Salaverry  descripción del sector  .pdf
TECNOLOGIA Salaverry descripción del sector .pdf
 
REPORTE SOBRE INCIDENCIA DELICTIVA, PÉNJAMO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, PÉNJAMO, FEBRERO 2024REPORTE SOBRE INCIDENCIA DELICTIVA, PÉNJAMO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, PÉNJAMO, FEBRERO 2024
 
TALLER DE PLAN DE SOPORTE SOCIOEMOCIONAL.pptx
TALLER DE PLAN DE SOPORTE SOCIOEMOCIONAL.pptxTALLER DE PLAN DE SOPORTE SOCIOEMOCIONAL.pptx
TALLER DE PLAN DE SOPORTE SOCIOEMOCIONAL.pptx
 
taller de ujieres de la iglesia local pptx
taller de ujieres de la iglesia local pptxtaller de ujieres de la iglesia local pptx
taller de ujieres de la iglesia local pptx
 
accidentes de tránsito 1ER BIMESTRE 2023-FINAL.pdf
accidentes de tránsito 1ER BIMESTRE 2023-FINAL.pdfaccidentes de tránsito 1ER BIMESTRE 2023-FINAL.pdf
accidentes de tránsito 1ER BIMESTRE 2023-FINAL.pdf
 
CATASTRO -tipos,importancia,ley 28294 entre otros
CATASTRO -tipos,importancia,ley 28294 entre otrosCATASTRO -tipos,importancia,ley 28294 entre otros
CATASTRO -tipos,importancia,ley 28294 entre otros
 
Competencia el ingrediente para crecer.pdf
Competencia el ingrediente para crecer.pdfCompetencia el ingrediente para crecer.pdf
Competencia el ingrediente para crecer.pdf
 
REPORTE SOBRE INCIDENCIA DELICTIVA, JARAL DEL PROGRESO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, JARAL DEL PROGRESO, FEBRERO 2024REPORTE SOBRE INCIDENCIA DELICTIVA, JARAL DEL PROGRESO, FEBRERO 2024
REPORTE SOBRE INCIDENCIA DELICTIVA, JARAL DEL PROGRESO, FEBRERO 2024
 

Introducción al Machine Learning

  • 1. Machine Learning Introducción al Aprendizaje Automático Javier Esteve Meliá
  • 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) , . . . , 𝑥(𝑚)
  • 8. 8 Introducción Flujo de trabajo Adquisición de datos Preprocesado Extracción de variables Algoritmo ML Obtención del modelo Evaluación de resultados
  • 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
  • 12. 12 Regresión • Gráfica: 𝜃0 = 0 → ℎ 𝜃 𝑥 = 𝜃1 𝑥 Función de coste II • Simplificación: 𝐽(𝜃1) 𝜃1
  • 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
  • 14. 14 Regresión • Algoritmo: Gradiente de descenso II 𝜕 𝜕𝜃𝑗 𝐽 𝜃0, 𝜃1 = 𝜕 𝜕𝜃𝑗 1 2𝑚 ෍ 𝑖=0 𝑚 ℎ 𝑥(𝑖) − 𝑦(𝑖) 2 = 𝜕 𝜕𝜃𝑗 1 2𝑚 ෍ 𝑖=0 𝑚 𝜃0 + 𝜃0 𝑥(𝑖) − 𝑦(𝑖) 2 𝑗 = 0 ≔ 𝜕 𝜕𝜃𝑗 𝐽 𝜃0, 𝜃1 = 1 𝑚 ෍ 𝑖=0 𝑚 ℎ 𝑥(𝑖) − 𝑦(𝑖) 𝑗 = 1 ≔ 𝜕 𝜕𝜃𝑗 𝐽 𝜃0, 𝜃1 = 1 𝑚 ෍ 𝑖=0 𝑚 ℎ 𝑥 𝑖 − 𝑦 𝑖 𝑥(𝑖) 𝜃0 𝜃1 𝜃𝑗 ≔ 𝜃𝑗 − 𝛼 𝜕 𝜕𝜃𝑗 𝐽 𝜃0, 𝜃1 𝛼: Índice de aprendizaje (learning rate)
  • 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 +. . . + 𝜃 𝑛 𝑥 𝑛
  • 18. 18 Regresión • Error de mínimos cuadrados en función de Función de coste Gradiente de descenso • Repetir: 𝐽 𝜃 = 1 2𝑚 ෍ 𝑖=0 𝑚 ℎ 𝑥(𝑖) − 𝑦(𝑖) 2 𝜃𝑗 ≔ 𝜃𝑗 − 𝛼 𝜕 𝜕𝜃𝑗 𝐽 θ = 𝜃𝑗 − 𝛼 1 𝑚 ෍ 𝑖=1 𝑚 ℎ 𝑥 𝑖 − 𝑦 𝑖 𝑥𝑗 (𝑖) Para 𝑗 ≔ 0 … 𝑛
  • 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
  • 23. 23 Clasificación • Dos grandes tipos: • Clasificación binaria: • Clasificación multiclase: Introducción a la Regresión Logística • La regresión lineal no arroja buenos resultados 𝑦 𝜖 [0, 1] 𝑦 𝜖 0, 1, 2, 3, … ¿ 𝑀𝑎𝑙𝑖𝑔𝑛𝑜? 𝑇𝑎𝑚𝑎ñ𝑜 𝑑𝑒𝑙 𝑡𝑢𝑚𝑜𝑟 𝑆í 1 𝑁𝑜 0 0,5 ℎ 𝜃 𝑥 = 𝜃0 + 𝜃1 𝑥 𝑆𝑖 ℎ 𝜃 𝑥 ≥ 0.5, 𝑝𝑟𝑒𝑑𝑒𝑐𝑖𝑟 𝑦 = 1 𝑆𝑖 ℎ 𝜃 𝑥 < 0.5, 𝑝𝑟𝑒𝑑𝑒𝑐𝑖𝑟 𝑦 = 0 • Nueva hipótesis
  • 24. 24 Clasificación • Función sigmoidea o logística Hipótesis • Límites de decisión (Decision Boundary) ℎ 𝜃 𝑥 = 𝑔 𝜃 𝑇 𝑥 𝑔 𝑧 = 1 1 + 𝑒−𝑧 ℎ 𝜃 𝑥 = 1 1 + 𝑒−𝜃 𝑇 𝑥 ℎ 𝜃 𝑥 = 𝑔(𝜃0 + 𝜃1 𝑥1 + 𝜃2 𝑥2) ℎ 𝜃 𝑥 = 𝑔(𝜃0 + 𝜃1 𝑥1 + 𝜃2 𝑥2 + 𝜃3 𝑥1 2 + 𝜃4 𝑥2 2 ) 𝑆𝑒 𝑝𝑟𝑒𝑑𝑖𝑐𝑒 𝑦 = 1 𝑠𝑖 − 3 + 𝑥1 + 𝑥2 ≥ 0 𝑆𝑒 𝑝𝑟𝑒𝑑𝑖𝑐𝑒 𝑦 = 1 𝑠𝑖 − 1 + 𝑥1 2 + 𝑥2 2 ≥ 0 ℎ 𝜃 𝑥 = 𝑔(𝜃0 + 𝜃1 𝑥1 + 𝜃2 𝑥2 + 𝜃3 𝑥1 2 + +𝜃4 𝑥1 2 𝑥2 + 𝜃5 𝑥1 2 𝑥2 2 + 𝜃6 𝑥1 3 𝑥2+ . . . ) 𝑔 𝑧 ≥ 0.5 𝑐𝑢𝑎𝑛𝑑𝑜 𝑧 ≥ 0 ℎ 𝜃 𝑥 = 𝑔 𝜃 𝑇 𝑥 ≥ 0.5 𝑐𝑢𝑎𝑛𝑑𝑜 𝜃 𝑇 𝑥 ≥ 0 𝑔(𝑧) 𝑧 −3 1 1 −1 0 0 1 1 𝜃 𝑇 𝑥 𝜃 𝑇 𝑥
  • 25. 25 Clasificación • Regresión Lineal Función de coste • Regresión Logística 𝐽 𝜃 = 1 𝑚 ෍ 𝑖=1 𝑚 1 2 ℎ 𝜃 𝑥(𝑖) − 𝑦(𝑖) 2 = 1 𝑚 ෍ 𝑖=1 𝑚 𝐶𝑜𝑠𝑡 ℎ 𝜃 𝑥(𝑖) , 𝑦(𝑖) 𝐶𝑜𝑠𝑡 ℎ 𝜃 𝑥 , 𝑦 = ൝ − log(ℎ 𝜃 𝑥 ) − log 1 − ℎ 𝜃 𝑥 𝑠𝑖 𝑦 = 1 𝑠𝑖 𝑦 = 0 1 1 + 𝑒−𝜃 𝑇 𝑥 𝑁𝑜 𝑐𝑜𝑛𝑣𝑒𝑟𝑔𝑒𝑛𝑡𝑒 𝐽 𝜃 𝐽 𝜃 ℎ 𝜃 𝑥 ℎ 𝜃 𝑥 • Versión simplificada 𝐽 𝜃 = 1 𝑚 ෍ 𝑖=1 𝑚 𝐶𝑜𝑠𝑡 ℎ 𝜃 𝑥(𝑖) , 𝑦(𝑖) = − 1 𝑚 ෍ 𝑖=1 𝑚 𝑦(𝑖) log ℎ 𝜃 𝑥(𝑖) + 1 − 𝑦(𝑖) log 1 − ℎ 𝜃 𝑥(𝑖)
  • 26. 26 Clasificación • Minimizar 𝐽 𝜃 Gradiente de descenso • Otros algoritmos de optimización • Conjugate Gradient • BFGS • L-BFGS • … 𝑅𝑒𝑝𝑒𝑡𝑖𝑟 { 𝜃𝑗 ≔ 𝜃𝑗 − 𝛼 ෍ 𝑖=1 𝑚 ℎ 𝜃 𝑥(𝑖) − 𝑦(𝑖) 𝑥𝑗 (𝑖) } • Regresión Logística ℎ 𝜃 𝑥 = 1 1 + 𝑒−𝜃 𝑇 𝑥 • Regresión Lineal ℎ 𝜃 𝑥 = 𝜃 𝑇 𝑥
  • 27. 27 Clasificación • Aplicaciones • Etiquetado de e-mails • Diagnósticos médicos • Predicciones meteorológicas • … Clasificación Multivariable: One-vs-All 𝑥2 𝑥1 𝑥2 𝑥1 𝑥2 𝑥1𝑥2 𝑥1ℎ 𝜃 𝑖 𝑥 = 𝑃 𝑦 = 𝑖|𝑥; 𝜃 𝑖 = 1, 2, 3
  • 28. 28 Clasificación Ejemplo: Regresión Logística con SciKit Learn Ajuste de un modelo de Regresión Logística Evaluación de métricas con la matriz de confusión
  • 29. 29 Clasificación • Logistic Regression • Support Vector Machine (SVM) • Naïve Bayes • Decision Tree Classification • Random Forest Classification • … Algoritmos de clasificació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”
  • 32. 32 Overfitting • Cuanto menores sean los parámetros, más simple el modelo y menor probabilidad de sobreajuste • Regularized Linear Regression • Función de coste Solución I: Regularización 𝐽 𝜃 = 1 2𝑚 ෍ 𝑖=1 𝑚 ℎ 𝜃 𝑥(𝑖) − 𝑦(𝑖) 2 + 𝜆 ෍ 𝑗=1 𝑛 𝜃𝑗 2 • Gradiente de descenso 𝑅𝑒𝑝𝑒𝑡𝑖𝑟 { 𝜃0 ≔ 𝜃0 − 𝛼 1 𝑚 ෍ 𝑖=1 𝑚 ℎ 𝜃 𝑥(𝑖) − 𝑦(𝑖) 𝑥0 (𝑖) } 𝜃𝑗 ≔ 𝜃𝑗 − 𝛼 1 𝑚 ෍ 𝑖=1 𝑚 ℎ 𝜃 𝑥 𝑖 − 𝑦 𝑖 𝑥𝑗 𝑖 + 𝜆 𝑚 𝜃𝑗 𝜃𝑗 ≔ 𝜃𝑗 1 + 𝛼 𝜆 𝑚 − 𝛼 1 𝑚 ෍ 𝑖=1 𝑚 ℎ 𝜃 𝑥 𝑖 − 𝑦 𝑖 𝑥𝑗 𝑖 𝜆: Parámetro de regularización
  • 33. 33 Overfitting • Regularized Logistic Regression • Función de coste 𝑅𝑒𝑝𝑒𝑡𝑖𝑟 { 𝜃0 ≔ 𝜃0 − 𝛼 1 𝑚 ෍ 𝑖=1 𝑚 ℎ 𝜃 𝑥(𝑖) − 𝑦(𝑖) 𝑥0 (𝑖) } 𝜃𝑗 ≔ 𝜃𝑗 − 𝛼 1 𝑚 ෍ 𝑖=1 𝑚 ℎ 𝜃 𝑥 𝑖 − 𝑦 𝑖 𝑥𝑗 𝑖 + 𝜆 𝑚 𝜃𝑗 𝐽 𝜃 = − 1 𝑚 ෍ 𝑖=1 𝑚 𝑦 𝑖 log ℎ 𝜃 𝑥 𝑖 + 1 − 𝑦 𝑖 log 1 − ℎ 𝜃 𝑥 𝑖 + 𝜆 2𝑚 ෍ 𝑗=1 𝑛 𝜃𝑗 2 𝜕 𝜕𝜃𝑗 𝐽 𝜃 ℎ 𝜃 𝑥 = 1 1 + 𝑒−𝜃 𝑇 𝑥 • Función de coste
  • 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)
  • 36. 36 Deep Learning Artificial Neural Networks (ANN) Redes Neuronales
  • 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
  • 40. 40 Artificial Neural Networks Forward Propagation: Implementación vectorial 𝑎1 (2) = 𝑔 𝑧1 (2) 𝑎2 (2) = 𝑔 𝑧2 (2) 𝑎3 (2) = 𝑔 𝑧3 (2) • Las funciones de activación vistas anteriormente conforman la forward propagation • Implementación vectorial de la misma con el objetivo de reducir la complejidad y elaborar redes neuronales más completas 𝑧 𝑘 (2) = 𝑔 Θ 𝑘,0 (1) 𝑥0 + Θ 𝑘,1 (1) 𝑥1+ . . . +Θ 𝑘,𝑛 (1) 𝑥 𝑛 𝑧(𝑗) = Θ(𝑗−1) 𝑎(𝑗−1) 𝑥 = 𝑥0 𝑥1 𝑥2 𝑥3 𝑧(2) = 𝑧1 (2) 𝑧2 (2) 𝑧3 (2) 𝑧(2) = Θ(1) 𝑥 = Θ(1) 𝑎(1) 𝑎(2) = 𝑔 𝑧(2) ℎΘ 𝑥 𝑥1 𝑥2 𝑥3 𝑎1 (2) 𝑎2 (2) 𝑎3 (2) 𝑎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 ℎΘ 𝑥 = 𝑎1 (3) = 𝑔 Θ10 (2) 𝑎0 (2) + Θ11 (2) 𝑎1 (2) + Θ12 (2) 𝑎2 (2) + Θ13 (2) 𝑎3 (2) 𝑧(3) = Θ(2) 𝑎(2) ℎΘ 𝑥 = 𝑎(3) = 𝑔 𝑧(3) 𝑧(𝑗+1) = Θ(𝑗) 𝑎(𝑗) ℎΘ 𝑥 = 𝑎(𝑗+1) = 𝑔 𝑧(𝑗+1) Añadir 𝑎0 (2) = 1
  • 41. 41 Artificial Neural Networks Función de coste 𝐿: Nº total de capas en la red neuronal • Variables de uso 𝑠𝑙: Nº de unidades (sin contar la de oscilación) de una capa 𝑙 Conjunto de datos: 𝑥(1) , 𝑦(1) , 𝑥(2) , 𝑦(2) , . . . , 𝑥(𝑚) , 𝑦(𝑚) ℎΘ 𝑥 𝑥1 𝑥2 𝑥3 𝑎1 (2) 𝑎2 (2) 𝑎3 (2) ℎΘ 𝑥 = 𝑎1 (3) = 𝑔 Θ10 (2) 𝑎0 (2) + Θ11 (2) 𝑎1 (2) + Θ12 (2) 𝑎2 (2) + Θ13 (2) 𝑎3 (2) 𝐾: Nº de unidades/clases de salida • Regresión Logística 𝐽 𝜃 = − 1 𝑚 ෍ 𝑖=1 𝑚 𝑦 𝑖 log ℎ 𝜃 𝑥 𝑖 + 1 − 𝑦 𝑖 log 1 − ℎ 𝜃 𝑥 𝑖 + 𝜆 2𝑚 ෍ 𝑗=1 𝑛 𝜃𝑗 2 𝐽 Θ = − 1 𝑚 ෍ 𝑖=1 𝑚 ෍ 𝑘=1 𝐾 𝑦 𝑖 log ℎΘ 𝑥 𝑖 𝑘 + 1 − 𝑦𝑘 (𝑖) log 1 − ℎΘ 𝑥 𝑖 𝑘 + 𝜆 2𝑚 ෍ 𝑙=1 𝐿−1 ෍ 𝑖=1 𝑠 𝑙 ෍ 𝑗=1 𝑠 𝑙+1 Θ𝑗,𝑖 (𝑙) 2 • Generalización para Redes Neuronales 𝑎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
  • 42. 42 Artificial Neural Networks Backpropagation • Algoritmo usado para minimizar la función de costes • Dada la función de coste 𝐽 𝜃 , se define: • Se define 𝛿𝑗 (𝑙) = error de coste para 𝑎𝑗 (𝑙) (unidad 𝑗 en capa 𝑙) • Formalmente, 𝛿𝑗 (𝑙) = 𝜕 𝜕𝑧 𝑗 𝑙 𝑐𝑜𝑠𝑡(𝑖) 𝑐𝑜𝑠𝑡 𝑖 = 𝑦(𝑖) log ℎ 𝜃 𝑥(𝑖) + 1 − 𝑦(𝑖) log ℎ 𝜃 𝑥(𝑖) +1 𝑧1 (2) → 𝑎1 (2) 𝛿1 (2) 𝑧2 (2) → 𝑎2 (2) 𝛿2 (2)𝑥2 𝑥1 +1 +1 𝑧1 (3) → 𝑎1 (3) 𝛿1 (3) 𝑧2 (3) → 𝑎2 (3) 𝛿2 (3) 𝑧1 (4) → 𝑎1 (4) 𝛿1 (4) 𝜽 𝟏𝟐 (𝟐) 𝜽 𝟐𝟐 (𝟐) 𝜽 𝟏𝟐 (𝟑) 𝛿1 (4) = 𝑦(𝑖) − 𝑎1 (4) 𝛿2 (2) = Θ12 (2) 𝛿1 (3) + Θ22 (2) 𝛿2 (3) 𝛿2 (3) = Θ12 (3) 𝛿1 (4)
  • 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
  • 44. 44 Aplicación de Machine Learning Evaluando un Algoritmo de Aprendizaje
  • 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
  • 47. 47 Aplicación de Machine Learning Sesgo vs. Varianza (Bias vs. Variance)
  • 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
  • 52. 52 Aplicación de Machine Learning Manejando datos sesgados
  • 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 • …
  • 58. 58 Unsupervised Learning Algoritmo K-Means • Elección de 𝑘 centroides de clúster al azar
  • 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)
  • 60. 60 Unsupervised Learning Algoritmo K-Means • Desplazamiento de los centroides a la zona de más peso de puntos asignados a él
  • 61. 61 Unsupervised Learning Algoritmo K-Means • Repetir hasta que el centroide no pueda cambiar de posición
  • 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