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 medida 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 Supervisionado NãoSupervisionado k-means Metódos Hierárquicos SOM Classificação k-NN Árvores de Decisão Naive Bayes Perceptron/Adaline Multi-Layer Perceptron Regressão k-NN Adaline Multi-Layer Perceptron 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 @attribute @attribute @attribute @attribute outlook {sunny, overcast, rainy} temperature numeric humidity numeric windy {true, false} play? {yes, no} @data sunny, 85, 85, false, no sunny, 80, 90, true, no overcast, 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