Regularización para lograr dispersión: Regularización L₁

Los vectores dispersos suele contener varias dimensiones. Al crear una combinación de atributos, se generan incluso más dimensiones. A partir de vectores de atributos de muchas dimensiones, el tamaño del modelo puede aumentar considerablemente y requerir una enorme cantidad de RAM.

En un vector disperso de dimensiones altas, lo ideal sería llevar, en lo posible, las ponderaciones a exactamente 0. Una ponderación de exactamente 0 básicamente quita el atributo correspondiente del modelo. Al extraer atributos, se ahorra RAM y es posible que se reduzcan las inconsistencias del modelo.

Por ejemplo, considera un conjunto de datos de viviendas que incluya no solo California sino todo el planeta. Al agrupar la latitud del mundo en minutos (60 minutos por grado), se obtienen alrededor de 10,000 dimensiones en una codificación dispersa; la longitud del mundo en minutos crea, aproximadamente, 20,000 dimensiones. Una combinación de estos dos atributos daría como resultado 200,000,000 dimensiones. Muchas de esas 200,000,000 dimensiones representan áreas con una residencia tan limitada (p. ej., el medio del océano) que resultaría difícil usar esos datos para hacer generalizaciones eficaces. Sería poco inteligente pagar el costo de RAM para almacenar esas dimensiones innecesarias. Por lo tanto, sería bueno intentar llevar las ponderaciones de las dimensiones sin relevancia exactamente a 0. Esto nos permitiría evitar pagar el costo del almacenamiento de esos coeficientes del modelo durante la interferencia.

Es posible que podamos codificar esta idea en el problema de optimización realizado durante el entrenamiento, agregando un término de regularización seleccionado de forma adecuada.

¿La regularización L2 puede completar esta tarea? Lamentablemente, no. La regularización L2 ayuda a reducir el tamaño de las ponderaciones, pero no las lleva a exactamente 0.0.

Alternativamente, se podría crear un término de regularización que penalice el conteo de valores de coeficiente que no sean cero en un modelo. El aumento de este conteo solo quedaría justificado si el modelo tuviera la capacidad de ajustar los datos. Lamentablemente, si bien este enfoque basado en el conteo es intuitivamente atractivo, convertiría nuestro problema de optimización convexa en un problema de optimización no convexa, NP complejo. (Si miras de cerca, podrás ver una conexión con el problema de la mochila). Por lo tanto, esta idea, conocida como regularización L0, no resulta útil en la práctica.

No obstante, existe un término de regularización denominado regularización L1 que sirve como una aproximación a L0, pero tiene la ventaja de ser convexa y, por lo tanto, eficiente para su procesamiento. Entonces, podemos usar la regularización L1 para llevar los coeficientes sin información útil en nuestro modelo a exactamente 0 y, por lo tanto, ahorrar RAM durante la interferencia.

Diferencias entre regularizaciones L1 y L2

L2 y L1 penalizan las ponderaciones de diferente modo:

  • L2 penaliza ponderación2.
  • L1 penaliza |ponderación|.

En consecuencia, L2 y L1 tienen diferentes derivadas:

  • La derivada de L2 es 2 * ponderación.
  • La derivada de L1 es k (una constante cuyo valor es independiente de la ponderación).

Puedes pensar en la derivada de L2 como una fuerza que quita x% de la ponderación todo el tiempo. Como ya lo sabía Zenón, incluso si quitas un porcentaje x de un número miles de millones de veces, dicho número no alcanzará nunca cero. (Zenón no estaba familiarizado con las limitaciones en la precisión del punto flotante, que podría producir exactamente cero). En cualquier caso, L2 normalmente no lleva las ponderaciones a cero.

Se puede pensar en la derivada de L1 como una fuerza que elimina algunos valores constantes de las ponderaciones todo el tiempo. Sin embargo, gracias a los valores absolutos, L1 tiene una discontinuidad en 0, que hace que las eliminaciones que superen 0 queden en ese valor. Por ejemplo, si la eliminación fuerza una ponderación de +0.1 a -0.2, L1 establece la ponderación en exactamente 0. ¡Eureka! L1 llevó la ponderación a cero.

La regularización L1, al penalizar el valor absoluto de todas las ponderaciones, es muy eficiente para los modelos amplios.

Ten en cuenta que esta descripción es válida para un modelo de una sola dimensión.

Haz clic en el botón para reproducir (play_arrow) que se encuentra a continuación a fin de comparar el efecto de la regularización L1 y L2 en una red de ponderaciones.

Enviar comentarios sobre…

Curso intensivo de aprendizaje automático