Thiago Zavaschi R2 www.zavaschi.com

9Jan/150

AzureML – Criando meu Primeiro Modelo – Parte 1

Olá pessoal,

No meu último post comecei a escrever sobre aprendizagem de máquina na nuvem através do Azure Machine Learning. Hoje iniciaremos uma série sobre como criar nosso primeiro modelo de aprendizagem de máquina.

Primeiramente devemos conhecer alguns conceitos importantes:

  • Características (features): são os elementos que definem um padrão (uma entrada) a ser classificado. São informações que caracterizam o elemento. Estes valores podem ser valores discretos (estado civil, sexo, idade, possui filhos) ou valores contínios (números infinitos / “não contáveis”). Os valores contínuos podem ser extraídos de análises complexas sobre imagens, por exemplo, onde a característica fica sendo representada por um número. Um vetor de características identifica um elemento. Em geral se espera que as características sejam invariantes a rotação e escala.
  • Classe (label): é o que define o objeto. A classe é o valor que desejamos alcançar nos problemas de classificação. Por exemplo, caso o modelo seja para identificar a predisposição para desenvolvimento de câncer de mama, as classes nesse caso poderiam ser: Presença ou não presença de câncer.

Os problemas que possuem duas classes são, em geral, os problemas mais simples, também conhecidos como problemas binários. Muitos classificadores (como o SVM – veremos em post futuro) trabalham com problemas de duas classes.

Problemas multi-classe existem e também são frequentes. Imagine um modelo que identifica a expressão facial que a pessoa está realizando. Este problema facilmente leva à necessidade de se trabalhar com múltiplas classes.

Outros conceitos importantes para a validação do modelo são Acurácia, Recall, Precisão, F1-Score, AUC. Veremos isso quando formos comparar modelos, mas já pode consultar no blog do Nogare esta explicação.

21Oct/142

AzureML – O que é? Primeiros Passos

Olá pessoal,

Hoje o foco será a plataforma de Machine Learning na nuvem da Microsoft, conhecida como Azure Machine Learning (AzureML).

Esta tecnologia (ainda em preview) permite a construção de modelos de aprendizagem de máquina de maneira rápida e permite o acesso a estes modelos através da sua interface web (http://studio.azureml.net) ou através de API (webservices criados e expostos para seus modelos – veremos em posts futuros).

Mas o que é Aprendizagem de Máquina?

Segundo a Wikipedia:

“A aprendizagem automática é um sub-campo da inteligência artificial dedicado ao desenvolvimento de algoritmos e técnicas que permitam ao computador aprender, isto é, que permitam ao computador aperfeiçoar seu desempenho em alguma tarefa. Enquanto que na Inteligência Artificial existem dois tipos de raciocínio - o indutivo, que extrai regras e padrões de grandes conjuntos de dados, e o dedutivo - o aprendizado de máquina só se preocupa com o indutivo.

Algumas partes da aprendizagem automática estão intimamente ligadas à mineração de dados e estatística. Sua pesquisa foca nas propriedades dos métodos estatísticos, assim como sua complexidade computacional. Sua aplicação prática inclui o processamento de linguagem natural, motores de busca, diagnósticos médicos, bioinformática, reconhecimento de fala, reconhecimento de escrita, visão computacional e locomoção de robôs.”

Resumindo de maneira bem curta, aprendizagem de máquina é o cunjunto de técnicas para possibilitar o computador de fazer o aperfeiçoamento de alguma tarefa.

Para conseguir acompanhar e utilizar a plataforma é fundamental conhecer alguns conceitos.

Ao longo desta série de post cobriremos os principais.

Conhecendo o AzureML Studio

image 

Existem 4 abas na região esquerda do ML Studio: Studio Home; Experiments; Web Services e Settings. Vamos abordar cada um no devido tempo :).

O botão “+ NEW” abre a opção para criação de um experimento ou um dataset.

A opção de Dataset serve para fazer o upload de um arquivo local que pode ser dos seguintes formatos:

  • Generic CSV file with a header (.csv)
  • Generic CSV file with no header (.csv)
  • Generic TSV file with a header (.tsv)
  • Generic TSV file with no header (.nh.tsv)
  • Plain text (.txt)
  • SvmLight file (.svmlight)
  • Attribute Relation file format (.arff)
  • Zip (.zip)
  • R Object or Workspace (.RData)

Este dataset se torna disponível na área de Saved Datasets (ver adiante) que é armazenada em blobs do Azure.

Módulos do Azure Machine Learning

Os processos e elementos utilizados dentro de um experimento (além dos dados) são chamados de módulos. A imagem a seguir permite ver a lista com todas as categorias e subcategorias de módulos disponíveis nesse public preview. Conforme avançarmos no tema irei detalhar melhor cada um dos módulos.

image

Experimentos de exempo do AzureML

Na região de Saved Datasets é possível encontrar vários conjuntos de dados para utilizar em seus testes com a plataforma. Estes conjuntos também são utilizados em experimentos de exemplo que são encontrados na sessão de samples.

É possível observar que existem alguns experimentos bastante simplificados (tutorial), porém há análises bastante interessantes, e a quantidade deles é bem razoável.

image

 

Bom pessoal, espero que esse post tenha despertado em vocês o interesse de conhecer mais da plataforma e de Aprendizagem de Máquina. Vamos evoluir no tema juntos. :)

[]s

Zava

13Oct/140

Azure Summit Brasil 2014 – Azure Machine Learning

Olá pessoal,

Sábado passado (11/10) apresentei sobre Azure Machine Learning no Azure Summit Brasil realizado na sede da Microsoft Brasil em São Paulo.

A discussão foi muito interessente, onde foi possível mostrar parte dos recursos disponíveis nesta primeira versão (preview) do AzureML (antigo projeto Passau).

Pretendo cobrir aqui no blog esse assunto e em breve devemos ter mais posts relacionados a esta tecnologia.

No portal da ferramenta existem vídeos-tutoriais e também a documentação: http://studio.azureml.net

O material utilizado na apresentação está aqui:

AzureSummit_thiagoz

Obrigado!

Zava