Parámetros e hiperparámetros

42 min
Bloque 1 — El vocabulario fundamental
Objetivo
saber distinguir sin vacilación lo que un modelo aprende de lo que un ingeniero le impone, saber nombrar los hiperparámetros usuales de cada familia de algoritmos y el efecto de cada uno, saber verificar esta distinción en el código, y disponer del vocabulario de evaluación que se profundizará en los bloques siguientes: pérdida, métrica, puntuación, umbral, referencia ingenua.
Duración estimada
45 minutos
Requisitos previos
capítulos 001 a 008
Quiz asociados
009.1-quiz-parametre-appris.md a 009.7-quiz-loss-metric-score-seuil-baseline.md

1. Dos categorías de números en un modelo

Un modelo entrenado es un objeto numérico: contiene números. Estos números no son todos de la misma naturaleza, y su confusión es uno de los errores más frecuentes al inicio de la práctica.

CategoríaOrigenFijado cuándoQuién decide
ParámetroCalculado por el procedimiento de optimizaciónDurante el entrenamientoEl algoritmo, a partir de los datos
HiperparámetroInformado antes del lanzamiento del entrenamientoAntes del entrenamientoEl ingeniero, o un procedimiento de búsqueda

El capítulo 008 distinguió el algoritmo, que es un procedimiento, del modelo, que es el resultado de su aplicación a un conjunto de datos. Los hiperparámetros configuran el procedimiento; los parámetros constituyen el resultado.

Lectura del diagrama: los hiperparámetros figuran en el modelo final al igual que los parámetros, puesto que describen su configuración, pero llegan a él por un camino diferente: nunca han atravesado el procedimiento de optimización.

ANALOGÍA — La receta, el ajuste del horno, la masa y el pastel

Cuatro objetos distintos intervienen en la confección de un pastel, y corresponden término a término a los cuatro objetos del Machine Learning.

La receta es la sucesión de operaciones a realizar: mezclar, incorporar, hornear, dejar reposar. Existe independientemente de todo pastel particular. Es el algoritmo.

Los ajustes son las decisiones tomadas antes de hornear: horno a 180 °C, cocción de 35 minutos, tamaño del molde. El pastelero los fija de antemano; ninguno se descubre durante la cocción, todos la condicionan. Son los hiperparámetros.

Lo que la masa llega a ser durante la cocción — estructura de la miga, coloración de la corteza, distribución de la humedad — no lo decide nadie: resulta de la interacción entre los ingredientes y los ajustes. Son los parámetros aprendidos.

El pastel salido del horno es el objeto terminado obtenido aplicando esta receta a estos ingredientes con estos ajustes. Es el modelo.

Tres consecuencias se leen directamente en la analogía. Los mismos ingredientes y la misma receta dan pasteles diferentes según los ajustes: de ahí la optimización de los hiperparámetros, tratada en el capítulo 035. No existe temperatura universalmente correcta, sino una temperatura adaptada a un pastel y a un horno: tampoco existe un max_depth óptimo en sí. Por último, no se determina la temperatura correcta sirviendo el pastel al jurado del concurso y volviendo a empezar: el jurado solo prueba una vez, los ensayos se hacen sobre hornadas de prueba. Es el estatus del conjunto de test, desarrollado en el apartado 6.

Límite de la analogía: el pastelero puede abrir el horno y observar la cocción. La formación de los parámetros no es, en cambio, observable paso a paso de forma interpretable. La analogía describe los roles, no la transparencia del proceso.


2. El parámetro: lo que el procedimiento de optimización ajusta

DEFINICIÓN — Parámetro de un modelo (model parameter)

Definición rigurosa

Magnitud interna de un modelo cuyo valor está determinado por el procedimiento de optimización aplicado a los datos de entrenamiento, con vistas a minimizar una función objetivo definida sobre esos datos. El conjunto de los parámetros, denotado usualmente θ, identifica de manera unívoca una función particular dentro de la familia de funciones que el algoritmo es capaz de representar.

Formulación conjuntista

El algoritmo define una familia de funciones candidatas, llamada espacio de hipótesis y denotada H. El entrenamiento consiste en seleccionar un elemento h ∈ H. Los parámetros son las coordenadas de ese elemento en H.

Traducción al lenguaje corriente

Son los números que el modelo ha calculado por sí mismo a partir de los datos, y que constituyen lo esencial de lo que ha retenido. Son ellos los que se escribirán en el archivo del modelo y se recargarán en el momento de predecir.

Punto de vigilancia

Un parámetro solo tiene sentido en relación con el conjunto de datos que lo produjo. Reentrenar el mismo algoritmo sobre otra muestra produce otros parámetros. Un coeficiente no es, por tanto, una constante física: es una estimación, acompañada de una incertidumbre de muestreo.

2.1 Modelos lineales: coeficientes y constante

La regresión lineal múltiple modela el objetivo como combinación afín de las variables explicativas:

ŷ = b₀ + b₁·x₁ + b₂·x₂ + ... + b_p·x_p

Los parámetros aprendidos son los p coeficientes b₁ a bpb_p y la constante b₀, es decir p + 1 valores. Ninguna otra magnitud se memoriza.

Ejemplo numérico — estimación del precio de una vivienda

VariableCoeficiente aprendidoInterpretación
Constante (b₀)42 300Precio de base en dólares, todas las variables nulas
Superficie habitable (m²)2 180Cada m² adicional añade 2 180 $
Número de dormitorios6 400Cada dormitorio adicional añade 6 400 $
Antigüedad del inmueble (años)−870Cada año de antigüedad resta 870 $
Distancia al centro (km)−3 150Cada km adicional resta 3 150 $

El modelo entero cabe en estos cinco números. Para una vivienda de 85 m², tres dormitorios, doce años, cuatro kilómetros del centro: ŷ = 42 300 + 2 180×85 + 6 400×3 − 870×12 − 3 150×4 = 224 570 $.

Punto de vigilancia: la cláusula «a igualdad de las demás condiciones» supone que las variables pueden variar independientemente unas de otras, hipótesis raramente verificada. La colinealidad se trata en el capítulo 045.

En regresión logística, la estructura es idéntica, siendo la combinación lineal transformada por una sigmoide para producir una probabilidad. Los parámetros siguen siendo los coeficientes y la constante (capítulo 036).

2.2 Redes neuronales: pesos y sesgos

DEFINICIÓN — Pesos y sesgos de una red neuronal

Definición rigurosa

En un perceptrón multicapa, cada neurona de una capa calcula una suma ponderada de las salidas de la capa anterior, aumentada con un término constante, y luego aplica una función de activación no lineal. Los coeficientes de la suma ponderada son los pesos (weights), el término constante es el sesgo (bias). Pesos y sesgos constituyen la totalidad de los parámetros aprendidos de la red.

Conteo

Para una capa que recibe m entradas y comprende n neuronas, el número de parámetros es m × n pesos más n sesgos.

Traducción al lenguaje corriente

Cada conexión entre dos neuronas lleva un número, que dice la importancia concedida a lo que transmite la conexión. Cada neurona lleva además un número que desplaza su umbral de activación.

Punto de vigilancia terminológico

La palabra «sesgo» posee aquí un sentido estrictamente técnico: es el término constante de una transformación afín. No debe confundirse con el sesgo estadístico del compromiso sesgo-varianza (capítulo 032), ni con el sesgo social de un modelo discriminatorio (capítulo 080). Tres nociones homónimas, tres definiciones disjuntas.

Ejemplo numérico — perceptrón multicapa para una puntuación de abandono

Arquitectura: 20 variables de entrada, dos capas ocultas de 64 y luego 32 neuronas, una salida.

TransiciónPesosSesgosTotal
Entrada → capa 120 × 64 = 1 280641 344
Capa 1 → capa 264 × 32 = 2 048322 080
Capa 2 → salida32 × 1 = 32133
Total3 360973 457

Esta red aprende 3 457 números. El número de capas y su tamaño — es decir hidden_layer_sizes=(64, 32) — no se aprenden: son hiperparámetros, y son ellos los que determinan el número de parámetros a aprender. Un hiperparámetro gobierna, por tanto, la cantidad de parámetros, lo que constituye el vínculo directo con la noción de capacidad, tratada en el apartado 7.

2.3 Árboles de decisión: estructura, variables de división y umbrales

Un árbol de decisión no tiene ni coeficiente ni peso. Lo que aprende es de naturaleza combinatoria:

  • para cada nodo interno, la variable sobre la cual dividir;
  • para cada nodo interno, el umbral de división sobre esa variable;
  • la topología del árbol, es decir, qué nodos se dividen y cuáles se convierten en hojas;
  • para cada hoja, el valor predicho o la distribución de las clases.

Vista parcial: los tres primeros niveles del árbol efectivamente obtenido en el apartado 5.3, del que dos ramas han sido abreviadas.

El valor 32,50 no fue elegido por un analista: el algoritmo evaluó las divisiones candidatas sobre cada variable y retuvo la que más reducía la impureza del nodo. Es aprendido, al igual que un coeficiente de regresión (mecanismo detallado en el capítulo 037). Lo que el ingeniero fijó es el marco de esa búsqueda: profundidad máxima, tamaño mínimo de una hoja, criterio de impureza.

2.4 Máquinas de vectores de soporte

DEFINICIÓN — Vectores de soporte (support vectors)

Definición rigurosa

En la formulación dual de una máquina de vectores de soporte (Boser, Guyon y Vapnik, 1992; Cortes y Vapnik, 1995), la solución se expresa como una combinación lineal de funciones núcleo evaluadas sobre un subconjunto de las observaciones de entrenamiento. Las observaciones cuyo coeficiente dual αi\alpha_i es estrictamente positivo se llaman vectores de soporte: son las únicas que intervienen en la función de decisión.

Lo que se aprende

Los coeficientes duales αi\alpha_i, la identidad de las observaciones retenidas como vectores de soporte, y la constante de decisión. Con un núcleo lineal, estas cantidades se recomponen en un vector de coeficientes homogéneo al de un modelo lineal.

Traducción al lenguaje corriente

El modelo retiene los ejemplos de entrenamiento situados cerca de la frontera entre las clases y les asigna un peso; los ejemplos alejados no influyen en la decisión.

Punto de vigilancia

El número de vectores de soporte es un resultado del entrenamiento, nunca una consigna. Un número próximo al tamaño del entrenamiento señala una frontera muy irregular y un riesgo de sobreajuste, a menudo asociado a un gamma demasiado grande (capítulo 041).

2.5 El caso de los métodos por memorización

DEFINICIÓN — Método no paramétrico y aprendizaje perezoso

Definición rigurosa

Un método se dice no paramétrico cuando la complejidad de la función aprendida no está limitada por un número de parámetros fijado a priori, sino que crece con el tamaño de los datos de entrenamiento. Un método se dice perezoso (lazy learning) cuando difiere todo cálculo de generalización hasta la solicitud de predicción.

Aplicación a los k vecinos más cercanos

La llamada a fit() sobre un KNeighborsClassifier no calcula ningún coeficiente: memoriza el conjunto de entrenamiento y construye eventualmente una estructura de indexación. Lo que se «aprende» es el conjunto de datos en sí: el modelo no resume nada, compara la nueva observación con los ejemplos conservados en el momento de responder.

Punto de vigilancia

No paramétrico no significa «sin hiperparámetro». El número de vecinos k, la métrica de distancia y la ponderación son decisivos (capítulo 040).

2.6 Órdenes de magnitud

ModeloNaturaleza de los parámetros aprendidosNúmero para un caso típico
Regresión lineal, 20 variablesCoeficientes + constante21
Regresión logística binaria, 50 variablesCoeficientes + constante51
Regresión logística, 10 clases, 100 variablesMatriz de coeficientes + constantes1 010
Árbol de decisión, max_depth=3Variables, umbrales, valores de hojas15 nodos de los cuales 8 hojas
Árbol de decisión, max_depth=10Ídem757 nodos de los cuales 379 hojas
Bosque aleatorio, 300 árboles, max_depth=6Ídem, agregado sobre 300 árbolesunos 35 000 nodos
Perceptrón multicapa (20, 64, 32, 1)Pesos y sesgos3 457
SVM con núcleo RBF, 4 000 observacionesVectores de soporte y coeficientes dualesde algunos cientos a algunos miles
k vecinos más cercanos, 4 000 observacionesEl conjunto de entrenamiento memorizado4 000 observaciones conservadas

Las filas «árbol» y «bosque» retoman los valores medidos en el apartado 5. Ilustran un hecho central: el número de parámetros aprendidos no es una propiedad del algoritmo solo, está determinado conjuntamente por los hiperparámetros y por los datos.


3. El hiperparámetro: lo que el ingeniero fija antes de la optimización

DEFINICIÓN — Hiperparámetro (hyperparameter)

Definición rigurosa

Magnitud que configura el algoritmo de aprendizaje, cuyo valor se fija previamente a la ejecución del procedimiento de optimización y no es modificado por este. Los hiperparámetros determinan el espacio de hipótesis explorado, la función objetivo efectivamente minimizada, el procedimiento numérico empleado y su criterio de parada.

Formulación operativa

Un hiperparámetro es una variable cuyo valor debe conocerse para que el entrenamiento pueda comenzar, y cuyo valor permanece inalterado cuando el entrenamiento termina.

Traducción al lenguaje corriente

Son los ajustes que uno mismo escribe entre los paréntesis del modelo, antes de lanzar el aprendizaje.

Origen del prefijo

El prefijo «hiper-» indica un nivel superior: estas magnitudes se sitúan por encima de los parámetros, puesto que condicionan la manera en que estos últimos serán determinados.

Punto de vigilancia — homonimia estadística

En estadística bayesiana, «hiperparámetro» designa un parámetro de la distribución de probabilidad a priori sobre los parámetros del modelo. Las dos acepciones comparten la misma idea de segundo nivel, pero no recubren los mismos objetos. En contexto de aprendizaje automático aplicado, es la acepción dada más arriba la que prevalece.

3.1 Los hiperparámetros usuales por familia de algoritmos

AlgoritmoHiperparámetroRolEfecto de un aumento
Regresión logísticaCInverso de la fuerza de regularizaciónRegularización más débil, coeficientes más libres, capacidad acrecentada
Regresión logísticapenalty / l1_ratioNaturaleza de la penalización (L1, L2, mixta)L1 anula coeficientes, L2 los contrae
Ridge, Lasso, ElasticNetalphaFuerza de la regularizaciónCoeficientes más restringidos, capacidad reducida
Árbol de decisiónmax_depthProfundidad máximaÁrbol más profundo, capacidad acrecentada, sobreajuste probable
Árbol de decisiónmin_samples_leafTamaño mínimo de una hojaHojas más pobladas, árbol más regular, capacidad reducida
Árbol de decisiónccp_alphaCoste de complejidad para la podaPoda más agresiva, capacidad reducida
Bosque aleatorion_estimatorsNúmero de árboles agregadosVarianza de predicción reducida, coste de cálculo acrecentado
Bosque aleatoriomax_featuresVariables candidatas por divisiónÁrboles más correlacionados entre sí, ganancia de la agregación reducida
Gradient boostinglearning_ratePaso de contracción de cada árbolAprendizaje más rápido, riesgo de sobreajuste acrecentado
Gradient boostingn_estimatorsNúmero de iteraciones de boostingCapacidad acrecentada, sobreajuste posible sin parada anticipada
Gradient boostingsubsampleFracción de observaciones por iteraciónMenos regularización estocástica cuando tiende a 1
k vecinos más cercanosn_neighbors (k)Número de vecinos consultadosFrontera más suave, capacidad reducida
SVMCPenalización de las violaciones de margenMargen más estrecho, ajuste más estricto a los datos
SVMkernel, gammaForma de la fronteragamma alto: frontera muy local, sobreajuste
Perceptrón multicapahidden_layer_sizesArquitectura de la redMás parámetros a aprender, capacidad acrecentada
Perceptrón multicapaalphaRegularización L2 de los pesosPesos más restringidos, capacidad reducida

Punto de vigilancia sobre C y alpha: estos dos hiperparámetros rigen lo mismo — la fuerza de la regularización — pero en sentidos opuestos. alpha es proporcional a la fuerza de la penalización; C es su inverso. Aumentar alpha regulariza más; aumentar C regulariza menos. Esta inversión es una fuente de error constante en entrevistas técnicas.

DEFINICIÓN — Fuerza de regularización: alpha y C

Definición rigurosa

La regularización añade a la función de pérdida un término que penaliza la magnitud de los parámetros, a fin de restringir el espacio de las soluciones admisibles. El problema resuelto se convierte en la minimización de J(θ) = perte_sur_les_données(θ) + λ · pénalité(θ). Ridge y Lasso exponen directamente λ bajo el nombre alpha; la regresión logística y las SVM exponen C, definido como el inverso de λ salvo una constante.

Traducción al lenguaje corriente

alpha es un freno: cuanto más grande es, más bridado está el modelo. C es una autorización: cuanto más grande es, más libre es el modelo de pegarse a los datos.

Punto de vigilancia

La regularización solo tiene sentido sobre variables de escala comparable: penalizar coeficientes que se refieren a unidades heterogéneas equivale a penalizar arbitrariamente ciertas variables. Estandarización en el capítulo 023, regularización en el capítulo 047.

DEFINICIÓN — Tasa de aprendizaje (learning rate)

Definición rigurosa

Coeficiente multiplicativo aplicado a la dirección de actualización de los parámetros en cada iteración de una optimización iterativa: en un descenso de gradiente, θ_(t+1) = θ_t − η · ∇J(θ_t), donde η designa la tasa de aprendizaje. En gradient boosting, el mismo ajuste se interpreta como un factor de contracción aplicado a la contribución de cada estimador añadido.

Traducción al lenguaje corriente

El tamaño del paso efectuado en cada corrección. Un paso demasiado grande hace perder el mínimo y puede hacer divergir el aprendizaje; un paso demasiado pequeño no progresa lo bastante rápido para el presupuesto de iteraciones disponible.

Punto de vigilancia

learning_rate y n_estimators están acoplados en boosting: dividir la tasa de aprendizaje por dos impone aproximadamente duplicar el número de iteraciones para alcanzar un ajuste comparable. Estos dos hiperparámetros no deben, por tanto, regularse nunca independientemente uno del otro. Tratado en el capítulo 039.

3.2 Las cinco funciones de un hiperparámetro

No todos los hiperparámetros tienen el mismo alcance. Clasificarlos por función evita regularlos al azar.

Los hiperparámetros de capacidad son determinantes y se regulan con prioridad; los de optimización pesan sobre todo en boosting y en redes neuronales; los de estructura de ensamble tienen rendimientos rápidamente decrecientes; los de tratamiento del problema se vuelven críticos en contexto desequilibrado o con costes de error asimétricos; los de ejecución no tienen ninguna incidencia en esperanza sobre el rendimiento.

Punto de vigilancia sobre random_state: este argumento es formalmente un hiperparámetro — se fija antes del entrenamiento y no es ajustado por el procedimiento. Sin embargo, nunca debe incluirse en una búsqueda de optimización. Seleccionar la semilla que maximiza la puntuación de validación equivale a explotar el ruido de muestreo, no a mejorar el modelo. El rol legítimo de random_state es la reproducibilidad.


4. El criterio de distinción operativo, casos límite y trampas

4.1 La pregunta única a plantearse

Una sola pregunta separa las dos categorías, sea cual sea la biblioteca o el algoritmo empleado:

¿Esta magnitud es ajustada por el procedimiento de optimización ejecutado durante fit(), o se fija antes de que ese procedimiento arranque?

DEFINICIÓN — La convención de nomenclatura de scikit-learn

Regla normativa de la biblioteca

En la API de scikit-learn, la distinción se materializa en la nomenclatura:

  • los hiperparámetros son los argumentos del constructor del estimador; son accesibles mediante get_params(), modificables mediante set_params(), y su nombre no lleva sufijo;
  • los atributos aprendidos durante fit() llevan un nombre con sufijo de carácter de subrayado: coef_, intercept_, feature_importances_, classes_, tree_, estimators_, support_vectors_.

Consecuencia práctica

Acceder a un atributo con sufijo antes de toda llamada a fit() lanza una excepción NotFittedError. Es el test más rápido para decidir: un atributo que no existe antes del entrenamiento es necesariamente aprendido.

Punto de vigilancia terminológico

El método se llama get_params() cuando en realidad devuelve los hiperparámetros. Esta elección de nomenclatura se debe a la terminología general de la programación, donde «parámetro» designa un argumento de función. Mantiene una confusión lamentable con la terminología estadística. En este curso, y en entrevista, «parámetro» conserva siempre su sentido estadístico: magnitud estimada a partir de los datos.

4.2 Clasificación de casos concretos

MagnitudCategoríaJustificación
coef_ de una regresión logísticaParámetroCalculado por el solver para minimizar la pérdida
C de una regresión logísticaHiperparámetroDebe conocerse antes de la llamada al solver
Umbral 32,50 sobre anciennete_mois en un árbolParámetroSeleccionado por la búsqueda de división
max_depth de un árbolHiperparámetroLimita la búsqueda, no procede de ella
feature_importances_ de un bosqueParámetro derivadoCalculado a partir de la estructura aprendida
n_estimators de un bosqueHiperparámetroFija el número de árboles a construir
max_iter de un solverHiperparámetroPresupuesto concedido antes del arranque
n_iter_ de un solverResultado de ejecuciónNúmero de iteraciones realmente consumidas
mean_ y scale_ de un StandardScalerParámetro del transformadorEstimados sobre los datos de entrenamiento
k de un KNeighborsClassifierHiperparámetroFijado antes, nunca optimizado por fit()
Número de vectores de soporte obtenidosResultado de ejecuciónConsecuencia de la optimización dual
Número de componentes de un ACPHiperparámetroElegido antes; los ejes, en cambio, se aprenden
Umbral de decisión en 0,50Hiperparámetro de decisiónConvención por defecto, no procedente de fit()
random_stateHiperparámetro de ejecuciónFijado antes, pero no debe optimizarse

4.3 Los cuatro casos límite a dominar

Caso límite 1 — Las estadísticas de un preprocesador. La media y la desviación típica de un StandardScaler se estiman a partir de los datos: son parámetros en el sentido del procedimiento fit(), aunque no pertenezcan al modelo predictivo. Consecuencia decisiva: se estiman sobre el solo conjunto de entrenamiento y luego se aplican tal cual a los demás conjuntos. Estimarlos sobre el conjunto de los datos constituye una fuga de información (capítulo 028).

Caso límite 2 — La parada anticipada. Con early_stopping=True, el número de iteraciones retenido lo determina el procedimiento mismo, observando la pérdida sobre un conjunto de validación interno. La frontera parece difuminarse; no se difumina. La decisión de activar la parada anticipada, el tamaño de ese conjunto interno, la paciencia y la métrica supervisada siguen siendo hiperparámetros fijados de antemano; el número de iteraciones retenido es un resultado.

Caso límite 3 — Los hiperparámetros optimizados automáticamente. Que una búsqueda en rejilla determine max_depth no lo transforma en parámetro: la búsqueda es un bucle externo que relanza entrenamientos completos, cada uno con un valor fijado de antemano. Un parámetro se ajusta en el interior de un entrenamiento, un hiperparámetro se elige entre varios entrenamientos (capítulo 035).

Caso límite 4 — Los parámetros derivados. feature_importances_ no se optimiza directamente: es una estadística calculada a posteriori a partir de las reducciones de impureza de la estructura aprendida. Pertenece no obstante a las magnitudes aprendidas, puesto que no existe antes de fit() y depende enteramente de los datos. Misma observación para el coef_ de una SVM lineal, recompuesto a partir de los coeficientes duales.


5. Verificación en código: get_params() frente a coef_ y feature_importances_

El conjunto de datos de demostración describe 4 000 clientes de un operador de telecomunicaciones, con cinco variables explicativas y un objetivo binario a_resilie cuya tasa de positivos vale 0,3795.

5.1 Los hiperparámetros: get_params()

python
from sklearn.linear_model import LogisticRegression
from sklearn.preprocessing import StandardScaler
import pandas as pd, numpy as np

Xs = pd.DataFrame(StandardScaler().fit_transform(X), columns=X.columns)

lr = LogisticRegression(C=1.0, max_iter=1000, random_state=0)
lr.fit(Xs, y)

for k, v in sorted(lr.get_params().items()):
    print(f"{k}: {v!r}")
C: 1.0
class_weight: None
dual: False
fit_intercept: True
intercept_scaling: 1
l1_ratio: 0.0
max_iter: 1000
n_jobs: None
penalty: 'deprecated'
random_state: 0
solver: 'lbfgs'
tol: 0.0001
verbose: 0
warm_start: False

Interpretación. Se exponen catorce ajustes cuando solo tres han sido informados; los otros once son los valores por defecto del estimador. Todos eran conocidos antes de fit() y ninguno ha sido modificado por él: una segunda llamada tras el entrenamiento devuelve el mismo diccionario.

Punto de vigilancia sobre los valores por defecto. Un modelo instanciado sin argumento no es un modelo «sin hiperparámetros»: es un modelo cuyos hiperparámetros han tomado todos su valor por defecto, que son convenciones de biblioteca y no óptimos. C=1.0 ya regulariza sustancialmente.

Punto de vigilancia sobre las versiones. La salida proviene de scikit-learn 1.8, donde penalty está en proceso de depreciación en favor de l1_ratio, designando el valor 0.0 una penalización L2 pura; las versiones anteriores muestran penalty: 'l2'. Los hiperparámetros pertenecen a la interfaz de una biblioteca y evolucionan con ella; los parámetros aprendidos pertenecen a la formulación matemática del modelo y no cambian de nombre.

5.2 Los parámetros aprendidos: coef_ e intercept_

python
print(pd.Series(np.round(lr.coef_[0], 4), index=X.columns).to_string())
print("intercept_:", np.round(lr.intercept_, 4))
print("n_iter_:", lr.n_iter_)
print("classes_:", lr.classes_)
anciennete_mois     -0.8957
facture_mensuelle    0.5515
nb_appels_support    0.5829
satisfaction        -0.7586
data_go_moyen       -0.0216
intercept_: [-0.6809]
n_iter_: [6]
classes_: [0 1]

Interpretación. Estos seis números — cinco coeficientes y una constante — constituyen la totalidad de lo que el modelo ha aprendido, y ninguno fue escrito por el ingeniero. Al haber sido estandarizadas las variables, los coeficientes son comparables entre sí: la antigüedad domina, el consumo de datos es despreciable.

VariableCoeficienteRazón de momiosLectura de negocio
anciennete_mois−0,89570,41Una desviación típica de antigüedad adicional divide la razón de cancelación por 2,4
satisfaction−0,75860,47Una desviación típica de satisfacción adicional divide la razón por 2,1
nb_appels_support+0,58291,79Una desviación típica de llamadas adicional multiplica la razón por 1,8
facture_mensuelle+0,55151,74Efecto comparable, del mismo sentido
data_go_moyen−0,02160,98Ningún efecto explotable

Punto de vigilancia. n_iter_ y classes_ llevan un underscore final y solo existen después de fit(), sin ser de la misma naturaleza que coef_. n_iter_ es un diagnóstico de convergencia: el valor 6, muy inferior al presupuesto max_iter=1000, indica una convergencia sin interrupción. Un valor igual a max_iter señalaría una parada por agotamiento del presupuesto, y por tanto un modelo no convergido.

5.3 Un árbol: hiperparámetros impuestos frente a estructura aprendida

python
from sklearn.tree import DecisionTreeClassifier, export_text

dt = DecisionTreeClassifier(max_depth=3, min_samples_leaf=50, random_state=0)
dt.fit(X, y)

print("nodos:", dt.tree_.node_count, "profundidad:", dt.get_depth(),
      "hojas:", dt.get_n_leaves())
print(export_text(dt, feature_names=list(X.columns), decimals=2))
print(pd.Series(np.round(dt.feature_importances_, 4), index=X.columns).to_string())
nodos: 15 profundidad: 3 hojas: 8
|--- anciennete_mois <= 32.50
|   |--- satisfaction <= 2.50
|   |   |--- nb_appels_support <= 0.50
|   |   |   |--- class: 1
|   |   |--- nb_appels_support >  0.50
|   |   |   |--- class: 1
|   |--- satisfaction >  2.50
|   |   |--- facture_mensuelle <= 59.15
|   |   |   |--- class: 0
|   |   |--- facture_mensuelle >  59.15
|   |   |   |--- class: 1
|--- anciennete_mois >  32.50
|   |--- satisfaction <= 2.50
|   |   |--- nb_appels_support <= 1.50
|   |   |   |--- class: 0
|   |   |--- nb_appels_support >  1.50
|   |   |   |--- class: 1
|   |--- satisfaction >  2.50
|   |   |--- facture_mensuelle <= 59.45
|   |   |   |--- class: 0
|   |   |--- facture_mensuelle >  59.45
|   |   |   |--- class: 0

anciennete_mois      0.4497
facture_mensuelle    0.1065
nb_appels_support    0.1156
satisfaction         0.3282
data_go_moyen        0.0000

Lo que se ha impuesto. Dos valores solamente, max_depth=3 y min_samples_leaf=50. La profundidad obtenida vale exactamente 3: la restricción está activa, sin ella el árbol habría seguido creciendo.

Lo que se ha aprendido. Siete divisiones internas, cada una definida por un par (variable, umbral), y ocho hojas con su distribución de clases. Los valores 32,50, 2,50, 59,15, 0,50, 1,50 y 59,45 proceden todos de la búsqueda de división. Que facture_mensuelle se corte en 59,15 en una rama y en 59,45 en otra muestra que se trata de magnitudes estimadas localmente, no de umbrales de negocio.

Las importancias. feature_importances_ es un vector que suma 1 y que reparte la reducción total de impureza entre las variables. data_go_moyen obtiene 0,0000: bajo esta restricción de profundidad, la variable nunca fue retenida para una división. Ese cero no significa, por tanto, «sin relación con el objetivo» sino «nunca seleccionada en estas condiciones»; una profundidad superior le atribuiría una importancia no nula. Límites de este indicador en el capítulo 080.

Dos pares de subramas llegan a la misma clase predicha. La división fue retenida a pesar de todo porque reduce la impureza: las probabilidades predichas difieren, incluso cuando la clase mayoritaria coincide (capítulo 029).

5.4 Un hiperparámetro determina el número de parámetros

python
for d in [2, 3, 5, 10, None]:
    m = DecisionTreeClassifier(max_depth=d, random_state=0).fit(X, y)
    print(f"max_depth={str(d):>4} -> nodos={m.tree_.node_count:>5}"
          f"  hojas={m.get_n_leaves():>5}  acc_train={m.score(X, y):.4f}")
max_depth=   2 -> nodos=    7  hojas=    4  acc_train=0.6980
max_depth=   3 -> nodos=   15  hojas=    8  acc_train=0.7202
max_depth=   5 -> nodos=   63  hojas=   32  acc_train=0.7445
max_depth=  10 -> nodos=  757  hojas=  379  acc_train=0.8498
max_depth=None -> nodos= 2033  hojas= 1017  acc_train=1.0000

Interpretación. Un único hiperparámetro hace pasar el modelo de 7 a 2 033 nodos aprendidos, es decir un factor 290, y la exactitud de entrenamiento progresa hasta 1,0000: el árbol no restringido aísla cada observación. Ese valor no es un éxito sino una memorización — sobre datos ruidosos donde la tasa de positivos vale 0,38, ningún modelo honesto clasifica perfectamente su conjunto de entrenamiento (capítulo 031).

5.5 El mismo mecanismo sobre la regularización

python
for C in [0.001, 0.01, 0.1, 1.0, 100.0]:
    m = LogisticRegression(C=C, max_iter=1000).fit(Xs, y)
    print(f"C={C:<8} coef_={np.round(m.coef_[0], 3)}  "
          f"norme_L2={np.linalg.norm(m.coef_):.3f}")
C=0.001    coef_=[-0.336  0.205  0.22  -0.283 -0.002]  norme_L2=0.533
C=0.01     coef_=[-0.737  0.451  0.479 -0.623 -0.014]  norme_L2=1.168
C=0.1      coef_=[-0.877  0.539  0.57  -0.742 -0.021]  norme_L2=1.392
C=1.0      coef_=[-0.896  0.551  0.583 -0.759 -0.022]  norme_L2=1.422
C=100.0    coef_=[-0.898  0.553  0.584 -0.76  -0.022]  norme_L2=1.425

Interpretación. C nunca figura en coef_ pero gobierna su amplitud: la norma de los coeficientes pasa de 0,533 a 1,425 cuando C crece de 0,001 a 100. La contracción es uniforme y conserva el orden de las variables. Más allá de C=1, los coeficientes prácticamente ya no se mueven: la penalización se ha vuelto despreciable frente al término de pérdida. Explorar C=10 000 sería sin efecto aquí, lo que justifica las rejillas logarítmicas acotadas (capítulo 035).

Formulación a retener: los hiperparámetros no están en el modelo al lado de los parámetros, son las restricciones bajo las cuales los parámetros han sido calculados.


6. Por qué los hiperparámetros nunca se regulan sobre el conjunto de test

6.1 El principio

Regular un hiperparámetro supone comparar varios entrenamientos y retener el mejor, lo que exige un conjunto no utilizado para el ajuste de los parámetros. La tentación es emplear el conjunto de test, puesto que es él quien porta la estimación de rendimiento. Es precisamente el uso que le está prohibido.

Toda decisión tomada mirando un conjunto de datos transfiere información de ese conjunto hacia el modelo. Ese conjunto deja entonces de ser inédito, y la puntuación que produce deja de estimar el rendimiento sobre datos nuevos.

ConjuntoLo que se decide en élNúmero de consultasLo que su puntuación estima
EntrenamientoLos parámetros del modeloUna vez por entrenamientoLa capacidad de restituir los datos vistos, sin valor predictivo
ValidaciónLos hiperparámetros, el algoritmo, el umbral, las variables retenidasUna vez por configuración probadaUn rendimiento optimista, sesgado por la selección
TestNadaUna sola vez, al finalEl rendimiento esperado sobre datos nuevos

6.2 El mecanismo cuantitativo del sesgo de selección

La puntuación obtenida sobre un conjunto finito está afectada por una variabilidad de muestreo: sobre 800 observaciones de validación, la desviación típica de una exactitud cercana a 0,75 vale aproximadamente 0,015. Comparar K configuraciones y retener el máximo equivale a seleccionar, entre K sorteos ruidosos, aquel cuyo ruido es el más favorable.

Configuraciones comparadasDiferencia esperada entre el máximo observado y el rendimiento verdadero
1alrededor de 0,000
10alrededor de +0,023
50alrededor de +0,032
200alrededor de +0,040

Estos órdenes de magnitud corresponden a la esperanza del máximo de K variables gaussianas centradas de desviación típica 0,015. La conclusión es estructural y no depende del cuidado aportado al procedimiento: la puntuación de la configuración retenida es optimista por construcción. Un conjunto suplementario, mantenido fuera de toda decisión, es por tanto necesario para obtener una estimación no sesgada.

6.3 Formulaciones operativas

  • El conjunto de test es un presupuesto de uso único: se consume cuando se lo mira, no cuando se lo modifica.
  • En cuanto una elección cualquiera se arbitra sobre un conjunto — hiperparámetro, algoritmo, umbral, subconjunto de variables, estrategia de imputación — ese conjunto desempeña el rol de conjunto de validación, sea cual sea el nombre de la variable que lo contiene. Un conjunto de test consultado varias veces se degrada así en conjunto de validación, de forma gradual e invisible en las métricas.
  • La diferencia entre el rendimiento anunciado en reunión y el constatado en producción encuentra aquí una de sus dos causas principales, siendo la otra la fuga de información tratada en el capítulo 028.

Referencias: la construcción de los tres conjuntos se trata en el capítulo 026, los esquemas de partición particulares en el capítulo 027, la validación cruzada en el capítulo 034, los procedimientos de búsqueda de hiperparámetros en el capítulo 035, y la elección del umbral de decisión en el capítulo 062.


7. Capacidad de un modelo y compromiso sesgo-varianza

DEFINICIÓN — Capacidad de un modelo (model capacity)

Definición rigurosa

Medida de la riqueza de la familia de funciones que un algoritmo, configurado de cierta manera, está en condiciones de representar. Se formaliza mediante la dimensión de Vapnik-Chervonenkis (Vapnik y Chervonenkis, 1971) — cardinal del mayor conjunto de puntos que la familia puede separar según todos los etiquetados posibles — o mediante medidas afines como la complejidad de Rademacher.

Rol respectivo de las dos categorías de magnitudes

Los hiperparámetros delimitan el espacio de hipótesis H; los parámetros seleccionan un elemento h en el interior de H. Aumentar la capacidad es ampliar H.

Traducción al lenguaje corriente

Hasta qué punto un modelo puede adaptarse a la forma de los datos. Una capacidad insuficiente le impide representar el fenómeno; una capacidad excesiva le permite adaptarse también al ruido.

Punto de vigilancia

La capacidad no es el rendimiento: un árbol no restringido alcanza una exactitud perfecta sobre el entrenamiento y puede ser mediocre sobre datos nuevos (apartado 5.4).

HiperparámetroAumentar su valorCapacidadRiesgo dominante si se lleva al extremo
max_depthÁrbol más profundoAumentaSobreajuste
min_samples_leafHojas más pobladasDisminuyeSubajuste
alpha (Ridge, Lasso, MLP)Penalización más fuerteDisminuyeSubajuste
C (logística, SVM)Penalización más débilAumentaSobreajuste
n_neighbors (k)Vecindad más ampliaDisminuyeSubajuste
hidden_layer_sizesRed más ancha o más profundaAumentaSobreajuste
gamma (núcleo RBF)Influencia más localAumentaSobreajuste marcado
learning_rate (boosting)Paso más grandeAumenta a presupuesto de iteraciones fijoSobreajuste
n_estimators (bosque aleatorio)Más árboles agregadosEstabiliza la varianzaCoste de cálculo, sin degradación notable

Punto de vigilancia sobre n_estimators. La última fila es una excepción. En un bosque aleatorio, aumentar el número de árboles reduce la varianza del agregado sin acrecentar el sobreajuste, con rendimientos rápidamente decrecientes. En boosting, cada iteración corrige los residuos de las anteriores: n_estimators aumenta ahí la capacidad y debe acotarse, por parada anticipada o por validación. Una misma denominación recubre, por tanto, dos comportamientos opuestos según la familia de algoritmos.

El compromiso. Una capacidad insuficiente produce un error sistemático, el sesgo: el modelo falla tanto sobre el entrenamiento como sobre el test. Una capacidad excesiva produce una sensibilidad al conjunto de entrenamiento particular, la varianza: el modelo acierta sobre el entrenamiento y falla sobre datos nuevos. Regular los hiperparámetros de capacidad equivale a arbitrar entre estos dos regímenes. Compromiso sesgo-varianza en el capítulo 032, sobreajuste y subajuste en el capítulo 031, palancas de corrección en el capítulo 033.


8. El vocabulario conexo: pérdida, métrica, puntuación, umbral, referencia ingenua

Estas cinco nociones se introducen aquí porque son indisociables de la distinción anterior: la pérdida es lo que la optimización minimiza para producir los parámetros, la métrica es lo que la validación compara para elegir los hiperparámetros, el umbral y la referencia ingenua son dos decisiones de ingeniería que nada aprende. Cada una se trata en profundidad más adelante.

DEFINICIÓN — Función de pérdida (loss function)

Definición rigurosa

Función ℓ(y, ŷ) que asocia a un par formado por un valor observado y un valor predicho un real positivo que mide el coste de la desviación. Su media sobre el conjunto de entrenamiento constituye el riesgo empírico, cantidad efectivamente minimizada por el procedimiento de optimización. Se habla indistintamente de función de coste, de función objetivo o de criterio.

Traducción al lenguaje corriente

La medida del error que el modelo busca hacer disminuir mientras aprende. Son los puntos perdidos, y el aprendizaje consiste en perder el menor número posible.

Restricción técnica

Una función de pérdida debe ser optimizable por el procedimiento empleado: la mayoría de las veces diferenciable, o al menos descomponible en criterios locales, lo que excluye la mayoría de las métricas de negocio.

Punto de vigilancia

La pérdida se calcula sobre el conjunto de entrenamiento durante el aprendizaje. Una pérdida baja sobre el entrenamiento no informa en nada sobre la generalización. La comparación de las pérdidas de entrenamiento y de validación se trata en el capítulo 030.

TareaPérdida usualLo que penaliza
RegresiónError cuadrático medio (MSE)El cuadrado de la desviación, y por tanto fuertemente las grandes desviaciones
Regresión robustaError absoluto (MAE), pérdida de HuberLinealmente, y por tanto menos sensible a los valores extremos
Clasificación probabilísticaEntropía cruzada, log lossLa confianza concedida a una predicción falsa
SVMPérdida bisagra (hinge)Las violaciones del margen
División de un árbolImpureza de Gini, entropíaLa heterogeneidad de las clases en un nodo
DEFINICIÓN — Métrica de evaluación (evaluation metric)

Definición rigurosa

Magnitud calculada a partir de las predicciones de un modelo y de los valores observados, destinada a calificar su rendimiento con vistas a una comparación o una decisión. No interviene en la optimización de los parámetros y no está sometida a ninguna restricción de derivabilidad.

Traducción al lenguaje corriente

La cifra que se presenta para decir si el modelo es bueno, y según qué criterio.

Distinción con la pérdida

La pérdida sirve para el aprendizaje, la métrica sirve para el juicio. Un clasificador puede minimizar la entropía cruzada y a la vez ser evaluado por el recall: son dos magnitudes diferentes calculadas sobre las mismas predicciones.

Punto de vigilancia

La métrica se alinea con el reto de negocio, no con la comodidad matemática. La elección de la métrica se trata en los capítulos 052 a 075, y el principio director del curso se recuerda en el capítulo 075: la pregunta no es qué métrica es la mejor, sino qué error cuesta más caro.

CriterioFunción de pérdidaMétrica de evaluación
FinalidadGuiar la optimizaciónCalificar y comunicar
UsuarioEl procedimiento fit()El ingeniero y el decisor de negocio
RestricciónOptimizable, generalmente derivableNinguna
Momento del cálculoEn cada iteración del entrenamientoTras la predicción, sobre un conjunto reservado
EjemplosMSE, log loss, hinge, GiniExactitud, precisión, recall, F1, AUC, MAE, R²
Elegida porAmpliamente impuesta por el algoritmoEl ingeniero, según el coste de los errores
ANALOGÍA — El baremo y la mención

Un estudiante repasa para un examen. El baremo de corrección le dice cuántos puntos pierde por cada tipo de error: es lo que busca minimizar al trabajar. Es la función de pérdida.

La mención que figura en su expediente — aprobado, notable, sobresaliente — es lo que el empleador mirará. Es la métrica.

Ambas se calculan sobre la misma copia y no coinciden: dos copias que han perdido el mismo número de puntos pueden recibir apreciaciones diferentes según la distribución de los errores entre las pruebas.

Optimizar el baremo sin mirar nunca la mención es un error de método corriente: un modelo cuya pérdida disminuye regularmente puede ver su métrica de negocio estancarse o degradarse.

DEFINICIÓN — Puntuación (score)

Definición rigurosa

El término recubre dos acepciones distintas que conviene no confundir nunca.

Acepción 1 — puntuación de salida del modelo. Valor continuo producido por el modelo para una observación, antes de toda decisión: probabilidad estimada devuelta por predict_proba(), o valor no calibrado devuelto por decision_function(). Una puntuación no es una clase.

Acepción 2 — puntuación de rendimiento. Valor numérico de una métrica de evaluación sobre un conjunto de datos. Es el sentido de model.score(X, y) en scikit-learn, que devuelve la exactitud para un clasificador y el coeficiente de determinación R² para un regresor.

Convención de scikit-learn

Las funciones de evaluación siguen la regla «más grande es mejor». Las métricas de error, que hay que minimizar, se exponen por tanto en forma negativa: neg_mean_squared_error, neg_log_loss. Un valor negativo mostrado por una búsqueda en rejilla no es una anomalía.

Punto de vigilancia

Anunciar «la puntuación del modelo es de 0,91» no tiene ningún valor informativo mientras la métrica y el conjunto de datos no sean nombrados.

DEFINICIÓN — Umbral de decisión (decision threshold)

Definición rigurosa

Valor de corte aplicado a la puntuación continua producida por un clasificador para convertir esa puntuación en decisión discreta. Para un problema binario, la observación se asigna a la clase positiva cuando la puntuación estimada es superior o igual al umbral.

Traducción al lenguaje corriente

A partir de qué nivel de probabilidad se decide actuar.

Estatus respecto al capítulo

El umbral no se aprende. El valor 0,50 es una convención por defecto, no un óptimo. El umbral es un hiperparámetro de decisión, cuyo ajuste se realiza sobre un conjunto de validación, nunca sobre el conjunto de test.

Punto de vigilancia

Bajar el umbral aumenta el número de positivos predichos, y por tanto el recall, en detrimento de la precisión; elevarlo produce el efecto inverso. El ajuste pertenece a un arbitraje económico entre el coste de un falso positivo y el de un falso negativo. Tratado en los capítulos 029 y 062.

DEFINICIÓN — Referencia ingenua (baseline)

Definición rigurosa

Modelo de referencia deliberadamente trivial, que sirve de cota inferior con la que comparar todo modelo candidato. Su rendimiento constituye el umbral por debajo del cual un modelo aprendido no aporta ningún valor.

Referencias usuales

TareaReferencia ingenuaImplementación
ClasificaciónPredecir sistemáticamente la clase mayoritariaDummyClassifier(strategy="most_frequent")
ClasificaciónSortear al azar según las frecuencias observadasDummyClassifier(strategy="stratified")
RegresiónPredecir la media del objetivoDummyRegressor(strategy="mean")
RegresiónPredecir la mediana del objetivoDummyRegressor(strategy="median")
Series temporalesRepetir el último valor observadoModelo de persistencia
Contexto industrialLa regla de negocio actualmente en producciónReimplementación de la regla existente

Traducción al lenguaje corriente

Antes de afirmar que un modelo es eficaz, hay que verificar que lo hace mejor que una estrategia tonta.

Punto de vigilancia

Sobre un conjunto desequilibrado con un 2 % de positivos, la referencia ingenua «clase mayoritaria» alcanza un 98 % de exactitud sin aprender nada. Una exactitud del 97 % anunciada para un modelo sofisticado constituye entonces una regresión. Es la razón por la cual toda evaluación comienza por el cálculo de la referencia. Tratado en los capítulos 049 y 050.

NociónRol en la cadenaQuién la determinaCapítulo de tratamiento
Función de pérdidaGuía el ajuste de los parámetrosImpuesta por el algoritmo, a veces configurable030
MétricaCompara los modelos y las configuracionesEl ingeniero, según el reto de negocio052 a 075
PuntuaciónSalida continua, o valor de una métricaEl modelo, o la métrica elegida029, 061, 063
UmbralConvierte una puntuación en decisiónEl ingeniero, sobre conjunto de validación062, 088
Referencia ingenuaFija la cota de valor añadidoEl ingeniero, antes de todo modelado049

9. Errores de razonamiento frecuentes

ERROR — Llamar «parámetros» a los argumentos pasados al constructor

La expresión «he parametrizado mi modelo con max_depth igual a 5» es ambigua y el método get_params() mantiene la confusión, puesto que devuelve en realidad los hiperparámetros. La terminología de la programación y la de la estadística divergen aquí.

Formulación correcta: «He fijado el hiperparámetro max_depth en 5. Los parámetros del modelo son los umbrales y la estructura del árbol, que el entrenamiento ha determinado.»

ERROR — Tratar un valor de hiperparámetro como universalmente bueno

Ningún valor de hiperparámetro es óptimo en sí. El valor adecuado depende del tamaño, del número de variables, del nivel de ruido y de la estructura del fenómeno. Un valor retomado de una entrada de blog o de un proyecto anterior es una hipótesis de partida, no un ajuste.

Formulación correcta: «max_depth=5 resultó ser el mejor compromiso sobre este conjunto de datos, al término de una búsqueda validada por validación cruzada.»

ERROR — Regular los hiperparámetros sobre el conjunto de test

El conjunto de test debe permanecer al margen de toda decisión. En cuanto una configuración se compara ahí con otra, ejerce la función de un conjunto de validación y la puntuación final se vuelve optimista. La contaminación es progresiva y no produce ninguna señal de alerta.

Formulación correcta: «Los hiperparámetros fueron seleccionados por validación cruzada sobre el conjunto de entrenamiento. El conjunto de test solo fue consultado una vez, para la estimación final.»

ERROR — Considerar las estadísticas de un preprocesador como fijadas de antemano

La media y la desviación típica de un StandardScaler, las modalidades retenidas por un codificador, los valores de imputación se estiman a partir de los datos. Calcularlos sobre el conjunto completo antes de la partición transfiere información del test hacia el entrenamiento.

Formulación correcta: «Estas estadísticas son magnitudes aprendidas. Se estiman sobre el solo conjunto de entrenamiento, en el interior de un pipeline, y se aplican luego a los demás conjuntos.» Tratado en los capítulos 028 y 076.

ERROR — Confundir la función de pérdida y la métrica de evaluación

Una pérdida de entrenamiento que disminuye regularmente no garantiza ni la generalización, ni la satisfacción del criterio de negocio. Las dos magnitudes responden a finalidades diferentes y pueden evolucionar en sentido contrario.

Formulación correcta: «El modelo minimiza la entropía cruzada durante el entrenamiento; se evalúa por el recall, porque el coste de un falso negativo domina en este caso de uso.»

ERROR — Suponer que aumentar la capacidad mejora el rendimiento

Un árbol no restringido alcanza una exactitud de 1,0000 sobre sus datos de entrenamiento, como muestra el apartado 5.4. Ese valor mide una memorización, no una aptitud para generalizar. Más allá de cierto nivel de capacidad, el error sobre datos nuevos aumenta.

Formulación correcta: «Más allá de cierto nivel de capacidad, el modelo ajusta el ruido del conjunto de entrenamiento; el error de generalización se degrada mientras el error de entrenamiento sigue disminuyendo.»

ERROR — Incluir random_state en la búsqueda de hiperparámetros

La semilla aleatoria se fija antes del entrenamiento, lo que la convierte formalmente en un hiperparámetro, pero no porta ninguna información sobre el fenómeno. Retener la semilla que maximiza la puntuación de validación equivale a seleccionar ruido y produce una ganancia que no se reproducirá.

Formulación correcta: «random_state se fija para garantizar la reproducibilidad. La sensibilidad del modelo a la semilla se mide, no se optimiza.»

ERROR — Creer que el umbral de 0,50 lo produce el entrenamiento

predict() aplica una convención por defecto. El modelo produce una puntuación continua; es la biblioteca, no el aprendizaje, quien la corta en 0,50.

Formulación correcta: «El umbral es una decisión de ingeniería, ajustada sobre un conjunto de validación en función del coste respectivo de los falsos positivos y de los falsos negativos.»


10. Síntesis

LAS DOS CATEGORÍAS
    PARÁMETRO       aprendido por el procedimiento de optimización, durante fit()
                    coeficientes, pesos y sesgos, umbrales y estructura de un árbol,
                    coeficientes duales y vectores de soporte
    HIPERPARÁMETRO  fijado por el ingeniero, antes de fit()
                    max_depth, n_estimators, k, learning_rate, alpha, C

EL CRITERIO ÚNICO DE DISTINCIÓN
    ¿Esta magnitud es ajustada por el procedimiento de optimización,
    o debía ser conocida para que ese procedimiento arrancara?

LA CONVENCIÓN SCIKIT-LEARN
    get_params()            -> los hiperparámetros
    atributo_ (underscore)  -> las magnitudes aprendidas
    coef_, intercept_, feature_importances_, tree_, support_vectors_
    Antes de fit(), estos atributos no existen: NotFittedError.

LA ANALOGÍA DE REFERENCIA
    receta                 = algoritmo
    ajustes del horno      = hiperparámetros
    lo que la masa llega a ser = parámetros aprendidos
    pastel                 = modelo

LO QUE GOBIERNAN LOS HIPERPARÁMETROS
    la capacidad              max_depth, C, alpha, k, hidden_layer_sizes
    la optimización           learning_rate, solver, max_iter, tol
    la estructura de ensamble n_estimators, max_features, subsample
    el tratamiento del problema class_weight, criterion, umbral
    la ejecución              n_jobs, verbose, random_state

CAPACIDAD
    Los hiperparámetros delimitan el espacio de hipótesis H.
    Los parámetros seleccionan un elemento h en H.
    Capacidad demasiado baja -> sesgo alto, subajuste.
    Capacidad demasiado alta -> varianza alta, sobreajuste.

REGLA DE PROTOCOLO
    Entrenamiento -> ajusta los parámetros
    Validación    -> elige los hiperparámetros y el umbral
    Test          -> estima el rendimiento, consultado una sola vez
    Un conjunto sobre el que se decide deja de ser un conjunto de evaluación.

EL VOCABULARIO CONEXO
    pérdida    lo que la optimización minimiza para producir los parámetros
    métrica    lo que se compara para elegir los hiperparámetros
    puntuación salida continua del modelo, o valor de una métrica
    umbral     corte aplicado a la puntuación, convención 0,50, no aprendido
    referencia ingenua  cota por debajo de la cual el modelo no aporta nada

Enunciado de síntesis

Un modelo entrenado se lee en dos niveles: los hiperparámetros, fijados antes del aprendizaje, delimitan la familia de funciones accesibles y la manera en que la búsqueda se llevará a cabo en ella; los parámetros, producidos por esa búsqueda, designan la función finalmente retenida. Los primeros se regulan por comparación de entrenamientos sucesivos sobre un conjunto de validación, nunca sobre el conjunto de test, cuya única consulta constituye la sola estimación no sesgada del rendimiento esperado.


Quiz asociados

  • 009.1-quiz-parametre-appris.md
  • 009.2-quiz-hyperparametre.md
  • 009.3-quiz-critere-de-distinction.md
  • 009.4-quiz-inspection-scikit-learn.md
  • 009.5-quiz-reglage-et-jeu-de-test.md
  • 009.6-quiz-capacite-biais-variance.md
  • 009.7-quiz-loss-metric-score-seuil-baseline.md

Capítulo siguiente: 010-classification-ou-regression.md