Mineração de Dados: Classificação e Predição Victor Ströele stroele@gmail.com 12/04/2017 Business Intelligence
Roteiro Conceitos e características da Classificação Qualidade do Classificador Técnicas de Classificação Árvores de Decisão Regras de Classificação Máquinas de Vetores Suporte Redes Neurais
Conceito Classificação: Predição: Identificar a classe de um objeto através de um modelo classificador construído com informações de um conjunto de amostras Aprendizado Supervisionado Predição: Prever o valor de uma variável
Classificação Etapa de treinamento
Classificação Etapa de Classificação
Problemas de Classificação Classificação de Textos Crescimento das informações disponíveis com o desenvolvimento da WEB Identificar spams no envio de e-mails Análise de Seqüências biológicas Grande quantidade de dados com o mapeamento do genoma humano Identificar seqüências protéicas homólogas
Problemas de Classificação Diagnóstico de doenças Geralmente utilizado para informar se o paciente está doente ou não Diagnóstico de câncer de mama Classificador é treinado utilizando-se amostras de pessoas doentes e saudáveis A amostra de um novo paciente é aplicada ao classificador e este irá informar o diagnóstico
Etapas da Classificação Aprendizado/Treinamento Exemplos conhecidos são analisados e um classificador é construído O classificador pode ter a forma de: Regras de Classificação Árvores de Decisão Máquinas de Vetores Suporte Redes Neurais
Etapas da Classificação O Classificador é usado para distribuir itens em grupos pré-definidos (classes) A classificação considera informações quantitativas ou as características dos itens Treinamento Conjunto de Amostras Classes
Exemplo Conjunto de Treinamento Fase de treinamento e Construção do Classificador Classificador na forma “Regras de Classificação”
Exemplo Forma dos dados do conjunto de treinameno X = <x1, x2, x3> e Y = <baixo, alto> x1 Nome do cliente x2 Idade do cliente discretizada x3 Renda do Cliente também discretizada Y Risco do Empréstimo, que é o rótulo da classe a qual o cliente pertence
Clientes novos (Desconhecidos) Resultado da Análise de Risco Exemplo Clientes novos (Desconhecidos) Dados Novos aplicados Ao Classificador Resultado da Análise de Risco Para os clientes novos
Características da Classificação Precisão Capacidade de prever a classe a qual um item desconhecido pertence Como medir a precisão? Usar um conjunto de dados conhecidos que não foram utilizados na etapa de treinamento Usar 10% do conjunto de treinamento Velocidade Esforço computacional exigido tanto na fase de treinamento quanto na fase de classificação
Características da Classificação Robustez Habilidade de classificar corretamente mesmo em presença de dados com “ruídos” ou incompletos Escalabilidade Capacidade do classificador obter um desempenho proporcional à quantidade de dados analisada
Qualidade do Classificador O modelo classificador depende diretamente da qualidade do conjunto de treinamento Dados do conjunto de treinamento devem ser cuidadosamente selecionados e rotulados Muitos dados com ruídos ou incompletos podem confundir o classificador Dados de treinamento muito genéricos diminuem a precisão para casos menos comuns
Qualidade do Classificador Dados de treinamento muito específicos causam o efeito de over fitting (Erro de treinamento muito baixo ou zero e poder de classificação baixo) Sem Erro de Treinamento Com Erro de Treinamento
Qualidade do Classificador Sem Erro de Treinamento Com Erro de Treinamento Com Erro na Classificação Sem Erro na Classificação
Técnicas de Classificação Árvore de Decisão Regras de Classificação Máquinas de Vetores Suporte (SVM) Redes Neurais (Backpropagation)
Técnicas de Classificação Árvore de Decisão Cada nó interno representa um teste em determinado atributo Cada ramo representa um possível resultado do teste Cada folha representa uma classe Cada percurso na árvore (da raiz à folha) corresponde a uma regra de classificação. Técnicas de Classificação
Técnicas de Classificação Árvore de Decisão Exemplo Técnicas de Classificação
Técnicas de Classificação Árvore de Decisão Estratégia: dividir para conquistar Capacidade de Discriminação Divisão do espaço definido pelos atributos em sub-espaços A cada sub-espaço é associada uma classe Técnicas de Classificação
Técnicas de Classificação Árvore de Decisão Técnicas de Classificação Cada folha Corresponde a uma região A intersecção dos hiper-retângulos é vazia A união dos hiper-retângulos é o espaço completo
Técnicas de Classificação Árvore de Decisão Idéia Base: Escolher um atributo Estender a árvore adicionando um ramo para cada valor do atributo Passar os exemplos para as folhas (tendo em conta o valor do atributo escolhido) Para cada folha Se todos os exemplos são da mesma classe, associar essa classe a folha Senão repetir os passos de 1 a 4 Técnicas de Classificação
Exemplo Atributos Binários: Atributos Classe A ^ B 1 Árvore de Decisão
Exercícios Atributos Binários: Atributos Classe A v B 1 1 Árvore de Decisão
Exercícios Atributos Binários: Atributos Classe A v B 1 A 1 1 1 B 1 Árvore de Decisão 1
Critério para escolha do Atributo Como medir a habilidade de um atributo discriminar as classes? Dois Pontos básicos Uma divisão que mantêm as proporções de classes em todas as partições é inútil Uma divisão onde em cada partição todos os exemplos são da mesma classe tem utilidade máxima Árvore de Decisão 10/10 10/10 5/5 5/5 10/0 0/10
Critério para escolha do Atributo Tempo Temperatura Umidade Vento Joga Sol 85 Não 80 90 Sim Nublado 83 86 Chuva 70 96 68 65 64 72 95 69 75 81 71 91 Árvore de Decisão
Critério para escolha do Atributo Vento SIM NÃO Tempo Temp. Umidade Vento Joga Sol 80 90 Sim Não Chuva 65 70 Nublado 64 75 72 71 91 Tempo Temp. Umidade Vento Joga Sol 85 Não Nublado 83 86 Sim Chuva 70 96 68 80 72 95 69 75 81 Árvore de Decisão
Critério para escolha do Atributo Tempo SOL CHUVA Tempo Temp. Umid. Vento Joga Chuva 70 96 Não Sim 68 80 75 65 71 91 Tempo Temp. Umid. Vento Joga Sol 85 Não 72 95 69 70 Sim 80 90 75 NUBLADO Árvore de Decisão Tempo Temp. Umid. Vento Joga Nublado 83 86 Não Sim 81 75 64 65 72 90
Critério para escolha do Atributo Tempo SOL CHUVA NUBLADO Temp. Umid. Vento Joga 85 Não 72 95 69 70 Sim 80 90 75 Temp. Umid. Vento Joga 70 96 Não Sim 68 80 75 65 71 91 SIM Umidade < 77,5 Umidade >= 77,5 Vento: SIM Vento: NÃO Temp. Umid. Vento Joga 69 70 Não Sim 75 Temp. Umid. Vento Joga 85 Não 72 95 80 90 Sim Temp. Umid. Vento Joga 65 70 Sim Não 71 91 Temp. Umid. Vento Joga 70 96 Não Sim 68 80 75
Critério para escolha do Atributo Tempo SOL CHUVA NUBLADO Umidade < 77,5 Vento SIM SIM NÃO SIM NÃO SIM NÃO NÃO SIM
Exercício Construa a árvore de decisão e classifique os elementos que não estão rotulados Nome Escolaridade Idade Rico (Atributo Classe) Alva Mestrado >30 Sim Amanda Doutorado <=30 Ana Não Eduardo Inês Graduação Joaquim Maria Raphael Árvore de Decisão Nome Escolaridade Idade José Doutorado 28 Carol Mestrado 37 Nelsa Graduação 35 João 29
Exercício Primeira Divisão: Escolaridade Árvore de Decisão Nome Escolaridade Idade Rico (Atributo Classe) Amanda Doutorado <=30 Sim Eduardo >30 Escolaridade Graduação Doutorado Mestrado Nome Escolaridade Idade Rico (Atributo Classe) Inês Graduação <=30 Não Joaquim >30 Sim Não ? Árvore de Decisão Nome Escolaridade Idade Rico (Atributo Classe) Alva Mestrado >30 Sim Ana <=30 Não Maria Raphael
Exercício Segunda Divisão: Idade Árvore de Decisão Escolaridade Sim Nome Escolaridade Idade Rico (Atributo Classe) Alva Mestrado >30 Sim Maria Graduação Doutorado Mestrado Sim Não > 30 Árvore de Decisão Nome Escolaridade Idade Rico (Atributo Classe) Ana Mestrado <=30 Não Raphael Sim Não Sim Não
Exercício Classificação de novos elementos Árvore de Decisão Escolaridade Graduação Doutorado Mestrado Nome Escolaridade Idade Rico? José Doutorado 28 SIM Carol Mestrado 37 Nelsa Graduação 35 NÃO João 29 Sim Não > 30 Árvore de Decisão Sim Não Sim Não
Regras de Classificação Regras do tipo SE-ENTÃO SE faixa_etária = jovem ENTÃO alto risco empréstimo Condição é formada por um ou mais testes de atributos Conclusão representa uma classe Uma regra é dita ATIVA quando os atributos de um item satisfazem as condições da regra Técnicas de Classificação
Regras de Classificação Item acionou apenas uma regra então esta regra é usada para classificar Se idade entre 25 e 30 e não tem carro ENTÃO alto risco empréstimo Se idade entre 25 e 30 e salário maior que 5 mil ENTÃO médio risco de empréstimo Elemento atende as duas regras Idade = 28 Carro = não Salário = 7 mil Técnicas de Classificação
Regras de Classificação Duas opções de escolha de regras: Priorizar as regras mais rígidas ou mais específicas (quanto maior o número de condições mais específica é a regra) Ordenar as regras de acordo com a prioridade das mesmas Técnicas de Classificação
Construção das Regras de Classificação Por árvore de decisão Técnicas de Classificação SE faixa_etária=jovem E estudante=não ENTÃO não SE faixa_etária=jovem E estudante=sim ENTÃO sim SE faixa_etária=meia-idade ENTÃO sim SE faixa_etária=idoso E renda=baixa ENTÃO não SE faixa_etária=idoso E renda=alta ENTÃO sim
Regras de Classificação Exercícios Construa as Regras de Classificação baseando-se na árvore de decisão do exercício anterior Regras de Classificação
Regras de Classificação Exercícios Se ESCOLARIDADE = Doutorado então SIM Se ESCOLARIDADE = Graduação então NÃO Se ESCOLARIDADE = Mestrado e IDADE > 30 então SIM Se ESCOLARIDADE = Mestrado e IDADE <= 30 então NÃO Regras de Classificação
Máquina de Vetores Suporte (SVM) Resolução de problemas de classificação Separar os dados em duas classes com um hiperplano Encontrar um classificador que irá trabalhar bem com dados não conhecidos Maximizar a margem entre as duas classes Técnicas de Classificação
Máquina de Vetores Suporte (SVM) Caso simples: duas classes linearmente separáveis (A e B) Dados representados pelo par (si, yi), onde si é a observação i e yi o rótulo ( ) Infinitos hiperplanos, mas apenas um maximiza a margem Máxima margem aumenta o poder de generalização do classificador Técnicas de Classificação Hiperplanos separadores para dois conjuntos de dados
Máquina de Vetores Suporte (SVM) Formulação Linearmente Separável x é o vetor normal ao hiperplano separador s é o vetor do conjunto de pontos de entrada g determina o deslocamento do hiperplano em relação a origem Técnicas de Classificação
Máquina de Vetores Suporte (SVM) Por definição Técnicas de Classificação Pontos Suporte
Máquina de Vetores Suporte (SVM) A margem é dada pela soma desses hiperplanos Margem: Técnicas de Classificação Definição do Problema SVM: Nos pontos suporte, tem-se:
Máquina de Vetores Suporte Exemplo x1 x2 Classe +1 Classe -1 2 -1 1 3 -2 1,5 -0,5 0,5 2,5 Máquina de Vetores Suporte
Máquina de Vetores Suporte Exemplo Máquina de Vetores Suporte x.s – g = -1 x.s – g = +1
Máquina de Vetores Suporte Exemplo Máquina de Vetores Suporte g(x) = -x + 2 f(x) = -x + 1
Margem Soma de f(x) = +1 e g(x) = -1 Máquina de Vetores Suporte Exemplo Margem Soma de f(x) = +1 e g(x) = -1 Margem: Máquina de Vetores Suporte
Máquina de Vetores Suporte Exemplo Máquina de Vetores Suporte h(x) = -x + 3/2 g(x) = -x + 2 f(x) = -x + 1
Máquina de Vetores Suporte Exemplo Classifique os novos pontos [-1, -1] [3, 0,5] [0, 3] [1,5, -0,5] Máquina de Vetores Suporte
Máquina de Vetores Suporte Exemplo Classifique os novos pontos [-1, -1] [3, 0,5] h(x) = -x + 3/2 Classe +1 Máquina de Vetores Suporte Classe -1
Máquina de Vetores Suporte Exemplo Classifique os novos pontos [0, 3] [1,5, -0,5] h(x) = -x + 3/2 Classe -1 Máquina de Vetores Suporte Classe +1
Problemas não linearmente separáveis Problemas que não são separáveis por um hiperplano Máquina de Vetores Suporte
Problemas não linearmente separáveis Nova formulação do problema Máquina de Vetores Suporte x permite a classificação errada de um elemento. C penaliza o erro na classificação
Máquina de Vetores Suporte Exercício x y Classe -1 Classe +1 0,5 -1 3 +1 1 2 2,5 1,5 0,75 -0,5 2,1 2,3 2,2 Encontre o classificador para os dados Máquina de Vetores Suporte X=1 X=2
Margem Soma de f(x) = -1 e g(x) = +1 Máquina de Vetores Suporte Exercício Margem Soma de f(x) = -1 e g(x) = +1 Margem: Máquina de Vetores Suporte
Máquina de Vetores Suporte Exercício X=3/2 Máquina de Vetores Suporte X=1 X=2
Máquina de Vetores Suporte Exercício Classifique os pontos [0,0] [3,3] X=3/2 Máquina de Vetores Suporte X=1 X=2
Máquina de Vetores Suporte Exemplo Classifique os novos pontos [0, 0] [3, 3] h(x) = x - 3/2 Classe -1 Máquina de Vetores Suporte Classe +1
Técnicas de Classificação Redes Neurais Redes Neurais: Simula a propagação dos sinais através dos neurônios Conjunto de unidades de entradas e saídas, nas quais cada ligação tem um peso associado a ela Backpropagation: Algoritmo de aprendizado de redes neurais Técnicas de Classificação
Desvantagens Exigem grande período de treinamento, portanto aplicáveis apenas em problemas com essa viabilidade Vários parâmetros definidos de maneira empírica, tal como a estrutura Difícil para os seres humanos interpretarem o significado simbólico por trás dos pesos aprendidos e das unidades escondidas Redes Neurais
Vantagens Grande tolerância a dados ruidosos Grande capacidade de classificação para novos dados (padrões desconhecidos) Podem ser usadas quando o usuário tiver pouco conhecimento sobre as relações entre atributos e classes Bem adaptadas a valores contínuos Têm sido bem sucedidas na resolução de vários problemas do mundo real, tais como: reconhecimento de caracteres manuscritos, medicina laboratorial, etc. Redes Neurais
Backpropagation Algoritmo que realiza o aprendizado de uma rede neural feed-forward com múltiplas camadas Aprende iterativamente um conjunto de pesos para a previsão do rótulo da classe Redes Neurais
Rede Neural Feed-Forward Estrutura: Uma camada de Entrada Uma ou mais camadas ocultas Uma camada de Saída Redes Neurais
Feed-Forward Estrutura: Cada camada é composta por unidades As entradas correspondem aos atributos calculados de cada elemento do conjunto de treinamento Cada atributo é associado a uma unidade formando a camada de entrada Redes Neurais
Feed-Forward Estrutura: Cada atributo recebe um peso após passar por uma camada A saída da camada de entrada é a entrada para primeira camada oculta A saída de uma camada escondida pode ser outra camada escondida ou a camada de saída O número de camadas ocultas é arbitrário, mas geralmente se utiliza apenas uma. Redes Neurais
Feed-Forward Estrutura: Redes Neurais Número arbitrário Entrada Oculta 1 Oculta N Saída Redes Neurais Número arbitrário
Representação do Conhecimento Conhecimento representado pelas unidades de processamento que simulam a estrutura e o comportamento dos neurônios Redes Neurais
Representação do Conhecimento Unidade vj(l-1) Unidade vi(l) X1(l-1) X2(l-1) Xn(l-1) Redes Neurais Camada (l-1) Camada (l) Potencial net do neurônio vi(l):
Representação do Conhecimento O potencial net do neurônio é aplicado à função de ativação A função de ativação g restringe o potencial de ativação do neurônio a um intervalo pré-definido Redes Neurais Saída da camada (l):
Função de Ativação Funções de ativação Redes Neurais Degrau: Semi-Linear: Sigmoidal:
Características Conhecimento do comportamento de cada neurônio individualmente Composição de várias unidades gera reações imprevisíveis A união das ativações de todas as unidades que especifica o que a rede neural está representando em um dado instante Essa incerteza do modelo que determina o interesse e a complexidade das redes neurais Redes Neurais
Estratégias de Aprendizagem Sem Treinamento Os valores dos pesos sinápticos são estabelecidos explicitamente Treinamento Supervisionado A rede é treinada pela apresentação dos vetores de entrada e seus respectivos vetores de saída (pares de treinamento) Treinamento Não Supervisionado Apresentação apenas dos vetores de entrada, a partir dos quais são extraídas as características desse conjunto de padrões, agrupando-os em classes Redes Neurais
Algoritmo Backpropagation Primeiro passo: Padrões de entrada e saída são apresentados à rede neural e uma saída aleatória é gerada Segundo passo: Cálculo do erro, representando a diferença entre o valor obtido e o valor desejado Terceiro passo: Retropropagação do erro e reajuste dos pesos sinápticos Redes Neurais
Algoritmo Backpropagation Propagação do Sinal de Entrada Entrada Oculta 1 Oculta N Saída Redes Neurais ERRO (Obtido - Desejado) Propagação do Erro
Algoritmo Backpropagation Duas fases distintas: Sinais de entradas se propagam entre as camadas da rede (camada de entrada até camada de saída) Erros são propagados na direção contrária ao fluxo de entrada (camada de saída até camada de entrada) Redes Neurais
Predição Definir um valor provável de uma variável Aplicada quando se tem dados temporais (organizados cronologicamente) Previsão de cotação de uma ação na bolsa de valores Duas técnicas principais: Regressão linear Regressão Não Linear
Regressão Linear Entende-se que os dados possuem comportamento linear Podem ser aproximados por uma reta Predição
Regressão Linear Fórmula da regressão linear Predição X variável independente (conjunto de dados) Y variável dependente (valor desejável) a define a inclinação da reta b define o ponto de interceptação da reta com o eixo vertical Predição
Regressão Linear Cálculo de a e b: Predição Média dos valores de
Exemplo Regressão Linear Semana Clientes Vendas 1 907 11,20 2 926 11,05 3 506 6,84 4 741 9,21 5 789 9,42 6 889 10,08 7 874 9,45 8 510 6,73 9 529 7,24 10 420 6,12 11 679 7,63 12 872 9,43 13 924 9,46 14 607 7,64 15 452 6,92 16 729 8,95 17 794 9,33 18 844 10,23 19 1010 11,77 20 621 7,41 Regressão Linear
Exemplo Médias: Cálculos: Reta: Clientes: 731,15 Vendas: 8,8055 b = 0,00873 Reta: y = 0,00873x + 2,423 Regressão Linear
Regressão NÃO Linear Regressão linear bastante simples, mas no mundo real a maioria dos problemas são não lineares Dados modelados por uma função que é uma combinação não-linear de parâmetros do modelo Dados ajustados por métodos de aproximações sucessivas Predição
Regressão NÃO Linear Métodos: Mínimos Quadrados Equações Normais Gauss-Newton Predição
Exercício Médias: Variável 1: 33,88 Variável 2: 16,88 Regressão Linear Variável 1 (x) Variável 2 (y) 60 50 30 45 18 40 20 35 10 15 6 3 Regressão Linear
Exercício Médias: Variável 1: 33,88 Variável 2: 16,88 Regressão Linear Variável 1 (x) Variável 2 (y) 60 50 30 45 18 40 20 35 10 15 6 3 Médias: Variável 1: 33,88 Variável 2: 16,88 Regressão Linear
Exercício Regressão Linear Variável 1 Variável 2 60 50 30 45 18 40 20 35 10 15 6 3 Regressão Linear