• Nenhum resultado encontrado

MÉTODOS DE ANÁLISE DE COMPONENTES PRINCIPAIS

3.3 ANÁLISE NÃO LINEAR DE COMPONENTES PRINCIPAIS

,..., 1

(i= p , é uma série temporal contendo n observações. O PCA é obtido pela combinação linear de x , a série temporal u, e um vetor a associado: i

) ( * ) (t a X t u = (1) e então >> − <<|| X(t) au(t)||2 (2) é minimizado (<< ... >> denota uma amostra ou série temporal). A variável u, chamada de primeiro componente principal (primeiro PC), é uma série temporal, enquanto a, o primeiro autovetor da matriz de covariança dos dados, descreve um padrão espacial de variação. A partir do resíduo, Xau, pode-se repetir o processo para obtenção do segundo PC, e assim consecutivamente para os padrões de mais alta ordem (HSIEH, 2001b).

3.3 ANÁLISE NÃO LINEAR DE COMPONENTES PRINCIPAIS

Para o método PCA deve-se considerar uma limitação em sua análise quando utilizado em conjuntos de dados que se caracterizam por possuírem uma relação não linear na variabilidade das variáveis envolvidas. Por utilizar uma combinação linear nos dados o PCA

acaba por inserir uma simplificação não desejada na análise. Visando suprir essa limitação Kramer (1991) introduziu um método de extração de componentes não lineares para solução de problemas que apresentassem um conjunto de dados com características não lineares de variação.

Um conjunto de dados com variabilidade não linear se caracteriza por possuir uma distribuição característica não linear no espaço das imagens. Por exemplo, na figura 9 percebe-se que os dados aglomeram-se em determinada região do espaço, o que possibilita uma redução de suas dimensões extraindo-se os n primeiros componentes principais. Porém, devido à característica não linear de variabilidade dos dados, fica claro que componentes principais lineares acabam por inserir uma simplificação na análise, como mostrado na figura 10 (conjunto de dados com o primeiro PC extraído pelo PCA).

Figura 9: Nuvem de pontos que exemplifica uma amostra temporal de um fenômeno observado através de 3 variáveis, com relação de variabilidade não linear entre elas.

Com o advento das Redes Neurais Artificiais (RNA), sendo esta uma ferramenta de análise estatística não linear para estimação de funções (HASSOUN, 1995), tornou-se possível uma generalização do método PCA para executar uma análise não linear de conjuntos de dados com a presença de variações não lineares.

Kramer (1991) introduziu o método NLPCA (Nonlinear Principal Components

Analysis), implementando esta solução usando uma rede neural feed-forward. Tal rede é

composta por 5 camadas com a presença de uma camada central composta de apenas um neurônio denominada camada de gargalo, conforme ilustrado na figura 11.

Figura 10: O primeiro PC extraídos pelo método PCA do conjunto de dados apresentado na figura 9.

Figura 11: Rede NLPCA apresentada por Kramer (1991) em seu trabalho.

Assim, a limitação imposta pelo método PCA é tratada pelo NLPCA. Se o conjunto de dados apresenta um comportamento conforme a figura 9, aplicando-se o NLPCA é possível extrair curvas como componentes principais. Nota-se na figura 12 que o componente não linear extraído pelo NLPCA representa melhor a interdependência das variáveis envolvidas no problema, comprovando uma melhoria na análise em comparação a análise realizada pelo PCA. Aqui, o primeiro componente não linear explica 92% da variabilidade presente nos dados ao invés dos 72% obtidos pelo PCA, ou seja, grande parte da variabilidade do conjunto é explicada pelo primeiro componente não linear capturado pelo NLPCA.

Figura 12: Primeiro componente principal não linear capturado pelo NLPCA.

3.3.1 Redes Neurais Artificiais e NLPCA (Nonlinear Principal Components Analysis)

O método NLPCA é baseado na utilização de uma rede neural artificial (RNA) autoassociativa, multicamadas, com a presença de uma camada de gargalo (KRAMER, 1991; MALTHOUSE, 1998; MONAHAN, 2000; HSIEH, 2001b), como ilustrado na figura 11.

Existem na literatura implementações e propostas de redes neurais artificiais com diferentes topologias, modos de propagação, métodos de atualização de pesos e treinamento, maiores detalhes em (FREEMAN; SKAPURA, 1992). As RNAs usadas no método NLPCA são compostas por camadas sucessivas de neurônios conectados entre si, através de ponderações numéricas (pesos).

Na figura 13 é apresentado um neurônio padrão, caracterizando melhor a sua estrutura. Os neurônios são elementos de processamento (PE – Process Element) que recebem um conjunto de entradas a fim de fornecer uma saída apropriada. Esta saída é obtida através da ponderação das entradas apresentadas, submetidas a uma função de tomada de decisão, conhecida como função de ativação. As ponderações associadas a cada entrada são valores numéricos denominados pesos, que amplificam ou atenuam os sinais propagados através da rede (HAYKIN, 1994).

Os neurônios da rede podem possuir funções de ativação não lineares, como a função sigmoidal ou a tangente hiperbólica. Assim, torna-se possível um mapeamento não linear relacionando as entradas recebidas pela rede à saída fornecida pela mesma.

Figura 13: Neurônio padrão de uma RNA.

O processo de escolha de pesos adequados, conhecido como aprendizado da rede, conduz ao correto comportamento do sistema, desejado na sua concepção, ou seja, os pesos da rede são atualizados durante o treinamento, objetivando que os valores desejados na camada de saída sejam obtidos. Para tanto é necessário que o número de amostras usadas no treinamento, no pior caso, seja semelhante ao número de parâmetros da rede (pesos + polarizador bias), sendo que quanto maior o conjunto de amostras, melhor é o resultado do treinamento. Em redes como a da figura 11, usada no NLPCA, o número de parâmetros é dado por:

2pm+4m+p (3)

onde p é o número de neurônios das camadas de entrada e saída, e m é o número de neurônios das camadas escondidas 2 e 4. Quando o número de entradas recebidas pela rede, e conseqüentemente de neurônios nas camadas de entrada e saída, é muito elevado, há um aumento excessivo do número de parâmetros (pesos + polarizadores), obrigando que o conjunto de amostras usadas no treinamento seja, no mínimo, igualmente numeroso, sob pena de saturação da RNA durante o treinamento, ou seja, convergência para resultados não satisfatórios.

A rede NLPCA de 5 camadas tem p nós na camada de entrada, r nós na camada de gargalo e p nós na camada de saída, conforme a figura 14, com r<p. Assim sendo, a rede NLPCA permite a compressão/redução de um conjunto de dados porque uma vez apresentada uma entrada à rede, essa deve fornecer como resposta nos seus neurônios de saída a mesma entrada (autoassociação). E essa entrada, em um espaço p-dimensional, deve passar pela camada de gargalo, isto é, mapeada para o espaço r-dimensional (r<p) antes de reproduzir a saída. Uma vez que a rede foi treinada, os valores de ativação do neurônio da camada de gargalo fornecem o componente principal não linear dos dados (NLPC) (KRAMER, 1991).

Seja f :ℜp →ℜr a função modelada pelas camadas 1, 2 e 3; e s:ℜr →ℜp a função modelada pelas camadas 3, 4 e 5. Usando esta notação, ao apresentar n imagens (série temporal de imagens) à rede, os pesos na rede NLPCA são determinados sob o objetivo de minimizar a seguinte função:

=n l l l X X 1 '|| || min (4) onde ' l

X é a saída da rede para cada imagem X apresentada. A Equação 1 é agora l

generalizada para:

) (X

f

u= (5) onde f pode ser uma função não linear denotada pelo mapeamento feito pela RNA, da camada de entrada à camada de gargalo, e ao invés da equação 2, || '||

l l X

X − é minimizado pelas funções de mapeamento da RNA. Assim, Xl' =s(u), onde s é a função que mapeia os dados da camada de gargalo para a camada de saída, e sobre o resíduo || '||

l l X

X − , pode ser repetido o mesmo processo para a extração do segundo componente principal não linear, e assim para quaisquer componentes de menor ordem (MONAHAN, 2000).

Para executar o NLPCA, a RNA usualmente é formada por 3 camadas de neurônios denominadas camadas escondidas, que ficam dispostas entre a camada de entrada e a camada de saída, conforme a figura 14. A camada central é denominada camada de gargalo. A camada escondida, que está entre a camada de entrada e o gargalo, é denominada camada de codificação. A camada escondida que está entre o gargalo e a camada de saída é denominada camada de decodificação. Ambas camadas escondidas possuem neurônios com funções de ativação não lineares, enquanto os neurônios das camadas de entrada, gargalo e saída, possuem a função identidade, ou linear, como função de ativação. Devido a isso, a RNA modela uma composição de funções.

Figura 14: Rede NLPCA explicitando-se as camadas de neurônios presentes. 3.3.2 Limitações do NLPCA

Uma das limitações do NLPCA é a presença de mínimos locais na superfície da equação 4. Assim, otimizações dessa equação 4, realizadas através da atualização dos pesos na RNA, freqüentemente convergem para mínimos diferentes, tornando o método instável. Umas das técnicas usadas para superar esse problema é a realização da análise do mesmo conjunto de dados a partir de vários pontos iniciais, o que é feito através da geração de vários conjuntos de pesos aleatórios para a rede neural artificial. Ao final das análises apenas o conjunto que apresentou o menor erro é considerado.

Outro recurso empregado é o uso de uma função penalidade associada aos pesos da rede neural (HSIEH, 2001b). Essa técnica visa limitar a capacidade não linear do NLPCA. Por vezes uma sensibilidade excessiva as não linearidades encontradas nos dados analisados tornam o método instável. Essa limitação é imposta adicionando-se um segundo termo a equação 4 que deve ser minimizada na análise, como segue:

) ) ( || || min( 1 1 2 ) 2 ( ' = = + − n l m i i l l X p W X (6)

, onde p é o parâmetro de penalidade, W(2) é o conjunto de pesos da camada 2, e m é o número de neurônios dessa camada. Um valor alto de p aumenta a concavidade da função e força W(2) assumir valores pequenos em magnitude. De acordo com a função de ativação utilizada, a magnitude dos pesos pode produzir um ou outro resultado. Na função tangente hiperbólica, um peso w muito pequeno faz com que tanh(wx)≈wx, tornando a função praticamente

linear. Com a função sigmoidal, da mesma forma, valores de pesos grandes em magnitude fazem com que a função se torne constante, caracterizando um comportamento não linear. Desse modo, valores baixos para p fazem com que o NLPCA se torne mais estável. Valores de p em torno de 1 são indicados (HSIEH, 2001b), mas esse ajuste deve variar de acordo com as funções de ativação utilizada e com os dados analisados.

Ainda sobre o NLPCA, convém salientar alguns trabalhos, como o apresentado por Malthouse et al. (1995) onde o método é relacionado com a análise das curvas principais e o artigo apresentado por Malthouse (1998) no qual são citadas algumas de suas limitações. No trabalho feito por Newbigging et al. (2003) são propostos dois aprimoramentos ao NLPCA: uma nova função de projeção para o mapeamento dos dados em relação à curva não linear (componente principal), visando aumentar a explicação da variação do conjunto de dados, e uma re-parametrização desta curva.

Na etapa de implementação, foram averiguados trabalhos e algoritmos para otimização do aprendizado em RNAs (algoritmos de minimização de funções), como aqueles apresentados por Bortoletti et al. (2003) e por Byrd et al. (1994). Esses algoritmos são propostas para melhorar a execução do algoritmo BFGS

(Broyden-Fletcher-Goldfarb-Shanno), um algoritmo muito popular e amplamente utilizado para otimização multidimensional de funções. O BFGS foi utilizado na implementação do método NLPCA, conforme apresentado por Press et al. (1990).

Alguns recursos aplicados na implementação do método NLPCA foram empregados com o objetivo de aumentar a estabilidade de análise, como a utilização de uma função custo associada ao erro quadrático médio (MSE) das RNAs e o uso de uma função penalidade associada aos pesos da rede (HSIEH, 2001b; HSIEH, 2001a).

Documentos relacionados