• Nenhum resultado encontrado

Algoritmo de Aprendizagem Participativa (AP)

3.5 Algoritmos Nebulosos para Agrupamento de Dados

3.5.2 Algoritmo de Aprendizagem Participativa (AP)

O conceito de aprendizagem participativa foi introduzido por Yager em 1990 (Yag90). O conceito fundamental em aprendizagem participativa refere-se ao fato de que o processo de aprendizagem e a revisão de crenças sobre um sistema dependem do que já se conhece e o que se acredita sobre o próprio sistema. Em outras palavras, o conhecimento que se tem do meio onde atua é parte do processo de aprendizagem e influencia a forma como novas observações são tratadas durante o aprendizado. Uma característica essencial na aprendizagem participativa é a compatibilidade entre novas observações com o conhecimento que o sistema já possui, ou seja, a compatibilidade entre as observações e as crenças existentes.

Fundamentos da Aprendizagem Participativa

Formalmente, seja v ∈ [0, 1]puma variável que contém as crenças do sistema. O objetivo é estimar

os valores dessa variável. Para tal, suponha que informações sobre esses valores são obtidas via uma seqüência de observações xk ∈ [0, 1]p, onde xk é uma manifestação dos valores de v na k-ésima

observação. Portanto, os vetores x são usados como um meio de aprender os valores de v. O processo de aprendizagem é participativo se a contribuição da observação xk ao processo de aprendizagem

depende de sua aceitação ou não, através das estimativas atuais dos valores de v. A idéia implícita nessa afirmação é a de que, para ser útil e, assim, contribuir na aprendizagem de v, a observação xk

deve, de alguma forma, ser compatível com as estimativas de v já disponíveis. Seja vka estimativa de

v após k observações. Para que xkseja relevante no processo de aprendizagem, xk deve ser próximo

3.5 Algoritmos Nebulosos para Agrupamento de Dados 31

Fig. 3.5: Algoritmo Fuzzy C-Means

de si próprio. Uma forma de se atualizar a estimativa dos valores, ou crenças, de v pode ser definida como:

vk+1 = vk+ αρk(xk− vk) (3.6)

Em (3.6), k = 1, 2, . . . , n, onde n é o número de observações; vk+1 representa as novas crenças

do sistema; vk ∈ [0, 1]psão as crenças atuais; xk ∈ [0, 1]p é a observação atual; α ∈ [0, 1] é a taxa de

aprendizagem; ρ ∈ [0, 1] é o grau de compatibilidade entre xke vk, dado por:

ρk= F (Sk1, Sk2, . . . , Skp)

Skj = Gkj(vkj, xkj)

Skj ∈ [0, 1], com 1 ≤ j ≤ p, refere-se a uma medida de similaridade. F é um operador de

agregação. Skj = 1 indica similaridade plena, enquanto Skj = 0 significa nenhuma similaridade.

32 Agrupamento de Dados

que os valores de vkj e xkj não precisam, necessariamente, estar no intervalo unitário. Além disso,

a função Gkj permite que dois valores de vk e xk tenham similaridade plena Skj = 1 mesmo que

seus valores não sejam iguais. Note também que esta formulação, ao contrário da usual, permite o uso de diferentes medidas de similaridade para diferentes componentes dos vetores vk e xk, isto

é, para diferentes j0s na notação utilizada anteriormente. Uma possível formulação para o grau de compatibilidade ρké dada pela expressão (3.7):

ρk = 1 − 1 p p X j=1 dkj (3.7)

Em (3.7), dkj = |xkj − vkj|. Claramente, ρk fornece uma medida de compatibilidade entre as

observações xkj com as crenças atuais vkj. Note que, nesse caso, ρk é o complemento da média dos

valores absolutos da diferença entre xkj e vkj.

Observe que a expressão (3.7) é um caso especial da distância de Hamming, descrita na Ta- bela 3.1. Em alguns domínios, principalmente em aprendizagem de máquina, é comum escolher a norma Euclidiana como alternativa. Nesse caso, a medida de compatibilidade ρk pode ser descrita

como:

ρk = 1 − dk (3.8)

Na expressão (3.8), dk =k xk− vk k e k · k denota uma norma.

Uma observação importante referente ao grau de compatibilidade ρké que ele ignora o fato de que

as crenças vkpodem estar em conflito com as observações xkdurante um certo período de tempo. Nes-

sas circunstâncias, o sistema vê uma seqüência de valores pequenos de ρk, isto é, incompatibilidade

entre crenças e observações. Se este tipo de situação ocorre durante uma seqüência de observações, isto é, muitas observações apresentam-se incompatíveis com o conhecimento do sistema, então este deve ser alertado e se tornar mais sensível a mudanças, de tal forma a aprender estas observações ignoradas. Este alerta é necessário porque não são as observações, mas sim as crenças adquiridas pelo sistema é que podem estar erradas.

Uma possível solução para esse problema consiste em introduzir um mecanismo de alerta para monitorar o grau de compatibilidade das crenças atuais com as observações e fornecer um índice de alerta para aperfeiçoar o processo de aprendizagem, conforme sugere a Figura 3.6. Neste caso, o índice de alerta deve ser tal que, quanto maior o seu valor, menor deve ser a confiança do sistema em suas crenças. Desta forma, proporciona-se uma maior chance para que as observações em conflito contribuam para rever e atualizar as crenças atuais do sistema.

O índice de alerta é denotado por ak ∈ [0, 1]. Quanto maior ak, mais alerta o sistema fica e,

conseqüentemente, maior o interesse pelas observações conflitantes. O índice de alerta pode ser visto como um grau de desconfiança na atual estrutura de crenças, ou também como o complemento do índice ρk. Yager (Yag90) sugere a atualização do índice de alerta de acordo com a expressão (3.9):

ak+1 = ak+ β((1 − ρk+1) − ak) (3.9)

O valor de β ∈ [0, 1], conforme mostrado em (3.9), controla a taxa de mudança do índice de alerta. O parâmetro β pode ser visto como o complemento do grau de conservadorismo do sistema. Em outras palavras, quanto maior o valor de β, mais sensível se torna o sistema em relação às variações nos graus de compatibilidade ρk. Neste trabalho assume-se que o parâmetro β permanece constante

3.5 Algoritmos Nebulosos para Agrupamento de Dados 33

Fig. 3.6: Aprendizagem participativa com índice de alerta

Uma forma de considerar apropriadamente o mecanismo de alerta na aprendizagem participativa é incorporar o índice de alerta na expressão (3.6), obtendo (3.10):

vk+1 = vk+ α (ρk)1−ak(xk− vk) (3.10)

A expressão (3.10) introduz um mecanismo de auto-regulagem em aprendizagem participativa. Enquanto ρk determina quanto o sistema pode aumentar a credibilidade em suas próprias crenças vk,

o índice de alerta ak acompanha o comportamento das crenças perante as observações, o que pode

ser considerado como uma crítica. É importante notar que o mecanismo de alerta é independente do processo de aprendizagem. Essa independência é crucial para acompanhar e avaliar, com im- parcialidade, o desempenho do processo. O mecanismo afeta o processo de aprendizagem através do índice de alerta, providenciando uma avaliação mais consistente do desempenho do processo de aprendizagem. Assim, é possível avaliar o quanto se pode confiar no que o sistema aprendeu e está aprendendo.

Aprendizagem Participativa em Agrupamento

Esta seção mostra como a idéia de aprendizagem participativa pode ser traduzida em algoritmos de agrupamento de dados. A principal característica desses algoritmos é a capacidade de determinar um número aceitável de grupos em um conjunto X, sendo, portanto, algoritmos não supervisionados, conforme definido na seção 3.1. O algoritmo proposto nessa seção segue a idéia original proposta por Silva, Gomide e Yager (SGY05).

É interessante observar que, em analogia com o paradigma de aprendizagem participativa, o con- junto dos pontos X = {x1, . . . , xk, . . . , xn} e o conjunto dos centros de grupo V = {v1, . . . , vi, . . . , vc}

correspondem às observações e às crenças, respectivamente. O grau de compatibilidade ρkida obser-

vação k com a crença i atual do sistema é o grau de compatibilidade entre xke o centro vi. O mesmo

acontece com o índice de alerta aki, onde se avalia a incompatibilidade das crenças com relação às

observações, isto é, o índice avalia o quão distante xk, k = 1, 2, . . . , n está em relação aos centros

vi, i = 1, 2, . . . , c.

Para particionar um conjunto de dados X em um número adequado de grupos, o algoritmo de agrupamento com aprendizagem participativa precisa de um parâmetro extra τ . O parâmetro τ é um limiar, cujo propósito é detectar quando uma observação é demasiadamente incompatível com

34 Agrupamento de Dados

o conhecimento do sistema, isto é, quando um ponto está muito distante dos centros das classes já conhecidas. Nestas circunstâncias, o sistema é motivado a considerar a observação como uma nova crença. Uma opção, para uma observação ser um novo conhecimento do sistema, é declarar xkcomo

um possível centro que representa um novo grupo, tornando-se uma nova crença "aprendida" pelo sistema (SGY05).

Formalmente, agrupamento de dados nebuloso com aprendizagem participativa particiona um conjunto de dados X = {x1, . . . , xn} ⊂ <p em 1 ≤ c ≤ n grupos nebulosos. A partição nebulosa é

representada pela matriz Un×c, cujo elemento uki ∈ [0, 1] representa o grau de pertinência do elemento

xkao i-ésimo grupo, representado pelo centro vi. Assim como no algoritmo Fuzzy C-Means, os graus

de pertinência são atualizados segundo a expressão (3.11):

ulki = 1 Pc j=1( dki dkj) 1 m−1 (3.11)

O algoritmo de agrupamento de dados com aprendizagem participativa pode ser resumido da seguinte forma: Dados os valores iniciais para os parâmetros α, β e τ , escolhe-se aleatoriamente um ponto de X como um centro de grupo e, assim, formar V0, o conjunto dos centros de grupo. Em

seguida, calculam-se todos os índices de compatibilidade ρki e de alerta aki para verificar se, para

todos os vi, o índice de alerta é maior do que o limiar τ . Se o índice de alerta for maior do que o

limiar τ , então xk é declarado como o centro de um novo grupo. Caso contrário, o centro de grupo

mais próximo de xké atualizado.

Observe que o mecanismo de atualização dos centros de grupo pode gerar centros de grupo re- dundantes, ou seja, ao atualizar um centro de grupo, este poderá ficar muito próximo de outro centro de grupo, ambos representando o mesmo grupo. Para a aprendizagem participativa, isso significa que há crenças redundantes, e um conhecimento pode ser descartado sem que isso signifique perda de informação sob o ponto de vista da aprendizagem. Dessa forma é necessário verificar se há grupos redundantes sempre que um centro de grupo for atualizado e, se houver, excluir um dos centros de grupo redundante.

Um mecanismo para excluir centros de grupo redundantes consiste em verificar o índice de com- patibilidade de cada centro de grupo com todos os outros. Esse índice de compatibilidade, inspirado no índice de alerta, é calculado segundo a expressão (3.12):

λlij = β(1 − ρlij) (3.12)

ρlij = 1 − dij(vi, vj) (3.13)

Um centro é excluído sempre que o índice de compatibilidade λij for menor do que um limiar λ,

proposto por Silva, Gomide e Yager (SGY05) e expresso por (3.14):

λ = 0.95 · τ (3.14)

Dessa forma, elimina-se um centro sempre que o índice de compatibilidade λij entre os centros de

grupo vi e vj for menor ou igual a λ, ou seja, quando o índice de compatibilidade entre dois centros

for muito grande. Para compreender melhor os centros redundantes, observe a Figura 3.7.

Na Figura 3.7 observa-se que os centros v1 e v2 estão representando o mesmo grupo. Neste caso,

3.6 Resumo 35

Fig. 3.7: Exemplo de centros redundantes

λ conforme (3.14). Assim, v1 ou v2 deve ser eliminado. Suponha que elimina-se v1. O mesmo não

acontece quando analisada a compatibilidade λ23, a qual é baixa, indicando que os centros v2 e v3

representam grupos distintos e, portanto, as crenças do sistema permanecem as mesmas, não sendo eliminado v2 nem v3.

O algoritmo de agrupamento com aprendizagem participativa proposto nesse trabalho segue os passos resumidos na Figura 3.8.

Observando a Figura 3.8, nota-se que o valor de ρlki depende da medida de similaridade dki entre

o ponto xke o centro vi. O valor ρlij também depende da similaridade dij entre os centros vi e vj.