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(YXw)(YXw)+λ|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 a1xAxb.12xQx+cxAxb.

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λAxb

spurra
fonte

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(YXw)(YXw)w ww[something]www

Explique por que você pode ignorar as constantes.

Explique por que você pode combinar a e termos. www


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=2XXc=2XY Q=XXc=XYf(x)kf(x)k>0

Glen_b -Reinstate Monica
fonte
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)xargminff 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 www
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 txargminfQ W ' ( X ' X W - X ' Y ) w ' X ' X w - w ' X ' Y Q - w ' X Y[something]Qw(XXwXY)wXXwwXYQwXY
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|sAAws|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 wi0w + i =wiw - i =0w - i =| wi| w + i =0w + i =| wi| +wiwi+wiwi=wi+wiwi0wi+=wiwi=0wi=|wi|wi+=0 w - i =| wi| -wiwi+=|wi|+wi2w - i w + i | wi| =w + i +w - iwi=|wi|wi2.wiwi+|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++wis,wi+,wi0

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[QQQQ][w+w]+[cTcT][w+w]

sujeito a

[IDIDI2D][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 - is w + i , w - i0 w + w - s s w = w + - w -IDDsDDs0D2D|wi|=wi++wiswi+,wi0w+wssw=w+w

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

spurra
fonte
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+ww0
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