Big Data, Internet of Things e Machine Learning tornaram-se palavras de ordem desta década na indústria de tecnologia. Sem nos darmos conta, as várias aplicações de Machine Learning influenciam cada vez mais a nossa vida diária, na forma e na rapidez como tomamos decisões. Desde a seleção de um filme, à interação com assistentes pessoais num telemóvel através do reconhecimento de voz, até sistemas sofisticados de prevenção de fraude, são inúmeras as aplicações onde Machine Learning está a revolucionar o modo como vivemos.
Até há muito pouco tempo, Machine Learning estava apenas ao alcance de algumas empresas, munidas de Data Scientists com forte background estatístico e com ferramentas muito dispendiosas mas essenciais para este tipo de análise. A evolução alucinante da tecnologia nesta área, aliada à economia de escala da Cloud, abriu uma nova era no acesso pela maioria das empresas, nos mais diversos domínios de atuação. A Internet of Thingscomo dimensão paralela, com biliões de dispositivos comunicantes capazes de produzir volumes massivos de informação, juntamente com as redes sociais e os novos tipos de dados não estruturados, acentuam a necessidade de uma nova abordagem de análise e extração de conhecimento.
Por todos estes motivos, Machine Learning representa hoje uma oportunidade tremenda e fascinante para uma nova geração de empreendedores e de empresas de informação, que são o embrião de novos Data Scientists, preparados para explorar novos modelos e novas aplicações, em vários espectros da atividade humana.
O que é Machine Learning?
Historicamente, Machine Learning existe desde o séc. XIX e um dos exemplos mais conhecido é o feito alcançado em 1997 quando o DeepBlue, computador criado pela IBM recorrendo a Machine Learning e Inteligência Artificial, venceu um jogo de xadrez contra o campeão mundial Gary Kasparov. Mais recentemente, o filme ‘Minority Report’ conta uma história onde uma força policial de elite identifica e prende criminosos com base em previsões sobre os crimes que irão cometer. Perante a onda de ficção à volta desta área, interessa compreender a base teórica associada a esta tecnologia em expansão e como a aplicar.
De forma sumária, Machine Learning pode ser descrito como sistemas computacionais que aprendem com a experiência, isto é, sistemas que usam o passado para prever o futuro e ajudar a obter o melhor resultado possível. Cientificamente, os algoritmos de Machine Learning têm como objetivo encontrar uma função, denominada modelo, a partir de dados de treino caracterizados por um conjunto de atributos, que posteriormente é usado para prever um novo exemplo futuro. Uma das enormes vantagens de Machine Learning é a sua capacidade única para lidar com centenas ou milhares de variáveis de análise, algo que qualquer humano é incapaz de fazer.
Tipos de Algoritmos
Os algoritmos de Machine Learning podem agrupar-se em três categorias principais:
- Algoritmos de Classificação – usados para prever variáveis que podem ter apenas alguns valores conhecidos (variáveis discretas), como o reconhecimento de caracteres ou o sexo;
- Algoritmos de Regressão – usados para prever variáveis contínuas, como o lucro ou o rendimento anual;
- Algoritmos de Clustering – usados na deteção de padrões ou estruturas através do agrupamento dos dados usando as suas similaridades.
Tipos de Aprendizagem
Outro dos conceitos fundamentais importantes em Machine Learning é o tipo de aprendizagem utilizada para treinar modelos preditivos. Destacam-se dois tipos distintos:
Na aprendizagem supervisionada o modelo de previsão é treinado usando um conjunto de dados em que são conhecidos os atributos e o resultado associado a cada um (por exemplo, as características de um cliente e se ele efetuou fraude). Em função da variável a prever, poderá recorrer a algoritmos de classificação ou de regressão;
Na aprendizagem não supervisionada apenas se conhecem os atributos do modelo, sendo o objetivo a procura de padrões ou semelhanças nos de dados. Existem duas abordagens: a primeira e mais comum baseia-se na análise de clustering dos dados, e a segunda usa a aprendizagem por reforço, onde o objetivo é premiar ou recompensar uma ação considerada positiva e punir uma ação considerada negativa.
Definidos estes conceitos base e a título de exemplo, alguns dos algoritmos mais usados na indústria centram-se em Árvores de Decisão nas suas diversas variações, Redes Neuronais, Support Vector Machines, Regressões Lineares, Regressões Logísticas, K-Means Clustering, Bayes Point Machines, entre muitos outros, cada vez mais sofisticados. A escolha do algoritmo mais adequado para cada situação carece de um entendimento mais profundo do comportamento de cada um, bem como o conhecimento do que se pretende prever.
O Processo de Machine Learning
A implementação de uma solução de análise preditiva segue um processo bem definido, com um conjunto de atividades que vão desde a criação e preparação dos dados, até ao deployment do modelo para previsão de resultados futuros. Este processo deve ser contínuo, de forma a assegurar a precisão ao longo do tempo, especialmente quando alguns dos padrões e variáveis a prever estão sujeitos a alterações.
O primeiro passo consiste na extração e agregação dos dados, seguindo-se o tratamento de valores em falta, a normalização dos atributos, a redução da dimensionalidade e a seleção dos atributos mais relevantes para a análise. A próxima fase consiste no treino do modelo com base nos dados já preparados, e o teste para aferir a sua precisão, com base em várias métricas típicas (precisão, acerto, recall, ROC, etc.). O último passo consiste no deployment do modelo para ser utlizado, periodicamente ou em tempo real, por outras aplicações.
À medida que o modelo for utilizado deve monitorizar-se a sua performance, de forma a garantir que a precisão está dentro do intervalo esperado. Sempre que necessário e de forma controlada, poderá voltar a retreinar-se o modelo, com novos dados ou novos atributos que façam sentido passar a considerar.
Azure Machine Learning
Para endereçar estes desafios com agilidade, quer em termos técnicos quer económicos, a Microsoft lançou recentemente uma plataforma inovadora de Machine Learning – Azure Machine Learning – para suporte transversal de soluções de análise preditiva, aplicável a múltiplos domínios empresariais. O Azure Machine Learning é um serviço Cloud que qualquer analista sem conhecimentos estatísticos profundos pode utilizar para construir modelos preditivos e publicá-los para consumo por qualquer aplicação através de um Web Service na Cloud.
O Azure Machine Learning Studio é a ferramenta onde são desenvolvidos os modelos, disponibilizando todas as funcionalidades para modelação, transformação, treino, análise e deployment do modelo como um serviço, tudo através de uma interface integrada, colaborativa, totalmente web based.
Uma vez treinado o modelo, este é disponibilizado no Azure através de um web service REST ou como um endpoint OData, pronto a ser acedido por uma aplicação de negócio, de forma atómica ou em batch (para processamento de grandes volumes de dados). Opcionalmente, este serviço este pode ser publicado no Azure Marketplace, para consumo por qualquer empresa ou utilizador.
Por último e para facilitar a aprendizagem, a Microsoft disponibiliza uma galeria pública de algoritmos, com modelos reais e tutoriais para toda a comunidade interessada em Machine Learning.
Looking Foward – O que Nos Espera
Vivemos num ponto fascinante do tempo, em que o outrora inimaginável se está agora a tornar possível, sempre guiado pela necessidade de análises avançadas e modelos mais sofisticados, cujo potencial em muito extravasa as soluções tradicionais de Business Analytics.
A extrema facilidade de modelação, o elevado poder de cálculo e o modelo económico do Azure Machine Learning representam um passo crítico na democratização de Data Science. A disponibilização de uma plataforma end-to-end, totalmente desenhada e suportada na Cloud e com um TCO disruptivo face a soluções tradicionais on-premise, permitirá a muitas empresas que até hoje não tinham acesso a esta tecnologia, um novo driver de diferenciação.
Tal como há 10 anos atrás, a Pivot Table no Excel, com agregações automáticas, revolucionou a análise de informação e foi o embrião para o Self-Service BI que todas as empresas procuram, também os serviços de Machine Learning irão revolucionar áreas e processos de negócio com novas abordagens, mais inteligentes, mais poderosas e mais acessíveis. Esta área será sem dúvida onde vamos assistir a uma inovação contínua e exponencial, que já se iniciou.