CAPÍTULO III

3. OS MÉTODOS DE ANÁLISE DISCRIMINANTE

3.0 Introdução

Desde o trabalho de Fisher [Johnson et al, 1988], em 1936, numerosos trabalhos têm sido desenvolvidos com o propósito de análise discriminante e de classificação. Em geral, estes métodos aceitam uma amostra aleatória de pontos (observações) definidos por um conjunto de variáveis escolhidas e geram uma função discriminante que serve como classificador.

Vários trabalhos têm sido desenvolvidos com o objetivo de identificar as potencialidades e limitações de métodos na tarefa de classificação [Grinold, 1972], [Tam et al, 1992], [Bennett et al, 1992b], [Lugosi, 1992], [Smith, 1968], [Stange, 1988], [Steiner, 1993b]. No presente trabalho seis métodos foram pesquisados :

Dois dos métodos envolvendo a técnica da Programação Linear :

1. Geração de uma superfície linear por partes [Mangasarian et al, 1990];

2. Geração de uma superfície que minimiza os erros [Bennett et al, 1992b];

Três métodos são estatísticos :

3. Função Discriminante Linear de Fisher [Johnson et al, 1988];

4. K'-Vizinhos mais próximos, segundo a distância de Mahalanobis [Jonhson et al, 1988];

5. Modelo de Regressão Logística [Dobson, 1983], [Cordeiro, 1986];

E o último método envolve redes neurais :

6. Geração de uma superfície linear por partes utilizando o algoritmo Back-propagation [Krose et al, 1993], [Rumelhart et al, 1986].

Estes métodos são descritos a seguir.

3.1 GERAÇÃO DE UMA SUPERFÍCIE LINEAR POR PARTES

3.1.1 Introdução

Mangasarian tem estudado o problema de separação de padrões há aproximadamente três décadas. Vários trabalhos seus são apresentados com este objetivo : Via Programação Linear ou Programação não Linear [Mangasarian, 1965]; via Programação Linear, com testes feitos em problemas reais pequenos [Mangasarian, 1967]; via Programação Linear, gerando uma Superfície Linear por Partes, com aplicação no diagnóstico médico [Mangasarian et al, 1990], problema este que também pode ser abordado via Redes Neurais [Bennett e Mangasarian,1992a]; via Programação Linear, com a geração de apenas um plano [Bennett e Mangasarian, 1992b].

Os três últimos trabalhos, derivados dos anteriores, são discutidos aqui. Mangasarian et al, 1990a, e Bennett e Mangasarian, 1992a , neste item, e Bennett e Mangasarian, 1992b no item 3.2.

3.1.2 O Método

Em Mangasarian et al, 1990a, o objetivo do método é construir uma função discriminante f : Rn R, tal que f(A) > 0 e f(B) 0. Quando as coberturas convexas de A e B não se interceptam, caso em que os conjuntos são linearmente separáveis, um único programa linear pode ser usado para obter uma função discriminante linear do tipo :

f(x) = cx + , c Rn , R.

Neste caso, as coberturas convexas dos conjuntos A e B são disjuntas se, e somente se, não existem u Rm e v Rk tais que :

u A - v B = 0

(3.1.1) -u e + v e = 0

u

0 0

v

onde e = (1,1, ...,1)

O dual de um programa linear que tenta resolver o sistema (3.1.1) gera um plano que separa os conjuntos A e B quando suas coberturas convexas não se interceptam.

O sistema (3.1.1) tendo uma solução é equivalente ao programa linear seguinte que tem um valor máximo igual a zero :

Max - (r + s) e

u, v, r, s

(3.1.2) s.a : uA - vB + r - s = 0

-u e = -1

v e = 1

(u, v, r, s) 0 r, s Rn

O dual de (3.1.2) conduz ao seguinte critério de separabilidade linear para os padrões de A e B :

Min - +

c, ,

(3.1.3) s.a : Ac - e 0

- Bc + e 0

e c - e , R

que terá um mínimo negativo para este caso. O plano xc = ( + )/2 separa os conjuntos A e B, onde (c, , ) é a solução de (3.1.3).

Porém, na maioria dos problemas reais a interseção das coberturas convexas de A e B é não vazia, ou seja, os conjuntos são linearmente inseparáveis, o que exige uma função discriminante linear mais complexa, tal como uma Função Linear por Partes.

Para garantir a obtenção do plano separador, o método impõe uma condição de não nulidade sobre o vetor c, normal ao plano separador, c = 1, sendo que o problema fica :

Min - +

c, ,

(3.1.4) s.a : A c - e 0

- Bc + e 0

c = 1

Ou seja,

Min - +

c, ,

(3.1.5) s.a : A c - e 0

- B c + e 0

e c - e

ci = 1

O problema não convexo (3.1.4) pode ser resolvido em tempo polinomial resolvendo 2n programas lineares para i = 1, 2, ..., n e tomando a solução com o mínimo para (- + ) entre as 2n soluções de (3.1.5), ou seja, tomando como solução o par de planos, cx = e cx = , que separa o maior número de pontos entre as 2n soluções com i = 1, ..., n.

Estes programas lineares são usados para gerar uma sequência de planos paralelos, dois a dois, que resultam em uma função discriminante não convexa linear por partes. Na Figura 3.1.a, tem-se um exemplo para o R2 onde estão traçados os 2 primeiros pares de planos de um total de 11 necessários para a separação completa dos pontos dos conjuntos A e B.

O algoritmo para o método apresentado é descrito no Apêndice I.

3.1.3 Modelagem do Problema via Redes Neurais

Bennett e Mangasarian, 1992a, mostra que o método exposto no item 3.1.2 pode ser modelado como uma Rede Neural feed-forward com pesos pré-designados e uma topologia parcialmente fixa. O método de Redes Neurais é detalhado em 3.6.

Veja figura 3.1.b. A rede é composta de n unidades, (2p-1) unidades escondidas, onde p é o número de pares de planos gerados no método exposto em 3.1.2, e uma unidade de saída.

Para i = 1, ..., (p-1), ci e - ci são os "pesos de entrada" para as (2i-1)-ésimas e as (2i)-ésimas unidades escondidas com thresholds i e -i respectivamente. Para i = (p-1), cp é o "peso de entrada" para a (2p-1)-ésimas unidade escondida com threshold

(p + p)/2.

Os pesos nos arcos conectando as (2p-1) unidades escondidas à unidade de saída são pré-determinados de modo que a ativação da unidade de saída é causada pelas unidades escondidas ativadas com o índice mais baixo. O threshold da unidade de saída é 0.

3.2 GERAÇÃO DE UMA SUPERFÍCIE QUE MINIMIZA ERROS

3.2.1 Introdução

Em Bennett e Mangasarian, 1992b, é proposta a formulação de um único programa linear que gera um plano que minimiza a média ponderada da soma das violações dos pontos dos conjuntos A e B que estão do lado errado do plano separador.

Quando as coberturas convexas dos dois conjuntos são disjuntas, o plano separa completamente os dois conjuntos. Quando as suas coberturas convexas se interceptam, o programa linear proposto gera um plano que minimiza os erros, sem a imposição de restrições estranhas ao problema, como no caso do método exposto no item 3.1.2.

3.2.2 O Método

O programa linear está baseado no seguinte problema de otimização que minimiza os erros :

(3.2.1) Min 1/m (- Aw + e + e)+ 1 + 1/k (Bw - e + e)+ 1

w,

onde :

e = (1,1, ..., 1) Rn;

w = vetor "peso" Rn , normal ao plano separador ótimo;

= número real, fornece a localização do plano separador wx = ;

lembrando que para um vetor x Rn :

(x+)i = max i xi, 0 };

x 1 = i=1,n xi

Os conjuntos de pontos A e B são linearmente separáveis se, e somente se, existe Rn tal que :

min Ai > max Bi

1im 1ik

ou seja, se existe w Rn , R tal que :

Aw e + e, e - e Bw

Então, os conjuntos A e B são linearmente separáveis se, e somente se, o valor mínimo de (3.2.1) é zero, caso em que (w = 0, ) não podem ser ótimos. Então, o programa linear sempre gerará um plano separador wx = para os conjuntos linearmente separáveis A e B.

Para os conjuntos A e B linearmente inseparáveis o problema (3.2.1) gerará um plano separador wx = que minimiza a média das violações dos pontos de A que estão do lado errado do plano wx = + 1 , x wx < + 1 , e dos pontos de B que estão do lado errado do plano wx = - 1 , x wx > - 1 :

Min 1/m i=1,m (-Aiw + + 1)+ + 1/k i=1,k (Biw - + 1)+

w,

Para definir uma formulação de Programação Linear equivalente a (3.2.1), são definidas algumas relações :

Sendo g : Rn Rm, h : Rn Rk e S um subconjunto de Rn, então os problemas :

Min g(x)+ 1 + h(x)+ 1

x S

e

Min ey + ez

x S

s.a : y g(x)

z h(x)

y 0, z 0

têm soluções idênticas.

Então, analogamente para (3.2.1), considerando o número de pontos de A e B , tem-se :

Min ey/m + ez/k

w,,y,z

(3.2.2) s.a : Aw - e + y e

-Bw + e + z e

y 0

z 0 y Rm, z Rk

A principal propriedade de (3.2.2) é que para os casos linearmente inseparáveis ele sempre gera uma solução não trivial para w sem a adição de restrições estranhas ao problema.

Observe-se que se trata de um método não iterativo, ou seja, o plano separador obtido de (3.2.2) é único para os dois conjuntos dados A e B. A figura 3.2 ilustra a obtenção deste plano para o já referido exemplo do R2.


3.3 FUNÇÃO DISCRIMINANTE LINEAR DE FISHER

3.3.1 Introdução

A terminologia "discriminar" e "classificar" foi introduzida na Estatística por Ronald A. Fisher no primeiro tratamento moderno dos problemas de separação de conjuntos na década de 30 [Johnson et al, 1988]. Dadas duas populações 1 e 2 de observações multivariadas X's, de dimensão n, a idéia de Fisher foi transformar estas observações multivariadas em observações univariadas Y's de tal modo que estejam separadas tanto quanto possível. Fisher propôs o uso de combinação linear das n variáveis aleatórias componentes de X para obtenção dos Y's, pelo fato da combinação linear ser de fácil obtenção matematicamente.

3.3.2 O Método

Sendo 1y a média dos Y's obtida dos X's pertencentes à população 1 e 2y a média dos Y's obtida dos X's pertencentes à população 2, seleciona-se a combinação linear que maximiza a distância quadrática entre 1y e 2y relativamente à variabilidade dos Y's, ou seja :

(3.3.1) (1y - 2y)2 / y2

Sendo :

1 = E(X 1) = valor esperado de uma observação multivariada de 1;

2 = E(X 2) = valor esperado de uma observação multivariada de 2;

e supondo que a matriz de covariância = E(X - i) (X - i)', i = 1,2 seja a mesma para 1 e 2 , tem-se a combinação linear :

Y = c' X , em que Y é uma v.a. unidimensional;

c' é de ordem 1 x n;

X é de ordem n x 1

Mas, Y tem média

1y = E(Y 1) = E(c' X 1) = c' 1

(3.3.2) ou 2y = E(Y 2) = E(c' X 2) = c' 2

dependendo da população, mas sua variância

(3.3.3) y2 = Var(c' X) = c' Cov(X) c = c' c

é a mesma para ambas as populações.

Substituindo (3.3.2) e (3.3.3) em (3.3.1), tem-se que :

(3.3.4) (1y - 2y)2 / y2 = (c' 1 - c' 2)2 / c' c = (c' (1 - 2))2 / c' c

Os coeficientes da combinação linear c' = [c1,c2, ..., cn] são aqueles que maximizam a razão (3.3.4).

Esta razão é maximizada pela escolha de

c = k -1 (1 - 2)

para qualquer k 0. Escolhendo k = 1 obtém-se a combinação linear :

(3.3.5) Y = c' X = (1 - 2)' -1 X ,

que é a expressão da Função Discriminante Linear de Fisher (FDL) populacional.

Seja agora

y0 = (1 - 2)' -1 x0

o valor da função discriminante para uma nova observação x0 e seja

q = 1/2 (1y + 2y) = 1/2 (c' 1 + c' 2) = 1/2 (1 - 2)' -1 (1 + 2)

o ponto médio entre as médias das duas populações univariadas. Pode ser mostrado que :

E(Y0 1) - q 0 e E(Y0 2) - q < 0

ou seja, se x0 pertencer a 1, y0 é maior do que q e se x0 pertencer a 2, y0 é menor do que q.

Analogamente, chega-se a FDL de Fisher amostral, considerando-se as amostras A de tamanho m e B de tamanho k, respectivamente das populações 1 e 2. Desta forma, tem-se :

(3.3.6) Y = (xA - xB)' Sp-1 x , onde :

xA = vetor (n x 1) médio amostral da população 1 xA = 1/m j=1,m xAj;

xB = vetor (n x 1) médio amostral da população 2 xB = 1/k j=1,k xBj;

Sp-1 = inversa da matriz de covariância amostral conjunta :

Sp = [(m -1)SA + (k -1)SB]/ (m+k-2);

SA = matriz de covariância amostral de 1 SA = 1/(m -1) [ j=1,m (xAj - xA) (xAj - xA)' ];

SB = matriz de covariância amostral de 2 SB = 1/(k -1) [ j=1,k (xBj - xB) (xBj - xB)'];

x = vetor das variáveis aleatórias correspondentes as características populacionais observadas.

Para classificação de um novo vetor x0, a regra de decisão é a seguinte :

se x0 A então y0 = (xA - xB)' Sp-1 x0 q = 1/2(xA - xB)' Sp-1 (xA + xB)

se x0 B então y0 < q

Uma ilustração geométrica deste método é apresentada na figura 3.3.




3.4 MÉTODO DOS K'-VIZINHOS MAIS PRÓXIMOS

3.4.1 Introdução

O método dos k'-vizinhos mais próximos [Johnson et al, 1988] é um método que pode ser utilizado para classificar observações, com uma ou mais variáveis, em um ou mais grupos. Este método, que relaxa a condição de normalidade para os grupos em questão, faz a designação de uma dada observação para o grupo ao qual pertencem a maioria dos seus primeiros k'-vizinhos mais próximos. A distância d(x, y) entre duas observações x e y pode ser definida pela distância de Mahalanobis entre x e y, apresentada adiante.

3.4.2 O Método

A equação para o cálculo da distância de Mahalanobis d(x, y) entre duas observações x e y pode ser obtida como uma extensão da função discriminante linear de Fisher.

O valor máximo da razão (com c já definido no item 3.3) :

(c' (1 - 2))2 / c' c

para o caso populacional é dado por

(3.4.1) 2 = (1 - 2)' -1 (1 - 2)

que é obtida ao se escolher c = k -1 (1 - 2), com k = 1.

A expressão (3.4.1) é a distância quadrática de Mahalanobis entre duas populações. Para o caso amostral, o valor máximo da razão :

(c' (xA - xB))2 / c' Sp c

escolhendo c = Sp-1 (xA - xB) com Sp estimando , é dado por :

(3.4.2) D2 = (xA - xB)' Sp-1 (xA - xB)

que é denominada distância quadrática amostral de Mahalanobis.

Para duas populações, a máxima separação relativa que pode ser obtida considerando combinações lineares das observações multivariadas é igual à distância D. Isto é conveniente porque D2 pode ser usada, em certas situações, para testar se as médias 1 e 2 das populações diferem significativamente, como já mostrado no cálculo do teste T2 de Hotelling, no item 2.1. Então, dada uma nova observação x0, a distância de Mahalanobis do vetor x0 à média xA da amostra da população 1 ( ou xB da amostra da população 2), conforme (3.4.2), é dada por :

(3.4.3) D2 = (x0 - xA)' Sp-1 (x0 - xA)

ou, D2 = (x0 - xB)' Sp-1 (x0 - xB)

A observação x0, neste caso, é designada para a população que fornecer o menor valor para D2.

Um procedimento alternativo seria considerar em (3.4.2) cada observação de cada população, ou seja, dada uma nova observação x0, a distância de Mahalanobis amostral do vetor x0 a cada vetor xi pertencente a populações 1 ou 2 é dada por :

(3.4.4) D2 = (x0 - xi)' Sp-1 (x0 - xi) , i = 1, ..., (m + k)

Para (3.4.4), das (m + k) distâncias medidas, toma-se as k' menores, ou seja, as k' distâncias que apontam os k' vetores xi's mais próximos de x0 , verificando a que grupo a maior parte deles pertence. Designa-se, assim, a observação x0 para este grupo.

Na figura 3.4 é mostrada uma ilustração gráfica do método 3-Vizinhos mais próximos.


3.5 REGRESSÃO LOGÍSTICA

3.5.1 Introdução

A regressão logística [Dobson, 1983], [Cordeiro, 1988], dentro da análise estatística, consiste em relacionar, através de um modelo, a variável resposta com os fatores que influenciam a ocorrência de determinado evento. Por exemplo, em um estudo para se quantificar a influência de certos fatores na ocorrência de doenças do fígado (colestase), a variável resposta será dicotômica, isto é, presença de cálculo ou de câncer, e as variáveis como idade, sexo, níveis de algumas enzimas e outras, serão os fatores controlados. A análise estatística permitirá detectar os fatores mais importantes, e também, se dado um novo paciente colestático, responder a que grupo ele será mais susceptível.

Para o presente trabalho, como a variável resposta é dicotômica, o modelo clássico de regressão não deve ser utilizado, pois poderá produzir valores de resposta estimada fora do intervalo [0, 1], o que não é compatível com a natureza do fenômeno estocástico.

3.5.2 Os Modelos

A. Modelo Linear Geral (MLG)

Seja o problema da construção de um modelo para o relacionamento entre uma variável resposta Y e n fatores ou variáveis explicativas X1, X2, ..., Xn. Considerando-se (m+k) pontos amostrais (yi; x1i, x2i, ..., xni), pode-se ajustar o modelo linear com (n+1) parâmetros :

(3.5.1) Yi = 0 + 1 X1i + ... + n Xni + i i = 1, 2, ..., (m+k)

ou, em notação matricial,

Y = X +

onde Y é o vetor resposta com dimensão (m+k);

X é a matriz do modelo de ordem ((m+k) x (n+1)) e, por suposição, com

posto completo;

é o vetor de parâmetros a serem estimados e que tem dimensão (n+1);

é o vetor de erros aleatórios, com dimensão (m+k).

O estimador de mínimos quadrados ordinários (MQO) do vetor é obtido pela minimização da soma de quadrados dos erros e supõe-se que estas variáveis aleatórias sejam i.i.d. (independentes e identicamente distribuídas). Desta forma é suposto que

i ~ . (0, 2) e ~ . (0, 2 I(m+k))

Quando a distribuição comum é a normal (Gaussiana) o modelo linear é chamado de modelo normal de Gauss-Markov e o estimador de obtido nestas condições é "BLUE" (melhor estimador linear não-viciado). Assim, considerando-se a soma dos quadrados dos erros,

i=1,(m+k) i2 = (Y - X)' (Y - X) = '

tem-se, SQR = ' = [ Y' - ' X'] [ Y - X ]

que é um produto interno, logo distributivo e comutativo, então :

SQR = [Y'Y - ' X' Y - Y'X + ' X' X ]

e visto que Y'X é um escalar resulta

SQR / = - 2 X' Y + 2 X' X

e as equações normais de mínimos quadrados são :

X'X = X' Y donde = (X'X)-1X'Y

e o estimador de MQO de é a solução, , do sistema. Desta maneira se obtêm estimadores ótimos para os parâmetros do modelo.

A variância dos resíduos s2 = SQR / ((m+k) - n) estima a variância

2 = V(i) , e ainda se (X'X)-1X'Y é o estimador de tem-se que :

V() = (X'X)-1 X' V(Y) X(X'X)-1 = (X'X)-1 X'2 In X(X'X)-1 = s2(X'X)-1

Este procedimento, apesar de não apresentar nenhuma dificuldade computacional, quando aplicado às variáveis dicotômicas tem algumas limitações. Neste caso tem-se :

1 com P(Yi = 1) =

Yi =

0 com P(Yi = 0) = 1 -

e usando-se o modelo (3.5.1) em observações binárias, tratando-as como observações de origem quantitativa, ao invés de qualitativa, resulta :

E(Yi) = P(Yi = 1) = 0 + j=1,n j Xji = i

portanto V(Yi) = E[Yi - E(Yi)]2

V(Yi) = (1 - i)2 P(Yi = 1) + (0 - i)2 P(Yi = 0)

= (1 - i)2 i + (-i)2 (1 - i)

= (1 - i) [(1 - i) i + i2]

= (1 - i)[i - i2 + i2]

= i (1 - i)

Logo, a condição de variância constante para os resíduos não é satisfeita ( a variância depende de i), invalidando todos os testes de significância usuais com o modelo linear geral e resposta politômica. Outra dificuldade é que o modelo (3.5.1) não considera que 0 i 1 e fornecerá estimativas fora desse intervalo, como foi observado na introdução (3.5.1).



B. Modelo Logístico Linear Simples

O Modelo Linear Geral apresenta-se inadequado, como se viu no item A, para o caso de Y ser uma variável aleatória dicotômica (binária, Bernoulli), ou seja, aquela que apresenta função de probabilidade do tipo :

Y ~ b(1, ) P(Y = y) = y (1 - )1-y 0 < < 1

y = 0, 1

Seja, então, o Modelo Linear Logístico derivado da função matemática

f(y) = 1 / (1 + e-y) - < y <

que varia monotonicamente de 0 a 1 à medida que y cresce, sendo simétrica em torno de

y = 1/2.

A chamada transformação logit para f(y) tem a propriedade de ser linear em y, pois :

logit f(y) = ln [f(y) / (1 - f(y))] = ln [ (1 + e-y)-1 / (1 - (1 + e-y)-1) ] =

= ln [ 1/(1 + e-y) / (1 + e-y - 1)/(1 + e-y) ] = ln ey = y,

Então, impondo um modelo de regressão logístico linear para estimar P(Y = 1) = p(x) (tratando o caso linear simples, = + x, somente com uma variável explicativa X), tem-se o modelo dado por :

logit p(x) =

ou p(x) = e / (1 + e) = 1 / (1 + e-)

onde = + x é o preditor linear com os parâmetros e , a serem estimados. A aplicação deste modelo significa que para X = 0, por exemplo,

p(0) = P(Y = 1 X = 0) = e + 0 / (1 + e + 0) = e / (1 + e)

C. Modelo Logístico Linear Múltiplo

Quando o interesse está em se estabelecer a relação entre a variável resposta Y e diversas covariáveis X1, X2, ..., Xn que podem representar fatores de interesse, o Modelo Logístico Linear Múltiplo tem a forma :

logit p(x) = 0 + 1 X1 + 2 X2 + ... + n Xn

ou p(X1, X2, ..., Xn) = e / (1 + e) = 1 / (1 + e-)

onde = 0 + 1 X1 + 2 X2 + ... + n Xn = X'

e p(X1, X2, ..., Xn) = P (Y = 1 X1, X2, ..., Xn)


Aqui se tratará desse modelo em um contexto mais amplo, ou seja, dentro da estrutura dos Modelos Lineares Generalizados. Estes modelos foram definidos por Nelder et al, 1972, e apresentam duas componentes : uma sistemática e outra aleatória.

O Modelo Linear Generalizado é definido por : uma distribuição de probabilidade que pertença à família exponencial de distribuições, para a variável resposta; um conjunto de variáveis explicativas (independentes) que suportam a estrutura linear do modelo e uma função de ligação entre a média da variável resposta e a estrutura linear.

Em um Modelo Linear Generalizado a componente aleatória admite que a resposta yi tem densidade na forma da família exponencial :

(3.5.2) p(yi, i, i) = exp { i [ yi i - b(i) + c(yi, i)]}

que possibilita a aplicação em dados assimétricos, dados discretos, dados contínuos e dados pertencentes a intervalos limitados dos reais. Muitas distribuições importantes de probabilidade pertencem a esta família, tais como : a normal N (, 2) e a binomial

b(m+k, ).

As funções b( . ) e c( . ) e o parâmetro de dispersão i > 0 , i = 1, 2, ..., (m+k), são supostamente conhecidos.

O parâmetro i é conhecido como parâmetro natural ou canônico e especifica a distribuição em 3.5.2. Valem para (3.5.2) os seguintes resultados :

E(Yi) = i = b(i) / i

V(Yi) = 1/i 2b(i) / i2

Fica claro que V(Yi) = Vi / i com Vi = i / i , que é chamada função de variância e depende somente da média. Sendo assim, o parâmetro natural (canônico) i pode ser expresso por uma relação unívoca da média,

i = Vi-1 di = q(i)

A componente sistemática do Modelo Linear Generalizado assume a estrutura linear

(3.5.3) = x'

e admite a existência de uma função de ligação g(.) entre a média i de uma observação típica e a estrutura linear do modelo, através de :

(3.5.4) g (i) = i , i = 1, 2, ..., (m+k)

onde ' = [ 1, 2, ... , (m+k)], denominado preditor linear, é uma função linear dos parâmetros desconhecidos ' = [0, 1, ... , n] e g(.), supostamente conhecida, é diferenciável. Quase sempre a função de ligação g( . ) não é linear e X, a matriz do modelo de ordem (m+k) x (n+1) é de posto completo e conhecida. Deste modo na matriz X = (xij), a observação xij pode ser uma variável explicativa quantitativa ou pode representar a presença (1) ou ausência (0) de uma característica.

A função de ligação relaciona o preditor linear ao valor esperado , E(Y) = , e deve ser compatível com o tipo de erro. As ligações usuais no caso do erro binomial são :

Logit : = log [ / (1 - )]

Probit : = -1 ()

onde ( . ) é a função de distribuição da normal padrão e é a probabilidade de sucesso na b(m+k, ). Assim, a variável resposta considerada é a proporção de sucessos em (m + k) ensaios independentes dicotômicos. Portanto, o Modelo Linear Generalizado é definido por uma distribuição de probabilidade da família exponencial (3.5.2), uma estrutura linear (3.5.3) e uma função de ligação (3.5.4).

Na análise estatística clássica quando os dados não se ajustam adequadamente ao modelo, procura-se transformar estes dados de modo a se conseguir um melhor resultado. O propósito dos Modelos Lineares Generalizados é transfomar as médias dos dados, ao invés dos dados em si, para se obter um modelo de regressão linear.

3.5.3 Algoritmo do Procedimento Iterativo de Estimação dos Parâmetros

Nelder et al, 1972, provaram que a solução das equações de máxima verossimilhança de um Modelo Linear Generalizado equivale a calcular, de forma iterativa, uma regressão linear ponderada de uma variável resposta contra covariáveis suportadas pela matriz X usando uma função de ponderação que se adapta operacionalmente no algoritmo iterativo. O algoritmo dos autores citados converge rapidamente na maioria dos casos. Existe alguma dificuldade quando (m + k) é pequeno.

Assim obtém-se e consequentemente os preditores lineares , por máxima verossimilhança. Seja L() o logaritmo da função verossimilhança para um MLG particular, e sejam , = X e = g-1() as estimativas de máxima verossimilhança de , e (médias), respectivamente.

Então, supondo que o parâmetro de dispersão seja constante para todas as observações, as equações de máxima verossimilhança

L() / j = 0 j = 0, 1, 2, ..., n

são não-lineares na maioria dos casos. A única exceção é para o erro Gaussiano, pois aí o MLG se confunde com o Modelo Linear de Gauss-Markov e tem-se V(Y) = I(m+k) =

= 2 I(m+k) e a função de ligação é = (identidade). Assim, sem considerar este caso particular de resolução explícita, seja K a matriz de informação de Fisher [Bickel et al, 1977] para .

K = { -E ( 2L() / i j ) } = X'WX i = 1, 2, ..., (m + k)

j = 0, 1, 2, ..., n

onde W é a matriz de estimação ponderada e equivale a :

W = diag. { 1/V (i / i )2 } = diag. (w1, w2, ..., wm+k)

e é a matriz diagonal, = diag { 1, 2, ..., (m+k) } = I(m+k). Observe-se que, como X é de posto completo e W e são positivas, tem-se que a matriz de informação é definida positiva.

Expandindo L() / = [ L()/0 , L()/1 , ... , L()/n ]'

onde L() / i = i=1,(m+k) (yi - i) V-1 i/i xij , i = 1, 2, ..., (m+k); j = 0, 1, 2, ..., n em série de Taylor e usando K no lugar da matriz de derivadas de segunda ordem, obtém-se o esquema iterativo

L(p) / = K(p) ((p+1) - (p))

na p-ésima iteração. Assim, alcança-se em (p+1) uma boa aproximação para . Este algoritmo está programado no GLIM, software estatístico, próprio para estes modelos.

3.5.4 Medida da Adequação de um MLLM : Função Desvio

O procedimento para se efetuar a medida da adequação de um Modelo Logístico Linear Múltiplo já foi descrita no Capítulo II, no ítem que trata do "ajuste" logístico dos pontos.

O método da Regressão Logística é ilustrado na Figura 3.5.



3.6 REDES NEURAIS [Krose et al, 1993], [Gorni, 1993], [Demuth et al, 1994], [Hadjiprocopis, 1993], [Haykin, 1994]

3.6.1 Introdução

As redes neurais são compostas de muitos elementos simples, inspirados pelo sistema nervoso biológico, que operam em paralelo. A função da rede é determinada pelas conexões entre os seus elementos. Pode-se treinar uma rede neural para executar uma função particular ajustando-se os valores das conexões entre os elementos.

As redes neurais têm sido treinadas para executar funções complexas em vários campos de aplicação, como :

a. No diagnóstico médico [Bennett e Mangasarian, 1990], [Steiner et al, 1994];

b. Na predição de falência bancária [Tam et al, 1992];

c. Na aplicação à fabricação da pasta e papel industrial [Fadum, 1993];

d. No controle do processo de produção do papel industrial [Rudd, 1991], [Steiner et al, 1994];

e. No mundo financeiro [Business Week, 1993], [Cipra, 1992];

f. No controle de processos químicos [Nascimento et al, 1993];

g. Na obtenção de um modelo organizacional [Almeida, 1995];

h. Para detectar fraudes com cartões [Financial Times, 1993];

i. Em problemas de administração de empresas [Almeida, 1995].

Tem sido comparada com outras técnicas de análise discriminante : Patuwo et al, 1993; Tam et al, 1993; Bennett e Mangasarian, 1990; Steiner et al, 1994. E muito discutida por : Zahedi, 1991; Hammerstrom, 1993; Barbosa, 1988; Hilster, 1989; Gorni, 1993, Haykin, 1994; Barbosa, 1988 e inúmeros outros.

Sharda, 1994, aponta que no encontro da ORSA/1990 foram apresentados 10 artigos abordando Redes Neurais. Este número aumentou para 27 em 1991 e em 1992 para 45 trabalhos. Aponta também as inúmeras aplicações desta técnica na área de finanças, business, marketing, estatística, e outras.

3.6.2 Histórico

O estudo de Redes Neurais tem uma história de aproximadamente 5 décadas, mas achou sólida aplicação somente nos últimos 12 anos. O campo de aplicação está se desenvolvendo rapidamente, embora ainda haja grande carência de formalismo matemático para que se possa explicar consistentemente seu modo de operação, gerando desconfiança por parte dos especialistas quanto a sua confiabilidade. Consequentemente, é uma área de estudo com muitos problemas abertos à pesquisa teórica.

Em 1943, Mc Culloch e Pitts propuseram um modelo para uma célula nervosa, chamado de neurônio formal ou neurônio artificial. Eles mostraram que uma coleção de neurônios era capaz de calcular certas funções lógicas.

Em 1949, Hebb apontou o significado das conexões entre sinapses, que são as conexões entre os neurônios, no processo de aprendizagem, e desenvolveu uma regra de aprendizagem básica. Ele propôs que as mudanças nas forças das sinapses fossem proporcionais às ativações dos mesmos.

Em 1959, Rosenblatt reunindo as idéias de Hebb, McCulloch e Pitts, descreveu o 1o. modelo de Rede Neural, o Perceptron. Arranjando os neurônios em uma rede com uma topologia particular e modificando as conexões entre as sinapses, o Perceptron poderia aprender funções lógicas.

Em 1962, Widrow desenvolveu um tipo diferente de processador para Redes Neurais, denominado ADALINE, o qual dispunha de uma poderosa estratégia de aprendizado.

Em 1969 este direcionamento da pesquisa em Redes Neurais foi abandonado quase que completamente, por força do trabalho de Minsky e Papert que expuseram as limitações do Perceptron.

Em 1974, Werbos conseguiu o maior progresso em termos de Redes Neurais desde o Perceptron de Rosenblatt. Ele lançou as bases do algoritmo Back-Propagation, que permitiu que Redes Neurais com múltiplas camadas apresentassem capacidade de aprendizado.

Os primeiros resultados da retomada do desenvolvimento sobre Redes Neurais foram publicados em 1986 e 1987, onde ficou consagrada a técnica de treinamento por retropropagação.

3.6.3 Características Básicas de uma Rede Neural (RN)

O sistema nervoso humano é constituído por cerca de 200 bilhões de células e apresenta as seguintes principais características :

a. É uma rede altamente interconectada.

b. Apresenta paralelismo maciço, ou seja, muitos neurônios operando ao mesmo tempo.

c. O processamento é distribuído de modo que a informação é não localizada, significando que um fato pode corresponder à atividade de um certo número de neurônios.

d. Admite tolerância a falhas, assim o prejuízo a poucos neurônios não afeta a operação do cérebro significativamente.

e. A aprendizagem é exibida pelo ajustamento do efeito de acoplamento de 2 neurônios.

Apesar do mecanismo do cérebo ser muito complexo como um todo, ele consiste de elementos de processamento relativamente simples, os neurônios, como mostrado na Figura 3.a.

Figura 3.a. Um Modelo de Neurônio Artificial

Conforme esta figura, o vetor x que representa um conjunto de n entradas, é multiplicado por um vetor peso, w, e o produto, p = x w, é aplicado aos canais de entrada do neurônio. A soma de todas as entradas ponderadas é processada por uma função de ativação, F(x), para produzir o sinal de saída, a, do neurônio :

(3.a) a = F (i=0,n-1 xi wi + )

O parâmetro de é um valor threshold adicionado à soma ponderada, e em alguns casos é omitido, enquanto que em outros é considerado como o valor peso cujo correspondente valor de entrada é sempre igual a 1. A expressão (3.a), pode então adquirir a forma :

(3.b) a = F (i=0,n xi wi), x0 = 1, w0 =

O papel de , também chamado de bias ou vício, é aumentar o número de graus de liberdade disponíveis no modelo, permitindo que a RN tenha maior capacidade de se ajustar ao conhecimento a ela fornecido.

Este simples modelo de neurônio artificial está baseado em certas propriedades e características de seu comportamento biológico mas ignora muitos outros. Por exemplo, ele não considera atrasos que afetam o dinamismo do sistema. Também não inclui os efeitos do sincronismo ou frequência das funções do neurônio biológico. O neurônio biológico tem saída binária, ou seja, ele pode estar ligado ou desligado, enquanto que o neurônio artificial pode ter saída binária ou contínua, dependendo inteiramente da função de ativação F(x) utilizada.

3.6.4 A Função de Ativação de uma RN

A função de ativação é muito importante para o comportamento de uma RN porque é ela que define a saída do neurônio artificial e portanto o caminho pelo qual a informação é conduzida.

O modelo neural proposto por Mc Culloch e Pitts utiliza uma das funções de ativação mais simples, a função passo, que produz uma saída binária, e embora seja similar aos neurônios reais, é inadequada para o algoritmo de aprendizagem.

Existem várias outras funções de ativação, entre elas : a função linear, que elimina a descontinuidade em x = ; e a função sigmoidal, que adiciona alguma não-linearidade. Estes três principais tipos de função de ativação são mostradas na Figura 3.b.

Figura 3.b. As Funções de Ativação : a. Passo; b. Linear; c. Sigmoidal

3.6.5 Treinamento de uma RN

O treinamento em uma RN, pode ser, em geral, de dois tipos :

Supervisionado, quando a saída é dada para um conjunto de entradas e o sucesso é obtido quando se obtém a correta saída para a correspondente entrada. Em um treinamento Supervisionado cada vetor de entrada é associado com um correspondente vetor de saída. A rede é treinada utilizando estes pares de entradas e saídas.

Não-Supervisionado, quando somente um conjunto de entradas é dado e tem-se que classificá-los, extraindo quaisquer propriedades estatísticas, de acordo com algumas representações internas. O algoritmo de treinamento para a rede Não-Supervisionada, desenvolvido por Kohonen, em 1984, modifica a configuração da rede para agrupar vetores de entrada similares em classes extraindo propriedades estatísticas do conjunto de treinamento. Outro modelo baseado na filosofia de aprendizagem não-Supervisionada é a Rede de Hopfield.


3.6.6 Fluxo de Dados em uma RN

Em função do fluxo de dados as redes neurais podem ser classificadas em : redes feed-forward, se elas podem propagar os dados apenas unidirecionalmente, ou seja, apenas para a frente; ou redes feedback ou recorrentes, se o fluxo de dados pode se dar nos dois sentidos.

3.6.7 Os Modelos de Redes Neurais

São muitos os modelos de RN, sendo que no presente trabalho são apresentados os modelos básicos : o Perceptron, Redes Lineares e Redes de Múltiplas Camadas, dando-se ênfase a este último por ser o modelo aplicado aos casos reais abordados neste trabalho.

A. O Perceptron

O 1o. modelo bem sucedido foi proposto por Rosenblatt, em 1959, numa tentativa de explicar a percepção visual da perspectiva de um neuro-fisiologista. O Perceptron pode ser visto como um instrumento de Reconhecimento de Padrões que não foi construído para reconhecer um conjunto específico de padrões, mas que tem alguma habilidade para aprender a reconhecer os padrões de um conjunto depois de um número finito de tentativas. Na Figura 3.c tem-se a representação esquemática de um Perceptron.

Figura 3.c. O Perceptron

A Rede Perceptron consiste de uma única camada de i neurônios conectados às n entradas através de um conjunto de pesos w(i, j). Os índices da rede, i e j, indicam que w(i, j) é a "força" da conexão da j-ésima entrada ao i-ésimo neurônio.

A Rede Perceptron tem somente uma camada, sendo que este fato coloca limitações nos cálculos que um Perceptron pode executar. Os Perceptrons são treinados utilizando exemplos de comportamento correto. A regra de aprendizagem calcula as trocas nos pesos do Perceptron e biases dados um vetor de entrada, x, e o erro do Perceptron, E. O erro é simplesmente a diferença entre a resposta do neurônio, a, e do vetor alvo (ou saída desejada ao padrão), t (ou dp). O vetor alvo, t, deve conter os valores "0" e "1". A cada ajuste de pesos e biases, o Perceptron terá uma melhor chance de obter as saídas corretas, a = t (ou a = dp), dados os vetores de entrada x.

É provado que a regra Perceptron converge para uma solução em um número finito de iterações, se a solução existe.

As Redes de Perceptron possuem muitas limitações, tais como :

a. Os valores de saída de um Perceptron podem ter somente 2 valores ( "0" ou "1") devido à função de transferência que é utilizada.

b. Perceptrons podem classificar somente conjunto de vetores linearmente separáveis.

c. Quando um vetor de entrada é muito maior ou muito menor que os demais, o processo de convergência é lento.

Seja um exemplo simples de classificação de 4 vetores de entrada divididos em 2 classes :

-0,5 -0,5 1,0

X = -0,5 0,5 T = 1,0

0,3 -0,1 0,0

0,0 1,0 0,0

Os vetores de entrada estão plotados na Figura 3.d (a). A Figura 3.d (b) mostra a linha de como a rede inicial divide o espaço de entradas e a Figura 3.d (c) mostra como a rede ajustou seus pesos e bias para classificar o espaço de entradas até a solução ser encontrada após 4 iterações.

Figura 3.d. Exemplo de um Perceptron : a. As entradas; b. Separação inicial do espaço; c. Separação final

Os valores finais encontrados para os pesos e bias foram :

w1 = -2,1642; w2 = -0,6922; = -0,6433

Os Perceptrons podem achar soluções diferentes se iniciarem o processo de aprendizado de diferentes condições iniciais. A rede anterior foi treinada novamente, e uma solução satisfatória, separando totalmente as entradas, foi encontrada, porém com diferentes valores :

w1 = -2,1642; w2 = 0,0744; = -0,6433

Wang, 1995, estuda justamente este fato : a não predictabilidade de uma RN.

B. Redes Lineares

Estas redes diferem do Perceptron na função de tranferência que é linear, permitindo que as saídas tomem qualquer valor entre "0" e "1" e não apenas os valores "0" e "1" como no Perceptron. Estas redes utilizam a regra de aprendizagem de Widrow-Hoff, também conhecida como a regra dos Mínimos Quadrados, para ajustar os pesos e biases de acordo com a magnitude dos erros, e não apenas pela sua presença. Na Figura 3.e tem-se a representação esquemática de uma Rede Linear.

Figura 3.e. Uma Rede Linear

Dois problemas podem ser abordados no modelo de Rede Linear :

a. Quando se deseja projetar uma rede linear para que, ao se apresentar um conjunto de vetores de entrada, as saídas correspondam aos vetores alvo, desejados. Para cada vetor de entrada, calcula-se o vetor de saída da rede. A diferença entre o vetor de saída e o vetor alvo é o erro. O objetivo é achar valores para os pesos e biases da rede tal que a soma dos quadrados dos erros seja minimizada.

b. Quando se deseja projetar um sistema linear que possa responder a trocas do seu ambiente quando ele está operando. Tal sistema é chamado de sistema adaptativo. O primeiro trabalho neste campo foi feito por Widrow e Hoff que deram o nome de ADALINE para os elementos lineares adaptativos.

Como no Perceptron, as biases são úteis para provirem variáveis adicionais livres que podem ser ajustadas para obterem a performance desejada da rede.

Esta rede é algumas vezes chamada de MADALINE por conter muitas ADALINES. A regra de Widrow-Hoff pode somente treinar redes lineares de uma única camada.

O projeto de uma Rede Linear de uma única camada está restrito pelo problema a ser resolvido : O número de entradas da rede e o número de neurônios na camada de saída estão restritos pelo número de entradas e saídas exigidos pelo problema.

Considere-se um único neurônio linear com uma única camada de entrada. Deseja-se treinar a rede tal que ela corresponda corretamente à saída t, dados:

X = 1,0 T = 0,5

-1,2 1,0

Neste caso, tem-se apenas um peso e um bias, sendo então possível plotar, conforme Figuras 3.f (a) e 3.f (b), o erro da rede sobre um intervalo de valores de pesos e bias. A rede leva 12 iterações para convergir para a solução : w = -0,2354 ; = 0,7066.

Figura 3.f. Exemplo de uma Rede Linear : a. Erro da Rede; b. Caminho da rede para achar a solução

Múltiplas camadas em uma rede linear não resultam em uma rede mais poderosa de modo que uma única camada não é uma limitação. Entretanto, Redes Lineares podem resolver problemas lineares, ou seja, contendo relações lineares entre as entradas e os alvos. Para problemas qua não se encaixam nesta condição, a Rede Back-propagation (propagação regressiva) pode ser uma boa alternativa.

C. Redes de Múltiplas Camadas ou Redes Feed-forward

O algoritmo Back-Propagation foi desenvolvido independentemente por 3 grupos de pesquisadores : Werbos, em 1974; Parker, em 1982; Rumelhart, McClelland e Williams, em 1986.

Foram criadas generalizando a regra de aprendizagem de Widrow-Hoff para redes de múltiplas camadas e funções de transferência diferenciáveis não-lineares. Vetores de entrada e os correpondentes vetores de saída são usados para treinar a rede até que ela possa aproximar uma função que classifique os vetores de entrada de maneira apropriada.

O treinamento Back-Propagation pode conduzir a um erro mínimo local ao invés de global. O erro mínimo local achado pode ser satisfatório, mas se não é, uma rede com mais neurônios poderá fazer um trabalho melhor. O número de neurônios ou camadas adequados não é de determinação simples. Pode-se usar diferentes conjuntos de soluções iniciais na procura de uma melhor solução para o problema.

Redes feed-forward (alimentação progressiva) com várias camadas podem ser criadas e treinadas com o algoritmo de treinamento Back-Propagation. Estas redes usam frequentemente a função de transferência sigmoidal. Esta função gera saídas entre "0" e "1" para as entradas variando de (-, +).

Para exemplificar este tipo de rede considere-se um problema com 2 vetores de entrada e suas respectivas saídas :

X = - 3,0 T = 0,4

2,0 0,9

Aqui novamente o erro pode ser plotado conforme as Figuras 3.g (a) e 3.g (b). A rede convergiu (erro = 0,00092) após 36 iterações, sendo que os valores encontrados para o peso e bias foram : w = 0,3350 ; = 0,5497.

Figura 3.g. Exemplo de uma Rede de Múltiplas Camadas : a. Erro da Rede;
b. Caminho para achar a solução

Em uma rede do tipo feed-forward, existem três tipos de unidades de processamento, conforme Figura 3.h : de entrada, de saída e escondidas. As unidades de entrada recebem sinais do meio ambiente, as unidades de saída enviam sinais para o meio ambiente e as unidades escondidas são unidades que não interagem diretamente com o ambiente, daí sua denominação, mas auxiliam no ajuste dos pesos da rede.

Figura 3h. Uma Rede de Múltiplas Camadas, com os elementos e funções definidas no texto

O comportamento de cada unidade da rede pode ser modelado por funções matemáticas simples. Conforme a RN ilustrada na Figura 3.h, cuja topologia se enquadra no problema em questão de classificação dicotômica (apenas uma unidade de saída é necessária), uma unidade i recebe os sinais de entrada e os agrega baseado em uma função de entrada :

(3.6.1) ip,i = j wij xp,j + i , p = 1, ..., (m+k)

i = 1, ..., k*

j = 1, ..., n

onde ip,i é a entrada da unidade i para o padrão p (sabe-se que o número total de padrões é igual a m+k); i é o número de unidades na camada escondida; wij é a conexão peso entre as unidades i e j ; xp,j são as entradas (coordenadas) do padrão p e i são as biases das unidades i.

Esta função de entrada gera um sinal de saída, ap,i, para o padrão p, utilizando a função de transferência sigmoidal :

(3.6.2) ap,i = 1 / (1 + e-ip,i )

Estes sinais de saída são então enviados para a única unidade da camada h, que os agrega em :

(3.6.3) ip,h = i whi ap,i + h , h = 1

gerando a saída :

(3.6.4) ap,h = 1 / (1 + e-ip,h)

As funções utilizadas, contínuas e diferenciáveis, foram sugeridas por Rumelhart, 1986.

É o vetor de pesos W que constitui o que a rede neural "sabe" e determina como ela responderá a qualquer entrada arbitrária do meio ambiente. Em geral, é muito difícil designar um W apropriado para a tarefa de classificação. Uma solução geral é fazer com que a rede aprenda treinando-a com padrões.

O algoritmo de aprendizagem Back-Propagation pocurará, através do espaço de W, um conjunto de pesos oferecendo o melhor ajuste para os pesos apresentados no início do processo. Este algoritmo consiste de duas fases : propagação forward e propagação backward.

Na propagação forward os p = (m + k) padrões descritos por suas coordenadas xp,j , alimentam a rede conforme as equações de (3.6.1) a (3.6.4) anteriormente descritas. O valor de saída obtido para o padrão p, ap,h, é comparado com o valor de saída desejado para o padrão p, dp, calculando-se o erro quadrático :

(3.6.5) E = p=1,(m+k) (dp - ap,h)2 / 2

O objetivo é minimizar E ajustando W de tal modo que todos os vetores de entrada sejam corretamente mapeados em suas correspondentes saídas. Então, o processo de aprendizagem pode ser visto como um problema de minimização com função objetivo E definida no espaço de W.

A segunda fase, a propagação backward, que envolve as equações (3.6.6) a (3.6.9), a seguir, executa um gradiente descendente em W para localizar a solução ótima. A direção e magnitude wij pode ser calculada :

a. Variação em whi's :

pwhi = - Ep / whi

onde = taxa de aprendizagem, 0 < < 1.

mas, Ep / whi = - (dp - ap,h) [(e-ip,h ap,i) / (1 + e-ip,h)2]

Ep / whi = [- 1/(1 + e-ip,h)] [(e-ip,h)/(1 + e-ip,h)] [ap,i (dp - ap,h)]

Ep / whi = - ap,h (1 - ap,h) ap,i (dp - ap,h)

então

pwhi = ap,h (1 - ap,h) ap,i (dp - ap,h)

Considerando na variação dos pesos para o padrão atual t a troca de pesos obtida para o padrão anterior (t - 1) a fim de alcançar o mínimo mais rapidamente :

(3.6.6) pwhi (t) = ap,h (1 - ap,h) ap,i (dp - ap,h) + pwhi (t - 1)

onde = constante que determina o efeito na troca de pesos em (t - 1). Então, os pesos entre a camada escondida e a camada de saída, em t, podem ser determinados fazendo-se :

(3.6.7) whi (t) = whi (t - 1) + pwhi (t)

b. Variação em wij's :

pwij = - Ep / wij

p wij = - (dp - ap,h) [(- (- e-ip,h)ip,h / wij ) / (1 + e-ip,h)2]

mas, ip,h / wij = whi api / wij

ap,i / wij = (e-ip,i ip,i / wij ) / (1 + e-ip,i)2

ip,i / wij = xp,j

então, fazendo-se as devidas substituições, tem-se :

ap,i / wij = e-ip,i xp,j / (1 + e-ip,i)2

ip,h / wij = whi [(e-ip,i xp,j / (1 + e-ip,i)2]

logo,

pwij = (dp - ap,h) [e-ip,h / (1 + e-ip,h)2] whi [(e-ip,i xp,j) / (1 + e-ip,i)2]

pwij = (dp - ap,h) ap,h (1 - ap,h) whi ap,i (1 - ap,i) xp,j

Considerando na variação dos pesos para o padrão atual t a troca de pesos obtidapara o padrão anterior (t - 1) tem-se :

(3.6.8) pwij (t) = (dp - ap,j) ap,h (1 - ap,h) whi ap,i (1 - ap,i) xp,j + pwij (t - 1)

Então, os pesos entre a camada de entrada e a camada escondida, em t, podem ser determinados fazendo-se :

(3.6.9) wij(t) = wij(t - 1) + pwij (t)

3.6.8 Definição do Modelo, Topologia e Parâmetros da RN a serem considerados na implementação computacional

Neste tópico, algumas questões são levantadas :

1. "Quantas camadas de neurônios deverá conter a RN ? Quantos neurônios cada camada deverá conter ?"

Ao se conceber uma RN há dois parâmetros iniciais a serem definidos : o número de camadas de neurônios que ela deverá ter, bem como o número de neurônios em cada camada. Como já visto nos tópicos anteriores, redes com apenas duas camadas apresentam utilidade muito limitada.

A figura 3i mostra como o aumento do número de camadas de neurônios melhora o desempenho das Redes Neurais. Sua capacidade de aprendizado aumenta, o que se traduz na melhoria da precisão com que ela delimita as regiões de decisão.

Figura 3i. Performance de uma RN conforme o número de camadas [Gorni, 1993]

Neste trabalho, optou-se por utilizar três camadas : de entrada, apenas uma camada escondida e a camada de saída, tomando por base o teorema de Kolmogorov [Hecht-Nielsen, 1991], que afirma que uma RN, com apenas uma camada oculta, pode calcular uma função arbitrária qualquer a partir dos dados fornecidos.

Com relação ao número de neurônios de cada camada, fixou-se para a camada de entrada um número de neurônios igual ao número de variáveis a serem fornecidas à rede. A camada de saída utiliza um neurônio para cada item de classificação. Tratando-se de uma classificação binária, "1" ou "0", basta ter-se apenas um neurônio na camada de saída. Após o treinamento da rede, padrões cujas saídas estiverem contidas no intervalo [0.5 , 1] são tratadas como tendo resposta "1" e no intervalo [0 , 0.5), como resposta "0".

Contudo, o uso de representação binária na camada de saída aumenta a carga de trabalho da camada oculta, obrigando a um aumento do número de neurônios dessa camada. O maior desafio no dimensionamento de uma RN é a escolha correta do número de neurônios das camadas ocultas. Existem vários critérios para a escolha do número ótimo de neurônios das camadas ocultas tais como os de Hecht-Nielsen/Kolmogorov, Kudricky, Lippmann [Gorni, 1993] entre outros. Quanto mais complexo for o relacionamento entre as variáveis de entrada e de saída, maior deverá ser o número de neurônios da camada oculta.

Para topologia da RN optou-se por no máximo uma camada escondida com i unidades, onde 0 i k*. O número ótimo de neurônios i para esta camada escondida é determinado durante a execução do programa, da seguinte forma : começa-se com i = 0, ou seja, caso em que não se tem camada oculta e verifica-se o número de padrões classificados corretamente quando o processo de aprendizagem converge. Prossegue-se com i = 1, ou seja, a camada escondida contém um neurônio e verifica-se o número de padrões classificados corretamente quando o processo de aprendizagem converge e assim continua-se até i = k*. Destas k* tentativas escolhe-se para i, aquela que classificou o maior número de padrões corretamente, que denota-se por i*.

Tam, 1992, trabalhando com 118 vetores com 19 entradas, optou por uma topologia sem camada oculta e também por uma camada oculta com 10 neurônios e, como esperado, os resultados se apresentaram melhores para a segunda opção.

2. "Que valores os parâmetros (taxa de aprendizagem) e (momento), contidos no algoritmo Back-Propagation devem assumir ?"

Alguns autores sugerem que a taxa de aprendizagem da RN, definida por um coeficiente de aprendizado , deve ser alta no início do treinamento e declinar gradativamente à medida que ele evolui [Gorni, 1993]. Isto deve proporcionar rapidez na convergência do treinamento, estabilidade e resistência ao aparecimento de mínimos locais.

O procedimento de aprendizagem precisa que a troca de pesos seja proporcional a Ep / w. O algoritmo do gradiente descendente precisa que passos infinitesimais sejam tomados. Para propósitos práticos escolhe-se uma taxa de aprendizagem que seja tão grande quanto possível sem levar a oscilações. Uma maneira de evitar oscilação é fazer a troca nos pesos depender da troca de pesos passadas adicionando o termo momento, conforme já colocados nas equações (3.6.6) e (3.6.8). A importância do termo momento é mostrada na Figura 3.j. Quando o termo momento é acrescentado e a taxa de aprendizagem é pequena, leva bastante tempo para o mínimo ser alcançado (trajetória "a"); quando o termo momento não é considerado e a taxa de aprendizagem é alta, o mínimo nunca é alcançado porque ocorrem oscilações (trajetória "b"); e finalmente, quando a taxa de aprendizagem é alta, mas o termo momento é considerado, o mínimo é alcançado rapidamente (trajetória "c").

Tam et al, 1992, optou por uma taxa de aprendizagem fixa durante o processo de aprendizagem, = 0.7, e um valor para o momento também fixo, = 0.5. Hyakin, 1994, enfatiza a necessidade da taxa de aprendizagem e a constante momento estarem no intervalo (0,1).

Neste trabalho optou-se por utilizar valores iguais para os parâmetros e no decorrer do ajuste dos pesos da RN. Seus valores são inicializados em 0.8 e ajustados de acordo com a performance da rede quanto a classificação. Diminuem sempre que a performance melhora e aumentam em caso contrário.

Figura 3.j. Performance de uma RN conforme a taxa de aprendizagem e o termo momento

3. "Quais são os valores adotados para W no início do processo de aprendizagem ao se utilizar o algoritmo Back-Propagation ?"

Diferentes pesos conduzem a resultados diferentes, ou seja, conjuntos de pesos diferentes podem conduzir a mínimos locais diferentes ou ao mínimo global.

Cinco diferentes conjuntos de pesos foram gerados e cinco diferentes execuções foram feitas para cada modelo de RN em Tam et al, 1992.

No presente trabalho, optou-se em tomar o seguinte procedimento : Os pesos, W, para cada das topologias 0 i k*, são arbitrários, variando no intervalo (-1, 1). Todo o processo é repetido para r conjuntos de pesos diferentes. Registra-se a situação que para a topologia com i* unidades e com um conjunto de pesos W apresentar melhor performance, ou seja, maior número de padrões classificados corretamente.

4. "A atualização dos pesos é feita após a apresentação de cada padrão ou após a apresentação dos (m + k) padrões ?"

Embora, teoricamente, o algoritmo Back-Propagation execute o gradiente descendente sobre o erro total somente se os pesos são ajustados depois que o conjunto completo dos padrões de aprendizado foi apresentado, é mais frequente a regra de aprendizado aplicada a cada padrão separadamente, isto é, o padrão p é aplicado, e Ep é calculado, e os pesos são atualizados. Existe uma indicação empírica que isto resulta em convergência mais rápida [Krose et al, 1993]. Tam et al, 1992, faz a atualização dos pesos após a apresentação completa dos padrões.

Na implementação computacional deste método, W é atualizado a cada padrão.

5. "Qual seria a regra de parada para o algoritmo Back-Propagation ?"

Como regra de parada para uma rede com número de neurônios i na camada escondida, 0 i k*, e conjunto de pesos W, a implementação computacional considera as seguintes possibilidades :

a. A performance da RN apresenta 0% de erro, ou seja, os (m + k) padrões estão sendo corretamente mapeados em suas saídas. W é registrado e o processo é finalizado.

b. A RN com i neurônios na camada escondida apresenta uma variação de erro entre 2 iterações consecutivas menor do que um valor . Se todas as topologias, 0 i k*, já tiverem sido exploradas, então toma-se W, da topologia com i neurônios, que tiver apresentado maior percentagem de acerto, i*. Repete-se este processo para os r conjuntos de pesos, obtendo-se r valores para i*. Entre os r conjuntos de pesos, escolhe-se o conjunto de pesos W, correspondente a i*, que classifique o maior número de padrões corretamente, finalizando o processo.

6. "Quais seriam as observações adicionais para a aplicação desta técnica ?"

Deve-se efetuar a apresentação dos dados (padrões) em ordem aleatória à RN durante a sua fase de treinamento. A cada iteração na aplicação do algoritmo Back-Propagation é recomendável fazer um sortimento nos (m + k) padrões, ou seja, a cada iteração o sequenciamento com que os (m + k) padrões são apresentados para a RN é modificado.

O dimensionamento da RN deve ser feito criteriosamente, efetuando-se testes com várias topologias (ou arquiteturas). Deve-se evitar uma RN super-dimensionada assim como uma RN sub-dimensionada, ou seja, com um número excessivo ou escasso de neurônios, respectivamente .

Um coeficiente de aprendizado inicial muito alto, dados com magnitude incompatível com a função de ativação dos neurônios ou uma rede mal dimensionada [Hadjiprocopis, 1993] podem fazer com que não haja convergência já na fase de treinamento.

O Fluxograma 3.1 apresenta um esquema do procedimento adotado para a implementação computacional desta técnica. Uma ilustração geométrica para o exemplo do R2, com i = 0, encontra-se na Figura 3.6.