View
1
Download
0
Category
Preview:
Citation preview
Fundamentos del aprendizaje automático
(Machine learning)
Joaquín Luque
Contenido
1. Introducción2. Regresión
a) Regresión univariableb) Regresión multivariable
3. Clasificacióna) Regresión logísticab) Máquinas de vectores soporte (SVM)
• Forma dual de la optimización (regresión y SVM)
c) Funciones Kerneld) Clasificación multiclase
4. Segmentación5. Reducción de dimensionalidad6. Deep learning (introducción)
ClasificaciónEnfoques
• Extensión de la regresión– Regresión logística (logistic regression)
• Maximización de la separación entre clases– Máquinas de Vectores Soporte (Support Vector
Machines)
• Minimización de la distancia a clases– K-medias (K-means)– K-vecinos más próximos (K-Nearest Neighbours)
• Modelos arbóreos (tree-like)– Árbol de decisión (decision tree)– Bosques aleatorios (random forest)
Regresión logística
• Hipótesis– Función signo– Función logística
• Función de coste– 0-1– Logística
• Evaluación– Matriz de confusión y métricas derivadas– Análisis ROC– Curva de aprendizaje
ClasificaciónEjemplo en el sector eléctrico
• La empresa está impulsando la transición al vehículo eléctrico. Para ello tiene una política de marketing que se dirige captar nuevos usuarios entre sus clientes. – Dado el coste de dicha política, la acción comercial no
se dirige a todos los clientes de manera universal, sino sólo a aquéllos que son potenciales compradores.
– ¿El nuevo cliente es uno de ellos?
• Para dilucidarlo se plantea distintas cuestiones previas
ClasificaciónEjemplo en el sector eléctrico
• La primera cuestión es saber si el cliente tiene o no garaje propio. Ese dato no consta en sus bases de datos, por lo que realiza un muestreo entre sus clientes.
• De este muestreo obtiene dos datos1. Superficie de la vivienda (m2)2. Tiene garaje (Si/No)
• Con esa información quiere inferir sin un determinado cliente tiene garaje en función del tamaño de su vivienda (dato que sí consta en sus bases de datos)
Regresión logística3. Formulación de hipótesis
Regresión logística3. Formulación de hipótesis
ℎ𝑤 𝑥 = 𝑤0 + 𝑤1𝑥
𝑤0, 𝑤1
calculadospor regresión
lineal
Regresión logística3. Formulación de hipótesis
ℎ𝑤 𝑥 = 𝑤0 + 𝑤1𝑥
𝑤0, 𝑤1
calculadospor regresión
lineal
Regresión logística3. Formulación de hipótesis
ℎ𝑤 𝑥 =1 + sign 𝑥 + 𝑤0
2
𝑤0 = −100
Regresión logística5. Optimización del coste
ℎ𝑤 𝑥 =1 + sign 𝑥 + 𝑤0
2
𝑑
𝑑𝑤𝐽 ℎ𝑤 𝑥 , 𝑦 = 0
La función sign(x) no es derivable (en el origen)
Regresión logística3. Formulación de hipótesis
ℎ𝑤 𝑥 =1
1 + 𝑒−𝑧
𝑤0
𝑤1= −100
Funciónlogística
𝑧 ≡ 𝑤0 + 𝑤1𝑥
Regresión logística3. Formulación de hipótesis
𝑜 ≡𝑝
1 − 𝑝Cuota (odds)
𝐿𝑛 𝑜 = 𝑧 = 𝑤0 + 𝑤1𝑥Log-oddsUnida de medida:logit (logistic unit)
𝑝 =𝑜
1 + 𝑜=
1
1 + 𝑜−1=
1
1 + 𝑒−𝑧=
1
1 + 𝑒− 𝑤0+𝑤1𝑥
𝑜 = 𝑒𝑧 = 𝑒 𝑤0+𝑤1𝑥
𝑝: probabilidad de que tenga garaje
Puede usarse otra función no lineal 𝑧 = 𝑓 𝑥 (p.e. polinómica)
Regresión logística3. Formulación de hipótesis
ℎ𝑤 𝑥 =1
2+atan 𝑧
𝜋
Otrassigmoides
𝑤0
𝑤1= −100
𝑧 ≡ 𝑤0 + 𝑤1𝑥
Regresión logística
• Hipótesis– Función signo– Función logística
• Función de coste– 0-1– Logística
• Evaluación– Matriz de confusión y métricas derivadas– Análisis ROC– Curva de aprendizaje
Regresión logística4. Elección de la función de coste
Hipótesis:Funciónlogística
𝐽 ℎ𝑤(𝑥), 𝑦 =1
𝑛
𝑖=1
𝑛
ℎ𝑤 𝑥 𝑖 − 𝑦 𝑖 2
Costecuadrático
No convexo
𝑤1 = 1
Regresión logística4. Elección de la función de coste
Hipótesis:Funciónlogística
𝐽 ℎ𝑤(𝑥), 𝑦 =1
𝑛
𝑖=1
𝑛
ℎ𝑤 𝑥 𝑖 − 𝑦 𝑖 2
Costecuadrático
No convexo
𝑤0 = −100
Regresión logística4. Elección de la función de coste
Función de coste 0-1
𝐽 ℎ𝑤(𝑥), 𝑦 =1
𝑛
𝑖=1
𝑛
𝐼 ො𝑦 𝑖 ≠ 𝑦 𝑖 = 𝐴𝐶𝐶
𝐼 𝑢 ≡ ቊ1, 𝑢 = 𝑇𝑟𝑢𝑒0, 𝑢 = 𝐹𝑎𝑙𝑠𝑒
ො𝑦 = ቊ1, ℎ𝑤 𝑥 ≥ 𝑡ℎ0, ℎ𝑤 𝑥 < 𝑡ℎ
𝑡ℎ = 0.5
𝐴𝐶𝐶 ≡#𝑎𝑐𝑖𝑒𝑟𝑡𝑜𝑠
𝑛
Regresión logística4. Elección de la función de coste
Coste 0-1No convexo
Regresión logística4. Elección de la función de coste
𝑒 ℎ𝑤(𝑥), 𝑦 = ℎ𝑤 𝑥 − 𝑦
𝐿 ℎ𝑤(𝑥), 𝑦 = −𝐿𝑛 1 − 𝑒
Función de coste logística (cros-entropía)
𝐽 ℎ𝑤(𝑥), 𝑦 =1
𝑛
𝑖=1
𝑛
𝐿 ℎ𝑤(𝑥𝑖 ), 𝑦 𝑖
Regresión logística4. Elección de la función de coste
𝐿 ℎ𝑤(𝑥), 𝑦 = −𝐿𝑛 1 − 𝑒
Regresión logística4. Elección de la función de coste
Función de coste logística (cros-entropía)
𝐽 ℎ𝑤(𝑥), 𝑦 =1
𝑛
𝑖=1
𝑛
𝐿 ℎ𝑤(𝑥𝑖 ), 𝑦 𝑖
𝑒 = ℎ𝑤 𝑥 − 𝑦 = ቊ1 − ℎ𝑤 𝑥 , ∀𝑦 = 1
ℎ𝑤 𝑥 , ∀𝑦 = 0
𝐿 ℎ𝑤(𝑥), 𝑦 = −𝐿𝑛 1 − 𝑒 = ቐ−𝐿𝑛 ℎ𝑤 𝑥 , ∀𝑦 = 1
−𝐿𝑛 1 − ℎ𝑤 𝑥 , ∀𝑦 = 0
𝐿 ℎ𝑤(𝑥), 𝑦 = −𝑦𝐿𝑛 ℎ𝑤 𝑥 − 1 − 𝑦 𝐿𝑛 1 − ℎ𝑤 𝑥
Regresión logística4. Elección de la función de coste
𝐿 ℎ𝑤(𝑥), 𝑦 = −𝑦𝐿𝑛 ℎ𝑤 𝑥 − 1 − 𝑦 𝐿𝑛 1 − ℎ𝑤 𝑥
Regresión logística4. Elección de la función de coste
Función de coste logística (cros-entropía)CONVEXA
Regresión logística4. Elección de la función de coste
Función de coste logística (cros-entropía)CONVEXA
Regresión logística4. Elección de la función de coste
Función de coste logística con regularización
𝐽 ℎ𝑤(𝑥), 𝑦 =1
𝑛
𝑖=1
𝑛
𝐿 ℎ𝑤(𝑥𝑖 ), 𝑦 𝑖 + 𝜆 𝑤 2
2
𝐿 ℎ𝑤(𝑥), 𝑦 = −𝑦𝐿𝑛 ℎ𝑤 𝑥 − 1 − 𝑦 𝐿𝑛 1 − ℎ𝑤 𝑥
Regresión logística5. Optimización del coste
𝑤∗ = arg min𝑤
𝐽 ℎ𝑤(𝑥), 𝑦
Normal Equation
𝛻𝑤𝐽 ℎ𝑤 𝑥 , 𝑦 = 0
𝛻𝑤1
𝑛
𝑖=1
𝑛
𝐿𝑜𝑠𝑠 ℎ𝑤(𝑥𝑖 ), 𝑦 𝑖 = 0
𝑖=1
𝑛
𝛻𝑤𝐿𝑜𝑠𝑠 ℎ𝑤(𝑥𝑖 ), 𝑦 𝑖 = 0
Regresión logística5. Optimización del coste
𝑖=1
𝑛
𝛻𝑤 − 𝐿𝑛 1 + 2𝑦 𝑖 − 1 ℎ𝑤 𝑥 𝑖 − 𝑦 𝑖 = 0
Normal Equation
𝑖=1
𝑛2𝑦 𝑖 − 1 𝛻𝑤ℎ𝑤 𝑥 𝑖 − 𝑦 𝑖
1 + 2𝑦 𝑖 − 1 ℎ𝑤 𝑥 𝑖 − 𝑦 𝑖= 0
ℎ𝑤 𝑥 =1
1 + 𝑒− 𝑤0+𝑤1𝑥
Regresión logística5. Optimización del coste
𝛻𝑤ℎ𝑤 =𝜕ℎ𝑤𝜕𝑤0
𝜕ℎ𝑤𝜕𝑤1
Normal Equation
𝜕ℎ𝑤𝜕𝑤0
=−1
1 + 𝑒− 𝑤0+𝑤1𝑥 2𝑒− 𝑤0+𝑤1𝑥 −1
𝜕ℎ𝑤𝜕𝑤1
=−1
1 + 𝑒− 𝑤0+𝑤1𝑥 2𝑒− 𝑤0+𝑤1𝑥 −𝑥
Regresión logística5. Optimización del coste
𝑖=1
𝑛 2𝑦 𝑖 − 1𝜕ℎ𝑤 𝑥 𝑖
𝜕𝑤0− 𝑦 𝑖
1 + 2𝑦 𝑖 − 1 ℎ𝑤 𝑥 𝑖 − 𝑦 𝑖= 0
𝑖=1
𝑛 2𝑦 𝑖 − 1𝜕ℎ𝑤 𝑥 𝑖
𝜕𝑤1− 𝑦 𝑖
1 + 2𝑦 𝑖 − 1 ℎ𝑤 𝑥 𝑖 − 𝑦 𝑖= 0
Normal Equation
Regresión logística5. Optimización del coste
𝑖=1
𝑛2𝑦 𝑖 − 1
𝑒− 𝑤0+𝑤1𝑥𝑖
1 + 𝑒− 𝑤0+𝑤1𝑥𝑖 2 − 𝑦 𝑖
1 + 2𝑦 𝑖 − 11
1 + 𝑒− 𝑤0+𝑤1𝑥𝑖 − 𝑦 𝑖
= 0
𝑖=1
𝑛2𝑦 𝑖 − 1
𝑥 𝑖 𝑒− 𝑤0+𝑤1𝑥𝑖
1 + 𝑒− 𝑤0+𝑤1𝑥𝑖 2 − 𝑦 𝑖
1 + 2𝑦 𝑖 − 11
1 + 𝑒− 𝑤0+𝑤1𝑥𝑖 − 𝑦 𝑖
= 0
Normal Equation
Regresión logística5. Optimización del coste
𝑖=1
𝑛2𝑦 𝑖 − 1
𝑒− 𝑤0+𝑤1𝑥𝑖
1 + 𝑒− 𝑤0+𝑤1𝑥𝑖 2 − 𝑦 𝑖
1 + 2𝑦 𝑖 − 11
1 + 𝑒− 𝑤0+𝑤1𝑥𝑖 − 𝑦 𝑖
= 0
𝑖=1
𝑛2𝑦 𝑖 − 1
𝑥 𝑖 𝑒− 𝑤0+𝑤1𝑥𝑖
1 + 𝑒− 𝑤0+𝑤1𝑥𝑖 2 − 𝑦 𝑖
1 + 2𝑦 𝑖 − 11
1 + 𝑒− 𝑤0+𝑤1𝑥𝑖 − 𝑦 𝑖
= 0
Normal Equation
Regresión logística5. Optimización del coste
Gradient Descent
𝑤0∗ = −15.2
𝑤1∗ = 0.155
Regresión logística
• Hipótesis– Función signo– Función logística
• Función de coste– 0-1– Logística
• Evaluación– Matriz de confusión y métricas derivadas– Análisis ROC– Curva de aprendizaje
Regresión logística6. Evaluación del resultado
ClienteSuperficie (m2)
𝒙(𝒊)Garaje
𝒚(𝒊)Predicción
𝒉(𝒊)Garajeෝ𝒚(𝒊)
11 139 S 0.998 S
12 54 N 0.001 N
13 96 S 0.428 N
14 95 N 0.372 N
15 132 S 0.994 S
⋮ ⋮ ⋮ ⋮ ⋮
𝑛𝑡𝑟𝑎𝑖𝑛 = 10 𝑡ℎ = 0.5
ℎ𝑤 𝑥 =1
1 + 𝑒− 𝑤0+𝑤1𝑥ො𝑦 = ቊ
0, ∀ℎ𝑤 𝑥 < 𝑡ℎ0, ∀ℎ𝑤 𝑥 ≥ 𝑡ℎ
Regresión logística6. Evaluación del resultado
Clase calculada
𝑷 𝑵 Elementos
Clase real𝑷 TP FN 𝑛𝑃
𝑵 FP TN 𝑛𝑁
Estimaciones 𝑒𝑃 𝑒𝑁 𝑛
Clase calculada
𝑷 𝑵 Elementos
Clase real𝑷 545 46 591
𝑵 77 322 399
Estimaciones 622 368 990
Matriz de confusión
Regresión logística6. Evaluación del resultado
Nombre Acrónimo Expresión Valor
Sensitivity SNS𝑇𝑃
𝑇𝑃 + 𝐹𝑁0.9222
Specificity SPC𝑇𝑁
𝑇𝑁 + 𝐹𝑃0.8070
Precision PRC𝑇𝑃
𝑇𝑃 + 𝐹𝑃0.8762
Negative Predictive Value NPV𝑇𝑁
𝑇𝑁 + 𝐹𝑁0.8750
Accuracy ACC𝑇𝑃 + 𝑇𝑁
𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁0.8758
F1 Score F1 2𝑆𝑁𝑆 · 𝑃𝑅𝐶
𝑆𝑁𝑆 + 𝑃𝑅𝐶0.8986
Geometric Mean GM 𝑆𝑁𝑆 · 𝑆𝑃𝐶 0.8627
Regresión logística6. Evaluación del resultado
Regresión logística6. Evaluación del resultado
Regresión logística6. Evaluación del resultado
Regresión logística6. Evaluación del resultado
Receiver operating characteristic (ROC)
Regresión logística6. Evaluación del resultado
Area Under Curve (AUC)𝐴𝑈𝐶 = 0.9519
Regresión logística6. Evaluación del resultado
Elección del umbral de decisiónDatos de validación
Regresión logística6. Evaluación del resultado
Elección del umbral de decisiónDatos de validación
Regresión logística6. Evaluación del resultado
Curva de aprendizaje
Contenido
1. Introducción2. Regresión
a) Regresión univariableb) Regresión multivariable
3. Clasificacióna) Regresión logísticab) Máquinas de vectores soporte (SVM)
• Forma dual de la optimización (regresión y SVM)
c) Funciones Kerneld) Clasificación multiclase
4. Segmentación5. Reducción de dimensionalidad6. Deep learning (introducción)
Maquina de vectores soporte (SVM)
• Frontera de decisión
– Margen
• Función de coste
– Función bisagra (hinge loss)
• Clasificación multivariable
Maquina de vectores soporte (SVM)3. Formulación de hipótesis
Hipótesis + Umbral de decisión = Frontera de decisión
Maquina de vectores soporte (SVM)3. Formulación de hipótesis
Hipótesis + Umbral de decisión = Frontera de decisión
Maquina de vectores soporte (SVM)3. Formulación de hipótesis
ℎ𝑤 𝑥𝑏 =1
1 + 𝑒−𝑧𝑏= 𝑡ℎ
𝑒−𝑧𝑏 =1
𝑡ℎ− 1
𝑧𝑏 = −𝐿𝑛1
𝑡ℎ− 1
𝑧𝑏 = 𝑤𝑥𝑏 + 𝑏
Frontera
Puede usarse otra función no lineal 𝑧𝑏 = 𝑓 𝑥𝑏 (p.e. polinómica)
Maquina de vectores soporte (SVM)3. Formulación de hipótesis
𝑧𝑏 = 𝑤𝑥𝑏 + 𝑏 = −𝐿𝑛1
𝑡ℎ− 1
𝑡ℎ =1
2⇒ 𝑧𝑏 = 0
𝑥𝑏 =−𝑏 − 𝐿𝑛
1𝑡ℎ− 1
𝑤
Frontera
𝑥𝑏 =−𝑏
𝑤
Maquina de vectores soporte (SVM)3. Formulación de hipótesis
Frontera
ቊ𝑦 = 1, ∀𝑥 ≥ 𝑥𝑏𝑦 = 0, ∀𝑥 < 𝑥𝑏
ℎ𝑤 𝑥 =1
1 + 𝑒− 𝑤𝑥+𝑏
Hipótesis: formulación original
Hipótesis: formulación alternativa
𝑥𝑏 =−𝑏
𝑤
ቊ𝑦 = 1, ∀ℎ𝑤 𝑥 ≥ 𝑡ℎ𝑦 = 0, ∀ℎ𝑤 𝑥 < 𝑡ℎ
Maquina de vectores soporte (SVM)3. Formulación de hipótesis
𝑧𝑏 𝑧𝑝𝑧𝑛
𝑧𝑝 = 𝑤 𝑥𝑏 +𝑚 + 𝑏 = 𝑤−𝑏
𝑤+𝑚 + 𝑏 = 𝑤 𝑚 = 𝑤
1
𝑤= 1
𝑧𝑏 = 0
𝑧𝑛 = −1
𝑧𝑝 = 1𝑚 =1
𝑤
Margen
Maquina de vectores soporte (SVM)3. Formulación de hipótesis
Frontera dura (Hard Margin)
ቊ𝑦 = 1, ∀𝑥 ≥ 𝑥𝑏 +𝑚𝑦 = 0, ∀𝑥 ≤ 𝑥𝑏 −𝑚
ℎ𝑤 𝑥 =1
1 + 𝑒− 𝑤𝑥+𝑏
Hipótesis: formulación original
Hipótesis: formulación alternativa
𝑥𝑏 =−𝑏
𝑤;𝑚 =
1
𝑤
ቊ𝑦 = 1, ∀ℎ𝑤 𝑥 ≥ 𝑡ℎ𝑦 = 0, ∀ℎ𝑤 𝑥 < 𝑡ℎ
Maquina de vectores soporte (SVM)5. Optimización del coste
Frontera dura (Hard Margin)
Optimización: formulación original
Optimización: formulación alternativa
𝑤∗ = arg min𝑤
𝐽 ℎ𝑤(𝑥), 𝑦
𝐿 ℎ𝑤(𝑥), 𝑦 = −𝑦𝐿𝑛 ℎ𝑤 𝑥 − 1 − 𝑦 𝐿𝑛 1 − ℎ𝑤 𝑥
𝐽 ℎ𝑤(𝑥), 𝑦 =1
𝑛
𝑖=1
𝑛
𝐿 ℎ𝑤(𝑥𝑖 ), 𝑦 𝑖
argmax𝑤,𝑏
𝑚 : ቊ𝑥 ≥ 𝑥𝑏 +𝑚,∀𝑦 = 1𝑥 ≤ 𝑥𝑏 −𝑚,∀𝑦 = 0
Maquina de vectores soporte (SVM)5. Optimización del coste
Frontera dura (Hard Margin)
𝑥𝑏 =−𝑏
𝑤;𝑚 =
1
𝑤
argmax𝑤,𝑏
𝑚 : ቊ𝑥 ≥ 𝑥𝑏 +𝑚,∀𝑦 = 1𝑥 ≤ 𝑥𝑏 −𝑚,∀𝑦 = 0
argmax𝑤,𝑏
1
𝑤:𝑥 ≥
−𝑏 + 1
𝑤, ∀𝑦 = 1
𝑥 ≤−𝑏 − 1
𝑤, ∀𝑦 = 0
Optimización : formulación alternativa
Maquina de vectores soporte (SVM)5. Optimización del coste
Margen máximo
Maquina de vectores soporte (SVM)3. Formulación de hipótesis
Frontera suave (soft margin)
ℎ𝑤 𝑥 = ቊ𝑦 = 1, ∀𝑥 ≥ 𝑥𝑏𝑦 = 0, ∀𝑥 < 𝑥𝑏
Maquina de vectores soporte (SVM)4. Elección de la función de coste
𝑧𝑏 𝑧𝑝𝑧𝑛
𝑧𝑏 = 0
𝑧𝑛 = −1
𝑧𝑝 = 1
Maquina de vectores soporte (SVM)
• Frontera de decisión
– Margen
• Función de coste
– Función bisagra (hinge loss)
• Clasificación multivariable
Maquina de vectores soporte (SVM)4. Elección de la función de coste
Función de coste logística (cros-entropía)
𝐽 ℎ𝑤(𝑥), 𝑦 =1
𝑛
𝑖=1
𝑛
𝐿 ℎ𝑤(𝑥𝑖 ), 𝑦 𝑖
𝐿 ℎ𝑤(𝑥), 𝑦 = −𝑦𝐿𝑛 ℎ𝑤 𝑥 − 1 − 𝑦 𝐿𝑛 1 − ℎ𝑤 𝑥
𝐿 ℎ𝑤(𝑥), 𝑦 = −𝑦𝐿𝑛1
1 + 𝑒−𝑧− 1 − 𝑦 𝐿𝑛 1 −
1
1 + 𝑒−𝑧
Maquina de vectores soporte (SVM)4. Elección de la función de coste
𝐿 ℎ𝑤(𝑥), 𝑦 = −𝑦𝐿𝑛1
1 + 𝑒−𝑧− 1 − 𝑦 𝐿𝑛 1 −
1
1 + 𝑒−𝑧
Maquina de vectores soporte (SVM)4. Elección de la función de coste
𝐿 ℎ𝑤(𝑥), 𝑦 = max 0,1 − 𝓎𝑧
Función de coste bisagra (hinge loss)
𝓎 ≡ 2𝑦 − 1
𝑦 ∈ 0,1𝓎 ∈ −1,1
Maquina de vectores soporte (SVM)4. Elección de la función de coste
Función de coste bisagra (hinge loss)CONVEXA
Maquina de vectores soporte (SVM)4. Elección de la función de coste
Función de coste bisagra (hinge loss)CONVEXA
Maquina de vectores soporte (SVM)4. Elección de la función de coste
Función de coste bisagra (hinge loss) con regularización
𝐽 ℎ𝑤(𝑥), 𝑦 =1
𝑛
𝑖=1
𝑛
𝐿 ℎ𝑤(𝑥𝑖 ), 𝑦 𝑖 + 𝜆 𝑤 2
2
𝐿 ℎ𝑤(𝑥), 𝑦 = max 0,1 − 𝓎𝑧
Maquina de vectores soporte (SVM)5. Optimización del coste
Gradient Descent
𝑏∗ = −16.7𝑤∗ = 0.160
𝑥𝑏∗ = 104.22
𝑚∗ = 6.24
Maquina de vectores soporte (SVM)6. Evaluación del resultado
ClienteSuperficie (m2)
𝒙(𝒊)Garaje
𝒚(𝒊)Garajeෝ𝒚(𝒊)
11 139 S S
12 54 N N
13 96 S N
14 95 N N
15 132 S S
⋮ ⋮ ⋮ ⋮
𝑛𝑡𝑟𝑎𝑖𝑛 = 10
ො𝑦 = ቊ1, ∀𝑥 ≥ 𝑥𝑏
∗
0, ∀𝑥 < 𝑥𝑏∗
𝑥𝑏∗ = 104.22
Maquina de vectores soporte (SVM)6. Evaluación del resultado
Clase calculada
𝑷 𝑵 Elementos
Clase real𝑷 477 114 591
𝑵 32 367 399
Estimaciones 509 481 990
Matriz de confusión
𝑛𝑡𝑟𝑎𝑖𝑛 = 10
Maquina de vectores soporte (SVM)6. Evaluación del resultado
Nombre Acrónimo Expresión Valor
Sensitivity SNS𝑇𝑃
𝑇𝑃 + 𝐹𝑁0.8071
Specificity SPC𝑇𝑁
𝑇𝑁 + 𝐹𝑃0.9198
Precision PRC𝑇𝑃
𝑇𝑃 + 𝐹𝑃0.9371
Negative Predictive Value NPV𝑇𝑁
𝑇𝑁 + 𝐹𝑁0.7629
Accuracy ACC𝑇𝑃 + 𝑇𝑁
𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁0.8525
F1 Score F1 2𝑆𝑁𝑆 · 𝑃𝑅𝐶
𝑆𝑁𝑆 + 𝑃𝑅𝐶0.8672
Geometric Mean GM 𝑆𝑁𝑆 · 𝑆𝑃𝐶 0.8616
Maquina de vectores soporte (SVM)6. Evaluación del resultado
Curva de aprendizaje
Maquina de vectores soporte (SVM)
• Frontera de decisión
– Margen
• Función de coste
– Función bisagra (hinge loss)
• Clasificación multivariable
Clasificación multivariableEjemplo en el sector eléctrico
• En el programa de impulso para la transición al vehículo eléctrico, la segunda cuestión es saber si el cliente tiene o no vehículo (no eléctrico). Ese dato no consta en sus bases de datos, por lo que realiza un muestreo entre sus clientes.
• De este muestreo obtiene 3 datos1. Ingresos anuales (€)2. Edad (años)3. Tiene vehículo (Si/No)
• Con esa información quiere inferir sin un determinado cliente tiene vehículo, en función de sus ingresos y su edad (datos que sí constan en sus bases de datos)
Clasificación multivariable2. Determinación de features
ClienteIngresos (m€)
𝒙𝟏𝒊
Edad (años)
𝒙𝟐𝒊
Vehículo
𝒚(𝒊)
1 97.17 26.6 S
2 44.67 32.3 N
3 46.64 26.7 N
4 33.84 23.7 N
5 79.35 27.0 S
⋮ ⋮ ⋮ ⋮
𝑥1 y 𝑥2tienen un rango similarNo necesitan normalización
Maquina de vectores soporte (SVM)3. Formulación de hipótesis
ℎ𝑤 𝑥 =1
1 + 𝑒−𝑧Función logística
𝑧 ≡ 𝑤1𝑥1 +𝑤2𝑥2 + 𝑏 = 𝑥𝑤𝑇 + 𝑏
Puede usarse otra función no lineal 𝑧 = 𝑓 𝑥 (p.e. polinómica)
𝑤 ≡ 𝑤1 𝑤2
𝑥 ≡ 𝑥1 𝑥2
Maquina de vectores soporte (SVM)3. Formulación de hipótesis
ℎ𝑤 𝑥𝑏 =1
1 + 𝑒−𝑧𝑏= 𝑡ℎFrontera
Maquina de vectores soporte (SVM)3. Formulación de hipótesis
ℎ𝑤 𝑥𝑏 =1
1 + 𝑒−𝑧𝑏= 𝑡ℎFrontera
𝑒−𝑧𝑏 = 𝑒− 𝑥𝑏𝑤𝑇+𝑏 =
1
𝑡ℎ− 1
𝑧𝑏 = 𝑥𝑏𝑤𝑇 + 𝑏 = 𝑤1𝑥1𝑏 + 𝑤2𝑥2𝑏 + 𝑏 = −𝐿𝑛
1
𝑡ℎ− 1
𝑥2𝑏 =−𝑤1
𝑤2𝑥1𝑏 +
−𝑏 − 𝐿𝑛1𝑡ℎ− 1
𝑤2
Frontera lineal
Para 2 features (𝑑 = 2)
Rectafrontera
Maquina de vectores soporte (SVM)3. Formulación de hipótesis
𝑧𝑏 = 𝑥𝑏𝑤𝑇 + 𝑏 = −𝐿𝑛
1
𝑡ℎ− 1
𝑡ℎ =1
2⇒ 𝑧𝑏 = 0
𝑥𝑏𝑤𝑇 = −𝑏 − 𝐿𝑛
1
𝑡ℎ− 1
Frontera lineal para 𝑑 features (caso general)
𝑥𝑏𝑤𝑇 = −𝑏
Maquina de vectores soporte (SVM)3. Formulación de hipótesis
Margen para 2 features (𝑑 = 2)
𝑑 𝑟1, 𝑟2 =𝑐1 − 𝑐2
1 + 𝑎2
2 rectas paralelas(misma pendiente)
https://math.tutorvista.com/geometry/distance-between-two-parallel-lines.html
ቊ𝑟1: 𝑦 = 𝑎𝑥 + 𝑐1𝑟2: 𝑦 = 𝑎𝑥 + 𝑐2
Distancia entre las2 rectas paralelas
Maquina de vectores soporte (SVM)3. Formulación de hipótesis
𝑧𝑝 = 𝑥𝑝𝑤𝑇 + 𝑏 = 𝑤1𝑥1𝑝 +𝑤2𝑥2𝑝 + 𝑏 = 1
𝑟𝑠: 𝑥2𝑝 =−𝑤1
𝑤2𝑥1𝑝 +
1 − 𝑏
𝑤2
𝑟𝑓: 𝑥2𝑏 =−𝑤1
𝑤2𝑥1𝑏 +
−𝑏
𝑤2
Margensuperior
Frontera lineal
Margen para 2 features (𝑑 = 2)
Maquina de vectores soporte (SVM)3. Formulación de hipótesis
𝑚 = 𝑑 𝑟𝑠, 𝑟𝑓 =𝑐1 − 𝑐2
1 + 𝑎2=
1 − 𝑏𝑤2
−−𝑏𝑤2
1 +−𝑤1𝑤2
2
=1
𝑤2 1 +𝑤12
𝑤22
𝑚 =1
𝑤12 + 𝑤2
2
𝑚 =1
𝑤
Margen para 2 features (𝑑 = 2)
Margen para fronteralineal con 𝑑 features
Maquina de vectores soporte (SVM)3. Formulación de hipótesis
Frontera lineal con margen
൝𝑦 = 1, ∀𝑥𝑤𝑇 + 𝑏 ≥ 0
𝑦 = 0, ∀𝑥𝑤𝑇 + 𝑏 < 0
ℎ𝑤 𝑥 =1
1 + 𝑒− 𝑥𝑤𝑇+𝑏
Hipótesis: formulación original
Hipótesis: formulación alternativa
ቊ𝑦 = 1, ∀ℎ𝑤 𝑥 ≥ 𝑡ℎ𝑦 = 0, ∀ℎ𝑤 𝑥 < 𝑡ℎ
Maquina de vectores soporte (SVM)3. Formulación de hipótesis
Maquina de vectores soporte (SVM)4. Elección de la función de coste
Función de coste bisagra (hinge loss)
𝐽 ℎ𝑤(𝑥), 𝑦 =1
𝑛
𝑖=1
𝑛
𝐿 ℎ𝑤(𝑥𝑖 ), 𝑦 𝑖
𝐿 ℎ𝑤(𝑥), 𝑦 = max 0,1 − 𝓎𝑧
𝐽 ℎ𝑤(𝑥), 𝑦 =1
𝑛
𝑖=1
𝑛
𝐿 ℎ𝑤(𝑥𝑖 ), 𝑦 𝑖 + 𝜆 𝑤 2
2
Maquina de vectores soporte (SVM)4. Elección de la función de coste
Función de coste bisagra (hinge loss)CONVEXA
Maquina de vectores soporte (SVM)5. Optimización del coste
Gradient Descent
Maquina de vectores soporte (SVM)5. Optimización del coste
Gradient Descent
𝑏∗ = −52.0𝑤1∗ = 0.410
𝑤2∗ = 0.624
𝑚∗ = 0.75
Maquina de vectores soporte (SVM)6. Evaluación del resultado
ClienteIngresos (m€)
𝒙𝟏𝒊
Edad (años)
𝒙𝟐𝒊
Vehículo
𝒚(𝒊)Vehículoෝ𝒚(𝒊)
201 40.94 42.6 N N
202 57.53 53.7 S S
203 38.75 49.4 N N
204 72.85 46.9 S S
205 28.32 45.7 N N
⋮ ⋮ ⋮ ⋮
𝑛𝑡𝑟𝑎𝑖𝑛 = 200
൝𝑦 = 1, ∀𝑥𝑤𝑇 + 𝑏 ≥ 0
𝑦 = 0, ∀𝑥𝑤𝑇 + 𝑏 < 0
Optimización: scikit-learn.svm
Maquina de vectores soporte (SVM)6. Evaluación del resultado
Clase calculada
𝑷 𝑵 Elementos
Clase real𝑷 284 73 357
𝑵 50 393 443
Estimaciones 334 466 800
Matriz de confusión
Maquina de vectores soporte (SVM)6. Evaluación del resultado
Nombre Acrónimo Expresión Valor
Sensitivity SNS𝑇𝑃
𝑇𝑃 + 𝐹𝑁0.7955
Specificity SPC𝑇𝑁
𝑇𝑁 + 𝐹𝑃0.8871
Precision PRC𝑇𝑃
𝑇𝑃 + 𝐹𝑃0.8503
Negative Predictive Value NPV𝑇𝑁
𝑇𝑁 + 𝐹𝑁0.8433
Accuracy ACC𝑇𝑃 + 𝑇𝑁
𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁0.8463
F1 Score F1 2𝑆𝑁𝑆 · 𝑃𝑅𝐶
𝑆𝑁𝑆 + 𝑃𝑅𝐶0.8220
Geometric Mean GM 𝑆𝑁𝑆 · 𝑆𝑃𝐶 0.8401
Maquina de vectores soporte (SVM)6. Evaluación del resultado
𝑛𝑡𝑟𝑎𝑖𝑛 = 200
Maquina de vectores soporte (SVM)6. Evaluación del resultado
𝑛𝑡𝑟𝑎𝑖𝑛 = 200
Maquina de vectores soporte (SVM)6. Evaluación del resultado
Curva de aprendizaje
Recommended