Los países por porcentaje de población blanca europea en AL (2024).pdf
2023-TFG3_ArbolesDecision_Basket
1. Aprendizaje automático. Aplicación a las predicciones
en el baloncesto
Daniel Florén Lario
Universidad de Zaragoza
Grado de Matemáticas
Tutor del TFG:
Ricardo López Ruiz
Defensa TFG
Julio, 19, 2023
2. Índice
1 Introducción al aprendizaje automático
2 Árboles de decisión
3 Métodos boosting
4 Aplicación del algoritmo XGBoost
3. Introducción al aprendizaje automático
• ¿Qué es el aprendizaje automático?
"La estadística es la ciencia del aprendizaje a partir de datos. El
aprendizaje automático es la ciencia del aprendizaje a partir de datos.
Estos campos son idénticos en su intención aunque difieren en su historia,
convenciones, énfasis y cultura".
Larry A. Wasserman, estadístico
Defensa del TFG 18 de julio de 2023 3
4. Introducción al aprendizaje automático
Tipos de aprendizaje automático:
• Aprendizaje supervisado
• Aprendizaje no supervisado
• Aprendizaje por refuerzo
Defensa del TFG 18 de julio de 2023 4
6. Introducción al aprendizaje automático
Aprendizaje supervisado, formalización
Queremos predecir una variable Y basándonos en p variables predictoras:
X = (X1, ..., Xp). Asumimos una relación Y = f(X) + ϵ, donde ϵ es una
v.a representando el error, independiente de X y con esperanza nula.
El aprendizaje supervisado estudia los métodos para estimar o aprender f.
Para ello, necesitamos un conjunto de datos etiquetados. En general,
tenemos un conjunto τ = {(x1, y1), (x2, y2), . . . , (xn, yn)} de datos de
entrenamiento que nos ayudará a estimar la función f.
El proceso de estimación de la función f es distinto según el problema
específico al que nos enfrentamos. En general, hay dos tipos de problemas:
problemas de regresión y problemas de clasificación
Defensa del TFG 18 de julio de 2023 6
7. Introducción al aprendizaje automático
Aprendizaje supervisado, formalización
Queremos predecir una variable Y basándonos en p variables predictoras:
X = (X1, ..., Xp). Asumimos una relación Y = f(X) + ϵ, donde ϵ es una
v.a representando el error, independiente de X y con esperanza nula.
El aprendizaje supervisado estudia los métodos para estimar o aprender f.
Para ello, necesitamos un conjunto de datos etiquetados. En general,
tenemos un conjunto τ = {(x1, y1), (x2, y2), . . . , (xn, yn)} de datos de
entrenamiento que nos ayudará a estimar la función f.
El proceso de estimación de la función f es distinto según el problema
específico al que nos enfrentamos. En general, hay dos tipos de problemas:
problemas de regresión y problemas de clasificación
Defensa del TFG 18 de julio de 2023 6
8. Introducción al aprendizaje automático
Aprendizaje supervisado, formalización
Queremos predecir una variable Y basándonos en p variables predictoras:
X = (X1, ..., Xp). Asumimos una relación Y = f(X) + ϵ, donde ϵ es una
v.a representando el error, independiente de X y con esperanza nula.
El aprendizaje supervisado estudia los métodos para estimar o aprender f.
Para ello, necesitamos un conjunto de datos etiquetados. En general,
tenemos un conjunto τ = {(x1, y1), (x2, y2), . . . , (xn, yn)} de datos de
entrenamiento que nos ayudará a estimar la función f.
El proceso de estimación de la función f es distinto según el problema
específico al que nos enfrentamos. En general, hay dos tipos de problemas:
problemas de regresión y problemas de clasificación
Defensa del TFG 18 de julio de 2023 6
9. Introducción al aprendizaje automático
En un problema de regresión, la variable Y es cuantitativa (precio,
presión arterial, altura, ...). Algunos de los métodos más usados son:
• Regresión lineal
• Árboles de regresión
• Vectores de soporte para regresión
• Redes neuronales
Defensa del TFG 18 de julio de 2023 7
10. Introducción al aprendizaje automático
Regresión lineal
Se asume que la dependencia de Y en X es lineal, es decir,
Y = β0 + β1X1 + ...βpXp. El estimador de la función f es el hiperplano de
mínimos cuadrados ˆ
f(X) = Xβ̂, β̂ = (XtX)−1XtY
Defensa del TFG 18 de julio de 2023 8
11. Introducción al aprendizaje automático
Árboles de regresión
Se explicarán a fondo en el siguiente capítulo.
Defensa del TFG 18 de julio de 2023 9
12. Introducción al aprendizaje automático
Vectores de soporte para regresión
Funciona igual que la regresión lineal (en el sentido que asume una
dependencia lineal de Y y X) , pero en este caso queremos que minimizar
la norma ∥β∥. Para obtener el estimador de f se resuelven una serie de
problemas de optimización lineal ligados al problema:
mı́n
β
J(β) =
1
2
βt
β
s.t. ∥Y − Xβ∥ ≤ ϵ ⇐⇒ |Yi − (β0 +
p
X
j=1
Xijβj)| ≤ ϵi ∀i = 1, ..., n
ϵ ≥ 0n
Finalmente se obtiene: ˆ
f(X) = Xβ̂ = XXt(α + α∗) , donde α, α∗ ∈ Rn
son los multiplicadores de Lagrange introducidos para resolver cierto
problema dual.
Defensa del TFG 18 de julio de 2023 10
13. Introducción al aprendizaje automático
Redes neuronales
Se trata de modelos altamente parametrizados inspirados en la arquitectura
del cerebro humano. Para predecir la variable Y en función de X, creamos
dos capas representando la entrada y salida del problema y añadimos
alguna capa oculta de neuronas artificiales simulando las del cerebro.
Una red neuronal es una función no lineal f(X; w) + ϵ parametrizada por
pesos w
Defensa del TFG 18 de julio de 2023 11
15. Introducción al aprendizaje automático
En un problema de clasificación, la variable Y es cualitativa (un correo
puede ser spam o no, un dígito se encuentra en el conjunto {0, ..., 9}, ...).
Algunos de los métodos más usados son:
• Regresión logística
• Árboles de clasificación
• Clasificador bayesiano ingenuo
• Redes neuronales
Defensa del TFG 18 de julio de 2023 13
16. Introducción al aprendizaje automático
Regresión logística
Es un modelo estadístico que estima la probabilidad de un resultado
binario Y ∈ {0, 1}. ¿Regresión o clasificación?. Sea πi = Pr(Yi = 1|X)
log ( πi
1−πi
) = β0 + β1X1i + ... + βpXpi =⇒
π̂i =
exp( ˆ
β0 + ˆ
β1X1i + ... + ˆ
βpXpi)
1 + exp( ˆ
β0 + ˆ
β1X1i + ... + ˆ
βpXpi)
Defensa del TFG 18 de julio de 2023 14
17. Introducción al aprendizaje automático
Clasificador bayesiano ingenuo
Basándose en el Teorema de Bayes, el clasificador bayesiano ingenuo trata
de encontrar las probabilidades condicionadas a cada clase:
Pr(Y = k|X = x) =
Pr(X|Y )Pr(Y )
Pr(X)
=
Pr(X1|Y ) · · · Pr(Xn|Y )Pr(Y )
Pr(X1) · · · Pr(Xn)
∝ P(Y )
n
Q
i=1
Pr(Xi|Y )
Finalmente, debemos de encontrar la clase k con máxima probabilidad:
C(X) = argmaxk Pr(Y = k)
n
Q
i=1
Pr(Xi|Y = k)
Defensa del TFG 18 de julio de 2023 15
18. Introducción al aprendizaje automático
Redes neuronales y máquinas de vectores de soporte
Ambos métodos resuelven tanto problemas de regresión como de
clasificación. Al entrenar una red neuronal para predecir una clase de entre
las M clases, se escoge la clase k tal que yk = argmáxmym.
En el caso de las máquinas de vectores de soporte, se asume Y ∈ {0, 1}
(hay técnicas para pasar de clasificación binaria a múltiple). La diferencia
es que ahora tratamos de encontrar el hiperplano que mejor separa las dos
clases, es decir, el que se orienta en la dirección que maximiza la distancia
entre el miembro más cercano de cada clase.
Defensa del TFG 18 de julio de 2023 16
19. Introducción al aprendizaje automático
Redes neuronales y máquinas de vectores de soporte
Ambos métodos resuelven tanto problemas de regresión como de
clasificación. Al entrenar una red neuronal para predecir una clase de entre
las M clases, se escoge la clase k tal que yk = argmáxmym.
En el caso de las máquinas de vectores de soporte, se asume Y ∈ {0, 1}
(hay técnicas para pasar de clasificación binaria a múltiple). La diferencia
es que ahora tratamos de encontrar el hiperplano que mejor separa las dos
clases, es decir, el que se orienta en la dirección que maximiza la distancia
entre el miembro más cercano de cada clase.
Defensa del TFG 18 de julio de 2023 16
20. Árboles de decisión
• En este capítulo se analizan los métodos de regresión y clasificación
basados en árboles.
• Estos métodos consisten principalmente en dividir el espacio muestral
en regiones sencillas y realizan predicciones para cada una de las
regiones basándose generalmente en la media o la moda de dicha
región.
• Son métodos simples, fáciles de interpretar y de representar
• Sin embargo, el precio a pagar es la precisión en las predicciones
• De nuevo, según al problema al que nos enfrentemos, podemos hablar
de árboles de regresión o árboles de clasificación.
Defensa del TFG 18 de julio de 2023 17
21. Árboles de decisión
Árboles de regresión
Empecemos con un ejemplo simple, un dataset en el que y es una variable
continua representando el salario de un jugador de béisbol, x1 es el número
de años profesionales de un jugador y x2 es el número de golpes en el
último año. En la gráfica se muestra la relación entre estas 3 variables:
Defensa del TFG 18 de julio de 2023 18
22. Árboles de decisión
Árboles de regresión
Queremos predecir el salario de un jugador basándonos en su experiencia y
el número de golpes en el último año. Un árbol de regresión trata de
encontrar para cada una de las dos variables una división xj ≤ s y estima
y como la media aritmética en cada región. La división óptima (aquella
que reduce los errores cuadráticos) se haya entre las dos variables y todos
posibles valores de s:
Defensa del TFG 18 de julio de 2023 19
23. Árboles de decisión
Árboles de regresión
Entrenamiento de un arbol de regresión
Como hemos mencionado, en el caso de regresión se suele adoptar el
objetivo de minimizar la suma residual de cuadrados, es decir, buscamos
regiones R1, ..., RJ que minimizan
J
P
m=1
P
i∈Rm
(yi − ŷm)2 , donde ŷm es la
media de los yi’s en cada región: ŷm =
P
i yi1(xi ∈ Rm)
P
i 1(xi ∈ Rm)
.
Como es inviable considerar cada posible división, para cada variable xj
consideraremos el valor s que minimiza
P
i:xj≤s
(yi − ŷ1)2 +
P
i:xj>s
(yi − ŷ2)2 .
Despúes, se elige la mejor pareja (j,s) y se particiona el espacio muestral
en dos zonas. Para cada una de estas zonas se repite el proceso hasta
alcanzar una condición de parada.
Defensa del TFG 18 de julio de 2023 20
24. Árboles de decisión
Árboles de regresión
Entrenamiento de un arbol de regresión
Como hemos mencionado, en el caso de regresión se suele adoptar el
objetivo de minimizar la suma residual de cuadrados, es decir, buscamos
regiones R1, ..., RJ que minimizan
J
P
m=1
P
i∈Rm
(yi − ŷm)2 , donde ŷm es la
media de los yi’s en cada región: ŷm =
P
i yi1(xi ∈ Rm)
P
i 1(xi ∈ Rm)
.
Como es inviable considerar cada posible división, para cada variable xj
consideraremos el valor s que minimiza
P
i:xj≤s
(yi − ŷ1)2 +
P
i:xj>s
(yi − ŷ2)2 .
Despúes, se elige la mejor pareja (j,s) y se particiona el espacio muestral
en dos zonas. Para cada una de estas zonas se repite el proceso hasta
alcanzar una condición de parada.
Defensa del TFG 18 de julio de 2023 20
25. Árboles de decisión
Árboles de regresión
Entrenamiento de un arbol de regresión
Como hemos mencionado, en el caso de regresión se suele adoptar el
objetivo de minimizar la suma residual de cuadrados, es decir, buscamos
regiones R1, ..., RJ que minimizan
J
P
m=1
P
i∈Rm
(yi − ŷm)2 , donde ŷm es la
media de los yi’s en cada región: ŷm =
P
i yi1(xi ∈ Rm)
P
i 1(xi ∈ Rm)
.
Como es inviable considerar cada posible división, para cada variable xj
consideraremos el valor s que minimiza
P
i:xj≤s
(yi − ŷ1)2 +
P
i:xj>s
(yi − ŷ2)2 .
Despúes, se elige la mejor pareja (j,s) y se particiona el espacio muestral
en dos zonas. Para cada una de estas zonas se repite el proceso hasta
alcanzar una condición de parada.
Defensa del TFG 18 de julio de 2023 20
26. Árboles de decisión
Árboles de regresión
¿Cuándo paramos de particionar?
• Cuando el número de nodos alcanza cierto límite
• Cuando el número de observaciones en cada región alcanza cierto
límite
• Cuando el árbol alcanza cierto nivel de profundidad
• Intuitivamente, un árbol pequeño podría ser demasiado simple,
mientras que un árbol muy grande podría sobreajustar los datos.
A partir de ahora, T0 representará el mayor árbol considerado, y |T0| el
número de nodos terminales. Podemos obtener un subárbol T (|T| < |T0|)
podando el árbol T0, es decir, eliminando alguna de sus ramas.
Necesitamos medidas que nos indiquen cuando debemos podar un árbol.
Defensa del TFG 18 de julio de 2023 21
27. Árboles de decisión
Árboles de regresión
Impureza de un nodo
Qm(T) =
1
Nm
P
i:xi∈Rm
(yi − ŷm)2
Criterio de coste-complejidad
Cα(T) =
|T|
P
m=1
NmQm(T) + α|T|
El parámetro α es un parámetro de regularización introducido para
equilibrar el tamaño del árbol con la calidad del ajuste. Para cualquier α
dado, existe un árbol Tα que minimiza el criterio anterior. Como sugiere la
notación, con α = 0 obtenemos T0, el árbol completo. En general, α se
suele elegir mediante validación cruzada.
Defensa del TFG 18 de julio de 2023 22
28. Resumen del entrenamiento de un árbol de regresión
1 Utilizar la división binaria recursiva para hacer crecer un árbol grande
en los datos de entrenamiento
2 Aplicar el criterio de coste-complejidad al árbol grande para obtener
una secuencia de los mejores subárboles, en función de α.
3 Utilizar la validación cruzada de K iteraciones para elegir α.
Para cada k = 1, . . . ,K:
1 Repita los pasos 1 y 2 en las K − 1 K-ésimas fracciones de los datos de
entrenamiento, excluyendo la k-ésima fracción
2 Evaluar el error cuadrático medio de predicción sobre los datos en la
k-ésima fracción, como una función de α
3 Promediar los resultados, y elegir α para minimizar el error medio
4 Devuelve el subárbol del paso 2 que corresponde al valor de α elegido
Defensa del TFG 18 de julio de 2023 23
29. Árboles de decisión
Árboles de clasificación
La idea principal es la misma: dividimos recursivamente el espacio muestral
y ajustamos un modelo muy sencillo en cada partición. En el caso de la
clasificación, nuestro modelo simplemente estima la probabilidad
Pr(y = k|x) como la proporción observada de observaciones en el nodo m
que pertenecen a la clase k:
π̂mk =
1
Nm
P
xi∈Ri
1(yi = k) ,
A continuación, clasificamos las observaciones en el m-ésimo nodo según
la mayor probabilidad entre las k clases:
C(m) = argmaxkπ̂mk
Defensa del TFG 18 de julio de 2023 24
30. Árboles de decisión
Árboles de clasificación
• No podemos calcular mínimos cuadrados sobre predictores
categóricos.
• Necesitamos otras medidas de impureza de nodos Qm(T) para
construir árboles de clasificación
• Principalmente se usan el error de clasificación, el índice de Gini y la
desviación.
• Para calcular el criterio de coste-complejidad se usa el error de
clasificación como medida de impureza.
• El resto del algoritmo funciona exáctamente igual que en el caso de
regresión.
Defensa del TFG 18 de julio de 2023 25
31. Árboles de decisión
Métodos de ensemble
• La gran ventaja de los árboles de decisión es su interpretabilidad
Sin embargo, surgen algunas dudas:
• ¿Son estos árboles estables frente a perturbaciones en los datos?
• ¿Cómo sabemos si hay variables irrelevantes?
• ¿Podemos realizar test de hipótesis como en la regresión lineal?
Podemos mejorar el rendimiento de los árboles de decisión mediante las
técnicas de ensemble de árboles. Nos centramos en los métodos bosques
aleatorios y el boosting. El precio a pagar es la sacrificación de parte de la
interpretabilidad del modelo simple.
Defensa del TFG 18 de julio de 2023 26
32. Árboles de decisión
Métodos de ensemble
Bosques aleatorios
• Dado un conjunto de datos, generamos B muestras boostrap del
mismo tamaño.
• Para cada una de las B muestras construimos un árbol de decisión,
teniendo en cuenta un pequeño detalle: cada vez que se realiza una
división del espacio muestral, solamente consideraremos m variables
(aleatoriamente) de entre las p variables de predicción para realizar la
división.
• En el caso de regresión, para calcular predicciones se realiza una
media aritmética del valor obtenido en cada uno de los B árboles.
• Para clasificación, se escoge la clase con más votos de entre los B
árboles votantes (la moda).
Defensa del TFG 18 de julio de 2023 27
34. Métodos boosting (regresión)
• En los bosques aleatorios, cada uno de los B árboles se construye
independientemente de los demás y se usa la información de todos
ellos para obtener un modelo final.
• El boosting funciona de forma similar, salvo que los árboles crecen de
forma secuencial.
• A diferencia de ajustar un único árbol grande a los datos, que pueda
potencialmente sobreajustarlos, el enfoque boosting aprende
lentamente.
• Se ajusta un árbol de regresión pequeño a los residuos del modelo,
mejorando lentamente ˆ
f en las áreas en las que su rendimiento era
pobre.
• Se actualizan los residuos
• El modelo final tiene en cuenta todos los pequeños árboles creados
Defensa del TFG 18 de julio de 2023 29
36. Métodos boosting (regresión)
1 Se ajusta ˆ
f(x) = 0 y ri = yi para todos los i en el conjunto de datos
de entrenamiento.
2 Para b = 1, 2,...,B, repetir:
1 Entrenar un árbol ˆ
fb con d divisiones (d + 1 nodos terminales) a los
datos de entrenamiento. d suele ser un valor bajo
2 Actualizar ˆ
f añadiendo una versión reducida del nuevo árbol:
ˆ
f(x) ← ˆ
f(x) + λ ˆ
fb(xi)
3 Actualizar los residuos: ri ← ri − λ ˆ
fb(xi)
3 Salida del modelo boosting: ˆ
f(x) =
B
P
b=1
λ ˆ
fb(x)
Defensa del TFG 18 de julio de 2023 31
37. Métodos boosting
• ¿Cuáles son los mejores valores para (B, d, λ)?
• Si el número de árboles creados B es alto, podríamos sobreajustar los
datos.
• Cuanto más bajo sea el valor de d, más simples los árboles creados y
más lento el aprendizaje
• El parámetro de contracción λ ralentiza aún más el proceso,
permitiendo que los árboles ataquen a los residuos de formas
diferentes.
• En el caso de clasificación, no tenemos residuos, luego el proceso es
distinto: Se le asigna un peso a cada observación, se entrena un
pequeño clasificador y se actualizan los pesos en función del
rendimiento del clasificador. El modelo final clasifica según el voto
mayoritario teniendo en cuenta todos árboles.
Defensa del TFG 18 de julio de 2023 32
38. Métodos boosting: Gradient boosting
• Al igual que otros métodos boosting, gradient boosting combina
pequeños aprendices débiles en un único aprendiz fuerte de forma
iterativa.
• Para evitar confusiones, realizaremos un pequeño cambio en la
notación: F̂ será el modelo boosting, mientras que ˆ
fb serán los
aprendices débiles introducidos en cada etapa. Por lo tanto, en cada
etapa (1 ≤ b ≤ B) F̂b es la versión actualizada de F̂b−1 teniendo en
cuenta el pequeño árbol ˆ
fb : F̂b = F̂b−1 + λb
ˆ
fb , y nuestro modelo
final será F̂boost = F̂B.
• Como en todos métodos boosting, gradient boosting ajusta λb
ˆ
fb al
residuo yi − F̂b(xi)
Defensa del TFG 18 de julio de 2023 33
39. Métodos boosting: Gradient boosting
El problema es que a veces la función de pérdida L no es simplemente
LMSE =
1
n
n
P
i=1
(yi − F̂(xi))2 =
1
n
n
P
i=1
r2
i
Es decir, ya no nos interesa reducir los residuos sino encontrar λb
ˆ
fb tales
que:
(λb, ˆ
fb) = argmin(λ,f)
n
P
i=1
L(yi, F̂b−1(xi) + λf(xi)) =
Para una función de pérdida general L, gradient boosting en su
entrenamiento ajusta λb
ˆ
fb a lo que se conoce como pseudo-residuos:
gb
i = −
"
∂L(yi, F̂)
∂F̂
#
F̂=F̂b−1(x)
, i = 1, ..., n
Defensa del TFG 18 de julio de 2023 34
40. Métodos boosting: Gradient boosting
1 El modelo inicial es constante: F̂0(x) = argminλ
n
P
i=1
L(yi, λ)
2 Para b = 1, ..., B:
1 Calcular los pseudo-residuos gb
i : gb
i = −
"
∂L(yi, F̂(xi))
∂F̂(xi)
#
F̂ =F̂b−1(x)
2 Ajustar un aprendiz débil ˆ
fb a los gb
i
3 Calcular el parámetro λb resolviendo el problema de optimización:
λb = argminλ
n
P
i=1
L(yi, F̂b−1(xi) + λ ˆ
fb(xi))
4 Actualizar el modelo: F̂b(x) = F̂b−1(x) + λb
ˆ
fb(x)
3 El modelo final es F̂boost(x) = F̂B(x)
Defensa del TFG 18 de julio de 2023 35
41. Métodos boosting: XGBoost
• Funciona exactamente igual que el gradient boosting, pero con la
particularidad de que los árboles se construyen de manera distinta:
• Cada XGBTree trata de minimizar la ecuación:
n
P
i=1
L(yi, F̂(xi)) + γT +
1
2
λ ˆ
f(x)2
• Tras usar aproximaciones de Taylor de segundo orden, el valor de
ˆ
f(x) que minimiza la ecuación es ˆ
fb(x) =
−(g1 + ... + gn)
(h1 + ... + hn + λ)
,
siendo gi y hi la primera y segunda derivada de L respecto de F̂.
• Este proceso nos dará el valor de salida de cada nodo
Defensa del TFG 18 de julio de 2023 36
42. Métodos boosting: XGBoost
• La puntuación de similitud para cada nodo se define como:
ss =
(
nres
P
i=1
ri)2
nres + λ
• Al igual que en los árboles normales, consideramos posibles divisiones
de la forma xj ≤ s y xj > s, pero ahora con el objetivo de minimizar
la ganancia de cada división:
Gain = ssL + ssR − ssRoot ,
• Calculamos esta ganancia para cada variable xj y punto de división s,
y escogemos la pareja (j, s) que nos da la mayor ganancia (tal y como
hacíamos con los árboles normales).
• Continuamos hasta alcanzar alguna condicion de parada.
Defensa del TFG 18 de julio de 2023 37
43. Métodos boosting: XGBoost
• El parámetro γ visto en la primera ecuación interviene en la poda del
árbol
• Para cada division, se calcula la diferencia entre la ganancia de la
división y γ. Podaremos dicha rama si el valor de la diferencia es
negativo.
• Finalmente, como habíamos anticipado el valor de salida de cada
nodo es ˆ
fb(x) =
−(g1 + ... + gn)
(h1 + ... + hn + λ)
, que en el caso L = LMSE se
corresponde con
nres
P
i=1
ri
nres + λ
.
Defensa del TFG 18 de julio de 2023 38
44. Métodos boosting: XGBoost
1 Inicializar el modelo con un valor constante:
F̂0(x) = argminθ
n
P
i=1
L(yi, θ)
2 Para b = 1, ... , B:
1 Calcular los gradientes y hessians de la funciton pérdida:
gi =
d
dF̂
L(yi, F̂(xi))
F̂ =F̂b−1
hi =
d2
dF̂2
L(yi, F̂(xi))
F̂ =F̂b−1
.
2 Ajustar un XGBTree ˆ
fb utilizando gi y hi.
3 Actualizar el modelo: F̂b(x) = F̂b−1(x) + η ˆ
fb(x).
3 Salida del modelo final: F̂XGB(x) = F̂B(x) = F̂0(x) + η
B
P
b=1
ˆ
fb(x)
Defensa del TFG 18 de julio de 2023 39
50. Aplicación Real: Análisis de los datos
• Al fusionar ambos conjuntos de datos, obtenemos un dataset con
217764 partidos y 34 variables.
• Como explicaremos en la siguiente sección, es muy conveniente
introducir una variable ResDif que representa la diferencia de
puntuación.
• Tras calcular la matriz de correlaciones, las correlaciones más altas
entre variables son las de los lanzamientos (de 2 puntos, de 3 y tiros
libres) intentados/metidos.
• En cuanto a la variable ResDif, el número de tiros de campo
realizados y el número de asistencias se encuentran entre las
estadísticas de equipo más correlacionadas
Defensa del TFG 18 de julio de 2023 45
52. Aplicación Real: Análisis de los datos
El último dataset, MNCAATourneySeeds, simpolemente proporciona el
número de cabeza de serie asociado a cada equipo del March Madness en
torneos pasados.
Defensa del TFG 18 de julio de 2023 47
53. Aplicación Real: Análisis de los datos
• Predecir cómo jugará un equipo contra cualquier otro requiere
información sobre el rendimiento de ambos equipos durante la
temporada regular.
• Necesitamos variables (tan pocas como sea posible) que recopilen
información valiosa sobre la competencia del equipo y sus logros
frente a diversos aspectos de la liga.
• Tras probar distintas combinaciones de características de resumen y
aplicar algunos conocimientos sobre baloncesto, nos quedamos con las
siguientes variables para nuestro modelo (para cada uno de los dos
equipos que juegan el partido)
Defensa del TFG 18 de julio de 2023 48
54. Aplicación Real: Análisis de los datos
• x1 = Semilla del equipo (al fin y al cabo, es el indicador número 1 de
la fuerza del equipo)
• x2 = Ratio de victorias a lo largo de la temporada (un equipo con un
mayor porcentaje de victorias es tiene más probabilidades de estar en
racha)
• x3 = Media de puntos anotados
• x4 = Media de diferencia de puntuación
• x5 = Media del porcentaje efectivo de acierto (es una métrica de
eficiencia de tiro que tiene en cuenta el hecho de que un triple vale
más que un tiro de campo). EFG =
FGM + 0,5 × 3PM
FGA
Defensa del TFG 18 de julio de 2023 49
55. Aplicación Real: Análisis de los datos
• x6 = Media de asistencias
• x7 = Media de tapones
• x8 = Media de anotación del oponente
• x9 = Media de EFGpct del adversario.
Puesto que en cada encuentro compiten dos equipos, tenemos estas 9
variables para cada equipo, luego nuestro modelo final tendrá 18 variables
(x1, ..., x18)
Defensa del TFG 18 de julio de 2023 50
56. Aplicación real: Modelización
• Queremos calcular para cada posible encuentro de entre los 64
equipos la posibilidad de que el equipo 1 gane al equipo 2.
• ¿Problema de regresión o de clasificación?
• Nuestro algoritmo XGBoost llevará a cabo la tarea de predecir la
diferencia de resultado ResDif en cada partido.
• Para convertir dichas diferencias en probabilidades, usaremos dos
métodos distintos.
Defensa del TFG 18 de julio de 2023 51
57. Aplicación real: Modelización
Implementación del algoritmo XGBoost en R:
La librería de R xgboost es una librería optimizada de gradient boosting
diseñada para ser altamente eficiente, flexible y portable. Implementa
algoritmos de aprendizaje automático en el marco del Gradient Boosting.
Debido a su capacidad para manejar relaciones complejas y datos de alta
dimensión, la implementación basada en árboles de XGBoost es el
algoritmo más adecuado para predecir nuestra variable ResDif. Según el
algoritmo visto en el anterior capítulo, el algoritmo XGBoost necesita
(además de otros parámetros más específicos que introduciremos) dos
cosas:
• Un conjunto de datos etiquetados.
• Una función de pérdida L
Defensa del TFG 18 de julio de 2023 52
61. Aplicación real: Modelización
Función objetivo
En lugar de utilizar la función de pérdida como parámetro, xgboost nos
pide la función objetivo, que es básicamente una tupla con las derivadas
primera y segunda de la función de pérdida (precisamente los gi y hi de
nuestro pseudoalgoritmo).
• ¿Qué función de pérdida? MSE, MAE, RMSE, ...
• El error absoluto no es una función diferenciable, debemos encontrar
alternativas.
Defensa del TFG 18 de julio de 2023 56
62. Aplicación real: modelización
Funciones de pérdida que aproximan el valor absoluto
• Función de cauchy:
c2
2
ln
x2
c2
+ 1
!
, c 0
• Función fair: c2
|x|
c
− ln
|x|
c
+ 1
, c 0
Defensa del TFG 18 de julio de 2023 57
63. Aplicación real: modelización
Validación cruzada
• Nuestro conjunto de datos es bastante escaso, ya que disponemos
únicamente de n = 2628 partidos para entrenar el algoritmo.
• La validación cruzada se encarga de entrenar el modelo asegurándose
de usar todas porciones de los datos tanto para entrenar como para
validar.
• En nuestro caso usaremos validación cruzada de 5 iteraciones
• La realizaremos 10 veces para asegurarnos de que los árboles creados
son óptimos. =⇒ Tenemos 10 modelos XGBoost
Defensa del TFG 18 de julio de 2023 58
65. Aplicación real: modelización
Evaluación de las probabilidades
LogLoss = −
1
n
n
P
i=1
[yilog(F̂(xi)) + (1 − yi)log(1 − F̂(xi))]
• n es el número de partidos jugados
• F̂(xi) es la probabilidad predecida de que el equipo 1 gane al equipo 2
• yi es el resultado binario del partido (1 si gana el equipo 1, 0 si gana
el equipo 2)
En la competición del año pasado, el rango fue de 0,51-2. mientras que los
mejores usuarios (aquellos en el primer cuartil de todas las puntuaciones)
obtuvieron una puntuación en el rango de 0,51-0,59. No obstante, hay
que tener en cuenta que dependiendo del año estas puntuaciones pueden
variar hasta 0,1 puntos hacia arriba o hacia abajo.
Defensa del TFG 18 de julio de 2023 60
72. Aplicación real: resultados
Exámen: Datos de 2023
Para hacer el problema aún más real, hemos recopilado los datos del
campeonato este año. Los resultados de nuestro modelo fueron los
siguientes:
• MAE de 9.08 puntos
• 74.6 % de victorias predecidas
• LogLoss de 0.58
Defensa del TFG 18 de julio de 2023 67