Computação Granular Daniel Leite Faculdade de Engenharia Elétrica e Computação - UNICAMP [email protected] http://www.dca.fee.unicamp.br/~danfl7 III Workshop sobre Teoria de Conjuntos Fuzzy e Incerteza Generalizada Aplicada à Otimização – Uberlândia, Julho de 2012 Sumário Parte I – Computação granular Parte II – Sistemas granulares evolutivos Parte III – Exemplos de aplicações Parte I – Computação granular O que é computação granular? Dicionário • Granular: composto de pequenos grânulos • Grânulo: pequena quantidade de algo • Granularidade: é a extensão em que um sistema é subdividido em partes menores O que é computação granular? • Resolução de problemas baseada em diferentes níveis de granularidade (detalhe/abstração) • Diferentes níveis de granularidade são essenciais para humanos resolverem problemas Exemplo: cozinhar ovo Regra Colocar o ovo em água fervente por 5 minutos Problema Algumas vezes ovo cru Algumas vezes ovo muito cozido Exemplo: cozinhar ovo Sugestão SE ENTÃO 5 min SE ENTÃO 5 min Solução Granularidade maior do atributo ‘tamanho’ Exemplo: arrumar mala Solução Granularidade menor do atributo ‘temperatura’ Reflexão • Percebemos e representamos o mundo em diferentes níveis de granularidade • Entendemos problemas e soluções em diferentes níveis de abstração • Adotamos níveis apropriados de granularidade e mudamos de granularidade com facilidade Granularidade e abstração “We look at the world under various grain sizes and abstract from it only those things that serve our present interest”. Hobbs, 1985. “Abstraction allows people to consider what is relevant and to forget irrelevant details which would get in the way of what they are trying to do”. Giunchiglia, 1992. Inspiração da GrC* • Capturar os princípios básicos usados por humanos para resolver problemas • Adotar granularidades necessárias e suficientes • Noção de hierarquia - Baixo nível → conceitos detalhados/precisos - Alto nível → conceitos abstratos/imprecisos *GrC: Granular Computing Computação granular • Teorias, metodologias e técnicas que fazem uso de grânulos para resolver problemas • Subconjunto do universo → grânulo • GrC ingredientes básicos - Subconjuntos - Classes - Clusters Definição: grânulo Grânulo: conjunto de objetos que são similares, próximos ou funcionalmente equivalentes, e.g., intervalo, intervalo fuzzy, rough set, cluster, etc. Definição: estrutura granular Estrutura granular: família de grânulos que quando considerados em conjunto remontam o problema original, mais complexo Conceitos fundamentais • Grânulo • Granulação - Decomposição: grosseira → fina (cozinhar ovo) - Construção: fina → grosseira (arrumar mala) • Relacionamento, hierarquia • Estrutura granular Multidisciplinaridade • Não existe modelo unificado de GrC • GrC assume diferentes nomes em áreas correlatas - Fuzzy and rough sets - Interval mathematics - Divide and conquer - Quotient space theory - Information fusion, etc. Pesquisa em GrC • GrC é um campo de pesquisa por si mesmo: tem seus próprios princípios, teorias e aplicações • Zadeh, 1997, 2005: “GrC is a superset of the theory of fuzzy information granulation, rough set theory and interval computations”. “Generalized Theory of Uncertainty” Notas históricas • 1979, Zadeh discute granulação da informação • 1997, T. Y. Lin sugere o termo computação granular. Um grupo BISC-GrC é formado • 2004, IEEE CIS Task Force on GrC é proposta • 2005, 1st IEEE International Conference on GrC • 2009, Journal of Granular Computing, Rough Sets and Intelligent Systems Publicações GrC • IEEExplore, ScienceDirect • Termos buscados (title, key words) - Granular computing - Information granularity - Information granulation Bargiela, A.; Pedrycz, W. Granular Computing: An Introduction. Kluwer Academic Pub. Boston, 2003. Pedrycz, W.; Gomide, F. Fuzzy Systems Engineering: Toward Human-Centric Computing. Wiley-Hoboken, 2007. Pedrycz, W.; Skowron, A.; Kreinovich, V. Handbook of Granular Computing. Wiley-Chichester, 2008. Pedrycz, W.; Chen, S.-M. Granular Computing and Intelligent Systems. Springer-Verlag, 2011. Tendência e interação • Crescimento lento, mas significativo desde 2004 • Interação - Fuzzy sets - Rough sets - Interval analysis - Outras comunidades... Parte I: considerações finais • GrC: termo ‘procurável’ em bases bibliográficas • GrC compartilha generalidades com outros domínios (especialmente em nível conceitual) que ainda não foram exploradas • Pesquisa GrC cresce → longo caminho pela frente → necessita interação/difusão Parte II – Sistemas granulares evolutivos Sistemas granulares evolutivos Características • visão granular de fluxos de dados • computação com grânulos • conhecimento estrutural mínimo • adaptação/aproximação online de modelos • modelos: base de regras, redes neurais Definição: evolutivo Desenvolvimento gradual da estrutura de um sistema usando fluxo de dados e algoritmo incremental de aprendizagem Regra 1: SE (antecedente) ENTÃO (consequente) Regra c: SE (antecedente) ENTÃO (consequente) Atributos da computação granular • granularidade de dados e modelos • estrutura granular flexível e interpretável • soluções precisas e linguísticas Aproximação singular Aproximação granular Aprendizagem recursiva online Iniciar Fazer 1: ler dado de entrada 2: acomodar dado 2.1: criar novo grânulo se necessário 2.2: adaptar grânulos existentes 3: descartar dado de entrada 4: atualizar estrutura granular Fim Exemplos de aplicações • diagnóstico médico • nariz artificial • meteorologia • detecção de fraudes • econometria • riscos & desastres • transporte & expedição • avião não tripulado • radar • ciências sociais • redes sociais • ... 1. Modelagem evolutiva intervalar Características principais de IBeM* • processa dados intervalares • constrói e adapta grânulos intervalares • não admite sobreposição de grânulos *IBeM: Interval Based evolving Modeling Exemplos de dados intervalares • índice de massa corporal entre 18 e 25Kg/m2 • temperatura entre 20 e 27oC • velocidade acima de 40Km/h e abaixo de 60Km/h Regra IBeM Algoritmo de aprendizagem Cria e adapta grânulos e regras Refina grânulos existentes Ajusta a granularidade Cobre gaps Mescla grânulos Exclui regras inativas Aproxima função Algoritmo de aprendizagem Cria e adapta grânulos e regras Refina grânulos existentes Ajusta a granularidade Cobre gaps Mescla grânulos Exclui regras inativas Aproxima função Algoritmo de aprendizagem Cria e adapta grânulos e regras Refina grânulos existentes Ajusta a granularidade Cobre gaps Mescla grânulos Exclui regras inativas Aproxima função Algoritmo de aprendizagem Cria e adapta grânulos e regras Refina grânulos existentes Ajusta a granularidade Cobre gaps Mescla grânulos Exclui regras inativas Aproxima função Algoritmo de aprendizagem Cria e adapta grânulos e regras Refina grânulos existentes Ajusta a granularidade Cobre gaps Mescla grânulos Exclui regras inativas Aproxima função Contração Expansão Algoritmo de aprendizagem Cria e adapta grânulos e regras Refina grânulos existentes Ajusta a granularidade Cobre gaps Mescla grânulos Exclui regras inativas Aproxima função Algoritmo de aprendizagem Cria e adapta grânulos e regras Refina grânulos existentes Ajusta a granularidade Gap Cobre gaps Mescla grânulos Exclui regras inativas Aproxima função Grânulos vizinhos Algoritmo de aprendizagem Cria e adapta grânulos e regras Refina grânulos existentes Ajusta a granularidade Cobre gaps Mescla grânulos Exclui regras inativas Aproxima função Algoritmo de aprendizagem Cria e adapta grânulos e regras Refina grânulos existentes Ajusta a granularidade Cobre gaps Mescla grânulos Exclui regras inativas Aproxima função Algoritmo de aprendizagem Cria e adapta grânulos e regras Refina grânulos existentes Ajusta a granularidade Cobre gaps Mescla grânulos Exclui regras inativas Aproxima função 2. Modelagem evolutiva fuzzy Características principais de FBeM* • aprende a partir de dados fuzzy • união de modelos granulares (fuzzy) locais • modelos precisos e linguísticos *FBeM: Fuzzy set Based evolving Modeling Exemplos de dados fuzzy • preço da gasolina em torno de R$2,80 • pressão atmosférica aproximadamente 101325Pa • corrente elétrica de 10A mais ou menos 0,02A Regra FBeM Granularização de dados fuzzy 3. Modelagem evolutiva neuro-fuzzy Características principais de eGNN* • aprende a partir de dados fuzzy • adapta grânulos, neurônios e conexões • fusão de informação: neurônios de agregação *eGNN: evolving Granular Neural Network Neurônio de agregação fuzzy Exemplo: é uma uninorma Uninorma: Umin,max, e = 0.3, v = 0 Granularização do espaço de saída Parte III – Exemplos de aplicações Exemplos de aplicação 1. Classificação semi-supervisionada Rotação de Gaussianas gêmeas • (x,C)[h], h = 1, ... 1 ≤ h ≤ 200 201 ≤ h ≤ 400 Fluxo de dados Conceito estacionário Rotação gradual de 90o eGNN (antes) Taxa correto/errado 189/11 (94.5%) 5 grânulos eGNN (depois) Taxa correto/errado 195/5 (97.5%) 5 grânulos Comparação ROC de classificadores Nova classe • (x,C)[h], h = 1, ... 1 ≤ h ≤ 199 h = 200 201 ≤ h ≤ 400 Fluxo de dados Duas classes estacionárias Mudança abrupta do conceito Três classes estacionárias eGNN (antes) Taxa correto/errado 189/11 (94.5%) 6 grânulos eGNN (depois) Taxa correto/errado 185/15 (92.5%) 8 grânulos Mistura de dados rotulados e não-rotulados Problema rotação Gaussianas Problema nova classe 2. Previsão de série temporal Previsão de temperatura • dados mensais de 5 estações meteorológicas • período: Jan. 1871 à Dez. 2010 • temperatura mínima, máxima e média • entradas: x[h-11], ..., x[h] • saída: y[h+1] Comparação de preditores FBeM previsão singular FBeM previsão granular 3. Aproximação de função Telemonitoramento de Parkinson • 5875 medições biomédicas de voz • 42 pacientes em estagio inicial de Parkinson • 16 entradas: amplitude/frequência de harmônicos do sinal de fala • uma saída: valor total UPDRS Seleção de variáveis de entrada • método leave one variable out: classifica e elimina variáveis progressivamente Comparação de aproximadores FBeM 4. Controle Navegação autônoma Regras iniciais IBeM FBeM eGNN Saída granular FBeM Comparação de controladores Conclusão • sistemas granulares evolutivos: IBeM, FBeM, eGNN • informação granular e modelos locais adaptativos • provê saídas precisas e linguísticas • eficiente para processamento de fluxo de dados Comparação das abordagens granulares • regras IBeM e FBeM: mais interpretáveis • rapidez processamento 1º IBeM 2º FBeM 3º eGNN • precisão 1º eGNN 2º FBeM 3º IBeM Trabalhos futuros • novos métodos de granularização • seleção de variáveis • granularidade ótima • problemas de grande porte • análise de complexidade • teoremas de aproximação evolutiva Acreditamos que a computação granular pode ter um papel importante em predição e suporte à decisão em sistemas de processamento de informação futuros Agradecimento http://www.dca.fee.unicamp.br/~danfl7 Motivação da GrC • Zadeh: base para a computação com palavras • Gomide & Pedrycz: processamento de informação centrada em humanos • Bargiela: transformação de dados semânticos • Yao: resolução de problemas em nível conceitual; processamento de informação computacional