otimização

Jacques Wainer

1/4/21

Otimização

f(w) é uma função que recebe um vetor w e devolve um escalar (número).

se f(w) é:

então vc quer minimizar f

se f(w) é:

voce quer maximizar f

Minimizar e maximizar

minimizar : Obtenha w_0 tal que f(w_0) \le f(w) para w \in A

maximizar : Obtenha w_0 tal que f(w_0) \ge f(w) para w \in A

A é a restrição nos valores de w

A pode não ser restrição alguma. Se w tem n dimensões, A = R^n - problemas sem restrições

mínimo global: w_0 tal que f(w_0) \le f(w) para w \in A

mínimo local: w_0 tal que f(w_0) \le f(w) para |w_0 - w| < \epsilon para algum \epsilon >0.

Um video sobre mínimos, máximos e outros pontos críticos

Notação

arg \min_{w \in A} f(w)

ache w que minimize f(w)

subject to w \in A

Otimização linear

Otimização linear

ou programação linear

f(w) = \alpha_1 w_1 + \alpha_2 w_2 + ... + \alpha_n w_n

ou

f(w) = \alpha^T w

para

w \in A

Restrições convexas

x,y \in A então \theta x + (1-\theta) y \in A

conjunto convexo

Restrições lineares

\beta_1^T w + c_1 \le 0

\beta_2^T w +c_2\le 0

\beta_3^T w +c_3\le 0

Solução esta nos vértices do politopo (politopo é a extensão multidimensional de um poliedro - que é a extensão 3D de uma figura geometrica 2D)

Otimização convexa

Otimização convexa

minimizar: convexa

maximizar: côncava

função f() é convexa se:

f(\theta w + (1-\theta) v) \le \theta f(w) + (1-\theta) f(v)

função convexa

Solução única

se f() é convexo e A é convexo então só existe um mínimo local e ele é o mínimo global!

Não vale se A não é convexo.

Famílias de algoritmos para problemas convexos sem restrições

para a solução de problemas convexos sem restrições

Problemas com restrição

vamos converter problemas com restrições para um outro problema (com mais variáveis) sem restrições.

Problemas não convexos

Problemas não convexos

Tipos de solução para problemas não convexos

Solução analitica de problemas convexos

Solução analítica

\frac{\partial f}{\partial w_i} = 0 \quad e \quad \frac{\partial^2 f}{\partial w_i^2} > 0

Se voce sabe que f é convexa, então a segunda parte não é importante, o único ponto com derivadas 0 é o mínimo global.

É difícil dizer se uma função é convexa ou não só olhando para a formula.

Regressão linear de 1 variável

Dado N x_i, um dado, e y_i, a saída associada a x_i

Encontre \alpha e \beta tal que

y = \alpha x + \beta

quando aplicada a cada x_i e y_i tenha o menor erro possível.

Erro

\hat{y}_i é o valor predito pela equação quando x = x_i e y_i é o valor correto.

Minimização

\alpha

etc

beta

Equacões lineares simultaneas

Veja que \sum x_i, \sum x_i y_i, \sum y_i e \sum x^2_i são constantes. E \frac{\sum x_i}{N} é na verdade a média dos x_i.

No final haverá 2 equações e duas incógnitas. A solução é:

\alpha = \frac{N \sum x_i y_i - \sum x_i \sum y_i}{N \sum x^2_ i - (\sum x_i)^2}

\beta = \frac{\sum y_i}{N}-\alpha \frac{\sum x_i}{N}

Regressão linear de multiplas variáveis

É possível fazer as derivações das derivadas para mais de uma dimensão dos dados, mas ai a notação matricial é util. Eu acho que o texto abaixo faz isso. So para voce ver alguma vez derivações algébricas usando matrizes e vetores. texto em ingles

SVD como um problema de otimização

Eu mencionei em aula que o SVD truncado (nos primeiros k valores singulares) é a solução de otimização de reduzir a dimensionalidade de uma matrix de m colunas para k colunas. Isso é chamado do teorema de Eckart-Young

Voce pode ver a demonstração disso e principalmente a formulação do problema de otimização nessa pagina da wikipedia. Vale a pena passar algum tempo entendendo a formulação (nao necessariamente a demonstração).