Aprendizagem automática
Mapas auto-organizativos
Redes neuronais de Kohonen
“self-organizing maps (SOMS)”
Visão algébrica dum conjunto de informação
(valores, sinais, magnitudes,...)
vs.
Visão topológica da informação
(relações entre dados)
Redes neuronais de Kohonen
“self-organizing maps (SOMS)”
Compressão da informação
Mapeamento numa superfície 2D.
“Self-Organized Topological Features Maps” (!!!)
Preservação da topologia.
Redes neuronais de Kohonen
Arquitectura
Redes neuronais de Kohonen
Arquitectura
Uma única camada de neurónios.
n pesos para cada
neurónio
(n = número de inputs)
Redes neuronais de Kohonen
Topologia
Definição de distância entre neurónios
Neurónio
1ª vizinhança 2ª vizinhança
O output de cada neurónio só influencia neurónios próximos.
Redes neuronais de Kohonen
Objectivo
Mapear sinais semelhantes
em neurónios próximos
Redes neuronais de Kohonen
Sinais semelhantes em neurónios próximos
Sinais semelhantes correspondem à mesma classe?
SIM NÃO
Redes neuronais de Kohonen
Superfície toroidal
Vizinhança
Neurónio 1ª vizinhança 2ª vizinhançaRedes neuronais de Kohonen
Aprendizagem competitiva
Após input, um só neurónio é activado
(neurónio central ou vencedor)
Neurónio central é o que tiver
pesos mais semelhantes ao input.
Tradicionalmente, semelhança = distância Euclideana
2 1
)
(
i n i ix
w
∑
=−
n – nº de inputs w – valor do peso x – valor do inputRedes neuronais de Kohonen
Aprendizagem competitiva
Redes neuronais de Kohonen
Aprendizagem competitiva
Pesos do neurónio central são corrigidos de modo a torná-los ainda mais semelhantes ao input. Pesos de neurónios vizinhos também são adaptados com o mesmo objectivo mas em menor escala.
Neurónio
1ª vizinhança 2ª vizinhança
Redes neuronais de Kohonen
Aprendizagem competitiva
A correção dos neurónios vizinhos após activação de um neurónio depende de:
1. Distância ao neurónio vencedor (quanto mais longe menor a correcção)
2. Tempo de treino (no início do treino aplicam-se correcções mais drásticas)
3. Diferença entre o peso e o input (quanto maior a diferença maior a correcção).
Redes neuronais de Kohonen
Normalização dos dados
A activação de neurónios e as correcções dependem da distância Euclideana.
Se um descritor variar numa escala muito maior que outro, o primeiro vai ter mais influência no resultado.
Logo, para todos os descritores estarem em igualdade é necessário NORMALIZAR previamente os dados.
Redes neuronais de Kohonen
Normalização dos dados
Exemplo de normalização:
1. encontrar o valor máximo (MAX) e mínimo (MIN) para um descritor.
2. substituir cada valor x por (x-MIN)/(MAX-MIN) (passa a variar entre 0 e 1)
ou por 0.1 + 0.8×(x-MIN)/(MAX-MIN)
Redes neuronais de Kohonen
Normalização dos dados
Outro exemplo de normalização (normalização z):
1. encontrar o valor médio (aver) e o desvio padrão (sd) para um descritor.
2. substituir cada valor x por (x-aver)/sd
Redes neuronais de Kohonen: Aplicação
Classificação geográfica de petróleos para identificação da origem de derrames de petróleos brutos.
A partir de características químicas de petróleos.
Base de dados com características químicas de petróleos de diferentes origens
Base de dados com características químicas de petróleos de diferentes origens Amostra (características químicas) Amostra (características químicas) REDES NEURONAIS REDES NEURONAIS Classe geográfica Classe geográfica
Características químicas de petróleos
Teor em vários compostos
determinados por cromatografia gasosa / espectrometria de massa (GC / MS) Exemplos • (22R)17α(H),21β(H)-30,31-Bishomohopano / 17α(H),21β(H)-Hopano • 18α(H)-Oleanano / 17α(H),21β(H)-Hopano • 1-Isopropil-2-metilnaftaleno • 3-Metilfenantreno • 1-Metildibenzotiofeno 3- Metilfenantreno H H H H 18α(H)-Oleanano
Input do
vector
Descritores
GC/MS de uma
amostra de
petróleo
Descritores
GC/MS de uma
amostra de
petróleo
Rede neuronal de Kohonen
Pesos
Conjunto de teste: •55 amostras •70% previsões correctas Conjunto de teste: •55 amostras •70% previsões correctas Conjunto de treino: •133 amostras •20 origens geográficas diferentes •21 descritores de GC/MS •Bom agrupamento •97% previsões correctas Conjunto de treino: •133 amostras •20 origens geográficas diferentes •21 descritores de GC/MS •Bom agrupamento •97% previsões correctas
Resultados
Camada
de input
Camada
de input
Camada
Camada
Rede neuronal Counterpropagation (CPG)
SOM com uma camada de output
Apresentação
do input
input
input
output
output
Treino de uma rede neuronal CPG
Correcção dos pesos na camada de input Correcção dos pesos correspondentes na camada de output
Apresentação
do input
input
input
Previsão por uma rede neuronal CPG
previsão
Rede neuronal CPG com múltiplos outputs
Previsão
Previsão
Camada de input Camada de input Camada Camada Neurónio vencedorTreino
Treino
CPGNN: aplicação
Previsão da capacidade para ligar a GPCR (G-Protein-Coupled Receptors)
CPGNN: aplicação
Previsão da capacidade para ligar a GPCR (G-Protein-Coupled Receptors)
P.Selzer, P. Ertl, QSAR Comb. Sci. 2005, 24, 270-276; J. Chem. Inf. Model. 2006, 46 (6), 2319 -2323.
Rede CPG de tamanho 250×250 Conjunto de treino:
24870 moléculas aleatoriamente retiradas de catálogos (“drug-like”) 1709 moléculas ligandos de GPCR
Input: 225 descritores (códigos RDF)
Output: 9 níveis (GPCR e subfamília “adrenalin, bradykinin, dopamine,
endothelin, histamine, opioid, serotonin, vasopressin”). Valores binários (0/1) consoante ‘SIM’ ou ‘NÃO’.
CPGNN: aplicação à previsão de ligandos de GPCR
Resultados:1º nível de output (ligando de GPCR)
Os valores dos pesos estão traduzidos em cores.
CPGNN: aplicação à previsão de ligandos de GPCR
Resultados:CPGNN: aplicação à previsão de ligandos de GPCR
Resultados:
Conjunto de teste
(25096 não-GPCR e 1490 GPCR)
71% dos ligandos correctamente previstos
18% falsos positivos
SOMs no programa JATOON
http://www.dq.fct.unl.pt/staff/jas/jatoon
SOMs no programa JATOON
http://www.dq.fct.unl.pt/staff/jas/jatoon
Visualização da
distribuição dos objectos. Neurónios coloridos de acordo com as classes
SOMs no programa JATOON
http://www.dq.fct.unl.pt/staff/jas/jatoon
SOMs no programa JATOON
http://www.dq.fct.unl.pt/staff/jas/jatoon
Inspecção dos pesos num determinado nível da camada de input.