image

Accede a bootcamps ilimitados y a más de 650 cursos

50
%OFF
Article image

RF

Rodrigo Ferreira01/10/2025 13:30
Compartir

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:

  1. 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.
  2. Influence Based Defense Against DAta Poisoning Attacks in Onnline Learning - Sanjay Seetharama TCS PUNE India
  3. Performance Evaluationn using Online Machine Learning Packages for Streaming Data - Santosh Kumar Ray Department of Infomation Technology Dlhi Technological University
  4. 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
  5. Mining High-Speed Data Streams - Pedro Domingos Dept. of Computer Science & Engineering University of Washington
Compartir
Recomendado para ti
Suzano - Python Developer #2
Suzano - Python Developer
BairesDev - Machine Learning Practitioner
Comentarios (1)
DIO Community
DIO Community - 01/10/2025 14:07

Excelente, Rodrigo! Que artigo incrível e super completo sobre Online Machine Learning (OML)! É fascinante ver como você aborda o tema, mostrando que o OML é a resposta para o desafio da urgência e da desatualização dos dados em cenários críticos. Sua pesquisa, que é base para seu mestrado, desmistifica o aprendizado incremental (incremental learning) como um paradigma de ML onde os dados são processados em um fluxo contínuo (data stream), o que é crucial para veículos autônomos e dispositivos de saúde vestíveis.

Você demonstrou que o OML permite que o modelo aprenda continuamente (eliminando a necessidade de retreinar do zero), se adapte a dados dinâmicos (concept drift) e seja eficiente em recursos (sem precisar armazenar todo o dataset na memória). Sua análise de que o OML é essencial para sistemas de data stream de tamanho infinito é um insight valioso para a comunidade.

Qual você diria que é o maior desafio para um desenvolvedor ao treinar um modelo de Machine Learning (seja batch ou online), em termos de balancear a eficiência do algoritmo com a precisão do resultado, em vez de apenas focar em fazer o software funcionar?