• Nenhum resultado encontrado

2 REVISÃO BIBLIOGRÁFICA

N/A
N/A
Protected

Academic year: 2023

Share "2 REVISÃO BIBLIOGRÁFICA "

Copied!
112
0
0

Texto

(1)

1 INTRODUÇÃO

O avanço tecnológico é uma realidade e, graças a este, a quantidade e partilha de informação é abundante (Ariely, 2000). Manifesta-se, por exemplo, na optimização de procedimentos e, consequente, redução do tempo despendido na sua execução (Malhotra et al., 1999). Tem lugar em áreas, aparentemente, tão distintas como a Medicina, a Gestão, a Estratégia, a Estatística, a Matemática e a Música.

O acesso à informação é de tal forma facilitado, que mais informação é gerada e, consequentemente, partilhada entre os vários intervenientes. Além disso, assiste-se também a uma expansão no que respeita os canais de comunicação utilizados. A título de exemplo, atenda-se ao aparecimento da Internet no início do século XX e à sua rápida expansão nos últimos anos daquele século (Barwise et al., 2002).

No entanto, a geração e partilha de informação de pouco serve caso não resulte em conhecimento que se revele potencial gerador de vantagem competitiva para o seu interlocutor (Blattberg et al., 1994) (Peppers et al., 1996). Ou seja, numa era em que a quantidade de informação é enorme, há que criar e gerir ferramentas potenciadoras de distinguir o útil e essencial do que é desperdício ou desnecessário para determinado fim ou respectivo interlocutor.

Neste contexto, surge o conceito de Sistema de Informação em Marketing, que consiste nas pessoas, equipamentos e procedimentos utilizados para reunir, ordenar, analisar, avaliar e disponibilizar informação útil e relevante aos decisores em Marketing (Kotler et al., 2005).

Este sistema é “alimentado” por três tipos de fontes: informação interna à organização, Marketing Intelligence e Marketing Research. A primeira fonte, resultante de fontes internas à organização, visa avaliar a performance do Marketing e identificar potenciais

(2)

respeito a toda a informação da área que pode auxiliar os gestores na preparação e ajuste dos seus planos de Marketing. Quanto à última fonte citada, consiste na investigação desenvolvida na área do Marketing para apurar conhecimentos que exigem a ligação entre várias fontes ou tipos de dados. Ou seja, o Marketing Research pode trabalhar tanto sobre informações resultantes de fontes internas à organização como sobre o Marketing Intelligence, ou em informações resultantes de ambas, uma vez que o seu principal objectivo é relacionar os vários tipos de dados disponíveis por forma a obter o conhecimento mais completo e fiável possível.

No âmbito do Marketing Research e com o objectivo de extrair conhecimento útil, padrões e tendências de bases de dados desenvolveu-se a Descoberta de Conhecimento em Bases de Dados (DCBD), área que recorre a modelos e técnicas de Data Mining de forma autónoma e semi-automática (Santos et al., 2005). Trata-se de uma área que tem assistido a um desenvolvimento célere e que, apesar de recente, tem cativado a atenção de investigadores de diversas áreas, conforme mencionado anteriormente.

O objectivo principal do presente trabalho era aferir quanto à capacidade de classificação e, consequente, previsão das Redes Neuronais Artificiais, enquanto técnica ou ferramenta do processo de Data Mining, no estudo do comportamento do consumidor, mais especificamente, do consumidor on-line. Pretendia-se prever o conteúdo e tipo de sessões dos utilizadores do Portal Executivo, site dirigido a empresas e executivos, atendendo à tipologia das suas sessões passadas.

Era objectivo final do presente trabalho avaliar a capacidade das Redes Neuronais Artificiais enquanto ferramenta que permitisse ao Portal Executivo corresponder de forma mais eficaz às expectativas/ necessidades dos seus utilizadores (Peppers et al., 1996), como forma de criar uma vantagem competitiva que pudesse proporcionar a fidelização dos mesmos (Blattberg et al., 1994).

Para tal e devido à existência de vários paradigmas das Redes Neuronais Artificiais, conforme se comprova pela revisão bibliográfica realizada e apresentada mais adiante, este estudo restringiu-se às arquitecturas unidireccionais através da síntese das variantes do algoritmo de retropropagação. Além disso e uma vez que as Redes Neuronais Artificiais são modelos não paramétricos, seguem em geral procedimentos heurísticos na

(3)

sua calibração. Como tal, procurou sensibilizar-se acerca de algumas das principais decisões a enfrentar aquando da definição da arquitectura da respectiva Rede Neuronal Artificial, nomeadamente, ao nível da escolha do tipo de aprendizagem a implementar, da função erro a adoptar, da utilização de regularização e da aplicação de paragem antecipada da aprendizagem.

No entanto, a mesma pesquisa bibliográfica mencionada acima denotou uma concentração da investigação desenvolvida até então no processo de compra de um artigo ou bem por parte do consumidor, de que são exemplo (Agrawal et al., 1996) e (Bentz et al., 2000). Ou seja, a bibliografia consultada identificou uma carência ao nível da aplicação das Redes Neuronais Artificiais em comportamentos que não exigissem um processo de compra mas o usufruto de um determinado serviço, de que é exemplo o serviço prestado pelo Portal Executivo.

Com a devida autorização da entidade responsável pela gestão do Portal Executivo e tendo por objecto de trabalho uma base de dados constituída pelos cliques realizados pelos utilizadores do dito portal, procurou realizar-se uma análise das suas sessões e posteriormente classificá-las em cinco classes de artigo consideradas relevantes. A partir destas, criaram-se as cinco variáveis de fidelização respectivas (Guadagni et al., 1983), que se vieram a constituir como variáveis de entrada da Rede Neuronal Artificial adoptada.

Trata-se de um estudo de caso em que o envolvimento era fraco, uma vez que a informação disponível na base de dados acerca do utilizador era limitada, conforme se analisará mais adiante.

O presente trabalho está estruturado em cinco capítulos, de que esta introdução é o primeiro. De seguida, no segundo capítulo, através do levantamento das principais fontes de informação da temática de Redes Neuronais Artificiais, apresentam-se os conceitos e a nomenclatura que serão utilizados no desenrolar deste estudo e faz-se uma revisão das variantes do algoritmo de retropropagação. Este capítulo é seguido pela descrição e análise da base de dados alvo de estudo e do tratamento a que esta foi sujeita (ponto 3),

(4)

com o objectivo de se aplicarem as Redes Neuronais Artificiais, conforme é descrito no ponto 4 e onde se faz a análise dos principais resultados. Por fim, no quinto capítulo, faz- se a discussão dos mesmos resultados procurando elucidar quanto às limitações deste estudo e visando dar indicação de potenciais linhas de investigação em trabalhos futuros.

(5)

2 REVISÃO BIBLIOGRÁFICA

2.1 I

NTRODUÇÃO

Este capítulo tem por objectivo fazer uma descrição do que de mais importante tem sido desenvolvido no campo das Redes Neuronais Artificiais (ANN), como ponto-base do trabalho empírico realizado e apresentado a posteriori.

Para tal, inicialmente realizar-se-á uma breve contextualização da temática de ANN, apresentando para o efeito alguns conceitos que se considera serem fundamentais para o trabalho desenvolvido no presente estudo. Posteriormente, proceder-se-á à descrição de algumas das técnicas e regras mais utilizadas nesta temática, dando especial destaque à aprendizagem supervisionada e, mais especificamente, ao algoritmo de aprendizagem retropropagação (BP - backpropagation).

2.2 R

EDES

N

EURONAIS

A

RTIFICIAIS

– C

ONTEXTUALIZAÇÃO

O desenvolvimento das ANN, uma das mais conhecidas e utilizadas técnicas de Data Mining segundo (Santos et al., 2005), teve início há cerca de 60 anos. O seu principal objectivo era reproduzir o processo subjacente ao pensamento humano em máquinas artificiais, processo que viria a dar origem ao termo “Inteligência Artificial” (AI). Foi motivado pelo interesse em compreender o funcionamento do cérebro e, significativamente, impulsionado pelo notável progresso tecnológico.

Actualmente, as ANN fascinam especialistas de várias áreas, de que são exemplo a aeroespacial, automóvel, banca, electrónica, entretenimento, finanças, medicina,

(6)

robótica, telecomunicações, transportes, entre outras, uma vez que são ferramentas que permitem resolver diversos tipos de problemas (Fausset, 1994). Por exemplo, para os matemáticos aplicados, as ANN são uma ferramenta que possibilita a modelização de problemas cuja forma explícita das relações entre as variáveis é desconhecida.

A título mais prático veja-se o exemplo fornecido em (Moutinho et al., 2002), cuja aplicação das ANN incide no sector bancário escocês e em que o principal objectivo era orientar os gestores no sentido de melhorar a performance económica das suas instituições. Entre outras conclusões, os autores constataram que o Planeamento Estratégico não era condição suficiente para a melhoria da performance económica e que a sua formalidade nem sempre era benéfica à instituição em causa.

Essencialmente, as ANN são modelos matemáticos de processamento de informação.

Segundo (Fausset, 1994), uma ANN pode ser definida como um sistema de processamento de informação com determinadas características que, ao nível da performance, são comuns às ANN biológicas e que assenta nos seguintes pressupostos:

O processamento de informação ocorre em vários elementos designados neurónios artificiais (ou simplesmente neurónios), unidades de processamento (UP), elementos de processamento (EP), células ou nodos;

Os sinais passam entre os neurónios através de conexões, sinapses ou parâmetros;

Cada conexão tem uma ponderação associada, designada peso;

Cada neurónio executa duas operações sobre os valores de entrada: a primeira designa-se função combinação e a segunda de função activação. À agregação das duas funções mencionadas dá-se o nome de função transferência.

Segundo (Gurney, 1999) uma ANN é uma estrutura de EP, UP ou neurónios artificiais cujas funcionalidades são idênticas às das redes neuronais biológicas.

Conforme referido anteriormente, o principal objectivo era modelar redes de neurónios cerebrais de modo a optimizar o funcionamento do cérebro. Esta modelação assentava em três características chave dos sistemas de neurónios biológicos: rápida capacidade de executar tarefas num curto período de tempo (de preferência instantâneo), tolerância a falhas (isto é, o facto de um neurónio morrer não põe em causa o funcionamento do sistema cerebral) e, por fim, paralelismo elevado e dimensão reduzida, conforme referem (Hertz et al., 1991).

(7)

Uma rede neuronal pode ser caracterizada pelo tipo de ligações entre os seus neurónios (arquitectura), pelo método de determinação dos pesos (algoritmo de aprendizagem) e pela função transferência em causa. A rede é constituída por um elevado número de EP que, a partir de então, designaremos de neurónios. Cada neurónio está ligado a outros neurónios através de elos de comunicação directos (conexões), cada qual com uma determinada ponderação associada. As referidas ponderações representam a informação utilizada pela rede para resolver o problema em questão. Cada neurónio tem um estado interno, designado nível de actividade ou activação (activation ou activity level), que é função das variáveis de entrada que recebe. Em geral, um neurónio envia a sua activação (ou nível de actividade) como sinal a outros neurónios. É importante salientar que um neurónio apenas envia um sinal por cada período de tempo.

A título exemplificativo considere-se, por exemplo, um neurónio Y, conforme ilustra a figura seguinte, que recebe valores de entrada dos neurónios X1, X2 e X3. As activações (sinais dos valores de saída) desses neurónios são x1, x2 e x3, respectivamente. Os pesos entre X1, X2 e X3 e o neurónio Y são w1, w2 e w3, respectivamente. A variável de entrada da rede, y_in, ao neurónio Y é a soma dos sinais pesados dos neurónios X1, X2 e X3, isto é:

y_in = w1 x1 + w2 x2 + w3 x3.

Figura 1: Um neurónio artificial simples (Fausset, 1994)

A activação y do neurónio Y é dada por uma função das variáveis de entrada da rede: y = f (y_in).

X1

X2

X3

Y

w1

w2

w3

(8)

No entanto, suponha-se ainda que o neurónio Y está ligado a neurónios Z1 e Z2 com pesos v1 e v2, respectivamente, conforme elucida a figura seguinte:

Figura 2: Uma rede neuronal muito simples (Fausset, 1994)

O neurónio Y envia o seu sinal y a cada uma das unidades Z1 e Z2, no entanto, em geral, o valor recebido por estas é distinto uma vez que cada sinal é afectado pelo, respectivo, valor da conexão.

É conveniente analisar os neurónios como organizados em camadas.

Tipicamente, neurónios pertencentes à mesma camada comportam-se da mesma forma, ou seja, apesar de não ser obrigatório, os neurónios pertencentes a uma determinada camada apresentam as mesmas propriedades, nomeadamente, no que respeita a função transferência e as respectivas conexões. Para determinar o comportamento de um neurónio há que atender à sua função activação e ao tipo de conexões através das quais recebe e envia sinais.

A organização dos neurónios em camadas e o tipo de ligações dentro e entre estas é designada por arquitectura da rede (net architecture). Existem dois grupos de arquitecturas: unidireccionais (FF – Feed-Forward) e recorrentes (FD – Feedback). As primeiras caracterizam-se pela transmissão unidireccional da camada de entrada para a camada de saída, enquanto que as segundas gozam da bidireccionalidade das suas conexões ou caracterizam-se pela existência de conexões cíclicas, isto é, incluem as intra-conexões ou conexões do neurónio em si próprio.

X1

X2

X3

Y

Z1

Z2

W1

W2

W3

v1

v2

Input Units

Hidden Units

Output Units

(9)

As redes até então apresentadas designam-se por redes com arquitectura unidireccional, uma vez que os sinais circulam das unidades de entrada para as unidades de saída.

As ANN costumam classificar-se como sendo de camada única ou multicamada, em que o número de camadas de uma rede é definido como o número de conexões entre os vários conjuntos de neurónios. Como exemplo elucidativo, considere-se a figura anterior cuja rede apresenta duas camadas.

No que diz respeito ao algoritmo de aprendizagem da rede neuronal, este pode ser de dois tipos: com supervisão ou sem supervisão (ver esquema abaixo). Esta diferença assenta na utilização de uma sequência de vectores aos quais está associado um vector de saída desejado (solução pretendida), com o objectivo de se ajustarem os pesos de acordo com o algoritmo de aprendizagem utilizado. Ou seja, os algoritmos de aprendizagem com supervisão utilizam dois conjuntos de vectores X e Z, respectivamente, os conjuntos dos valores das variáveis de entrada e de saída, com o objectivo de ajustar os pesos W. Já os algoritmos sem supervisão requerem apenas o primeiro conjunto mencionado, pelo que para obterem uma medida da correcção a aplicar ao valor de saída da rede, têm que estabelecer medidas de similaridade entre o conjunto dos valores de entrada, o que requer a definição de métricas que permitam agrupar os vectores com características semelhantes. Isto é, as redes não supervisionadas, que não constituem objecto de estudo do presente trabalho, agrupam vectores de entrada semelhantes sem o uso de um conjunto de treino (training data) que especifique o membro típico de cada grupo ou o grupo a que cada vector pertence.

Figura 3: Esquema tipológico das ANN

As ANN com supervisão podem ser utilizadas, por exemplo, em problemas de classificação e associação. No segundo caso (associação), a rede neuronal designa-se

ANN

Com Supervisão Sem Supervisão

(10)

memória associativa (associative memory) caso seja treinada para associar um conjunto de vectores de entrada com o seu correspondente conjunto de vectores de saída. Caso o vector de saída pretendido seja igual ao vector de entrada, a rede designa-se memória auto-associativa (autoassociative memory), caso contrário (em que haja diferença entre os vectores referidos) denomina-se memória hetero-associativa (heteroassociative memory).

2.3 M

ODELOS

E A

RQUITECTURAS

D

E

R

EDES

N

EURONAIS

2.3.1 Single - Input Neuron

Um single-input neuron é constituído por uma variável de entrada p que, quando multiplicada por uma variável w dá origem a wp, um dos termos que é enviado ao somatório (ver figura seguinte). A outra variável de entrada, 1, é multiplicada por um bias b que também é enviado ao somatório. A variável de saída do somatório, n, usualmente designada por variável de entrada da rede, passa à função transferência (ou activação) f, que origina um neurónio de saída escalar a. Isto é, a = f (wp + b), ou seja, o vector de saída da rede depende da função transferência escolhida. O bias funciona como um peso, só que associado a uma variável de entrada constante igual a 1.

Figura 4: Single-Input Neuron (Hagan et al., 1996)

1

b

n f a

w

p

(11)

2.3.2 Funções Transferência, Combinação e Activação

A função transferência associada à rede acima, f, pode ser linear ou não-linear.

De salientar que não é obrigatório que todos os neurónios de uma camada tenham a mesma função transferência. Aliás, a sua escolha depende tanto da arquitectura da ANN como do algoritmo de aprendizagem em causa.

Há várias funções transferência passíveis de utilização. Segundo (Hagan et al., 1996), as mais comuns são:

- Função transferência hard limit (hardlim)

0, n < 0 hardlim (n) =

1, n ≥ 0

ou 

= <

. 0 , 1

0 , 0

n ai n

Em geral, utiliza-se esta função para criar neurónios que classifiquem os valores de entrada em duas categorias distintas.

- Função transferência linear

linear (n) = a ou ai = f

(

Wip+bi

)

=Wip+bi.

Em geral, utiliza-se esta função em redes ADALINE que não vão ser objecto de estudo do presente trabalho.

- Função transferência sigmóide logística (log-sigmoid)

log-sigmoid (n) = en

+ 1

1 ou

( )

( )

i ip b i W

i

i f W p b e

a +

= + +

= α

1

1 .

(12)

Esta função toma a variável de entrada n e gera uma variável de saída no intervalo [0,1].

É, geralmente, utilizada em redes multicamada que utilizam o algoritmo de retropropagação. Apresenta como principal característica a sua diferenciabilidade.

Além das funções mencionadas acima existem, ainda, duas outras funções transferência cuja vasta utilização justifica a introdução das mesmas no presente trabalho. São elas:

- Função transferência competitiva

Esta função recebe os valores dos neurónios precedentes a que o neurónio em causa está conectado em número de K, compara-os e apresenta como resultado um vector de dimensão K, cujos elementos são iguais a zero caso o neurónio da camada anterior da mesma posição seja um máximo e um no caso contrário.

- Função transferência softmax

A função transferência softmax tem como objectos os valores dos neurónios precedentes e origina um vector, cujos elementos são os valores recebidos mas convertidos no intervalo [0,1] e cuja proporcionalidade permanece intacta.

( )

( )

=

= 1

1

1 1

exp exp

M

j

M j M i M

i

a

a a .

No entanto, conforme mencionado anteriormente, a função transferência é composta pelas funções combinação e activação.

As funções combinação podem ser de três tipos:

(13)

- Funções combinação produto interno

=

+

= +

=

R

j

i T i i j ij

i W p b W p b

n

1

em que R é o número de neurónios da camada precedente e Wi o vector correspondente à matriz linha i de W.

- Funções combinação radiais

Estas funções baseiam-se em métricas espaciais e aplicam métricas de distância para determinar semelhanças entre vectores. As mais usuais são baseadas na distância de Minkovsky:

α α 1

1 



 −

=

= R

j

j ij

i W p

n

Substituindo α = 2 obtém-se a distância Euclideana:

12

1

2





 −

=

= R

j

j ij

i W p

n

Substituindo α = 1 obtém-se a distância de Manhattan ou de city-block:

=

=

R

j

j ij

i W p

n

1

Além destas, existem outras distâncias que podem ser utilizadas, no entanto, estas são as mais usuais nos algoritmos de aprendizagem. Estas funções tem como desvantagem a sua “sensibilidade” perante outliers, pelo que é aconselhável normalizar os vectores

(14)

compostos pelos valores de entrada e saída, respectivamente, ou aplicar-lhes uma transformação linear com o objectivo de que estes se situem no intervalo [-1,1] ou [0,1].

- Funções combinação compostas

Tal como o próprio nome indica, estas funções resultam da soma de operações dos dois tipos anteriores, pelo que englobam funções mais complexas. Podem ser expressas segundo:

(

W p b

)

D

(

W p

)

C

ni = , , i + ,

em que C é uma função combinação produto interno e D é uma função combinação radial.

Além destes tipos de funções combinação existem, ainda, as funções combinação produto cuja capacidade de armazenamento de informação é superior ao das funções combinação produto interno e requerem menos neurónios, no entanto, implicam um acréscimo ao nível do cálculo computacional.

Os tipos de funções activação mais usuais são:

- Funções activação escada

Este grupo de funções activação inclui as funções escada (ou Heaviside) e multi-escada, sendo que a função escada pode ser definida binariamente ou bipolarmente.

A definição binária (considerando θ = 0) é dada pela expressão seguinte:

( )



<

= ≥

θ θ n n n

f 0,

, 1

Enquanto que a definição bipolar (considerando θ = 0) é dada por:

(15)

( )



<

= ≥

θ θ n n n

f 1,

, 1

A função multi-escada pode ser formulada da seguinte forma:

( )



>

<

<

= +

k k

i i

i

n a

n a

n a n f

θ θ θ

θ , , ,

1 0 0

θki+1i0∈ℜ

De salientar que as funções deste grupo são aplicadas a funções combinação produto interno.

- Funções activação lineares

Este conjunto de funções activação é constituído pelas funções identidade, identidade positiva, limitada positiva e linear limitada. A sua formulação é dada pelas seguintes expressões, respectivamente:

( )

n n

f =

( )



= <

0 ,

0 , 0

n n n n f

( )



>

<

=

1 , 1

1 0

, 0 , 0

n n n

n n

f

( )



>

<

=

1 , 1

1 1

,

1 , 1 n

n n

n n

f

(16)

Também estas funções são aplicadas a funções combinação produto interno.

- Funções activação sigmóides

Este grupo de funções é constituído pelas funções cuja forma é sigmoidal (forma de S).

( )

∈ℜ

= + a n e

f an ,

1 1

Têm como principal vantagem a limitação do valor de saída ao intervalo ]0,1[, pois proporciona a comparação entre pesos da mesma camada. Esta vantagem, aliada ao facto de se tratar de uma função contínua crescente, impossibilita que objectos diferentes tenham a mesma imagem. A título de exemplo, mencione-se que fazem parte deste grupo as funções activação logística bipolar, tangente hiperbólica, arco-tangente e sigmóide algébrica.

Considere-se a seguinte definição de função sigmóide:

Seja f uma função tal que f : ℜ→

] [

a,b , então f é sigmóide se:

- f é contínua crescente;

- f ’ existe para qualquer i ∈ N+, isto é, f tem derivada de ordem i;

- tem assímptotas horizontais a e b, ou seja, f

( )

n a

n

=

−∞

lim

e f

( )

n b n

=

+∞

lim

.

As funções activação sigmóide são aplicadas a funções combinação produto interno.

- Funções activação radiais

Estas funções destacam-se em problemas de classificação, evidenciando-se no seu conjunto a função activação gaussiana cuja formulação é dada por:

( )

2

2

b n

e n f =

(17)

em que b é um parâmetro que permite controlar a abertura da superfície.

É possível obter funções activação radiais através da transformação de funções sigmóides.

Estas funções são maioritariamente aplicadas a funções combinação radiais, no entanto, as funções activação radiais obtidas através de funções sigmóides são aplicadas a funções combinação produto interno.

- Funções activação com amplitude variável

Estas funções caracterizam-se por incluírem um parâmetro adicional a ser estimado pelo algoritmo de aprendizagem em causa. Podem ser representadas por:

( )

n Sijl f

( )

n ijSl f =λ ~ +σ

em que a função ~f

representa qualquer função sigmóide ou radial e σé o valor de deslocação da função no eixo.

- Outras funções activação

Tais como as funções activação com curvatura parametrizável, polinomiais, racionais, de Fourier e de Lorentz.

2.3.3 Multiple – Input Neuron

Em geral, um neurónio tem mais do que uma variável de entrada. A figura seguinte mostra um neurónio com R variáveis de entrada. As variáveis de entrada individuais p1, p2, … pR são ponderadas pelos pesos respectivos, w1,1, w1,2, …, w1,R,da matriz W.

(18)

Figura 5: Multiple-Input Neuron (Hagan et al., 1996)

O neurónio tem um bias b que é adicionado às variáveis de entrada ponderadas que, consequentemente, originam a variável de entrada da rede n:

n = w1,1 p1 +w1,2 p2 + …+ w1,R pR + b.

A expressão pode ser escrita sob a forma matricial de acordo com a expressão:

n = Wp + b,

em que a matriz W tem apenas uma linha caso a rede seja apenas constituída por um neurónio.

Logo, a variável de saída do neurónio pode ser escrita como a = f (Wp +b).

2.3.4 Uma Camada de Neurónios

Uma ANN com uma camada de neurónios pode ser ilustrada da forma que se segue:

1

b

W1,R

n f a P1

P2

P3

PR

W1,1

(19)

Figura 6: Camada de s neurónios (Hagan et al., 1996)

Note-se que cada valor de entrada está ligado a todos os neurónios e que a matriz W tem S linhas.

A camada em causa inclui a matriz W, os somatórios, o vector bias b, as caixas de funções transferência e o vector de saída ‘a’1.

Cada elemento do vector de entrada p está ligado a cada neurónio através da matriz W.

Cada neurónio tem um bias b, um somatório, uma função transferência f e uma variável de saída ai. Tomadas em conjunto, as variáveis de saída formam o vector de saída ‘a’.

É normal que o número de variáveis de entrada de uma camada seja diferente do número de neurónios (isto é, R ≠ S), além de que é possível haver mais do que uma função transferência em causa.

Os elementos do vector de entrada são inicializados na rede através da matriz W.

W =









R S S

S

R R

w w

w

w w

w

w w

w

, 2

, 1 ,

, 2 2

, 2 1 , 2

, 1 2

, 1 1 , 1

...

...

...

...

...

...

...

1 Há autores que consideram que as variáveis de entrada constituem outra camada (Hagan et al., 1996).

1

WS,R

n2

nS

f

f

a2

aS

1

1 b2

bS

… …

n1 f a1

P1

P2

P3

PR

W1,1

b1

(20)

Uma rede de camada única pode ser ilustrada usando a seguinte notação abreviada:

Figura 7: Neurónio com R inputs: notação abreviada (Hagan et al., 1996)

Os símbolos abaixo das variáveis designam a dimensão dos respectivos vectores. Por exemplo, W é uma matriz SxR enquanto que os vectores ‘a’ e ‘b’ têm S componentes.

2.3.5 Múltiplas Camadas de Neurónios

Considere-se agora uma rede com várias camadas. Cada camada tem a sua própria matriz W, o seu vector bias (ou viés) b, um vector constituído pelas variáveis de entrada ‘n’ e um vector constituído pelas variáveis de saída ‘a’.

1

W

b

+ f

p

Rx1

SxR

Sx1

n

Sx1

Sx1 a

R S

(21)

Figura 8: Rede com 3 camadas (Hagan et al., 1996)

Ou seja, há R variáveis de entrada, S1 neurónios na primeira camada, S2 neurónios na segunda camada e assim sucessivamente. Diferentes camadas não têm necessariamente que ter o mesmo número de neurónios. Isto é, as variáveis de saída das camadas 1 e 2 são as variáveis de entrada das camadas dois e três, respectivamente. Logo, a camada 2 pode ser considerada como uma rede com apenas uma camada com R=S1 variáveis de entrada, S=S2 neurónios e uma matriz de dimensão S1xS2. A variável de entrada da camada 2 é a1 e a sua variável de saída é a2.

Uma camada cuja variável de saída é a variável de saída da própria rede diz-se a camada de saída. As restantes designam-se camadas interiores. A rede acima representada, em que a camada de saída é a camada 3, é constituída por duas camadas interiores (camadas 1 e 2, respectivamente).

Usando notação abreviada:

1

W1S1 ,R

n12

n1S1

f1

f1

a12

a1S1

1

1 b12

b1S1

… …

1

1

1 b22

f2

f2

n22 a22

f3

f3

W2S2 ,S1

b2S2

n2S2 a2S2

W3S3 ,S2

1

1

1 b32

b3S3

n3S3

n32

f1

n11 a11

P1

P2

P3

PR

W11,1

b11

∑ ∑

b21

f2

a21

n21

f3

W21,1 W31,1

b31

n31 a31

a33

a32

(22)

Figura 9: Rede com 3 camadas: notação abreviada (Hagan et al., 1996)

As redes multicamada têm mais potencialidades do que as redes de camada única, uma vez que aquelas podem resolver problemas mais complexos. No entanto, conforme sugerem (West et al., 2003), dever-se-á começar por uma arquitectura de rede simples, apenas aumentando o número de camadas interiores caso tal se verifique absolutamente necessário2.

Além disso, uma vez que o bias constitui uma variável extra, é de se esperar que as redes com bias sejam mais vantajosas que aquelas que não o têm, o que de facto se verifica.

Note-se que um neurónio sem bias terá sempre uma variável de entrada de rede igual a zero caso as restantes, ‘p’, sejam nulas.

2.3.6 Redes com Arquitectura Recorrente

A título de exemplo, apresentar-se-á uma breve descrição das Redes com Arquitectura Recorrente.

Para atender a este tipo de redes há que introduzir alguns conceitos, nomeadamente, o de delay block:

2 (Hagan et al., 1996) relembra que tal procedimento é usualmente designado por Ockham’s Razor.

W1

b1

+ f1

p

S1xR

S1x1

n1

S1x1

S2xS1 a1

S1

W2

1

S3x1 b2

+

n2

S2x1

f2

a2

1 b2 W3

+

S2x1 S1x1

S2x1 S2

S3xS2

S3x1

n3

f3

S3 a3

S3x1

R 1

Rx1

(23)

Figura 10: Delay block (Hagan et al., 1996)

O delay output a(t) é calculado a partir da sua variável de entrada u(t) de acordo com:

a(t)=u(t-1).

Ou seja, a variável de saída é igual à variável de entrada do período de tempo imediatamente anterior e o processo deve ser inicializado em t = 0.

Em termos práticos, conforme indica (Hagan et al., 1996), a arquitectura da rede pode ser definida do seguinte modo:

O número de variáveis de entrada da rede = número de variáveis de entrada do problema (variáveis em análise);

O número de neurónios na camada de saída = número de variáveis de saída do problema (ex.º: número de clusters em caso de segmentação);

A função transferência da camada de saída é, em parte, determinada pela especificação das variáveis de saída.

2.4 A

LGORITMO

D

E

A

PRENDIZAGEM

P

ERCEPTRÃO

Um dos principais elementos de uma rede é, precisamente, o seu algoritmo de aprendizagem, conforme referido anteriormente.

Designa-se por algoritmo de aprendizagem um procedimento cujo fim é o ajuste dos pesos e dos bias da rede, visando a optimização do processo. Há diversos tipos de

D

u(t) a(t)

a(0)

a(t) = u(t-1)

(24)

algoritmos de aprendizagem, no entanto, estes podem ser divididos em duas categorias:

com supervisão e sem supervisão.

Uma rede perceptrão genérica encontra-se ilustrada na figura seguinte:

Figura 11: Camada com S neurónios: notação abreviada (Hagan et al., 1996)

em que f designa a função transferência hard limit simétrica.

A variável de saída da rede é dada por

a = hardlim (Wp + b).

Considere-se a matriz de pesos W definida acima. Definindo um vector composto pelos elementos da linha i de W:









=

R i i i

i

w w w W

, 2 ,

1 ,

...

Então,









=

T S

T T

w w w W ...

2 1

. 1

W

b

+ f

p

Rx1

SxR

Sx1

n

Sx1

Sx1 a

R S

(25)

Então, o i-ésimo elemento do vector constituído pelas variáveis de saída da rede pode ser escrito como

ai = hardlim (ni) = hardlim (iwTp + bi).

2.4.1 Single-Neuron Perceptrão

Considere-se um two-input perceptrão com um neurónio, conforme ilustra a figura seguinte:

Figura 12: Two-input/ Single-input Perceptrão (Hagan et al., 1996)

em que f designa a função transferência hard limit simétrica.

A variável de saída da rede é determinada da seguinte forma:

a = hardlim (n) = hardlim (Wp+b) = hardlim (1wTp+b) = hardlim (w1,1p1+w1,2p2+b)

A fronteira de decisão (decision boundary) é determinada pelas variáveis de entrada para as quais a variável de entrada ‘n’ é nula. Isto é:

n = 1wTp+b = w1,1p1+w1,2p2+b = 0 2.4.2 Multiple-Neuron Perceptrão

No caso dos perceptrãos terem múltiplos neurónios, existirá uma fronteira de decisão para cada neurónio. A fronteira de decisão para o neurónio i será definida por

1

b

W1,2

n f a P1

P2 W1,1

(26)

iwTp+bi = 0.

Um single-neuron perceptrão pode classificar os vectores de entrada em duas categorias, desde que as suas variáveis de saída sejam 0 ou 1. Um multiple-neuron perceptrão permite a classificação das variáveis de entrada em várias categorias, sendo que cada uma destas é representada por um vector de saída distinto. Uma vez que cada elemento do vector de saída pode ser 0 ou 1 há 2S categorias possíveis, onde S designa o número de neurónios.

O algoritmo de aprendizagem perceptrão é um exemplo de aprendizagem com supervisão, em que a regra é constituída por um conjunto de comportamentos próprios de uma rede:

{

p1,t1

} {

, p2,t2

}

,...,

{

pQ,tQ

}

em que pq é uma variável de entrada da rede e tq é o correspondente vector de saída pretendido. À medida que cada variável de entrada é aplicada à rede, a variável de saída resultante é comparada com o valor pretendido. O algoritmo de aprendizagem ajusta os pesos e os bias da rede de modo a aproximar o vector de saída da rede ao valor pretendido.

Note-se que no caso de se remover o bias se obtém uma rede cuja fronteira de decisão passa pela origem.

2.4.3 Regra de Aprendizagem Unificada

Tipicamente, utilizam-se as seguintes regras:

Se e = 1, então 1w{k+1}= 1w{k}+ p.

Se e = -1, então 1w{k+1}= 1w{k}- p.

Se e = 0, então 1w{k+1}= 1w{k}.

(27)

Onde e = t - a, ou seja, trata-se da diferença entre o vector de saída e o valor pretendido.

Através de uma análise cuidada das duas primeiras regras, constata-se que o sinal de p é igual ao sinal do erro ‘e’. Além disso, a ausência de p na terceira regra corresponde a um erro nulo. Pelo que é possível sintetizar as três regras numa única expressão:

1w{k+1}= 1w{k}+ ep = 1w{k} + (t - a) p.

Atendendo ao bias, obter-se-ia:

b{k+1}= b{k}+ e.

2.4.4 Training Multiple-Neuron Perceptrãos

A rule perceptrão definida pelas duas equações anteriores permite ajustar o vector peso para um single neuron perceptrão. No entanto, é possível generalizar esta regra para o caso de um multiple-neuron perceptrão. Para actualizar a linha i da matriz pesos, atenda- se à seguinte equação:

iw{k+1}= iw{k}+ eip.

No caso de se pretender actualizar o vector bias:

bi{k+1}= bi{k}+ ei.

Usando notação matricial, o algoritmo de aprendizagem perceptrão pode ser escrito da seguinte forma:

W{k+1}= W{k}+ epT e b{k+1}= b{k}+ e.

Segundo (Hagan et al., 1996), é possível demonstrar que a regra converge para os pesos pretendidos, caso tais pesos existam.

(28)

2.5 S

UPERVISED

H

EBBIAN

L

EARNING

A regra de Hebb (Hebb rule) foi um dos primeiros algoritmos de aprendizagem em ANN. Foi proposta por Donald Hebb em 1949 através do livro The Organization of Behavior e tem vindo a ser utilizada no treino de ANN.

A ideia mais conhecida do referido livro é precisamente o postulado de Hebb (Hebb’s postulate): “When an axon of cell A is near enough to excite a cell B and repeatedly or persistently takes part in firing it, some growth process or metabolic change takes place in one or both cells such that A’s efficiency, as one of the cells firing B, is increased.”

Este postulado sugere um mecanismo físico como forma de aprendizagem a nível celular.

O algoritmo de aprendizagem de Hebb pode ser utilizado em conjunto com várias arquitecturas de ANN. Um dos algoritmos de aprendizagem mais simples é o designado Associador Linear (Linear Associator), conforme ilustra a figura seguinte:

Figura 13: Associador Linear (Hagan et al., 1996)

onde f designa uma função transferência linear.

O vector de saída ‘a’ é determinado a partir do vector de entrada ‘p’ de acordo com:

a = Wp

ou

=

=

R

j

j ij

i w p

a

1

.

W f

p

Rx1

SxR n

Sx1 Sx1

a

R

(29)

O Associador Linear é um exemplo do tipo de rede neuronal denominada memória associativa (associative memory).

O postulado de Hebb pode ser mencionado de outra forma: “If two neurons on either side of a synapse are activate simultaneously, the strength of the synapse will increase.”

Da equação anterior verifica-se que a ligação entre o vector de entrada pj e o vector de saída ai é o peso wij. Logo, o referido postulado implica que caso pj positivo origine um ai positivo então wij deve aumentar. Interpretando matematicamente, obtém-se a regra de Hebb:

( ) ( )

iq j jq i

old ij new

ij w f a g p

w = +α

onde pjq é o j-ésimo elemento do q-ésimo vector de entrada pq, aiq é o i-ésimo elemento do vector de saída da rede quando o q-ésimo vector de entrada dá entrada na rede e α é uma constante positiva, designada coeficiente de aprendizagem. Esta equação traduz o facto de que uma mudança em wij é proporcional a um produto de funções das actividade em ambos os lados da conexão e pode ser simplificada da seguinte forma:

jq iq old ij new

ij w a p

w = +α .

Note-se que esta expressão vai além do referido no postulado de Hebb, uma vez que o peso aumenta tanto quando pj e ai são positivos como quando ambos são negativos, ou seja, basta que ambos tenham o mesmo sinal. No entanto, a equação acima traduz um algoritmo de aprendizagem sem supervisão pois não exige qualquer tipo de informação no que respeita ao vector de saída pretendido, o que não constitui objecto de estudo do presente trabalho, conforme mencionado anteriormente. Para se considerar a regra análoga na forma de aprendizagem supervisionada, há que substituir o vector de saída pretendido pelo “real”. Neste caso, dá-se indicação ao algoritmo do que a rede deve fazer e não o que esta, de facto, está a fazer. A equação resultante é:

jq iq old ij new

ij w t p

w = +

(30)

onde tiq é o i-ésimo elemento do q-ésimo vector pretendido tq (fixou-se α = 1 por simplicidade).

Usando notação vectorial:

W{k+1}= W{k}+ tqpqT.

Assumindo que a matriz W inicial é a matriz nula e que, posteriormente, cada um dos Q pares ‘vector de entrada/ vector de saída’ é aplicado à equação anterior, pode escrever- se:

=

= +

+ +

=

Q

q T q q T

Q Q T

T t p t p t p

p t W

1 2

2 1

1 ... .

Em representação matricial:

[ ]

T

T Q T T

Q TP

p p p t t

t

W =









= ... ...2

1

2

1 ,

onde T =

[

t1 t2 ... tQ

]

e P=

[

p1 p2 ... pQ

]

.

Com o objectivo de analisar a performance da aprendizagem Hebbiana, considere-se o caso em que os vectores pq são ortonormados (ortogonais e de norma unitária). Se pq é vector de entrada da rede então o vector de saída da mesma pode ser escrito da seguinte forma:

( )

=

=

 =



=

=

Q

q

k T q q k

Q

q T q q

k t p p t p p

Wp a

1 1

.

(31)

Uma vez que os pq são ortonormados então

(

pTq pq

)

=1 quando q = k e

(

pTq pq

)

=0no caso contrário. Logo:

k

k t

Wp

a= = .

O vector de saída da rede é igual ao vector de saída pretendido, ou seja, caso os vectores de entrada sejam ortonormados, a regra de Hebb fornece o vector de saída correcto para o respectivo vector de entrada.

No entanto, assumindo que cada vector pq tem norma unitária mas que estes não são ortogonais entre si (ou seja, o seu produto escalar é diferente de zero), obtém-se:

(

4 8

)

4 7 6 Erro

k q

k T q q k

k t t p p

Wp

a

+

=

= .

Isto é, neste caso a rede não fornece a solução correcta. Além disso, a magnitude do erro depende da correlação entre os vários vectores de entrada.

Existem vários procedimentos que visam reduzir o referido erro. Para tal, debruçar-nos- emos sobre a pseudoinverse rule.

Tendo em conta que o Associador Linear fornecia um vector de saída tq para cada vector de entrada pq segundo a expressão:

q

q t

Wp = q = 1, 2, …, Q. (2.1)

e uma vez que não é possível escolher uma matriz de pesos de forma a que as equações acima sejam satisfeitas completamente, há que verificá-las aproximadamente. Uma das soluções é seleccionar a matriz de pesos que minimiza F (W), em que:

( )

2

1

=

=

Q

q

q

q Wp

t W

F .

(32)

Note-se que caso os vectores de entrada pq sejam ortonormados e se utilize a regra de Hebb com o objectivo de determinar W, então F(W) será zero. Conclui-se que a matriz de pesos que minimiza F(W) é obtida usando a ‘matriz pseudoinversa’, a definir a posteriori.

Escrevendo (2.1) na forma matricial:

WP = T (2.2)

onde T =

[

t1 t2 ... tQ

]

e P=

[

p1 p2 ... pQ

]

. Então:

( )

W T WP 2 E 2

F = − =

onde E = T – WP e =

∑∑

i j

eij

E 2 2.

Note-se que F(W) pode ser zero caso (2.2) tenha solução. Caso P tenha matriz inversa, a solução é dada por:

W = TP-1.

No entanto, isto raramente se verifica. Em geral, os vectores pq são independentes mas R (dimensão de pq) é superior a Q (número de vectores pq). Logo, P não é uma matriz quadrada pelo que não tem inversa.

Por um resultado de (Albert, 1972)3, sabe-se que a matriz de pesos que minimiza F(W) é dada pela pseudoinverse rule:

W =TP+

onde P+ é a Moore-Penrose pseudoinverse. A pseudoinversa de uma matriz P é a única matriz que verifica:

3 A. Albert, Regression and the Moore-Penrose Pseudoinverse, New York: Academic Press, 1972.

(Chapter 7)

(33)

PP+P = P, P+PP+ = P+, P+P = (P+P)T,

PP+ = (PP+)T.

Quando o número de linhas de P (R) é maior que o número de colunas (Q) e estas (colunas de P) são independentes, então a pseudoinversa pode ser definida por:

P+ = (PTP)-1PT.

Existem várias variantes da regra de Hebb. Uma das suas limitações é que pode originar matrizes de pesos com elementos de grandes dimensões caso hajam vários parâmetros no conjunto de treino. Considerando a regra básica:

W{k+1}= W{k}+ tqpqT.

Um parâmetro positivo α, designado coeficiente de aprendizagem, pode ser utilizado para limitar o acréscimo nos elementos da matriz de pesos, no caso de α < 1, tal como em:

W{k+1}= W{k}+ α tqpTq . (2.3)

Mas também se pode utilizar um termo decay, de modo a que o coeficiente de aprendizagem se comporte como um filtro suavizador (smoothing filter), atribuindo pesos superiores aos valores de entrada mais recentes:

W{k+1}= W{k}+ α tqpTq - γW{k} = (1 – γ)W{k} + α tqpTq,

onde γ é uma constante positiva menor do que 1. À medida que γ se aproxima de zero, o algoritmo de aprendizagem aproxima-se da regra standard. À medida que γ se aproxima

(34)

de um, o algoritmo de aprendizagem vai “esquecendo” os vectores de entrada mais

“antigos” e enfatiza os mais recentes.

Caso se modifique a equação (2.3) substituindo o vector de saída pretendido pela diferença entre o vector de saída pretendido e o “real”, obtém-se a designada delta rule (também conhecida como o algoritmo de Widrow-Hoff):

W{k+1}= W{k}+ α (tq – aq)pqT.

A delta rule ajusta os pesos de modo a minimizar o erro quadrático médio, pelo que produz os mesmos resultados que a pseudoinverse rule. A vantagem daquela é que procede a uma actualização a cada nova entrada enquanto que a pseudoinverse rule apenas o faz após conhecer todos os vectores de entrada, o que permite que a primeira seja utilizada em ambientes dinâmicos.

2.6 R

ETROPROPAGAÇÃO

O algoritmo retropropagação (BP) surge como uma generalização do algoritmo dos mínimos quadrados e pode ser aplicado a redes multicamada.

Uma vez que as redes de camada única têm a desvantagem de apenas resolverem problemas de classificação linearmente separáveis, o perceptrão multicamada, que utiliza o algoritmo retropropagação, é dos mais utilizados em ANN.

Trata-se de um algoritmo de aprendizagem com supervisão uma vez que requer os conjuntos com os valores de entrada e de saída, respectivamente. Este algoritmo pode ser aplicado usando um método de aprendizagem incremental, batch ou intermédio.

A aprendizagem incremental caracteriza-se pelo processamento de um par de vectores (pi, ti) e pela actualização imediata da matriz W (matriz dos pesos), enquanto que a aprendizagem batch processa todo o conjunto de pares de vectores e, só posteriormente, actualiza a matriz W. Tal como o próprio nome indica, a aprendizagem intermédia situa- se entre os dois tipos descritos anteriormente, isto é, são processados z vectores em que 2≤ z≤N.

(35)

A aprendizagem incremental tem um melhor desempenho quando está em causa uma amostra de grande dimensão constituída por informação redundante, além de que é mais rápida na maioria dos casos e adequa-se a amostras que variam ao longo do tempo. No entanto, o seu algoritmo oscila caso o coeficiente de aprendizagem não seja reduzido.

A aprendizagem batch tem como principal desvantagem o facto de convergir lentamente nos casos em que a amostra é grande.

Relembrando o esquema anteriormente referido (em notação abreviada):

Figura 14: Rede com 3 camadas: notação abreviada (Hagan et al., 1996)

E conforme mencionado a priori, o vector de saída de uma camada constitui o vector de entrada da camada seguinte, o que pode ser traduzido da seguinte forma:

(

1 1

)

1

1 + + +

+ = m m m + m

m f W a b

a para m = 0, 1, 2, …, M-1,

onde M designa o número de camadas da rede. Os neurónios da primeira camada recebem vectores de entrada externos:

p a0 = .

Os vectores de saída dos neurónios da última camada são considerados os vectores de saída da rede:

aM

a= .

W1

b1

+ f1

p

S1xR

S1x1

n1

S1x1

S2xS1 a1

S1

W2

1

S3x1 b2

+

n2

S2x1

f2

a2

1 b2 W3

+

S2x1 S1x1

S2x1 S2

S3xS2

S3x1

n3

f3

S3 a3

S3x1

R 1

Rx1

(36)

Ou seja, o algoritmo BP é constituído por três passos:

- passagem do vector de entrada p até à camada de saída;

- cálculo do erro entre o valor de saída da rede aM e o valor pretendido t e retropropagação do mesmo;

- ajuste dos pesos.

Como o algoritmo retropropagação é um método iterativo, necessita do estabelecimento de critérios de paragem da fase de aprendizagem. Para tal, considera-se que houve convergência do algoritmo quando:

- a norma euclideana do gradiente atingiu um valor pequeno;

- a diferença da média do erro quadrado entre duas épocas sucessivas é pequena;

- a generalização da ANN é viável.

A escolha dos valores iniciais dos pesos é crucial na convergência do algoritmo retropropagação. Além disso, a sua magnitude tem implicações tanto no tempo de convergência como na generalização da própria rede.

O procedimento mais simples de inicialização destes valores é a atribuição de valores aleatórios pertencentes a um intervalo de valores. De salientar que os valores iniciais dos pesos devem ser escolhidos de modo a evitar que as funções activação ou as suas derivadas sejam zero ou muito próximas disso, uma vez que tal impede a aprendizagem.

Contudo, existe também um procedimento de inicialização que proporciona uma convergência mais rápida e que se deve a Nguyen e Widrow (Fausett, 1994) (Hagan et al., 1996). Apresenta ainda como vantagem uma melhor cobertura do espaço de soluções. O procedimento consiste na inicialização das conexões com valores aleatórios do intervalo

]

0.5, 0.5

[

, com excepção das conexões entre as variáveis de entrada e a primeira camada, as quais são inicializadas com o algoritmo que se segue.

Seja β uma variável designada factor de escala, então:

Referências

Documentos relacionados

Este trabalho teve como objetivo avaliar a freqüência e a flutuação populacional de coleópteros degradadores de madeira em quatro diferentes espaçamentos de plantio: 1,0

Entre o roseiral e o parque, num lugar sombrio, solitário e verde, havia um pequeno jardim rodeado de árvores altíssimas que o cobriam com os seus ramos.. No

A Sementinha dormia muito descansada com as suas filhas. Ela aguardava a sua longa viagem pelo mundo. No entanto, sempre vivera junto ao pomar do António Seareiro e até

Os caçadores tinham estendido uma grossa corda ligada a uma rede, no caminho por onde o leão costumava passar, de maneira que, quando o leão tropeçou na corda, a rede caiu-- lhe em

Numa corrida rápida, de velocidade, teria as minhas hipóteses, mas dar cinco voltas ao recinto enlameado da escola era mais apropriado para o Mário e o Xavier, por exemplo,

Combinaram encontrar-se às 21h

A dose de aplicação deve ser determinada através do canal de descarga e da quantidade necessária de VECTOBAC-AS ® para manter a concentração de 0,5 a 25 ppm no canal de água a

SENSOR DE