2. Regresión de aprendizaje: predicción de clics en función de los costos publicitarios

La espada de tres pies de viento y lluvia fuera de la montaña.

Toma tu espada y baja de la montaña si tienes algo que hacer.

Libro Una casa de flores y pájaros en las nubes

Vienen los sabios del flip-book sin preocupaciones

1. Preguntas de configuración

Tome la relación entre los anuncios web y los clics como ejemplo para aprender la regresión.

Premisa: Cuantas más tarifas de publicidad se invierten, más clics en el anuncio.

Según datos de experiencias pasadas, se puede obtener la siguiente cifra:

Supongamos que quiero invertir 200 yuanes en tarifas de publicidad, ¿cuántos clics traerá?

Eso es unas 500 veces.

Esto es aprendizaje automático. Lo que estás haciendo es aprender de datos conocidos y luego dar predicciones .

2. Definir el modelo

Siempre que conozca la forma de función de cada punto en el gráfico, puede conocer la cantidad de clics en función de la tarifa de publicidad.

Nota: "los hits contienen ruido", por lo que es imposible que la función pase por todos los puntos.

Se puede obtener una función:

Uno es el intercepto y el otro es la pendiente.

Se puede ver a partir de esta función que x es la tarifa de publicidad e y es el número de clics.

La función lineal anterior se puede imaginar como un modelo que puede predecir la cantidad de clics en función de la inversión en costos de publicidad, y θ0 y θ1 son los valores de los parámetros del modelo. La calidad del modelo (es decir, la precisión de los resultados previstos) está estrechamente relacionada con los valores de los parámetros del modelo.

Ahora no sabemos cuántos valores de estos dos parámetros son óptimos para este modelo.

De acuerdo con el método de hipótesis en matemáticas, dado que no lo sabe, primero haga una hipótesis aleatoria. Primero suponga que θ0=1, θ1=2, luego la función principal anterior se convertirá en:

De acuerdo con este modelo hipotético, ahora quiero invertir x = 100 yuanes en tarifas de publicidad, luego el número previsto de clics:

y = 1 + 2 * 100 = 201

Mira la situación real de los datos anteriores:

Por lo tanto, los supuestos θ0=1 y θ1=2 son completamente incorrectos y el modelo obtenido en base a estos dos parámetros no puede obtener resultados correctos.

A continuación, vamos a utilizar el aprendizaje automático para encontrar el θ0 y θ1 correctos.

método de los 3 mínimos cuadrados

Primero, convierta la expresión de la función una vez:

De esta forma, a simple vista se puede ver que se trata de una función que tiene un parámetro θ y está relacionada con la variable x.

Previamente hemos tenido los datos reales entre el coste publicitario y el volumen de clics, de la siguiente manera:

Representado en la figura:

De acuerdo con los parámetros que asumimos casualmente, podemos obtener fθ(x)=1+2x

Sustituya el costo publicitario real en el volumen de clics previsto:

Puede verse que el valor predicho basado en los parámetros asumidos aleatoriamente es muy diferente de la situación real, y existe una desviación entre el valor calculado con los parámetros determinados aleatoriamente y el valor real. 

Idealmente, nuestro valor pronosticado es consistente con el valor real, es decir, y-fθ(x)=0. Esto significa que el error entre y y fθ(x) es 0.

Sin embargo, es imposible hacer que todos los errores sean iguales a 0, por lo que lo que tenemos que hacer es hacer que la suma de los errores de todos los puntos sea lo más pequeña posible.

Expresado como una expresión:

 

Esta expresión se denomina función objetivo (núcleo) , y la E de E(θ) es la primera letra de la palabra inglesa Error. Este tipo de problema se denomina problema de optimización .

punto importante:

1. La i en x(i) e y(i) no significa la potencia de i, sino que se refiere a los i-ésimos datos de entrenamiento.

2. Para calcular el cuadrado del error, excluya el caso en que el error sea negativo.

3. Multiplicar por 1/2, la expresión queda mejor diferenciada, y no afecta el punto donde la propia función toma el valor mínimo.

Sustituyendo la tarifa de publicidad inicial y los datos de volumen de clics en ella se puede obtener:

Si el error es demasiado grande, lo que tenemos que hacer es reducir el error para que el valor predicho se acerque al valor real.Este método para encontrar el error también se llama método de mínimos cuadrados .

Para hacer que E(θ) sea cada vez más pequeño, es necesario mantener el valor del parámetro θ y luego compararlo y modificarlo con el valor real una y otra vez. Esto es demasiado problemático. La forma correcta es usar la diferenciación.

Ejemplo:

Hay una función cuadrática como g(x)=(x-1)*2

Primero diferencie g(x):

Puedes conocer su tabla de aumentos y disminuciones:

En x=3, para hacer más pequeño el valor de g(x), necesitamos mover x hacia la izquierda, es decir, debemos reducir x

En el punto de x=-1 del otro lado, para hacer más pequeño el valor de g(x), necesitamos mover x hacia la derecha, es decir, debemos aumentar x

Es decir, la dirección de movimiento de x se determina según el signo de la derivada, y al moverse en dirección contraria al signo de la derivada, g(x) avanzará en la dirección del valor mínimo.

Para resumir lo dicho anteriormente, exprésalo con una expresión:

Este es el método de descenso más empinado o descenso de gradiente .

A:=B Esta forma de escribir significa que A se define a través de B, y los parámetros se actualizan automáticamente . En términos simples, la x anterior se usa para definir la nueva x.

η se llama la tasa de aprendizaje , pronunciado "ita". Dependiendo de la tasa de aprendizaje, la cantidad de actualizaciones para alcanzar el mínimo también variará. En otras palabras, la velocidad de convergencia será diferente. A veces, incluso hay una situación en la que es completamente imposible converger y diverge todo el tiempo.

Entonces el valor de η es muy importante, como η=1, comenzando desde x=3

 

Esto conducirá a un bucle sin fin.

Sea η=0.1, también parta de x=3

Si η es grande, entonces x:=x-η(2x-2) saltará alrededor de dos valores, posiblemente incluso lejos del mínimo. Este es el estado divergente. Y cuando η es pequeño, la cantidad de movimiento también es pequeña y la cantidad de actualizaciones aumentará, pero el valor irá en la dirección de la convergencia.

Ahora analicemos la función objetivo del costo publicitario y el volumen de clics:

Pero esta función objetivo contiene fθ(x), y fθ(x) tiene dos parámetros, θ0 y θ1. Es decir, esta función objetivo es una función bivariada con θ0 y θ1, por lo que no podemos usar diferencial ordinaria, sino diferencial parcial .

Encuentre la diferencial parcial de la expresión θ0:

Hay fθ(x) en E(θ) y θ0 en fθ(x), por lo que se puede usar una función compuesta

Diferenciar paso a paso

Comience el cálculo desde el lugar donde u se diferencia de v

Entonces v diferencia a θ0

v reemplaza a fθ(x) 

Entonces v diferencia a θ0

Finalmente, se obtienen las expresiones de actualización de los parámetros θ0 y θ1:

Siempre que θ0 y θ1 se actualicen de acuerdo con esta expresión, se puede encontrar la función lineal correcta fθ(x).

Use este método para encontrar el fθ(x) correcto y luego ingrese cualquier tarifa de publicidad para obtener los clics correspondientes. De esta forma, podemos predecir el número de clics en función de los costes publicitarios.

4 Regresión polinomial

Anteriormente, la imagen se ajustaba a una línea recta, pero en realidad, la curva se ajusta mejor que la línea recta.

La función cuadrática correspondiente a la curva:

O también es posible una expresión con un grado superior:

Sin embargo, no es que cuanto mejor sea el orden de las funciones, mejor será el ajuste, y puede ocurrir el problema del sobreajuste.

La última expresión de actualización de parámetros:

El método de análisis de aumentar el grado del polinomio en la función como esta y luego usar la función se llama regresión polinomial .

5 regresión múltiple

En el pasado, predecimos el número de clics en función de la tarifa de publicidad, es decir, solo había una variable (tarifa de publicidad x), pero en la práctica, muchos problemas a resolver eran problemas complejos con más de dos variables.

Por ejemplo, además de la tarifa de publicidad, la cantidad de clics también se ve afectada por múltiples factores, como la posición del anuncio y el tamaño de la página del anuncio, es decir, múltiples variables x.

Para hacer el problema lo más simple posible, esta vez solo consideramos el tamaño de la página de publicidad, suponiendo que la tarifa de publicidad es x1, el ancho de la columna de publicidad es x2 y la altura de la columna de publicidad es x3, entonces fθ se puede expresar de la siguiente manera:

Entonces puedes diferenciar la función, pero antes de eso, puedes entender la forma simplificada de la expresión.

Método de simplificación: tratar el parámetro θ y la variable x como un vector

Para facilitar el cálculo, alinee ambos lados

Tras transponer θ, el resultado de multiplicarlo por x

Por lo tanto, en la programación real, solo necesita expresarlo con una matriz unidimensional normal:

La diferenciación es la misma que antes, por lo que solo se requiere el diferencial de v a θj.

Luego, la expresión de actualización para el parámetro jth:

Tal regresión que involucra múltiples variables se llama regresión múltiple .

6 Descenso de gradiente estocástico

El algoritmo de descenso de gradiente mencionado anteriormente tiene dos inconvenientes: uno es que lleva mucho tiempo actualizar x una y otra vez, y el otro es que es fácil caer en una solución óptima local .

Por ejemplo, la siguiente función:

Elegir la x inicial de diferentes lugares caerá en una solución óptima local.

El descenso de gradiente estocástico se basa en el método de descenso más pronunciado.

La expresión de actualización de parámetros del método de descenso más pronunciado:

Esta expresión utiliza el error de todos los datos de entrenamiento. Mientras que en el descenso de gradiente estocástico, los datos de entrenamiento se seleccionan aleatoriamente y se utilizan para actualizar los parámetros.

La k en la expresión es el índice de los datos seleccionados al azar. El tiempo para que el método de descenso más pronunciado actualice los parámetros una vez, y el método de descenso de gradiente estocástico se puede actualizar n veces. Además, el método de descenso de gradiente estocástico no es fácil de caer en la solución óptima local de la función objetivo porque los datos de entrenamiento se seleccionan aleatoriamente y el gradiente utilizado al actualizar los parámetros es el gradiente cuando se seleccionan los datos.

Además, existe un método de selección aleatoria de m datos de entrenamiento para actualizar parámetros:

Deje que el conjunto de índices de m datos de entrenamiento seleccionados al azar sea K

Suponiendo que hay 100 datos de entrenamiento, cuando m=10, cree un conjunto de índices con 10 números aleatorios, por ejemplo K={61, 53, 59, 16, 30, 21, 85,31, 51, 10}, y luego actualice repetidamente los parámetros en la línea.

Este método se llama descenso de gradiente de mini lotes .

Supongo que te gusta

Origin blog.csdn.net/2301_76354366/article/details/131716210
Recomendado
Clasificación