View
117
Download
0
Category
Preview:
Citation preview
Análise de padrões de uso em grades computacionais oportunistas
Danilo M. R. Conde
Visão geral
Grades computacionais InteGrade LUPA Aprendizado Computacional Análise de Agrupamentos Implementação Atual do LUPA
Grades computacionais
Origem Uso de vários computadores de baixo custo
resultando em grande poder de processamento
Grades oportunistas: uso de computadores não dedicados quando estão ociosos
InteGrade
IME-USP, PUC-Rio, UFMA, UFG, UFMS CNPq, CAPES, IBM, Microsoft
Provê uma infra-estrutura que permite a implantação de grades computacionais oportunistas
InteGrade
Linhas de pesquisa– Tolerância a falhas– Identificação de padrões de uso– Gerenciamento de recursos entre aglomerados– Desenvolvimento de aplicações paralelas– Agentes móveis– Segurança– Desenvolvimento de aplicações para a grade
InteGrade
Orientado a objetos Comunicação CORBA entre módulos C++, Java, LUA
InteGrade – executando uma aplicação na grade
LUPA
Local Usage Pattern Analyzer Coleta dados sobre utilização dos recursos
– CPU, memória, swap, uso de mouse e teclado– Privacidade
Analisa dados de forma a estabelecer padrões de uso
Prediz uso futuro baseado no padrão de utilização atual
LUPA
manhã livre
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
tarde livre
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
almoço e fim livres
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
dia inteiro sem aulas
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
Aprendizado Computacional
O processo de identificação dos padrões é um processo de aprendizado.
Um sistema aprende quando altera sua estrutura, algoritmos e dados de forma a melhorar seu desempenho.
“Qualquer mudança num sistema que melhore o seu desempenho na segunda vez que ele repetir a mesma tarefa, ou uma tarefa da mesma população” (Simon, 1983)
Aprendizado Computacional
Por que aprender ?– Algumas aplicações dependem de exemplos– Mineração de dados– Agentes que atuam em ambientes que não são
completamente conhecidos
Aprendizado Computacional
Supervisionado– Presença de um tutor que fornece exemplos
Não-supervisionado– Aprende relações e propriedades entre um
conjunto de objetos
Por reforço– Recompensa e punição
Análise de Agrupamentos
Análise de conglomerados, clustering, cluster analysis
É uma técnica de aprendizado não-supervisionado cujo objetivo é separar um conjunto de objetos em grupos de objetos semelhantes
Análise de Agrupamentos
Análise de Agrupamentos
Análise de Agrupamentos
Não se trata de um algoritmo, mas de uma técnica com várias implementações diferentes
O processo de aplicar a análise de agrupamentos a um problema possui vários elementos
Análise de Agrupamentos - Elementos
1. Escolha dos dados a serem analisados
2. Seleção de variáveis
3. Homogeneização das variáveis
4. Medidas de semelhança
5. Escolha dos algoritmos e implementação
6. Número de agrupamentos
7. Interpretação dos resultados
Análise de Agrupamentos
Dois principais tipos de algoritmos:– Hierárquicos– De Partição
Análise de Agrupamentos - Algoritmos hierárquicos aglomerativos
Preparação: Construa n agrupamentos, um com cada elemento do conjunto de entrada, rotulando-os de 1 a n, e construa uma matriz de similaridade entre os agrupamentos.
Algoritmo:Repita os seguintes passos até haver apenas um agrupamento:1. Encontre o par de agrupamentos p e q, p > q, com menor
distância entre si, ou seja, os dois elementos mais semelhantes. Eles serão a entrada na matriz com o menor valor.
2. Reduza o número de agrupamentos em um, transformando o agrupamento q na fusão de p e q. Atualize matriz de similaridade, removendo a linha e a coluna referentes a p e calculando as novas distâncias para q.
3. Armazene que nesse passo os agrupamentos p e q foram fundidos e qual era a distância entre eles antes da operação.
Análise de Agrupamentos - Algoritmos hierárquicos aglomerativos
B A C D E
d1
d2
d3
d4
Análise de Agrupamentos - Algoritmos hierárquicos aglomerativos
Formas de calcular as distâncias entre dois agrupamentos– Centróide– Médias das distâncias– Single Linkage: d(A, B) – Complete Linkage: d(A, B)
BjAijid ,:),(min BjAijid ,:),(max
Análise de Agrupamentos – Algoritmo k-Médias (k-means)
Número k de agrupamentos é pré-definido Algoritmo:
1. Escolha k objetos e crie uma partição com cada um deles
2. Insira cada objeto que ainda não está em nenhuma partição à partição da qual ele está menos distante.
3. Calcule a distância de cada objeto a cada uma das partições. Se a partição mais próxima não for a que ele está, mova-o para ela.
4. Repita o passo 3 até convergir, ou seja, não existir mais nenhum objeto que precise trocar de partição.
Implementação Atual do LUPA
A única informação coletada é a utilização de CPU, a cada 5 minutos
Usando intervalos de 48 horas Atualmente não utiliza análise de agrupamentos Infra-estrutura já está pronta, falta adicionar os
algoritmos mais sofisticados Questões abertas:
– Comportamento do sistema quando não possui dados para identificar o padrão atual
– Quando devem ser recalculados os padrões
Recommended