Articulo de referencia

AdaBoost

AdaBoost (abreviatura de Ada ptive Boosting ) es un metaalgoritmo de clasificación estadística formulado por Yoav Freund y Robert Schapire en 1995, quienes ganaron el Premio Göd...

AdaBoost (abreviatura de Ada ptive Boosting ) es un metaalgoritmo de clasificación estadística formulado por Yoav Freund y Robert Schapire en 1995, quienes ganaron el Premio Gödel en 2003 por su trabajo. Puede utilizarse junto con muchos tipos de algoritmos de aprendizaje para mejorar el rendimiento. La salida de múltiples clasificadores débiles se combina en una suma ponderada que representa la salida final del clasificador potenciado. Generalmente, AdaBoost se presenta para la clasificación binaria , aunque puede generalizarse a múltiples clases o intervalos acotados de valores reales . [ 1 ] [ 2 ]

AdaBoost es adaptativo en el sentido de que los modelos (aprendices) débiles subsiguientes se ajustan para corregir las instancias mal clasificadas por los modelos anteriores. En algunos problemas, puede ser menos propenso al sobreajuste que otros algoritmos de aprendizaje. Los aprendices individuales pueden ser débiles, pero siempre que el rendimiento de cada uno sea ligeramente superior al de una elección aleatoria, se puede demostrar que el modelo final converge hacia un aprendiz robusto.

Aunque AdaBoost se usa normalmente para combinar clasificadores base débiles (como árboles de decisión simples ), se ha demostrado que también combina eficazmente clasificadores base fuertes (como árboles de decisión más profundos ), produciendo un modelo aún más preciso. [ 3 ]

Cada algoritmo de aprendizaje tiende a adaptarse mejor a ciertos tipos de problemas que a otros, y normalmente tiene muchos parámetros y configuraciones diferentes que ajustar antes de lograr un rendimiento óptimo en un conjunto de datos . A AdaBoost (con árboles de decisión como aprendices débiles) se suele considerar el mejor clasificador listo para usar. [ 4 ] [ 5 ] Cuando se utiliza con el aprendizaje de árboles de decisión, la información recopilada en cada etapa del algoritmo AdaBoost sobre la "dificultad" relativa de cada muestra de entrenamiento se introduce en el algoritmo de crecimiento del árbol, de modo que los árboles posteriores tienden a centrarse en los ejemplos más difíciles de clasificar.

Capacitación

AdaBoost se refiere a un método particular de entrenamiento de un clasificador potenciado. Un clasificador potenciado es un clasificador de la forma FT(incógnita)=t=1TFt(incógnita){\displaystyle F_{T}(x)=\sum _{t=1}^{T}f_{t}(x)} donde cadaFt{\displaystyle f_{t}}es un aprendiz débil que toma un objetoincógnita{\displaystyle x}Recibe como entrada un valor que indica la clase del objeto. Por ejemplo, en el problema de dos clases, el signo de la salida del clasificador débil identifica la clase del objeto predicha y el valor absoluto indica la confianza en esa clasificación.

Cada aprendiz débil produce una hipótesis de salidah{\displaystyle h}que fija una predicciónh(incógnitai){\displaystyle h(x_{i})}para cada muestra en el conjunto de entrenamiento. En cada iteraciónt{\displaystyle t}Se selecciona un aprendiz débil y se le asigna un coeficiente.αt{\displaystyle \alpha _{t}}de tal manera que el error total de entrenamientomit{\displaystyle E_{t}}del resultadot{\displaystyle t}-El clasificador potenciado de etapa se minimiza.

mit=imi[Ft1(incógnitai)+αth(incógnitai)]{\displaystyle E_{t}=\sum _{i}E[F_{t-1}(x_{i})+\alpha _{t}h(x_{i})]}

AquíFt1(incógnita){\displaystyle F_{t-1}(x)}es el clasificador potenciado que se ha construido hasta la etapa anterior de entrenamiento yFt(incógnita)=αth(incógnita){\displaystyle f_{t}(x)=\alpha _{t}h(x)}es el clasificador débil que se está considerando para su adición al clasificador final.

Ponderación

En cada iteración del proceso de entrenamiento, un pesowi,t{\displaystyle w_{i,t}}Se asigna a cada muestra del conjunto de entrenamiento un valor igual al error actual.mi(Ft1(incógnitai)){\displaystyle E(F_{t-1}(x_{i}))}en esa muestra. Estos pesos pueden usarse en el entrenamiento del clasificador débil. Por ejemplo, se pueden construir árboles de decisión que favorezcan la división de conjuntos de muestras con pesos grandes.

Derivación

Esta derivación sigue a Rojas (2009): [ 6 ]

Supongamos que tenemos un conjunto de datos{(incógnita1,y1),,(incógnitanorte,ynorte)}{\displaystyle \{(x_{1},y_{1}),\ldots ,(x_{N},y_{N})\}}donde cada artículoincógnitai{\displaystyle x_{i}}tiene una clase asociadayi{1,1}{\displaystyle y_{i}\in \{-1,1\}}y un conjunto de clasificadores débiles{k1,,kL}{\displaystyle \{k_{1},\ldots ,k_{L}\}}cada uno de los cuales produce una clasificaciónkj(incógnitai){1,1}{\displaystyle k_{j}(x_{i})\in \{-1,1\}}para cada artículo. Después del(metro1){\displaystyle (m-1)}En la iteración -a, nuestro clasificador potenciado es una combinación lineal de los clasificadores débiles de la forma: do(metro1)(incógnitai)=α1k1(incógnitai)++αmetro1kmetro1(incógnitai),{\displaystyle C_{(m-1)}(x_{i})=\alpha _{1}k_{1}(x_{i})+\cdots +\alpha _{m-1}k_{m-1}(x_{i}),} donde la clase será el signo dedo(metro1)(incógnitai){\displaystyle C_{(m-1)}(x_{i})}. En elmetro{\displaystyle m}-en la iteración queremos extender esto a un clasificador potenciado mejor agregando otro clasificador débil.kmetro{\displaystyle k_{m}}, con otro pesoαmetro{\displaystyle \alpha _{m}}: dometro(incógnitai)=do(metro1)(incógnitai)+αmetrokmetro(incógnitai){\displaystyle C_{m}(x_{i})=C_{(m-1)}(x_{i})+\alpha _{m}k_{m}(x_{i})}

Por lo tanto, queda por determinar qué clasificador débil es la mejor opción parakmetro{\displaystyle k_{m}}y cuál es su pesoαmetro{\displaystyle \alpha _{m}}debería ser. Definimos el error total.mi{\displaystyle E}dedometro{\displaystyle C_{m}}como la suma de su pérdida exponencial en cada punto de datos, dada de la siguiente manera: mi=i=1nortemiyidometro(incógnitai)=i=1nortemiyido(metro1)(incógnitai)miyiαmetrokmetro(incógnitai){\displaystyle E=\sum _{i=1}^{N}e^{-y_{i}C_{m}(x_{i})}=\sum _{i=1}^{N}e^{-y_{i}C_{(m-1)}(x_{i})}e^{-y_{i}\alpha _{m}k_{m}(x_{i})}}

Alquilerwi(1)=1{\displaystyle w_{i}^{(1)}=1}ywi(metro)=miyidometro1(incógnitai){\displaystyle w_{i}^{(m)}=e^{-y_{i}C_{m-1}(x_{i})}}parametro>1{\displaystyle m>1}, tenemos: mi=i=1nortewi(metro)miyiαmetrokmetro(incógnitai){\displaystyle E=\sum _{i=1}^{N}w_{i}^{(m)}e^{-y_{i}\alpha _{m}k_{m}(x_{i})}}

Podemos dividir esta suma entre aquellos puntos de datos que están correctamente clasificados porkmetro{\displaystyle k_{m}}(entoncesyikmetro(incógnitai)=1{\displaystyle y_{i}k_{m}(x_{i})=1}) y aquellos que están mal clasificados (por lo tantoyikmetro(incógnitai)=1{\displaystyle y_{i}k_{m}(x_{i})=-1}): mi=yi=kmetro(incógnitai)wi(metro)miαmetro+yikmetro(incógnitai)wi(metro)miαmetro=i=1nortewi(metro)miαmetro+yikmetro(incógnitai)wi(metro)(miαmetromiαmetro){\displaystyle {\begin{aligned}E&=\sum _{y_{i}=k_{m}(x_{i})}w_{i}^{(m)}e^{-\alpha _{m}}+\sum _{y_{i}\neq k_{m}(x_{i})}w_{i}^{(m)}e^{\alpha _{m}}\\&=\sum _{i=1}^{N}w_{i}^{(m)}e^{-\alpha _{m}}+\sum _{y_{i}\neq k_{m}(x_{i})}w_{i}^{(m)}\left(e^{\alpha _{m}}-e^{-\alpha _{m}}\right)\end{aligned}}}

Dado que la única parte del lado derecho de esta ecuación que depende dekmetro{\displaystyle k_{m}}esyikmetro(incógnitai)wi(metro){\textstyle \sum _{y_{i}\neq k_{m}(x_{i})}w_{i}^{(m)}}, vemos que elkmetro{\displaystyle k_{m}}que minimizami{\displaystyle E}es el que está en el conjunto{k1,,kL}{\displaystyle \{k_{1},\ldots ,k_{L}\}}que minimizayikmetro(incógnitai)wi(metro){\textstyle \sum _{y_{i}\neq k_{m}(x_{i})}w_{i}^{(m)}}[suponiendo queαmetro>0{\displaystyle \alpha _{m}>0}], es decir, el clasificador débil con el menor error ponderado (con pesoswi(metro)=miyidometro1(incógnitai){\displaystyle w_{i}^{(m)}=e^{-y_{i}C_{m-1}(x_{i})}}).

Para determinar el peso deseadoαmetro{\displaystyle \alpha _{m}}que minimizami{\displaystyle E}con elkmetro{\displaystyle k_{m}}que acabamos de determinar, diferenciamos: dmidαmetro=d(yi=kmetro(incógnitai)wi(metro)miαmetro+yikmetro(incógnitai)wi(metro)miαmetro)dαmetro{\displaystyle {\frac {dE}{d\alpha _{m}}}={\frac {d(\sum _{y_{i}=k_{m}(x_{i})}w_{i}^{(m)}e^{-\alpha _{m}}+\sum _{y_{i}\neq k_{m}(x_{i})}w_{i}^{(m)}e^{\alpha _{m}})}{d\alpha _{m}}}}

El valor deαmetro{\displaystyle \alpha _{m}}que minimiza la expresión anterior es: αmetro=12ln(yi=kmetro(incógnitai)wi(metro)yikmetro(incógnitai)wi(metro)){\displaystyle \alpha _{m}={\frac {1}{2}}\ln \left({\frac {\sum _{y_{i}=k_{m}(x_{i})}w_{i}^{(m)}}{\sum _{y_{i}\neq k_{m}(x_{i})}w_{i}^{(m)}}}\right)}

Prueba

dmidαmetro=yi=kmetro(incógnitai)wi(metro)miαmetro+yikmetro(incógnitai)wi(metro)miαmetro=0{\displaystyle {\frac {dE}{d\alpha _{m}}}=-\sum _{y_{i}=k_{m}(x_{i})}w_{i}^{(m)}e^{-\alpha _{m}}+\sum _{y_{i}\neq k_{m}(x_{i})}w_{i}^{(m)}e^{\alpha _{m}}=0} porquemiαmetro{\displaystyle e^{-\alpha _{m}}}no depende dei{\displaystyle i}miαmetroyi=kmetro(incógnitai)wi(metro)=miαmetroyikmetro(incógnitai)wi(metro){\displaystyle e^{-\alpha _{m}}\sum _{y_{i}=k_{m}(x_{i})}w_{i}^{(m)}=e^{\alpha _{m}}\sum _{y_{i}\neq k_{m}(x_{i})}w_{i}^{(m)}}αmetro+ln(yi=kmetro(incógnitai)wi(metro))=αmetro+ln(yikmetro(incógnitai)wi(metro)){\displaystyle -\alpha _{m}+\ln \left(\sum _{y_{i}=k_{m}(x_{i})}w_{i}^{(m)}\right)=\alpha _{m}+\ln \left(\sum _{y_{i}\neq k_{m}(x_{i})}w_{i}^{(m)}\right)}2αmetro=ln(yikmetro(incógnitai)wi(metro)yi=kmetro(incógnitai)wi(metro)){\displaystyle -2\alpha _{m}=\ln \left({\dfrac {\sum _{y_{i}\neq k_{m}(x_{i})}w_{i}^{(m)}}{\sum _{y_{i}=k_{m}(x_{i})}w_{i}^{(m)}}}\right)}αmetro=12ln(yikmetro(incógnitai)wi(metro)yi=kmetro(incógnitai)wi(metro)){\displaystyle \alpha _{m}=-{\dfrac {1}{2}}\ln \left({\dfrac {\sum _{y_{i}\neq k_{m}(x_{i})}w_{i}^{(m)}}{\sum _{y_{i}=k_{m}(x_{i})}w_{i}^{(m)}}}\right)}αmetro=12ln(yi=kmetro(incógnitai)wi(metro)yikmetro(incógnitai)wi(metro)){\displaystyle \alpha _{m}={\dfrac {1}{2}}\ln \left({\dfrac {\sum _{y_{i}=k_{m}(x_{i})}w_{i}^{(m)}}{\sum _{y_{i}\neq k_{m}(x_{i})}w_{i}^{(m)}}}\right)}

Calculamos que la tasa de error ponderada del clasificador débil esϵmetro=yikmetro(incógnitai)wi(metro)i=1nortewi(metro){\displaystyle \epsilon _{m}={\frac {\sum _{y_{i}\neq k_{m}(x_{i})}w_{i}^{(m)}}{\sum _{i=1}^{N}w_{i}^{(m)}}}}, por lo tanto, se deduce que: αmetro=12ln(1ϵmetroϵmetro){\displaystyle \alpha _{m}={\frac {1}{2}}\ln \left({\frac {1-\epsilon _{m}}{\epsilon _{m}}}\right)} que es la función logit negativa multiplicada por 0,5. Debido a la convexidad demi{\displaystyle E}como función deαmetro{\displaystyle \alpha _{m}}, esta nueva expresión paraαmetro{\displaystyle \alpha _{m}}proporciona el mínimo global de la función de pérdida.

Nota: Esta derivación solo se aplica cuandokmetro(incógnitai){1,1}{\displaystyle k_{m}(x_{i})\in \{-1,1\}}, aunque puede ser una buena suposición inicial en otros casos, como cuando el aprendiz débil está sesgado (kmetro(incógnita){a,b},ab{\displaystyle k_{m}(x)\in \{a,b\},a\neq -b}), tiene múltiples hojas (kmetro(incógnita){a,b,,norte}{\displaystyle k_{m}(x)\in \{a,b,\dots ,n\}}) o es alguna otra funciónkmetro(incógnita)R{\displaystyle k_{m}(x)\in \mathbb {R} }.

Así hemos derivado el algoritmo AdaBoost: En cada iteración, elija el clasificador.kmetro{\displaystyle k_{m}}, lo que minimiza el error ponderado totalyikmetro(incógnitai)wi(metro){\textstyle \sum _{y_{i}\neq k_{m}(x_{i})}w_{i}^{(m)}}, utilice esto para calcular la tasa de errorϵmetro=yikmetro(incógnitai)wi(metro)i=1nortewi(metro){\displaystyle \epsilon _{m}={\frac {\sum _{y_{i}\neq k_{m}(x_{i})}w_{i}^{(m)}}{\sum _{i=1}^{N}w_{i}^{(m)}}}}, utilice esto para calcular el pesoαmetro=12ln(1ϵmetroϵmetro){\displaystyle \alpha _{m}={\frac {1}{2}}\ln \left({\frac {1-\epsilon _{m}}{\epsilon _{m}}}\right)}y, finalmente, utilizar esto para mejorar el clasificador potenciado.dometro1{\displaystyle C_{m-1}}adometro=do(metro1)+αmetrokmetro{\displaystyle C_{m}=C_{(m-1)}+\alpha _{m}k_{m}}.

Comprensión estadística del boosting

Boosting es una forma de regresión lineal en la que las características de cada muestraincógnitai{\displaystyle x_{i}}son los resultados de algún aprendiz débilh{\displaystyle h}aplicado aincógnitai{\displaystyle x_{i}}.

Mientras que la regresión intenta ajustarF(incógnita){\displaystyle F(x)}ay(incógnita){\displaystyle y(x)}con la mayor precisión posible sin pérdida de generalización, utilizando típicamente el método de mínimos cuadrados.mi(F)=(y(incógnita)F(incógnita))2{\displaystyle E(f)=(y(x)-f(x))^{2}}, mientras que la función de error de AdaBoostmi(F)=miy(incógnita)F(incógnita){\displaystyle E(f)=e^{-y(x)f(x)}}tiene en cuenta el hecho de que solo se utiliza el signo del resultado final, por lo tanto|F(incógnita)|{\displaystyle |F(x)|}puede ser mucho mayor que 1 sin aumentar el error. Sin embargo, el aumento exponencial del error para la muestraincógnitai{\displaystyle x_{i}}comoy(incógnitai)F(incógnitai){\displaystyle -y(x_{i})f(x_{i})}aumentan, lo que provoca que se asignen ponderaciones excesivas a los valores atípicos.

Una característica de la elección de la función de error exponencial es que el error del modelo aditivo final es el producto del error de cada etapa, es decir,mimetroyiFmetro(incógnitai)=metromiyiFmetro(incógnitai){\displaystyle e^{\sum _{m}-y_{i}f_{m}(x_{i})}=\prod _{m}e^{-y_{i}f_{m}(x_{i})}}. Por lo tanto, se puede ver que la actualización de peso en el algoritmo AdaBoost es equivalente a recalcular el error enFt(incógnita){\displaystyle F_{t}(x)}después de cada etapa.

Existe mucha flexibilidad en la elección de la función de pérdida. Siempre que la función de pérdida sea monótona y continuamente diferenciable , el clasificador siempre se orientará hacia soluciones más puras. [ 7 ] Zhang (2004) proporciona una función de pérdida basada en mínimos cuadrados, una función de pérdida de Huber modificada : ϕ(y,F(incógnita))={4yF(incógnita)si yF(incógnita)<1,(yF(incógnita)1)2si 1yF(incógnita)1.0si yF(incógnita)>1{\displaystyle \phi (y,f(x))={\begin{cases}-4yf(x)&{\text{if }}yf(x)<-1,\\(yf(x)-1)^{2}&{\text{if }}-1\leq yf(x)\leq 1.\\0&{\text{if }}yf(x)>1\end{cases}}}

Esta función se comporta mejor que LogitBoost paraF(incógnita){\displaystyle f(x)}Cercano a 1 o -1, no penaliza las predicciones "excesivamente confiadas" (yF(incógnita)>1{\displaystyle yf(x)>1}), a diferencia de los mínimos cuadrados no modificados, y solo penaliza linealmente las muestras mal clasificadas con una confianza mayor que 1, en lugar de cuadráticamente o exponencialmente, y por lo tanto es menos susceptible a los efectos de los valores atípicos.

Impulso como descenso de gradiente

El boosting puede verse como la minimización de una función de pérdida convexa sobre un conjunto convexo de funciones. [ 8 ] Específicamente, la pérdida que minimiza AdaBoost es la pérdida exponencial. iϕ(i,y,F)=imiyiF(incógnitai),{\displaystyle \sum _{i}\phi (i,y,f)=\sum _{i}e^{-y_{i}f(x_{i})},} mientras que LogitBoost realiza una regresión logística, minimizando iϕ(i,y,F)=iln(1+miyiF(incógnitai)).{\displaystyle \sum _{i}\phi (i,y,f)=\sum _{i}\ln \left(1+e^{-y_{i}f(x_{i})}\right).}

En la analogía del descenso de gradiente, la salida del clasificador para cada punto de entrenamiento se considera un punto(Ft(incógnita1),,Ft(incógnitanorte)){\displaystyle \left(F_{t}(x_{1}),\dots ,F_{t}(x_{n})\right)}en un espacio n-dimensional, donde cada eje corresponde a una muestra de entrenamiento, cada aprendiz débilh(incógnita){\displaystyle h(x)}corresponde a un vector de orientación y longitud fijas, y el objetivo es alcanzar el punto objetivo.(y1,,ynorte){\displaystyle (y_{1},\dots ,y_{n})}(o cualquier región donde el valor de la función de pérdidamiT(incógnita1,,incógnitanorte){\displaystyle E_{T}(x_{1},\dots ,x_{n})}es menor que el valor en ese punto), en el menor número de pasos. Por lo tanto, los algoritmos AdaBoost realizan Cauchy (encontrarh(incógnita){\displaystyle h(x)}con la pendiente más pronunciada, eligeα{\displaystyle \alpha }para minimizar el error de prueba) o Newton (elegir algún punto objetivo, encontrarαh(incógnita){\displaystyle \alpha h(x)}que traeFt{\displaystyle F_{t}}más cercano a ese punto) optimización del error de entrenamiento.

Algoritmo de ejemplo (AdaBoost discreto)

Con:

  • Muestrasincógnita1incógnitanorte{\displaystyle x_{1}\dots x_{n}}
  • Resultados deseadosy1ynorte,y{1,1}{\displaystyle y_{1}\dots y_{n},y\in \{-1,1\}}
  • pesos inicialesw1,1wnorte,1{\displaystyle w_{1,1}\dots w_{n,1}}empezar a1norte{\displaystyle {\frac {1}{n}}}
  • Función de errormi(F(incógnita),yi)=miyiF(incógnitai){\displaystyle E(f(x),y_{i})=e^{-y_{i}f(x_{i})}}
  • alumnos con dificultadesh:incógnita{1,1}{\displaystyle h\colon x\rightarrow \{-1,1\}}

Parat{\displaystyle t}en1T{\displaystyle 1\dots T}:

  • Elegirht(incógnita){\displaystyle h_{t}(x)}:
    • Encuentra alumnos con dificultades de aprendizajeht(incógnita){\displaystyle h_{t}(x)}que minimizaϵt{\displaystyle \epsilon _{t}}, el error de suma ponderada para puntos mal clasificadosϵt=ht(incógnitai)yii=1nortewi,t{\displaystyle \epsilon _{t}=\sum _{\stackrel {i=1}{h_{t}(x_{i})\neq y_{i}}}^{n}w_{i,t}}
    • Elegirαt=12ln(1ϵtϵt){\displaystyle \alpha _{t}={\frac {1}{2}}\ln \left({\frac {1-\epsilon _{t}}{\epsilon _{t}}}\right)}
  • Agregar al conjunto:
    • Ft(incógnita)=Ft1(incógnita)+αtht(incógnita){\displaystyle F_{t}(x)=F_{t-1}(x)+\alpha _{t}h_{t}(x)}
  • Actualizar pesos:
    • wi,t+1=wi,tmiyiαtht(incógnitai){\displaystyle w_{i,t+1}=w_{i,t}e^{-y_{i}\alpha _{t}h_{t}(x_{i})}}parai{\displaystyle i}en1norte{\displaystyle 1\dots n}
    • Renormalizarwi,t+1{\displaystyle w_{i,t+1}}de tal manera queiwi,t+1=1{\displaystyle \sum _{i}w_{i,t+1}=1}
    • (Nota: Se puede demostrar queht(incógnitai)=yiwi,t+1ht(incógnitai)yiwi,t+1=ht(incógnitai)=yiwi,tht(incógnitai)yiwi,t{\displaystyle {\frac {\sum _{h_{t}(x_{i})=y_{i}}w_{i,t+1}}{\sum _{h_{t}(x_{i})\neq y_{i}}w_{i,t+1}}}={\frac {\sum _{h_{t}(x_{i})=y_{i}}w_{i,t}}{\sum _{h_{t}(x_{i})\neq y_{i}}w_{i,t}}}}en cada paso, lo que puede simplificar el cálculo de los nuevos pesos.)

Variantes

AdaBoost real

El resultado de los árboles de decisión es una estimación de la probabilidad de clase.pag(incógnita)=PAG(y=1|incógnita){\displaystyle p(x)=P(y=1|x)}, la probabilidad de queincógnita{\displaystyle x}pertenece a la clase positiva. [ 7 ] Friedman, Hastie y Tibshirani derivan un minimizador analítico paramiy(Ft1(incógnita)+Ft(pag(incógnita))){\displaystyle e^{-y\left(F_{t-1}(x)+f_{t}(p(x))\right)}}para algún fijopag(incógnita){\displaystyle p(x)}(normalmente se elige utilizando el error de mínimos cuadrados ponderados):

Ft(incógnita)=12ln(incógnita1incógnita){\displaystyle f_{t}(x)={\frac {1}{2}}\ln \left({\frac {x}{1-x}}\right)}.

De este modo, en lugar de multiplicar la salida de todo el árbol por un valor fijo, cada nodo hoja se modifica para que genere la mitad de la transformada logit de su valor anterior.

LogitBoost

LogitBoost representa una aplicación de técnicas de regresión logística establecidas al método AdaBoost. En lugar de minimizar el error con respecto a y, se eligen aprendices débiles para minimizar el error (de mínimos cuadrados ponderados) deFt(incógnita){\displaystyle f_{t}(x)}con respecto a zt=ypagt(incógnita)2pagt(incógnita)(1pagt(incógnita)),{\displaystyle z_{t}={\frac {y^{*}-p_{t}(x)}{2p_{t}(x)(1-p_{t}(x))}},} dónde pagt(incógnita)=miFt1(incógnita)miFt1(incógnita)+miFt1(incógnita),{\displaystyle p_{t}(x)={\frac {e^{F_{t-1}(x)}}{e^{F_{t-1}(x)}+e^{-F_{t-1}(x)}}},}wt=pagt(incógnita)(1pagt(incógnita)){\displaystyle w_{t}=p_{t}(x)(1-p_{t}(x))}y=y+12.{\displaystyle y^{*}={\frac {y+1}{2}}.}

Eso eszt{\displaystyle z_{t}}es la aproximación de Newton-Raphson del minimizador del error de log-verosimilitud en la etapat{\displaystyle t}y el aprendiz débilFt{\displaystyle f_{t}}es elegido como el aprendiz que mejor se aproximazt{\displaystyle z_{t}}mediante mínimos cuadrados ponderados.

A medida que p se acerca a 1 o a 0, el valor depagt(incógnitai)(1pagt(incógnitai)){\displaystyle p_{t}(x_{i})(1-p_{t}(x_{i}))}se vuelve muy pequeño y el término z , que es grande para muestras mal clasificadas, puede volverse numéricamente inestable debido a errores de redondeo de precisión de la máquina. Esto se puede superar imponiendo algún límite al valor absoluto de z y al valor mínimo de w. 

AdaBoost suave

Mientras que los algoritmos de boosting anteriores eligenFt{\displaystyle f_{t}}GentleBoost, que busca minimizar al máximo el error general de la prueba en cada paso, utiliza un tamaño de paso limitado.Ft{\displaystyle f_{t}}se elige para minimizariwt,i(yiFt(incógnitai))2{\textstyle \sum _{i}w_{t,i}(y_{i}-f_{t}(x_{i}))^{2}}y no se aplica ningún coeficiente adicional. Por lo tanto, en el caso de que un aprendiz débil muestre un rendimiento de clasificación perfecto, GentleBoost eligeFt(incógnita)=αtht(incógnita){\displaystyle f_{t}(x)=\alpha _{t}h_{t}(x)}exactamente igual ay{\displaystyle y}, mientras que los algoritmos de descenso más pronunciado intentan establecerαt={\displaystyle \alpha _{t}=\infty }Las observaciones empíricas sobre el buen desempeño de GentleBoost parecen respaldar la observación de Schapire y Singer de que permitir valores excesivamente grandes deα{\displaystyle \alpha }puede conducir a un rendimiento de generalización deficiente. [ 9 ] [ 10 ]

Terminación anticipada

Una técnica para acelerar el procesamiento de clasificadores potenciados, la terminación temprana se refiere a probar cada objeto potencial solo con las capas del clasificador final necesarias para cumplir con un umbral de confianza determinado, acelerando el cálculo en los casos en que la clase del objeto se puede determinar fácilmente. Un ejemplo de este esquema es el marco de detección de objetos introducido por Viola y Jones: [ 11 ] en una aplicación con muchas más muestras negativas que positivas, se entrena una cascada de clasificadores potenciados separados, la salida de cada etapa se sesga de manera que una fracción aceptablemente pequeña de muestras positivas se etiquete erróneamente como negativa, y todas las muestras marcadas como negativas después de cada etapa se descartan. Si el 50 % de las muestras negativas se filtran en cada etapa, solo un número muy pequeño de objetos pasaría por todo el clasificador, reduciendo el esfuerzo computacional. Este método se ha generalizado desde entonces, proporcionándose una fórmula para elegir umbrales óptimos en cada etapa para lograr una tasa deseada de falsos positivos y falsos negativos. [ 12 ]

En el campo de la estadística, donde AdaBoost se aplica más comúnmente a problemas de dimensionalidad moderada, la parada temprana se utiliza como estrategia para reducir el sobreajuste . [ 13 ] Se separa un conjunto de muestras de validación del conjunto de entrenamiento, se compara el rendimiento del clasificador en las muestras utilizadas para el entrenamiento con el rendimiento en las muestras de validación, y se termina el entrenamiento si se observa que el rendimiento en la muestra de validación disminuye incluso cuando el rendimiento en el conjunto de entrenamiento continúa mejorando.

Algoritmos totalmente correctivos

Para las versiones de descenso más pronunciado de AdaBoost, dondeαt{\displaystyle \alpha _{t}}Se elige en cada capa t para minimizar el error de prueba, se dice que la siguiente capa agregada es máximamente independiente de la capa t : [ 14 ] es improbable elegir un aprendiz débil t+1 que sea similar al aprendiz t . Sin embargo, sigue existiendo la posibilidad de que t+1 produzca información similar a alguna otra capa anterior. Los algoritmos totalmente correctivos, como LPBoost , optimizan el valor de cada coeficiente después de cada paso, de modo que las nuevas capas agregadas sean siempre máximamente independientes de cada capa anterior. Esto se puede lograr mediante backfitting, programación lineal u otro método.

Poda

La poda es el proceso de eliminar clasificadores débiles con bajo rendimiento para mejorar el costo de memoria y tiempo de ejecución del clasificador potenciado. Los métodos más simples, que pueden ser particularmente efectivos en conjunto con el entrenamiento totalmente correctivo, son el recorte de peso o margen: cuando el coeficiente, o la contribución al error total de prueba, de algún clasificador débil cae por debajo de un cierto umbral, ese clasificador se elimina. Margineantu y Dietterich [ 15 ] sugirieron un criterio alternativo para el recorte: los clasificadores débiles deben seleccionarse de manera que se maximice la diversidad del conjunto. Si dos clasificadores débiles producen salidas muy similares, la eficiencia puede mejorarse eliminando uno de ellos y aumentando el coeficiente del clasificador débil restante. [ 16 ]

Véase también

Referencias

  1. Freund, Yoav; Schapire, Robert E. (1995), Una generalización [ sic ] de la teoría de decisiones del aprendizaje en línea y una aplicación al boosting , Lecture Notes in Computer Science, Berlín, Heidelberg: Springer Berlin Heidelberg, pp. 23–37 , doi : 10.1007/3-540-59119-2_166 , ISBN  978-3-540-59119-1, consultado el 24 de junio de 2022
  2. Hastie, Trevor; Rosset, Saharon; Zhu, Ji; Zou, Hui (2009). "Multi-class AdaBoost" . Statistics and Its Interface . 2 (3): 349– 360. doi : 10.4310/sii.2009.v2.n3.a8 . ISSN 1938-7989 . 
  3. Wyner, Abraham J.; Olson, Matthew; Bleich, Justin; Mease, David (2017). "Explicando el éxito de AdaBoost y Random Forests como clasificadores interpoladores" . Journal of Machine Learning Research . 18 (48): 1– 33. Recuperado el 17 de marzo de 2022 .
  4. ^ Kégl, Balázs (20 de diciembre de 2013). "El regreso de AdaBoost.MH: árboles Hamming multiclase". arXiv : 1312.6086 [ cs.LG ].
  5. Joglekar, Sachin (6 de marzo de 2016). "adaboost – Blog de Sachin Joglekar" . codesachin.wordpress.com . Consultado el 3 de agosto de 2016 .
  6. Rojas, Raúl (2009). "AdaBoost y el super bowl de los clasificadores: una introducción tutorial al boosting adaptativo" (Informe técnico) . Universidad Libre de Berlín.
  7. 1 2 Friedman, Jerome; Hastie, Trevor; Tibshirani, Robert (1998). "Regresión logística aditiva: una visión estadística del boosting". Annals of Statistics . 28 : 2000. CiteSeerX 10.1.1.51.9525 . 
  8. Zhang, T. (2004). "Comportamiento estadístico y consistencia de los métodos de clasificación basados ​​en la minimización del riesgo convexo" . Annals of Statistics . 32 (1): 56– 85. doi : 10.1214/aos/1079120130 . JSTOR 3448494 . 
  9. Schapire, Robert; Singer, Yoram (1999). "Algoritmos de boosting mejorados utilizando predicciones con índice de confianza": 80– 91. CiteSeerX 10.1.1.33.4002 . {{cite journal}}: Para citar una revista se requiere |journal=( ayuda )
  10. Freund; Schapire (1999). "Una breve introducción al boosting" (PDF) :
  11. Viola, Paul; Jones, Robert (2001). "Detección rápida de objetos mediante una cascada potenciada de características simples". CiteSeerX 10.1.1.10.6807 . {{cite journal}}: Para citar una revista se requiere |journal=( ayuda )
  12. McCane, Brendan; Novins, Kevin; Albert, Michael (2005). "Optimización de clasificadores en cascada".{{cite journal}}: Para citar una revista se requiere |journal=( ayuda )
  13. Trevor Hastie; Robert Tibshirani; Jerome Friedman (2009). Los elementos del aprendizaje estadístico: minería de datos, inferencia y predicción (2.ª ed.). Nueva York: Springer. ISBN  978-0-387-84858-7Archivado del original el 13 de marzo de 2015. Consultado el 13 de marzo de 2014 .
  14. Šochman, Jan; Matas, Jiří (2004). Adaboost con actualizaciones totalmente correctivas para la detección rápida de rostros . IEEE Computer Society. ISBN 978-0-7695-2122-0.
  15. Margineantu, Dragos; Dietterich, Thomas (1997). "Poda del impulso adaptativo". CiteSeerX 10.1.1.38.7017 . {{cite journal}}: Para citar una revista se requiere |journal=( ayuda )
  16. Tamon, Christino; Xiang, Jie (2000). "Sobre el problema de la poda de impulso".{{cite journal}}: Para citar una revista se requiere |journal=( ayuda )

Lecturas adicionales

  • Freund, Yoav; Schapire, Robert E (1997). "Una generalización de la teoría de la decisión del aprendizaje en línea y una aplicación al boosting". Journal of Computer and System Sciences . 55 : 119–139 . CiteSeerX 10.1.1.32.8918 . doi : 10.1006/jcss.1997.1504 : Artículo original de Yoav Freund y Robert E. Schapire donde se presenta por primera vez AdaBoost.
  • Zhou, Zhihua (2008). "Explicación marginal del algoritmo de boosting" (PDF) . En: Actas de la 21.ª Conferencia Anual sobre Teoría del Aprendizaje (COLT'08) : 479–490 .Explicación marginal del algoritmo de boosting.
  • Zhou, Zhihua (2013). "Sobre la duda acerca de la explicación del margen de boosting" (PDF) . Inteligencia Artificial . 203 (2013): 1–18 . arXiv : 1009.3613 . Bibcode : 2010arXiv1009.3613G . doi : 10.1016/j.artint.2013.07.002 . S2CID 2828847 . Sobre la duda acerca de la explicación del margen de impulso.