introdução ao aprendizado de máquina prof. dr. rogério vargas ->
Post on 18-Apr-2015
110 Views
Preview:
TRANSCRIPT
Introdução ao Aprendizado de Máquina
Prof. Dr. Rogério Vargas-> http://rogerio.in
Por que é necessário o aprendizado de máquina?
Em geral, é difícil articular o conhecimento que precisamos para
construir um sistema de IA
Na verdade, algumas vezes, não temos nem este conhecimento
Em alguns casos, podemos construir sistemas em que eles mesmos aprendem o conhecimento necessário
O que é Aprendizado?
Memorizar alguma coisa
Aprender fatos por meio de observação e exploração
Melhorar habilidades motoras/cognitivas por meio de prática
Organizar novo conhecimento em representações efetivas e gerais
Aprendizado de Máquina
Principal preocupação
• Construção de programas de computador que melhoram seu desempenho por meio de experiência
Técnicas orientadas a dados
• Aprendem automaticamente a partir de grandes volumes de dados
• Geração de hipóteses a partir dos dados
Inferência Indutiva
Indução
• Um processo de raciocínio para uma conclusão sobre todos os membros de uma classe por meio do exame de apenas uns poucos membros da classe
• De maneira geral, raciocínio do particular para o geral
• Por exemplo, se eu noto que:
• Todos os pacientes com Déficit de Atenção atendidos em 1986 sofriam de Ansiedade
• Todos os pacientes com Déficit de Atenção atendidos em 1987 sofriam de Ansiedade
• ...
• Posso inferir logicamente que Todos os pacientes que sofrem de Déficit de Atenção também sofrem de Ansiedade
• Isto pode ser ou não verdade, mas propicia uma boa generalização
Aprendizado de Máquina - uma definição
Um programa aprende a partir da experiência E, em relação a uma classe de tarefas T, com me-dida de desempenho P, se seu desempenho em T, medido por P, melhora com E
Mitchell, 1997
Também chamado de Aprendizado Indutivo
Aprendizado de Máquina - Exemplo
Detecção de bons clientes para um cartão de crédito
• Tarefa T: classificar potenciais novos clientes como bons ou maus pagadores
• Medida de Desempenho P: porcentagem de clientes classificados corretamente
• Experiência de Treinamento E: uma base de dados histórica em que os clientes já conhecidos são previamente classificados como bons ou maus pagadores
Tipos de Aprendizado de Máquina (1/3)
Aprendizado Supervisionado
• O algoritmo de aprendizado (indutor) recebe um conjunto de exemplos de treinamento para os quais os rótulos da classe associada são conhecidos
• Cada exemplo (instância ou padrão) é descrito por um vetor de valores (atributos) e pelo rótulo da classe associada
• O objetivo do indutor é construir um classificador que possa determinar corretamente a classe de novos exemplos ainda não rotulados
Tipos de Aprendizado de Máquina (2/3)
Aprendizado Não-Supervisionado
• O indutor analisa os exemplos fornecidos e tenta determinar se alguns deles podem ser agrupados de alguma maneira, formando agrupamentos ou clusters
• Após a determinação dos agrupamentos, em geral, é necessário uma análise para determinar o que cada agrupamento significa no contexto problema sendo analisado
Tipos de Aprendizado de Máquina (3/3)
AM
SupervisionadoNão-
Supervisionado
Classificação Regressão
k-NNÁrvores de DecisãoNaive BayesPerceptron/AdalineMulti-Layer Perceptron
k-NNAdalineMulti-Layer Perceptron
k-meansMetódos HierárquicosSOM
Tópicos
Terminologia
O que é um Conceito?
• Classificação, associação, agrupamento, previsão numérica
O que é um exemplo?
• Relações, flat files (estrutura unidimencional), recursão
O que é um atributo?
• Nominal, ordinal, intervalar, razão
Preparação da entrada
• ARFF, atributos, valores perdidos, ...
Terminologia
Componentes da Entrada
• Conceitos• “Coisas” que podem ser aprendidas
• Instâncias• Exemplos individuais e independentes de um conceito
• Formas mais complicadas também são possíveis
• Atributos• Medidas de características de uma instância
O que é um Conceito?
Tipos de Aprendizado de Máquina (Objetivos da Mineração de Dados)
• Aprendizado supervisionado (Atividades de Predição)
• Classificação: previsão de classes discretas pré-definidas
• Regressão: previsão de um valor numérico contínuo• Aprendizado não-supervisionado (Atividades de Descrição)
• Agrupamentos: agrupar instâncias similares em aglomerados• Regras de associação (Atividades de Descrição)
• Detecção de associações entre atributos
• Mais geral que a Classificação: qualquer associação entre atributos, não apenas com uma classe específica
Conceito: coisa a ser aprendida
Descrição do conceito: saída do algoritmo (esquema) de aprendizado
O que é uma Instância?
Definições
• Objeto a ser classificado, associado ou agrupado
• Exemplo individual e independente do conceito a ser aprendido
• Carecterizada por um conjunto pré-determinado de atributos
Entrada para o indutor (algoritmo ou esquema de aprendizado): conjunto de instâncias ou conjunto de dados
• Representado como uma única relação (flat file)
Forma bastante restrita de entrada
• Não representa relações entre objetos
O que é um atributo?
Cada instância é descrita por um conjunto fixo pré-determinado de características - Atributos
• Na prática, porém, o número de atributos pode variar
• Solução possível: uma sinalizador de “valor irrelevante”• Problema relacionado: a existência de um atributo pode depender do
valor de um outro
Tipos possíveis de atributos (escalas de medidas)
• Escalas não-métricas (qualitativas)
• Nominal e Ordinal• Escalas métricas (quantitativos)
• Intervalar e Razão
Escala Nominal ou Categórica
Valores são símbolos distintos que servem apenas para rotular ou identificar
• Atributo “Sexo”: Masculino e Feminino
• Atributo “Religião”: Católica, Protestante, Budismo,...
• Atributo “Partido Político”: PT, PFL, PSDB, ...
Não existem relações entre valores nominais - ordenação ou distância
• Não faz sentido o teste “Masculino > Feminino”
Apenas testes de igualdade podem ser feitos
• “Sexo” = Masculino
Escala Ordinal
Os valores podem ser ordenados os ranqueados
• Toda subclasse pode ser comparada com uma outra em termos de uma relação da forma “maior que” ou “menor que”
• Atributo “Temperatura”: Quente > Morno > Frio (no entanto, não faz sentido “Quente + Frio” ou “2*Morno”)
• Distinção entre Nominal e Ordinal não é sempre clara• Atributo “Tempo”: Ensolarado, Nublado, Chuvoso
Escala de Razão
• Todas as operações matemáticas são possíveis com medidas em escala de razão
• Números reais
• Atributo “Distância”: a distância entre um objeto e ele mesmo é zero
• Atributo “Peso”: os aparelhos usados para medir peso têm um ponto zero absoluto
Para que tipos específicos de atributos?
Compreender os diferentes tipos de escalas de medidas é importante por duas razões
• O pesquisador deve identificar a escala de medida de cada atributo usado, de forma que dados não-métricos não sejam incorretamente usados como dados métricos e vice-versa
• “Partido Político” > PFL não faz sentido, enquanto que“Temperatura” > Frio ou“Peso” < 38 fazem
• A escala de medida é crítica ao determinar que algoritmos de aprendizado de máquina são mais apropriados
Preparação da Entrada
Poblema: fontes diferentes de dados (ex., departamento de vendas, departamento de cobrança, ...)
• Diferenças: estilos de manter os registros, convenções, períodos de tempo, agregação dos dados, chaves primárias, erros
• Os dados precisam ser integrados e limpos
• Data warehouse
Denormalização não é o único problema
Dados externos podem ser necessários
O formato ARFF
%% ARFF file for weather data with some numeric features%@relation weather
@attribute outlook {sunny, overcast, rainy}@attribute temperature numeric@attribute humidity numeric@attribute windy {true, false}@attribute play? {yes, no}
@datasunny, 85, 85, false, nosunny, 80, 90, true, noovercast, 83, 86, false, yes...
Tipos de Atributos no WEKA
ARFF trabalha com atributos numéricos e nominais
Interpretação depende do algoritmo de aprendizado
• Atributos numéricos são interpretados como:• Escala ordinal se são usadas comparações do tipo “menor-que” e
“maior-que”
• Escala de razão se cálculos de disntâncias são efetuados (normalização e padronização podem ser necessárias)
• Algoritmos baseados em instâncias definem distância entre valores nominais (0 se o valores são iguais, 1 caso contrário)
Valores Perdidos (Missing Values)
Em geral, indicados por valores fora do escopo
• Tipos: desconhecidos, não registrados, irrelevantes
• Razões• Mau-funcionamento do equipamento
• Mudanças na definição do experimento
• Incapazidade de mesuração
Valores perdidos podem, de fato, significarem alguma coisa
• A maioria dos métodos de aprendizado não assumem isto
• No entanto, este tipo de informação pode ser codificado como um valor adicional
Valores Imprecisos
Razões: os dados não foram obtidos para mineração
Resultado: erros e omissões que não afetam o objetivo original dos dados (ex., idade do cliente)
Erros tipográficos em atributos nominais -> valores devem ser checados para verificar consistência
Erros tipográficos de mesuração em atributos numéricos -> observações atípicas (outliers) devem ser identificados
Erros podem ser deliberados (e.g., código postal)
Outros problemas: duplicação, ...
Se familiarizando com os dados
Ferramentas simples de visualização são muito úteis
• Atributos nominais: histogramas (a distribuição é consistente com o conhecimento do domínio?)
• Atributos numéricos: gráficos (alguma observação atípica óbvia?)
• Gráficos bi e tri-dimensionais mostram dependências
• Necessidade de consultar um especialista do domínio
• Muitos dados a inspecionar? Faz uma amostragem!
Referências
Material editado dos slides da Professora Anne Magály de Paula Canuto, disponível em: www.cin.ufpe.br/~mcps/IA/IA2004.1/IA-am-anne.ppt
top related