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.

templateLinear

Plantilla de aprendizaje de clasificación lineal

Descripción

templateLinear crea una plantilla adecuada para ajustar un modelo de clasificación lineal a datos de alta cota para problemas de varias clases.

La plantilla especifica el modelo de aprendizaje binario, el tipo de regularización y la fuerza, y el solucionador, entre otras cosas. Después de crear la plantilla, entrena el modelo pasando la plantilla y los datos a.fitcecoc

ejemplo

t = templateLinear() Devuelve una plantilla de aprendizaje de clasificación lineal.

Si especifica una plantilla predeterminada, el software utiliza los valores predeterminados para todos los argumentos de entrada durante el entrenamiento.

ejemplo

t = templateLinear(Name,Value) Devuelve una plantilla con opciones adicionales especificadas por uno o más argumentos de par nombre-valor. Por ejemplo, puede especificar la implementación de la regresión logística, especificar el tipo de regularización o la intensidad, o especificar el solucionador que se utilizará para la minimización de la función objetiva.

Si se muestra en la ventana de comandos, todas las opciones aparecerán vacías (), excepto las opciones que especifique mediante los argumentos de par nombre-valor.t[] Durante el entrenamiento, el software utiliza valores predeterminados para las opciones vacías.

Ejemplos

contraer todo

Entrenar un modelo ECOC compuesto por múltiples modelos de clasificación binaria y lineal.

Cargue el conjunto de datos NLP.

load nlpdata

es una matriz dispersa de Datos predictores y es un vector categórico de etiquetas de clase.XY Hay más de dos clases en los datos.

Cree una plantilla de modelo de clasificación lineal predeterminada.

t = templateLinear();

Para ajustar los valores predeterminados, consulte la página en.Argumentos de par nombre-valortemplateLinear

Entrenar un modelo ECOC compuesto por múltiples modelos de clasificación binaria y lineal que pueden identificar el producto dada la distribución de frecuencias de las palabras en una página web de documentación. Para un tiempo de entrenamiento más rápido, transponer los datos del predictor y especificar que las observaciones corresponden a las columnas.

X = X'; rng(1); % For reproducibility  Mdl = fitcecoc(X,Y,'Learners',t,'ObservationsIn','columns')
Mdl =    classreg.learning.classif.CompactClassificationECOC       ResponseName: 'Y'         ClassNames: [1x13 categorical]     ScoreTransform: 'none'     BinaryLearners: {78x1 cell}       CodingMatrix: [13x78 double]     Properties, Methods  

Alternativamente, puede entrenar un modelo ECOC compuesto por modelos de clasificación lineal por defecto utilizando.'Learners','Linear'

Para conservar la memoria, devuelve modelos capacitados de ECOC formados por alumnos de clasificación lineal en objetos de modelo.fitcecocCompactClassificationECOC

Argumentos de entrada

contraer todo

Argumentos de par nombre-valor

Especifique pares de argumentos separados por comas opcionales. es el nombre del argumento y es el valor correspondiente. deben aparecer dentro de las cotizaciones.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como.Name1,Value1,...,NameN,ValueN

Ejemplo: especifica para implementar la regresión logística con una penalización de lazo y para implementar la validación cruzada de 10 veces.'Learner','logistic','Regularization','lasso','CrossVal','on'

Opciones de clasificación lineal

contraer todo

La fuerza del término de regularización, especificada como el par separado por comas que consiste en y, un escalar no negativo, o un vector de valores no negativos.'Lambda''auto'

  • Para, = 1/.'auto'Lambdan

    • Si especifica una validación cruzada, el argumento de par nombre-valor (p. ej.,), es el número de observaciones en pliegue.CrossValn

    • De lo contrario, es el tamaño de muestra de entrenamiento.n

  • Para un vector de valores no negativos, el software optimiza secuencialmente la función objetiva para cada valor diferenciado en orden ascendente.Lambda

    • Si es o y es, entonces el software no utiliza las estimaciones de coeficiente anteriores como un para la siguiente iteración de optimización.Solver'sgd''asgd'Regularización'lasso'comienzo cálido De lo contrario, el software utiliza inicios cálidos.

    • Si es así, cualquier estimación de coeficiente de 0 conserva su valor cuando el software optimiza el uso de los valores subsiguientes en.Regularización'lasso'Lambda

    Devuelve estimaciones de coeficiente para todas las iteraciones de optimización.

Ejemplo: 'Lambda',10.^(-(10:-2:2))

Tipos de datos: char | string | double | single

Tipo de modelo de clasificación lineal, especificado como el par separado por comas que consta de y o.'Learner''svm''logistic'

En esta tabla, f(x)=xβ+b.

  • es un vector de coeficientes.βp

  • es una observación de variables predictoras.xp

  • es el sesgo escalar.b

ValorAlgoritmoRango de respuestaFunción de pérdida
'svm'Máquina de vectores de soporte∊ {– 1, 1}; 1 para la clase positiva y – 1 de lo contrarioyBisagra: [y,f(x)]=max[0,1yf(x)]
'logistic'La regresión logísticaIgual que'svm'Desviación (logística): [y,f(x)]=log{1+exp[yf(x)]}

Ejemplo: 'Learner','logistic'

Tipo de penalización de complejidad, especificado como el par separado por comas que consta de y o.'Regularization''lasso''ridge'

El software compone la función objetiva para la minimización de la suma de la función de pérdida promedio (ver) y el término de regularización en esta tabla.Learner

ValorDescripción
'lasso'Penalización de lazo (L1): λj=1p|βj|
'ridge'Pena de cresta (L2): λ2j=1pβj2

Para especificar la intensidad del término de regularización, que se encuentra en las expresiones, utilice.λLambda

El software excluye el término de sesgo (β0) de la sanción por regularización.

Si es, entonces el valor predeterminado es.Solver'sparsa'Regularización'lasso' De lo contrario, el valor predeterminado es.'ridge'

Sugerencia

  • Para la selección de variables predictoras, especifique.'lasso'

  • Para la precisión de la optimización, especifique.'ridge'

Ejemplo: 'Regularization','lasso'

Técnica de minimización de función objetiva, especificada como el par separado por comas que consta de un vector de caracteres o un escalar de cadena, una matriz de cadenas o una matriz de vectores de caracteres con valores de esta tabla.'Solver'

ValorDescripciónRestricciones
'sgd'Descenso del gradiente estocástico (SGD)[5][3] 
'asgd'Descenso de gradiente estocástico promedio (ASGD)[8] 
'dual'SGD dual para SVM[2][7]debe ser y debe ser.Regularización'ridge'Learner'svm'
'bfgs'Algoritmo de Broyden-Fletcher-Goldfarb-Shanno quasi-Newton (BFGS)[4]Ineficiente si es muy alta dimensional.X
'lbfgs'BFGS de memoria limitada (LBFGS)[4]debe ser.Regularización'ridge'
'sparsa'Reconstrucción dispersa por aproximación separable (SpaRSA)[6]debe ser.Regularización'lasso'

Si especifica:

  • Una penalización de cresta (ver) y el conjunto de Datos predictores contiene 100 o menos variables predictoras, entonces el solucionador predeterminado es.Regularización'bfgs'

  • Un modelo SVM (ver), una penalización de cresta, y el conjunto de Datos predictores contiene más de 100 variables predictoras, entonces el solucionador predeterminado es.Learner'dual'

  • Una penalización de lazo y el conjunto de Datos predictores contiene 100 o menos variables predictoras, entonces el solucionador predeterminado es.'sparsa'

De lo contrario, el solucionador predeterminado es.'sgd'

Para obtener más información sobre qué solucionador elegir, consulte.Consejos

Ejemplo: 'Solver',{'sgd','lbfgs'}

Estimación de coeficiente lineal inicial (), especificada como el par separado por comas que consiste en un vector numérico o una matriz numérica. es el número de variables predictoras en y es el número de valores de fuerza de regularización (para más detalles, ver).β'Beta'ppLpXLLambda

  • Si especifica un vector dimensional, el software optimiza los tiempos de función objetivo utilizando este proceso.pL

    1. El software optimiza el uso como el valor inicial y el valor mínimo de como la fuerza de regularización.BetaLambda

    2. El software optimiza de nuevo utilizando la estimación resultante de la optimización anterior como un, y el siguiente valor más pequeño en como la fuerza de regularización.comienzo cálidoLambda

    3. El software implementa el paso 2 hasta que agota todos los valores.Lambda

  • Si especifica a-by-Matrix, el software optimiza los tiempos de función objetivo.pLL En la iteración j, el software utiliza Beta(:,j) como el valor inicial y, después de ordenarlo en orden ascendente, utilizaLambda Lambda(j) como la fuerza de regularización.

Si usted fija, después el software ignora.'Solver','dual'Beta

Tipos de datos: single | double

La estimación de intercepción inicial (), especificada como el par separado por comas que consta de un vector numérico o una cota numérica o una dimensión. es el número de valores de fuerza de regularización (para obtener más información, consulte).b'Bias'LLLambda

  • Si especifica un escalar, el software optimiza los tiempos de función objetivo utilizando este proceso.L

    1. El software optimiza el uso como el valor inicial y el valor mínimo de como la fuerza de regularización.BiasLambda

    2. El uso de la estimación resultante como un inicio cálido a la siguiente iteración de optimización y utiliza el siguiente valor más pequeño como la fuerza de regularización.Lambda

    3. El software implementa el paso 2 hasta que agota todos los valores.Lambda

  • Si especifica un vector dimensional, el software optimiza los tiempos de función objetivo.LL En la iteración j, el software utiliza Bias(j) como el valor inicial y, después de ordenarlo en orden ascendente, utilizaLambda Lambda(j) como la fuerza de regularización.

  • Por defecto:

    • Si es así, deje queLearner'logistic' Gj ser 1 si Y(j) es la clase positiva, y-1 de lo contrario. es la media ponderada del entrenamiento o, para la validación cruzada, las observaciones en plegamiento.Biasg

    • Si es, entonces es 0.Learner'svm'Bias

Tipos de datos: single | double

Indicador de inclusión de intersección de modelo lineal, especificado como el par separado por comas que consta de y o.'FitBias'truefalse

ValorDescripción
trueEl software incluye el término de sesgo en el modelo lineal y, a continuación, lo estima.b
falseEl software establece = 0 durante la estimación.b

Ejemplo: 'FitBias',false

Tipos de datos: logical

Marcar para ajustar la intercepción del modelo lineal después de la optimización, especificada como el par separado por comas que consta de y o.'PostFitBias'truefalse

ValorDescripción
falseEl software estima el término de sesgo y los coeficientes durante la optimización.bβ
true

Para estimar, el software:b

  1. Las estimaciones y el uso del modeloβb

  2. Estima las puntuaciones de clasificación

  3. Rellena colocando el umbral en las puntuaciones de clasificación que alcanza la máxima precisiónb

Si especifica, debe ser true.trueFitBias

Ejemplo: 'PostFitBias',true

Tipos de datos: logical

Nivel de verbosidad, especificado como el par separado por comas que consta de y cualquiera o. controla la visualización de la información de diagnóstico en la línea de comandos.'Verbose'01Verbose

ValorDescripción
0templateLinear no muestra información de diagnóstico.
1templateLinear muestra periódicamente el valor de la función objetiva, la magnitud del degradado y otra información de diagnóstico.

Ejemplo: 'Verbose',1

Tipos de datos: single | double

Las opciones de Solver SGD y ASGD

contraer todo

Tamaño de mini lote, especificado como el par separado por comas que consta de un entero positivo.'BatchSize' En cada iteración, el software estima el degradado utilizando observaciones de los datos de entrenamiento.BatchSize

  • Si los Datos predictores son una matriz numérica, entonces el valor predeterminado es.10

  • Si los Datos predictores son una matriz dispersa, entonces el valor predeterminado es, donde, es decir, el de.max([10,ceil(sqrt(ff))])ff = numel(X)/nnz(X)factor de plenitudX

Ejemplo: 'BatchSize',100

Tipos de datos: single | double

Velocidad de aprendizaje, especificada como el par separado por comas que consta de un escalar positivo. especifica cuántos pasos se han de realizar por iteración.'LearnRate'LearnRate En cada iteración, el degradado especifica la dirección y la magnitud de cada paso.

  • Si es así, especifica la tasa de aprendizaje inicialRegularización'ridge'LearnRateγ0. El software determina la velocidad de aprendizaje para la iteración,t ΓtUsando

    γt=γ0(1+λγ0t)c.

    • es el valor de.λLambda

    • Si es, entonces = 1.Solver'sgd'c

    • Si es así, entonces es 0,75.Solver'asgd'c[7]

  • Si es, entonces, para todas las iteraciones, es constante.Regularización'lasso'LearnRate

Por defecto, es, donde es si las observaciones componen las columnas de los Datos predictores, y de lo contrario.LearnRate1/sqrt(1+max((sum(X.^2,obsDim))))obsDim1X2

Ejemplo: 'LearnRate',0.01

Tipos de datos: single | double

Marcar para disminuir la velocidad de aprendizaje cuando el software detecta la divergencia (es decir, sobrepisar el mínimo), especificado como el par separado por comas que consiste en y o.'OptimizeLearnRate'truefalse

Si es, entonces:OptimizeLearnRate'true'

  1. Para las pocas iteraciones de optimización, el software comienza la optimización utilizando como la tasa de aprendizaje.LearnRate

  2. Si el valor de la función objetiva aumenta, el software se reinicia y utiliza la mitad del valor actual de la tasa de aprendizaje.

  3. El software recorre en iteración el paso 2 hasta que la función objetiva disminuye.

Ejemplo: 'OptimizeLearnRate',true

Tipos de datos: logical

Número de minilotes entre ejecuciones de truncamiento de lazo, especificadas como el par separado por comas que consta de un entero positivo.'TruncationPeriod'

Después de una ejecución de truncamiento, el software aplica un umbral suave a los coeficientes lineales. Es decir, después de procesar = mini-lotes, el software trunca el coeficiente estimado usandokTruncationPeriodj

β^j={β^jutifβ^j>ut,0if|β^j|ut,β^j+utifβ^j<ut.

  • Para SGD, β^j es la estimación de coeficiente después de procesar mini-lotes.jk ut=kγtλ. Γt es la velocidad de aprendizaje en la iteración. es el valor de.tλLambda

  • Para ASGD, β^j es el coeficiente de estimación promediado después de procesar mini-lotes,jk ut=kλ.

Si es, después el software ignora.Regularización'ridge'TruncationPeriod

Ejemplo: 'TruncationPeriod',100

Tipos de datos: single | double

Los controles de convergencia SGD y ASGD

contraer todo

Número máximo de lotes a procesar, especificado como el par separado por comas que consta de un entero positivo.'BatchLimit' Cuando el software procesa lotes, finaliza la optimización.BatchLimit

  • Por defecto:

    • El software pasa a través de los tiempos de datos.PassLimit

    • Si especifica varios solucionadores y utiliza (a) SGD para obtener una aproximación inicial para el siguiente solucionador, entonces el valor predeterminado es. es el valor del argumento de par nombre-valor.ceil(1e6/BatchSize)BatchSize'BatchSize'

  • Si especifica y, a continuación, el software elige el argumento que resulta en el procesamiento de la menor cantidad de observaciones.'BatchLimit''PassLimit'

  • Si especifica pero no, el software procesa suficientes lotes para completar hasta un paso completo a través de los datos.'BatchLimit''PassLimit'

Ejemplo: 'BatchLimit',100

Tipos de datos: single | double

Tolerancia relativa en los coeficientes lineales y el término de sesgo (intercepción), especificado como el par separado por comas que consta de un escalar no negativo.'BetaTolerance'

Dejar Bt=[βtbt], es decir, el vector de los coeficientes y el término de sesgo en la iteración de optimización.t Si BtBt1Bt2<BetaTolerance, la optimización finaliza.

Si el software converge para el último solucionador especificado en, a continuación, finaliza la optimización.Solver De lo contrario, el software utiliza el siguiente solucionador especificado en.Solver

Ejemplo: 'BetaTolerance',1e-6

Tipos de datos: single | double

Número de lotes que se procesan antes de la siguiente comprobación de convergencia, especificado como el par separado por comas y que consta de un entero positivo.'NumCheckConvergence'

Para especificar el tamaño del lote, consulte.BatchSize

El software comprueba la convergencia de aproximadamente 10 veces por paso a través de todo el conjunto de datos de forma predeterminada.

Ejemplo: 'NumCheckConvergence',100

Tipos de datos: single | double

Número máximo de pasadas a través de los datos, especificadas como el par separado por comas que consta de un entero positivo.'PassLimit'

El software procesa todas las observaciones cuando completa una pasada a través de los datos.

Cuando el software pasa a través de los tiempos de datos, finaliza la optimización.PassLimit

Si especifica y, a continuación, el software elige el argumento que resulta en el procesamiento de la menor cantidad de observaciones.'BatchLimit'PassLimit

Ejemplo: 'PassLimit',5

Tipos de datos: single | double

Los controles duales de convergencia SGD

contraer todo

Tolerancia relativa en los coeficientes lineales y el término de sesgo (intercepción), especificado como el par separado por comas que consta de un escalar no negativo.'BetaTolerance'

Dejar Bt=[βtbt], es decir, el vector de los coeficientes y el término de sesgo en la iteración de optimización.t Si BtBt1Bt2<BetaTolerance, la optimización finaliza.

Si también especifica, la optimización finaliza cuando el software satisface cualquier criterio de detención.DeltaGradientTolerance

Si el software converge para el último solucionador especificado en, a continuación, finaliza la optimización.Solver De lo contrario, el software utiliza el siguiente solucionador especificado en.Solver

Ejemplo: 'BetaTolerance',1e-6

Tipos de datos: single | double

Tolerancia de diferencia de degradado entre los violadores de grupo superior e inferior, especificados como el par separado por comas que consta de un escalar no negativo.Las condiciones de complementariedad de Karush-Kuhn-Tucker (KKT)'DeltaGradientTolerance'

  • Si la magnitud de los violadores KKT es menor que, entonces el software termina la optimización.DeltaGradientTolerance

  • Si el software converge para el último solucionador especificado en, a continuación, finaliza la optimización.Solver De lo contrario, el software utiliza el siguiente solucionador especificado en.Solver

Ejemplo: 'DeltaGapTolerance',1e-2

Tipos de datos: double | single

Número de pasadas a través del conjunto de datos completo para procesar antes de la siguiente comprobación de convergencia, especificada como el par separado por comas que consta de un entero positivo y otro.'NumCheckConvergence'

Ejemplo: 'NumCheckConvergence',100

Tipos de datos: single | double

Número máximo de pasadas a través de los datos, especificadas como el par separado por comas que consta de un entero positivo.'PassLimit'

Cuando el software completa una pasada a través de los datos, ha procesado todas las observaciones.

Cuando el software pasa a través de los tiempos de datos, finaliza la optimización.PassLimit

Ejemplo: 'PassLimit',5

Tipos de datos: single | double

Los controles de convergencia BFGS, LBFGS y SpaRSA

contraer todo

Tolerancia relativa en los coeficientes lineales y el término de sesgo (intercepción), especificado como el par separado por comas que consta de un escalar no negativo.'BetaTolerance'

Dejar Bt=[βtbt], es decir, el vector de los coeficientes y el término de sesgo en la iteración de optimización.t Si BtBt1Bt2<BetaTolerance, la optimización finaliza.

Si también especifica, la optimización finaliza cuando el software satisface cualquier criterio de detención.GradientTolerance

Si el software converge para el último solucionador especificado en, a continuación, finaliza la optimización.Solver De lo contrario, el software utiliza el siguiente solucionador especificado en.Solver

Ejemplo: 'BetaTolerance',1e-6

Tipos de datos: single | double

Tolerancia de degradado absoluta, especificada como el par separado por comas que consta de un escalar no negativo.'GradientTolerance'

Dejar t ser el vector de degradado de la función objetiva con respecto a los coeficientes y el término de sesgo en la iteración de optimización.t Si t=max|t|<GradientTolerance, la optimización finaliza.

Si también especifica, la optimización finaliza cuando el software satisface cualquier criterio de detención.BetaTolerance

Si el software converge para el último solucionador especificado en el software, la optimización finaliza. De lo contrario, el software utiliza el siguiente solucionador especificado en.Solver

Ejemplo: 'GradientTolerance',1e-5

Tipos de datos: single | double

Tamaño del búfer de historial para la aproximación de hessian, especificado como el par separado por comas que consta de un entero positivo.'HessianHistorySize' Es decir, en cada iteración, el software compone el hessian utilizando estadísticas de las últimas iteraciones.HessianHistorySize

El software no es compatible con SpaRSA.'HessianHistorySize'

Ejemplo: 'HessianHistorySize',10

Tipos de datos: single | double

Número máximo de iteraciones de optimización, especificadas como el par separado por comas que consta de un entero positivo. se aplica a estos valores de:,, y.'IterationLimit'IterationLimitSolver'bfgs''lbfgs''sparsa'

Ejemplo: 'IterationLimit',500

Tipos de datos: single | double

Argumentos de salida

contraer todo

Plantilla de alumno modelo de clasificación lineal, devuelta como un objeto de plantilla. Para entrenar un modelo de clasificación lineal utilizando datos de alta dimensionalidad para problemas multiclase, pase a.tfitcecoc

Si se visualiza en la ventana de comandos, todas las opciones no especificadas aparecerán vacías ().t[] Sin embargo, el software reemplaza las opciones vacías con sus valores predeterminados correspondientes durante el entrenamiento.

Más acerca de

contraer todo

Inicio cálido

A son estimaciones iniciales de los coeficientes beta y el término de sesgo suministrados a una rutina de optimización para una convergencia más rápida.comienzo cálido

Sugerencias

  • Es una práctica recomendada orientar la matriz predictora para que las observaciones se correspondan con las columnas y se especifiquen.'ObservationsIn','columns' Como resultado, puede experimentar una reducción significativa en el tiempo de ejecución de la optimización.

  • Para una mejor precisión de la optimización si los Datos predictores son de alta dimensión y es, establezca cualquiera de estas combinaciones para:Regularización'ridge'Solver

    • 'sgd'

    • 'asgd'

    • Si es'dual'Learner'svm'

    • {'sgd','lbfgs'}

    • {'asgd','lbfgs'}

    • Si es{'dual','lbfgs'}Learner'svm'

    Otras combinaciones pueden resultar en una precisión de optimización deficiente.

  • Para una mejor precisión de la optimización si los Datos predictores son moderados a través de dimensiones reducidas y se establecen en.Regularización'ridge'Solver'bfgs'

  • Si es así, establezca cualquiera de estas combinaciones para:Regularización'lasso'Solver

    • 'sgd'

    • 'asgd'

    • 'sparsa'

    • {'sgd','sparsa'}

    • {'asgd','sparsa'}

  • Al elegir entre SGD y ASGD, tenga en cuenta que:

    • SGD tarda menos tiempo por iteración, pero requiere más iteraciones para converger.

    • ASGD requiere menos iteraciones para converger, pero toma más tiempo por iteración.

  • Si los Datos predictores tienen pocas observaciones, pero muchas variables predictoras, entonces:

    • Especificar.'PostFitBias',true

    • Para los solucionadores de SGD o ASGD, establezca un entero positivo que sea mayor que 1, por ejemplo, 5 o 10.PassLimit Esta configuración a menudo resulta en una mejor precisión.

  • Para los solucionadores de SGD y ASGD, afecta a la tasa de convergencia.BatchSize

    • Si es demasiado pequeño, el software logra el mínimo en muchas iteraciones, pero calcula el degradado por iteración rápidamente.BatchSize

    • Si es demasiado grande, el software logra el mínimo en menos iteraciones, pero calcula el degradado por iteración lentamente.BatchSize

  • Gran tasa de aprendizaje (ver) la convergencia de velocidad al mínimo, pero puede conducir a la divergencia (es decir, sobrepisar el mínimo).LearnRate Las pequeñas tasas de aprendizaje aseguran la convergencia al mínimo, pero pueden conducir a una terminación lenta.

  • Si es así, experimente con varios valores de.Regularización'lasso'TruncationPeriod Por ejemplo, establecer en y, a continuación,.TruncationPeriod110100

  • Para mayor eficiencia, el software no estandariza los Datos predictores. Para estandarizar los Datos predictores (), introduzcaX

    X = bsxfun(@rdivide,bsxfun(@minus,X,mean(X,2)),std(X,0,2));

    El código requiere orientar los predictores y observaciones como las filas y columnas de, respectivamente.X Además, para la economía de uso de memoria, el código reemplaza los Datos predictores originales de los datos estandarizados.

Referencias

[1] Hsieh, C. J., K. W. Chang, C. J. Lin, S. S. Keerthi, and S. Sundararajan. “A Dual Coordinate Descent Method for Large-Scale Linear SVM.” Proceedings of the 25th International Conference on Machine Learning, ICML ’08, 2001, pp. 408–415.

[2] Langford, J., L. Li, and T. Zhang. “Sparse Online Learning Via Truncated Gradient.” J. Mach. Learn. Res., Vol. 10, 2009, pp. 777–801.

[3] Nocedal, J. and S. J. Wright. Numerical Optimization, 2nd ed., New York: Springer, 2006.

[4] Shalev-Shwartz, S., Y. Singer, and N. Srebro. “Pegasos: Primal Estimated Sub-Gradient Solver for SVM.” Proceedings of the 24th International Conference on Machine Learning, ICML ’07, 2007, pp. 807–814.

[5] Wright, S. J., R. D. Nowak, and M. A. T. Figueiredo. “Sparse Reconstruction by Separable Approximation.” Trans. Sig. Proc., Vol. 57, No 7, 2009, pp. 2479–2493.

[6] Xiao, Lin. “Dual Averaging Methods for Regularized Stochastic Learning and Online Optimization.” J. Mach. Learn. Res., Vol. 11, 2010, pp. 2543–2596.

[7] Xu, Wei. “Towards Optimal One Pass Large Scale Learning with Averaged Stochastic Gradient Descent.” CoRR, abs/1107.2490, 2011.

Capacidades ampliadas

Consulte también

| |

Introducido en R2016a