Introdução ao Aprendizado de Máquina Anne Magály de Paula Canuto 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 Para rótulos de classe discretos, esse problema é chamado de classificação e para valores contínuos como regressão 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? O que é um exemplo? Relações, flat files, recursão O que é um atributo? Classificação, associação, agrupamento, previsão numérica Nominal, ordinal, intervalar, razão Preparação da entrada ARFF, atributos, valores perdidos, ... Terminologia Componentes da Entrada Conceitos Instâncias “Coisas” que podem ser aprendidas 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) Aprendizado não-supervisionado (Atividades de Descrição) Agrupamentos: agrupar instâncias similares em aglomerados Regras de associação (Atividades de Descrição) Classificação: previsão de classes discretas pré-definidas Regressão: previsão de um valor numérico contínuo 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 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 Objeto a ser classificado, associado ou agrupado Exemplo individual e independente do conceito a ser aprendido Carecterizada por um conjunto pré-determinado de atributos Não representa relações entre objetos Forma mais comum para a maioria dos indutores 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 Não existem relações entre valores nominais ordenação ou distância Atributo “Sexo”: Masculino e Feminino Atributo “Religião”: Católica, Protestante, Budismo,... Atributo “Partido Político”: PT, PFL, PSDB, ... 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 Intervalar Quantidades intervalares além de ordenadas, também possuem unidades constantes de medidas Diferenças entre quaisquer dois pontos adjacentes em qualquer parte da escala são iguais O ponto zero é arbitrário Soma e produto não fazem sentido As escalas intervalares mais familiares são as escalas de temperatura Fahrenheit e Celsius Cada uma tem um ponto zero arbitrário e nenhum indica uma quantia nula ou ausência de temperatura Podemos dizer que 80oF tem o dobro de temperatura de 40oF? Escala de Razão Difere da escala intervalar por possuir um zero absoluto 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ãomé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 Crítico: tipo e nível de agregação dos dados 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) Inteiros: escala nominal, ordinal, ou razão? 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 Perdidos - Exemplo Value may be missing because it is unrecorded or because it is inapplicable In medical data, value for Pregnant? attribute for Jane is missing, while for Joe or Anna should be considered Not applicable Some programs can infer missing values Hospital Check-in Database Name Age Sex Pregnant? Mary Jane Joe Anna 25 27 30 2 N - F F M F .. 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!