Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 5 O reconhecimento de padrões em imagens é a tarefa de encontrar padrões existentes em imagens que contêm os mesmos tipos de objetos. A clusterização, por outro lado, consiste na tarefa de agrupar dados, como imagens, por exemplo, que tenham alguma semelhança, ou seja, que tenham padrões similares. Acompanhe o seguinte contexto: Imagine que você atua como programadora em uma empresa que presta serviços em reconhecimento de padrões em imagens. Sua empresa está com um novo projeto para atender a uma demanda que exige a implementação de uma rede neural ART1. Nesse projeto, os seguintes vetores devem ser clusterizados: [0,1,0].[1,1,1]e[0,1,1] Cada vetor representa uma imagem da base de dados que deve ser clusterizada. Com base nos seus conhecimentos, você chegou à conclusão de que a rede neural inicial tem a configuração conforme esboça a figura a seguir. A partir do exposto, considere o valor de ρ igual a 0,9 e execute o algoritmo da rede neural ART1 sob os vetores de entrada descritos anteriormente e apresente a configuração da rede ao final da clusterização. Padrão de resposta esperado: Arquivo PDF 2.%20SISTEMAS%20INTELIGENTES/Aula%205/Resposta%20Esperada.pdf Para n = 1, temos: Passo 1: Atribuir tj = 1, bj = 1/(1+N) = 1/(1+3)=0,25 para qualquer valor de J. Passo 2: Vamos apresentar o vetor de entrada x1= [0, 1, 0]T à rede. Passo 3: Vamos calcular os scores de casamento. 𝜇𝑗 = 𝑏𝑗 𝑇 . 𝑥 = ∑ 𝑏𝑖𝑗(𝑛) 𝑛 𝑖=1 𝑥𝑖 1 ≤ j ≤ M μ1 = b1T. x1 = 0,25*0+0,25*1+0,25*0 = 0,25 μ2 = b2T. x1 = 0,25*0+0,25*1+0,25*0 = 0,25 Passo 4: Como não temos nenhum nó ainda comprometido com um protótipo, vamos escolher J=1 porque é o nó não comprometido a nenhum protótipo mais à esquerda. Passo 5: Teste de vigilância. • Cálculo da norma do vetor de entrada: |x1| = | [0 1 0] | = 1 • Cálculo do and lógico entre tJ e a entrada: | t1 ∧ x1| = |[1 1 1] ∧ [0 1 0]| = |[0 1 0]| = 1 • Verificamos: |t1∧x1| / | x1| = 1 ≥ ρ ? Sim, pois ρ é igual a 0,9. Então, vamos para o passo 7. Passo 7: Ressonância - Ajustar os vetores de peso do protótipo vencedor, ou seja, J = 1. t1 (2) = t1∧x1 = x1 → t1 (2) = [0 1 0]T b1(2) = x1/(0,5 + 1) = 0,67 . x1, ou seja, b1(2) = [0 0,67 0]T Assim, se confirma o corolário que diz que um nó não comprometido sempre armazena o vetor de entrada. Passo 8: Reativar todos os neurônios de saída e ir para o passo 2. Para n = 2, temos: Como não necessitamos inicializar novamente os valores de t e b, vamos começar novamente pelo passo 2, lembrando que os valores dos pesos nesse momento são: t1 = [0 1 0]T e b1 = [0 0,67 0]T Passo 2: Vamos apresentar agora o vetor x2 = [1 1 1]T à rede. Passos 3 e 4: Vamos calcular os scores de casamento e escolher J = 1 porque é o único nó comprometido com um protótipo. 𝜇𝑗 = 𝑏𝑗 𝑇 . 𝑥 = ∑ 𝑏𝑖𝑗 𝑛 𝑖=1 (𝑛)𝑥𝑖 1 ≤ j ≤ M μ1 = b1T. x2 =[0 0,67 0]T .. [1 1 1] = 0 + 0,67 + 0 = 0,67 Passo 5: Teste de vigilância. • Cálculo da norma do vetor de entrada: |x2| = | 1 1 1 | = 3 • Cálculo do and lógico entre tJ e a entrada: | t1 ∧ x2| = | [0 1 0] ∧ [ 1 1 1] | = |[0 1 0 ] | = 1 • Verificamos: |t1∧x2| / | x2| = 0,33 ≥ ρ ? Não, pois ρ é igual a 0,9. Então, vamos para o passo 6 (desativaremos o nó 1). Passo 6: Reset - Desativar o protótipo com o maior score de casamento. Como só temos protótipo para J = 1, μ1 = 0. Voltaríamos ao passo 3. Entretanto, como não existem outros protótipos, toma-se um novo nó não comprometido, J = 2. Todavia, para não termos que repetir os passos 3, 4, 5, 7 e 8, vamos aplicar o corolário descrito no passo n = 1, que diz que “um nó não comprometido sempre armazena o vetor de entrada”. Portanto, o nó 2 irá armazenar o vetor x2, se tornando, assim, comprometido com esse protótipo. Como o valor de t2(2) é igual a 1 em sua inicialização, temos que: t2(3) = x2= [1 1 1]T. b2(3) = x2/(0,5 + 3) = [1 1 1] / 3,5 = [0,28 0,28 0,28]T Passo 8: Reativar todos os neurônios de saída e ir para o passo 2. Para n = 3, temos: Como não necessitamos inicializar novamente os valores de t e b, vamos começar novamente pelo passo 2, lembrando que os valores dos pesos nesse momento são: t1 = [0 1 0]T e b1 = [0 0,67 0]T t2 = [1 1 1]T e b2 = [0,28 0,28 0,28]T Passo 3: Vamos calcular os scores de casamento. 𝜇𝑗 = 𝑏𝑗 𝑇 . 𝑥 = ∑ 𝑏𝑖𝑗 𝑛 𝑖=1 (𝑛)𝑥𝑖 1 ≤ j ≤ M μ1 = b1T. X3 =[0 0,67 0]T .. [0 1 0]T = 0 + 0,67 + 0 = 0,67 μ2 = b2T. x3 =[0,28 0,28 0,28]T .. [1 1 1]T= 0,28 + 0,28+ 0,28 = 0,84 Passo 4: Vamos escolher μ2 porque é o maior, ou seja, J = 2. Passo 5: Teste de vigilância. • Cálculo da norma do vetor de entrada: |x3| = | 0 1 1 | = 2 • Cálculo do and lógico entre tJ e a entrada: | t2 ∧ x3| = | [1 1 1] ∧ [ 0 1 1] | = |[0 1 1] | = 2 • Verificamos: |t1∧x3| / | x3| = 1 ≥ ρ ? Sim, pois ρ é igual a 0,9. Então, vamos para o passo 7. Passo 7: Ressonância - Ajustar os vetores de peso do protótipo vencedor. t2(4) = t2∧x3 = [1 1 1] ∧ [ 0 1 1] = [ 0 1 1]T b2(4) = x3/(0,5 + 2) = [0 1 1] / 2,5 = [0 0,4 0,4]T Passo 8: Reativar todos os neurônios de saída e ir para o passo 2. Como não temos mais vetores de entrada, o algoritmo termina. A camada F2 (clusters), ou seja, a camada competitiva termina com 2 nós, contendo os seguintes pesos: t1 = [0 1 0]T e b1 = [0 0,67 0]T t2 = [0 1 1]T e b2 = [0 0,4 0,4]T A rede termina com a seguinte configuração:
Compartilhar