4 votos

Cómo establecer el tamaño de paso para estocástico de gradiente de la pendiente de tal forma que su comprobable que convergerán

Recordar estocástico de gradiente de la pendiente (de regresión):

$\theta = 0 $

$ \text{seleccionar al Azar } t \in [1,n]\{\\ \quad \theta^{(k+1)} = \theta^{k} + \eta_{k}(y^{(t)} - \theta \cdot x^{(t)})x^{(t)}\\ \}$

Yo estaba siguiendo algunas notas y dijo que para tener estocástico de gradiente de la pendiente convergen sería suficiente para establecer la tasa de aprendizaje:

$$\eta_{k} = \frac{1}{k+1}$$

Yo normalmente los post de mis intentos para una pregunta, pero sinceramente, no sé cómo probar que la configuración de ese valor va a hacer estocástico de gradiente de la pendiente convergen. Si alguien sabe de una prueba que sería impresionante!

También una respuesta que contiene una prueba, incluso si es por algún caso especial, decir "convexo función" o, en el caso de la regresión lineal, o lo que sea el caso, pero que da una idea (o una prueba) ¿por qué este resultado se mantiene para una configuración diferente del estocástico de gradiente de la pendiente, serían buenas respuestas!

Soy consciente de que la búsqueda global de soluciones mínimas es realmente difícil, de todos modos, restringiendo así su respuesta debe aceptar si contiene una buena prueba o argumento y/o si contiene un ejemplo en el aprendizaje de máquina.

También, si usted no recuerda la prueba, pero en lugar de tal vez tener una buena intuición sobre la razón por la que el valor es un bien para estocástico de gradiente de la pendiente, que también sería una respuesta muy útil para mí! :)

Gracias de antemano!

5voto

Corey White Puntos 76

Primero de todos, usted no encontrará una prueba de ello, en el caso general. Pruebas de convergencia en lotes/estocástico de gradiente de la pendiente de los algoritmos se basan en la convexidad/strong hipótesis de convexidad.

En el caso de los estocástico de gradiente de la pendiente, un teorema es que si la función objetivo es convexa y la tasa de aprendizaje $\eta_t$ es tal que

$$\sum_t \eta_t = +\infty \quad \text{and} \quad \sum_t \eta_t^2 < + \infty$$

Luego de gradiente estocástico converge casi seguramente a el mínimo global. (Robbins-Siegmund teorema si mal no recuerdo). La prueba es trivial y hace uso de los resultados en la teoría de procesos estocásticos y la martingala de la teoría. Este es el caso para cualquier convergencia de los resultados para el SGD.

Su stepsize claramente comprueba esta condición, aunque por lo general se elige un paso de la forma

$$\frac{\sigma}{(1 + \sigma \lambda t)^{3/4}}$$

Donde $\sigma$ es la inicial de la tasa de aprendizaje y $\lambda$ regula la velocidad de convergencia asintótica.

3voto

Tony Lovell Puntos 1

Estas son las pruebas que en realidad se originan a partir de filtro adaptativo de la teoría.

Historia: filtros Adaptativos están en línea-algoritmos de optimización que ganó popularidad en los campos de Procesamiento de la Señal (por ejemplo, de cancelación de ruido) y de comunicaciones (por ejemplo, el canal de la estimación). El algoritmo que se describe en su pregunta se refiere a como la Menos Mean Square (LMS) algoritmo en el área de procesamiento de la señal.

Desde sus datos $x^{(t)}$ es asumido estocástico, sólo podemos demostrar la convergencia en el estáticas sentido. Por ejemplo, sólo podemos demostrar la convergencia en la media o media-cuadrado. Como la prueba de la media de los cuadrados de convergencia es un poco más complicado, voy a incluir la prueba de la media de la convergencia.

Supongamos que el algoritmo está tratando de converger a una óptima vector de parámetros $\theta^{*}$.

Su gradiente estocástico algoritmo de descenso:

$$\theta^{(t+1)} = \theta^{(t)} + \eta (y^{(t)} - \theta^{(t)}x^{(t)} )x^{(t)}$$

Tenga en cuenta que yo no suponga un invariante en el tiempo del tamaño de paso, $\eta$.

Aquí está la parte interesante: Porque se supone que hay un óptimo vector de parámetros $\theta^{*}$, se puede decir que su objetivo deseado, $y^{(t)}$ se genera el formulario de la esta $\theta^{*}$ y sus características $x^{(t)}$ como el siguiente:

$$y^{(t)} = \theta^{*}x^{(t)} + \epsilon^{(t)} $$ where $\epsilon^{(t)} $ is a zero-mean white noise process that is independent to your features $x^{(t)}$. The noise factor $\epsilon^{(t)}$ es añadido para denotar nuestra incertidumbre en el modelo.

La sustitución de este modelo de datos de $y^{(t)}$ nuevo en su SGD actualización queation da

$$\theta^{(t+1)} = \theta^{(t)} + \eta \big(\theta^{*}x^{(t)} + \epsilon^{(t)} - \theta^{(t)}x^{(t)}\big )x^{(t)}$$

En lugar de buscar en el parámetro de actualización, ahora se convierte en útil para estudiar el error en la estimación del parámetro $v^{(t)} = \theta^{*} -\theta^{(t)} $. Restar el vector óptimo $\theta^{*}$ desde la izquierda y la derecha lados de la parte de arriba te da

$$ \begin{align} v^{(t+1)} = {} & v^{(t)} - \eta \big( v^{(t)}x^{(t)} +\epsilon^{(t)} \big )x^{(t)} \\ = {} & v^{(t)} - \eta v^{(t)}(x^{(t)})^2 -\eta\epsilon^{(t)}x^{(t)} \end{align} $$

Aplicando ahora la expectativa estadística operador da $$ \begin{align} \mathbb{E}[v^{(t+1)}] = {} & \mathbb{E}[v^{(t)}] - \eta \mathbb{E}[v^{(t)}(x^{(t)})^2] -\eta \mathbb{E}[\epsilon^{(t)}x^{(t)}] \end{align} $$

  • Desde el valor cero ruido $\epsilon$ es independiente de las características $x^{(t)}$, $\mathbb{E}[\epsilon^{(t)}x^{(t)}] = \mathbb{E}[\epsilon^{(t)}]\mathbb{E}[x^{(t)}] = 0$
  • También desde $v^{(t)}$ es sólo función de los valores pasados de $x^{(t)}$ es decir $v^{(t)} = \mathcal{F}(x^{(t-1)}, \ldots, x^0)$, y suponemos que $x^{(t)}$ es independiente de su pasado, los valores de $x^{(t-1)},\ldots, x^{(0)} $ podemos decir que el $ \mathbb{E}[v^{(t)}(x^{(t)})^2] = \mathbb{E}[v^{(t)}] \mathbb{E}[(x^{(t)})^2]$.

Esto nos da

$$ \mathbb{E}[v^{(t+1)}] = (1 - \eta \mathbb{E}[(x^{(t)})^2])\mathbb{E}[v^{(t)}] $$

Si decimos que la varianza de las características es $\mathbb{E}[(x^{(t)})^2] = \sigma^2_x$, podemos escribir la media de error de la evolución como
$$\mathbb{E}[v^{(t+1)}] = \underbrace{(1 - \eta \sigma^2_x}_{= \alpha} )\mathbb{E}[v^{(t)}] $$

Para que el algoritmo de convergencia, $|\alpha| < 1 $. Si $|\alpha|$ es mayor que 1, en cada iteración el error se amplifica (Creo $v^{(t+1)} = 2v^{(t)}$). El $|\alpha| < 1 $ está satisfecho si la tasa de aprendizaje está delimitada por:

$$ 0 < \eta < \frac{2}{\sigma^2_x} $$

Esto completa la prueba de convergencia para el SGD algoritmo.

En su caso le puede casi decir que mientras $\eta_t < \frac{2}{\sigma^2_x} \forall t$, su algoritmo de convergencia.

Descargo de responsabilidad: tenga en cuenta que esto sólo es una garantía para la media de la convergencia - en la práctica, su tamaño de paso sería mucho menor que el de este. La media de la plaza de la condición de convergencia, por ejemplo, le daría una mayor enlazado.

Consejo rápido: Desde mi experiencia, es mucho más limpio y un infierno de mucho más rápido si usted escribe su tiempo de índices como subíndices sin corchetes por ejemplo,$\theta_{t+1} = \theta_t + \eta_t(y_t - \theta_tx_t)x_t$. ;)

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