Um artigo "Computando com precisão a variação de execução" em http://www.johndcook.com/standard_deviation.html mostra como calcular a média de execução, a variação e os desvios padrão.
Existem algoritmos nos quais os parâmetros de um modelo de regressão linear ou logística podem ser similarmente "atualizados dinamicamente" à medida que cada novo registro de treinamento é fornecido?
Respostas:
Os coeficientes de regressão linear dey= a x + b é a = c o v ( x , y) / v a r ( x ) e b = m e a n ( y) - um ⋅ m um e um n ( x ) .
Então, tudo que você realmente precisa é de um método incremental para calcularc o v ( x , y) . A partir desse valor e da variação de x e a média de y e x é possível calcular os parâmetros a e b . Como você verá no pseudo-código fornecido abaixo, o cálculo incremental de cov(x,y) é muito semelhante ao cálculo incremental de var(x) . Isso não deveria ser uma surpresa, porque var(x)=cov(x,x) .
Aqui está o pseudo-código que você provavelmente está procurando:
Eu encontrei essa pergunta ao procurar um algoritmo equivalente calculando incrementalmente uma regressão multi-variável comoR=(X′X)−1X′Y modo que XR=Y+ϵ
fonte
Para seus dois exemplos específicos:
Regressão linear O artigo "Regressão linear on-line e sua aplicação ao aprendizado por reforço baseado em modelo" de Alexander Strehl e Michael Littman descreve um algoritmo chamado "Regressão linear KWIK" (consulte o algoritmo 1) que fornece uma aproximação à solução de regressão linear usando atualizações incrementais . Observe que isso não é regularizado (ou seja, não é regressão de cume). Tenho certeza de que o método de Strehl & Littman não pode se estender a essa configuração.
Regressão logística
Este tópico lança alguma luz sobre o assunto. Citação:
No entanto, existem outros métodos on-line (ou incrementais) de regressão que você pode querer examinar, por exemplo, Regressão de projeção ponderada localmente (LWPR)
fonte
Como princípio geral:
0) você mantém estatísticas suficientes e as estimativas atuais de ML
1) ao obter novos dados, atualize as estatísticas e as estimativas suficientes
2) Quando você não possui estatísticas suficientes, precisará usar todos os dados.
3) Normalmente você não tem soluções em formato fechado; use os MLEs anteriores como ponto de partida, use algum método conveniente de otimização para encontrar o novo ideal a partir daí. Pode ser necessário experimentar um pouco para descobrir quais abordagens fazem as melhores compensações para seus tipos específicos de instâncias de problemas.
Se o seu problema tiver uma estrutura especial, você provavelmente poderá explorá-lo.
Algumas referências em potencial que podem ou não ter algum valor:
McMahan, HB e M. Streeter (2012),
Problema em aberto: limites melhores para a regressão logística on-line ,
JMLR: Procedimentos de oficinas e conferências , vol 23, 44.1–44.3
Penny, WD e SJ Roberts (1999),
Regressão Logística Dinâmica ,
Procedimentos IJCNN '99
fonte
Adicionando à resposta do tdc, não há métodos conhecidos para calcular estimativas exatas dos coeficientes a qualquer momento, apenas com tempo constante por iteração. No entanto, existem algumas alternativas razoáveis e interessantes.
O primeiro modelo a ser observado é a configuração de aprendizado on - line . Nesse cenário, o mundo anuncia primeiro um valor de x, seu algoritmo prediz um valor para y, o mundo anuncia o valor verdadeiro y 'e seu algoritmo sofre uma perda l (y, y'). Para esta configuração, sabe-se que algoritmos simples (descida de gradiente e gradiente exponenciado, entre outros) atingem arrependimento sublinear. Isso significa que, conforme você vê mais exemplos, o número de erros extras cometidos por seu algoritmo (quando comparado ao melhor preditor linear possível) não aumenta com o número de exemplos. Isso funciona mesmo em ambientes contraditórios. Existe um bom artigo explicando uma estratégia popular para provar esses limites do arrependimento. As anotações de Shai Shalev-Schwartz também são úteis.
Há uma extensão da configuração de aprendizado on-line chamada configuração de bandido, na qual seu algoritmo recebe apenas um número que representa o quão errado ele estava (e nenhum ponteiro para a resposta correta). De maneira impressionante, muitos resultados do aprendizado on-line são transferidos para essa configuração, exceto aqui um é forçado a explorar e a explorar, o que leva a todos os tipos de desafios interessantes.
fonte
Outras respostas apontaram para o mundo do aprendizado de máquina, e esse é certamente um lugar onde esse problema foi abordado.
No entanto, outra abordagem que pode ser mais adequada às suas necessidades é o uso da fatoração QR com atualizações de baixa classificação. As abordagens para fazer isso e usá-lo para resolver problemas de mínimos quadrados são fornecidas em:
Atualizando a fatoração QR e o problema dos mínimos quadrados de Hammerling e Lucas.
fonte
fonte
Isso é para adicionar à resposta @chmike.
O método parece ser semelhante ao algoritmo on-line da BP Welford para desvio padrão, que também calcula a média. John Cook dá uma boa explicação aqui . Tony Finch em 2009 fornece um método para uma média móvel exponencial e desvio padrão:
Examinando a resposta postada anteriormente e expandindo-a para incluir uma janela móvel exponencial:
No "código" acima, o alfa desejado pode ser definido como 0 e, nesse caso, o código funcionaria sem ponderação exponencial. Pode-se sugerir definir o alfa desejado como 1 / o tamanho desejado da janela, conforme sugerido por Modified_moving_average para um tamanho de janela em movimento.
Pergunta secundária: dos cálculos alternativos acima, algum comentário sobre o que é melhor do ponto de vista de precisão?
Referências:
chmike (2013) https://stats.stackexchange.com/a/79845/70282
Cook, John (nd) Computando com precisão a variação de execução http://www.johndcook.com/blog/standard_deviation/
Finch, Tony. (2009) Cálculo incremental da média ponderada e variância. https://fanf2.user.srcf.net/hermes/doc/antiforgery/stats.pdf
Wikipedia. (nd) Algoritmo on-line de Welford https://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Online_algorithm
fonte