19 votos

¿Qué hay en un nombre: hyperparameters

Así que en una distribución Normal, tenemos dos parámetros: la media de $\mu$ y la varianza $\sigma^2$. En el libro de Reconocimiento de patrones y Aprendizaje de Máquina, de repente aparece un hyperparameter $\lambda$ en la regularización de los términos de la función de error.

¿Cuáles son hyperparameters? ¿Por qué son nombrados como tales? Y cómo son ellos, intuitivamente, diferentes de los parámetros en general?

17voto

jaradniemi Puntos 1535

El término hyperparameter es muy vago. La voy a utilizar para hacer referencia a un parámetro que está en un nivel superior de la jerarquía de los otros parámetros. Por ejemplo, considere un modelo de regresión con un conocido de la varianza (1 en este caso)

$$ y \sim N(X\beta,I) $$

y, a continuación, previa sobre los parámetros, por ejemplo,

$$ \beta \sim N(0,\lambda I) $$

Aquí $\lambda$ determina la distribución de $\beta$ $\beta$ determina la distribución de $y$. Cuando quiero sólo se refiere a las $\beta$ me llaman el parámetro y cuando quiero sólo se refiere a las $\lambda$, la puedo llamar la hyperparameter.

La nomenclatura se hace más complicada cuando los parámetros se muestran en varios niveles o cuando hay más niveles jerárquicos (y usted no desea utilizar el término hyperhyperparameters). Es mejor si el autor de especificar exactamente lo que se quiere decir cuando se utiliza el término hyperparameter o parámetro para esa materia.

9voto

Jon Smock Puntos 3921

Un hyperparameter es simplemente un parámetro que afecta, en todo o en parte, de otros parámetros. No directamente a resolver el problema de optimización que se enfrentan, sino optimizar los parámetros que pueden resolver el problema (de ahí el hyper, porque ellos no son parte del problema de optimización, sino que son "complementos"). Por lo que he visto, pero no tengo ninguna referencia, esta relación es unidireccional (un hyperparameter no puede ser influenciado por los parámetros que influyen, por tanto, también la de hyper). Ellos generalmente se introdujo en la regularización o meta-esquemas de optimización.

Por ejemplo, su $\lambda$ parámetro puede libremente impacto $\mu$ $\sigma$ a un ajuste por el costo de regularización (sino $\mu$ $\sigma$ no tienen ninguna influencia en $\lambda$). Por lo tanto, $\lambda$ es un hyperparameter para$\mu$$\sigma$. Si usted tuvo un adicional de $\tau$ parámetros que influyen $\lambda$, sería un hyperparameter para $\lambda$, y un hyperhyperparameter para $\mu$ $\sigma$ (pero nunca he visto esta nomenclatura, pero no me parece mal si yo lo vi).

He encontrado el hyperparameter concepto muy útil para la validación cruzada, porque recuerda usted de la jerarquía de parámetros, mientras que también te recuerdo que si usted todavía está modificando (hiper-)parámetros, que son todavía la validación cruzada y no generalizar por lo que debe permanecer cuidado sobre sus conclusiones (para evitar pensamiento circular).

7voto

hal clendenin Puntos 11

Las otras explicaciones son un poco vagos; he aquí una más explicación concreta que debe aclarar.

(Regular) parámetros son los que serían necesarios para describir el proceso físico en sí, y estaría determinado por las leyes del sistema actual se está modelando. En otras palabras, son propiedades de la cosa a ser modelada, no las propiedades del modelo en sí.

Hyperparameters son aquellas que no los parámetros en el actual proceso físico, y son sólo los parámetros en el modelo. Usted sólo tendría introdujo para hacer que su modelo de "trabajo" en la presencia de finito de datos y/o finito de tiempo de cálculo. Si usted tuviera el poder infinito de medir o calcular nada, hyperparameters ya no existen en el modelo, ya que no se describir cualquier aspecto físico del sistema actual.

6voto

eldering Puntos 3814

No es un preciseley término definido, así que voy a seguir adelante y darle otra definición que parece ser coherente con el uso común.

Un hyperparameter es una cantidad que se estima en un algoritmo de aprendizaje de máquina que no participe en la forma funcional de la final de predicción de la función.

Déjame descansar que con un ejemplo, la regresión ridge. En la cresta de la regresión de resolver el siguiente problema de optimización:

$$ \beta^*(\lambda) = \text{argmin}_{\beta} \left( (y - X\beta)^t (y - X\beta) + \lambda \beta^t \beta \right)$$ $$ \beta^* = \text{argmin}_{\lambda} (y' - X'\beta(\lambda))^t (y' - X'\beta(\lambda)) $$

En el primer problema, $X, y$ es de los datos de entrenamiento, y en el segundo $X', y'$ es un cabo el conjunto de datos. El final de la forma funcional del modelo, que me llama por encima de la predicción de la función es

$$ f(X) = X \beta^* $$

en que $\lambda$ no aparece. Esto hace que $\beta$ un vector de parámetros, y $\lambda$ hyper parámetro.

3voto

Marcelo Ventura Puntos 466

Precisamente como se ha señalado por @jaradniemi, un uso del término hyperparameter viene desde jerárquicos o multinivel modelado, donde se tiene una cascada de modelos estadísticos, construyó más de/menos de los demás, utilizando generalmente la probabilidad condicional declaraciones.

Pero la misma terminología que se plantea en otros contextos con significados diferentes también. Por ejemplo, he visto que el término hyperparameter sido utilizado para referirse a los parámetros de la simulación (duración de ejecución, el número de independientes de repeticiones, el número de partículas que interactúan en cada replicación, etc.) de un modelo estocástico, que no fue el resultado de una modelización multinivel.

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