Está en la página 1de 37

Machine Learning

Diplomado en Data Science

Erick López - Carlos Valle

Departamento de Informática
Universidad Técnica Federico Santa Marı́a

21 de Octubre del 2020

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 1 / 37
¡¡¡Cuidado!!!

...aprender no es lo mismo que memorizar...

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 2 / 37
Underfitting and Overfitting

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 3 / 37
Overfitting

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 4 / 37
Evitando el Overfitting

Opción 1

Opción 2

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 5 / 37
Evitando el Overfitting

Opción 3: Cross-Validation

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 6 / 37
Árboles de Decisión

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 7 / 37
Qué es un Árbol de Decisión?

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 8 / 37
Ejemplo de Árbol de Decisión

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 9 / 37
¿Cómo “Aprende” un Árbol?

Algoritmos de construcción de arboles (algoritmo de aprendizaje):

ID3: Desarrollado en 1986 por Ross Quinlan. Algoritmo crea un árbol de


múltiples ramas. Pensado para problemas de tipo clasificación. Solo procesa
datos categóricos.
C4.5: Desarrollado en 1993 por Ross Quinlan. Es una versión mejorada de ID3.
Puede procesar datos numéricos. Adicionalmente tenı́a la ventaja que
automáticamente generaba las reglas de decisión (if-then) a partir del árbol
entrenado.
CART: Classification And Regression Tree. Genera árboles binarios. Puede
procesar datos categóricos y numéricos. Funciona para resolver problemas de
clasificación y regresión.

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 10 / 37
Generar Regiones Homogéneas de divisiones binarias

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 11 / 37
Ejemplo

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 12 / 37
Un poco de terminologı́a

Root node: es el primer nodo del árbol.


Parent Node / Child Node: Todo nodo que es dividido en subnodos, se le llama
nodo padre, y a los subnodos obtenidos se le conoce como nodos hijos.
Leaf Node: Es el nodo que se encuentra al final de la rama, por eso suele
llamarse nodo hoja o nodo terminal.
Splitting: Es un proceso que divide un nodo “padre” en dos o más nodos “hijos”,
comenzando desde el root node.
Branch / Sub-tree: Corresponde a una subsección del árbol.

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 13 / 37
Elección de la División

El objetivo es encontrar la caracterı́stica que logre la mayor ganancia de información


al dividir el conjunto de datos en dos subconjuntos.

Matemáticamente hablando, se busca maximizar una función objetivo, llamada


Ganancia de Información (IG, por sus sigas en inglés), en cada división.

Nleft Nright
IG(Dp , f ) = I(Dp ) − I(Dleft ) − I(Dright )
Np Np
donde
f es la caracterı́stica elegida para hacer la división.
Dp representa el conjunto de datos dentro del nodo padre.
Dleft y Dright representan los conjuntos resultantes después de hacer la división
asociado al nodo hijo de la izquierda y derecha, respectivamente.
Np es la cardinalidad del conjunto de datos dentro del nodo padre.
Nleft y Nright es la cardinalidad de los nodos hijos.
I(·) es una medida de impureza.

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 14 / 37
Medidas de Impureza

Medidas para determinar la calidad de la división:


Impureza de Gini
k
IGini = 1 − ∑ p2i
i=1

donde k es el número de clases presente dentro del nodo evaluado, y pi es la


proporción de la clase i-esima dentro del nodo.
Entropı́a
k
IEntropy = − ∑ pi log2 (pi )
i=1

donde k es el número de clases presente dentro del nodo evaluado, y pi es la


proporción de la clase i-esima dentro del nodo.

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 15 / 37
Ejemplo del Algoritmo

sex fbs exang target


0 1 1 0 yes
1 1 0 0 no
2 0 0 0 yes
.. .. .. .. ..
. . . . .

Target
Yes: 165
No: 138

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 16 / 37
Ejemplo del Algoritmo (usando la Impureza de Gini)

Target
(165 Yes - 138 No)
Sex = 0 Sex = 1
Yes No Yes No
114 24 93 72

 2  2
114 24
I(Dleft ) = 1 − − ≈ 0,2873
114 + 24 114 + 24
 2  2
93 72
I(Dright ) = 1 − − ≈ 0,4919
93 + 72 93 + 72

 2  2
165 138
I(Dp ) = 1 − − ≈ 0,4960
165 + 138 165 + 138

138 165
IG(Dp , Sex) = 0,4960 − · 0,2873 − · 0,4919 ≈ 0,0973
303 303

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 17 / 37
Ejemplo del Algoritmo (usando la Impureza de Gini)

Target
(165 Yes - 138 No)
Fbs = 0 Fbs = 1
Yes No Yes No
22 116 23 142

 2  2
22 116
I(Dleft ) = 1 − − ≈ 0,2680
22 + 116 22 + 116
 2  2
23 142
I(Dright ) = 1 − − ≈ 0,2399
23 + 142 23 + 142

 2  2
165 138
I(Dp ) = 1 − − ≈ 0,4960
165 + 138 165 + 138

138 165
IG(Dp , Fbs) = 0,4960 − · 0,2680 − · 0,2399 ≈ 0,2433
303 303

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 18 / 37
Ejemplo del Algoritmo (usando la Impureza de Gini)

IG(Dp , Sex) ≈ 0,0973


IG(Dp , Fbs) ≈ 0,2433
IG(Dp , Exang) ≈ 0,14

Dado los resultados, la variable que obtiene la mayor ganancia de información es


Fbs.

Entonces, se crean las respectivas ramas del árbol (particionando el conjunto de


datos) y se repite el proceso para las nuevas ramas, siempre buscando la
variable-valor que permita obtener grupos de datos cada vez más “puros”
(homogéneos).

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 19 / 37
Árboles de decisión para Regresión

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 20 / 37
Árboles de decisión para Regresión

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 21 / 37
Algunos Hiperparámetros del Árbol

max depth: Controla es el tamaño del árbol, calculado como el recorrido más
largo desde la raı́z hasta el último nodo.
min samples leaf: Controla el número mı́nimo de observaciones que debe
haber en un nodo para que pueda ser considerado un nodo hoja.
min samples split: Controla el número mı́nimo de observaciones que debe
haber en un nodo para que éste pueda ser dividido.
criterion: “gini” or “entropy”.

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 22 / 37
Ventajas

Los árboles presentan una rápida interpretación del proceso que genera los
resultados (especialmente si son árboles pequeños). Dado lo anterior, son
considerados modelos de caja blanca.
Como consecuencia de la forma que adopta el árbol, se suele considerar un
modelo más cercano a la toma de decisiones humana, dado que permite obtener
reglas de asociación por cada rama, siendo un modelo más atractivo en algunas
áreas de negocio.
Los árboles pueden manejar fácilmente variables cualitativas y cuantitativas.

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 23 / 37
Desventajas

Los árboles generalmente no alcanzan a tener el mismo nivel de desempeño


comparado con otros enfoques de regresión y clasificación.
Presenta inestabilidad, en el sentido que un pequeño cambio en los datos
usados puede resultar un árbol completamente distinto (aunque con capacidad
predictiva similar).
Es propenso al overfitting, especialmente si no se controlan algunos de sus
hiperparámetros, ya que tienden a crecer fuera de control, “memorizando” los
datos muy rápido.
Adicionalmente, los árboles tienen baja tolerancia a clases desbalanceadas.

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 24 / 37
Support Vector Machine

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 25 / 37
Separación lineal

¿Cuál serı́a una separación optima?

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 26 / 37
Margen General/Especı́fico

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 27 / 37
Maximización del Margen

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 28 / 37
¿Por qué maximizar el margen?
Resistencia al ruido en los datos de entrada.
Resistencia al error en el cálculo de la función de clasificación.
Propiedades matemáticas que permiten acotar de manera razonable el error de
generalización.

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 29 / 37
¿Qué pasa si los datos no son linealmente separables?

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 30 / 37
E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 31 / 37
E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 32 / 37
E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 33 / 37
El truco del Kernel

Trabajar con una función de kernel ofrece una solución para proyectar un
conjunto de datos dentro de un espacio de caracterı́stica altamente dimensional
que incrementa la posibilidad de encontrar un hiperplano separador.
El nuevo espacio de caracterı́stica puede ser infinito-dimensional (donde se
asegura la linealidad).
El mapeo al nuevo espacio de caracterı́stica es muy costoso y sobre todo
trabajar dentro de él. No obstante, existe un teorema que nos permite obtener
resultados de comparación dentro de aquel espacio, sin la necesidad de mapear
explı́citamente los datos.
Sólo se necesita el resultado del kernel, el cual corresponderá a la similaridad
entre dos datos.

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 34 / 37
Algunos Kernel

Sea x = (x1 , x2 , · · · , xk )> una observación representado como vector.


Sea y = (y1 , y2 , · · · , yk )> otra observación.

Kernel Lineal:
k(x, y) = x> · y
Kernel Polinomial:
k(x, y) = (x> · y + 1)p
Kernel Gaussiano:
k(x, y) = exp(−||x − y||2 /2σ2 )
Kernel Sigmoidal:
k(x, y) = tanh(cx> · y + θ)

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 35 / 37
ν-SVM

El parámetro ν controla la proporción de errores permitidos, acotándolo superiormente. Y


también acota inferiormente la proporción de vectores de soporte utilizados.

ν 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8


% error 0.00 0.07 0.25 0.32 0.39 0.5 0.61 0.71
% SV 0.29 0.36 0.43 0.46 0.57 0.68 0.79 0.86

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 36 / 37
Preguntas?

elopez[at]inf.utfsm.cl
carlos.valle[at]upla.cl
LATEX

E. López, C. Valle (DI-UTFSM) Diplomado en Data Science - Modulo 4 21 de Octubre del 2020 37 / 37

También podría gustarte