1 of 59

Introdução Machine Learning

1

2 of 59

Aula de Hoje

  • Introdução à Machine Learning
    • O que é?
    • Pipeline.
    • Aplicações.
    • Tipos de Aprendizado.
    • Regressão Linear.
    • Implementação.

3 of 59

O que vimos até agora?

  • Diferentes abordagens da IA:
    • Agentes.
    • Ambientes de Tarefas.
    • Estados de Agentes.

4 of 59

O que há em comum?

  • O projetista é o responsável por indicar ao agente como agir.
  • Seja por:
    • Dizer os passos a serem seguidos;
    • Desenvolver algoritmo para resolver um problema específico;
    • Criar função heurística aproximada da solução;
    • Representar conhecimento em lógica.

  • É o projetista o responsável por criar a função objetivo.

5 of 59

Machine Learning

  • Segundo Arthur Samuel, Machine Learning é:

“Campo de estudo em que computadores possuem a habilidade de aprender sem ser explicitamente programados”.

 

 

6 of 59

Machine learning

Machine learning é o estudo científico de algoritmos e modelos estatísticos para executar uma tarefa usando inferência em vez �de instruções.

6

Fluxo de machine learning

Dados

Modelo

Previsão

7 of 59

Machine Learning

  • Por que gostaríamos de que máquinas fossem capazes de aprender?
  • Por que só não explicitamente programamos tudo que elas deveriam fazer?

  • Porque nem sempre podemos antecipar todos os cenários possíveis!
  • Porque algumas vezes nem nós mesmos sabemos como resolver o problema!

8 of 59

Machine Learning

  • Como a máquina pode aprender?

  • Observando dados e procurando padrões!

  • A ideia geral é que temos um grande conjunto de dados e queremos que a máquina aprenda alguma coisa com este conjunto de dados.

9 of 59

Machine Learning

10 of 59

Machine Learning

  • Mas o que exatamente a máquina deve aprender?

  • Isso vai depender da tarefa que queremos resolver!

11 of 59

Reconhecer spam

  • Todo dia milhares de e-mails novos são criados.
  • É impossível prever toda variação de antemão.
  • Máquina aprende a reconhecer o que é um spam e faz o filtro automaticamente.

12 of 59

Reconhecimento de fala

  • Máquina aprende a reconhecer as palavras ditas por humanos e pode realizar ações com base nessas palavras.

13 of 59

Outras aplicações

  • Medicina
    • Diagnóstico de imagem
  • Detecção de cenas
  • Criação de imagens
  • Análise de Sentimentos
  • Tradutores

14 of 59

Dado

  • Queremos que a máquina aprenda a partir de um conjunto de dados.

  • Mas afinal, o que é um dado?

  • Um dado é uma representação de alguma quantidade, qualidade, fato, estatística ou mesmo uma sequência de símbolos que pode ser posteriormente interpretada.

15 of 59

Dado

  • Por exemplo, um dado pode ser um conjunto de medidas ou observações do clima:

Previsão do Tempo

Temperatura

Umidade

Vento

Nublado

22 celsius

83%

40 km/h

16 of 59

Dataset

  • Um dataset é um conjunto de vários dados.

Previsão do Tempo

Temperatura

Umidade

Vento

Nublado

22 celsius

83%

40 km/h

Ensolarado

30 celsius

22%

5 km/h

Chuvoso

15 celsius

100%

10 km/h

Ensolarado

32 celsius

70%

1 km/h

Ensolarado

35 celsius

75%

12 km/h

Nublado

25 celsius

80%

20 km/h

17 of 59

Instância

  • Uma instância é um único dado, tipicamente representando um indivíduo da realidade.
  • Em ML, é mais comum chamar instâncias de exemplos.

Previsão do Tempo

Temperatura

Umidade

Vento

Nublado

22 celsius

83%

40 km/h

Ensolarado

30 celsius

22%

5 km/h

Chuvoso

15 celsius

100%

10 km/h

Ensolarado

32 celsius

70%

1 km/h

Ensolarado

35 celsius

75%

12 km/h

Nublado

25 celsius

80%

20 km/h

18 of 59

Atributo

  • Um atributo é uma das várias dimensões que medimos/observamos para cada instância.
  • Em ML, é comum chamarmos atributos de features.

Previsão do Tempo

Temperatura

Umidade

Vento

Nublado

22 celsius

83%

40 km/h

Ensolarado

30 celsius

22%

5 km/h

Chuvoso

15 celsius

100%

10 km/h

Ensolarado

32 celsius

70%

1 km/h

Ensolarado

35 celsius

75%

12 km/h

Nublado

25 celsius

80%

20 km/h

19 of 59

Tipos de Atributos

  • Atributos podem variar em tipo e em escala:

20 of 59

Tipos de Machine Learning

  • Existem basicamente três abordagens gerais de aprendizado de máquina (machine learning):

  • Aprendizado Supervisionado
  • Aprendizado Não-Supervisionado
  • Aprendizado por Reforço

21 of 59

Aprendizado Supervisionado

  • Dizemos para a máquina o que esperamos que ela encontre para cada instância do dataset que passamos para ela aprender.
  • Dataset é composto por pares de entradas e saídas.
  • O nosso objetivo é que dado um exemplo de entrada a máquina seja capaz de nos dizer qual a saída correta.

Entrada

x

Saída

y

f(x)

22 of 59

Aprendizado Supervisionado

Entrada (x)

Saída (y)

Aplicação

Email

Spam? (sim ou não)

Filtro de spam

Áudio

Transcrição do áudio

Reconhecimento de fala

Texto em Português

Texto em inglês

Tradução de máquina

ad, informação do usuário

Usuário vai clicar? (sim ou não)

Propaganda online

Imagem de um produto

Defeituoso?

Inspeção visual

23 of 59

Aprendizado Supervisionado

  • Aprender uma função objetivo desconhecida f
  • Entrada do aprendizado: um conjunto de treinamento de exemplos anotados (xj, yj) onde yj = f(xj)
  • Saída do aprendizado: função hipótese h que é “próxima” de f, ou seja, dada uma entrada x o resultado de h(x) é muito próximo do que seria f(x).
  • Muitas possíveis funções hipóteses: modelos lineares, regressão logística, redes neurais, árvores de decisão...

24 of 59

Classificação = aprender função para predizer um valor de saída categórico.

Tipos de Aprendizado Supervisionado

Regressão = aprender função para predizer um valor numérico.

25 of 59

Exemplo de Classificação

f(x) = Girafa

f(x) = Girafa

f(x) = Girafa

f(x) = Lhama

f(x) = Lhama

f(x) = Lhama

Conjunto de Treinamento

X =

f(x) = ?

26 of 59

Outros exemplos de Classificação

  • Diagnóstico médico:
    • Entrada: sintoma
    • Saída: doença
  • Detecção de spam:
    • Entrada: e-mail
    • Saída: spam / não é spam
  • Inspeção de vegetais e frutas:
    • Entrada: imagem ou análise de gás:
    • Saída: mofado / estrado ou bom
  • Detecção de fraude:
    • Entrada: atividade da conta
    • Saída: fraude / sem fraude
  • E muito mais!

27 of 59

Exemplo de Regressão

  • Predição de preço de casas...

Tamanho da Casa (em m²)

Valor da casa (em R$ 1000 reais)

45

200

60

300

100

500

200

1.000

300

1.500

Qual valor de uma casa com tamanho de 150 m²?

Aproximadamente R$ 750.000

28 of 59

Exemplo de Regressão – Ajuste de Curva

29 of 59

Aprendizado Não-Supervisionado

  • Ao contrário do aprendizado supervisionado, nosso dataset NÃO É

rotulado.

  • Feedback é nulo: não há qualquer informação sobre a saída esperada
    • Não temos um “atributo alvo”
  • Objetivo:
    • Entender melhor nossos dados para auxiliar nossa tomada de decisão ou descoberta de conhecimento.

28

30 of 59

Aprendizado Não-Supervisionado

  • Exemplos:
    • Encontrar agrupamentos entre os dados (Clustering).
    • Encontrar um exemplo que destoa dos outros (Detecção de anomalia).

29

31 of 59

Aprendizado

Aprendizado de

Máquina

Não Supervisionado

Anomalias

Agrupamento

Supervisionado

Classificação

Regressão

Conjunto de dados rotulados. Rótulo é a saída esperada da função.

Conjunto de dados sem nenhum rótulo. Não há qualquer informação sobre a saída esperada.

Predizer uma

classe categórica.

Predizer um

valor númerico.

Encontrar exemplos fora do comum do dataset.

Encontrar agrupamentos entre exemplos do dataset.

30

32 of 59

Aprendizado por Reforço

  • Utilizado para problemas em que nosso agente inteligente precisa tomar ações em algum ambiente.
  • Ideia é que nosso agente vai aprendendo sequencialmente.
  • Inicialmente ele não sabe quais as ações ele deve tomar.
  • Cada ação do agente gera uma “recompensa”.
  • Ao longo do tempo o agente aprende a escolher ações que resultam na maior recompensa.

33 of 59

Examplo: Aprendendo a caminhar

Início

[Video: AIBO WALK – initial]

[Kohl and Stone, ICRA 2004]

34 of 59

Examplo: Aprendendo a caminhar

Treinamento

[Video: AIBO WALK – training]

[Kohl and Stone, ICRA 2004]

35 of 59

Examplo: Aprendendo a caminhar

Finalizado

[Video: AIBO WALK – finished]

[Kohl and Stone, ICRA 2004]

36 of 59

37 of 59

Sobre aprendizado

  • Dados:
    • Conjunto de treinamento
    • Conjunto deixado de fora (conjunto de validação)
    • Conjunto de teste
  • Features: pares de atributo-valor que caracterizam/descrevem cada x.
  • Ciclo de experimentos:
    • Aprender os parâmetros (modelo) no conjunto de treinamento
    • Aperfeiçoar (tunning) hiperparâmetros no conjunto deixado de fora
    • Calcular acurácia do conjunto de teste
    • NUNCA “espiar” no conjunto de teste!!!!!!!!!!!!
  • Avaliação
    • Acurácia: fração de instâncias que foram preditas corretamente
  • Overfitting e generalização
    • Queremos um classificador com bom desempenho em dados de teste
    • Uma hipótese generaliza bem se prevê corretamente o valor de y para novos exemplos.
    • Overfitting: ajuste muito bom ao conjunto de treinamento, mas sem generalizar o modelo bem
    • Underfitting: ajuste ruim ao conjunto de treinamento

38 of 59

Sobre aprendizado

  • O que devemos aprender aqui?
    • Aprender parâmetros a partir dos dados de treinamento
    • Aperfeiçoar hiperparâmetros em dados diferentes
      • Hiperparâmetro = parâmetro para ajustar o processo de aprendizado
    • Para cada valor de hiperparâmetro, treinar e testar em dados que foram

deixados de fora do treinamento

    • Escolher os melhores valores fazer um teste final nos dados de teste

39 of 59

Estratégias de treinamento

  • Validação cruzada por retenção:
    • Separamos uma parte dos dados para conjunto de treinamento e outra parte para

conjunto de validação.

  • Problemas:
    • Se separar demais para validação, diminuímos o número de dados para criar nosso modelo.
    • Se separar demais para treinamento, podemos avaliar bem de maneira enganosa

(poucos exemplos).

  • Validação cruzada com k-repetições:
    • Cada dado serve tanto como treinamento quanto como validação.
    • Dividimos os dados em k conjuntos e realizamos k rodadas de treinamento.
    • Em cada rodada 1/k dos dados é utilizado para validação.
    • Ao final, avaliamos a média de todos os testes nas k rodadas.
    • Valores comuns de k = 5 ou 10 (o que isso implica?)

40 of 59

Entradas: conceitos, instâncias, atributos…

  • Quais os componentes de uma entrada para o aprendizado?

  • Conceitos:
    • As coisas que podem ser aprendidas.
    • Objetivo do Aprendizado é produzir uma descrição de conceitos.
  • Instâncias:
    • o indivíduo, exemplos independentes dos conceitos que serão aprendidos.
  • Atributos:
    • características de uma instância

41 of 59

Exemplo: Previsão do tempo - Classificação

Atributos

Classe a ser prevista

Conceito que queremos generalizar

42 of 59

Atributos

  • Cada instância é descrita por um conjunto pré-definido de features, seus “atributos”
  • Vários tipos diferentes podem existir:
    • Nominal;
    • Ordenado;
    • Intervalo;
    • Ratio.

43 of 59

Atributo nominal

  • Valores são dados por símbolos distintos.
    • O valor em sí só serve como rótulo.
  • Exemplo: rótulos de um problema de previsão do tempo.
    • Valores: “ensolarado”, “chuvoso”, “nublado”.
  • Não existe relação entre os valores em si.
    • Não tem ordenamento.
    • Não tem distância.
  • Só conseguimos fazer testes de igualdade.
    • Valor y = valor x?

44 of 59

Atributo ordenado

  • Noção de ordenamento entre os valores.
  • Ainda assim não temos como calcular distância (numérica) entre eles.
  • Exemplo:
    • Atributo “temperature” na previsão do tempo
      • Valores: “hot” > “mild” > “cool”
  • Diferença entre atributos nomiais de ordenados nem sempre é clara.
    • Ex: existe alguma ordem em “outcast”?

45 of 59

Intervalos

  • Além de ordenados também são mensurados em unidades fixas e iguais
  • Exemplo 1:
    • Atributo “temperature” com valor em graus Celsius.
  • Exemplo 2:
    • Atributo “ano”.
  • Diferença entre dois atributos começa a fazer sentido.

46 of 59

Ratio

  • Atributos em que o esquema de medidas define um “ponto zero”
  • Exemplo:
    • Atributo “distância”.
      • Distância entre um objeto e ele mesmo é zero.
  • Quantidades “ratio” são tratados como números reais.
    • Todas operações matemáticas são possíveis.

47 of 59

Exemplo: Previsão do tempo - Classificação

  • Atributos misturados

Atributos misturados

Classe a ser prevista

48 of 59

Exemplo: Previsão do tempo - Regressão

Outlook

Temperature

Humidity

Windy

Play-time

Sunny

Hot

High

False

5

Sunny

Hot

High

True

0

Overcast

Hot

High

False

55

Rainy

Mild

Normal

False

40

Saída numérica a ser prevista

49 of 59

Exemplo: Classificação de flores Iris

50 of 59

Conjunto de Treinamento e de Validação

Treinamento

Teste

Prever corretamente a classe

51 of 59

Saídas

  • Representação de conhecimento

    • Tabelas
    • Modelos lineares
    • Árvores
    • Regras
    • ...

52 of 59

Representando padrões estruturais

  • Existem muitas maneiras de representar padrões.
    • Árvores, regras, tabelas, etc

  • Entender o resultado é chave para entender o que acontece no método de aprendizado.

  • Diferentes tipos de saídas para diferente tipos de aprendizado (classificação, regressão, etc).

53 of 59

Tabelas de decisão

  • Maneira mais simples de representar uma saída:
    • Utilizar o mesmo formato de representar a entrada!
  • Tabela de decisão para o problema da previsão do tempo:
  • Principal problema: escolher os atributos certos.

54 of 59

Árvore de decisão

  • Cada nodo testa um atributo em particular
  • Valor do atributo é comparado para decidir o caminho da instância

55 of 59

Weka

  • Biblioteca com diversos algoritmos de machine learning.
  • Tem uma versão com interface gráfica muito boa com suporte à visualização dos dados.
  • Permite:
    • Classificação
    • Regressão
    • Clustering
    • Regras de associação
  • Open source, desenvolvido na Waikato University, da Nova Zelândia

56 of 59

Padrão de dados Weka - ARFF

57 of 59

Brincando no weka

58 of 59

Principais algoritmos

  • Árvore de decisão
  • Regressão logística
  • Regressão linear
  • Perceptron
  • k-Nearest Neighbors
  • Redes Neurais Artificias
  • Redes Bayesianas

59 of 59

Atividade

  • Separar em grupos
  • Escolher um dos algoritmos de aprendizado supervisionado
  • Montar apresentação sobre como funciona o algoritmo para os colegas

  • Algoritmos:
    • Árvore de decisão
    • Regressão logística
    • Regressão linear
    • Perceptron
    • k-Nearest Neighbors