24
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

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

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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.

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

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.

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

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.

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

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

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

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

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

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

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

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

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

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.

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

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

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

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

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

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”.

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

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.

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

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

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

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

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

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.

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

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.443045

0.446946

0.452299

BP100,CG20,CG0b

2 MLP s10 2:20-5-6-1:1 0.899829 0.905502 0.907586 0.453202

0.456630

0.456856

BP100,CG20,CG0b

3 RBF s10 3:30-341-1:1 0.714103 0.760763 0.748445 1.429894

1.519421

1.499312

SS,KN,PI

4 Linear s10 3:30-1:1 0.755657 0.775236 0.774343 0.377337

0.386122

0.386836

PI

5 GRNN s10 3:30-8316-2-1:1

0.743727 0.779443 0.782880 1.490148

1.557777

1.569212

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

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

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.479332

0.482640

0.485935

BP100,CG20,CG0b

2 MLP s10 1:10-8-8-1:1

1.348445 1.346004 1.368571 0.857012

0.847865

0.858294

BP100,CG20,CG0b

3 RBF s10 3:30-341-1:1

0.715802 0.737074 0.763024 1.432677

1.471180

1.524522

SS,KN,PI

4 Linear s10 3:30-1:1

0.764481 0.753748 0.777903 0.381950

0.375687

0.387978

PI

5 GRNN s10 3:30-8316-2-1:1

0.751231 0.760029 0.784794 1.504579

1.517156

1.568749

SS

6 MLP s10 2:20-7-4-1:1

0.854754 0.855732 0.865970 0.459466

0.453348

0.461895

BP100,CG20,CG0b

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

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

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.

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

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

Linear s10 3:30-1:1

0.707376 0.689290 0.696992 0.436303 0.445730 0.440545 PI 3

0 0

Linear s10 3:30-1:1

0.712790 0.698917 0.678219 0.433696 0.441407 0.449801 PI 3

0 0

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

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

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)