12 votos

¿Qué es "Multinomial desviación" en el paquete de glmnet?

Soy montaje de una regresión logística multinomial usando el paquete glmnet en R:

library(glmnet)
data(MultinomialExample)
cvfit=cv.glmnet(x, y, family="multinomial", type.multinomial = "grouped")
plot(cvfit)

rplot

¿Qué es "Multinomial Deviance" y cómo se relaciona "Logloss Multinomial"?

14voto

JoanComasFdz Puntos 131

La desviación es una transformación de un cociente de probabilidad. En particular, consideramos que el modelo basado en la probabilidad de que después de algún accesorio que se ha hecho y comparar esto con la probabilidad de lo que se llama el modelo saturado. Este último es un modelo que tiene tantos parámetros como puntos de datos y se logra un ajuste perfecto, así que mirando a la razón de verosimilitud estamos midiendo, en cierto sentido, lo mucho que nuestro modelo ajustado es de un "ideal" del modelo.

En la regresión multinomial caso tenemos datos de la forma $(x_1, y_1), (x_2, y_2), \ldots , (x_n, y_n)$ donde $y_i$ $k$- vector que indica que la clase de observación de la $i$ pertenece (exactamente una entrada contiene un uno y el resto son cero). Ahora bien, si el ajuste de un modelo que estima un vector de probabilidades de $\hat{p}(x) = (\hat{p}_1(x), \hat{p}_2(x), \ldots, \hat{p}_k(x))$ a continuación, el modelo basado en la probabilidad puede ser escrito

$$ \prod_{i=1}^{n} \prod_{i=j}^{k} \hat{p}_j(x_i)^{y_{ij}} . $$

The saturated model on the other hand assigns probability one to each event that occurred, which means the vector of probabilities $\hat{p}_i$ is just equal to $y_i$ for each $i$ and we can write the ratio of these likelihoods as

$$ \prod_{i=1}^{n} \prod_{j=1}^{k} \left ( \frac{\hat{p}_j(x_i)}{y_{ij}} \right )^{y_{ij}} . $$

To find the deviance we take minus two times the log of this quantity (this transformation has importance in mathematical statistics because of a connection with the $\chi^2$ distribution) to get

$$ -2 \sum_{i=1}^{n} \sum_{j=1}^{k} y_{ij} \log \left ( \frac{\hat{p}_j(x_i)}{y_{ij}} \right ) . $$

(It's also worth pointing out that we treat zero times the log of anything as zero in this situation. The reason for this is that it's consistent with the idea that the saturated likelihood should equal one.)

The only part of this that's peculiar to glmnet is the way in which the function $\hat{p}(x)$ is estimated. It's doing a constrained maximization of the likelihood and computing the deviance as the upper bound on $\| \beta \|_1$ is varied, with the model that achieves the smallest deviance on test data being considered a "best" model.

Regarding the question about log loss, we can simplify the multinomial deviance above by keeping only the non-zero terms and write it as $-2 \sum_{i=1}^{n} \log [\hat{p}_{j_i} (x_i)]$, where $j_i$ is the index of the observed class for observation $i$, que es el empírica de registro de la pérdida multiplicada por una constante. Para minimizar la desviación es en realidad equivalente a minimizar el registro de la pérdida.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X