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.

resubLoss

Encuentre la pérdida de clasificación para el clasificador de la máquina de vectores de soporte (SVM) mediante el reenvío

Descripción

ejemplo

L = resubLoss(SVMModel) Devuelve la representación (L), la pérdida de clasificación en la muestra, para el clasificador de la máquina de vectores de soporte (SVM) utilizando los datos de entrenamiento almacenados y las etiquetas de clase correspondientes almacenadas en.pérdida de clasificaciónSVMModelSVMModel.XSVMModel.Y

La clasificación loss () es una medida de calidad de generalización o de reenvío.L Su interpretación depende de la función de pérdida y el esquema de ponderación, pero, en general, los mejores clasificadores producen valores de pérdida de clasificación más pequeños.

ejemplo

L = resubLoss(SVMModel,'LossFun',lossFun) Devuelve la pérdida de clasificación mediante la representación mediante la función de pérdida suministrada.LossFun

Ejemplos

contraer todo

Cargue el conjunto de datos.ionosphere

load ionosphere

Entrenar un clasificador SVM. Estandarice los datos y especifique que es la clase positiva.'g'

SVMModel = fitcsvm(X,Y,'ClassNames',{'b','g'},'Standardize',true);

es un clasificador entrenado.SVMModelClassificationSVM

Estime la pérdida de reenvío (es decir, el error de clasificación en la muestra).

L = resubLoss(SVMModel)
L = 0.0570 

El clasificador SVM clasifica erróneamente el 5,7% de la muestra de entrenamiento del radar.

Cargue el conjunto de datos.ionosphere

load ionosphere

Entrenar un clasificador SVM. Estandarice los datos y especifique que es la clase positiva.'g'

SVMModel = fitcsvm(X,Y,'ClassNames',{'b','g'},'Standardize',true);

es un clasificador entrenado.SVMModelClassificationSVM

Estimar la pérdida de la bisagra en la muestra.

L = resubLoss(SVMModel,'LossFun','hinge')
L = 0.1603 

La pérdida de la bisagra es.0.1603 Se preferían los clasificadores con pérdidas de bisagra cercanas a 0.

Argumentos de entrada

contraer todo

Clasificador SVM completo y entrenado, especificado como un modelo entrenado con.ClassificationSVMfitcsvm

Función de pérdida, especificada como un nombre de función de pérdida incorporada o un identificador de función.

  • Esta tabla enumera las funciones de pérdida disponibles. Especifique uno utilizando su vector de caracteres correspondiente o escalar de cadena.

    ValorDescripción
    'binodeviance'Desviación binomial
    'classiferror'Error de clasificación
    'exponential'Exponencial
    'hinge'Bisagra
    'logit'Logística
    'mincost'Costo mínimo previsto de clasificación errónea (para puntuaciones de clasificación que son probabilidades posteriores)
    'quadratic'Cuadrática

    es adecuada para las puntuaciones de clasificación que son probabilidades posteriores.'mincost' Puede especificar que se utilicen las probabilidades posteriores como puntuaciones de clasificación para los modelos de SVM estableciendo al realizar la validación cruzada del modelo utilizando.'FitPosterior',truefitcsvm

  • Especifique su propia función mediante la notación de identificador de función.

    Supongamos que es el número de observaciones en, y es el número de clases distintas () que se utilizan para crear el modelo de entrada ().nXKnumel(SVMModel.ClassNames)SVMModel La función debe tener esta firma

    lossvalue = lossfun(C,S,W,Cost)
    Dónde:

    • El argumento de salida es un escalar.lossvalue

    • Elija el nombre de la función (lossfun).

    • es una matriz lógica con filas que indican la clase a la que pertenece la observación correspondiente.CnK El orden de las columnas corresponde al orden de la clase.SVMModel.ClassNames

      Construya estableciendo si la observación está en la clase, para cada fila.CC(p,q) = 1pq Establezca todos los demás elementos de la fila en.p0

    • es una matriz numérica de puntuaciones de clasificación, similar a la salida de.SnKPredecir El orden de las columnas corresponde al orden de la clase.SVMModel.ClassNames

    • es un vector numérico de pesos de observación de-por-1.Wn Si pasa, el software normaliza los pesos a sumar.W1

    • es una matriz numérica de costes de clasificación errónea.CostoKK Por ejemplo, especifica un coste para la clasificación correcta y para la clasificación errónea.Cost = ones(K) – eye(K)01

    Especifique la función mediante 'LossFun',@lossfun.

Para obtener más información sobre las funciones de pérdida, consulte.Pérdida de clasificación

Ejemplo: 'LossFun','binodeviance'

Tipos de datos: char | string | function_handle

Más acerca de

contraer todo

Pérdida de clasificación

funciones miden la inexactitud predictiva de los modelos de clasificación.La pérdida de clasificación Cuando se compara el mismo tipo de pérdida entre muchos modelos, una pérdida menor indica un mejor modelo predictivo.

Considere el siguiente escenario.

  • es la pérdida de clasificación promedio ponderada.L

  • es el tamaño de la muestra.n

  • Para la clasificación binaria:

    • yj es la etiqueta de clase observada. El software codifica como – 1 o 1, indicando la clase negativa o positiva, respectivamente.

    • (fXj) es la puntuación de clasificación sin procesar para la observación (fila) de los Datos predictores.jX

    • Mj = yj(fXj) es la puntuación de clasificación para clasificar la observación en la clase correspondiente aj yj. Los valores positivos de Mj indicar la clasificación correcta y no contribuyen mucho a la pérdida media. Los valores negativos de Mj indicar una clasificación incorrecta y contribuir significativamente a la pérdida media.

  • Para algoritmos que admiten la clasificación multiclase (es decir, ≥ 3):K

    • yj* es un vector de – 1 ceros, con 1 en la posición correspondiente a la clase verdadera, observadaK yj. Por ejemplo, si la clase verdadera de la segunda observación es la tercera clase y = 4, entoncesKy*2 = [0 0 1 0] ′. El orden de las clases corresponde al orden en la propiedad del modelo de entrada.ClassNames

    • (fXj) es el vector de longitud de las puntuaciones de clase para la observación de los Datos predictores.KjX El orden de las puntuaciones corresponde al orden de las clases de la propiedad del modelo de entrada.ClassNames

    • Mj = yj*′ (fXj). por lo tanto Mj es la puntuación de clasificación escalar que predice el modelo para la clase verdadera observada.

  • El peso para la observación esj Wj. El software normaliza los pesos de observación de modo que sumará a la probabilidad de clase anterior correspondiente. El software también normaliza las probabilidades previas por lo que suman a 1. por lo tanto

    j=1nwj=1.

Dado este escenario, en la tabla siguiente se describen las funciones de pérdida admitidas que se pueden especificar mediante el argumento de par nombre-valor.'LossFun'

Función de pérdidaValor deLossFunEcuación
Desviación binomial'binodeviance'L=j=1nwjlog{1+exp[2mj]}.
Pérdida exponencial'exponential'L=j=1nwjexp(mj).
Error de clasificación'classiferror'

L=j=1nwjI{y^jyj}.

Es la fracción ponderada de las observaciones mal clasificadas donde y^j es la etiqueta de clase correspondiente a la clase con la probabilidad posterior máxima. {} es la función indicadora.Ix

La pérdida de bisagra'hinge'L=j=1nwjmax{0,1mj}.
La pérdida de Logit'logit'L=j=1nwjlog(1+exp(mj)).
El costo mínimo'mincost'

Costo mínimo. El software calcula el coste mínimo ponderado utilizando este procedimiento para observaciones = 1,...,.jn

  1. Estimar el 1 por vector de los costos de clasificación esperados para la observación:Kj

    γj=f(Xj)C.

    (fXj) es el vector de columna de las probabilidades posteriores de clase para la clasificación binaria y multiclase. es la matriz de costes que el modelo de entrada almacena en la propiedad.CCosto

  2. Para la observación, predecir la etiqueta de clase correspondiente al coste mínimo de clasificación esperado:j

    y^j=minj=1,...,K(γj).

  3. Utilizando, identifique el costo incurrido (CCj) para realizar la predicción.

La pérdida de costo mínima ponderada, promedio, es

L=j=1nwjcj.

Pérdida cuadrática'quadratic'L=j=1nwj(1mj)2.

Esta figura compara las funciones de pérdida (excepto) para una observación.'mincost'm Algunas funciones se normalizan para pasar a través de [0,1].

Puntuación de clasificación

La SVM para clasificar la observación es la distancia firmada desde el límite de decisión que va desde-∞ hasta + ∞.puntuación de clasificaciónxx Una puntuación positiva para una clase indica que se predice que estará en esa clase.x Una puntuación negativa indica lo contrario.

La puntuación de clasificación de clase positiva f(x) es la función de clasificación de SVM entrenada. f(x) es también la respuesta numérica, pronosticada para, o la puntuación para predecir en la clase positiva.xx

f(x)=j=1nαjyjG(xj,x)+b,

Dónde (α1,...,αn,b) son los parámetros SVM estimados, G(xj,x) es el producto escalar en el espacio predictor entre y los vectores de soporte, y la suma incluye las observaciones del conjunto de formación.x La puntuación de clasificación de clase negativa para, o la puntuación para predecir en la clase negativa, es – ().xxfx

SiGXj, ) =x Xj′ (el kernel lineal), la función de puntuación se reduce ax

f(x)=(x/s)β+b.

es la escala del kernel y es el vector de los coeficientes lineales ajustados.sβ

Para obtener más información, consulte.Entender las máquinas de vectores de soporte

Referencias

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

Introducido en R2014a