Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Algoritmos de conjunto

En este tema se proporcionan descripciones de los algoritmos de aprendizaje de conjunto admitidos por, incluidos el empaquetado, el espacio aleatorio y varios algoritmos de Boosting.Statistics and Machine Learning Toolbox™ Puede especificar el algoritmo mediante el argumento de par nombre-valor de, o.'Method'fitcensemblefitrensembletemplateEnsemble Utilice o para crear un conjunto de alumnos para clasificación o regresión, respectivamente.fitcensemblefitrensemble Se usa para crear una plantilla de alumno de conjunto y pasar la plantilla a fin de especificar los alumnos binarios de conjunto para el aprendizaje multiclase de ECOC.templateEnsemblefitcecoc

Para la agregación de bootstrap (embolsado) y el bosque aleatorio, también puede utilizarlo.TreeBagger

Valor de'Method'AlgoritmoProblemas soportadosEjemplos
'Bag'( , , )Agregación de bootstrap (embolsado) y bosque aleatorio[1][2][3]Clasificación binaria y multiclase, regresión
'Subspace'( )Subespacio aleatorio[9]La clasificación binaria y multiclaseClasificación subespacial aleatoria
'AdaBoostM1'( , , , )Boosting adaptativo para la clasificación binaria[5][6][7][11]La clasificación binaria
'AdaBoostM2'( )Boosting adaptativo para clasificación multiclase[5]La clasificación multiclasePredecir etiquetas de clase utilizando conjunto de clasificación
'GentleBoost'( )Impulso adaptativo suave[7]La clasificación binaria
'LogitBoost'( )Regresión logística adaptable[7]La clasificación binaria
'LPBoost'( )Programación lineal impulsar[13]La clasificación binaria y multiclaseLPBoost y TotalBoost para pequeños conjuntos
'LSBoost'( , )Aumento de mínimos cuadrados[2][8]Regresión
'RobustBoost'( )Robusto impulsar[4]La clasificación binariaTune RobustBoost
'RUSBoost'( )Submuestreo aleatorio impulsar[12]La clasificación binaria y multiclaseClasificación con datos desequilibrados
'TotalBoost'( )Refuerzo totalmente correctivo[13]La clasificación binaria y multiclaseLPBoost y TotalBoost para pequeños conjuntos

Para obtener información sobre cómo elegir un algoritmo adecuado, consulte.Elija un método de agregación de conjunto aplicable

Tenga en cuenta que el uso de algunos algoritmos, como, y, requiere.LPBoostTotalBoostRobustBoostOptimization Toolbox™

Agregación de bootstrap (embolsado) y bosque aleatorio

ofrece tres objetos para embolsado y bosque aleatorio:Statistics and Machine Learning Toolbox

Para obtener más información sobre las diferencias entre los conjuntos (y) en bolsas (y), consulte.TreeBaggerClassificationBaggedEnsembleRegressionBaggedEnsembleLa comparación y los conjuntos en bolsasTreeBagger

() es un tipo de aprendizaje conjunto.La agregación de bootstrapEmbolsado Para cargar un alumno débil, como un árbol de decisión en un conjunto de datos, genere muchas réplicas de arranque del conjunto de datos y aumente los árboles de decisión en las réplicas. Obtener cada réplica de arranque seleccionando aleatoriamente fuera de las observaciones con reemplazo, donde es el tamaño del conjunto de datos.NNN Además, cada árbol en el conjunto puede seleccionar aleatoriamente predictores para cada división de decisión, una técnica llamada bosque aleatorio conocido para mejorar la precisión de los árboles embolsados.[2] De forma predeterminada, el número de predictores para seleccionar aleatoriamente para cada división es igual a la raíz cuadrada del número de predictores para la clasificación y un tercio del número de predictores para la regresión. Después de entrenar un modelo, puede encontrar la respuesta pronosticada de un conjunto entrenado para nuevos datos mediante el uso de la función. toma un promedio sobre las predicciones de árboles individuales.PredecirPredecir

De forma predeterminada, el número mínimo de observaciones por hoja para los árboles en bolsas se establece para la clasificación y para la regresión.15 Los árboles cultivados con el tamaño predeterminado de la hoja suelen ser muy profundos. Estos ajustes están cerca del óptimo para la potencia predictiva de un conjunto. A menudo se pueden cultivar árboles con hojas más grandes sin perder potencia predictiva. Al hacerlo, se reduce el tiempo de entrenamiento y predicción, así como el uso de memoria para el conjunto entrenado. Puede controlar el número mínimo de observaciones por hoja utilizando el argumento de par nombre-valor de o.'MinLeafSize'templateTreeTreeBagger Tenga en cuenta que se utiliza la función para especificar las opciones de los estudiantes de árbol cuando se crea un conjunto embolvado mediante o.templateTreefitcensemblefitrensemble

Varias características de los árboles de decisión en bolsas los convierten en un algoritmo único. El dibujo de las observaciones con la sustitución omite las observaciones, en promedio 37%, para cada árbol de decisión.NN Estas observaciones omitidas se denominan observaciones "fuera de bolsa". y conjuntos en bolsas (y) tienen propiedades y funciones de objeto, cuyos nombres empiezan por, que utilizan observaciones fuera de bolsa.TreeBaggerClassificationBaggedEnsembleRegressionBaggedEnsembleoob

  • Utilice la función para estimar la potencia predictiva y la importancia de las características.oobPredict Para cada observación, estima la predicción fuera de bolsa promediando predicciones de todos los árboles en el conjunto para los que la observación está fuera de bolsa.oobPredict

  • Calcule el error promedio de out-of-bag usando (para) o (para conjuntos embolados).oobErrorTreeBaggeroobLoss Estas funciones comparan las respuestas pronosticadas fuera de bolsa con las respuestas observadas para todas las observaciones utilizadas para el entrenamiento. El promedio fuera de bolsa es un estimador imparcial del verdadero error de conjunto.

  • Obtener estimaciones fuera de bolsa de importancia de las características mediante el uso de la propiedad (para) o propiedad (para conjuntos embolados).OOBPermutedPredictorDeltaErrorTreeBaggeroobPermutedPredictorImportance El software permuta aleatoriamente los datos fuera de bolsa a través de una variable o columna a la vez y estima el aumento en el error fuera de bolsa debido a esta permutación. Cuanto mayor es el aumento, más importante es la característica. Por lo tanto, no es necesario suministrar datos de prueba para conjuntos en bolsas, ya que puede obtener estimaciones fiables de potencia predictiva y la importancia de las características en el proceso de formación.

también ofrece la matriz de proximidad de la propiedad.TreeBaggerProximity Cada vez que dos observaciones aterrizan en la misma hoja de un árbol, su proximidad aumenta en 1. Para la normalización, sumar estas proximidades sobre todos los árboles en el conjunto y dividir por el número de árboles. La matriz resultante es simétrica con elementos diagonales iguales a 1 y elementos fuera de la diagonal que van de 0 a 1. Puede utilizar esta matriz para buscar observaciones de valores atípicos y detectar clústeres en los datos mediante escalado multidimensional.

Para ver ejemplos con embolsado, consulte:

La comparación y los conjuntos en bolsasTreeBagger

y conjuntos en bolsas (y) comparten la mayoría de las funcionalidades, pero no todas.TreeBaggerClassificationBaggedEnsembleRegressionBaggedEnsemble Además, algunas funcionalidades tienen nombres diferentes.

no incluye en conjuntos emboladosTreeBagger

CaracterísticaPropiedadTreeBaggerMétodoTreeBagger
Cálculo de la matriz de proximidadProximity

fillprox, mdsprox

Al estimar la matriz de proximidad y los valores atípicos de un modelo medianteTreeBagger fillprox, debe caber una-por-matriz en la memoria, donde está el número de observaciones.MATLAB®nnn Por lo tanto, si es moderado a grande, evite estimar la matriz de proximidad y los valores atípicos.n

El cálculo de los valores atípicosOutlierMeasureN/A
Estimaciones fuera de bolsa de importancia predictora utilizando márgenes de clasificaciónYOOBPermutedPredictorDeltaMeanMarginOOBPermutedPredictorCountRaiseMargin N/A
Fusionar dos conjuntos entrenados por separadoN/Aappend
La regresión cuantilN/A, , ,quantilePredictquantileErroroobQuantilePredictoobQuantileError
Computación paralela para crear conjuntoN/A

Establezca el parámetro con el argumento de par nombre-valor de o.'UseParallel'true'Options'TreeBaggergrowTrees Requiere computación paralela.Parallel Computing Toolbox™

Para los sistemas de doble núcleo y superiores, se paraleliza el entrenamiento mediante subprocesos de creación de bloques (TBB).TreeBaggerIntel® Por lo tanto, especificar la opción no es útil en un solo equipo.'UseParallel' Utilice esta opción cuando se ejecute en un clúster.TreeBagger Para obtener más información sobre TBB, consulte.Intelhttps://software.intel.com/en-us/intel-tbb

Soporte de alta gama para crear conjuntoN/APara obtener más información, consulte.Tall arrays

Para sistemas de doble núcleo y superior, y también paralelizar el entrenamiento mediante subprocesos Building Blocks (TBB).fitrensemblefitcensembleIntel

Las características del conjunto embolvado no enTreeBagger

CaracterísticaDescripción
La optimización de hiperparámetrosUse el argumento de par nombre-valor.'OptimizeHyperparameters'
La discretización de predictores numéricos para acelerar el entrenamientoUse el argumento de par nombre-valor.'NumBins'
Generación de código paraPredecir Después de entrenar un modelo, puede generar código de C/C++ que predice etiquetas para nuevos datos. La generación de código C/C++ requiere MATLABCoder™. Para obtener más información, consulte.Introducción a la generación de código

Diferentes nombres y conjuntos en bolsasTreeBagger

CaracterísticaTreeBaggerConjuntos en bolsas
Las contribuciones del criterio de división para cada predictorPropiedadDeltaCriterionDecisionSplitPrimera salida de predictorImportance (clasificación) o predictorImportance regresión
Las asociaciones de predictoresPropiedadSurrogateAssociationSegunda salida de predictorImportance (clasificación) o predictorImportance regresión
Las estimaciones fuera de bolsa de importancia predictoraPropiedadOOBPermutedPredictorDeltaErrorSalida de oobPermutedPredictorImportance (clasificación) o oobPermutedPredictorImportance regresión
Error (probabilidad de clasificación errónea o error cuadrático medio)error Y oobError Métodosloss Y oobLoss métodos (clasificación) o loss Y oobLoss métodos (regresión)
Entrenar árboles adicionales y añadirlos al conjuntogrowTrees Métodoresume método (clasificación) o resume método (regresión)
Margen de clasificación medio por árbolmeanMargin Y oobMeanMargin Métodosedge Y oobEdge métodos (clasificación)

Además, existen dos diferencias importantes al entrenar un modelo y predecir las respuestas:

  • Si se pasa una matriz de coste de clasificación errónea a, pasa la matriz a lo largo de los árboles.TreeBagger Si se pasa una matriz de coste de clasificación errónea, utiliza la matriz para ajustar las probabilidades previas de la clase. a continuación, pasa las probabilidades previas ajustadas y la matriz de coste por defecto a los árboles.fitcensemblefitcensemble La matriz de costes predeterminada es para las clases.ones(K)–eye(K)K

  • A diferencia de los métodos y, los métodos y no normalizan los pesos de observación de entrada de las probabilidades anteriores en la clase respectiva.lossedgeClassificationBaggedEnsembleTreeBaggererrormeanMargin

Subespacio aleatorio

Utilice conjuntos subespaciales aleatorios () para mejorar la precisión de los clasificadores de análisis discriminante () o de vecino más cercano (). conjuntos también tienen la ventaja de usar menos memoria que los conjuntos con todos los predictores, y pueden manejar los valores faltantes.SubspaceClassificationDiscriminantkClassificationKNNSubspaceNaN

El algoritmo subespacial aleatorio básico utiliza estos parámetros.

  • es el número de dimensiones (variables) que se muestra en cada alumno.m Establecer con el par nombre-valor.mNPredToSample

  • es el número de dimensiones en los datos, que es el número de columnas (predictores) en la matriz de datos.dX

  • es el número de alumnos del conjunto.n Establecer con la entrada.nNLearn

El algoritmo subespacial aleatorio básico realiza los siguientes pasos:

  1. Elija sin reemplazar un conjunto aleatorio de predictores a partir de los valores posibles.md

  2. Entrena a un aprendiz débil usando solo los predictores elegidos.m

  3. Repita los pasos 1 y 2 hasta que haya alumnos débiles.n

  4. Predecir tomando un promedio de la predicción de los estudiantes débiles, y clasificar la categoría con el promedio más alto.scorescore

Puede elegir crear un factor débil para cada conjunto posible de predictores de las dimensiones.md Para ello, establezca, el número de alumnos, a.n'AllPredictorCombinations' En este caso, hay estudiantes débiles en el conjunto.nchoosek(size(X,2),NPredToSample)

los predictores de peso inferior después de elegirlos para un alumno, por lo que los alumnos subsiguientes tienen una menor probabilidad de usar un predictor que se usó anteriormente.fitcensemble Esta ponderación tiende a hacer que los predictores se distribuyan más uniformemente entre los alumnos que en la ponderación uniforme.

Para ver ejemplos usando, vea.SubspaceClasificación subespacial aleatoria

Impulsar algoritmos

Boosting adaptativo para la clasificación binaria

Boosting adaptativo nombrado es un algoritmo de impulso muy popular para la clasificación binaria.AdaBoostM1 El algoritmo entrena secuencialmente a los alumnos. Para cada alumno con índice, calcula el error de clasificación ponderadatAdaBoostM1

εt=n=1Ndn(t)I(ynht(xn)),

Dónde

  • Xn es un vector de valores predictores para observación.n

  • yn es la verdadera etiqueta de clase.

  • Ht es la predicción del alumno (hipótesis) con índice.t

  • I es la función indicadora.

  • dn(t) es el peso de la observación en el paso.nt

luego aumenta los pesos para las observaciones clasificadas erróneamente por el alumno y reduce las ponderaciones para las observaciones clasificadas correctamente por el alumno.AdaBoostM1tt El siguiente alumno t + 1 se entrena en los datos con pesos actualizados dn(t+1).

Una vez finalizado el entrenamiento, calcula la predicción de nuevos datos medianteAdaBoostM1

f(x)=t=1Tαtht(x),

Dónde

αt=12log1εtεt

son pesos de las hipótesis débiles en el conjunto.

El entrenamiento se puede ver como una minimización de la pérdida exponencialAdaBoostM1

n=1Nwnexp(ynf(xn)),

Dónde

  • yn ∊ {– 1, + 1} es la etiqueta de clase verdadera.

  • Wn son ponderaciones de observación normalizadas para sumar 1.

  • (fXn) ∊ (– ∞, + ∞) es la puntuación de clasificación pronosticada.

Los pesos de observación Wn son los pesos de observación originales a los que pasó.fitcensemble

La segunda salida de la predict método de un conjunto de clasificación es una matriz de puntuaciones de clasificación de-por-2 para las dos clases y observaciones.AdaBoostM1NN La segunda columna de esta matriz siempre es igual a menos la primera columna. el predict método devuelve dos puntuaciones para que sean coherentes con los modelos de varias clases, aunque esto es redundante porque la segunda columna es siempre la negativa de la primera.

Muy a menudo se utiliza con tocones de decisión (por defecto) o árboles poco profundos.AdaBoostM1 Si los tocones potenciados proporcionan un rendimiento deficiente, intente establecer el tamaño mínimo del nodo primario en un cuarto de los datos de entrenamiento.

De forma predeterminada, la velocidad de aprendizaje para aumentar los algoritmos es.1 Si establece la velocidad de aprendizaje en un número inferior, el conjunto aprende a una velocidad más lenta, pero puede converger a una solución mejor. es una opción popular para la tasa de aprendizaje.0.1 Aprender a un ritmo menor que a menudo se llama "contracción".1

Para ver ejemplos usando, vea y.AdaBoostM1Llevar a cabo la comparación de los modelos de clasificación de dosCree una plantilla de conjunto para el aprendizaje multiclase ECOC

Boosting adaptativo para clasificación multiclase

La potenciación adaptable nombrada es una extensión de para las clases múltiples.AdaBoostM2AdaBoostM1 En lugar del error de clasificación ponderada, utiliza la pseudo-pérdida ponderada para las observaciones y clasesAdaBoostM2NK

εt=12n=1Nkyndn,k(t)(1ht(xn,yn)+ht(xn,k)),

Dónde

  • Ht(Xn,) es la confianza de la predicción por el alumno en el paso a la clase que va desde 0 (no en absoluto confiado) a 1 (altamente confiado).ktk

  • dn,k(t) son pesos de observación al paso de la clase.tk

  • yn es la verdadera etiqueta de clase que toma uno de los valores.K

  • La segunda suma es sobre todas las clases que no sean la clase verdadera yn.

Interpretar la pseudo-pérdida es más difícil que el error de clasificación, pero la idea es la misma. Pseudo-pérdida se puede utilizar como una medida de la precisión de clasificación de cualquier alumno en un conjunto. La pseudo-pérdida normalmente exhibe el mismo comportamiento que un error de clasificación ponderada para: los primeros alumnos de un conjunto potenciado dan valores de pseudo-pérdida bajos.AdaBoostM1 Después de los primeros pasos de entrenamiento, el conjunto comienza a aprender a un ritmo más lento, y el valor de pseudo-pérdida se aproxima a 0,5 desde abajo.

Para obtener un ejemplo de uso, consulte.AdaBoostM2Predecir etiquetas de clase utilizando conjunto de clasificación

Impulso adaptativo suave

La potenciación adaptable suave (, también conocida como AdaBoost suave) combina las características de y.GentleBoostAdaBoostM1LogitBoost Al igual que, minimiza la pérdida exponencial.AdaBoostM1GentleBoost Pero su optimización numérica se configura de manera diferente. Como, cada alumno débil ajusta un modelo de regresión a los valores de respuestaLogitBoost yn ∊ {–1,+1}.

calcula y almacena el error cuadrado medio en la propiedad del objeto Ensemble.fitcensembleFitInfo El error medio cuadrado es

n=1Ndn(t)(y˜nht(xn))2,

Dónde

  • dn(t) son pesos de observación en el paso (las ponderaciones suman 1).t

  • Ht(Xn) son predicciones del modelo de regresión Ht ajustada a los valores de respuesta yn.

A medida que la fuerza de cada alumno se debilita, el error medio cuadrado ponderado se aproxima a 1.

Para ver ejemplos usando, vea y.GentleBoostAgilice la formación de clasificadores ECOC mediante binning y computación paralelaManejar datos desequilibrados o costos desiguales de clasificación errónea en conjuntos de clasificación

Regresión logística adaptable

La regresión logística adaptable () es otro algoritmo popular para la clasificación binaria. funciona de manera similar a, excepto que minimiza la desviación binomialLogitBoostLogitBoostAdaBoostM1

n=1Nwnlog(1+exp(2ynf(xn))),

Dónde

  • yn ∊ {– 1, + 1} es la etiqueta de clase verdadera.

  • Wn son ponderaciones de observación normalizadas para sumar 1.

  • (fXn) ∊ (– ∞, + ∞) es la puntuación de clasificación pronosticada.

La desviación binomial asigna menos peso a las observaciones mal clasificadas (observaciones con valores negativos grandes de ynF(Xn)). puede dar una mejor precisión promedio que para los datos con clases mal separables.LogitBoostAdaBoostM1

El alumno de un conjunto ajusta un modelo de regresión a los valores de respuestatLogitBoost

y˜n=yn*pt(xn)pt(xn)(1pt(xn)),

Dónde

  • yn ∊ {0, + 1} son clases reetiquetadas (0 en lugar de – 1).

  • Pt(Xn) es la estimación actual del conjunto de la probabilidad de observación Xn para ser de la clase 1.

calcula y almacena el error cuadrado medio en la propiedad del objeto Ensemble.fitcensembleFitInfo El error medio cuadrado es

n=1Ndn(t)(y˜nht(xn))2,

Dónde

  • dn(t) son pesos de observación en el paso (las ponderaciones suman 1).t

  • Ht(Xn) son predicciones del modelo de regresión Ht ajustada a los valores de respuesta y˜n.

Valores yn puede oscilar entre – ∞ y + ∞, por lo que el error medio cuadrado no tiene límites bien definidos.

Para obtener un ejemplo de uso, vea y.LogitBoostConjunto de clasificación de trenesAcelere el entrenamiento mediante la discretización de valores predictores numéricos

Programación lineal impulsar

La programación lineal Boosting (), como, realiza la clasificación multiclase al intentar maximizar el mínimo en el conjunto de entrenamiento.LPBoostTotalBoostMargen Este intento utiliza algoritmos de optimización, es decir, programación lineal para.LPBoost Así que necesitas una licencia para usar o.Optimization ToolboxLPBoostTotalBoost

El margen de una clasificación es la diferencia entre la clasificación suave pronosticada para la clase true y la puntuación más grande para las clases falsas.Puntuación Para los árboles, la de una clasificación de un nodo hoja es la probabilidad posterior de la clasificación en ese nodo.Puntuación La probabilidad posterior de la clasificación en un nodo es el número de secuencias de entrenamiento que conducen a ese nodo con la clasificación, dividido entre el número de secuencias de entrenamiento que conducen a ese nodo. Para obtener más información, consulte enMás acerca de margin.

¿Por qué maximizar el margen mínimo? Para una cosa, el error de generalización (el error en los nuevos datos) es la probabilidad de obtener un margen negativo. Schapire y Singer establecen esta desigualdad en la probabilidad de obtener un margen negativo:[10]

Ptest(m0)Ptrain(mθ)+O(1NVlog2(N/V)θ2+log(1/δ)).

Aquí está el margen, es cualquier número positivo, es la dimensión de Vapnik-Chervonenkis del espacio clasificador, es el tamaño del conjunto de entrenamiento, y es un pequeño número positivo.mθVNδ La desigualdad se mantiene con la probabilidad 1 – en muchos i.i.d. conjuntos de entrenamiento y pruebas.δ Esta desigualdad dice: Para obtener un error de generalización bajo, minimice el número de observaciones por debajo del margen en el conjunto de entrenamiento.θ

maximiza de forma iterativa el margen mínimo a través de una secuencia de problemas de programación lineal.LPBoost Equivalentemente, por dualidad, minimiza el máximo, donde el borde es el margen medio ponderado (ver).LPBoostBordeMás acerca de En cada iteración, hay más restricciones en el problema. Por lo tanto, para problemas grandes, el problema de optimización se vuelve cada vez más restringido y lento para resolver.

normalmente crea conjuntos con muchos alumnos que tienen pesos que son órdenes de magnitud más pequeñas que las de otros alumnos.LPBoost Por lo tanto, para permitirle mejor eliminar a los miembros del conjunto sin importancia, el compact método reordena a los miembros de un conjunto desde el mayor peso hasta el más pequeño.LPBoost Por lo tanto, puede eliminar fácilmente los miembros menos importantes del conjunto utilizando el removeLearners Método.

Para obtener un ejemplo de uso, consulte.LPBoostLPBoost y TotalBoost para pequeños conjuntos

Aumento de mínimos cuadrados

La mejora de mínimos cuadrados () se ajusta a los conjuntos de regresión.LSBoost En cada paso, el conjunto se adapta a un nuevo alumno a la diferencia entre la respuesta observada y la predicción agregada de todos los estudiantes cultivados anteriormente. El conjunto se ajusta para minimizar el error cuadrado medio.

Puede usar con contracción pasando el parámetro.LSBoostLearnRate De forma predeterminada, este parámetro se establece en, y el conjunto aprende a la velocidad máxima.1 Si se establece en un valor de a, el conjunto se ajusta a cada nuevo alumno paraLearnRate01 yn – ηf(xn)Dónde

  • yn es la respuesta observada.

  • (fXn) es la predicción agregada de todos los estudiantes débiles crecidos hasta ahora para la observación Xn.

  • es la tasa de aprendizaje.η

Para ver ejemplos usando, vea y.LSBoostTrain regresión EnsembleOptimice un conjunto de regresión potenciadoRegularización de conjunto

Robusto impulsar

Impulsar algoritmos como y aumentar pesos para observaciones mal clasificadas en cada paso de impulso.AdaBoostM1LogitBoost Estos pesos pueden llegar a ser muy grandes. Si esto sucede, el algoritmo de impulso a veces se concentra en algunas observaciones mal clasificadas y descuida la mayoría de los datos de entrenamiento. En consecuencia, la precisión media de clasificación sufre. En esta situación, puede intentar usar Boosting robusto ().RobustBoost Este algoritmo no asigna casi todo el peso de los datos a observaciones mal clasificadas. Puede producir una mejor precisión de clasificación promedio. Necesita una licencia para usar.Optimization ToolboxRobustBoost

A diferencia de y, no minimiza una función de pérdida específica.AdaBoostM1LogitBoostRobustBoost En su lugar, maximiza el número de observaciones con el margen de clasificación por encima de un umbral determinado.

trenes basados en la evolución del tiempo.RobustBoost El algoritmo comienza en t = 0. En cada paso, resuelve un problema de optimización para encontrar un paso positivo en el tiempo Δ y un cambio positivo correspondiente en el margen medio para los datos de entrenamiento Δ. detiene el entrenamiento y sale si se cumple al menos una de estas tres condiciones:RobustBoosttmRobustBoost

  • El tiempo llega a 1.t

  • no puede encontrar una solución al problema de optimización con las actualizaciones positivas Δ y Δ.RobustBoosttm

  • aumenta el número de alumnos que solicitó.RobustBoost

Los resultados pueden ser utilizables para cualquier condición de terminación.RobustBoost Calcule la precisión de la clasificación mediante la validación cruzada o mediante un conjunto de pruebas independiente.

Para obtener una mejor precisión de clasificación, puede ajustar tres parámetros en:,, y.RobustBoostfitcensembleRobustErrorGoalRobustMaxMarginRobustMarginSigma Empiece por valores variables de 0 a 1.RobustErrorGoal El valor máximo permitido depende de los otros dos parámetros.RobustErrorGoal Si se pasa un valor que es demasiado alto, genera un mensaje de error que muestra el rango permitido para.fitcensembleRobustErrorGoal

Para obtener un ejemplo de uso, consulte.RobustBoostTune RobustBoost

Submuestreo aleatorio impulsar

La submuestreo aleatoria () es especialmente eficaz para clasificar los datos desequilibrados, lo que significa que algunas clases de los datos de entrenamiento tienen muchos menos miembros que otros.RUSBoost RUS significa aleatorio bajo muestreo. El algoritmo toma, el número de miembros de la clase con la menor cantidad de miembros en los datos de entrenamiento, como la unidad básica para el muestreo.N Las clases con más miembros se muestrean tomando sólo observaciones de cada clase.N En otras palabras, si hay clases, entonces, para cada alumno débil en el conjunto, toma un subconjunto de los datos con observaciones de cada una de las clases.KRUSBoostNK El procedimiento de Boosting sigue el procedimiento de reponderación y construcción del conjunto.Boosting adaptativo para clasificación multiclase

Cuando se construye un conjunto, hay un par nombre-valor opcional llamado.RUSBoostRatioToSmallest Dar un vector de valores, cada valor que representa el múltiplo de para la muestra para la clase asociada.KN Por ejemplo, si la clase más pequeña tiene = 100 miembros, entonces = significa que cada alumno débil tiene 200 miembros en la clase 1, 300 en la clase 2 y 400 en la clase 3.NRatioToSmallest[2,3,4] Si conduce a un valor que es mayor que el número de miembros de una clase determinada, a continuación, muestrea los miembros con reemplazo.RatioToSmallestRUSBoost De lo contrario, muestrea los miembros sin reemplazo.RUSBoost

Para obtener un ejemplo de uso, consulte.RUSBoostClasificación con datos desequilibrados

Refuerzo totalmente correctivo

La mejora totalmente correctiva (), al igual que la programación lineal Boost (), realiza una clasificación multiclase al intentar maximizar el mínimo en el conjunto de entrenamiento.TotalBoostLPBoostMargen Este intento utiliza algoritmos de optimización, es decir, programación cuadrática para.TotalBoost Así que necesitas una licencia para usar o.Optimization ToolboxLPBoostTotalBoost

El margen de una clasificación es la diferencia entre la clasificación suave pronosticada para la clase true y la puntuación más grande para las clases falsas.Puntuación Para los árboles, la de una clasificación de un nodo hoja es la probabilidad posterior de la clasificación en ese nodo.Puntuación La probabilidad posterior de la clasificación en un nodo es el número de secuencias de entrenamiento que conducen a ese nodo con la clasificación, dividido entre el número de secuencias de entrenamiento que conducen a ese nodo. Para obtener más información, consulte enMás acerca de margin.

¿Por qué maximizar el margen mínimo? Para una cosa, el error de generalización (el error en los nuevos datos) es la probabilidad de obtener un margen negativo. Schapire y Singer establecen esta desigualdad en la probabilidad de obtener un margen negativo:[10]

Ptest(m0)Ptrain(mθ)+O(1NVlog2(N/V)θ2+log(1/δ)).

Aquí está el margen, es cualquier número positivo, es la dimensión de Vapnik-Chervonenkis del espacio clasificador, es el tamaño del conjunto de entrenamiento, y es un pequeño número positivo.mθVNδ La desigualdad se mantiene con la probabilidad 1 – en muchos i.i.d. conjuntos de entrenamiento y pruebas.δ Esta desigualdad dice: Para obtener un error de generalización bajo, minimice el número de observaciones por debajo del margen en el conjunto de entrenamiento.θ

minimiza un proxy de la divergencia Kullback-Leibler entre la distribución de peso actual y la distribución inicial del peso, sujeto a la restricción de que el (el margen ponderado) está por debajo de un cierto valor.TotalBoostBorde El proxy es una expansión cuadrática de la divergencia:

D(W,W0)=n=1NlogW(n)W0(n)n=1N(1+W(n)W0(n))Δ+12W(n)Δ2,

donde Δ es la diferencia entre (), las ponderaciones en la iteración actual y la siguiente, yWnW0, la distribución inicial del peso, que es uniforme. Esta formulación de optimización evita que los pesos se conviertan en cero. En cada iteración, hay más restricciones en el problema. Por lo tanto, para problemas grandes, el problema de optimización se vuelve cada vez más restringido y lento para resolver.

normalmente crea conjuntos con muchos alumnos que tienen pesos que son órdenes de magnitud más pequeñas que las de otros alumnos.TotalBoost Por lo tanto, para permitirle mejor eliminar a los miembros del conjunto sin importancia, el compact método reordena a los miembros de un conjunto desde el mayor peso hasta el más pequeño.TotalBoost Por lo tanto, puede eliminar fácilmente los miembros menos importantes del conjunto utilizando el removeLearners Método.

Para obtener un ejemplo de uso, consulte.TotalBoostLPBoost y TotalBoost para pequeños conjuntos

Referencias

[1] Breiman, L. Bagging Predictors. Machine Learning 26, 1996, pp. 123–140.

[2] Breiman, L. Random Forests. Machine Learning 45, 2001, pp. 5–32.

[4] Freund, Y. A more robust boosting algorithm. arXiv:0905.2138v1, 2009.

[5] Freund, Y. and R. E. Schapire. A Decision-Theoretic Generalization of On-Line Learning and an Application to Boosting. J. of Computer and System Sciences, Vol. 55, 1997, pp. 119–139.

[6] Friedman, J. Greedy function approximation: A gradient boosting machine. Annals of Statistics, Vol. 29, No. 5, 2001, pp. 1189–1232.

[7] Friedman, J., T. Hastie, and R. Tibshirani. Additive logistic regression: A statistical view of boosting. Annals of Statistics, Vol. 28, No. 2, 2000, pp. 337–407.

[8] Hastie, T., R. Tibshirani, and J. Friedman. The Elements of Statistical Learning, second edition. New York: Springer, 2008.

[9] Ho, T. K. The random subspace method for constructing decision forests. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 20, No. 8, 1998, pp. 832–844.

[10] Schapire, R., and Y. Singer. Improved boosting algorithms using confidence-rated predictions. Machine Learning, Vol. 37, No. 3, 1999, pp. 297–336.

[11] Schapire, R. E. et al. Boosting the margin: A new explanation for the effectiveness of voting methods. Annals of Statistics, Vol. 26, No. 5, 1998, pp. 1651–1686.

[12] Seiffert, C., T. Khoshgoftaar, J. Hulse, and A. Napolitano. RUSBoost: Improving clasification performance when training data is skewed. 19th International Conference on Pattern Recognition, 2008, pp. 1–4.

[13] Warmuth, M., J. Liao, and G. Ratsch. Totally corrective boosting algorithms that maximize the margin. Proc. 23rd Int’l. Conf. on Machine Learning, ACM, New York, 2006, pp. 1001–1008.

Consulte también

| | | | | | | | | | | |

Temas relacionados