Machine Learning in the Cloud–Azure, IBM e Amazon

Amazon Web Service & Cloud Computing & IoT & Machine Learning & Microsoft Azure

capa-ml-in-the-cloud

Um dos alicerces do que hoje chamamos de IoT, é a geração insumos por meio de inteligência nos dados gerados. O fluxo feliz são "coisas" "conectadas" gerando "dados" e "inteligência". Neste post veremos 3 soluções de Machine Learning in the Cloud, ambas iguais em essência, mas diferentes em propósito e execução. Vou apresentá-los aos serviços Azure Machine Learning, IBM Watson e Amazon Machine Learning.

IBM Watson visa abstrair a ciência de dados, transformando as consultas em linguagem natural com base no conteúdo dos conjuntos de dados enviados. Já o Microsoft Azure Machine Learning utiliza uma metodologia de mineração de dados existentes para resultados rápidos e integração com outros serviços de nuvem para a extração dos dados. Mais novo no mercado, o Amazon Machine Learning foca em uma solução automática de aprendizagem supervisionada.

 

ml-azure

A solução de Machine Learning do Microsoft Azure, fornece uma interface gráfica drag-and-drop para conectar componentes e rotear o fluxo de dados por várias etapas, já que em back o Azure ML é uma ferramenta que automatiza algumas tarefas da aprendizagem de máquina, assumindo que o usuário já tem alguma familiaridade com pelo menos o básico da ciências de dados.

azureml-01

Assim que você se conectar utilizando o portal do Azure Machine Learning, serão aprensetandas algumas opções. Você pode começar a utilizar o Azure ML criando um Experimento.

azureml-02

Criar um experimento é simples. Temos apenas que selecionar um conjunto de dados e o arrastar para a tela de edição canvas. Conjuntos de dados tem apenas portas ou ligações de saída, logo servem apenas para alimentar um módulo. Os módulos estão disponíveis no menu esquerdo e possuem duas portas, entrada e saída.

Módulos adicionais podem ser arrastados para a tela e ligados uns aos outros (a partir de uma porta de saída de um módulo para a porta de entrada de um outro). Módulos de pré-processamento de dados incluem entre outros recursos o tratamento de missing data scrubbing, seleção de recursos através de análise discriminante linear e detecção de colunas duplicadas.

Os algoritmos suportados incluem multi-class neural networks, logistic regression, boosted decision trees, support vector machines, e locally deep support vector machines.

 

ml-imb-watson

Assim que você acessa e loga a página no IBM Watson Analytics, nos é apresentado um vídeo muito bem elaborado explicando o serviço de forma bem didática. Junto com a apresentação, temos um passo-a-passo que nos leva ao envio de dados que podem ser no formato CSV ou XLS. É importante pontuar que é possível seguir uma espécie de tutorial, que aponta inclusive, onde podemos obter dados de amostra para iniciar a análise.

Até o momento deste artigo, o Watson ainda estava público em beta-teste, e portanto limitado. Por exemplo, o envio de dados só ocorre para arquivos menores de 12MB e com até 50 colunas. É claro que isso é inviável quando falamos de ML em larga escala, porém ainda estamos em teste ok?

Trabalhar com o envio de dados nestes formatos é algo inviável, mas certamente ele vai seguir os mesmos passos que a Amazon e o Azure, onde poderemos informar bases já existentes. Porém existe um nicho aqui, a possibilidade de pessoas não técnicas fazendo upload de suas planilhas e realizando tratamentos e inteligência nos dados enviados.

O Watson oferece 4 recusos: Explore, Predict, Assemble e Refine. Vou abordar aqui os 3 primeiros disponíveis neste momento.

watson-01

Explore oferece uma ferramenta que permite a exploração dos dados. Um usuário pode selecionar a partir de um dos muitos exemplos de consultas, ou simplesmente  digitando um em texto livre.

watson-02

Predict é a ferramenta que Watson fornece prever uma ou mais variáveis ​​alvo com base nos dados. Isto corresponde à classificação ou regressão dependendo se o alvo é variável categórica ou contínua.

watson-03

Assemble fornece uma interface para criar "pastas de trabalho de autoria própria". Estes contêm materiais de apresentação, visualizações de dados e relatórios. 

 

ml-amazon

Como já foi citado, o modelo adotado pela Amazon é o de aprendizado de máquina supervisionado, e refere-se a definir em que datapoint está associada a alguma variável-alvo. Quando o alvo é uma variável binária, o problema é chamado de classificação binária. Quando o alvo é uma variável categórica (com mais de 2 categorias), o problema é chamado de classificação multi-classe. Quando o alvo é de valor real (um número de ponto flutuante), o problema é chamado de regressão . Estes são os três serviços oferecidos pela Amazon Machine Learning. Embora existam muitos algoritmos, a Amazon coloca a responsabilidade mínima do algoritmo nas mãos dos usuários, oferecendo uma solução quase totalmente automatizada para o problema proposto.

O Amazon Machine Learning oferece ferramentas e assistentes de visualização que orientam você durante o processo de criação de modelos de aprendizagem de máquina (ML), sem necessidade de aprender tecnologias e algoritmos tecnologias complexos de ML. Após a conclusão dos modelos, o Amazon Machine Learning facilita a obtenção de previsões para sua aplicação usando APIs simples, sem necessidade de implementar um código de geração de previsões personalizado ou gerenciar qualquer infraestrutura.

A aquisição de Dados no Amazon ML inclui dados relacionais armazenados em RDS, arquivos CSV armazenados no S3 ou dados no Redshift data warehouse da Amazon. Para quem quiser experimentar o serviço da Amazon, eles fornecem um conjunto de dados de amostra (bank.csv) que contém dados fictícios para os clientes dos bancos. 

 

Bons estudos e até a próxima pessoal  ;)


Author's profile picture

Vitor is a computer scientist who is passionate about creating software that will positively change the world we live in.

MVP Azure - Cloud Architect - Data science enthusiast


5 minutes to read