otimização com restrições

Jacques Wainer

16/4/20

Geral

ache \(w\) que minimiza \(f(w)\) desde que \(w \in R\)

\(w \in R\) é a restrição

Para problemas onde \(f\) é convexo e \(R\) é convexo, só há um mínimo.

Diferentes restrições

Usa-se diferentes nomes para diferentes formatos da restrição

imagem1 - inequality

imagem 2 - múltiplos \(g\)

Algoritmo de Projected Gradient

A ideia do algoritmo de projected gradient é na linha do GD de passo grande.

Multiplicadores de Lagrange

Vamos assumir que só há uma restrição por igualdade.

A ideia dos multiplicadores de Lagrange é acrescentar mais uma variável e modificar a função a ser minimizada.

O problema passa a ser:

Se houver mais restrições de igualdade, por exemplo \(g(w) = 0\) e \(h(w)=0\) então a lagrangeana terá 2 multiplicadores

O ideia vale também para inequality constraints, mas a explicação é mais complexa (Karush–Kuhn–Tucker (KKT) conditions).

Há um problema que na verdade, os pontos críticos (onde o gradiente é zero mas não necessariamente o mínimo) da Lagrangeana é que são as soluções do problema original. Por outro lado não há algoritmos para achar pontos críticos, apenas mínimos - não sei como essas 2 idéias se resolvem.

Minimização de duas funções

Suponha que você quer minimizar 2 funções \(f(w)\) e \(g(w)\) simultaneamente.

A solução é combinar as 2 funções em apenas 1

ache \(w\) que minimiza \(f(w) + \lambda g(w)\)

Regularização

O problema central em aprendizado de maquina é minimizar o erro de previsão \(\sum_k erro(y_k - g(x_k, w))\) (onde o erro pode ser quadratico,modulo ou outra medida de erro.

Mas também há boas razoes para minimizar os \(w\) também. Ou seja, quer-se duas minimizações

Há duas formas mais comuns para minimizar os \(w\).Se \(w_i\) é a componente \(i\) do vetor \(w\)

L2 minimiza a soma dos quadrados do \(w\), enquanto que L1 minimiza a soma dos módulos.

Juntando as duas minimizações.

\(\lambda\) grande da mais peso para a regularização, enquanto que \(\lambda\) pequeno da mais peso para a minimização do erro de previsão

Regularização L1

A regularização L1 tende a zerar alguns dos componentes de \(w\) e portanto ela e útil se você acha que tem variável de mais - a regularização L1 via tentar zerar o máximo delas que a minimização permite.

L1 força a esparsidade do vetor \(w\) (muitos/alguns componentes são 0).

este link tem uma boa explicação porque a regularização L1 prefere zerar algumas variáveis.

Regularização vs Erro

Regularização é a tentativa de diminuir os valores de \(w\).

Mas podemos usar as fórmulas da regularização para o erro também:

Para o erro, L1 é mais insensível a outliers. Ha várias paginas na internet que discutem erro L1 vs erro L2.