• Sonuç bulunamadı

2. SIFATLARA GENEL BİR BAKIŞ

2.4. Sıfat Kavramının Tarihçesi

Todas as técnicas de aprendizado semissupervisionado baseado em redes apresentadas até o presenta momento são transdutivas. Como já considerado, o domínio de sua aplicação são os dados disponíveis durante o treinamento. Não existe nenhuma forma direta de predizer coerentemente os rótulos de dados ainda não vistos. Muitas vezes esse comportamento é indesejado. A presente subseção apresentará a técnica de competição e cooperação de partículas, desenvolvida em nosso grupo de pesquisa (Breve et al.,2012;Breve,2010;Breve et al.,2010,

2009;Silva & Zhao,2012). Embora também seja transdutiva, essa técnica oferece a possibilidade de continuar o processo de aprendizado ao introduzir novos dados, rotulados ou não rotulados, na rede, pois implementa uma dinâmica competitiva, que permite a redefinição de rótulos. Assim como os métodos campos Gaussiano e funções harmônicas e consistência local e global, esse método pode ser aplicado ao problema de classificação multiclasse sem a necessidade de utilizar matrizes de códigos.

O mecanismo de cooperação e competição implementado por esse método é inspirado no comportamento social de alguns animais em bando e no comportamento de seres humanos em jogos coletivos. Dada uma rede, possivelmente construída a partir de dados vetoriais como mostra a Seção2.4.6,l partículas são inseridas na rede, cada uma das quais na posição de um dos l nós previamente rotulados. Cada nó rotulado é dito o nó-casa da respectiva partícula. Partículas associadas a nós que possuem um mesmo rótulo pertencem a um mesmo time. Cada nó da rede, por sua vez, possui um vetor de níveis de dominação, onde cada entrada corresponde ao nível de domínio de um time sobre o nó. Iterativamente, as partículas movem-se na rede de acordo com uma regra ora aleatória, ora gulosa e, ao visitar um nó, o nível de domínio do time da partícula atual é aumentado, enquanto que os níveis de domínio dos outros times é diminuído. Cada time de partículas tenta dominar a maior quantidade possível de nós e ao mesmo tempo evitar a invasão de partículas de outros times. Partículas de um mesmo time cooperam entre si, enquanto que os times de partículas competem entre si. Ao final do processo de competição e cooperação, cada nó é rotulado de acordo com o rótulo do time que possui maior nível de dominação sobre o mesmo.

Existem duas dinâmicas bem definidas no algoritmo: a dinâmica das partículas, e a dinâmica dos nós. Cada partículaρj possui duas variáveis,ρωj(t) e ρdj(t). ρωj(t)∈ [0, 1] é o potencial de

exploração da partícula. ρd

j(t) = {ρ d1

j (t), . . . , ρ dn

j (t)}, por sua vez, é uma tabela de distâncias

ondeρdi

j (t)∈ [0, n − 1] é a menor distância registrada do nó-casa da partícula até cada um dos

nós da rede, mantida no sentido de guiar o movimento guloso. Cada partícula é inicializada com potencial máximo de exploração,ρω

j(0) = 1. Com exceção da distância do nó-casa de cada

partícula a ele mesmo, que é zero, todas as entradas da tabela de distância são inicializadas com valor máximo,n− 1, ρdi j (0) = ( 0 sei = j n− 1 se i 6= j . (2.4) ρdi

j (t + 1) é atualizado iterativamente, à medida que a partícula visita os nós da rede. Esteja ρj

movendo-se do nóvi para o nó vizinhovk,

ρdk j (t + 1) = ( ρdi j (t) + 1 se ρdji(t) + 1 < ρ dk j (t) ρdk j (t) caso contrário . (2.5)

Cada nó vi, por sua vez, possui uma variável vωi(t) = {viω1(t), . . . , v ωκ

i (t)} dita vetor de

dominação, ondeκ é o número de times de partículas ou classes do problema, e vωc

i (t)∈ [0, 1]

viω(0) são inicializados com valor nulo, exceto o nível correspondente ao time do rótulo de vi,

que recebe o valor máximo; caso contrário, todos os níveis devω

i (0) são inicializados com valor 1

κ, representando igual domínio de todos os times,

vωc i (0) =      1 se yi = c 0 se yi 6= c e yi ∈ L 1 κ seyi =∅ . (2.6)

Por padrão, à exceção dos nós previamente rotulados, os níveis de domínio de cada nó são atualizado sempre que o mesmo é visitado por uma partícula. Toda partícula aumenta o nível de domínio de seu time ao tempo que diminui os níveis de domínio dos demais times, como descrito pela seguinte equação:

vωc i (t + 1) =      max{0, vωc i (t)− ∆vρωj(t) κ−1 } seyi =∅ e c 6= ρ τ j vωc i (t) + P q6=cv ωq i (t)− v ωq i (t + 1) se yi =∅ e c = ρτj vωc i (t) seyi ∈ L , (2.7)

onde 0 < ∆v ≤ 1 é um parâmetro externo de controle da agressividade do processo de

competição eρτ

j representa o time da partículaρj. O ajuste do potencial da partícula, por sua

vez, é dado pela seguinte equação:

ρωj(t + 1) = vωc

i (t + 1), (2.8)

ondec é o rótulo do time da partícula ρj, isto é, c = ρτj. Quanto o nó visitado é dominado

pelo time da partícula que o visita, o potencial da partícula é incrementado; no contrário é decrementado.

A cada iteração cada partícula tem probabilidadepgrd de realizar um movimento guloso e

probabilidade1− pgrd de realizar um movimento aleatório, seja0 ≤ pgrd ≤ 1. Enquanto que

o movimento aleatório representa o comportamento exploratório da partícula no sentido de dominar novos nós, o movimento guloso é responsável por restringir o movimento da partícula mantendo-a no seu território e garantindo a resistência à invasão de partículas de outros times. Definido o tipo de movimento, no movimento aleatório o nó para onde a partícula se move é escolhido com igual probabilidade dentre um dos vizinhos do nó atual. Estejaρj emvi,

p(vk|ρj) =

wik

P

µwiµ

. (2.9)

No movimento guloso, por outro lado, a probabilidade de escolha de um vizinho,vk, é proporci-

onal ao nível de domínio do time da partícula sobre ele,vωc

k , sejac = ρτj, e à distância dos do

nó-casa da partícula até ele,ρdk

j . Estejaρj emvi, p(vk|ρj) = wikvωkc(1+ρ1dk j )2 P µwiµvµωc(1+ρ1dµ j )2 . (2.10)

Algoritmo 2.5 Competição e cooperação de partículas (Breve et al.,2012;Breve,2010)

1: Construa uma matriz de afinidade W entre os itens de dados;

2: Inicializel partículas com potencial máximo, ρω

j(0)← 1;

3: Posicione asl partículas nos respectivos nós-casa;

4: Inicialize as tabelas de distâncias conforme a Eq.2.4;

5: Inicialize os níveis de domínio conforme a Eq.2.6;

6: repita

7: para cada partícula faça

8: Com probabilidadepgrdselecione entre movimento aleatório e guloso;

9: Selecione o nó alvo usando a Eq.2.9ou a Eq.2.10;

10: Atualize os níveis de domínio do nó alvo usando a Eq.2.7;

11: Atualize o potencial da partícula usando a Eq.2.8;

12: Atualize a tabela de distância da partícula usando a Eq.2.5;

13: fim-para

14: até que que o critério de parada seja satisfeito;

15: Rotule cada item de dado não rotulado com o maior nível de domínio,arg maxcviωc(∞).

SegundoBreve et al.(2012), os nós em fronteiras de classes frequentemente possuem níveis de dominação instáveis, alternando entre os times que o dominam. Logo, a convergência dos rótulos pode frequentemente não ser um bom critério de parada para o algoritmo. Os autores sugerem o monitoramento da média dos maiores níveis de domínio dos nós (vωc

i ,c =

arg maxqvωiq) e o encerramento da execução quando não houver incremento significativo nesse

valor. Os rótulos preditos podem ser apresentados crisp, como no Algoritmo2.5ou de forma suave, de acordo com os níveis de dominação, yi = viω. Além disso, a correção de nós

previamente rotulados de forma inconsistente pode ser feita permitindo-se a alteração dos níveis de dominação dos nós-casa.