Aprendizagem online vs offline?

38

Qual é a diferença entre aprendizado offline e online ? É apenas uma questão de aprender sobre todo o conjunto de dados (offline) versus aprender de forma incremental (uma instância de cada vez)? Quais são os exemplos de algoritmos usados ​​em ambos?

grifo
fonte

Respostas:

26

O aprendizado on-line significa que você está fazendo isso à medida que os dados chegam. Off-line significa que você tem um conjunto de dados estático.

Portanto, para o aprendizado on-line, você (normalmente) possui mais dados, mas possui restrições de tempo. Outra ruga que pode afetar o aprendizado on-line é que seus conceitos podem mudar com o tempo.

Digamos que você queira criar um classificador para reconhecer spam. Você pode adquirir um grande conjunto de emails, rotulá-lo e treinar um classificador nele. Isso seria aprendizado offline. Ou então, você pode receber todos os emails que entram no seu sistema e atualizar continuamente o seu classificador (os rótulos podem ser um pouco complicados). Isso seria aprendizado online.

user549
fonte
7
Sim, e um leve esclarecimento é que os algoritmos de aprendizado on-line, pelo menos como estudado no Machine Learning, pressupõem que sua capacidade de armazenar exemplos é muito limitada em comparação ao tamanho do conjunto de dados. No caso mais limitador, você só vê um exemplo de cada vez e precisa esquecê-lo depois de usá-lo para atualizar seu classificador.
Harlan
8

O termo "online" está sobrecarregado e, portanto, causa confusão no domínio do aprendizado de máquina.

O oposto de "online" é o aprendizado em lote. No aprendizado em lote, o algoritmo de aprendizado atualiza seus parâmetros após consumir todo o lote, enquanto no aprendizado on-line, o algoritmo atualiza seus parâmetros após o aprendizado de 1 instância de treinamento. O mini aprendizado em lote é o ponto intermediário entre o aprendizado em lote de um lado e o aprendizado on-line do outro extremo.

Além disso, "quando" os dados chegam, ou se são capazes de serem armazenados ou não, é ortogonal ao aprendizado on-line ou em lote.

O aprendizado on-line é considerado mais lento para convergir para um mínimo, quando comparado ao aprendizado em lote. No entanto, nos casos em que o conjunto de dados inteiro não cabe na memória, usar o aprendizado on-line é uma troca aceitável.

shark8me
fonte
Eu não acho que isso seja verdade. O que você descreve é ​​a descida estocástica do gradiente do algoritmo de otimização (ou online) que pode ser usada para configurações de problemas online ou offline.
9116 danijar
Eu acredito que o "conforme os dados chegam" se refere a algoritmos online e offline en.wikipedia.org/wiki/Online_algorithm Eu sinto que os OPs definidos para o aprendizado on-line fazem claramente essa distinção. Algos online -> processa à medida que os dados chegam. Aprendizado online -> atualiza o modelo subjacente progressivamente durante o treinamento.
precisa saber é o seguinte
4

Aprendizado on-line (também chamado aprendizado incremental ): consideramos uma única apresentação dos exemplos. Nesse caso, cada exemplo é usado seqüencialmente da maneira prescrita pelo algoritmo de aprendizado e depois jogado fora. As alterações de peso feitas em um determinado estágio dependem especificamente apenas do exemplo (atual) apresentado e, possivelmente, do estado atual do modelo. É o procedimento natural para regras variadas no tempo em que os exemplos podem não estar disponíveis de uma vez.

Aprendizado offline : as alterações de peso dependem de todo o conjunto de dados (treinamento), definindo uma função de custo global. Os exemplos são usados ​​repetidamente até que a minimização dessa função de custo seja alcançada.

FrankyBravo
fonte