270 likes | 404 Views
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
E N D
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
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 - uma definição
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
Supervisionado Classificação Regressão Tipos de Aprendizado de Máquina (3/3) AM Não-Supervisionado k-means Metódos Hierárquicos SOM k-NN Árvores de Decisão Naive Bayes Perceptron/Adaline Multi-Layer Perceptron 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, 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 • 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 • 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 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ã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 • Crítico: tipo e nível de agregação dos dados
% % 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} @data sunny, 85, 85, false, no sunny, 80, 90, true, no overcast, 83, 86, false, yes ... O formato ARFF
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
Hospital Check-in Database Name Age Sex Pregnant? .. Mary 25 F N Jane 27 F - Joe 30 M - Anna 2 F - 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
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!