La primera vez que vi una red neuronal dibujada, con sus circulitos y sus flechas, pensé que era otra cosa que la estadística de toda la vida. Luego me tocó programar una regresión logística a mano y me hice la pregunta tonta de esta lección: ¿una regresión logística es una red neuronal?

La respuesta corta es que sí. Una regresión logística es una red neuronal de una sola neurona. No se parecen ni son primas: son el mismo modelo con dos nombres. Si es la misma neurona, la pregunta interesante cambia: ¿qué añaden las redes grandes, y cuándo merece la pena pagarlas?

Elige tu carta: ♣ si empiezas de cero, ♦ si sabes qué es una función o una media, ♠ si quieres la notación. Puedes cambiarla en cualquier momento.

Nivel de explicación

Una neurona, dos nombres

Nivel de explicación

Novato

Imagina que quieres adivinar si mañana lloverá. Miras pistas: hay nubes, hace viento, por la tarde sale el sol. No todas cuentan igual: las nubes pesan mucho, el viento un poco y el sol resta. Sumas lo que pesa cada pista, y esa suma mueve una aguja que va de “seguro que no” a “seguro que sí”.

Esa balanza es una regresión logística, un método de estadística de toda la vida para responder preguntas de sí o no. Y también es una neurona, la pieza con la que se construyen las redes neuronales. Es la misma balanza con dos nombres.

Falta lo más importante: aprender. Al principio, la balanza no sabe cuánto pesa cada pista. Le enseñas muchos días pasados y, cada vez que falla, le echas una bronca, más gorda cuanto más segura estaba. Para evitar broncas, la balanza va ajustando los pesos poco a poco. Y con esta balanza pasa algo tranquilizador: empieces por donde empieces, siempre acabas en los mismos pesos.

Intermedio

Una regresión logística tiene tres piezas, y conviene conocerlas porque cada una explica un fallo distinto.

1. Una suma con pesos. Cada columna de tus datos se multiplica por un número, su peso, y todo se suma junto con un término fijo. Al resultado lo llamaremos la puntuación. Todo lo que el modelo sabe está ahí: si la señal está en una combinación de dos columnas o en una curva, el modelo no la ve a menos que se la des ya construida.

2. La sigmoide. Es una curva en forma de S que aplasta cualquier puntuación entre 0 y 1: una muy negativa da casi 0, una muy positiva casi 1, y cero da justo 0,5. No está elegida por estética: sale de suponer que la respuesta es una moneda trucada cuyo truco depende de una suma con pesos. Por eso lo que devuelve se puede leer como una probabilidad.

3. El castigo. Compara la probabilidad con la respuesta correcta y castiga mucho estar muy seguro y equivocarse. En la jerga se llama pérdida; esta en concreto, log-loss o entropía cruzada. Para aprender, el modelo mira hacia dónde baja el castigo y mueve los pesos un poco en esa dirección, una y otra vez: es el descenso de gradiente.

Y aquí está la propiedad que lo cambia todo: en la regresión logística, el castigo tiene un solo fondo. Cualquier forma de bajar llega al mismo sitio, así que la semilla aleatoria da igual. Una red con capas ocultas pierde esa garantía: tiene muchos valles, y dónde acabas depende de dónde empiezas.

La pérdida de una logística frente a la de una red profundaDos curvas de pérdida dibujadas a mano, sin datos. A la izquierda, la de la regresión logística es un cuenco: dos bolas que salen de lados opuestos acaban en el mismo fondo. A la derecha, la de una red profunda tiene varios valles: dos bolas que salen de sitios distintos acaban en fondos distintos.Logística: un solo fondopesospérdidamismo sitio, empieces donde empiecesRed profunda: varios vallespesospérdidadepende de dónde empieces
Formas cualitativas, sin datos. Lo que importa es cuántos fondos hay.

Lo comprobé: la regresión logística de scikit-learn y una neurona entrenada a mano dan los mismos pesos hasta el tercer decimal. Un detalle práctico: muchas librerías añaden por defecto un freno que encoge los pesos, así que, si quieres leerlos, quítalo.

Técnico

♦ → ♠ Del intermedio al técnico
En ♦ decíamosEn ♠ se escribe
la puntuaciónz = wᵀx + b
los pesos; el término fijow ∈ ℝᵈ; b (sesgo)
la sigmoide, que aplasta entre 0 y 1σ(z) = 1/(1 + e⁻ᶻ)
la probabilidadp = σ(z) = P(y = 1 | x)
una moneda trucaday ~ Bernoulli(p); enlace logit (GLM)
el castigo (pérdida, log-loss)BCE = −[y log p + (1 − y) log(1 − p)]
hacia dónde baja el castigo−∇L = −Xᵀ(p − y)/n
un solo fondoconvexa: ∇²L = XᵀSX/n ⪰ 0
un freno que encoge los pesosregularización L2; en sklearn, C = 1/λ

La regresión logística es un modelo lineal generalizado: y ~ Bernoulli(p) con enlace canónico logit, así que logit(p) = wᵀx + b y p = σ(wᵀx + b). La sigmoide no es una elección de diseño: es la inversa del enlace canónico de la Bernoulli. Una neurona con activación σ entrenada con entropía cruzada binaria (BCE) es exactamente ese modelo, con la misma verosimilitud.

Una regresión logística es una red neuronal de una neuronaDos columnas con las mismas tres piezas numeradas. A la izquierda, la regresión logística como se escribe en estadística: 1, el score lineal z = w₁x₁ + w₂x₂ + b; 2, la probabilidad p = σ(z); 3, la pérdida log-loss. A la derecha, una neurona: las entradas x₁ y x₂ entran por sus pesos w₁ y w₂ a una suma con el sesgo b (pieza 1), pasan por una sigmoide (pieza 2) y salen como p, que se compara con la etiqueta con entropía cruzada binaria (pieza 3). Entre las dos columnas, un signo igual.Regresión logísticacomo se escribe en estadística1Score linealz = w₁x₁ + w₂x₂ + b2Probabilidadp = σ(z)3Pérdida (log-loss)−[y·log p + (1−y)·log(1−p)]=Una neuronacomo se dibuja en deep learningx₁x₂w₁w₂Σ+ bσpBCE = log-loss123
Las mismas tres piezas con dos notaciones. Cambia el dibujo, no el modelo.

Con la pérdida media L(w) = (1/n) Σᵢ BCE(yᵢ, σ(wᵀxᵢ)), el gradiente es ∇L = Xᵀ(p − y)/n y la Hessiana, ∇²L = XᵀSX/n con S = diag(pᵢ(1 − pᵢ)). Como S tiene diagonal positiva, XᵀSX ⪰ 0: la pérdida es convexa, y estrictamente convexa si X tiene rango completo. Por eso el descenso de gradiente, Newton o IRLS llegan al mismo óptimo. Con datos separables, el óptimo no existe (‖w‖ → ∞) y hace falta regularizar.

Lo comprobé con scikit-learn sin regularización (C=np.inf) frente a una neurona entrenada con descenso de gradiente:

import numpy as np
from sklearn.datasets import make_classification
from sklearn.linear_model import LogisticRegression

X, y = make_classification(n_samples=2000, n_features=5,
                           flip_y=0.1, random_state=0)
clf = LogisticRegression(C=np.inf).fit(X, y)

w, b = np.zeros(5), 0.0
for _ in range(20000):
    # una neurona: lineal + sigmoide
    p = 1 / (1 + np.exp(-(X @ w + b)))
    # gradiente de la log-loss
    w -= 0.5 * X.T @ (p - y) / len(y)
    b -= 0.5 * (p - y).mean()

# los mismos pesos
print(clf.coef_[0].round(3), w.round(3))

Con scikit-learn 1.9.1, los pesos coinciden hasta el tercer decimal. No es casualidad de este conjunto de datos: es el mismo problema convexo resuelto por dos caminos.

Yo me pasé una semana creyendo que tenía que elegir entre estadística y deep learning. Resulta que llevaba años haciendo deep learning de una neurona sin saberlo.

Quién fabrica las features

Nivel de explicación

Novato

Si la balanza del final es la misma, ¿qué tiene de especial una red neuronal grande? Lo que pasa antes de la balanza.

Piensa en una olla. Si cocinas con ingredientes ya picados, los echas y listo. Así son los datos en forma de tabla: edad, importe, número de visitas. Cada columna ya es una pista con sentido, y la balanza las pesa directamente.

Una foto es una patata entera. Un punto de color suelto no te dice si hay un gato. Alguien tiene que picar la foto en pistas útiles, como “aquí hay unas orejas” o “esto parece un bigote”. Las capas de una red neuronal hacen justo eso: aprenden solas a picar. A esas pistas fabricadas los entendidos las llaman features. Al final, todo cae en la misma olla: la misma balanza de antes.

Intermedio

Si la neurona del final es la misma, lo que añade una red profunda es lo que pasa antes de esa neurona. Una red con diez capas que responde sí o no es, en su última capa, una regresión logística. La diferencia es que sus entradas no son tus columnas: son features, combinaciones nuevas que las capas ocultas han aprendido de los datos.

El ejemplo clásico es el XOR: cuatro puntos en las esquinas de un cuadrado, con la clase cambiada en cada diagonal. Una neurona solo sabe trazar una recta, y ninguna recta los separa. Pero si le das una columna nueva, el producto de las dos columnas, los puntos se separan solos. Esa columna nueva es una feature: o la fabricas tú a mano, o la fabrica una capa oculta.

Esto da la regla práctica más útil que conozco. Si tus datos son una tabla y las columnas ya significan algo, las features buenas existen y las capas ocultas tienen poco que aportar. Si son píxeles, audio o texto, ninguna suma con pesos de píxeles ve un gato: alguien tiene que fabricar las features. Pueden fabricarlas las capas ocultas con tus datos, cientos de árboles que suman su voto (el boosting, en tablas) o un modelo ya entrenado con datos de medio mundo, del que solo ajustas el final.

Un detalle práctico: en las librerías de deep learning, la red devuelve la puntuación sin aplastar, y la sigmoide se aplica dentro del castigo, donde las cuentas no se rompen con números enormes.

Técnico

♦ → ♠ Del intermedio al técnico
En ♦ decíamosEn ♠ se escribe
las capas ocultash = tanh(W⁽¹⁾x + b⁽¹⁾)
las features que fabricanh ∈ ℝ⁸: representación aprendida
la neurona del finalp = σ(w⁽²⁾ᵀh + b⁽²⁾)
el producto de las dos columnasx₁x₂
cientos de árboles que suman su votop = σ(Σₖ fₖ(x)), gradient boosting
un modelo ya entrenado con datos de medio mundoembedding preentrenado + fine-tuning
la puntuación sin aplastarlogit z; BCEWithLogitsLoss

Una red binaria de L capas es p = σ(wᵀφ(x) + b), con φ = h⁽ᴸ⁻¹⁾ ∘ … ∘ h⁽¹⁾ aprendida conjuntamente con w. Condicionada a φ, la última capa es una regresión logística sobre las features h. Lo mismo vale para casi todo clasificador binario actual: en boosting binario (XGBoost binary:logistic, LightGBM binary), p = σ(Σₖ fₖ(x)) con fₖ árboles; en un modelo preentrenado afinado, φ es el embedding.

Quién fabrica las features que llegan a la sigmoideCuatro filas que acaban en la misma sigmoide. Regresión logística: de una tabla, las features las haces tú. Gradient boosting: de una tabla, tú preparas las columnas y cientos de árboles suman su voto. Red profunda: de píxeles, audio o texto, las capas ocultas aprenden las features con tus datos. Modelo preentrenado afinado: de texto o imagen, las features vienen de un modelo entrenado con datos de medio mundo y solo afinas el final.EntraQuién fabrica las featuresLlega a σla misma σRegresión logísticaTablaTú, a manox₁ … xₙσGradient boostingTablaTú + cientos de árbolessuma de árbolesσRed profundaPíxeles, audio, textoCapas ocultas, con tus datosh₁ … hₖσPreentrenado afinadoTexto, imagenUn modelo entrenado con medio mundoembeddingσ
En boosting binario, la salida también es una sigmoide aplicada a la suma de los árboles.

En el XOR, con x ∈ {−1, 1}², la clase es y = 1 si x₁x₂ > 0: ningún hiperplano en (x₁, x₂) la separa, pero en (x₁, x₂, x₁x₂) basta el hiperplano x₁x₂ = 0. La capa oculta del laboratorio (8 neuronas tanh) llega a una frontera equivalente sin que nadie le diga qué producto buscar, a cambio de |θ| = 33 en lugar de 4, de perder la convexidad y de que W⁽¹⁾ ya no se lea.

Pruébalo. El XOR y el anillo son los dos ejemplos clásicos de puntos que una recta no puede separar. Elige un conjunto y un modelo, y entrénalo:

Laboratorio de la neuronaPlano con puntos de dos clases: círculos rellenos para la clase 1 y anillos para la clase 0. El fondo se colorea con la clase que predice el modelo y se intensifica cuanto más seguro está. Se puede elegir el conjunto (línea, XOR o anillo) y el modelo (una neurona, una neurona con una feature hecha a mano o una capa oculta de 8 neuronas), y entrenarlo.Acierto: 43 % (decir siempre la clase más común: 55 %). Una neurona solo sabe trazar una recta, y ninguna recta separa un XOR. Acierta como una moneda al aire.

Los puntos

El modelo

Pesos: w = (-0,44; 0,24) · b = -0,18

Acierto: 43 % (decir siempre la clase más común: 55 %). Una neurona solo sabe trazar una recta, y ninguna recta separa un XOR. Acierta como una moneda al aire.

Lo que más me gusta de este experimento es la fila del medio. La misma neurona que fracasa con el XOR acierta en cuanto le das hecho a mano el producto de las dos coordenadas. La capa oculta llega al mismo sitio sin que nadie le diga qué buscar, a cambio de 33 números que ajustar en lugar de 4 y de que ya no puedas leer qué ha aprendido.

Por qué la sigmoide salió de las capas ocultas

Nivel de explicación

Novato

Si una red es “muchas balanzas en fila”, lo natural sería usar la misma aguja, la de la curva en S, en todas. Así se hizo durante años, y salió mal.

Para aprender, una red recibe un aviso al final, “te has equivocado por tanto”, y ese aviso tiene que viajar hacia atrás, de la última capa a la primera, para que cada una ajuste sus pesos. Es como el teléfono escacharrado: cada capa con esa curva repite el aviso, como mucho, a un cuarto del volumen. Tras cinco personas, el mensaje llega a menos de la mitad de un uno por ciento. Con diez, no llega ni un susurro, y las primeras capas casi no aprenden.

La solución fue cambiar la aguja de las capas de en medio por otra que no baja el volumen cuando el aviso es positivo. La curva en S no se jubiló: se fue a trabajar de portera. Sigue al final de la red, para decir “88 % de que sí”, y dentro de los grandes modelos de lenguaje, decidiendo cuánta información deja pasar.

Intermedio

Si una red es “muchas neuronas logísticas apiladas”, lo natural sería usar sigmoides en todas las capas. Así se hizo durante años, y salió mal.

El motivo está en la pendiente de la sigmoide. Como mucho vale 0,25, justo en el centro de la S, y en los extremos es casi cero, porque la curva ya está plana. Para entrenar una red, el aviso de cuánto y hacia dónde mover cada peso (el gradiente) se calcula de la última capa a la primera, multiplicando por la pendiente de cada capa: eso es la retropropagación. Con varias sigmoides seguidas, lo que llega a la primera capa tiene un techo de 0,25 multiplicado por sí mismo una vez por capa, y eso antes de contar lo que estiran o encogen los pesos.

Cuánto gradiente llega a la primera capa con sigmoides apiladasPuntos en escala logarítmica para 1 a 20 capas con sigmoide: el techo del factor de gradiente es 0,25 elevado al número de capas. Forma una recta que baja: 9,8×10⁻⁴ con 5 capas, 9,5×10⁻⁷ con 10 y 9,1×10⁻¹³ con 20.110⁻³10⁻⁶10⁻⁹10⁻¹²15101520capas con sigmoidetecho del gradiente (escala log.)5 capas: 9,8×10⁻⁴10 capas: 9,5×10⁻⁷20 capas: 9,1×10⁻¹³× 0,25 por capa
Es aritmética, no una medida: 0,25 multiplicado por sí mismo una vez por capa.

Con 10 capas, la señal que llega al principio es menos de una millonésima. Las primeras capas casi no aprenden. Es el problema del gradiente que se desvanece, que Hochreiter describió en 1991. En la práctica fue igual de malo: Glorot y Bengio entrenaron en 2010 redes de 5 capas ocultas y el error de test fue del 82,61 % con sigmoides, del 27,15 % con tangente hiperbólica y del 15,60 % con tangente hiperbólica y una inicialización mejor. En las capas ocultas, la sigmoide dejó su sitio a la ReLU, una función que deja pasar los positivos tal cual y pone a cero los negativos.

La sigmoide no desapareció: cambió de trabajo. Fuera de la cadena de capas ocultas no se multiplica por sí misma decenas de veces, y su rango de 0 a 1 es justo lo que hace falta para una probabilidad o para una puerta.

DóndeQué hace la sigmoide
Salida de un clasificador de sí o noConvierte la última puntuación en una probabilidad. Es la regresión logística del final de la red
Clasificación con varias etiquetas a la vezUna sigmoide independiente por clase: una foto puede ser “playa” y “atardecer”
Puertas de las redes LSTM y GRUDecide qué fracción de la memoria pasa, de 0 a 1
SwiGLU, dentro de LLaMA y PaLMUna rama, a través de una sigmoide, decide cuánto pasa de la otra

Técnico

♦ → ♠ Del intermedio al técnico
En ♦ decíamosEn ♠ se escribe
la pendiente de la sigmoideσ′(z) = σ(z)(1 − σ(z))
como mucho 0,25σ′ ≤ ¼, con igualdad en z = 0
el aviso de cuánto y hacia dónde mover cada peso (gradiente)δ⁽ˡ⁾ = ∂L/∂z⁽ˡ⁾; ∂L/∂W⁽ˡ⁾ = δ⁽ˡ⁾h⁽ˡ⁻¹⁾ᵀ
multiplicar por la pendiente de cada capa (retropropagación)δ⁽ˡ⁾ = diag(σ′(z⁽ˡ⁾)) W⁽ˡ⁺¹⁾ᵀ δ⁽ˡ⁺¹⁾
0,25 multiplicado por sí mismo una vez por capa(¼)ⁿ
lo que estiran o encogen los pesos‖W⁽ˡ⁾‖ (norma espectral)
una inicialización mejorGlorot/Xavier: Var(W) = 2/(nᵢₙ + nₒᵤₜ)
la ReLUReLU(z) = max(0, z)
una puertag = σ(Wx + b) ⊙ v

Con h⁽ˡ⁾ = σ(z⁽ˡ⁾) y z⁽ˡ⁾ = W⁽ˡ⁾h⁽ˡ⁻¹⁾ + b⁽ˡ⁾, la retropropagación da δ⁽ˡ⁾ = diag(σ′(z⁽ˡ⁾)) W⁽ˡ⁺¹⁾ᵀ δ⁽ˡ⁺¹⁾, y el gradiente de la primera capa es ∂L/∂W⁽¹⁾ = δ⁽¹⁾xᵀ. Como σ′ = σ(1 − σ) ≤ ¼, con n capas sigmoides ‖δ⁽¹⁾‖ ≤ (¼)ⁿ ∏ₗ ‖W⁽ˡ⁾‖ · ‖∂L/∂h⁽ⁿ⁾‖. Salvo que las normas de los pesos compensen el factor 4 por capa, el gradiente decae exponencialmente con la profundidad (Hochreiter, 1991 y 1998). Si los |z| están en las colas, σ′ ≈ 0 y la cota es mucho más baja.

La sigmoide y su derivadaDos curvas sobre un eje z de −6 a 6. La sigmoide σ(z) sube en forma de S de 0 a 1 y vale 0,5 en z = 0. Su derivada σ′(z), en discontinua, es una campana con máximo 0,25 en z = 0 y casi cero a partir de |z| = 4, donde la sigmoide está saturada.00,250,51−6−4−20246z (score lineal)σ(z): la probabilidadp = 0,5 en z = 0σ′(z): máximo 0,25saturada: σ′ ≈ 0saturada: σ′ ≈ 0
Calculadas, no dibujadas a mano. La discontinua es σ′: su máximo, ¼, es el techo de la cota.
Cuánto gradiente llega a la primera capa con sigmoides apiladasPuntos en escala logarítmica para 1 a 20 capas con sigmoide: el techo del factor de gradiente es 0,25 elevado al número de capas. Forma una recta que baja: 9,8×10⁻⁴ con 5 capas, 9,5×10⁻⁷ con 10 y 9,1×10⁻¹³ con 20.110⁻³10⁻⁶10⁻⁹10⁻¹²15101520capas con sigmoidetecho del gradiente (escala log.)5 capas: 9,8×10⁻⁴10 capas: 9,5×10⁻⁷20 capas: 9,1×10⁻¹³× 0,25 por capa
El techo (¼)ⁿ con n de 1 a 20, en escala logarítmica: una recta de pendiente log₁₀ ¼ ≈ −0,6 por capa.

Glorot y Bengio (AISTATS 2010, Tabla 1) lo midieron con 5 capas ocultas en Shapeset-3×2: error de test del 82,61 % con sigmoide, 27,15 % con tanh y 15,60 % con tanh e inicialización normalizada, Var(W) = 2/(nᵢₙ + nₒᵤₜ), hoy llamada Xavier o Glorot. Además, σ no está centrada en cero: las activaciones medias de 0,5 sesgan las actualizaciones y saturan las capas altas. La ReLU, max(0, z), tiene derivada 1 en z > 0 y rompe el producto de factores menores que ¼.

Fuera de la cadena profunda, σ sigue en dos papeles: como enlace de salida, p = σ(z), en binario y en multietiqueta (una σ por clase en lugar de softmax), y como puerta multiplicativa. En una LSTM, la puerta de entrada es iₜ = σ(Wᵢ[hₜ₋₁, xₜ] + bᵢ). En SwiGLU (Shazeer, 2020), FFN(x) = (Swish(xW) ⊙ xV)W₂ con Swish(u) = u·σ(βu): LLaMA y PaLM la usan en cada bloque del transformer.

La sigmoide es como yo: la echaron de las capas ocultas y acabó de portera en todos los modelos de lenguaje.

Cuándo usar cada cosa

La decisión casi nunca va de “lo complejo que es el problema”. Va de qué forma tiene tu dato, cuántos ejemplos con la respuesta correcta tienes y quién tiene que entender cada decisión. Este árbol vale para los tres niveles:

Qué modelo elegir para predecir una etiquetaÁrbol de decisión. Primera pregunta: qué forma tiene tu dato. Si es una tabla, la segunda pregunta es si alguien tiene que entender cada decisión o si tienes pocos datos: si la respuesta es sí, regresión logística; si es no, gradient boosting, con la logística como punto de comparación. Si son imágenes, audio o texto, la segunda pregunta es si tienes etiquetas (200–500 ya bastan): si las tienes, un modelo preentrenado afinado; si no, un LLM con un prompt, mejor como etiquetador para empezar.¿Qué forma tiene tu dato?Una tabla (filas y columnas)¿Alguien tiene que entendercada decisión, o hay pocos datos?Imágenes, audio o texto¿Tienes etiquetas?(200–500 ya bastan)síRegresiónlogísticacoeficientes legibles,probabilidad calibradanoGradientboostingcon la logísticacomo baselinesíPreentrenadoafinadouna red pequeña,barata por predicciónnoLLM conun promptpara empezar ypara etiquetar
Para predecir una etiqueta. Bajar de complejidad es barato; subir, caro: empieza por la izquierda.
Nivel de explicación

Novato

Para pelar una naranja no te compras un robot de cocina. El robot es caro, tarda en montarse y, si algo sale mal, no sabes por qué. Compensa cuando tienes que hacer pan para un pueblo entero.

Con los modelos pasa igual. Si tus datos son una tabla con columnas que ya significan algo, la balanza de toda la vida suele bastar, y además puedes explicar cada decisión: “te he dicho que no por esta columna”. Si tus datos son fotos, sonido o texto, hace falta quien pique los ingredientes, y ahí sí compensa una red. Un consejo que sirve siempre: prueba primero la balanza. Tardas minutos y te dice cuánto tendría que ganar el robot para que merezca la pena.

Intermedio

Tabla: lo clásico casi siempre basta. Christodoulou y su equipo revisaron 71 estudios de predicción clínica con 282 comparaciones entre regresión logística y machine learning. Midieron el acierto con el AUC, la probabilidad de que el modelo puntúe más alto un caso positivo que uno negativo. En las comparaciones con poco riesgo de sesgo (estudios bien hechos), la diferencia fue cero. La ventaja del machine learning solo aparecía en los estudios con mucho riesgo de sesgo. Leí el resumen del artículo, no el texto completo. En tablas grandes donde nadie tiene que entender las decisiones, los árboles que suman su voto suelen ganar a las redes, y la logística sigue siendo el punto de comparación con el que empezar.

Imágenes, audio o texto: hace falta aprender las features. Pero no siempre hace falta un modelo enorme. Bucher y Martini compararon en 2024 modelos pequeños afinados (ya entrenados y ajustados con unos cientos de ejemplos propios) con grandes modelos de lenguaje sin ejemplos, que solo reciben las instrucciones:

Modelo pequeño afinado frente a LLM sin ejemplosBarras horizontales de accuracy en cuatro tareas de clasificación de texto. Sentimiento, economía de EE. UU.: afinado 0,92 (RoBERTa-large / DeBERTa-v3), LLM zero-shot 0,87 (GPT-4), clase mayoritaria 0,73. Postura, nominación de Kavanaugh: afinado 0,94 (DeBERTa-v3), LLM zero-shot 0,61 (Claude 3 Opus), clase mayoritaria 0,50. Ira, textos políticos en alemán: afinado 0,89 (XLNet-large), LLM zero-shot 0,20 (GPT-4), clase mayoritaria 0,71. Postura ante la UE, multiclase: afinado 0,92 (DeBERTa-v3), LLM zero-shot 0,38 (GPT-4), clase mayoritaria 0,83.Mejor modelo afinadoMejor LLM zero-shotDecir siempre la clase más común00,250,50,751Accuracy (0 a 1)Sentimientoeconomía de EE. UU.0,920,87Posturanominación de Kavanaugh0,940,61Iratextos políticos en alemán0,890,20Postura ante la UEmulticlase0,920,38
Accuracy de las Tablas 1 a 4 de Bucher y Martini (2024). La línea discontinua es lo que se acierta diciendo siempre la clase más común.

En dos de las cuatro tareas, el mejor modelo de lenguaje sin ejemplos queda por debajo de decir siempre la clase más común. Los modelos afinados rinden bien con entre 200 y 500 ejemplos etiquetados, según los autores. Un modelo de lenguaje sin ejemplos sirve para empezar el primer día y para etiquetar esos primeros cientos de ejemplos, pero no suele ser lo que quieres en producción.

Un último aviso: que un número salga entre 0 y 1 no lo convierte en una probabilidad de fiar. La logística sale bien calibrada de serie: si dice 80 %, acierta alrededor del 80 % de las veces. Las redes profundas modernas, no tanto, aunque se puede arreglar después con un solo ajuste.

Técnico

♦ → ♠ Del intermedio al técnico
En ♦ decíamosEn ♠ se escribe
el acierto medido con el AUCAUC = P(s(x⁺) > s(x⁻))
la diferencia fue ceroΔ logit(AUC) = 0,00, IC 95 % [−0,18, 0,18]
riesgo de sesgoRoB (risk of bias)
decir siempre la clase más comúnbaseline de clase mayoritaria
afinados; sin ejemplosfine-tuning; zero-shot
árboles que suman su votoGBDT (XGBoost, LightGBM)
bien calibradaP(y = 1 | p̂ = q) ≈ q; ECE
un solo ajustetemperature scaling: p = σ(z/T)

Christodoulou et al. (J Clin Epidemiol, 2019): 71 estudios y 282 comparaciones. Con RoB bajo (145), Δ logit(AUC) = 0,00 [−0,18, 0,18]; con RoB alto (137), +0,34 [0,20, 0,47]. La ventaja aparente del ML se concentra donde la validación es peor. Solo leí el resumen. En un banco de 45 conjuntos tabulares, Grinsztajn et al. (2022) encuentran que los modelos de árboles siguen siendo el estado del arte con datos de tamaño medio (unas 10.000 filas): las redes sufren con features no informativas y con funciones objetivo irregulares.

En texto, Bucher y Martini (2024) comparan el mejor modelo afinado con el mejor LLM generativo zero-shot (GPT-3.5, GPT-4 y Claude 3 Opus) en cuatro tareas. En dos de ellas, el zero-shot queda por debajo del baseline de clase mayoritaria (0,73 y 0,50). Según los autores (§5.5), el fine-tuning rinde bien con entre 200 y 500 etiquetas.

Reto final

Una regresión logística y una neurona con sigmoide, entrenadas con el mismo castigo, ¿qué son?
¿Por qué dejó de usarse la sigmoide en las capas ocultas?
Tienes una tabla de 5.000 filas (edad, importe, visitas) y alguien tiene que entender cada decisión. ¿Por dónde empiezas?

En tres frases

  1. Una regresión logística es una red neuronal de una sola neurona: la misma suma con pesos, la misma curva en S (la sigmoide) y el mismo castigo.
  2. Lo que añade el deep learning son las capas de antes, que fabrican las features; la sigmoide salió de esas capas porque apaga el aviso del error, y hoy trabaja en la salida y en las puertas.
  3. Si tus datos son una tabla con columnas que ya significan algo, empieza por la logística, que tarda minutos y te dice cuánto tiene que ganar lo complejo; si son píxeles, audio o texto, alguien tiene que fabricar las features.

Fuentes

Cómo está hecha esta lección: a partir de mis notas de machine learning, con ayuda de Claude para ordenarlas y redactar los tres niveles. Las cifras se comprobaron en las tablas originales de cada artículo el 4 de octubre de 2026. El laboratorio de la neurona entrena en tu navegador con descenso de gradiente, igual que el código del nivel ♠. Los dibujos son propios.