Universidade de Lisboa - Faculdade de Letras
Aplicação das Redes Neuronais Artificiais do software
STATISTICA 7.0: O caso ...
3
Seminário em Modelos Urbanos e Sistemas Complexos
Docente: Jorge Rocha
Aplicação das Redes Neuronais Artificiais do soft...
4
Índice
Introdução………………………………………………………………………………..6
Capitulo I. Funcionamento de uma Rede Neuronal Artificial………………………….....
5
Índice de quadros e tabelas
Quadro número 1 – Vantagens, desvantagens e principais utilidades dos diferentes tipos
de re...
6
Introdução
Presentemente, a modelação geográfica permite criar modelos de previsibilidade ou
modelos previsivos. Estes m...
7
Territorial aplicados ao Ordenamento, realizou-se o presente trabalho sobre os
diferentes tipos de Redes Neuronais Artif...
8
Capítulo I. Funcionamento de uma Rede Neuronal Artificial
Existem dois tipos de aprendizagem no que diz respeito às Rede...
9
Capítulo II. Os tipos de RNA existentes no software
STATISTICA com base no ELECTRONIC TEXTBOOK da
StatSoft2
O software S...
10
partir do início de que se deve usar uma camada escondida com um número de
neurónios igual a metade do número de unidad...
11
sinal de erro obtido através da subtracção dos valores chegados com os encontrados na
camada de saída. Este erro, junta...
12
vasto. Será uma vantagem ou desvantagem utilizar o tipo de RNA RBF dependendo da
aplicação que se pretende.
3. Rede Neu...
13
torna-se lenta no que diz respeito à sua execução ao contrário do seu tempo de “treino”.
As redes PNNs são úteis para e...
14
As Redes Neuronais de Regressão Generalizada apresentam algumas desvantagens em
relação às similares redes PNN, nomeada...
15
Até aqui, os diferentes tipos de redes que foram enunciados, com base no artigo da
Statsoft são todos, no que diz respe...
16
representam os centros no espaço de input e se localizam proximamente também se
situem de forma próxima na camada topol...
17
Tipo de rede Vantagens Desvantagens Utilidade
MLP Simples e eficaz;
Tipologia Feedforward;
Modelar funções quase
comple...
18
Capítulo III. Interpretação de resultados
1. Processo utilizado
O software STATISTICA com o módulo Neural Network possi...
19
processo, bem como o número de neurónios a serem utilizados, estes processos vão
determinar o resultado final, quanto m...
20
predição do problema de tipo análise temporal uma forma especializada de regressão,
no entanto, a análise temporal tamb...
21
Primeiro Treino da Rede
Perfil
Perf.
Treino
Perf.
Selecção
Te.
Perfeição
Erro
Tr.
Erro
Sel.
Erro T. Treino
1 MLP s10 1:...
22
Terceiro Treino da Rede
Perfil
Perf.
Treino
Perf.
Selecção
Te.
Perfeição
Erro Tr.
Erro
Sel.
Erro T. Treino
1
MLP s10
1:...
23
correcto (indica sob aprendizagem). O campo “perfeição da selecção” deve ser evitado
para escolher o modelo a não ser q...
24
Sabendo, então, qual a rede com maior aptidão para a resolução do problema em causa
foi seleccionada apenas esta rede e...
25
Bibliografia
Capinha, C., Melo, R. (2007) – Integração de redes neuronais artificiais e SIG para a
modelação de habitat...
Próximos SlideShares
Carregando em…5
×

Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso da expansão urbana da cidade de Maputo

656 visualizações

Publicada em

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
656
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
27
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso da expansão urbana da cidade de Maputo

  1. 1. Universidade de Lisboa - Faculdade de Letras Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso da expansão urbana da cidade de Maputo José Pedro Gonçalves dos Santos Ricardo Miguel da Silva Brasil 2009
  2. 2. 3 Seminário em Modelos Urbanos e Sistemas Complexos Docente: Jorge Rocha Aplicação das Redes Neuronais Artificiais do software STATISTICA 7.0: O caso da expansão urbana da cidade de Maputo Realizado por: José Pedro Gonçalves dos Santos Nº 32505 Ricardo Miguel da Silva Brasil Nº 32548 Março de 2009
  3. 3. 4 Índice Introdução………………………………………………………………………………..6 Capitulo I. Funcionamento de uma Rede Neuronal Artificial…………………………...8 Capítulo II. Os tipos de RNA existentes no software STATISTICA com base no ELECTRONIC TEXTBOOK, StatSoft…………………………………………..…........9 1. Perceptrão Multicamada (Multilayer Perceptrons (MLP))………………….………..9 1.1. O Algoritmo de Retropopagação (Back Propagation Algorihtm)…………….......10 2. Radial Basis Function……………………………………………………………....11 3. Rede Neuronal Probabilística (Probabilistic Neural Networks)………...…..……....12 4. Rede Neuronal de Regressão Generalizada (Generalized Regression Neural Networks)………………………………………………………………………....…….13 5. Rede Neuronal Linear (Linear Network)…………………………………....…….....14 6. Self Organizing Feature Map (SOFM, ou Kohonen) networks……………….......…15 Capítulo III. Interpretação de resultados……………………………………….………18 1. Processo utilizado………………………………………………………...………….18 2. Escolha dos métodos de análise………………………………………..…………….18 3. Configuração da Rede………………………………………………….……………19 4. Resultados obtidos……………………………………………………..…….…....…20 5. Análise dos resultados……………………………………………………..…….......22 Bibliografia…………………………………………………………………………......25
  4. 4. 5 Índice de quadros e tabelas Quadro número 1 – Vantagens, desvantagens e principais utilidades dos diferentes tipos de redes…………………………………………………………………………………17 Tabela número 1 – Resultados obtidos após o primeiro treino da rede com o método Intelligent Problem Solver……………………………………………………………...21 Tabela número 2 – Resultados obtidos após o segundo treino da rede com o método Intelligent Problem Solver……………………………………………………………...21 Tabela número 3 – Resultados obtidos após o terceiro treino da rede com o método Intelligent Problem Solver……………………………………………………………...22 Tabela número 4 – Resultados dos três treinos realizados pelo método Custom Network Designer…………………………………………….…………………..……………...24
  5. 5. 6 Introdução Presentemente, a modelação geográfica permite criar modelos de previsibilidade ou modelos previsivos. Estes modelos previsivos são dinâmicos, vocacionados para realizar a simulação numérica de processos e fortemente dependentes do tempo. Um modelo previsivo tem por base as propriedades de um sistema complexo. Um sistema complexo é um sistema que envolve determinado número de elementos, organizados em estruturas que podem existir em diversas escalas. Estes sistemas passam por processos de transformação que não são passíveis de serem descritos por uma única regra, ou seja, não podem ser reduzidos a um único nível de explicação. Num sistema complexo o todo é mais importante que a soma das suas partes e, consequentemente, qualquer tentativa de modelar a sua estrutura é inevitavelmente parcial e incompleta. Assim, estes modelos representam simplificações, em que os processos predominantes são simulados, o que nos leva a concluir que para a descrição de cada sistema poderão existir muitos modelos. À complexidade estão, normalmente, associadas as seguintes características: auto-organização; não-linearidade; dinâmica ordem/caos e propriedades emergentes (emergência). Assim sendo, como é possível modelar a complexidade em Geografia? Existem várias formas de modelar a complexidade em Geografia, como por exemplo através dos Autómatos Celulares ou das Redes Neuronais Artificiais. No que se concerne às Redes Neuronais Artificiais pode-se definir uma Rede Neuronal Artificial (RNA) como sendo um sistema composto por diversos elementos simples de processamento, operando em paralelo, cuja função é determinada pela estrutura da rede, pela força das ligações e pelo processamento realizado nos elementos de computação, designados nós. Uma RNA é um modelo que simula o comportamento do cérebro humano, tendo por base a aprendizagem1 . Sendo assim, no âmbito do seminário em Modelos Geográficos e Sistemas Urbanos Complexos do Mestrado em Sistemas de Informação Geográfica e Modelação 1 Adaptado dos diapositivos de apresentação PowerPoint do seminário em Modelos Geográficos e Sistemas Urbanos Complexos, Jorge Rocha, 2008.
  6. 6. 7 Territorial aplicados ao Ordenamento, realizou-se o presente trabalho sobre os diferentes tipos de Redes Neuronais Artificiais existentes num determinado software, neste caso, o software STATISTICA. Com este trabalho pretende-se expor os diferentes tipos de aprendizagem das RNA e os diferentes tipos de Redes Neuronais Artificiais que podem ser utilizadas no software STATISTICA. Primeiramente, serão enunciados os vários tipos de RNA presentes no software STATISTICA e explicadas as características de cada um per si. Seguidamente, a título de exemplo, serão “treinadas” cada uma das diferentes RNA com os mesmos dados de input, neste caso, a informação matricial referente aos valores de declive em graus, ao uso do solo para o ano de 1991 e 2001 e às vias da cidade de Maputo de forma a ser possível retirar algumas considerações finais sobre diferentes tipos de RNA e poder-se proceder a uma análise comparativa dos mesmos.
  7. 7. 8 Capítulo I. Funcionamento de uma Rede Neuronal Artificial Existem dois tipos de aprendizagem no que diz respeito às Redes Neuronais Artificiais, são elas: a aprendizagem supervisionada e a aprendizagem não supervisionada. Na aprendizagem supervisionada é apresentada à rede um conjunto de padrões de entrada e os correspondentes padrões de saída. Neste processo, a rede inicia um ajustamento dos pesos das conexões, segundo um algoritmo de aprendizagem, que deverá ser parado quando o erro for mínimo. No tipo de aprendizagem não supervisionada a rede analisa os dados e conjunto de dados de entrada (input) e “aprende” a reflectir as propriedades na saída (output). No caso da aprendizagem supervisionada, por exemplo, existe o tipo de RNA designada de Back Propagation que usa os dados para ajustar os pesos e limiares da rede como também para minimizar o erro nas “previsões” do “treino” ou do modelo. Se a rede for “treinada” apropriadamente, esta aprende a modelar a função (desconhecida) que relaciona as variáveis de input com as de output e pode ser utilizada para fazer previsões onde o output é “desconhecido”. Uma RNA funciona da seguinte forma: A RNA recebe um número de inputs (seja da informação original ou do output de outros neurónios da rede neuronal). Cada input é “conduzido” via uma conexão que tem uma força ou peso, esse peso corresponde a uma eficácia sináptica num neurónio. Cada neurónio tem, também, um valor limiar. Os sinais de input formam uma soma ponderada e o valor limiar é subtraído resultando assim na activação do neurónio, isto é, a unidade leva a cabo uma soma ponderada dos seus inputs para obter o valor de activação. O sinal de activação é “corrido” por uma função de activação que produz um output para o neurónio.
  8. 8. 9 Capítulo II. Os tipos de RNA existentes no software STATISTICA com base no ELECTRONIC TEXTBOOK da StatSoft2 O software STATISTICA dispõe de vários tipos de Redes Neuronais Artificiais a partir das quais se podem modelar imensos fenómenos. Dentro da categoria das RNA de aprendizagem supervisionada existem os seguintes tipos de RNA no software STATISTICA: 1. Perceptrão Multicamada (Multilayer Perceptrons (MLP)) Esta deve ser, provavelmente, o tipo de rede mais conhecida e utilizada, o que se deve em, grande parte, a Rumelhart, McClelland e Bishop, que nos seus livros discutiram inúmeras vezes este tipo de rede. Como já foi referido anteriormente, o funcionamento deste tipo de rede processa-se da seguinte forma: cada neurónio (unidade) recebe um conjunto de inputs ponderados de outros neurónios e passa um nível de activação via uma função de transferência para produzir o respectivo output. Estas unidades são dispostas numa tipologia feedforward (controladas por um sistema que passa um sinal de activação a partir de uma fonte do sistema de controlo externo, normalmente, um comando de activação de um operador externo). Este tipo de rede é simples no que se concerne ao processo entre os inputs e os outputs. Este tipo de rede permite modelar funções de arbitrariedade quase complexa, com um número de camadas e um número de unidades em cada camada, determinando, assim, a complexidade da função. Um aspecto importante da MLP está relacionado com a especificação do número de camadas escondidas (hidden layers) e o número de neurónios que essas camadas devem ter. Assim, o número de inputs e outputs deve ser definido pelo problema a resolver, isto pode fazer com que surjam problemas de incerteza quanto aos inputs que se devem utilizar para resolver determinado problema, contudo este é um problema que deve estar sempre na atenção do utilizador, assim também como o número de neurónios a utilizar. Não havendo nenhuma regra, deve-se 2 Retirado de: http://www.statsoft.nl/uk/textbook/stneunet.html
  9. 9. 10 partir do início de que se deve usar uma camada escondida com um número de neurónios igual a metade do número de unidades de input e output. Uma vez escolhidos o número de camadas e o número de unidades para cada camada, os limiares e pesos da rede devem ser ajustados de forma a minimizar ao máximo o erro de previsão obtido pela rede. Esta é a função dos algoritmos de treino, dos quais se discutirá um exemplo mais adiante. As variáveis recolhidas e utilizadas servem para automaticamente ajustar os pesos e os limiares de forma a minimizar o erro. Este processo é o equivalente a ajustar o modelo representado pela rede aos dados de “treino” disponíveis. O erro de uma configuração particular da rede pode ser determinado através do processamento, de todos os casos de treino, pela rede, comparando o actual output gerado com output pretendido. As diferenças são articuladas juntamente por uma função de erro de forma a atribuir o erro da rede. A função de erro mais comum é a Soma do Erro Quadrático (Sum Squared Error) na maior parte dos casos, usado para problemas de regressão. Nesta função de erro, os erros individuais das unidades de output em cada caso são somados e calcula-se a raiz quadrada dos mesmos. 1.1.O Algoritmo de Retropropagação (Back Propagation Algorithm) Como foi referido anteriormente, aquando do processamento de uma RNA, os limiares e pesos da rede devem ser ajustados de forma a minimizar ao máximo o erro de previsão obtido pela rede, função esta que pertencente aos algoritmos de treino, dos quais se destaca o algoritmo de treino Back Propagation (Retropropagação). Este algoritmo de treino é considerado o melhor e é o mais utilizado, uma vez que, este necessita de uma menor capacidade de processamento, sendo dos mais “leves” no que diz respeito à sua execução e normalmente alcança um nível de erro aceitável de uma forma rápida, todavia, pode ser bastante lento na conversão correcta do erro mínimo. Este algoritmo pode ser utilizado em quase todos os tipos de redes presentes o software STATISTICA, contudo, é o mais apropriado para o tipo de rede Multilayer Perceptrons. Neste tipo de algoritmo, o vector gradiente do erro é calculado, e com o cálculo deste vector é possível perceber como diminuir o erro, também, em cada época de “treino” as variáveis são submetidas novamente na rede e ao atingirem o output é comparado o
  10. 10. 11 sinal de erro obtido através da subtracção dos valores chegados com os encontrados na camada de saída. Este erro, juntamente com o erro do vector gradiente são utilizados para ajustar os pesos e este processo vai-se repetindo (retropopagação) até ser atingido o menor erro possível. 2. Radial Basis Function O tipo de RNA Radial Basis Function (RBF) possui uma camada escondida composta por unidades radiais e cada uma destas unidades radiais modelam uma superfície Gaussiana. Uma vez que a RNA utiliza funções não-lineares não é necessário ter mais do que uma camada escondida para modelar qualquer forma ou função, isto porque as unidades radiais são suficientes para modelar qualquer função. Assim sendo, como é possível ajustar o output da unidade radial oculta ao output da rede? A resposta a esta questão está no facto de bastar usar uma combinação linear desses outputs, ou seja, a soma ponderada das unidades Gaussianas, para modelar qualquer função não-linear. As RNAs RBFs detém algumas vantagens sobre as RNAs do tipo MLP, primeiramente, como referido a priori, permitem modelar qualquer função não-linear usando uma camada escondida, o que retira, portanto, algumas dúvidas sobre o número de camadas a utilizar. Em segundo lugar, a simples transformação linear na camada de output pode ser totalmente optimizada usando as tradicionais técnicas de modelação linear que além de serem processos pouco morosos, também não são afectadas por problemas que afectam as técnicas de “treino” da MLP como o problema designado “local minima”. Sendo assim, a rede RBF pode ser “treinada” de uma forma extremamente rápida, comparando com a rede MLP. Por outro lado, antes da optimização linear poder ser aplicada à camada de output de uma rede RBF, o número de unidades radiais deve estar, previamente, escolhido. Outra diferenciação entre a rede MLP e o tipo de rede RBF concerne-se com as diferentes aproximações à modelação do espaço que ambas as redes permitem. É de referir, também, que caso se escolham um maior número de unidades a utilizar na rede RBF para modelar algum tipo de função, esta, consequentemente, acaba por se tornar mais lenta no que diz respeito ao seu processamento e acaba por ocupar muito mais espaço em disco. As redes RBFs são, também, mais “sensíveis” ao problema da dimensionalidade e têm grandes dificuldades se o número de unidades de input for
  11. 11. 12 vasto. Será uma vantagem ou desvantagem utilizar o tipo de RNA RBF dependendo da aplicação que se pretende. 3. Rede Neuronal Probabilística (Probabilistic Neural Networks) As Redes Neuronais Probabilísticas são na, maioria dos casos, mais apropriadas para tarefas de classificação, tanto este tipo de rede como o tipo de rede neuronal Generalized Regression, que será discutido mais adiante, são aproximações aos métodos do sistema Kernel3 em formato de rede neuronal. As redes do tipo Probabilístico (PNN) são caracterizadas por terem no mínimo três camadas, sendo estas, a camada e input, a camada radial e a camada de output. As unidades radiais são copiadas directamente de dados de “treino”, cada uma por cada caso e estas modelam uma função Gaussiana centrada no caso de “treino”. Existe uma unidade de output por cada classe, sendo estas conectadas com todas as unidades radiais de cada classe a que pertence e não havendo conexões das mesmas com as restantes unidades radiais. Facto este que faz com que as unidades de output, somente, respondam às unidades pertencentes à mesma classe. Os outputs são normalizados numa escala que vai de 0 a 1 e assim estimam as probabilidades de cada classe. O único factor de controlo que é necessário escolher neste tipo de rede é o desvio radial das funções Gaussianas. Este tipo de rede tem alguma vantagens, nomeadamente, o facto de o output obtido ser probabilístico o que torna a sua interpretação fácil; outra vantagem é a rapidez do “treino” da rede que processa-se de forma rápida, uma vez que treinar uma PNN consiste, na sua grande parte, em copiar os casos de treino para rede. A grande desvantagem desta rede é o seu tamanho. Uma PNN normalmente contém o conjunto inteiro dos casos de treino e, assim sendo, ocupa muito espaço de disco e 3 Kernel é um programa que constitui o núcleo central de um sistema operativo de um computador, tendo o mesmo completo controlo sobre tudo o que ocorre no sistema e a funcionalidade de gerir os recursos do sistema, isto é, a comunicação entre os componentes de hardware e de software. Fonte: http://www.linfo.org/kernel.html
  12. 12. 13 torna-se lenta no que diz respeito à sua execução ao contrário do seu tempo de “treino”. As redes PNNs são úteis para experiências de teor protótipo, como por exemplo, que parâmetros de input utilizar, isto também por que devido ao curto tempo de “treino” da rede, esta pode ser testada várias vezes num curto espaço de tempo. 4. Rede Neuronal de Regressão Generalizada (Generalized Regression Neural Networks) As redes do tipo Generalized Regression Neural Network (GRNN) funcionam de uma forma semelhante às PNN, mas são mais adequadas para problemas de regressão do que de classificação. Como foi enunciado, as redes do tipo PNN têm as funções Gaussianas em sistema Kernel localizadas em cada caso de “treino”. No caso das redes do tipo GRNN, estas copiam os casos de “treino” para a rede de forma a serem utilizados para estimar a resposta de novos pontos (casos). O output é estimado usando uma média ponderada dos outputs dos casos de “treino” onde a ponderação está relacionada com a distância a partir do ponto que está ser calculado e, assim sendo, os pontos que se encontram mais perto contribuem mais para essa estimação. A primeira camada escondida da GRNN contém as unidades radiais e uma segunda camada escondida possui as unidades que ajudam a estimar a média ponderada. Cada output possui uma unidade própria na segunda camada que calcula a soma ponderada para o correspondente output. Para se conseguir estimar a média ponderada a partir da soma ponderada, a mesma é dividida pela soma dos factores de ponderação, este cálculo é feito por uma única unidade especializada localizada na segunda camada. A camada de output procede, então, às divisões usando unidades de divisão específicas. Portanto, a segunda camada escondida tem sempre mais uma unidade que a camada de output. Nos problemas de regressão é apenas estimado um único output sendo que a segunda camada escondida possui, na maioria dos casos, duas unidades. As redes do tipo GRNN podem ser modificadas se forem utilizadas unidades radiais que reapresentam “clusters” em vez de cada caso de “treino” per si. Isto faz com que seja reduzido o tamanho da rede e com que a sua velocidade de execução aumente. Para a determinação dos centros dos “clusters” utilizam-se algoritmos apropriados como o caso do K-means ou o Kohonen.
  13. 13. 14 As Redes Neuronais de Regressão Generalizada apresentam algumas desvantagens em relação às similares redes PNN, nomeadamente, o facto de as redes GRNN poderem ser utilizadas apenas para problemas de regressão. Outra desvantagem é o facto de que uma rede GRNN, apesar de “treinar” quase instantaneamente, tender para ser “grande” e lenta. Mas este tipo de rede também apresenta uma vantagem sobre a rede PNN, designadamente, o facto de esta rede não necessitar de ter uma unidade radial para cada caso de “treino” como é o caso das Redes Neuronais Probabilísticas. 5. Rede Neuronal Linear (Linear Network) Parte-se sempre do princípio de que um modelo simples deve ser sempre escolhido ao invés de um modelo complexo, caso o último não se adeqúe melhor aos dados existentes. No que se concerne à função de um modelo, o modelo linear é o mais simples, onde a função existente é do tipo hiperplana. Aquando de problemas de classificação, a função hiperplana está posicionada de forma a dividir duas classes (uma função linear descriminante); em problemas de regressão, a função está posicionada de forma a passar pela informação. Um modelo linear é tipicamente representado através de uma matriz NxN e um vector viés4 Nx1. Uma rede neuronal sem nenhuma camada escondida e um output com um resultado de uma função sináptica e uma função de activação, normalmente, configuram um modelo linear onde os pesos correspondem a uma matriz e os limiares correspondem ao vector viés. A Rede Neuronal Linear garante uma boa referência no que diz respeito a comparações de performance com outras redes, isto porque, é possível resolver um problema complexo ou muito complexo através de técnicas lineares ou redes neuronais lineares. Se por eventualidade o número de casos de “treino” for reduzido não há justificação para se utilizar um modelo mais complexo do que um modelo linear. 4 Viés (bias) é um termo usado em estatística para expressar o erro sistemático ou tendenciosidade. Fonte: http://pt.wikipedia.org/wiki/Vi%C3%A9s
  14. 14. 15 Até aqui, os diferentes tipos de redes que foram enunciados, com base no artigo da Statsoft são todos, no que diz respeito ao seu tipo de aprendizagem, de aprendizagem supervisionada. O sequente tipo de rede neuronal enquadra-se nos tipos de redes neuronais de aprendizagem não supervisionada. 6. Self Organizing Feature Map (SOFM, ou Kohonen) networks Este tipo de rede neuronal é diferente das outras redes não só pelo seu tipo de aprendizagem como também pelo seu funcionamento e pela sua aplicabilidade, isto deve-se, em grande parte, ao facto de este tipo de rede ser de aprendizagem não supervisionada. Nas redes de aprendizagem supervisionada a informação a ser “treinada” provém das variáveis de input associadas aos outputs e a rede infere uma ligação dos inputs aos outputs ao contrário das redes de aprendizagem supervisionada onde o conjunto de dados de “treino” contém apenas as variáveis de input. À primeira vista este tipo de funcionamento parece estranho, isto é, como é que rede consegue aprender? A resposta está no facto que este tipo de rede ensaia aprender como funciona a estrutura da informação utilizada. Este tipo de rede é utilizado muitas vezes para análise explorativa de dados. A rede SOFM consegue aprender a reconhecer grupos (clusters) de informação e consegue relacionar classes que sejam semelhantes. O utilizador pode, assim, entender a informação que está a utilizar. As classes da informação são reconhecidas e podem ser marcadas para que a rede possa elaborar uma classificação. As redes SOFM podem, também, ser utilizadas para classificação quando as classes de output são obtidas, sendo este aspecto uma vantagem para realçar similaridades entre classes. Uma rede SOFM tem apenas duas camadas, sendo elas, a camada de input e camada de output de unidades radiais, também conhecida como a camada topológica. As unidades na camada topológica são definidas no espaço, tipicamente em duas dimensões. As redes SOFM são dependentes do seu “treino” e usam algoritmos iterativos. Começando com um conjunto inicial de centros radiais, estes algoritmos ajustam-se gradualmente de forma a reflectir o agrupamento da informação de “treino”. O processamento de “treino” iterativo, também, dispõe a rede para que as unidades que
  15. 15. 16 representam os centros no espaço de input e se localizam proximamente também se situem de forma próxima na camada topológica (mapa topológico). Pode-se pensar que a camada topológica da rede tem uma grelha de bi-dimensionalidade que pode ser moldada e distorcida num espaço de input N-dimensional para que a estrutura original seja preservada ao máximo. Claramente, qualquer tentativa de representar um espaço N-dimensional num espaço de duas dimensões irá resultar numa perda de informação, contudo, esta técnica pode ser útil para permitir ao usuário visualizar os dados que, de outra forma, possam parecer impossíveis de compreender. O algoritmo de iteração Kohonen é executado durante um determinado número de épocas e em cada época executa cada caso de “treino” e aplica o seguinte algoritmo: Selecciona o neurónio de maior interesse (o neurónio “vencedor”), isto é, aquele cujo centro está mais próximo do caso de input; de seguida, ajusta esse mesmo neurónio de forma ao mesmo ser mais parecido com o caso de input, isto acontece através da uma soma ponderada do anterior centro do neurónio e casa de “treino”. A ordem topológica é obtida através do conceito de verosimilhança. O conceito de verosimilhança está relacionado com o conjunto de neurónios que rodeiam o neurónio “vencedor”. A verosimilhança decai com o passar do tempo, de forma a que, inicialmente, o número de neurónios pertencentes à verosimilhança é grande, provavelmente, quase todo o mapa topológico. Nas fases mais avançadas a verosimilhança será de zero, isto é, irá consistir somente no neurónio “vencedor”. No algoritmo de Kohonen o ajustamento dos neurónios é aplicado não só ao neurónio “vencedor” mas também a todas as unidades da verosimilhança. Uma vez que a rede está “treinada” para reconhecer a estrutura da informação, a rede pode ser utilizada como ferramenta de visualização para examinar a informação (Data). Depois de os clusters estarem identificados, os neurónios na camada topológica são marcados com vista a indicar o seu significado (ocasionalmente, casos individuais também são marcados). Estando o mapa topológico construído, através das técnicas descritas, novos casos podem ser submetidos na rede. Se o neurónio “vencedor” tiver sido marcado com o nome de uma classe, a rede pode proceder à classificação, caso contrário, a rede é considerada como “indecisa”.
  16. 16. 17 Tipo de rede Vantagens Desvantagens Utilidade MLP Simples e eficaz; Tipologia Feedforward; Modelar funções quase complexas. Incerteza na escolha do número de camadas escondidas, inputs e outputs; não modela funções não-lineares. Qualquer tipo de problemas (grande aplicabilidade) RBF Não necessita de mais do que 1 camada escondida; Possibilidade de modelar quase todas as funções; Permite modelar funções não-lineares; rápido processamento. Se o número de unidades a utilizar for grande, torna-se lenta; Sensíveis ao problema da dimensionalidade. Funções não-lineares PNN É apenas necessário 1 factor de controlo; o output obtido é probabilístico e, logo, de fácil interpretação; rapidez de treino. Ocupa muito tamanho em disco; Morosa na sua execução. Classificação; experiências de teor protótipo. GRNN Tempo de treino curto; treina quase instantaneamente; não necessita de 1 unidade radial para cada caso de treino (ao contrário das PNN). Servem apenas para problemas de regressão; ocupa muito espaço em disco; execução morosa. Problemas de regressão. Linear Boa performance em comparação com as outras redes; permite resolver problemas complexos de forma simples. Modelos simples (modelos lineares). SOFM Auto-aprendizagem; utilização de algoritmos iterativos; bi- dimensionalidade (representação no espaço). Processamento moroso; Data-driven (dependentes da informação e do treino). Classificação; análise explorativa de dados. Quadro número 1 – Vantagens, desvantagens e principais utilidades dos diferentes tipos de redes.
  17. 17. 18 Capítulo III. Interpretação de resultados 1. Processo utilizado O software STATISTICA com o módulo Neural Network possibilita uma série de opções para solucionar qualquer problema que se pretenda, dentro das opções disponíveis existem as seguintes: Regressão, Classificação, Análises Temporais e Análises de Clusters. No presente caso, o problem type em causa é uma análise temporal, isto é, dado um conjunto de variáveis dependentes predefinidas irar-se-á verificar qual a rede que é mais indicada ou que melhor justifica a expansão urbana na cidade de Maputo num período de 10 anos. Numa análise sucinta ao problem type escolhido podemos afirmar que, no problema de tipo análise temporal, o objectivo é prever os valores da variável ou variáveis a partir de um número de valores de variáveis iguais ou diferentes. Nos casos mais comuns, uma única variável é envolvida, e um número de valores sequenciais é usado para prever o próximo valor da mesma sequência (Bishop, 1995 cit em STATISTICA Electronic Manual). Por outras palavras, no problema de tipo análise temporal, em causa, o objectivo é prever futuramente o valor de uma variável que varie no tempo, usando valores anteriores de outras variáveis. 2. Escolha dos métodos de análise É possível através do software STATISTICA escolher entre dois métodos diferentes de resolução do problema: o Intelligent Problem Solver e o Custom Network Designer. Ambos diferem, na medida em que, o primeiro refere-se ao treino da rede de forma automática, ou seja, caso não se saiba muito sobre o fenómeno de estudo em causa e não se saiba qual a melhor rede que se adapta ao fenómeno, o primeiro método é ideal, devido ao facto que, utiliza todas as combinações possíveis de redes existentes no STATISTICA e escolhe aquela que possui o menor erro possível dentro das escolhidas. O que este método faz é utilizar algoritmos de treino um determinado número de vezes de forma a seleccionar a melhor rede. Este processo é puramente automático e é indicado quando o utilizador não tem conhecimento do fenómeno, todavia, é necessário determinar a variável dependente e as variáveis independentes antes de ser iniciado o
  18. 18. 19 processo, bem como o número de neurónios a serem utilizados, estes processos vão determinar o resultado final, quanto mais variáveis ou quanto mais neurónios melhor serão os resultados obtidos devido ao facto que, o modelo terá maior capacidade e uma maior taxa de aprendizagem. O funcionamento do Intelligent Problem Solver baseia-se na utilização de algoritmos que usam as técnicas do estado da arte para determinar a selecção dos inputs, o número de neurónios e outros factores chave para a resolução do problema. A utilização do Custom Network Designer é a mais apropriada quando é conhecido o fenómeno em estudo ou o problema é resolvido por utilizadores mais experientes. Depois de corrido o processo com o Intelligent Problem Solver e de ter sido escolhido a rede que teve o menor erro é utilizada essa mesma rede no Custom Network Designer de forma a comparar os resultados obtidos com os dois modelos, a vantagem neste ponto é devido ao facto, que agora é sabido qual a rede que produziu o menor erro e que é mais indicada para o fenómeno em estudo. No caso da opção Custom Network Designer é o utilizador que escolhe o tipo de rede a ser utilizada, sabendo à partida que diferentes redes originam diferentes resultados. As redes neuronais são como uma “black box”, ou seja, não sabemos o que acontece quando o processo é iniciado, sabemos apenas que, cada vez que o processo é corrido o resultado é diferente, isto acontece porque é um processo não linear e as interacções intra e inter-escala das componentes do sistema são aleatórias e sem ordem. 3. Configuração da Rede Na configuração da rede neuronal pelo método Intelligent Problem Solver é possível definir o número de neurónios a serem usados, o tipo de rede a ser utilizada e o conjunto de informação de entrada a ser utilizada. Apesar de este método ser automático, é o utilizador que define os passos e os parâmetros. No caso em estudo foram escolhidos para o tipo de resolução de problema, todas as redes que aparecem por defeito no STATISTICA (Multilayer Perceptrons, Radial Basis Function, Probabilistic Neural Networks ou Generalized Regression Neural Network, Linear networks, Three layer percepton e Four layer perceptron). Estes tipos de redes que aparecem por defeito são devido ao facto que, tipicamente as variáveis previstas são contínuas, sendo então a
  19. 19. 20 predição do problema de tipo análise temporal uma forma especializada de regressão, no entanto, a análise temporal também pode ser calculada através de variáveis nominais p.e classificação. No caso da Custom Network Designer, as redes que aparecem por defeito para serem seleccionadas são as mesmas que foram descritas anteriormente, não contemplando o total das redes possíveis de serem utilizadas pelo STATISTICA, facto este mencionado anteriormente. Neste método a diferença com o método anterior é que apenas podemos escolher uma rede entre as opções dadas, no método anterior tanto poderíamos escolher uma rede como o total de redes que aparecem por defeito para o problema em causa. Para o presente caso, foi escolhida a rede Linear devido ao facto de ter obtido melhores resultados com o método anterior. 4. Resultados obtidos Para se analisar os resultados obtidos com ambos os processos recorreu-se às tabelas que são geradas após a conclusão do treino da rede. No caso do método Intelligent Problem Solver após o resultado final foi optado por treinar a mesma rede por duas vezes, sabendo à partida que, ao procedermos a novo treino da rede, esta irá modificar o próprio erro devido à capacidade de aprendizagem, tanto em força como em conectividade. Seguidamente, nas tabelas número 1,2 e 3 são descritos os resultados obtidos com este método.
  20. 20. 21 Primeiro Treino da Rede Perfil Perf. Treino Perf. Selecção Te. Perfeição Erro Tr. Erro Sel. Erro T. Treino 1 MLP s10 1:10-5-1:1 0.853035 0.861200 0.870871 0.4430 45 0.4469 46 0.4522 99 BP100,CG20,C G0b 2 MLP s10 2:20-5-6-1:1 0.899829 0.905502 0.907586 0.4532 02 0.4566 30 0.4568 56 BP100,CG20,C G0b 3 RBF s10 3:30-341-1:1 0.714103 0.760763 0.748445 1.4298 94 1.5194 21 1.4993 12 SS,KN,PI 4 Linear s10 3:30-1:1 0.755657 0.775236 0.774343 0.3773 37 0.3861 22 0.3868 36 PI 5 GRNN s10 3:30-8316- 2-1:1 0.743727 0.779443 0.782880 1.4901 48 1.5577 77 1.5692 12 SS Tabela número 1 – Resultados obtidos após o primeiro treino da rede com o método Intelligent Problem Solver Segundo Treino da Rede Perfil Perf. Treino Perf. Selecção Te. Perfeição Erro Tr. Erro Sel. Erro T. Treino 1 MLP s10 1:10-4-1:1 0.898883 0.903440 0.901741 0.461780 0.464276 0.467550 BP100,CG20,CG0b 2 MLP s10 2:20-9-6- 1:1 0.955062 0.958637 0.942413 0.497487 0.497072 0.493106 BP100,CG20,CG0b 3 RBF s10 3:30-341- 1:1 0.727917 0.759958 0.744220 1.456851 1.520392 1.484484 SS,KN,PI 4 Linear s10 3:30-1:1 0.765015 0.771441 0.758689 0.382195 0.385320 0.377723 PI 5 GRNN s10 3:30-8316- 2-1:1 0.752663 0.781008 0.767265 1.507335 1.565377 1.530028 SS 6 MLP s10 2:20-4-1:1 0.901299 0.906549 0.905668 0.452038 0.454571 0.455231 BP100,CG20,CG0b 7 MLP s10 2:20-6-2- 1:1 0.768300 0.777366 0.764546 0.383936 0.388128 0.380797 BP100,CG20,CG22b Tabela número 2 – Resultados obtidos após o segundo treino da rede com o método Intelligent Problem Solver
  21. 21. 22 Terceiro Treino da Rede Perfil Perf. Treino Perf. Selecção Te. Perfeição Erro Tr. Erro Sel. Erro T. Treino 1 MLP s10 1:10-4-1:1 0.912501 0.908120 0.919237 0.47933 2 0.48264 0 0.48593 5 BP100,CG20,CG 0b 2 MLP s10 1:10-8-8-1:1 1.348445 1.346004 1.368571 0.85701 2 0.84786 5 0.85829 4 BP100,CG20,CG 0b 3 RBF s10 3:30-341- 1:1 0.715802 0.737074 0.763024 1.43267 7 1.47118 0 1.52452 2 SS,KN,PI 4 Linear s10 3:30-1:1 0.764481 0.753748 0.777903 0.38195 0 0.37568 7 0.38797 8 PI 5 GRNN s10 3:30-8316- 2-1:1 0.751231 0.760029 0.784794 1.50457 9 1.51715 6 1.56874 9 SS 6 MLP s10 2:20-7-4-1:1 0.854754 0.855732 0.865970 0.45946 6 0.45334 8 0.46189 5 BP100,CG20,CG 0b Tabela número 3 – Resultados obtidos após o terceiro treino da rede com o método Intelligent Problem Solver 5. Análise dos resultados Numa análise aos resultados obtidos nos campos das tabelas anteriores, constata-se que no caso do campo designado como “perfil” este é de extrema importância, devido ao facto, que contém grande quantidade de informação associada, nomeadamente, o tipo de rede, o número de variáveis input e output e o número de neurónios em cada camada. No caso da tabela número 1, designadamente, no primeiro campo, este significa, que o tipo de rede é o perceptão multicamada, com uma variável de input e uma variável de output, e com três camadas com dez, cinco e uma unidade, respectivamente. Todavia, para redes simples, o número de variáveis de input e output podem coincidir com o número de neurónios de input e output em cada camada, mas este processo não é sempre linear. A leitura deste campo é sempre feita da mesma forma que aqui foi descrita. Nos campos “perfeição de treino”, “perfeição da selecção” e “teste de perfeição” é indicada a performance da rede em relação ao treino, selecção e respectivos testes de perfeição. Segundo o manual electrónico do STATISTICA não se deve dar muita credibilidade ao campo “perfeição de treino”, porque este é quase sempre
  22. 22. 23 correcto (indica sob aprendizagem). O campo “perfeição da selecção” deve ser evitado para escolher o modelo a não ser que seja conjugado com o erro obtido para este mesmo campo, devido ao facto, de que este mantém alguns dados que não foram usados para treino ou selecção do modelo. Este campo irá depender do tipo de rede testada. Nos campos referentes ao erro gerado pelo teste da rede, estes campos são optimizados por algoritmos de treino baseados no erro médio quadrático, ou seja, este erro irá gerar uma ligação ente o output observado e o esperado dando desta forma o resíduo. O rácio do erro é interpretado de forma menos directa do que o cálculo da qualidade da rede, mas é mais significativo para os algoritmos de treino (EMQ). O campo “treino” refere-se ao algoritmo usado para treinar a rede, no caso da MLP o resultado obtido no primeiro treino para o primeiro modelo foi (BP100,CG20,CG0b) isto significa que, foram utilizadas 200 épocas de treino com o algoritmo Back Propagation seguido de 20 épocas com o algoritmo conjugate gradient descent, na qual, posteriormente o treino é parado devido à sob aprendizagem e voltando ao início (retropropagação do erro). Nos restantes algortimos utilizados, estes correspondem ao SS ((sub) Sample), KN (K- Nearest Neighbour (Deviation Assignment)) e PI (Pseudo-Invert (Linear Least Squares Optimization)). A escolha para a selecção da melhor rede teve por base as referências dadas no manual do STATISTICA, sendo, então, utilizados os campos “selecção da perfeição da rede” e “erro de selecção”. Sabendo o significado de cada um dos campos gerados pela tabela bem como os resultados, podemos constatar que, no caso da tabela número 1 a rede que produziu os melhores resultados foi a rede Linear, com uma perfeição de selecção de 0.775236 e um erro de selecção de 0.386122, posteriormente, foi treinada a rede novamente, obtendo a rede linear novamente o melhor resultado com uma perfeição de selecção de 0.771441 e um erro de selecção de 0.385320. Por fim, foi efectuado o último treino à rede, obtendo a rede linear o melhor resultado e com valores de perfeição (0.753748) e de erro (0.375687) menores aos obtidos anteriormente, todavia, no caso da selecção da perfeição da rede, a rede RBF obteve os melhores resultados mas com um erro médio quadrático muito superior à rede Linear, originando então a selecção da rede Linear devido à maior aptidão/preponderância para o estudo em causa. Uma outra ilação que podemos retirar, é que quanto mais vezes a rede for treinada, maior será a sua capacidade de aprendizagem produzindo então um melhor resultado.
  23. 23. 24 Sabendo, então, qual a rede com maior aptidão para a resolução do problema em causa foi seleccionada apenas esta rede e calculada de forma independente através do Custom Network Designer. O processo de análise dos valores obtidos foi idêntico ao utilizado anteriormente bem como quantas vezes foi treinada a rede (3 vezes). Na tabela número 4 é demonstrado os resultados obtidos. Neste ponto, é de destacar a selecção de “perfeição da rede” em que os valores obtidos são inferiores aos registados com o método Intelligent Problem Solver, isto é, ao treinarmos apenas esta rede os valores de perfeição serão inferiores aos obtidos anteriormente, todavia, nos campos referentes ao erro, este é superior ao obtido com o método anterior. Na restante informação fornecida, o campo “input” é referente ao número de variáveis dependentes que entraram na equação e o campo “treino” é indicado o algoritmo de treino que a rede utilizou, no presente caso, foi utilizado o algoritmo PI (Pseudo-Invert (Linear Least Squares Optimization)). A vantagem deste método é que apenas é treinada a rede que se pretende ou que irá produzir os melhores resultados, no entanto, não é possível compará-la com outras redes de forma a determinar qual a que melhor se ajusta ao fenómeno em estudo, ou seja, é definido a priori que a rede escolhida é a que melhor se adequa. Treino Perfil Treino de perfeição Selecção de perfeiçao Teste de Perfeição Erro de treino Erro de selecção Erro de teste Treino Input Neurónios escondidos 1 Neurónios escondidos 2 1º Linear s10 3:30- 1:1 0.707376 0.689290 0.696992 0.436303 0.445730 0.440545 PI 3 0 0 2º Linear s10 3:30- 1:1 0.712790 0.698917 0.678219 0.433696 0.441407 0.449801 PI 3 0 0 3º Linear s10 3:30- 1:1 0.707376 0.695788 0.676294 0.435238 0.440246 0.448549 PI 3 0 0 Tabela número 4 – Resultados dos três treinos realizados pelo método Custom Network Designer
  24. 24. 25 Bibliografia Capinha, C., Melo, R. (2007) – Integração de redes neuronais artificiais e SIG para a modelação de habitats potenciais no PNSAC. Seminário de Geografia, variante Cartografia e SIG, Universidade de Lisboa. 119pp Recursos Electrónicos http://www.statsoft.nl/uk/textbook/stneunet.html (consultado dia 10 de Fevereiro, às 13:45h) http://www.linfo.org/kernel.html (consultado dia 4 de Março, às 17:07h) http://pt.wikipedia.org/wiki/Vi%C3%A9s (consultado dia 4 de Março, às 18:59h)

×