Online Machine Learning
- #Machine Learning
- #Python
Atualmente o Machine Learning (ML) se tornou uma ferramenta fundamental para tornar a experiência do usuário algo muito mais satisfatório e intuitivo para o mesmo! Contudo, por mais que os dados dos usuários sejam atualizados de forma muito rápida, muitas vezes essa base de dados pode ser relativamente ''desatualizada'' para certos tipos de urgência com relação a dados de segurança e dados médicos por exemplo. Então, temos uma desafio a ser trabalhado, como podemos fazer esses dados do modelo serem melhorados constantemente sem a necessidade de trabalhar com uma base de dados pré-estabelecida? Bom, a nossa resposta é o Online Machine Learning!
O Online Machine Learning (OML) é também conhecido como aprendizagem incremental ou sequancial! O OML é uma paradigma de ML onde os dados são fornecidos em um fluxo contínuo e, assim que são fornecidos, são processados sequencialmente amostra por amostra. Em vez de treinar um modelo em um conjunto de dados fixo e completo de uma só vez, os modelos de OML são atualizados incrementalmente à medida que novos dados chegam. Esta abordagem é fundamentalmente diferente da aprendizagem tradicional em lote (batch), que pressupõe que todo o conjunto de dados está disponível para treinamento antes do início do processo. O OML é projetado para cenários de dados dinâmicos onde os dados fornecidos são disponibilizados em tempo real, basicamente como uma stream de dados, DATA STREAM, ou seja quando o fluxo de dados é de tamannho infinito.
Dividindo em alguns pontos podemos resumir um pouco como que funciona esse processo de OML:
1. Online Machine Learning: O modelo aprende continuamente a partir de um fluxo de dados, atualizando seus parâmetros a cada nova amostra recebida. Isso elimina a necessidade de treinar novamente o modelo do zero quando novos dados se tornam disponíveis.
2. Adaptabilidade a Dados Dinâmicos: O OML é especialmente adequado para ambientes onde as distribuições de dados não são estacionárias e mudam ao longo do tempo (um fenômeno conhecido como concept drift ou deriva de conceito). Aplicações como veículos autônomos, que precisam se adaptar a padrões de tráfego e condições climáticas em constante mudança, ou dispositivos de saúde vestíveis, que monitoram variações na atividade do usuário, destacam a necessidade dessa flexibilidade.
3. Processamento Sequencial: Os dados são processados uma amostra de cada vez, e as amostras antigas podem ser descartadas após o uso. Isso resolve os problemas de memória e tempo de processamento associados a grandes conjuntos de dados estáticos. O modelo é atualizado iterativamente com base em cada nova instância de dados que chega. Porém, tem que se toamr cuidado com um perda generalizada de dados, onde os dados antigos são completamente excluidos e não há a possibilidade de acessar uma informação que já foi processada anteriormente, no processo de OML é sempre bom ter um backup dos dados processados pelo modelo, como um print imediato após o processamento do dado mais recente que foi analisado.
4. Eficiência de Recursos: Como o OML não requer o armazenamento de todo o conjunto de dados na memória, ele é eficiente em termos de recursos. A aprendizagem ocorre em tempo constante por exemplo processado, tornando-a adequada para minerar fluxos de dados de alta velocidade com hardware convencional.
Bom pessoal, esse artigo é um pouco sobre a minha pesquisa de mestrado! Espero que possam ter gostado e gerado interesse a todos que lerem este pequeno artigo!
Referências:
- Adapting Federated Learning to Dynamic and Non-Stationary Data: An Online Learning Approach -Jaemin Kim Donghyeon Hur Dept. of Computer Science and Engineering Dept. of Computer Science and Engineering.
- Influence Based Defense Against DAta Poisoning Attacks in Onnline Learning - Sanjay Seetharama TCS PUNE India
- Performance Evaluationn using Online Machine Learning Packages for Streaming Data - Santosh Kumar Ray Department of Infomation Technology Dlhi Technological University
- Adapting Federated Learning to Dynamic and Non-Stationary Data: An Online Learning Approach - Jaemin Kim Donghyeon Hur Dept. of Computer Science and Engineering Dept. of Computer Science and Engineering
- Mining High-Speed Data Streams - Pedro Domingos Dept. of Computer Science & Engineering University of Washington