Programação quadrática e laço


11

Estou tentando executar uma regressão de laço, que tem a seguinte forma:

Minimizar em( Y - X w ) ′ ( Y - X w ) + λw(Y−Xw)′(Y−Xw)+λ|w|1

Dado a , fui aconselhado a encontrar o ideal com a ajuda da programação quadrática, que assume a seguinte forma:wλw

Minimize em , sujeito a1xAx≤b.12x′Qx+c′xAx≤b.

Agora percebo que o termo deve ser transformado no termo de restrição , que é bastante direto. No entanto, de alguma forma, simplesmente não vejo como eu poderia transferir o primeiro termo da primeira equação para o primeiro termo da segunda. Como não consegui encontrar muita coisa na rede, resolvi perguntar aqui.A x ≤ bλAx≤b

Respostas:


10

Tendo em mente que estamos trabalhando com como a variável ' ' no formulário padrão, expanda e colete termos em e e , e constantes.x ( Y - X w ) ′ ( Y - X w ) w ′wx(Y−Xw)′(Y−Xw)w ′ ww′[something]ww′w

Explique por que você pode ignorar as constantes.

Explique por que você pode combinar a e termos. ww′w


Como BananaCode tem até agora descobri com algum líder ao longo do caminho, você pode escrever e ou mais simplesmente, você poderia simplesmente escrever e (já que e têm o mesmo argumento para qualquer ).c = - 2 X ′ Y Q = X ′ X c = - X ′ Y f ( x ) k f ( x ) k > 0Q=2X′Xc=−2X′Y Q=X′Xc=−X′Yf(x)kf(x)k>0


As constantes podem ser ignoradas, porque se x_ é o mínimo para f (x), então x_ + c é o mínimo de f (x) + c, portanto, podemos ignorar a constante c. Vou editar minha pergunta para mostrar onde fiquei preso.
— Spurra # 12/14

BananaCode sua explicação tem várias falhas. Se por "é o mínimo para " você quer dizer "é o argumento no qual é minimizado", você diz algo como " é o de ". Mas a sua conclusão está errada. Se você adicionar a , não adicionará ao argmin. f ( x ) x ∗ argmin ff(x)f(x)x∗argminff ccfc
— Glen_b -Reinstala Monica

Veja onde eu escrevi na minha resposta? Qual é a coisa que você tem agora entre a e o na parte inferior da sua pergunta ?? w′[something]w ww′w
— Glen_b -Reinstala Monica

Sim, eu quis dizer é o de . Você poderia dar um exemplo em que minha conclusão está errada? O é a matriz que estou tentando formar. Se eu expandir , recebo . A primeira parte representaria a forma da matriz , no entanto, não consigo me livrar do segundo termo . a r g m i n f [ s o m e tx∗argminfQ W ' ( X ' X W - X ' Y ) w ' X ' X w - w ' X ' Y Q - w ' X ′ Y[something]Qw′(X′Xw−X′Y)w′X′Xw−w′X′YQ−w′X′Y
— Spurra # 12/14

1
@ AD.Net As restrições são abordadas principalmente na outra resposta.
— Glen_b -Reinstala Monica

11

Eu queria adicionar como resolver transformando as restrições uma forma utilizável para programação quadrática, pois não é tão direta quanto eu pensava. Não é possível encontrar uma matriz real A tal que A w ≤ s ↔ ∑ | w i | ≤ s .∑|wi|≤sAAw≤s↔∑|wi|≤s

A abordagem que usei foi dividir os elementos do vetor em e , de modo que . Se , você tem e , caso contrário, você teme . Ou, em termos mais matemáticos, eAmbos e são números não negativos. A idéia por trás da divisão dos números é que agora você tem w w +wiw w - i wi=w + i -w - i wi≥0w + i =wiw - i =0w - i =| wi| w + i =0w + i =| wi| +wiwi+wi−wi=wi+−wi−wi≥0wi+=wiwi−=0wi−=|wi|wi+=0 w - i =| wi| -wiwi+=|wi|+wi2w - i w + i | wi| =w + i +w - iwi−=|wi|−wi2.wi−wi+|wi|=wi++wi−, eliminando efetivamente os valores absolutos.

A função para otimizar se transforma em: , assunto para w +12(w+−w−)TQ(w+−w−)+cT(w+−w−)wi++wi−≤s,wi+,wi−≥0

Onde e são dados como indicado acima por Glen_bcQc

Isso precisa ser transformado em uma forma utilizável, ou seja, precisamos de um vetor. Isso é feito da seguinte maneira:

12[w+w−]T[Q−Q−QQ][w+w−]+[cT−cT][w+w−]

sujeito a

[IDID−I2D][w+w−]≤[sD02D]

Onde é o matriz unidade -dimensional, um -dimensional vector contendo apenas o valor de e um -dimensional vector zero. A primeira metade garante , o segundo Agora está em uma forma utilizável usar a programação quadrática para procurar e , dados . Feito isso, seu parâmetro ideal em relação a é . D s D D s 0 D 2 * D | w i | = w + i + w - i ≤ s w + i , w - i ≥ 0 w + w - s s w = w + - w -IDDsDDs0D2∗D|wi|=wi++wi−≤swi+,wi−≥0w+w−ssw=w+−w−

Fonte e leituras adicionais: Solucionando problemas de programação quadrática com restrições lineares contendo valores absolutos


Suponha que encontramos um vetor ideal . O que garante que e são na verdade as partes positivas e negativas de algum vetor , ou seja, suas posições de entrada coincidem? ( p + , p - ) p + p - p 02D(w+,w−)w+w−w0
— Myath 23/07/19

Matriz e vetor na expressão final podem ser mais simples e, na verdade, mais corretos. Em vez de [Id Id] [w + w−] '≤ Sd, você pode colocar simplesmente [1 1 .... 1] [w + w-]' ≤ s. Isso é literalmente equivalente a ∑ | wi | = ∑ (wi + + wi−) ≤ s.
— Marko
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.