Andrew Ng aprendizaje automático (cuatro) - regresión lineal multivariable

1. Características Múltiples (característica multidimensional)

Mencionamos regresión lineal, sólo tenemos una única magnitud característica (variable) - Superficie de x. Queremos usar esta función para predecir la cantidad del precio de la casa. Asumimos que la línea azul inferior figura dibujada por:

Aquí Insertar imagen Descripción
Es posible que desee pensar, si sólo conocemos el área de vivienda (como se pronosticó que los precios de las casas magnitud característica (variable)), también sabemos que la edad del número de dormitorios, piso y casas, entonces esto puede darnos más precios de la vivienda de predecir.

Aquí Insertar imagen Descripción

Aquí Insertar imagen Descripción

Aquí Insertar imagen Descripción

Aquí Insertar imagen Descripción

Es decir, el soporte para múltiples variables supone que es:

Aquí Insertar imagen Descripción

Esta fórmula tiene n + 1 º y n th parámetros de cantidad característica (variables), de tal manera que la fórmula se puede simplificar a algunos x0 Incorporated = 1, luego se convierte a la fórmula:

Aquí Insertar imagen Descripción

Se puede simplificarse de la siguiente manera:

Aquí Insertar imagen Descripción

descenso 2. Gradiente de múltiples variables (múltiple descenso de gradiente variable)

Aquí Insertar imagen Descripción

Aquí Insertar imagen Descripción

3. descenso de gradiente en la práctica: Escalamiento de funciones (función de escalado)

1, vamos a introducir algunos de cálculo de descenso de gradiente de habilidades prácticas, primera escala característica de método (escala característica).

Si usted tiene un problema de aprendizaje automático, y este problema tiene una serie de características. Si usted puede asegurarse de que estas características están en un rango similar (para asegurar que los valores de las diferentes funciones dentro del rango), este gradiente pueden converger más rápido descenso.

Específicamente, si tiene un problema con dos características, donde x1 es el tamaño de la zona de vivienda, su valor entre 0 y 2000, x2 es el número de habitaciones, los valores oscilan entre 1 y 5 . Si se traza la función de costo J (θ) del perfil:

Aquí Insertar imagen Descripción

Bueno, esto se ve como el contorno deben dejarse la forma como se muestra arriba.

J (θ) se trata de un parámetro de θ0, θ1 y θ2 función, yo estoy aquí para ignorar θ0 (no considerar θ0). Y un argumento de función virtual, solamente θ1 y theta] 2, pero si el intervalo es mucho mayor que el rango variable de x1 y x2, a continuación, la función de coste final pintado J (θ) de este perfil exhibirán una especie es muy asimétrica y formas elípticas. La proporción de 2000 y el 5 será hacer esto aún más delgado ovalada.

Por lo tanto, este es un perfil oval delgado y alto, son éstas las esbelta muy alto elíptica formar la función de costo J (θ), si se utiliza esta función de coste para el descenso de gradiente, entonces usted tiene que conseguir el gradiente el valor final puede tardar mucho tiempo para llegar. Y puede fluctuar de ida y vuelta, y luego pasará por un tiempo muy largo, que finalmente convergen en el mínimo global.

De hecho, se puede imaginar, si éstos se amplifican y luego esbozar algunas de las palabras, más a la izquierda como se muestra arriba (si se dibuja número otra vez exagerada, lo pintó más fina más tiempo), entonces la situación puede ser aún peor. proceso de descenso de gradiente puede ser más lenta, se necesita un tiempo más largo, de forma repetida oscilar adelante y hacia atrás, que finalmente encontró el camino correcto que conduce a un mínimo global.

Un método eficaz en este caso es la función de escala (escala característica).

2, por ejemplo, en el que la x se define como el tamaño del área de la casa se divide por 2000, y el número de habitaciones definidos como x2 dividido por 5. Por lo tanto, el desplazamiento representa la forma de la función de costo J (θ) de la vista de perfil será menos severa, puede parecer más redondo.

Si se utiliza una función tales costos de realización de descenso de gradiente, entonces el algoritmo de descenso de gradiente encontrará un camino más rápido para el mínimo global, en lugar de tan desconcertado personas a lo largo de un camino, un complejo gran parte de la pista para encontrar el mínimo global.

De este modo, mediante la función Escala, el "consumido" rango de valores (en este caso, nos encontramos con dos características X1 y X2 son entre 0 y 1), se obtiene el algoritmo de descenso de gradiente será más rápido Converge.

Más en general, realizamos escala característica, en el que el valor de la restricción de la gama de -1 a +1 (Nota: en la que x0 es siempre igual a 1, tiene en este rango). Pero otras características, que pueden tener que dividir por un número diferente para que puedan estar en el mismo rango. -1 y 1 las dos figuras no es demasiado importante.

Aquí Insertar imagen Descripción

Si usted tiene una función x1, es un valor entre 0 y 3, no hay duda.

Si usted tiene otros valores característicos entre -2 a +0,5, OK, no importará. Debido a que esta es también muy cerca de la gama de -1 a +1.

Pero si usted tiene otra característica, si está en el rango entre -100 y 100, entonces el rango de -1 a +1, con muy diferente allí, por lo que este puede ser un no tan buenas características.

Del mismo modo, si sus características internas en un rango muy pequeño, por ejemplo entre 0,0001 -0,0001 y, a continuación, esto también es un mucho más pequeño que el rango de -1 a +1, por lo que también consideraremos esta característica no es muy bueno.

Por lo que reconoció una gama puede ser mayor o menor que el rango de -1 a +1, pero no inaceptable para gama grande o pequeño. Por lo general, diferentes personas tienen diferentes experiencias, pero por lo general son considerados: Si una característica se encuentra en el rango de -3 a +3, entonces usted debería considerar este rango es aceptable. Pero si el rango es mayor que el rango de -3 a +3, podemos empezar a prestar atención. Si su valor para el -1/3 + 1/3, creemos que es bastante bueno, aceptable, o 0 a 0 a 1/3 ó -1/3 éstos rango típico, somos considerados para ser aceptado. Pero si el rango de características hace muy pequeño, entonces usted tiene que empezar a pensar acerca de la expansión de la función.

En general, usted no se preocupe demasiado acerca de si las características de la misma gama o intervalo, siempre y cuando están lo suficientemente cerca, entonces el método de descenso de gradiente funcionarán correctamente.

3, además de la función de zoom, la función se divide por el máximo, a veces seremos llamados normalización media de trabajo (normalización media)

Lo que quiero decir es esto, si usted tiene un xi función, utilizar xi - reemplazarlo μi, al hacerlo, se hacen los valores característicos con un valor promedio de 0 (μi se refiere a la media de todos xi).

Obviamente, no es necesario este paso se aplica a x0, x0 ya que es siempre igual a 1, por lo que es imposible prometer valor promedio de cero.

Sin embargo, para otras funciones, tales como el tamaño de la casa, entre los valores de 0 a 2000, y suponiendo que la superficie media de la casa es igual a 1,000, a continuación, puede utilizar esta fórmula se convierte en el valor de x1 x1 restando la mu promedio] 1, a continuación, dividido por 2.000.

Del mismo modo, si su casa tiene cinco habitaciones, y un promedio de una casa con dos dormitorios, a continuación, puede utilizar esta fórmula para normalizar su segunda función x2.

En ambos casos se puede calcular el nuevo características X1 y X2, de modo que su rango puede estar entre -0,5 y +0,5.
Aquí Insertar imagen Descripción

Por supuesto, esto debe estar mal, tal como el valor de x2 en realidad puede ser mayor que 0,5 (por ejemplo, (5-2) / 5 = 0,6), pero está muy cerca.

Más regla general es que se puede utilizar la siguiente fórmula:

(X1 - M1) / S1

Para reemplazar el original de características x1.

medios Μ1 definen en el mismo, en el conjunto de entrenamiento, en el que el promedio de x1. S1 es el rango del valor característico (máximo menos mínimo). Por supuesto, las variables se pueden establecer como la desviación estándar de S1, pero de hecho con un signo menos máximo mínimo ella.

Del mismo modo, para la segunda función x2, también se puede utilizar esta función dividida por sustracción de la gama media, para reemplazar los elementos originales (gama media sigue siendo el máximo menos mínimo).

Esta fórmula se convertirá en sus características como rango, tal vez no exactamente así, pero probablemente este rango:

-0,5 <Xi <0,5

Por cierto, algunos estudiantes pueden ser mirada más cuidadosa en el artículo, si usamos el máximo menos el valor mínimo para representar la gama, por encima del 5 debe cambiarse a 4 (si un máximo de 5, y luego restando el valor mínimo de 1, este es el rango de valores 4).

Pero no importa por lo que estos valores son muy similares, siempre y cuando la conversión se caracteriza por la aproximación de rango, es posible, de hecho, la escala característica no tiene por qué ser exacta, sólo para hacer que el descenso de gradiente puede correr un poco más rápido solamente.

Resumen
Mediante el uso de la función de zoom de este sencillo método, es posible hacer que la velocidad de descenso de gradiente se vuelve más rápido, por lo que el número de ciclos requerido para la convergencia de descenso de gradiente de menos

A continuación vamos a presentar otra técnica para hacer que el descenso de gradiente mejor en la práctica.

4. Pendiente de descenso en la práctica: Aprender tasa (tasa de aprendizaje)

1. A continuación, se centrará en la tasa de aprendizaje α.

En concreto, esta es la pendiente de descenso algoritmo de actualizaciones de las reglas, aquí es cómo me gustaría presentar la depuración (es decir, la forma de determinar el descenso de gradiente está funcionando correctamente) y cómo elegir la tasa de aprendizaje α.

Aquí Insertar imagen Descripción
2, la forma de determinar el gradiente de descenso funciona correctamente?

algoritmo de descenso de gradiente cosas por hacer es encontrar un valor de θ para ti, y la esperanza de que será capaz de minimizar la función de coste J (θ).
Típicamente podemos trazar el valor de la función coste J (θ) cuando se ejecuta un algoritmo de descenso de gradiente. Tenga en cuenta que aquí los espectáculos del eje x el número de algoritmo de descenso de gradiente paso de iteración.

Aquí Insertar imagen Descripción
Es posible conseguir ese tipo de una curva en un gráfico.

Lo que significa que la curva es tal que: cuando corro si el paso 100 después de completar el descenso de gradiente iterativo, no importa lo que el valor de θ para obtener I (después de cualquier evento, la etapa de iteración 100, I dará un valor θ), entonces según la etapa de iteración 100 el valor obtenido [theta], se puede calcular el valor de la función de costo J ([theta]), y esto representa la altura vertical del punto de las iteraciones del algoritmo de descenso de gradiente después de la etapa 100 los valores calculados de J (θ).

Por tanto, esta curva muestra el valor de la pendiente de descenso algoritmo de iteración función de costo J (θ) es.

Si el algoritmo de descenso de gradiente al trabajo, así que después de cada iteración J (θ) debe declinar. La utilidad de esta curva es que puede decirle información: Por ejemplo, se puede observar que la curva en el gráfico, cuando llegue a la etapa de iteración 300, es decir, entre 300 a 400 de iteración pasos, se ve J ( θ) no disminuyó mucho. Al llegar a la iteración 400, esta curva parece tener una muy plana.

En otras palabras, cuando este 400 iteración, el algoritmo de descenso de gradiente, básicamente, ha convergido, debido a que la función de costo y no seguirá disminuyendo.

Por lo tanto, la observación de esta curva puede ayudar a determinar si el algoritmo de descenso de gradiente ha convergido.

Por cierto, para cada tema específico, el número de iteraciones necesarias algoritmo de descenso de gradiente puede variar mucho.

Tal vez para un tema en particular, pendiente de descenso algoritmo requiere sólo el 30 por iteración puede converger, sin embargo, para un problema, tal vez usted necesita algoritmo de descenso de gradiente 3000 iteración; y luego por otro problema de aprendizaje automático, es posible que tenga tres millones de pasos iteración.

De hecho, es difícil determinar de antemano la cantidad de pasos iterativos necesidades algoritmo de descenso de gradiente a converger. Así, en general que necesitamos para dibujar este tipo de curva, dibujar la función de coste aumenta con el número de iteraciones curva.

Típicamente, podemos ver que la curva para tratar de determinar si el método de descenso de gradiente ha convergido.

3. También es posible llevar a cabo automáticamente algunas pruebas de convergencia, usando un algoritmo, es decir, que le diga si el algoritmo de descenso de gradiente ha convergido.

Aquí Insertar imagen Descripción
prueba de convergencia Auto es un ejemplo típico: si la función de costo J (θ) es menor que el valor ε una gota muy pequeña, entonces se considera que ha convergido.

Usted puede ser seleccionado por ejemplo 1e-3, pero por lo general permite seleccionar un umbral apropiado ε es bastante difícil.

Por lo tanto, con el fin de comprobar si las converge el algoritmo de descenso de gradiente, antes de que realmente observamos o mediante la introducción de una función de coste aumenta con el número de iteraciones de la curva, en lugar de depender de prueba de convergencia automática.

4. Además, este gráfico también puede estar en el algoritmo no funciona, se avanza advertencia.

Aquí Insertar imagen Descripción

En concreto, con el número de iteraciones de la curva, si la función de costo J (θ) es como esta en la esquina superior izquierda del mapa, J (θ) es en realidad en aumento, entonces es muy claro que el algoritmo de descenso de gradiente no funciona correctamente .

Y este gráfico, por lo general significa que usted debe utilizar una velocidad de aprendizaje más pequeña α.

A veces se puede ver el mismo en la esquina inferior izquierda de esta curva de forma J (θ), es primero disminuye y luego aumenta, entonces disminuye y luego aumenta de nuevo, y así sucesivamente.

La solución a esta situación, por lo general también seleccionar un valor α más pequeño.

No tenemos la intención de demostrarlo, pero para la regresión lineal de nuestra discusión, es fácil demostrar matemáticamente que, siempre y cuando la tasa de aprendizaje es lo suficientemente pequeño, después de cada iteración, la función de costo J (θ) se reducirá, por lo que si no hay una función de coste declive, se puede considerar una tasa de aprendizaje causados ​​por el exceso. En este punto, usted debe tratar de una tasa de aprendizaje más pequeño.

Por supuesto, usted no quiere que la tasa de aprendizaje es demasiado pequeño. Porque si es así, entonces el algoritmo de descenso de gradiente puede converger muy lentamente.

Aquí Insertar imagen Descripción

Para resumir:

Si la tasa de aprendizaje α es demasiado pequeño, se encontrará con el problema de la velocidad de convergencia lenta, y si la tasa de aprendizaje α es demasiado grande, la función de costo J (θ) no puede renunciar cada iteración, puede incluso no converger, en algunos casos A continuación, si la tasa de aprendizaje α es demasiado grande, puede parecer un problema de convergencia lenta. Pero más a menudo el caso de que se encuentra la función de costo J (θ), y no todos caen después de cada iteración.

Con el fin de depurar todos estos casos, el dibujo J (θ) con el número de iteraciones curva de cambio, por lo general puede ayudar a determinar lo que sucedió en el final.

Específicamente, cuando se corre un algoritmo de descenso de gradiente, típicamente tratar una serie de valores alfa, tales como:

..., 0,001, 0,003, 0,01, 0,03, 0,1, 0,3, 1, ...

Para los diversos α y valores, trazada con la curva de variación del número de iteración J (θ), luego seleccione parece que J (θ) α valor de un rápido descenso.

Por lo tanto, al seleccionar el tipo de aprendizaje apropiado para el algoritmo de descenso de gradiente, puede ser sustancialmente múltiplos de 3 a una serie de valores de los valores alfa, hasta que nos encontramos con un valor que no puede ser pequeña, mientras que la búsqueda de otro valor, no podría ser mayor . Entonces trato de recoger el mayor del valor α, o un poco más pequeño que el valor máximo razonable. Cuando hacemos el trabajo anterior, por lo general puede conseguir un buen valor de la tasa de aprendizaje.

5. Características y regresión polinómica (en el que la regresión polinómica)

1, ahora se entienden regresión lineal multivariable, este capítulo presentará los métodos de selección de características y la forma de obtener diferentes algoritmos de aprendizaje. Al seleccionar las características adecuadas, estos algoritmos tienden a ser muy eficaz. Además, vamos a introducir regresión polinómica, que le permite utilizar el método de regresión lineal para encajar función muy compleja, aunque la función no lineal.

Las tasas de predecir, por ejemplo, supongamos que tiene dos características, a saber, una anchura y una anchura vertical de la casa a la calle.

Aquí Insertar imagen Descripción

De hecho, cuando usamos la regresión lineal, que no tiene X1 y X2 directamente dada como características, de hecho, puede crear nuevas características propias.

Si tuviera que predecir que el precio de la casa, que realmente quiere ser hecho es determinar realmente decidido qué estoy factor de tamaño de la casa es, por lo tanto, podría crear una nueva función de x, es el producto de la anchura de la calle y la profundidad, esto es lo que he sido un área de tierra. Entonces puedo hacer una hipótesis h utilizando única característica, que es un área de tierra.

A veces, mediante la definición de una nueva función, puede obtener un mejor modelo.

2, un concepto muy relacionado con la característica seleccionada se denomina regresión polinómica (regresión polinómica).

Si usted tiene un conjunto de datos de precios de vivienda, con el fin de adaptarse a ella, puede haber un número de diferentes modelos para elegir.

Aquí Insertar imagen Descripción
línea recta no parece encajar muy bien los datos, se puede elegir el modelo cuadrático, pero se puede encontrar una función cuadrática del modelo no parece fácil de usar, ya que la curva de una función cuadrática finalmente caer de nuevo. Y no creemos que los altos precios de la vivienda se reducirá en cierta medida a volver.

Por lo tanto, podemos elegir un modelo diferente polinomio, por ejemplo, una función cúbica, una función cúbica aquí, mejor ajuste a este conjunto de datos, ya que no va a volver el pasado otoño.

Por lo tanto, debemos, al final el ajuste del modelo con nuestros datos?

Mientras vamos a hacer una modificación muy simple del algoritmo de regresión lineal múltiple, que puede ser un mejor ajuste con los datos.

De acuerdo con nuestras suposiciones forman anteriores, sabemos cómo encajar un modelo de este tipo, pueden ser:

hθ (X) = θ0 + θ1 × X1 + θ2 × X2 + X3 θ3 ×

En la que X1, X2 y X3 representan diferentes características.

Por lo tanto, ¿qué pasaría si los datos a un tercer modelo?

La primera característica se puede establecer en el área x1 de la casa, la segunda característica de la plaza de conjunto espacio de piso a x2, x3 a la tercera característica de la zona cúbico de la casa.

Así que simplemente estas tres características tales como ajustes, y luego aplicar el método de regresión lineal, deacuerdo a este modelo, y, finalmente, podrá conectarse a una función cúbica en mis datos.

Hecho anteriormente, puede entenderse como proporcionado por tres característica, por lo que el modelo se transforma en un modelo de regresión lineal. Nota: Si se utiliza el modelo de regresión polinómica antes de ejecutar el algoritmo de descenso de gradiente, el escalado característica es necesaria.

3. Debe tenerse en cuenta que si elige esta función, como se ha descrito anteriormente, a continuación, la función de la normalización se vuelve más importante, ya que el alcance de estas tres características son muy diferentes.

Por lo tanto, si se utiliza un algoritmo de descenso de gradiente usando valores propios de la normalización es muy importante, por lo que en cuanto a su rango de valores se convierten comparables.

Echemos un vistazo a un ejemplo sobre cómo seleccionar las características que usted realmente desea utilizar.

Anteriormente, hemos hablado de un modelo cuadrático como esto no es lo ideal, porque sabes tal vez un modelo cuadrático se ajustan bien los datos, pero finalmente dejó caer una función cuadrática, lo que no queremos ver.

Sin embargo, además de tres en favor del establecimiento de un modelo, es posible que tenga otros métodos de selección de características, de la siguiente manera:

Aquí Insertar imagen Descripción

Resumen
En este capítulo, se discute la regresión polinómica, es decir, cómo un polinomio, como una función cuadrática o una función de ajuste cúbico a sus datos.

Además, también analizamos la selectividad en el uso de características. Por ejemplo, no utilizamos el ancho de la calle y la profundidad de la casa, sino que se multiplican entre sí para darle a la casa una superficie de esta característica. De hecho, parece un poco decisiones difíciles, hay tantos selección de características diferentes, ¿Cómo decidir qué características?

En el siguiente artículo, vamos a explorar algunos de los algoritmos que pueden seleccionar automáticamente las características que desea utilizar, por lo que puede utilizar un algoritmo que le dará los datos de forma automática en el extremo que debe elegir se selecciona una función cuadrática, una función cúbica u otra función u otra.

Sin embargo, antes de aprender que el algoritmo, quiero que sepa que tiene que elegir qué características, ya través de diferentes características de diseño, se puede utilizar un funciones más sofisticadas para adaptarse a sus datos, en lugar de solamente una línea recta para encajar.

6. ecuación Normal (ecuaciones normales)

Anteriormente, hemos estado utilizando un algoritmo de descenso de gradiente, pero por alguna problema de regresión lineal, la ecuación normal de solución mejor.
La ecuación normal, mediante la resolución de la siguiente ecuación:

Aquí Insertar imagen Descripción

Obtiene los parámetros que minimiza una función de coste.

Aquí Insertar imagen Descripción

Aquí Insertar imagen Descripción

Publicado 80 artículos originales · ganado elogios 140 · vistas 640 000 +

Supongo que te gusta

Origin blog.csdn.net/linjpg/article/details/103950592
Recomendado
Clasificación