Sistemas de Apoio à Decisão Guia de Exercíciosejvm/OLAP/guia-SAD.pdf · Guia de Exercícios...

15
Sistemas de Apoio à Decisão Guia de Exercícios Pedro Campos Departamento de Matemática e Engenharias

Transcript of Sistemas de Apoio à Decisão Guia de Exercíciosejvm/OLAP/guia-SAD.pdf · Guia de Exercícios...

Sistemas de Apoio à Decisão

Guia de Exercícios

Pedro Campos

Departamento de Matemática e Engenharias

Normalização de Dados e Operações OLAP 1. Usando os dados para o atributo idade, (13, 15, 16, 16, 19, 20, 20, 21, 22, 22, 25, 25, 25, 25, 30, 33, 33, 35, 35, 35, 35, 36, 40, 45, 46, 52, 70), responda às seguintes questões: a) Use normalização min-max para transformar o valor 35 de idade para o intervalo [0.0, 1.0]. b) Use normalização z-score para transformar o valor 35 de idade,sendo o desvio padrão da idade 12.94 anos. c) Use normalização por decimal scaling para transformar o valor 35 de idade. d) Qual dos métodos utilizaria e porquê? 2. N., Gócio & D’axina fornece serviços de voos charter “on demand”, usando um mix de aviões e tipos de aviões. O gestor de operações pretende analisar dados dos voos charter, como por exemplo custo, horas de voo, combustível gasto e receita. Também pretende realizar drill-downs por piloto, cliente, avião, tipo de avião e período de tempo (semana, mês, trimestre, ano). Os requisitos para a datawarehouse são, portanto:

• Mostrar o número total de horas de voo por diferentes aviões, clientes, pilotos, períodos de tempo (semana, mês e ano).

• Mostrar o custo total por aviões, clientes, pilotos e períodos de tempo (semana, mês e ano).

• Comparar a receita dos charters por pilotos, aviões, e por diferentes períodos de tempo, etc.

a) Defina a tabela de factos. b) Defina as dimensões apropriadas c) Desenhe o esquema em estrela da datawarehouse usando as estruturas definidas nas alíneas a) e b). d) Recomende uma hierarquia de dimensões apropriada para a dimensão avião. 3. Suponha que uma datawarehouse é composta por quatro dimensões: data, espectador, localização e jogo, sendo os factos mensuráveis quantidade e tarifa, onde tarifa é o preço-que um espectador paga para assistir a um jogo numa determinada data num certa locali-zação. Os espectadores podem ser estudantes, adultos ou séniores, tendo cada uma destas categorias a sua respectiva tarifa. a) Desenhe um diagrama em estrela para a datawarehouse. Para cada dimensão, defina pelo menos três atributos.

b) Começando pelo cubóide base [data, espectador, localização, jogo], que operações OLAP específicas têm de ser realizadas a fim de listar o preço total pago pelos especta-dores estudantes no estádio do Dragão em 2004. 4. Considere a seguinte tabela de factos “Vendas”: IDProduto IDLocal Mês Venda 100 1 Maio 25 100 1 Junho 8 100 1 Julho 15 110 1 Maio 30 110 1 Junho 20 110 1 Julho 50 120 1 Maio 8 120 1 Junho 10 120 1 Julho 10 100 2 Maio 35 100 2 Junho 22 100 2 Julho 10 110 2 Maio 26 110 2 Junho 45 110 2 Julho 20 120 2 Maio 20 120 2 Junho 40 120 2 Julho 5 a) Mostre o resultado de uma operação pivot sobre a tabela “Vendas” nos atributos ID-Produto e Mês (medida: Venda). b) Assuma a seguinte tabela de dimensão “Produto”:

IDProduto Nome Categoria Produtor 100 Vídeo Electrónica Panasonica 110 Máq. Foto. Electrónica Sonya 120 Frigorífico Electrodoméstico Miela

Mostre o resultado de uma operação roll-up sobre o atributo IDProduto no resultado da alínea (a), i.é, o resultado de realizar um pivot à tabela Vendas sobre os atributos IDPro-duto e Mês é o argumento da operação roll-up.

Aprendizagem de Conceitos

Algoritmo de Eliminação de Candidatos

1. Iniciar G como sendo o conjunto das hipóteses mais gerais de H; 2. Iniciar S como sendo o conjunto das hipóteses mais específicas de H; 3. Para cada exemplo

!

d " D, d = #x,c(x)$[ ], a. Se d é positivo, ou seja, c(x)=1:

i. Remover de G todas as hipóteses inconsistentes com d; ii. Para cada hipótese

!

s" S não consistente com d: 1. Remover s de S; 2. Adicionar a S todas as generalizações mínimas h de s, tais

que: h é consistente com d e

!

"g# G : g$g h ; 3. Remover de S quaisquer hipóteses mais gerais que outras

existentes em S; b. Se d é negativo, ou seja, c(x)=0:

i. Remover de S todas as hipóteses inconsistentes com d; ii. Para cada hipótese

!

g" G não consistente com d: 1. Remover g de G; 2. Adicionar a G todas as generalizações mínimas h de g, tais

que: h é consistente com d e

!

"s# S : h$g s; 3. Remover de G quaisquer hipóteses mais gerais que outras

existentes em G;

Exercícios 1. (2.4 Machine Learning) Apresente a simulação do algoritmo de Eliminação de Can-didatos para o seguinte conjunto de treino:

x y Interior? 1 3 0 2 6 0 4 4 1 5 1 0 5 3 1 5 8 0 6 5 1 9 4 0

2. Considere o seguinte conjunto de exemplos de treino e o espaço de versões definido sobre estas instâncias, em que cada hipótese é representada por uma conjunção (

!

A"B e

!

C"B são exemplos de hipóteses neste espaço).

A B C F

X1 0 0 0 0 X2 0 0 1 0 X3 0 1 0 0 X4 0 1 1 0 X5 1 0 0 0 X6 1 0 1 1 X7 1 1 0 0 X8 1 1 1 0

3. Considere o seguinte conjunto de exemplos de treino que descreve o conceito “Assi-nante da Revista Turbo”. Cada exemplo descreve as características de uma pessoa e se é assinante da revista. As características consideradas são: o sexo, a idade (< 26 anos) e se tem carro.

Considere o espaço de versões definido sobre estas instâncias, em que cada hipótese é representada pelo tuplo <sexo,idade,carro>, em que a restrição para cada um dos atribu-tos pode assumir um valor, ? ou

!

".

Sexo Idade < 26 Tem Carro É assinante? X1 M T F Sim X2 M T T Sim X3 F T T Não X4 M F T Não X5 F T F Não X6 M F F Não X7 F F T Não

Árvores de Decisão

!

Entropia(S) = "pi log2 pi # log2 ci=1

c

$

A Entropia é a medida da impureza do conjunto de treino. Assumindo o valor máximo (1) quando existem tantos elementos positivos quanto negativos, e o valor mínimo (0) quando todos os elementos são da mesma classe.

Ganho de Informação(S,A) = Entropia( S ) -

!

Sv

SEntropia(Sv )

v"Valores(A )

#

O ganho de informação é a redução esperada no valor da Entropia, devido à ordenação do conjunto de treino segundo os valores do atributo A.

Algoritmo ID3 ID3(D,A,Atributos) Com D o conjunto de exemplos, A o atributo alvo e Atributos a lista de atributos que caracteriza as entidades;

1. Criar um nó raiz da árvore; 2. Se todos os exemplos são positivos, rotular o nó como positivo (+) e devolver a

árvore; 3. Se todos os exemplos são negativos, rotular o nó como negativo (-) e devolver a

árvore; 4. Se a lista de atributos está vazia, devolver a árvore, com um rótulo idêntico ao

valor asumido pela maioria dos exemplos; 5. Senão:

a.

!

A"o atributo da lista de atributos que melhor classifique os exemplos; usa-se o Ganho de Informação para escolher o atributo que melhor classi-fique os exemplos;

b. O nó recebe A, como rótulo; c. Para cada valor possível

!

vi de Valores(A):

i. Adicionar um novo ramo, a partir do nó, correspondente ao teste

!

A = vi;

ii.

!

Dvi"o subconjunto de D, com

!

A = vi;

iii. Se

!

Dv j = { } : Então, devolver a árvore com um rótulo idêntico ao valor as-sumido pela maioria dos exemplos; Senão, por baixo deste ramo adicionar a sub-árvore ID3(

!

Dvi,A,Atributos" A{ })

Exercícios

1. Considere o seguinte conjunto de exemplos de treino que descreve o conceito “Assi-nante da Revista Turbo”. Cada exemplo descreve as características de uma pessoa e se é assinante da revista. As características consideradas são: o sexo, a idade (< 26 anos) e se tem carro.

a) Calcule o valor da Entropia deste conjunto de treino no que diz respeito ao conceito “É assinante?”. b) Calcule o Ganho de Informação para o atributo Sexo. c) Face a este resultado, qual seria a estrutura de uma árvore de decisão obtida para este conjunto de treino, construída de acordo com o critério de maximização do ganho de in-formação? 2. Considere o seguinte conjunto de treino:

A B C F X1 0 1 1 N X2 1 2 0 P X3 0 3 0 P X4 0 1 0 N X5 0 3 1 N X6 0 1 0 N X7 1 2 0 P X8 1 3 1 N

a) Qual a incerteza associada ao conjunto de treino? b) Determine qual o atributo testado na raiz de uma árvore de decisão obtida com o algo-ritmo ID3. c) Construa o resto da árvore de decisão obtida por este algoritmo. 3. Suponha que tem o seguinte conjunto de treino, em que cada exemplo é definido por três atributos

!

(A,B,C)" 0,1{ }# 0,1{ }# 0,20[ ] . A B C X X1 1 1 5.0 P

Sexo Idade < 26 Tem Carro É assinante? X1 M T F Sim X2 M T T Sim X3 F T T Não X4 M F T Não X5 F T F Não X6 M F F Não X7 F F T Não

X2 0 1 11.5 P X3 0 1 13.5 P X4 1 0 15.0 P X5 1 0 13.0 P X6 0 0 11.5 N X7 0 1 5.0 N X8 1 0 9.5 N X9 0 0 2.0 N X10 1 0 8.0 N

a) Qual a incerteza associada ao conjunto de treino inicial? b) Determine qual o atributo testado na raiz de uma árvore de decisão obtida com o algo-ritmo ID3.

Redes Bayesianas Uma Rede de Bayes ou de Crenças é um grafo sem ciclos, em que:

1. Os nós representam variáveis aleatórias; 2. Os arcos representam influências directas de um nó noutro; 3. Cada nó tem uma tabela de provbabilidades condicionada, que quantifica o efeito

dos nós pais no próprio nó.

Algoritmo de Construção de Redes de Bayes

1. Escolher o conjunto das variáveis relevantes que descrevem o domínio. 2. Escolher uma ordem para as variáveis, de modo a que os pais de um nó surjam

sempre antes do nó de acordo com essa ordenação. 3. Para cada variável

!

Xi:

a. Seleccionar uma variável

!

Xi e adicione um nó à rede;

b. Escolher o conjunto de nós pais para a variável

!

Xi, de modo a que este

conjunto seja mínimo e que

!

P(XiXi"1,...,X1) = P(X

iPais(X

i))

c. Definir a tabela de probabilidades condicionada para

!

Xi.

Exercícios 1. Determine se um doente tem cancro (

!

h1) ou não (

!

h2) sabendo que o doente foi sub-

metido a um exame de laboratório para detectar se tinha cancro, e o resultado do exame deu positivo. Este exame devolve um resultado positivo (+) correcto em apenas 98% dos casos em que a doença está efectivamente presente, e um resultado negativo (-) correcto em apenas 97% dos casos em que a doença não está presente. Para além disso, 0.008 da população total sofre de cancro. 2. Suponha que o doente é submetido a um novo teste e que este também dá um resultado positivo. Qual a probabilidade a posteriori para as duas hipóteses depois destes dois tes-tes. Assuma que os testes são independentes. 3. Usando o classificador Naïve Bayes, determine a classificação de <F,T,F>. Sexo Idade < 26 Tem Carro É assinante?

X1 M T F Sim X2 M T T Sim X3 F T T Não X4 M F T Não X5 F T F Não X6 M F F Não X7 F F T Não

4. (Construção de Redes de Bayes). Você instalou um alarme de assaltos em casa. Este alarme (A) é razoavelmente de confiança na detecção de assaltos (B), mas também re-sponde ocasionalmente a pequenos tremores de terra (E). Para além disso você tem dois vizinhos, João (J) e Maria (M), a quem pediu que lhe telefonassem para o emprego quando ouvissem o alarme. O João telefona sempre que ouve o alarme, mas por vezes confunde o toque do telefone com o alarme e também telefona. Por outro lado, a Maria gosta de ouvir a música bastante alto e por vezes não ouve o alarme tocar.

Regras de Associação e o algoritmo Apriori

Exercícios 1. Considere os seguintes dados transaccionais descrevendo a taxa_de_crédito de diferen-tes clientes do nosso banco:

ID Idade Rendimento Estudante? TaxaCrédito 1 21 Alto Não Boa 2 29 Alto Não Excelente 3 33 Alto Não Excelente 4 41 Baixo Não Boa 5 44 Baixo Sim Excelente 6 34 Baixo Sim Excelente 7 28 Médio Sim Excelente 8 34 Médio Não Boa 9 20 Alto Não Boa 10 39 Alto Não Excelente

Assuma 30% minsup (pelo menos 3 transacções) e minconf=75%. Encontre todas as re-gras de associação a partir destes dados transaccionais. Assuma o seguinte esquema de discretização do atributo Idade: (20-29), (30-39),(40-49). 2. Considere os seguintes dados descrevendo condições meteorológicas:

Temperatura Humidade Vento? Previsão 85 Alta Não Sol 80 Alta Sim Sol 83 Alta Não “Forrado” 70 Alta Não Chuva 68 Normal Não Chuva 65 Normal Sim Chuva 64 Normal Sim “Forrado” 72 Alta Não Sol 69 Normal Não Sol 75 Normal Não Chuva

Assuma 40% minsup (pelo menos 4 transacções) e minconf=75%. Encontre todas as re-gras de associação quantitativas a partir destes dados transaccionais. Assuma o seguinte esquema de discretização do atributo Temperatura: (60-69), (70-79), (80-89).

xq

-

-

+

+

-

+

-

-

+

K-Vizinhos 1. No diagrama seguinte, as figuras referem-se a valores obtidos a uma função objectivo real. Calcule o valor estimado para a função objectivo da instância xq, usando o algo-ritmo dos 5 k-vizinhos mais próximos.

2. Assuma uma função objectivo booleana e um espaço de instâncias bidimensional (ilus-trado na figura).

a) Determine como o algoritmo de aprendizagem dos k-vizinhos mais próximos classifi-caria uma nova instância xq para k = 1, 3 e 5. Os sinais + e – do espaço de instâncias ref-erem-se, respectivamente, a exemplos positivos e negativos. b) À medida que k aumenta, como varia e eficiência e precisão do algoritmo de procura dos k-vizinhos?

xq

- 0.6

- 0.3

+ 1.5

+ 1.9

- 0.5

+ 1.0

- 0.7

- 0.9

+ 1.2

Redes Neuronais Cálculo da saída do Perceptrão:

!

o(x1,...,x

n) =

1, w0x0

+ w1x1+ ...+ w

nxn

> 0

"1 c.c.

# $ %

Regra de Treino do Perceptrão – Superfícies Linearmente Separáveis Sendo

• t =c(x) o valor assumido pela função objectivo para o elemento x; • o a saída do perceptrão • η a taxa de aprendizagem de valor reduzido

!

wi" w

i+ #w

i

#wi"$ t % o( )xi

& ' (

Regra Delta – Gradiente Descendente – Superfícies Não Linearmente Separáveis Gradiente Desecendente (D,η) (aproximação estocástica) Cada elemento de D é da forma

!

",t onde

!

" é o vector dos valores de entrada e t vector de saída.

1. Inicializar todos os pesos

!

wi com valores aleatórios pequenos

2. Até que seja satisfeita a condição de paragem, repetir: a. Inicializar cada

!

"wi a 0.

b. Para cada elemento

!

",t do conjunto de treino, fazer: i. Dar entrada do elemento na rede e calcular a saída da rede;

ii. Para cada

!

wi actualizar o seu valor:

!

wi" w

i+# t $%( )xi

Exercícios 1. Desenhe o perceptrão que implementa a função lógica OR. 2. Determine quais os valores dos pesos

!

w0,

!

w1 e

!

w2 para o perceptrão cuja superfície de

decisão é dada pela inequação

!

y > 2x + 2 . 3. Desenhe o perceptrão de duas camadas que implementa a função lógica

!

A"¬B . 4. Considere a seguinte rede

com entrada

!

" =(1,0) e saída t = 0.75. Considere que

!

f (x) =1

1+ 2"x

,

!

" f (x) =2#xln2

(1+ 2#x)2

,

!

E =1/2 tk "# k( )2

k$Outputs

% .

a) Determine o valor da saída da rede para o estímulo de entrada (1,0). b) Detemine o erro associado a essa saída (

!

"5).

c) Determine o valor da derivada do erro em relação ao peso

!

w53

. (

!

"E /"w53

). 5. Suponha que se pretende utilizar o algoritmo de back-propagation para se actualizar os pesos da seguinte rede neuronal através da minimização do erro

!

E = op4 " tp4( )2

, onde

!

opi é a saída observada para a unidade i e para o padrão de entrada p.

Cada nó

!

ni que não seja um nó de entrada implementa a função

!

gi = f wi0 + wijgijj

"#

$ % %

&

' ( (

!

f (x) =1

1+ e"x

Assumindo que

!

wij = 0.5 para todo i, j e que o estímulo de entrada é (0; 1) e se pretende uma saída de 1, calcule: a) O valor da saída para este estímulo. b) A derivada parcial do erro em relação ao peso

!

w42

. c) O valor da derivada parcial do erro em relação ao peso

!

w32

.

Algoritmos Genéticos 1. Pretende-se resolver o seguinte problema (knapsack): existe um conjunto de objectos

!

O = o1,o2,...,o

n{ } com tamanhos dados por valores inteiros

!

s1,s2,...,s

n{ },s

i"1. Pretende-se

determinar um subconjunto de O, K, tal que a soma dos tamanhos dos objectos em K seja tão grande quanto possível mas menor que um dado valor,

!

SK

. (Este problema é o prob-lema do ladrão que tenta escolher o conjunto de objectos a levar no seu knapsack de ca-pacidade limitada). Proponha codificações que permitam resolver de forma eficiente este problema usando um algoritmo genético nos casos em que

!

n >> SK

e

!

n << SK

.