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.

CompactRegressionSVM

Paquete: classreg.learning.regr

Modelo de regresión de máquina vectorial de soporte compacto

Descripción

es un modelo de regresión de máquina de vectores de soporte (SVM) compacto.CompactRegressionSVM Consume menos memoria que un modelo de máquina de vectores de soporte (modelo) completo y entrenado, ya que no almacena los datos utilizados para entrenar el modelo.RegressionSVM

Dado que el modelo compacto no almacena los datos de entrenamiento, no puede utilizarlo para realizar determinadas tareas, como la validación cruzada. Sin embargo, puede usar un modelo de regresión SVM compacto para predecir las respuestas mediante nuevos datos de entrada.

Construcción

compactMdl = compact(mdl) Devuelve un modelo de regresión SVM compacto a partir de un modelo de regresión SVM completo y entrenado.compactMdlmdl Para obtener más información, consulte compact.

Argumentos de entrada

expandir todo

Modelo de regresión SVM completo y entrenado, especificado como un modelo devuelto por.RegressionSVMfitrsvm

Propiedades

expandir todo

Coeficientes de doble problema, especificados como un vector de valores numéricos. contiene elementos, donde es el número de vectores de soporte en el modelo de regresión de SVM entrenado.Alphamm El doble problema introduce dos multiplicadores de Lagrange por cada vector de soporte. Los valores de son las diferencias entre los dos multiplicadores de Lagrange estimados para los vectores de soporte.Alpha Para obtener más información, consulte.Comprensión de la regresión de máquina de vectores de soporte

Si especificó eliminar duplicados utilizando, a continuación, para un conjunto determinado de observaciones duplicadas que son vectores de soporte, contiene un coeficiente correspondiente a todo el conjunto.RemoveDuplicatesAlpha Es decir, atribuye un coeficiente distinto de cero a una observación del conjunto de duplicados y un coeficiente de todas las demás observaciones duplicadas en el conjunto.MATLAB®0

Tipos de datos: single | double

Coeficientes primarios del problema lineal, almacenados como un vector numérico de longitud, donde es el número de predictores en el modelo de regresión SVM.pp

Los valores en son los coeficientes lineales para el problema de optimización primigenia.Beta

Si el modelo se obtiene utilizando una función del kernel que no sea, esta propiedad está vacía ().'linear''[]'

el predict método calcula los valores de respuesta pronosticados para el modelo como, donde es el valor de la escala del kernel almacenada en la propiedad.YFIT = (X/S)×Beta + BiasSKernelParameters.Scale

Tipos de datos: double

Término de sesgo en el modelo de regresión de SVM, almacenado como un valor escalar.

Tipos de datos: double

Índices predictores categóricos, especificados como un vector de enteros positivos. contiene valores de índice correspondientes a las columnas de los datos del predictor que contienen predictores categóricos.CategoricalPredictors Si ninguno de los predictores es categórico, entonces esta propiedad está vacía ().[]

Tipos de datos: single | double

Nombres de predictores ampliados, almacenados como una matriz de vectores de caracteres de celda.

Si el modelo utiliza codificación para variables categóricas, incluye los nombres que describen las variables expandidas.ExpandedPredictorNames De lo contrario, es el mismo que.ExpandedPredictorNamesPredictorNames

Tipos de datos: cell

Parámetros de función del kernel, almacenados como una estructura con los siguientes campos.

CampoDescripción
Function Nombre de la función kernel (un vector de caracteres).
ScaleFactor de escala numérico utilizado para dividir los valores predictores.

Puede especificar valores para y mediante el uso de los argumentos de par nombre-valor en, respectivamente.KernelParameters.FunctionKernelParameters.ScaleKernelFunctionKernelScalefitrsvm

Tipos de datos: struct

Predictor significa, almacenado como un vector de valores numéricos.

Si los datos de entrenamiento están estandarizados, entonces es un vector numérico de longitud, donde es el número de predictores utilizados para entrenar el modelo.Mupp En este caso, el predict centros de métodos de matriz predictora restando el elemento correspondiente de cada columna.XMu

Si los datos de entrenamiento no están estandarizados, entonces está vacío ().Mu'[]'

Tipos de datos: single | double

Los nombres de predictor, almacenados como una matriz de celdas de vectores de caracteres que contiene el nombre de cada predictor en el orden en que aparecen. tiene una longitud igual al número de columnas en.XPredictorNamesX

Tipos de datos: cell

Nombre de variable de respuesta, almacenado como un vector de caracteres.

Tipos de datos: char

Función de transformación de respuesta, especificada como o un identificador de función. describe cómo el software transforma los valores de respuesta sin procesar.'none'ResponseTransform

Para una función o una función que defina, introduzca su identificador de función.MATLAB Por ejemplo, puede introducir Mdl.ResponseTransform = @functionDónde function acepta un vector numérico de las respuestas originales y devuelve un vector numérico del mismo tamaño que contiene las respuestas transformadas.

Tipos de datos: char | function_handle

Desviaciones estándar predictoras, almacenadas como un vector de valores numéricos.

Si los datos de entrenamiento están estandarizados, entonces es un vector numérico de longitud, donde es el número de predictores utilizados para entrenar el modelo.Sigmapp En este caso, el predict método escala la matriz predictora dividiendo cada columna por el elemento correspondiente de, después de centrar cada elemento utilizando.XSigmaMu

Si los datos de entrenamiento no están estandarizados, entonces está vacío ().Sigma'[]'

Tipos de datos: single | double

Vectores de soporte, almacenados como un-por-matriz de valores numéricos. es el número de vectores de soporte (), y es el número de predictores en.mpmsum(Mdl.IsSupportVector)pX

Si especificó eliminar duplicados usando, entonces para un conjunto dado de observaciones duplicadas que son vectores de soporte, contiene un vector de soporte único.RemoveDuplicatesSupportVectors

Tipos de datos: single | double

Métodos

discardSupportVectorsDeseche los vectores de soporte
lossError de regresión para el modelo de regresión de máquina vectorial de soporte
predictPredecir respuestas mediante el modelo de regresión de máquina vectorial de soporte

Semántica de copia

Valor. Para saber cómo afectan las clases de valor a las operaciones de copia, consulte.Copiar objetos (MATLAB)

Ejemplos

contraer todo

En este ejemplo se muestra cómo reducir el tamaño de un modelo de regresión de SVM completo y entrenado descartando los datos de entrenamiento y cierta información relacionada con el proceso de formación.

En este ejemplo se utilizan los datos de abulón del repositorio de aprendizaje automático de UCI. Descargue los datos y guárdela en su directorio actual con el nombre.'abalone.data' Lea los datos en un.table

tbl = readtable('abalone.data','Filetype','text','ReadVariableNames',false); rng default  % for reproducibility

Los datos de muestra contienen 4177 observaciones. Todas las variables predictoras son continuas excepto para, que es una variable categórica con valores posibles (para machos), (para hembras), y (para bebés).sex'M''F''I' El objetivo es predecir el número de anillos en el abulón, y así determinar su edad, utilizando mediciones físicas.

Entrenar un modelo de regresión SVM utilizando una función de kernel gaussiano y una escala de kernel automática. Estandarizar los datos.

mdl = fitrsvm(tbl,'Var9','KernelFunction','gaussian','KernelScale','auto','Standardize',true)
mdl =     RegressionSVM            PredictorNames: {1x8 cell}              ResponseName: 'Var9'     CategoricalPredictors: 1         ResponseTransform: 'none'                     Alpha: [3635x1 double]                      Bias: 10.8144          KernelParameters: [1x1 struct]                        Mu: [1x10 double]                     Sigma: [1x10 double]           NumObservations: 4177            BoxConstraints: [4177x1 double]           ConvergenceInfo: [1x1 struct]           IsSupportVector: [4177x1 logical]                    Solver: 'SMO'     Properties, Methods

Compacte el modelo.

compactMdl = compact(mdl)
compactMdl =     classreg.learning.regr.CompactRegressionSVM            PredictorNames: {1x8 cell}              ResponseName: 'Var9'     CategoricalPredictors: 1         ResponseTransform: 'none'                     Alpha: [3635x1 double]                      Bias: 10.8144          KernelParameters: [1x1 struct]                        Mu: [1x10 double]                     Sigma: [1x10 double]            SupportVectors: [3635x10 double]     Properties, Methods

El modelo compactado descarta los datos de entrenamiento y cierta información relacionada con el proceso de formación.

Compare el tamaño del modelo completo y el modelo compacto.mdlcompactMdl

vars = whos('compactMdl','mdl'); [vars(1).bytes,vars(2).bytes]
ans =        323793      775968

El modelo compactado consume aproximadamente la mitad de la memoria del modelo completo.

Referencias

[1] Nash, W.J., T. L. Sellers, S. R. Talbot, A. J. Cawthorn, and W. B. Ford. The Population Biology of Abalone (Haliotis species) in Tasmania. I. Blacklip Abalone (H. rubra) from the North Coast and Islands of Bass Strait, Sea Fisheries Division, Technical Report No. 48, 1994.

[2] Waugh, S. Extending and benchmarking Cascade-Correlation, Ph.D. thesis, Computer Science Department, University of Tasmania, 1995.

[3] Clark, D., Z. Schreter, A. Adams. A Quantitative Comparison of Dystal and Backpropagation, submitted to the Australian Conference on Neural Networks, 1996.

[4] Lichman, M. UCI Machine Learning Repository, [http://archive.ics.uci.edu/ml]. Irvine, CA: University of California, School of Information and Computer Science.

Capacidades ampliadas

Introducido en R2015b