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)?β^

rnoodle
fonte
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)1i=0n1xiyi

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

β^n+1=Mn+11(i=0n1xiyi+xnyn) e

Mn+1Mn=xnxnT , podemos obter

β^n+1=β^n+Mn+11xn(ynxnTβ^n)

De acordo com a fórmula de Woodbury , temos

Mn+11=Mn1Mn1xnxnTMn1(1+xnTMn1xn)

Como um resultado,

β^n+1=β^n+Mn11+xnTMn1xnxn(ynxnTβ^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αMn11+xnTMn1xnα0.51α


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

β^n+1=β^n+ηnni=0n1xi(yixiTβ^n)

lennon310
fonte
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βy2λβ2

Brian Borchers
fonte
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

β^

Max S.
fonte
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
1

Xλ

Matteo Fasiolo
fonte
0

XTXXTyXTX/nXTy/n

Xy

X=(x1TxnT),y=(y1yn),

XTX/nXTy/nt

At=(11t)At1+1txtxtT,

bt=(11t)bt1+1txtyt.

β

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

λ

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

joshday
fonte