Passos para criação de um projeto de aprendizagem de máquina

Por Celso Poderoso | 05 de Dezembro de 2014 às 18h43

Vou fazer uma pausa nos artigos sobre Gestão de Projetos de Big Data para falar um pouco sobre Aprendizagem de Máquina e sua relação com Big Data. Com isso pretendo mesclar conteúdos mais gerenciais com algumas situações mais práticas deste assunto.

Participei em setembro de 2014 de uma conferência sobre Big Data nos Estados Unidos. Tive o prazer de conhecer o prof. Sunil Sabat, especialista em Machine Learning e Big Data. Ele possui um blog cuja leitura é recomendada pelos que se interessam no assunto: http://bigdataknowhow.weebly.com/.

A Aprendizagem de Máquina (Machine Learning) é uma área da computação e da estatística que lida com a construção de sistemas que são capazes de aprender com os dados e eventualmente até com suas próprias decisões. Este tipo de sistema é capaz de tomar decisões baseadas nos dados disponíveis e as decisões tomadas pelo sistema podem realimentar a base de dados. Desta forma o sistema não segue apenas a lógica imposta pelo desenvolvedor e sim se ajusta sem a intervenção humana.

Você pode imaginar que este assunto é novo, mas na realidade esta definição existe desde o final da década de 1950.

É natural concluir que, com o advento do Big Data as possibilidades de criar modelos deste tipo sejam bastante ampliadas. E a assertividade das previsões também. Quanto mais dados, melhores as previsões.

Falando em previsão, acho importante deixar clara a diferença básica entre Machine Learning e Data Mining. Os dois conceitos se complementam, mas também se sobrepõem. O foco principal do Machine Learning é realizar previsões baseadas em dados conhecidos e utilizados para “treinar” o algoritmo. O foco principal do Data Mining é a descoberta de propriedades dos dados que antes não eram conhecidos. Por este motivo o Machine Learning se utiliza do Data Mining para aprimorar a acuracidade do treinamento e avaliação do modelo (vide abaixo).

O prof. Sunil cita em seu Blog os seguintes passos para adoção e desenvolvimento do processo de Machine Learning:

  1. Data Selection: a identificação dos dados que serão utilizados para atingir o objetivo é fundamental para o sucesso do projeto. Este processo envolve a limpeza, seleção e adequação dos dados que serão utilizados. Se você não tem os dados adequados, não há como tentar fazer previsões.
  2. Feature Selection: selecionar as características dos dados utilizados é um passo muito importante. Deve-se escolher os dados menos sensíveis a ruídos e que sejam mais fáceis de serem manipulados. Neste momento é feita a divisão entre os dados que serão utilizados para treinamento do modelo e os dados para realização dos testes.
  3. Model Selection: deve-se iniciar por modelos mais simples e aumentar a complexidade se necessário. Este modelo é uma parte de uma realidade passada que você tem total controle sobre aquilo que aconteceu. Desta forma você poderá realizar as fases seguintes de treinamento e testes identificando se o seu algoritmo será capaz de prever com o maior nível de assertividade.
  4. Learning: a fase de treinamento é extremamente importante para que o processo seja concluído com êxito. Identifique os parâmetros adequados que minimize o erro do algoritmo. Entenda que seu algoritmo precisa destes parâmetros e dos resultados para saber como se comportar nas fases posteriores.
  5. Evaluation: esta é a fase dos testes. Se o algoritmo apresentar um erro muito grande fatalmente será necessário rever o modelo e realizar novamente a fase 4.
  6. Application: aplicar o modelo com dados que você não sabe o resultado. Nesta fase você prevê, espera acontecer e analisa se o resultado previsto bate ou não com a realidade. Se deu certo (ou próximo à realidade), passo 7. Do contrário, volte ao passo 5.
  7. Production: modelo validado e aplicado com sucesso, chega a hora de colocar tudo em produção.

Simples, certo? Infelizmente não. Os resultados normalmente são muito interessantes quando se chega no último passo. Porém, até lá isso pode demorar um pouco (ou muito).

A vantagem é que este processo é possível de se colocar em prática. Tendo acesso aos dados, conhecimento da técnica, do negócio e um objetivo claro em mente você também será capaz de ter sucesso neste processo.

Dos quatro elementos citados no parágrafo anterior, provavelmente o mais difícil seja o “objetivo claro”. Você só terá um objetivo claro se souber fazer a pergunta certa. E a pergunta certa para Big Data será o tema do meu próximo post.

Até lá!

Fique por dentro do mundo da tecnologia!

Inscreva-se em nossa newsletter e receba diariamente as notícias por e-mail.