técnicas de mineração de dados sandra de amo faculdade de computação universidade federal de...

Post on 07-Apr-2016

262 Views

Category:

Documents

11 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Técnicas de Mineração de Dados

Sandra de AmoFaculdade de Computação

Universidade Federal de Uberlândia

27/04/23 JAI - SBC 2004 2

Técnicas de Mineração Suporte deste curso http://www.deamo.prof.ufu.br/CursoDM.html

Curso Completo DM Notas deste Mini-curso Slides deste Mini-curso Bibliografia, ….

27/04/23 JAI - SBC 2004 3

Plano do CursoAula 1

Introdução

Técnicas de Regras de Associação

Técnicas de Análise de Sequência

27/04/23 JAI - SBC 2004 4

Plano do CursoAula 2

Sequências com Restrições

Execução de um algoritmo

Técnicas de Classificação

27/04/23 JAI - SBC 2004 5

Plano do CursoAula 3

Técnicas de Clustering

Técnicas de Otimização e Implementação

Aspectos Teóricos e Generalização

Aplicações

27/04/23 JAI - SBC 2004 6

Plano do CursoAula 1

Introdução

Técnicas de Regras de Associação

Técnicas de Análise de Sequência

27/04/23 JAI - SBC 2004 7

Mineração de Dados – Por que ? Grandes volumes de dados disponiveis Muitos dados mas pouca informação Decisões são tomadas utilizando intuição.

Necessidade de transformar dados em informação util

Ferramentas de Mineração podem descobrir padrões interessantes « escondidos » nos dados.

27/04/23 JAI - SBC 2004 8

Consulta versus MineraçãoO que é Mineração de Dados

Que produtos são comprados por clientes Classe A ?

Cliente Produto Classe Social Tempo1 Vinho A T1

2 Açúcar B T2

1 Queijo A T1

3 Pão C T3

3 Leite C T3

1 Vinho A T4

1 Queijo A T4

4 Leite C T5

27/04/23 JAI - SBC 2004 9

Consulta e Resultado

Select Clientes.ProdFrom ClientesWhere Clientes. Faixa = ‘A’

Resposta : Vinho, Queijo

27/04/23 JAI - SBC 2004 10

Consulta versus Mineração

Existe ligação entre a classe social e produtos comprados numa mesma transação ?

Cliente Produto Classe Social Tempo1 Vinho A T1

2 Açúcar B T2

1 Queijo A T1

3 Pão C T3

3 Leite C T3

1 Vinho A T4

1 Queijo A T4

4 Leite C T5

27/04/23 JAI - SBC 2004 11

Resultado da Mineração Padrões

Classe A -> vinho, queijo

Classe C -> pão, leite

27/04/23 JAI - SBC 2004 12

O que é Mineração ?

Mineração de Dados

Descoberta de Conhecimento (KDD)

KDD = Knowledge Discovery in Databases

27/04/23 JAI - SBC 2004 13

Etapas do Processo de KDD

Limpeza dos Dados Integração dos Dados Seleção Transformação Mineração Avaliação ou Pós-Processamento Visualização dos Resultados

27/04/23 JAI - SBC 2004 14

Tarefas de Mineração

Tarefa ato de descobrir um certo tipo de padrão

Regras de Associação Análise de Sequências Classificação Agrupamento Outliers

27/04/23 JAI - SBC 2004 15

Como avaliar padrões ? O que significa um padrão ser interessante ?

Facil de ser entendido Inesperado

Potencialmente util Confirma uma hipotese feita pelo usuario

Tipos de medidas

Subjetivas : esperadas, inesperadas

Acontece com um certo grau de segurança

Objetivas : suporte, confiança

27/04/23 JAI - SBC 2004 16

Sistemas de Mineração

Intelligent Miner (IBM) DBMiner Enterprise Miner Clementine MineSet Genamics Expressions

27/04/23 JAI - SBC 2004 17

Critérios de Avaliação de Sistemas

Tipo de dados em que se aplica a mineração Tipo de conhecimento minerado Tipo de técnicas de mineração utilizadas Tipo de aplicação a que se destina

27/04/23 JAI - SBC 2004 18

Plano do CursoAula 1

Introdução

Técnicas de Regras de Associação

Técnicas de Análise de Sequência

27/04/23 JAI - SBC 2004 19

Regras de AssociaçãoItens = {Pão, Leite, Açúcar, ... }

Pão, Leite Manteiga

Vinho Queijo

ITEM, ITEM, ITEM ITEM

27/04/23 JAI - SBC 2004 20

Preparação dos Dados

ID Compras1 Pão, ,

2 ,Açucar

34 Manteiga, Açúcar

Leite

Leite

Leite ManteigaManteiga

Leite, Manteiga Suporte = 50%

Confiança = 66,6%

27/04/23 JAI - SBC 2004 21

Medidas de Interesse Suporte de A, B , C D

Confiança de A, B , C D

número de clientes que compraram A,B,C,D número de clientes que compraram A,B,C

número de clientes que compraram A,B,C,D Total de clientes

27/04/23 JAI - SBC 2004 22

Tarefa de MineraçãoDados : BD de transações, N, M

Retorna : regras de associação r

Sup(r) ≥ N

Conf(r) ≥ M

27/04/23 JAI - SBC 2004 23

Algoritmo: duas etapas1. Encontrar todos os I frequentes suporte(I) ≥ N

Itemset = conjunto de itens

2. Conf(A, B C) = suporte(A,B,C) ≥ Msuporte(A,B)

Itemsets

=

27/04/23 JAI - SBC 2004 24

Algoritmo Apriori

1 2 4 51 2 41 2 5Se um itemset é frequente

Todo subitemset é frequente !!

Propriedade Importante

27/04/23 JAI - SBC 2004 25

Apriori – Fase da Geração

1 3 5

1 3 4

1 4 5

2 3 5

2 3 6

2 3 4

2 4 6

3 4 6

2 5 6

F3

1 3 4 5

1 3 5

1 3 4

2 3 5

2 3 6

2 3 5 6

2 3 4

2 3 4 5

2 3 4 6

1 3 4 5

2 3 5 6

2 3 4 5

2 3 4 6C4

3 5 6

27/04/23 JAI - SBC 2004 26

Apriori – Fase da Poda

1 3 5

1 3 4

1 4 5

2 3 5

2 3 6

2 3 4

2 4 6

3 4 6

2 5 6

F3

1 3 4 5

2 3 5 6 2 3 4 6C4

3 5 6

3 4 5 2 3 4 53 4 5

2 3 5

2 3 5

2 3 6

2 3 6

5 62

2 5 6

3 5 6

3 5 6

2 3 4

2 3 4

2 3 62 4 6

2 4 6

3 4 6

3 4 6

C42 3 5 6 2 3 4 6

27/04/23 JAI - SBC 2004 27

Apriori – Fase de Validação

2 3 5 6

2 3 4 6

Banco de Dados

1 3 5 7 8

1 7

8

2 3 4 5 7 8

1 9

Contagem SuporteCandidatos

2 32 3 5 6

2 3 4 6

4 65

2 3 4 6

2 3 4 6

Suporte Mínimo: 50%

2 3 4 6F4 =

27/04/23 JAI - SBC 2004 28

Algoritmo Apriori Entrada : BD de transações, NSaida : F1, F2, F3, …

C1 = Itemsets de tamanho 1F1 = Itemsets frequentes de C1

k : = 1 While Fk não for vazio

Ck+1 := Junta(Fk, Fk)Ck+1 := Poda(Ck, Fk)Fk+1 : = Valida(BD,Ck+1, N)k : = k+1

27/04/23 JAI - SBC 2004 29

Um ExemploId Compras1 1,3,52 1,2,3,5,73 1,2,4,94 1,2,3,5,95 1,3,4,5,6,86 2,7,8

L1 = {1}, {2}, {3},{5}

Suporte minimo = 50%

{1,2}

{1,3}

{1,5}

{2,3}

{2,5}

{3,5}

C2 =

C3 = {1,2,3} {1,2,5} {1,3,5}

{1,2}

{1,3}

{1,5}

{3,5}

L2 =

L3 = {1,3,5}

27/04/23 JAI - SBC 2004 30

Plano do CursoAula 1

Introdução

Técnicas de Regras de Associação

Técnicas de Análise de Sequência

27/04/23 JAI - SBC 2004 31

Sequências

Itens = { TV, Vídeo , DVD, FitaDVD, ... }

{TV ,Vídeo} >> DVD >> FitaDVD

ITEMSET >> ITEMSET >> ITEMSET >> ... >>ITEMSET

27/04/23 JAI - SBC 2004 32

Preparação dos Dados1 , Rádio} ,

2 {Computador}

3 , {Rádio,

4 {Rádio} , {Comp}

5 {Comp} , {Impressora}

{TV

{TV}

{TV} , {DVD}{DVD}

DVD}

27/04/23 JAI - SBC 2004 33

Medidas de Interesse Suporte de < {A} , {B} , {C} , { D} >

número de clientes que compraram A,B,C,D em sequência Total de clientes

27/04/23 JAI - SBC 2004 34

Preparação dos Dados1 , Rádio} >>

2 {Computador}

3 >> {Rádio,

4 {Rádio} >>{Comp}

5 {Comp} >> {Impressora}

{TV

{TV}

{DVD}

DVD}

< {TV} , {DVD} >

Suporte = 40%

27/04/23 JAI - SBC 2004 35

Tarefa de MineraçãoDados : BD de sequências, N

Retorna : Padrões Sequenciais s

Sup(s) ≥ N

27/04/23 JAI - SBC 2004 36

Propriedade Importantedcba hgfe lkjidcb hgfe lkji mdcb hgfe lkji ma Frequente

Frequentes

27/04/23 JAI - SBC 2004 37

Sequências « Ligáveis »

a cb fed ihg

cb fed ihg

cb fed ihg

jcb fed ihg

a

j

Sequência Resultante

27/04/23 JAI - SBC 2004 38

GSP – Fase da Geração

F3

C4

< {1,2}, {3} >< {1,2}, {4} >< {1}, {3,4} >

< {1,3}, {5} >< {2}, {3,4} >< {2}, {3}, {5} >

< {1,2}, {3,4} >

< {1,2}, {3} {5} >

27/04/23 JAI - SBC 2004 39

GSP – Fase da Poda

F3

C4

< {1,2}, {3} >< {1,2}, {4} >< {1}, {3,4} >

< {1,3}, {5} >< {2}, {3,4} >< {2}, {3}, {5} >

< {1,2}, {3,4} >

< {1,2}, {3} {5} >

< {1,2}, {3,4} >< {1,2}, {3,4} >< {1,2}, {3,4} >< {1,2}, {3,4} >

< {1,2}, {3} {5} > C’4 = < {1,2}, {3,4} >

27/04/23 JAI - SBC 2004 40

GSP – Fase de Validação

Contagem SuporteCandidatas

Suporte Mínimo: 50%Banco de Dados

1

2

3

4

< {3,1,5,2}, {5}, {3,5,4} >

< {2}, {3,4} >

< {4,5}, {1,3,2}, {3,5,4,7} >

< {3}, {2,5} >

< {1,2}, {3,4} >< {3,1,5,2}, {5}, {3,5,4} >

< {4,5}, {1,3,2}, {3,5,4,7} >

F4 = < {1,2}, {3,4} >

27/04/23 JAI - SBC 2004 41

Algoritmo GSP [1996]Entrada : BD de sequências, NSaida : F1, F2, F3, …

C1 = Padrões Sequenciais de tamanho 1F1 = Padrões Sequenciais frequentes de C1

k : = 1 While Fk não for vazio

Ck+1 := Junta(Fk, Fk)Ck+1 := Poda(Ck, Fk)Fk+1 : = Valida(BD,Ck+1, N)k : = k+1

27/04/23 JAI - SBC 2004 42

Outros algoritmos Apriori-All, Apriori-Some

[Agrawal – Srikant 1995]

SPADE [M. Zaki, 2001]

PrefixSpan [Han+, 2001]

27/04/23 JAI - SBC 2004 43

Plano do CursoAula 2

Sequências com Restrições

Execução de um algoritmo

Técnicas de Classificação

27/04/23 JAI - SBC 2004 44

Otimizações : Fase de Validação Restrições Min-Max

Taxinomias

MAXMin

< açucar, TV, detergente >< café, DVD, desinfetante > < alimento, Eletro-dom, limpeza >

27/04/23 JAI - SBC 2004 45

Otimização: Fase de GeraçãoRestrições no Formato dos Padrões

[Garofalakis/Shim/Rastogi 1999] Padrões satisfazem expressão regular : TV a* DVD

{TV} - - - - - {DVD}

27/04/23 JAI - SBC 2004 46

Tarefa de MineraçãoDados : BD de transações, N, Expressão R

Retorna : Sequências s

satisfaz R

Sup(s) ≥ N

27/04/23 JAI - SBC 2004 47

Uma idéia para resolver o problemaNa Fase da Geração a partir de Lk e da expressão R gerar sequências de tamanho k+1

Potencialmente frequentes

Verificam a expressão regular R

27/04/23 JAI - SBC 2004 48

Fase da Poda

1 5 8 9L4

1 4 5 8

2 4 5 7

2 3??

Não é frequente OU

Não satisfaz R

Frequentes

ESatisfazem R

27/04/23 JAI - SBC 2004 49

Fase da Poda Quais sequências devem ser podadas ?

As que não têm chance de serem frequentes

Como saber isto só verificando as sequências obtidas nas iterações precedentes ?

1 2 4 5 7

Satisfaz R E não está em F3

27/04/23 JAI - SBC 2004 50

Geração e PodaIteração k+1 Geração : Junta sequências de Lk

Elimina aquelas que não satisfazem R Elimina aquelas que têm subsequência que

satisfaz R não é frequente

27/04/23 JAI - SBC 2004 51

Problema com esta idéiaDois tipos de poda

1. Eliminando sequências que não satisfazem R

Espaço de Busca

2. Eliminando sequências testando suas subsequências

Sequências Podadas

27/04/23 JAI - SBC 2004 52

Como encontrar um meio-termo ?Considerando um “relaxamento” de R Sequências Válidas Sequências Legais com relação a um estado q Sequências Válidas com relação a um estado q

ba dcq

27/04/23 JAI - SBC 2004 53

Algoritmo SPIRITEntrada : BD, N, autômato RSaída : sequências frequentes satisfazendo R

1. Considera “relaxamento” R’ 2. Minera sequências satisfazendo R’3. Testa aquelas que satisfazem R

27/04/23 JAI - SBC 2004 54

Relaxamentos

Sequências Legais com relação a um estado q

Sequências Válidas com relação a um estado q

ba dcq

27/04/23 JAI - SBC 2004 55

Algoritmo SPIRIT - Geração e PodaR’ : relaxamento de RIteração k+1 Geração : “Junta” sequências de Lk Poda : Elimina aquelas que têm subsequência que

satisfaz R’ não é frequente

Junção : depende do tipo de relaxamento considerado.

27/04/23 JAI - SBC 2004 56

Ex: Fase da Geração em SPIRIT(V)

1 2 4 5 7 Valida com respeito ao estado Q

e frequente

Q1 Q2 Q 3Q1 2 4

Q4 Q5

5 7Q1

<2,4,5,7> deve ser valida com respeito a Q1

Deve existir « flecha » de Q parq Q1

27/04/23 JAI - SBC 2004 57

Exemplo

q0

q1

q2

q3

ab

c

c

e

d

a

F2(q0) = <a,c>, <a,e> F2(q1) = <b,c>

F2(q2) = <d,c>, <d,e>

F2(q3) = vazio

q0 : <a,b,c> q0 : <a,d,c>, <a,d,e>,

q1 : <b,b,c>

q2 : <d,d,c>, <d,d,e> Fase da Poda

Nenhuma é podada

27/04/23 JAI - SBC 2004 58

As 4 Variantes de SPIRIT SPIRIT(N) : Nenhuma restrição (GSP)

SPIRIT(L) : Legais c.r. a algum estado de R

SPIRIT(V) : Válidas c.r. a algum estado de R

SPIRIT(R) : Satisfazem o autômato R

27/04/23 JAI - SBC 2004 59

Resultados Experimentais

Algoritmo Tempo (seg) Total Cand. IteraçõesSPITIT(N) 1562,80 5896 13SPIRIT(L) 32,77 1393 10SPIRIT(V) 16 59 5SPIRIT(R) 17,67 52 7

Logs de páginas Web acessadas por usuários de um DCC

URL começando em Home e terminando em PosGradDCC

27/04/23 JAI - SBC 2004 60

Plano do CursoAula 2

Sequências com Restrições

Técnicas de Classificação

Execução de um algoritmo

27/04/23 JAI - SBC 2004 61

ClassificaçãoNome Idade Renda Profissão ClasseDaniel ≤ 30 Média Estudante SimJoão 31..50 Média-Alta Professor Sim

Carlos 31..50 Média-Alta Engenheiro SimMaria 31..50 Baixa Vendedora NãoPaulo ≤ 30 Baixa Porteiro NãoOtavio > 60 Média-Alta Aposentado Não

SE.

Idade ≤ 30 Renda é Média Compra-Produto-Eletrônico = SIM. E ENTÃO

27/04/23 JAI - SBC 2004 62

Etapas do Processo

REGRAS

Classificador

Amostras Classificadas Banco de

Testes

REGRAS CONFIÁVEIS

27/04/23 JAI - SBC 2004 63

Árvore de Decisão IDADE

RENDA PROFISSÃO

≤ 30

BM M-A A

>60 51-6031-50

Med Prof VendEng

Não

SimSim Sim SimNão Não

Sim

Sim Sim

Se Idade ≤ 30 e Renda é Baixa então Não compra Eletrônico

Se Idade = 31-50 e Prof é Médico então compra Eletrônico

27/04/23 JAI - SBC 2004 64

Como criar uma Árvore de Decisão

C1CASO 1A B C CLASSEa1 b1 c1 Xa1 b2 c1 Xa2 b1 c1 Xa2 b2 c2 Xa1 b2 c2 X

27/04/23 JAI - SBC 2004 65

Como criar uma Árvore de DecisãoA B C CLASSE

a1 b1 c1 Xa1 b2 c1 Xa2 b1 c1 Ya2 b2 c2 Xa1 b2 c2 Y

A B C CLASSEa1 b1 c1 Xa1 b2 c1 Xa1 b2 c2 Y

CASO 2

LISTA-ATRIBUTOS = {

Atributo-Teste =

O que mais reduz a entropia

A B C CLASSEa2 b1 c1 Ya2 b2 c2 X

A

a1 a2

A, B, C }

27/04/23 JAI - SBC 2004 66

Como criar uma Árvore de Decisão

A B C CLASSE

a1 b2 c2 Y

A B C CLASSEa1 b1 c1 Xa1 b2 c1 Xa1 b2 c2 YA B C CLASSE

a1 b1 c1 X

a1 b2 c1 X

LISTA-ATRIBUTOS = {

Atributo-Teste =

O que mais reduz a entropia = C

Aa1 a2

B, C }

C

c1 c2

X Y

27/04/23 JAI - SBC 2004 67

Qual é o Atributo-Teste ? Divide-se o nó segundo cada atributo.

Para cada divisão calcula-se a entropia produzida caso fosse escolhido este atributo.

Considera-se o atributo cuja divisão resulta numa maior redução da entropia.

27/04/23 JAI - SBC 2004 68

Informação ganha na divisão Entrop(A) = -NC1 log2 NC1 - NC2 log2 NC2

Tot Tot Tot Tot Entrop(D) = -(NF1 * Entrop(F1) + NF2 * Entrop(F2))

Tot Tot

Info(Divisão) = Entrop(A) – Entrop (D)

Maior Info(Divisão) Atributo escolhido

27/04/23 JAI - SBC 2004 69

Um ExemploAparência Temperatura Humidade Vento Classe

Sol Quente Alta Não Ruim

Sol Quente Alta Sim Ruim

Encoberto Quente Alta Não Bom

Chuvoso Agradavel Alta Não Bom

Chuvoso Frio Normal Não Bom

Chuvoso Frio Normal Sim Ruim

Encoberto Frio Normal Sim Bom

Sol Agradavel Alta Não Ruim

Sol Frio Normal Não Bom

Chuvoso Agradavel Normal Não Bom

Sol Agradavel Normal Sim Bom

Encoberto Agradavel Alta Sim Bom

Encoberto Quente Normal Não Bom

Chuvoso Agradavel Alta Sim Ruim

27/04/23 JAI - SBC 2004 70

1a divisão possível : Aparência APARÊNCIA

Sol ChuvaEnc

BomBomBom

Bom Bom

BomBomBom

BomBom

RuimRuim Ruim

Ruim

Entrop(D) = 5/14 * Entrop(F1) + 4/14*Entrop(F2) + 5/14*Entrop(F3)

Entrop(F1) = -3/5*log2(3/5) - 2/5*log2 (2/5) = 0.971Entrop(F2) = - 4/4*log2 (4/4) = 0

Entrop(F3) = - 3/5*log2(3/5) - 2/5*log2(2/5) = 0.971

= 0.693

27/04/23 JAI - SBC 2004 71

Redução da Entropia

Entrop(A) = - (9/14 * log2 (9/14) + 5/14* log2(5/14)) = = 0.940

INFO(APARÊNCIA) = Entrop(A) – Entrop(D) = = 0.940 - 0.693 = 0.247

27/04/23 JAI - SBC 2004 72

Comparando as 4 possibilidades Info(Aparência) = 0.247

Info(Temperatura) = 0.029

Info(Humidade) = 0.152

Info(Vento) = 0.020

27/04/23 JAI - SBC 2004 73

Redes Neurais

2

I1

I3

I2

Camada Intermediaria

Camada de Output

Camada de Input

w323

Conjunto de unidades

input output

Conceito de Neurônio Artificial

27/04/23 JAI - SBC 2004 74

Rede Neural e Classificação

∑ INPUT Ij na unidade j

+ θj

w0j

w1j

w2j

x0

x2

x1

Output Oj

Função de AtivaçãoOutputs da Camada precedente

Pesos Média ponderadados outputs recebidos

tendência

27/04/23 JAI - SBC 2004 75

Backpropagation – Fase de IDA

I1

I3

I2

C1

C2

C3

Classe C1

δ1

δ2

δ3

1 ?

0 ?

0 ?

27/04/23 JAI - SBC 2004 76

Backpropagation – Fase de Volta

I1

I3

I2

C1

C2

C3

Ajusta pesos

w22

w32

w12w12

w32

w22

Ajusta pesos

w22

w32

w12w12

w32

w22

27/04/23 JAI - SBC 2004 77

Condições de Parada Epoca = tempo necessário para que todas

as amostras sejam analisadas.

Processo se repete até que: Os reajustes dos pesos são “muito pequenos”. Só uma “pequena” porcentagem de amostras

foram mal classificadas pela rede. Um número “máximo” de épocas foi atingido.

27/04/23 JAI - SBC 2004 78

Backpropagation Objetivo: obter uma rede neural treinada

Centenas de milhares de épocas são necessárias

para a convergência dos pesos.

Teoricamente, convergência não é garantida.

Na prática, os pesos convergem depois de um grande número de épocas.

27/04/23 JAI - SBC 2004 79

Ida : Como são calculados os outputs I1

I2

I3

iw2i

w3i

w1i

Oi = F( w1i*I1 + w2i*I2 + w3i*I3 + θi )

Oi

F(x) = 1/(1+e-x)

27/04/23 JAI - SBC 2004 80

Volta: Cálculo dos Erros

δi Erro em unidade da última camadaTi (0-1) ?

Ei = δi(1- δi)(Ti – δi)

i

i2

3

wi1

wi2

wi3

E’i = δi(1- δi)(E1*wi1+E2*wi2+E3wi3)

Erro em unidade da camada intermediária1

27/04/23 JAI - SBC 2004 81

Reajustes dos pesos e tendências Novo peso wij

wiji j

Novo-wij = Velho-wij + λ EjOi

Nova Tendência θj

λ = Taxa de Aprendizado λ(t) = 1/t

Evita que o processo fique parado num “mínimo local”

Novo-θj = Velho- θj + λ Ej

t = iteração atual

27/04/23 JAI - SBC 2004 82

Exemplo1

0

1

1

2

3

4

5

6

w14

w24

w34

w46

w56

w14

Amostra classificada na classe C = 1

W14 W15 W24 W25 W34 W35 W46 W56 θ4 θ5 θ6

0.2 -0.3 0.4 0.1 -0.5 0.2 -0.3 -0.2 -0.4 0.2 0.1

27/04/23 JAI - SBC 2004 83

Exemplo Ida

Volta

Unidade Input Output4 0.2 + 0 – 0.5 – 0.4 = - 0.7 1/1+e0.7 = 0.3325 -0.3 + 0 + 0.2 + 0.2 = 0.1 1/1+e-0.1 = 0.5256 (-0.3)(0.332) – (0.2)(0.525) + 0.1 = - 0.105 1/1+e0.105 = 0.474

Unidade Erro6 (0.474)(1 - 0.474)(1 - 0.474) = 0.13115 (0.525)(1 - 0.525)( 0.1311)(-0.2) = -0.00654 (0.332)(1 - 0.332)( 0.1311)(-0.3) = -0.0087

27/04/23 JAI - SBC 2004 84

Ex: Ajustes dos Pesos e TendênciasAntigo Valor Reajustado

W46 = -0.3 -0.3 + (0.90)(1.3311)(0.332) = -0.261

w56 = -0.2 -0.2 + (0.90)(1.3311)(0.525) = -1.138

w14 = 0.2 0.2 + (0.90)(-0.0087)(1) = 0.192

w15 = -0.3 -0.3 + (0.90)(-0.0065)(1) = -0.306

w24 = 0.4 0.4 + (0.90)(-0.0087)(0) = 0.4

w25 = 0.1 0.1 + (0.90)(-0.0065)(0) = 0.1

w34 = -0.5 -0.5 + (0.90)(-0.0087)(1) = -0.508

w35 = 0.2 0.2 + (0.90)(-0.0065)(1) = 0.194

θ6 = 0.1 0.1 + (0.90)(1.1311) = 0.218

θ5 = 0.2 0.2 + (0.90)(-0.0065) = 0.194

θ4 = -0.4 -0.4 + (0.90)(-0.0087) = -0.408

27/04/23 JAI - SBC 2004 85

Vantagens e Desvantagens Fase de treinamento demorada Muitos parâmetros, determinados empiricamente

Fraca interpretabilidade

Alta tolerância a ruídos

Resultados Confiáveis

27/04/23 JAI - SBC 2004 86

Plano do CursoAula 2

Sequências com Restrições

Técnicas de Classificação

Execução de um algoritmo

27/04/23 JAI - SBC 2004 87

Intelligent Miner – Janela Principal

27/04/23 JAI - SBC 2004 88

Mineração

27/04/23 JAI - SBC 2004 89

Resultados da Mineração

27/04/23 JAI - SBC 2004 90

Estatística

27/04/23 JAI - SBC 2004 91

Plano do CursoAula 3

Técnicas de Clustering

Técnicas de Otimização e Implementação

Aspectos Teóricos e Generalização

Aplicações

27/04/23 JAI - SBC 2004 92

Agrupamento -Análise de Clusters

a F 1 0 1 1b M 0 0 1 1c F 1 1 1 0d F 1 0 0 0e M 1 1 0 1

a2 a3

a1

a11

a4

a7

a9a10a5

Número de Clusters = 3 Conceito = Doença

Doença X

Doença Z

Doença Y

a8

a6

a1

.

.

.

a2

Nome Sexo Sintomas

27/04/23 JAI - SBC 2004 93

Clusterização versus Classificação Classificação

Aprendizado Supervisionado Amostras de treinamento são classificadas Número de Classes é conhecido

Aprendizado por Exemplo Clusterização

Aprendizado Não Supervisionado Aprendizado por Observação

27/04/23 JAI - SBC 2004 94

Dados de Treinamento

x11 x12 x13 ... x1n

x21 x22 x23 ... x2n

x31 x32 x33 ... x3n

... ... ... ... ...xp1 xp2 xp3 ... xpn

0 0 ... 0d(x1,x2) 0 ... 0d(x1,x3) d(x2,x 3) ... 0

... ... ... 0d(x1,xp) d(x2,x p) ... 0

Matriz de dados padronizados Matriz de dissimilaridade

Distância Euclidiana D(x,y) = (x1-y1)2 + (x2-y2)2 + .... + (xp – yp)2

Outras distâncias : Manhattan, Minkowski, Ponderada

27/04/23 JAI - SBC 2004 95

Métodos de Clusterização Particionamento (k-means, k-medóides,..)

Hierárquicos Aglomerativos (BIRCH, CURE, CHAMELEON, ROCK...)

Hierárquicos Divisórios (DIANA)

Baseados em Densidade (DBSCAN,OPTICS, DENCLUE)

27/04/23 JAI - SBC 2004 96

Particionamento

BD com n amostras

K = número de clusters desejado ( parâmetro )

K ≤ n

27/04/23 JAI - SBC 2004 97

Hierárquicos Aglomerativos

BD com n amostras

K = número de clusters desejado ( parâmetro )

K ≤ n

27/04/23 JAI - SBC 2004 98

K-means

1ª Iteração2ª Iteração

+

+

+

27/04/23 JAI - SBC 2004 99

Clustering Using REpresentatives (CURE) No início, cada amostra é um cluster.

número de clusters = número de amostras Calcula-se distância entre os clusters. Clusters próximos são reunidos num único cluster. Repete-se o processo de cálculo da distância entre

clusters e reunião de clusters próximos. O processo termina quando se atinge o número pré-

fixado de clusters.

27/04/23 JAI - SBC 2004 100

Distância entre Clusters

CURE

27/04/23 JAI - SBC 2004 101

Calculo da Distância entre Clusters CURE

+ +

Coeficiente de Retração

Numero de elementos escolhidos em cada cluster

Parâmetros de Entrada

27/04/23 JAI - SBC 2004 102

Parâmetros de Ajuste Representantes : capturam o formato do cluster Retração em direção do centro de gravidade:

Diminuir a influência de ruidos Coeficientes de retração :

Valores pequenos : favorecem clusters de formato não convexo, menos compacto

Valores grandes : aproximam os representantes do centro do cluster, favorecem clusters convexos, de forma esférica.

27/04/23 JAI - SBC 2004 103

Vantagens e Desvantagens CURE detecta clusters de formato arbitrário K-means detecta clusters de formato esférico

CURE é robusto quanto a outliers

Desvantagem de CURE : complexidade O(n2), n= tamanho do banco de dados

27/04/23 JAI - SBC 2004 104

Plano do CursoAula 3

Técnicas de Clustering

Técnicas de Otimização e Implementação

Aspectos Teóricos e Generalização

Aplicações

27/04/23 JAI - SBC 2004 105

Otimização (Apriori-GSP) Gerenciamento de Buffer

Otimização 1 : reduzir n° de testes na fase de geração n° de testes na fase de poda n° de testes na fase de validação

Otimização 2 : reduzir tamanho do BD

Otimização 3 : reduzir n° de varridas no BD

Otimização 4 : reduzir n° de candidatos gerados

27/04/23 JAI - SBC 2004 106

Gerenciamento de Buffer Se Fk e Ck+1 cabem em memoria principal:

geração e poda realizadas em memoria principal Se Fk cabe e Ck+1 não cabe: Gera-se o numero maximo de candidatos que cabem

em memoria principal Poda-se estes candidatos Se sobra espaço, gera-se mais, poda-se, … Contagem do suporte Candidatos frequentes são armazenados em disco.

27/04/23 JAI - SBC 2004 107

Gerenciamento do Buffer Se Lk e Ck+1 não cabem na memoria principal Ordena-se e estoca-se Lk em disco Carrega-se um bloco de Lk em memoria

principal, onde os k-2 primeiros elementos são idênticos.

Junta e calcula suporte Frequentes são armazenados em disco

27/04/23 JAI - SBC 2004 108

Exemplo

1 2 31 2 41 2 51 2 61 2 71 3 41 3 51 3 6

L3 Capacidade da Memoria : 3 itemsets de tamanho 3 + 1 pagina para contagem do suporte

Primeiro bloco : <1,2,3>, <1,2,4>, <1,2,5>

Gerados : <1,2,3,4>, <1,2,3,5>, <1,2,4,5>

Suporte é avaliado na pagina extra

Segundo bloco : <1,2,3>, <1,2,6>, <1,2,7>

27/04/23 JAI - SBC 2004 109

Otimização 1 - Árvore Hash1

2

3

1

2

3

1

2

3

1

2

3

1

2

3

Tabelas Hash

Folhas : armazena padrões

27/04/23 JAI - SBC 2004 110

Como armazenar padrões na Árvore

Pão, LeitePão, AçucarPão, ManteigaLeite, AçúcarLeite, ManteigaAçúcar, Manteiga

Pão, LeitePão, AçucarPão, ManteigaAçúcar, Manteiga

Leite, AçúcarLeite, Manteiga

h(i1) = 2h(i1) = 1

h(Pão) = h(Açucar) = 1

h(Manteiga) = h(Leite) = 2N = Número maximo de elementos na folha = 3

27/04/23 JAI - SBC 2004 111

Como armazenar padrões na Árvore

Pão, LeitePão, ManteigaAçúcar, Manteiga

Leite, AçúcarLeite, Manteiga

h(i1) = 2h(i1) = 1

Pão, Açúcar

h(i2) = 1 h(i2) = 2

27/04/23 JAI - SBC 2004 112

Geração de candidatos

1

< 1, 4, 8 >< 3, 6, 8 >< 1, 2, 4 >

2

1 2

1 2

1 2

2

< 1, 2, 5 >< 2, 4, 7 >

< 6, 8, 10 >< 2, 4, 6 >

x 2 2

< 6, 8, 9 >

1

2 2 y

< 3, 6, 8 > < 6, 8, 9 > x < 3, 6, 8, 9 >

< 3, 6, 8 >< 1, 2, 4 >

< 6, 8, 10 >< 2, 4, 6 >

xx

<3, 6, 8, 10 ><1, 2, 4, 6>

27/04/23 JAI - SBC 2004 113

Poda dos Candidatos

1

{ 1, 4, 8 }{ 3, 6, 8 }{ 1, 2, 4 }

2

1 2

1 2

1 2

2

{ 1, 2, 5 }{ 2, 4, 7 }

{ 6, 8, 10 }{ 2, 4, 6 }

{ 6, 8, 9 }

1

{ 1, 2, 5, 6 }Candidato:

Sub-itemset: { 1, 2, 5 }

{ 1, 2, 5 }{ 2, 4, 7 }

{ 1, 2, 5 }{ 1, 2, 5 }{ 1, 2, 5 }{ 1, 2, 6 }{ 1, 2, 6 }{ 1, 2, 6 }{ 1, 2, 6 }

h(n) = 1 se n é ímpar

h(n) = 2 se n é par

Folhas : máximo de 3 elementos

27/04/23 JAI - SBC 2004 114

Validação dos Candidatos

1

{ 1, 4, 8 } - 0{ 3, 6, 8 } - 0{ 1, 2, 6 } - 0

2

1 2

1 2

1 2

2

{ 1, 2, 5 } - 0{ 2, 4, 7 } - 0

{ 6, 8, 10 } - 0{ 2, 4, 6 } - 0

{ 6, 8, 9 } - 0

1

{ 1, 2, 5, 6 }

Transação do banco

{ 1, 5, 9 } - 0 { 2, 5, 6 } - 0

{ 1, 2, 5, 6 }{ 1, 2, 5, 6 }{ 1, 2, 5, 6 }{ 1, 2, 5, 6 }{ 1, 2, 5, 6 }{ 1, 2, 5, 6 }

{ 1, 2, 5 } - 1{ 2, 4, 7 } - 0{ 1, 2, 5 } - 1{ 2, 4, 7 } - 0

{ 1, 4, 8 } - 0{ 3, 6, 8 } - 0{ 1, 2, 6 } - 1

{ 1, 4, 8 } - 0{ 3, 6, 8 } - 0{ 1, 2, 6 } - 1

{ 1, 2, 5, 6 }{ 1, 2, 5, 6 }{ 1, 2, 5, 6 }

{ 2, 5, 6 } - 1{ 2, 5, 6 } - 1

27/04/23 JAI - SBC 2004 115

2 – Redução do tamanho do BD Iteração k

t : transação do BD não suporta nenhum padrão de tamanho k

Iteração k+1 t : não suporta nenhum padrão de tamanho k +1

t pode ser eliminada do BD na iteração k

27/04/23 JAI - SBC 2004 116

3 - Redução de « varridas » no BD Método convencional : BD é varrido N vezes

N = número de iterações.

Método de Particionamento do BD [Savarese+ 1995]BD é varrido 2 vezes

27/04/23 JAI - SBC 2004 117

Método do Particionamento Apriori/GSP em memória principal

Encontra padrões frequentes locais

Frequente local

Testa os padrões frequentes locais

Frequente Global

Frequente em ao menos um Local

DB

27/04/23 JAI - SBC 2004 118

4: Redução de candidatos gerados Restrições de expressão regular (Garofalakis+ 1999)

Restrições de gramática livre do contexto (Antunes-Oliveira 2002)

< pedido1, pedido2, fatura1, fatura2 >

Itemsets: restrição de item (Agrawal-Srikant 1997)

(Pão AND Leite) OR (Açúcar AND Café AND ¬ Sal)

27/04/23 JAI - SBC 2004 119

Plano do CursoAula 3

Técnicas de Clustering

Técnicas de Otimização e Implementação

Aspectos Teóricos e Generalização

Aplicações

27/04/23 JAI - SBC 2004 120

Técnica Crescimento-Poda-Validação Quadro Geral

L = Linguagem de Especificação de PadrõesEx : < a, b, c, d >

Q = Condição de SeleçãoQuais padrões de L são interessantes ?

Tarefa de Mineração S = { p Є L | p satisfaz Q }

27/04/23 JAI - SBC 2004 121

Como percorrer o espaço de busca ? Do mais geral ao mais específico

Relação de especialização entre os padrõesO que caracteriza um padrão ser mais geral do que outro ?Ex: < {b}, {e} > é mais geral que < {a,b}, {c,d}, {a,e} >

Ordem Parcial em L : p ≤ q se p é mais geral que q Reflexiva : p ≤ p Antissimétrica: Se p ≤ q e q ≤ p então p = q Transitiva : Se p ≤ q e q ≤ r então p ≤ r

27/04/23 JAI - SBC 2004 122

Propriedade de Antimonotonia ≤ é antimonotônica com relação à condição Q Se p ≤ q e q satisfaz Q então p satisfaz Q

Se um padrão q é interessante então todos os padrões mais gerais p também são interessantes.

Exemplo: Q : p satisfaz Q se suporte(p) ≥ α ( 0 ≤ α ≤ 1 dado ) p ≤ q e suporte(q) ≥ α então suporte(p) ≥ α

q

p

27/04/23 JAI - SBC 2004 123

Algoritmo Geral

Mais gerais

Mais específicos

27/04/23 JAI - SBC 2004 124

Algoritmo Level Search1. C1:= {q Є L | não existe p Є L, p < q }2. i:= 13. While Ci ≠ vazio

1. Fi = {p Є Ci | p satisfaz Q}2. Ci+1 := {p Є L | para todo q < p tem-se que q Є Uj ≤ i Fj}

– Uj ≤ i Cj

1. i:= i+1

4. Retorna Uj ≤ i Fj

27/04/23 JAI - SBC 2004 125

Exemplo 1: Regras de Associação Linguagem L :

alfabeto = conjunto de itens IL = conjunto de itemsets sobre I

Relação de Especialização : I, J Є L I ≤ J se I está contido em J C1 = itemsets mais gerais possíveis

= itemsets unitários

27/04/23 JAI - SBC 2004 126

Exemplo 2: Sequências Linguagem L :

alfabeto = conjunto de itens IL = conjunto de sequências de itemsets de I

Relação de Especialização : I, J Є L I ≤ J se I está contida em J C1 = sequências mais gerais possíveis

= sequências unitárias < {a} >

27/04/23 JAI - SBC 2004 127

Novo : Episódios [Mannila+ 1997] Coleção de eventos que ocorrem durante um

intervalo de tempo

Episódio = grafo Vértices = eventos Arestas especificam a ordem temporal de

precedência dos eventos

Banco de dados : longa sequência de eventos

27/04/23 JAI - SBC 2004 128

Novo : Episódios [Mannila+ 1997]Tarefa de MineraçãoDados : uma longa sequência de eventos S,

N > 0, 0 ≤ M ≤ 1

Encontrar todos os episodios ocorrendo em S, num intervalo de largura N e com frequência superior a M.

27/04/23 JAI - SBC 2004 129

Episódios

E B E C E E A B D C E A EAFD

A

B

C

BB A C A C

27/04/23 JAI - SBC 2004 130

Episódios Linguagem L :

alfabeto = conjunto de eventos EL = conjunto dos grafos etiquetados em E

Relação de Especialização : G, G’ Є L G ≤ G’ se G é isomorfo a um subgrafo de G’ C1 = Grafos mais gerais possíveis

= grafos unitarios

27/04/23 JAI - SBC 2004 131

Plano do CursoAula 3

Técnicas de Clustering

Técnicas de Otimização e Implementação

Aspectos Teóricos e Generalização

Aplicações

27/04/23 JAI - SBC 2004 132

Aplicações Marketing Medicina Telecomunicações Agropecuária Meteorologia Web Mining Bioinformática

27/04/23 JAI - SBC 2004 133

Mineração na Web (Web Mining) Mineração do Uso da Web

Descobrir padrões de comportamento de navegação dos usuários da Internet.

melhorar arquitetura dos site distribuição de material publicitário no site

Mineração do Conteudo da Web

27/04/23 JAI - SBC 2004 134

Mineração do Uso da WebDados = Arquivo de Logs

u1 (s1, d1) t1

u2 (s2, d2) t2

u3 (s3, d3) t3

IdUser (IP) End. Origem End. Destino Tempo

< (s1,d1), (s2,d2), (s3,d3), ... >

27/04/23 JAI - SBC 2004 135

Sequência de Páginas Visitadas

B O

A

C

D

E

G

H W

U V

1

2

43

56

7

89

10

11

12

13 14 15

< A B C D EBC G WH AG O U O V >

A = (null, A) B = (A, B) C = (B, C) ….

27/04/23 JAI - SBC 2004 136

Transformação das Sequências

Sequências Maximais Para Frente

< A B C D > < A B E G H > < A B E G W > < A O U > < A O V >

Arquivo de Logs Sequências Maximais para Frente

Arquivo de Logs

27/04/23 JAI - SBC 2004 137

Padrões Sequenciais Sequências de referência : <a1, a2, …, an>

Sequência de referência suportada por sequência maximal para frente

A B C E F D< >

27/04/23 JAI - SBC 2004 138

Esquema Geral do Processo Transformação do Bando de Dados de logs

num arquivo de sequências maximais para frente.

Mineração das sequências de referência frequentes.

Seleção das maximais

27/04/23 JAI - SBC 2004 139

Algoritmo MF para Transformação

B O

A

C E

G

H W

U V

1

2

43

56

7

89

10

11

12

13 14 15

Mov String Y SeqMax

1

2

3

6

4

5

7

8

AB

ABC

ABCD

ABC

ABE

AB

ABEGABEGH

-

-

-

ABCD

-

-

--

9 ABEG ABEGH

D

27/04/23 JAI - SBC 2004 140

Topicos Importantes de Estudo Mineração Interativa Mineração Incremental Linguagens de Mineração Ferramentas de Visualização Gerenciamento de ruidos e dados incompletos Eficiência e Escalabilidade dos algoritmos de

mineração.

27/04/23 JAI - SBC 2004 141

Exercicio 1{1,3,5,7,8}{3,4,5,7}{2,3,5,6}

{2,4,5,8,9}{2,3,5,11}{1,2,3,7,9}

F1 = {2}, {3}, {5}, {7}

Suporte = 50%

C1 = {1}, {2}, {3}, {4} ,{5}, {6 },{7}, {8}, {9},{11}

C2 = {2 3}, {2 5}, {2 7}, {3 5}, {3 7}, {5 7}

F2 = {2,3}, {2 5}, {3 5}, {3 7}

C3 = {2,3,5}, {3,5,7}

Apos a poda : C3 = {2,3,5}

F3 = vazio

27/04/23 JAI - SBC 2004 142

Exercicio 2

q0 q1 q2

q3

0 1

1 32 5

F2(q0) = <0,1> <0,2> F2(q1) = <1,2>

F2(q2) = <5,1> <5,3>

Fase da Geração

Q0: <0,1,2>Q1: <1,5,2>, <1,5,3> <2,3,5>

F2(q3) = <3,5>

Q2: <5,3,5> Q3: <1,1,2> <3,5,1> <3,5,3>

Fase da Poda

Podadas : <1,5,2>

<1,5,3> <2,3,5><1,1,2> <2,3,5>

27/04/23 JAI - SBC 2004 143

FIM Suporte deste curso http://www.deamo.prof.ufu.br/CursoDM.html

Curso Completo DM Notas deste Mini-curso Slides deste Mini-curso Bibliografia, ….

Questões ?

top related