Algoritmo de mínimos quadrados regularizado recursivo (online)


12

Alguém pode me apontar na direção de um algoritmo online (recursivo) para a regularização de Tikhonov (mínimos quadrados regularizados)?

Em uma configuração offline, eu calcularia β^=(XTX+λI)−1XTY usando meu conjunto de dados original, onde λ é encontrado usando a validação cruzada n vezes. Um novo valor de y pode ser previsto para um determinado x usando y=xTβ^ .

Em uma configuração on-line, continuamente desenho novos pontos de dados. Como posso atualizar quando desenho novas amostras de dados adicionais sem fazer um recálculo completo de todo o conjunto de dados (original + novo)?β^


1
Seus mínimos quadrados regularizados por Tikhonov são talvez mais comumente chamados Levenberg-Marquardt nos círculos estatísticos, mesmo quando aplicados a problemas lineares puros (como aqui). Há um artigo sobre o Levenberg Marquardt online aqui . Não sei se isso ajuda.
— Glen_b -Reinstala Monica

Respostas:


11

β^n=(XXT+λI)−1∑i=0n−1xiyi

Seja , entãoMn−1=(XXT+λI)−1

β^n+1=Mn+1−1(∑i=0n−1xiyi+xnyn) e

Mn+1−Mn=xnxnT , podemos obter

β^n+1=β^n+Mn+1−1xn(yn−xnTβ^n)

De acordo com a fórmula de Woodbury , temos

Mn+1−1=Mn−1−Mn−1xnxnTMn−1(1+xnTMn−1xn)

Como um resultado,

β^n+1=β^n+Mn−11+xnTMn−1xnxn(yn−xnTβ^n)

A média da Polyak indica que você pode usar para aproximar com intervalos de de para . Você pode tentar, no seu caso, selecionar o melhor para sua recursão.M - 1 nηn=n−α α0,51αMn−11+xnTMn−1xnα0.51α


Eu acho que também funciona se você aplicar um algoritmo de gradiente em lote:

β^n+1=β^n+ηnn∑i=0n−1xi(yi−xiTβ^n)


E se eu atualizar meu regressor sempre com amostras de lotes de novos dados, onde cada lote sucessivo é extraído de uma distribuição ligeiramente diferente? ou seja, não IID. Nesse caso, eu gostaria que o regressor levasse em conta os novos dados, mas não afetasse suas previsões na localidade dos dados antigos (lotes anteriores)? Você pode me indicar alguma literatura que possa parecer útil?
— Rnoodle

Boa pergunta, mas desculpe atualmente, não posso dizer o quanto isso afetaria seu modelo se você ainda estivesse usando a fórmula de gradiente de lote na resposta ou aproximando aplicando o formulário da matriz diretamente: eta ^ (- alpha) * X (Y-X 'beta_n) onde X, Y são suas novas amostras de lote
— lennon310 15/01

oi, parece que o coeficiente de regularização não está envolvido na fórmula de atualização recursiva? ou isso importa apenas na inicialização da inversa da matriz M?
— Peng Zhao

4

Um ponto que ninguém abordou até agora é que geralmente não faz sentido manter o parâmetro de regularização constante à medida que os pontos de dados são adicionados. A razão para isso é que normalmente cresce linearmente com o número de pontos de dados, enquanto o termo de regularização não. λ‖Xβ−y‖2‖λβ‖2


Esse é um ponto interessante. Mas exatamente por que "não faz sentido"? Manter constante certamente é matematicamente válido; portanto, "não faz sentido" deve ser entendido em algum tipo de contexto estatístico. Mas que contexto? O que deu errado? Haveria algum tipo de solução fácil, como substituir as somas de quadrados por quadrados médios? λ
— whuber

Substituir a soma dos quadrados por uma versão em escala (por exemplo, o erro médio quadrático) faria sentido, mas o simples uso de mínimos quadrados recursivos não fará isso.
— Brian Borchers

λ

λnλλN/nN

3

β^


Desde então, percebi que o SGD (talvez minibatch) é o caminho a seguir para problemas on-line como este, ou seja, atualizar aproximações de funções.
— Rnoodle


0

XTXXTyXTX/nXTy/n

Xy

X=(x1T⋮xnT),y=(y1⋮yn),

XTX/nXTy/nt

At=(1−1t)At−1+1txtxtT,

bt=(1−1t)bt−1+1txtyt.

β

β^t=(At+λI)−1bt.

λ

Este procedimento é como https://github.com/joshday/OnlineStats.jl calcula estimativas on-line de regressão linear / de crista.

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.