7 votos

¿Datos que se utilizan en cada paso de gradiente estocástico? ¿Submuestra de la original sistema del entrenamiento o gradiente de la función de pérdida?

El bag.fraction parámetro en el SGB controla el tamaño de la submuestra aleatoria de la formación original en la que cada una de las sucesivas débil alumno está equipado:

En cada iteración una submuestra de los datos de entrenamiento es al azar (sin reemplazo) de la totalidad del conjunto de datos de entrenamiento. De esta forma aleatoria seleccionado submuestra se utiliza entonces, en lugar de la totalidad de la muestra, para que se ajuste la base alumno y calcular la actualización de modelo para la actual iteración.

(Cita de la original SGB papel de Friedman).

Lo que no entiendo es cómo es esto compatible con el hecho de que en Gradiente de Impulsar, cada una de las sucesivas modelo base está montado directamente en los residuos (o gradiente de la función de pérdida) del modelo actual.

En otras palabras, ¿cómo podemos encajar cada nuevo modelo de base sobre los residuos del modelo actual y, al mismo tiempo, en una submuestra aleatoria de la original conjunto de entrenamiento? ¿Cuál es el vínculo entre estos dos pasos clave?

Si alguien con suficiente Python alfabetización podría encontrar la información desde el código, sería estupendo. También, el código R no es útil, ya que es sólo un contenedor para una implementación en C.

4voto

KhaaL Puntos 66

He implementado esta aquí en un camino que lleva a cabo de forma comparable a otras implementaciones, al menos en mis pruebas.

En cada paso se tiene un residual R calculado a través de todo el conjunto de datos (antes de cualquier base de estudiantes se adapten a sus residual a partir de la predicción de la media).

Usted submuestra sin sustitución y ajuste al alumno a los valores de R para los puntos en que la submuestra.

Luego de aplicar que los estudiantes a obtener una predicción a través de todo el conjunto de datos y actualización de R uso de esa predicción.

Así que todavía estás a actualizar la residual a través de todo el conjunto de datos, que son sólo la aleatoriedad en el proceso de ajuste de cada base alumno un poco.

2voto

ebricca Puntos 31

Traté de descifrar los pasos en el original de Friedman, 2002 papel. Si no estoy equivocado, parece que en realidad tanto tratar con los residuos y el original conjunto de entrenamiento. Especialmente, el algoritmo es como sigue:

enter image description here

Esto es lo que he entendido, paso por paso. Por favor decirme si hay algo fuera de lugar. (*) A continuación algunos de notación.

  • línea 1: $F_{0}(x)$ es sólo una estimación inicial (y eso no es lo que me interesa aquí)
  • línea 4: se calcula la corriente de "pseudo-residuos" para una submuestra aleatoria del conjunto de entrenamiento, $(y_{\pi(i)},x_{\pi(i)})$ como el negativo del gradiente de la función de pérdida. Por actual, me refiero a la que queremos añadir el $m^{th}$ base alumno, y que el modelo hasta ahora es una secuencia de $m-1$ base de los educandos.
  • línea 5: el $m^{th}$ base alumno es un árbol de regresión que particiones en el espacio de la $x_{\pi(i)}$'s en $L$ regiones disjuntas $R_{lm}$, de modo que dentro de la región de la varianza en términos de pseudo-residuos (calculada en la línea 4) es mínimo (esto es como un árbol de obras). Las predicciones $\bar{y}_{lm}$ hecha por el árbol, son los medios de la corriente pseudo-residuos en cada región. Esto es lo que me refería en mi pregunta por: how can we fit each new base model on the residuals of the current model...
  • línea 6: dentro de cada región $R_{lm}$ encontrado en la línea 5, podemos elegir el coeficiente de expansión de la $\gamma_{lm}$ que minimiza la pérdida de la función (no de su gradiente, por lo que no estamos tratando con residuos de aquí), que se evalúa en la submuestra aleatoria de la meta $y_{\pi(i)}$ y las correspondientes predicciones del modelo actual $F_{m-1}(x_{\pi(i)})$. Esto es lo que me refería en mi pregunta por: ...and at the same time on a random subsample of the original training set?
  • línea 7: vamos a añadir el (la contribución) de la nueva base alumno a la secuencia, ya que sus coeficientes de dilatación para cada región multiplicado por la tasa de aprendizaje. Este paso final es todavía un poco extraño para mí, ya que no son directamente la adición de la nueva base de aprendiz de sí mismo (a diferencia de lo que la creencia generalizada acerca de Impulsar podría sugerir). Pero supongo que esto es equivalente, desde el $\gamma_{lm}$'s inherentemente codificar la información acerca de la nueva base alumno (se estima que dentro de cada hoja de un árbol).

*Algunas anotaciones:

  • $(y_{i},x_{i})$ es el conjunto de entrenamiento (destino, la variable predictora)
  • el objetivo de Aumentar (como cualquier otro ML de algo) es a la aproximación de las la función $F(x)$ que se asigna a $x$ $y$
  • La aproximación de $F$ propuesto por Impulsar toma la forma $F(x)=\sum_{m=0}^{M} \beta_{m}h(x,a_{m})$, donde el $\beta$'s son coeficientes de dilatación y el $a$'s son los parámetros de la base de estudiantes $h$'s (que son los árboles de regresión en el Árbol de Impulsar la). Por lo que el $a$'s son las divisiones del árbol (de la optimización de la $a$'s=edificio del árbol). $m$ es el número de base de los alumnos en la secuencia. Para los árboles, hay un $\beta_{m}$ por hoja, se refiere a ellos como el $\gamma_{lm}$'s
  • $\Psi$ es cualquier diferenciable función de pérdida. Queremos que la $F$ que minimiza el valor esperado de $\Psi(y,F(x))$.
  • En cada paso, $F_{m}(x)=F_{m-1}(x)+\nu\beta_{m}h(x,a_{m})$

1voto

eldering Puntos 3814

El concepto de residuos tiene sentido en cualquier conjunto de datos para que:

  • Usted puede utilizar el modelo para hacer predicciones y
  • Usted tiene un verdadero valor de respuesta en cada registro

Por lo tanto, si usted, por ejemplo, dividir el entrenamiento completo de los datos en dos mitades y luego el tren en la primera mitad, todavía se puede predecir en la segunda mitad y calcular los residuos allí.

Quiero señalar sin embargo, que cada alumno es apto para los residuos sólo en el caso gaussiano de un gradiente de refuerzo. En el caso general, la débil estudiantes se ajustan a la gradiente de la función de pérdida, que en el caso gaussiano resulta ser equivalente, pero en todos los demás no lo son. Hacer esta nota así, pero pensé que valía la pena repetir.

-1voto

Marc-Andre R. Puntos 789

Creo que se están confundiendo las características con la variable dependiente. En el gradiente de impulsar modelos de ajuste de los árboles en el actual degradado (que coincide con residuos de Gauss modelos) uso de funciones existentes. Características no cambian, sólo el gradiente está cambiando a cada paso, porque de la actualidad. Gradiente se calcula para cada observación en el conjunto de entrenamiento, por lo que al seleccionar al azar la mitad del conjunto de entrenamiento, es fácil saber que los gradientes de usar. Consulte la Figura 2 en el paquete de R gbm viñeta para una mejor explicación, o el gradiente de árbol de impulsar algoritmo en la sección 10 en Elementos de Aprendizaje Estadístico.

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