1 votos

¿Cuál es la diferencia entre inducir puntos de datos de localización y de minilotes en el Proceso Gaussiano Variable Estocástico?

Estoy leyendo sobre los procesos gaussianos (GP) y, concretamente, sobre los procesos gaussianos escalables, a saber, el proceso gaussiano variable estocástico (SVGP).

He estado usando la GPFlow-library para implementar la regresión GP para big data, y el código de ejemplo que he estado usando se puede encontrar en esta fuente: https://gpflow.github.io/GPflow/develop/notebooks/advanced/gps_for_big_data.html

Veo que en este contexto se utiliza el término "ubicaciones inductoras", que se explican en el tutorial como, cito:

La idea principal de SVGP es aproximar la verdadera GP posterior con una GP condicionada a un pequeño conjunto de valores "inductores". Este pequeño conjunto puede considerarse como un resumen del conjunto de datos más amplio.

Más adelante, en el mismo código de ejemplo, los autores hablan de "minibatches", que supongo que es la misma idea que en el contexto del aprendizaje profundo: se utiliza un pequeño subconjunto de los datos para realizar un entrenamiento iterativo similar al descenso de gradiente para el modelo, porque no se pueden utilizar todos los datos a la vez debido a problemas computacionales.

Mi confusión proviene de la diferencia entre los puntos de datos "lugar de inducción" y "minilotes". No me queda del todo claro el distinto papel de estos subconjuntos de datos, porque parecen muy similares en su finalidad. Creo que esto me quedaría claro si leyera un par de artículos y un libro sobre el tema, pero quizá podría ahorrarme semanas de tiempo y obtener la idea general de la comunidad :)

Así que mi pregunta es: ¿Cuál es la diferencia entre el minilote y la localización inductora -subsets de los datos en SVGP? ¿Pueden ser iguales?

0voto

Matt J Puntos 15475

Puede que yo mismo haya encontrado una solución, pero no estoy seguro. La solución sugerida proviene de este documento:

Procesos gaussianos para Big Data,

al que se hace referencia en la página GPFlow. Si he entendido bien, la relación entre la ubicación inductora y los puntos de datos del minibatch se ilustra mediante la ecuación de actualización de hiperparámetros del proceso gaussiano (por ejemplo, la varianza del kernel previo) (véase la página 3 del artículo de referencia):

$$\boldsymbol\theta_{1(t+1)})=\textbf{S}^{-1}_{(t)}\textbf{m}_{(t)}+\mathcal{l}\left(\beta\textbf{K}^{-1}_{mm}\textbf{K}_{mn}\textbf{y}-\textbf{S}^{-1}_{(t)}\textbf{m}_{(t)}\right)$$

Los símbolos relevantes para mi pregunta son las matrices $\textbf{K}^{-1}_{mm}$ y $\textbf{K}_{mn}$ . El objetivo de utilizar los "lugares inductores" es disponer de una aproximación representativa de la matriz del núcleo $\textbf{K}_{nn}$ con ayuda de la matriz $\textbf{K}_{mm}$ y $\textbf{K}_{mn}$ donde $n$ es el número total de puntos de datos y $m$ es el número de puntos de datos "inductores", que representan el conjunto de datos de tamaño $n$ . También suponemos $m<<n$ .

Para calcular $\textbf{K}^{-1}_{mm}$ necesitamos el $m$ inducir puntos de datos, y calcular $\textbf{K}_{mn}$ necesitamos los puntos inductores + algún lote (es decir, subconjunto) del conjunto de todos los puntos de datos. Para calcular $\textbf{K}_{mn}$ esta matriz puede seguir siendo bastante grande, porque $n$ es grande, por lo que, en su lugar, podríamos tomar algún subconjunto (minilote) de tamaño $p \leq n-m$ del conjunto de puntos de datos restantes no inductores para los que podemos calcular $\textbf{K}_{mp}\approx\textbf{K}_{mn}$ .

Si lo he entendido bien, ésta es la relación entre los puntos de datos de inducción y de minilotes.

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