¿Qué es la regularización en el aprendizaje automático?

Para cualquier problema de aprendizaje automático, esencialmente, puede dividir sus puntos de datos en dos componentes: patrón + ruido estocástico .

Por ejemplo, si tuviera que modelar el precio de un apartamento, sabrá que el precio depende del área del apartamento, no. de dormitorios, etc. Por lo tanto, esos factores contribuyen al patrón: más dormitorios generalmente conducirían a precios más altos. Sin embargo, todos los apartamentos con la misma área y no. de las habitaciones no tienen exactamente el mismo precio. La variación en el precio es el ruido.

Como otro ejemplo, considere conducir. Dada una curva con una curvatura específica, hay una dirección óptima de dirección y una velocidad óptima. Cuando observa a 100 conductores en esa curva, la mayoría de ellos estaría cerca de ese ángulo de dirección y velocidad óptimos. Pero no tendrán exactamente el mismo ángulo y velocidad de dirección. De nuevo, la curvatura de la carretera contribuye al patrón para el ángulo y la velocidad de dirección, y luego hay ruido que causa desviaciones de este valor óptimo.

Ahora el objetivo del aprendizaje automático es modelar el patrón e ignorar el ruido. Cada vez que un algoritmo intenta ajustar el ruido además del patrón, se sobreajusta.

En la configuración supervisada, normalmente desea hacer coincidir el resultado de una función de predicción con sus etiquetas de entrenamiento. Entonces, en el ejemplo de manejo anterior, desearía predecir con precisión el ángulo de dirección y la velocidad. A medida que agrega más y más variables, como la curvatura de la carretera, el modelo del automóvil, la experiencia del conductor, el clima, el estado de ánimo del conductor, etc., tiende a hacer mejores predicciones sobre los datos de entrenamiento. Sin embargo, más allá de un punto, agregar más variables no ayuda a modelar el patrón, sino que solo intenta ajustar el ruido. Dado que el ruido es estocástico, esto no se generaliza bien para datos invisibles y, por lo tanto, tiene un error de entrenamiento bajo y un error de prueba alto.

Considere el siguiente escenario:

(¿Existe una representación gráfica de la compensación de sesgo-varianza en la regresión lineal?)

El algoritmo izquierdo devuelve la línea de mejor ajuste dados esos puntos, mientras que el algoritmo derecho devuelve el polinomio de mejor ajuste de grado k dados esos n puntos. (k es un número grande, como 10, en este ejemplo).

¿Qué sucede si mueve el punto más bajo hacia arriba por cierta distancia?

La línea en la figura izquierda se vuelve un poco más plana: se mueve un poco hacia arriba a la izquierda y permanece aproximadamente en la misma posición a la derecha. Sin embargo, la curva de la derecha cambia bastante. La caída que ves entre los puntos 1 y 3 puede desaparecer por completo.

Claramente, el algoritmo de la derecha está ajustando el ruido. Como se puede ver en este ejemplo, una forma de reducir el sobreajuste es penalizar artificialmente polinomios de mayor grado . Esto asegura que se seleccione un polinomio de mayor grado solo si reduce el error significativamente en comparación con un modelo más simple, para superar la penalización. Esto es regularización.


Miremos esto de nuevo, ahora con algunos números:

Supongamos que tiene un problema de clasificación y utiliza algún algoritmo estándar que utiliza la regularización, digamos SVM, para la tarea. Deje que el error de entrenamiento que obtenga sea del 15%. Llamemos a esto como Model1 .
Ahora, supongamos que agrego una característica espuria a mi conjunto de datos. Ahora, su vector [math] w [/ math] tendrá una dimensión adicional correspondiente a esta característica. Simplemente observando el error de entrenamiento, tal vez al tener un gran peso distinto de cero para esta función adicional, puede reducir el error de entrenamiento ligeramente, digamos al 14.9%. Llamemos a esto Model2 .
Si ahora regularizo mi función objetivo con un parámetro de regularización razonable, entonces, en realidad, lo que eso significa es que no me importa obtener un error de entrenamiento un poco mayor, si puedo obtenerlo con un [matemático] \ | w \ | [/mates]. Entonces, ahora nuestro problema de optimización nos da un modelo que es idéntico al Model1 en todas las demás dimensiones de [math] w [/ math] y tiene un valor cero para la nueva dimensión. Tenga en cuenta que esto funcionará exactamente como Model1. Llamemos a esto Model3 .

Es fácil ver que Model2 es más “complejo” que los otros dos modelos, porque se ajusta más al ruido en los datos. Desea que su modelo solo se ajuste al patrón en los datos, no al ruido, porque el ruido es estocástico, y usarlo para la toma de decisiones sería perjudicial para el rendimiento en datos no vistos .
Y vemos que la regularización es una forma de evitar el sobreajuste, porque con la regularización adecuada, Model3 sobre Model2 .


Finalmente, aquí hay una explicación más formal:

La mayor parte del aprendizaje automático supervisado se puede ver usando el siguiente marco: tiene un conjunto de puntos de entrenamiento [matemática] (x_i, y_i) [/ matemática] y desea encontrar una función [matemática] f [/ matemática] que “se ajusta bien a los datos”, es decir, [matemáticas] y_i \ aprox. f (x_i) [/ matemáticas] para la mayoría de [matemáticas] i [/ matemáticas]. Esta función debe elegirse con cuidado; si es demasiado simple, [math] y_i \ approx f (x_i) [/ math] puede no ser válida para muchos valores de [math] i [/ math]; Si es demasiado complejo, se ajustará muy bien a los datos (tal vez incluso perfectamente), pero no funcionará bien en datos invisibles.

La forma en que establece esta complejidad de la función elegida es la siguiente: Elija una clase de funciones [matemática] \ matemática {F} [/ matemática] cuya complejidad es más fácil de controlar, y luego encuentre la función [matemática] f \ en \ mathcal {F} [/ math] que funciona mejor en los datos de entrenamiento. Entonces, el problema de controlar la complejidad de [math] f [/ math] se ha reducido al problema de controlar la complejidad de [math] \ mathcal {F} [/ math]. Ahora, dado que no hay una forma directa de encontrar la [matemática] \ matemática {F} [/ matemática] óptima, intente con un grupo de clases de función [matemática] \ matemática {F} _1, \ ldots, \ mathcal {F} _k [/ math], y elige el que mejor se adapte a los datos no vistos. Estas clases [math] \ mathcal {F} _1, \ ldots, \ mathcal {F} _k [/ math] están parametrizadas por cantidades llamadas hiperparámetros, y el proceso de elegir la mejor clase se llama optimización de hiperparámetros.

Tomemos un ejemplo rápido: supongamos que tiene un problema de clasificación. Planea utilizar árboles de decisión para la tarea. La complejidad de los árboles de decisión está determinada por su profundidad. Entonces toma clases de función [matemáticas] T_1, \ ldots, T_k [/ matemáticas], donde [matemáticas] T_i [/ ​​matemáticas] es el conjunto de todos los árboles de decisión de profundidad como máximo [matemáticas] i [/ matemáticas]. Por lo tanto, estas clases de funciones están parametrizadas por el hiperparámetro [math] i [/ math]: solo esta cantidad distingue una clase de la otra. Intenta diferentes valores de [math] i [/ math], ajusta el mejor árbol de profundidad como máximo [math] i [/ math] en los datos de entrenamiento y elige el que tenga un error mínimo en los datos no vistos. Por lo tanto, encontrar el valor (casi) óptimo de [math] i [/ math] es el proceso de optimización de hiperparámetros.

Ahora, en lugar de fijar explícitamente la profundidad del árbol de decisión anterior, y resolver un problema de optimización por separado para todas las profundidades posibles en un rango, toma la clase de todos los árboles de decisión y penaliza cada árbol en proporción a su profundidad (o algún aumento monotónico función de profundidad). Entonces, la cantidad que está tratando de minimizar es una combinación lineal del error de entrenamiento y el término de penalización de profundidad. Cuando el peso del término de penalización de profundidad es lo suficientemente grande, los árboles con grandes profundidades tendrán valores muy grandes del término de penalización y, por lo tanto, se volverán subóptimos, por lo que está buscando efectivamente el espacio [matemática] T_1 [/ matemática]; cuando el peso del término de penalización de profundidad es lo suficientemente pequeño, los árboles con gran profundidad no tienen un término de profundidad grande pero tienen errores más bajos que los árboles más pequeños, por lo que está buscando efectivamente el espacio [math] T_k [/ math].

De esta manera, para una ponderación óptima del término de error y el término de profundidad, los árboles con profundidades muy pequeñas se descartan porque tienen un gran error de entrenamiento, y los árboles con gran profundidad se descartan porque tienen un término de profundidad grande. El árbol óptimo está entonces en algún lugar en el medio.

Esta técnica de agregar un “término de complejidad” al término de error para eliminar funciones muy complejas se llama regularización.

La regularización es una técnica utilizada en un intento de resolver el problema de sobreajuste [1] en modelos estadísticos. *

En primer lugar, quiero aclarar cómo surge este problema de sobreajuste .

Cuando alguien quiere modelar un problema, digamos que al tratar de predecir el salario de alguien en función de su edad, primero intentará un modelo de regresión lineal con la edad como variable independiente y el salario como dependiente. Este modelo fallará principalmente, ya que es demasiado simple .

Entonces, podría pensar: bueno, también tengo la edad, el sexo y la educación de cada individuo en mi conjunto de datos. Podría agregar estos como variables explicativas.

Su modelo se vuelve más interesante y más complejo . Usted mide su precisión con respecto a una métrica de pérdida [matemática] L (X, Y) [/ matemática] donde [matemática] X [/ matemática] es su matriz de diseño y [matemática] Y [/ matemática] son ​​las observaciones (también objetivos indicados ) vector (aquí los salarios).

Descubres que tu resultado es bastante bueno pero no tan perfecto como deseas.

Entonces agrega más variables: ubicación, profesión de los padres, antecedentes sociales, número de hijos, peso, número de libros, color preferido, mejor comida, destino de las últimas vacaciones, etc.

Su modelo funcionará bien, pero probablemente esté sobreajustado , es decir, probablemente tendrá un poder de predicción y generalización deficiente: se adhiere demasiado a los datos y el modelo probablemente haya aprendido el ruido de fondo mientras está en forma. Por supuesto, esto no es aceptable.

Entonces, ¿cómo se resuelve esto?

Es aquí donde la técnica de regularización es útil.

Usted penaliza su función de pérdida agregando un múltiplo de [math] L_1 [/ math] (LASSO [2]) o una [math] L_2 [/ math] (Ridge [3]) de su vector de pesos [math] w [/ math] (es el vector de los parámetros aprendidos en su regresión lineal). Obtiene la siguiente ecuación:

[matemáticas] L (X, Y) + \ lambda N (w) [/ matemáticas]

([matemática] N [/ matemática] es [matemática] L_1 [/ matemática], [matemática] L_2 [/ matemática] o cualquier otra norma)

Esto lo ayudará a evitar el sobreajuste y, al mismo tiempo, realizará la selección de características para ciertas normas de regularización (el [matemático] L_1 [/ matemático] en LASSO hace el trabajo).

Finalmente podrías preguntar: OK, tengo todo ahora. ¿Cómo puedo sintonizar el término de regularización? [matemáticas] \ lambda [/ matemáticas] ?

Una posible respuesta es utilizar la validación cruzada : divide los datos de entrenamiento, entrena su modelo para un valor fijo de [matemáticas] \ lambda [/ matemáticas] y lo prueba en los subconjuntos restantes y repite este procedimiento mientras varía [matemáticas] \ lambda [/ math]. Luego selecciona la mejor [matemática] \ lambda [/ matemática] que minimiza su función de pérdida.


Espero que esto haya sido útil. Avísame si hay algún error. Intentaré agregar algunos gráficos y eventualmente algún código R o Python para ilustrar este concepto.

Además, puede leer más sobre estos temas (regularización y validación cruzada) aquí:

  • Regularización (matemática)
  • Validación cruzada (estadísticas)

* En realidad, este es solo uno de los muchos usos. Según Wikipedia, se puede usar para resolver problemas mal planteados. Aquí está el artículo de referencia: Regularización (matemáticas) .

Como siempre, asegúrese de seguirme para obtener más información sobre el aprendizaje automático y sus dificultades: http://quora.com/profile/Yassine

Notas al pie

[1] Sobreajuste

[2] Lazo (estadísticas)

[3] Regularización de Tikhonov

En caso de que la pregunta sea “en términos simples …”: la regularización desalienta artificialmente las explicaciones complejas o extremas del mundo, incluso si se ajustan mejor a lo que se ha observado. La idea es que es poco probable que tales explicaciones se generalicen bien en el futuro; pueden explicar algunos puntos de datos del pasado, pero esto puede deberse a accidentes de la muestra.

Por ejemplo, supongamos que está entrenando a su robot de guardia para identificar qué mascotas del vecindario deben asustar porque molestan a su cacatúa premiada. Le das al robot los siguientes ejemplos:

  • Bo, serpiente, pequeña, AMISTOSA
  • Miles, perro, pequeño, AMIGO
  • Fifi, gato, pequeño, ENEMIGO
  • Muffy, gato, pequeño, AMIGO
  • Rufus, perro, grande, AMISTOSO
  • Jebediah, caracol, pequeño, AMIGO
  • Aloysius, perro, grande, ENEMIGO
  • Tom, gato, grande, ENEMIGO

Tu robot podría aprender la regla felizmente

las mascotas con nombres de hasta cuatro letras son enemigos, al igual que los perros grandes con nombres que comienzan con ‘A’, excepto que las serpientes pequeñas no son enemigas

ya que se ajusta perfectamente a estos datos, pero se siente torpe. Intuitivamente, supondríamos que hay una regla más simple que también encaja. La razón por la que sentimos que la complejidad es mala per se es que parece poco probable que se generalice bien a las nuevas mascotas: ¿las serpientes pequeñas realmente no son enemigas? o es solo que no estaban en esta entrada?

Por el contrario, la regla

los perros y gatos grandes son enemigos

no se ajusta perfectamente a los datos, pero se ajusta razonablemente bien. Es más simple, y quizás por lo tanto suponemos que será más correcto para los miles de otras mascotas que no están en esta muestra.

En términos generales, la regularización es el tipo de cosa que desalienta la complejidad, incluso si significa elegir una regla menos precisa de acuerdo con los datos de entrenamiento, en las matemáticas que podrían evaluar estas reglas.

(Editado con un mejor ejemplo, por comentarios)

Término del laico:

Como padres, en algún momento tomamos una decisión sobre cuánta flexibilidad se debe dar a nuestros hijos durante su crianza. Demasiada restricción puede suprimir su desarrollo de carácter. Alternativamente, demasiada flexibilidad puede estropear su futuro. La respuesta a esta pregunta es la flexibilidad regularizada, que es dar suficiente flexibilidad agregada con la regularización. Trate de llenar las expectativas de sus hijos, como libros de cómics, configuraciones de dibujos, narración de cuentos, chocolate, helados, juegos móviles, etc. para hacerlos felices. Pero, agregue alguna regularización como:

  • Tienes que terminar tu tarea también
  • Distribuye chocolate por igual con tu hermana
  • Muéstrame tu resultado de la prueba de clase
  • Déjame volver, luego discutiremos

Regularización en Machine Learning:

De manera similar, en el aprendizaje automático, el número de parámetros tomados en el modelo para el entrenamiento usando datos observados es mayor que los números requeridos para representar el problema, lo que ayuda a generalizar bien el problema. Pero para remediar las técnicas de regularización de ajuste excesivo se agregan junto con los parámetros. Las dos técnicas de regularización más importantes en el aprendizaje automático son: abandono y normalización de lotes Respuesta de Debiprasad Ghosh a ¿Por qué ayuda la normalización de lotes?

La regularización ayuda a resolver problemas de ajuste excesivo en el aprendizaje automático. El modelo simple será una generalización de datos muy pobre. Al mismo tiempo, el modelo complejo puede no funcionar bien en los datos de prueba debido a un ajuste excesivo. Necesitamos elegir el modelo correcto entre modelo simple y complejo. La regularización ayuda a elegir la complejidad del modelo preferido, de modo que ese modelo es mejor para predecir. La regularización no es más que agregar un término de penalización a la función objetivo y controlar la complejidad del modelo utilizando ese término de penalización. Se puede usar para muchos algoritmos de aprendizaje automático.

He intentado explicar la regularización utilizando la regresión de cresta y lazo. (La respuesta de Balaji Pitchai Kannu a ¿Cuál es la diferencia entre la regularización L1 y L2? ¿Cómo resuelve el problema del sobreajuste? ¿Qué regularizador usar y cuándo?)

En términos de filosofía …

En el aprendizaje automático, el desafío de aprendizaje es:

  • Muestras FINITAS dadas (datos de entrenamiento)
  • Se da una hipótesis INFINITE * para elegir. Por ejemplo, incluso un modelo lineal simple Y = B1 * X1 + B2 * X2 necesita elegir un B1 y B2 fuera del rango infinito de todos sus valores reales)
  • ¿Podemos elegir la Hipótesis que es más probable y aproximadamente correcta en una población completamente invisible?

Las dos palabras UPCASED representan la dificultad real y pueden hacernos fácilmente elegir un {B1, B2} que no funciona bien en datos no vistos completos (Overfit).

Cualquier mecanismo que elimine algunas hipótesis improbables / inútiles por adelantado podría hacernos bien. La regularización logra lo mismo al establecer restricciones en el tamaño del conjunto de hipótesis.

En términos de matemática ..

Solo nos importa realmente minimizar el ‘ERROR DE GENERALIZACIÓN ESPERADO’.

VC Inequality demuestra que:

  • Error de generalización

Por lo tanto, minimizar al mínimo no solo el Error de entrenamiento, sino ambos términos “Error de entrenamiento + alguna medida de complejidad del modelo” podría ser una buena idea.

Esto es lo que optimizamos para la regularización.

Emméricamente, se ha encontrado que algunas formas de restricciones funcionan realmente bien, por ejemplo, las normas L2 y L1 centradas alrededor de 0.

La regularización es una técnica para hacer frente al sobreajuste que surge en el entrenamiento de un modelo sobre datos de muestra.

Echemos un vistazo al problema de ajuste de curva simple para comprender la regularización y el ajuste excesivo. Dado un conjunto de puntos [matemática] (x1, y1), (x2, y2) … (xN, yN) [/ matemática]. Nuestro objetivo es encontrar un modelo, que es una función [matemática] y = f (x) [/ matemática] que se ajusta a los datos dados. Para hacer esto, podemos usar el método de error de mínimos cuadrados.

Para simplificar, suponga que [math] f (x) [/ math] es solo una función lineal de primer orden, [math] f (x) = Wx + b [/ math]. Nuestro trabajo es descubrir qué son W yb. Configuramos una función de error que se ve así:

Para descubrir qué son W yb, debemos minimizar la función de error anterior. Sin embargo, al minimizar la función de error, nos encontramos con un problema llamado sobreajuste, cuando el modelo que encontramos encaja muy bien con los datos de entrenamiento pero falla miserablemente si aplicamos nuevos datos (es decir, obtenemos otro conjunto de puntos de datos).

Para hacer esto, introducimos nuevos términos en la función de error, lo que implica que el coeficiente W también se deriva de un proceso aleatorio. La función de error ahora se ve así:

El [math] alpha [/ math] agregado se llama término regularizado.

Para ilustrar, suponga que [math] f (x) [/ math] puede tener cualquier orden. Para generar datos de prueba, primero tenemos una función [matemática] y = g (x) [/ matemática]. Luego, de los puntos que pertenecen a [math] y = g (x) [/ math], agregamos algo de ruido y hacemos de esos puntos nuestros datos de entrenamiento. Nuestro objetivo es derivar una función [matemática] y = f (x) [/ matemática] de esos puntos ruidosos, que es lo más cercano posible a la función original [matemática] y = g (x) [/ matemática]. El gráfico a continuación muestra un ajuste excesivo, donde la función derivada (la línea azul) se ajusta bien con los datos de entrenamiento pero no se parece a la función original.

Después de usar la regularización, la función derivada se parece mucho más a la función original, como se muestra a continuación:

Supongo que Yassine Alouini describe acertadamente qué es la regularización. Además, Quora User da un buen ejemplo al trazar la función derivada con / sin / regularización.

Pero no estaba contento con las matemáticas detrás de la regularización . Así que abrí mi cuaderno para descubrir cómo [math] \ lambda [/ math] resuelve el problema de ajuste excesivo .

Aquí esta lo que hice.

Permítanos entender el problema para n número de características. El problema es que se nos da un conjunto de puntos (x1, y1), (x2, y2), (x3, y3) …… .. (xn, yn). Nuestro objetivo es ajustar una función y = f (x) a los datos dados. Llamemos a esto una hipótesis

[math] h_ \ theta (x) = \ sum_ {j = 0} ^ {n} \ theta_jx_j [/ math] para cada ejemplo

donde x es un vector [x1 x2 x3 x4 x5…. xn].

Estamos intentando encontrar los valores de [math] \ theta [/ math] para que esa función genere un valor cercano a los valores y dados. Usando el error de mínimos cuadrados para calcular nuestra función de costo, tenemos

Función de coste = [matemática] J (\ theta) = \ sum_ {i = 1} ^ {m} (h_ \ theta (xi) – yi) ^ 2 [/ matemática]

Se dice que un modelo de aprendizaje automático es complejo cuando el modelo tiene tantos Thetas que el modelo memoriza todo en los datos, “no solo las señales sino también el ruido aleatorio, los errores y todas las características ligeramente específicas de su muestra. ”

Así que aquí está la cosa, la función de costo debería ser cero si nuestra hipótesis es igual a y. Pero el modelo podría sobreajustar los datos de entrenamiento y podría no generalizarse bien para los datos de prueba. Por lo tanto, queremos penalizar todos los valores theta para reducir la complejidad del modelo. Ahora profundicemos más en nuestra función de costos.

Sin regularización

Se puede escribir como en forma vectorizada [matemáticas] J (\ theta) = (X \ theta – Y) ^ 2. [/ Matemáticas]

Expandiéndolo [matemáticas] (X \ theta) ^ 2 + Y ^ 2 – 2XY \ theta = J (\ theta) [/ matemáticas]

Considerando esto como una ecuación cuadrática en [matemáticas] \ theta [/ matemáticas], tenderá a cero en sus raíces.

[matemáticas] a = X ^ 2, b = -2XY, c = Y ^ 2 [/ matemáticas]

Con regularización

Agregando regularización a nuestra función de costos, se convierte en

[matemáticas] (X ^ 2 + \ frac \ lambda m) \ theta ^ 2 – 2XY \ theta + Y ^ 2 = 0 [/ matemáticas]

[matemáticas] a = (X ^ 2 + \ frac \ lambda m), b = -2XY, c = Y ^ 2 [/ matemáticas]

resolviendo para sus raíces, [matemáticas] = \ frac {-b \ pm \ sqrt {b ^ 2-4ac}} {2a} = \ frac DN [/ matemáticas]

s ince solo la constante a ha cambiado (aumentado) en la ecuación de regularización, disminuyendo así D y aumentando N. Por lo tanto, el valor general de theta disminuye.

[matemáticas] a \ uparrow \ space \ Rightarrow \ frac {D \ downarrow} {N \ uparrow} [/ math]

He compartido la intuición general sobre las matemáticas detrás de esto. Siéntase libre de hacerlo más riguroso.

La regularización se refiere al método para prevenir el sobreajuste, controlando explícitamente la complejidad del modelo.

Conduce a suavizar la línea de regresión y, por lo tanto, evita el sobreajuste. Lo hace penalizando la curva de la línea de regresión que trata de coincidir estrechamente con los puntos de datos ruidosos.

Hay un par de técnicas para lograr la regularización, a saber. L1 y L2, que se han cubierto bastante bien en las respuestas anteriores.

En un simple término laico, cuando tiene menos datos y muchas características en su problema, su hipótesis aprendida puede ajustarse completamente a los datos, pero no generaliza su problema. Por generalización quiero decir que su hipótesis no dará resultados perfectos para entradas futuras. Entonces, básicamente, está agregando demasiados detalles para respaldar su hipótesis. Demasiadas características que pueden tener su efecto de alguna manera pero no en general. Entonces este tipo de situación se llama sobre ajuste. Y ahora necesita penalizar esa información adicional para obtener una solución óptima. Entonces aplicas técnicas de regularización. En el que está penalizando algunas de sus funciones para obtener una solución óptima equilibrada.

Esta pregunta se ha hecho mucho sobre quora. Creo que puede encontrar la respuesta en las siguientes preguntas:

  • ¿Qué es una explicación intuitiva de la regularización?
  • ¿Qué es la regularización en el aprendizaje automático?
  • ¿Cuáles son las diferentes formas de pensar sobre la regularización?
  • ¿Cuál es la diferencia entre la regularización L1 y L2? ¿Cómo resuelve el problema del sobreajuste? ¿Qué regularizador usar y cuándo?

Me gustaría responder a su pregunta construyendo paso a paso. Supongo que conoce los términos básicos utilizados en el aprendizaje automático (por ejemplo: ejemplos de entrenamiento, predictores, conjunto de entrenamiento, conjunto de prueba).

Concentrémonos en la construcción de modelos (conjunto de entrenamiento). Los problemas de aprendizaje están mal planteados. En otras palabras, si y es la variable dependiente yx es (son) las variables independientes, Ax = y no tiene una solución única (casi en todos los problemas prácticos).

Hay 2 casos posibles que se encuentran prácticamente:

  1. Número de ecuaciones >> número de variables que se pueden resolver utilizando la regresión de mínimos cuadrados ordinarios (MCO). Se espera que se generalice (funciona bien para el conjunto de prueba).
  2. Número de variables >> número de ecuaciones que conduce a múltiples soluciones. El ajuste de regresión de OLS será perfecto para el conjunto de entrenamiento, pero arrojará resultados miserables para el conjunto de prueba.

El segundo es un caso de ‘sobreajuste’ (hay muchos otros casos de sobreajuste), que define un sistema sobredeterminado. He tomado este ejemplo porque es una de las formas más fáciles de entender el sobreajuste. Imagina agregar una nueva fila de x (solo para prueba) que no cabe en el sistema de ecuaciones (sobre) determinista. Cada solución factible en el sistema dará un valor predicho diferente para y, cada uno diferente del valor real de y, a veces drásticamente. Esto derrota el propósito del modelado.

Hay pocas formas de superar este problema (descrito en términos simples):

  1. Disminuye el número de predictores
  2. Disminuya la importancia dada a las variables en el modelo predictivo (regularización)

Una nota especial sobre el paso 2: la disminución de la importancia dada a las variables empuja al modelo hacia el modelo más básico, es decir Y = promedio (Y) que descarta todos los predictores.

Espero que esto responda tu pregunta.

En inglés simple, la regularización es ajustar la complejidad del modelo preferido para que sus modelos sean mejores para predecir o generalizar. De lo contrario, sus modelos serán demasiado complejos y estarán demasiado ajustados o demasiado ajustados, de cualquier manera, le dará predicciones deficientes que pueden no ser valiosas en resolviendo el problema o enunciado del problema.

Para regularizar, un parámetro de ajuste (lambda) le permite cambiar la complejidad del modelo o una selección de modelos de diferentes complejidades.

La regularización es una manera de hacer cumplir su creencia anterior / criterios deseados en el modelo. Por ejemplo, para una representación dispersa, desea que la representación tenga solo unos pocos elementos distintos de cero, por lo que puede agregar un término de regularización [matemática] l_0 [/ matemática] o [matemática] l_1 [/ matemática] en su objetivo, lo que efectivamente aprovecha la mayoría de los términos en la representación igual a cero.

En general es una forma de penalizar la complejidad. Una regularización común es L2 en los pesos del modelo. Esto penaliza el modelo para pesos más altos, lo que lleva algunos pesos a cero. Esto puede tener el agradable efecto secundario de eliminar los pesos que pueden ser innecesarios (es decir, aquellos que solo están ajustando el ruido). Por lo tanto, es una técnica útil para evitar el sobreajuste.

La regularización refleja el conocimiento previo sobre el modelo. Si el número o la calidad de las muestras de entrenamiento no es lo suficientemente bueno, se podrían agregar algunas distribuciones anteriores para penalizar el modelo y evitar el sobreajuste.

Cuando no hay una distribución previa asignada al modelo, el proceso de optimización puede considerarse como un problema de estimación de probabilidad máxima. Una vez que se haya asignado una distribución previa al modelo, el problema se resolverá como una estimación máxima a posteriori. A menudo, la probabilidad se puede formular como una función de optimización con un término de regularización.

Por ejemplo, la norma l2 en Regresión lineal corresponde a la anterior gaussiana sobre el peso, mientras que la norma l1 corresponde a la distribución laplaciana.

En el aprendizaje automático hay dos tipos principales de problemas y son los problemas de sesgo y varianza. También se les puede llamar sobreajuste y falta de ajuste del modelo.

El sobreajuste (varianza) es un escenario en el que su modelo está entrenado de tal manera que se ha restringido para los valores de entrenamiento y cuando se trata de probar la parte, dará lugar a errores de alto valor.

El ajuste insuficiente (sesgo) es un escenario en el que su modelo no está entrenado adecuadamente o si comenzó con una función de hipótesis incorrecta. Resulta en alta capacitación y errores de prueba.

Entonces, cuando su modelo atraviesa un escenario de ajuste excesivo, necesita un parámetro de regularización para evitar que se sobreajuste a las muestras de entrenamiento.

Entonces, en la imagen de arriba, la cosa escrita en azul después de la ecuación se llama parte de regularización.

Entonces, lo que sucede en el sobreajuste es que los parámetros que está utilizando han ganado un valor perfecto según los ejemplos de entrenamiento y desea que se modifique o reduzca, por lo que agrega estos parámetros adicionales con algún valor alto para que el costo funcione ahora para equilibrar su valor reduce los pesos / parámetros y, por lo tanto, evita que su modelo se sobreajuste.

La regularización se utiliza para evitar que el modelo se ajuste demasiado a la muestra de entrenamiento. Básicamente es un parámetro que se utiliza minimizando la función de error.

El profesor Andrew NG ofrece una muy buena introducción a la regularización en su tutorial de clase de aprendizaje automático en la sección “Regresión lineal y logística”.

Comience con todas las excelentes respuestas proporcionadas aquí
¿Cuál es la diferencia entre la regularización L1 y L2? ¿Cómo resuelve el problema del sobreajuste? ¿Qué regularizador usar y cuándo?

Una regresión o incluso un conjunto de regresiones aplicadas a datos de entrada o estructura de objeto dada para minimizar la función de pérdida. En palabras más simples: una simplificación basada en varios métodos para hacerlo con el punto Dejar importante y Viviseccionar la información basura

More Interesting

¿Hay proyectos de inteligencia artificial que se centren en personas con discapacidad?

¿Qué compañía ofrece la mejor capacitación en inteligencia artificial para una carrera en Jaipur?

¿Cuáles son algunos de los algoritmos de inteligencia artificial o aprendizaje automático que se utilizan en los videojuegos y cómo se utilizan?

¿Qué diferencias de IA deberíamos esperar con las consolas de próxima generación?

¿Cuándo podrá Inteligencia Artificial leer mi correo electrónico y ofrecerme sugerencias sobre qué escribir?

¿Qué puede salir mal con la economía bot emergente?

¿Pueden las computadoras y el software de AI eliminar a los contadores? Si puede, ¿cuándo?

¿Puede una máquina construida por humanos ser más inteligente que los humanos? ¿Pueden comprender niveles de intelecto superiores a los que poseen ellos mismos?

Matemáticas aplicadas o estadísticas, ¿cuál debería elegir como segunda carrera para especializarme en aprendizaje automático e inteligencia artificial, dado que ya estoy estudiando informática?

¿Cuál es el mayor obstáculo cuando se trata de realizar un ser humano como la IA?

Si en 2024 alguien pone a un bebé con un traje y una máscara de realidad virtual (Tierra), ¿son reales las personas y los animales con IA?

¿Cómo agregar inteligencia a un marco de bot? Ya uso LUIS. ¿Cómo puede responder el bot como si estuviéramos hablando con un humano?

¿Cómo se compara Wolfram | Alpha con el conocimiento verdadero?

Douglas Hofstadter (científico cognitivo): ¿Qué, según "Soy un bucle extraño", hace que los humanos desarrollemos un sentido de "yo"?

¿Cuál es la forma más fácil y competente de aprender IA?