CAPITULO 3

CLASSIFICAÇÃO DE PADRÕES E REDES NEURONAIS ARTIFICIAIS

Neste capítulo apresentamos alguns pontos relacionados a classificação de padrões e a tecnologia de redes neuronais artificiais. A classificação de padrões na década de 60 e 70 era suportada basicamente pela estatística Bayesiana paramétrica. Com o ressurgimento da tecnologia de redes neuronais, novas pesquisas tem aparecido na área de classificação de padrões. Muita atenção está sendo dada em aplicações de reconhecimento de voz, visão, robótica e aplicações de inteligência artificial onde respostas em tempo-real com dados complexos do mundo-real são necessários. Muita da pesquisa em nesta área é motivada pelo desejo de entender e projetar rede neuronal paralela classificadora inspirada pela rede neuronal biológica, pela necessidade de adicionar aprendizado em aplicações de inteligência artificial, por técnicas de projeto do VLSI (Very Large-Scale Integration) e pela disponibilidade de computadores seriais paralelos de alta velocidade com grande quantidade de poder de processamento e memória. Isto tem contribuído para o desenvolvimento de classificadores não-paramétricos, adaptatívos, robustos que podem ser implementados em hardware paralelo. Redes neuronais artificiais tem-se mostrado bastante eficiente em tarefas de classificação de padrões, principalmente porque elas imitam, ou pelo menos tentam imitar, o raciocínio humano usado para resolver problemas.

3.1 - Raciocínio Artificial

O trabalho da mente humana é ainda um mistério para o homem. A mente é tão poderosa que pode resolver uma grande variedade de problemas relacionados ao pensar, falar, relembrar, sentir e aprender. Este dispositivo poderoso do ser humano tem surpreendido e inspirado muitos cientistas a tentar modelar suas operações. Na mente, um neurônio é a unidade celular principal do sistema nervoso. Cada neurônio recebe e combina sinais de muitos outros neurônios e produz sinais para o axiônio conduzir certas ações. Neurocomputação tem emergido desta inspiração.

Trabalhos em redes neuronais artificiais tem se inspirado na maneira como a mente processa suas tarefas, pela cognição usada, que segue um caminho totalmente diferente do computador digital convencional. O trabalho pioneiro de Ramón y Cajál em 1911 introduziu a idéia de neurônios como constituintes estruturais da mente, isto colaborou imensamente para o entendimento da mente (Haykin, 1994). Conforme Shepherd (1990) é estimado na ordem de 10 bilhões o número de neurônios no córtex humano e 60 trilhões de sinapses ou conexões, valores estes que contribuem para que esta rede que é a mente seja uma estrutura altamente eficiente. Estima-se a eficiência energética da mente na ordem de 10-16 joules (J) por operação por segundo, enquanto que o correspondente valor para os melhores computadores em uso hoje é na ordem de 10-6 joules por operação por segundo (Haykin, 1994).

A mente é um sistema de processamento de informação altamente complexo, não-linear fazendo cálculos em paralelo. A estrutura da mente e a capacidade de organizar seus neurônios torna possível o ser humano fazer certas tarefas, tais como reconhecimento de padrões, percepção e controle motor, muitas vezes mais rápidamente do que o mais rápido computador digital existente hoje.

Os neurônios são conectados por estruturas elementares e unidades funcionais que servem de intermediário para as interações entre os neurônios. Estas estruturas chamadas sinapses basicamente atuam através de reações químicas que operam como segue. Uma substância transmissora que propaga através das junções sinápticas entre os neurônios é liberada durante o processo, que parte do processo pré-sináptico e então age como um processo pós-sináptico. Neste sentido, este processo sináptico pode ser entendido como uma conversão, ou seja, a sinapse converte um sinal elétrico pré-sináptico em um sinal químico e depois retorna a um sinal elétrico pós-sináptico (Shepherd, 1990). Dispositivos com tal característica, na terminologia elétrica é dito ser um dispositivo de duas portas não-recíproco. Na descrição tradicional da organização neuronal, é assumido que a sinapse é uma simples conexão que pode impor uma excitação ou inibição, mas não ambas, no neurônio receptivo.

Em uma mente adulta, plasticidade é seguido por dois mecanismos: um em que se baseia na criação de novas conexões sinápticas entre neurônios e o outro na modificação das sinapses existentes. Os Axiônios que são as linhas de transmissão entre os neurônios e os dendritos que são as zonas receptivas, constituem dois tipos de filamentos morfológicamente diferentes das células. Um axiônio tem uma superfície lisa, poucos ramos, e grande comprimento, enquanto um dendrito tem uma superfície irregular e muitos ramos. As forma e o tamanho dos neurônios pode variar em diferentes partes da mente. A Figura 3.1 ilustra a forma de uma célula piramidal, que é um dos tipos mais comum de neurônio cortical. Assim como outros tipos de neurônios, eles recebem muita de suas entradas através da coluna dendritica. A célula piramidal pode receber 10000 ou mais contatos sinápticos e eles podem se projetar em milhares de outras células.

Da mesma forma que plasticidade parece ser essencial para o funcionamento dos neurônios, como unidades de processamento de informação na mente humana, assim também acontece com redes neuronais feitas de neurônios artificiais. Conforme Haykin (1994), "em sua forma mais geral, uma rede neuronal é uma máquina que é projetada para modelar um caminho em que a mente realiza uma determinada tarefa ou função de interesse; uma rede geralmente é implementada usando componentes eletrônicos ou simulada em softwares em um computador digital". Desta maneira, nosso interesse é essencialmente para uma importante classe de redes neuronais que representam cálculos através de um processo de aprendizagem. Para melhorar seu potencial, redes neuronais empregam uma interconexão massiva de unidades de processamento ou neurônios.

Figura 3.1 - A forma da célula piramidal ( Haykin, 1994).

Haykin apresenta a seguinte definição para uma rede neuronal quando vista como uma máquina adaptativa:

"Uma rede neuronal é um processador distribuído massivamente em paralelo que tem a propensão natural para armazenar conhecimentos experimentais e torná-los disponíveis para uso. Parece-se com a mente em dois aspectos:

  1. Conhecimento é adquirido pela rede através do processo de aprendizagen.
  2. Os pesos das conexões entre neurônios, conhecido como sinapses, são usados para armazenar o conhecimento"

O procedimento usado para representar o processo de aprendizagem, comumente chamado algoritmo de aprendizagem, tem a função de modificar os pesos das conexões da rede buscando alcançar um objetivo inicial projetado. Redes neuronais são também referenciados na literatura como neurocomputers, redes coneccionistas, processadores distribuídos em paralelo, etc.

3.2 - Breve Histórico De Redes Neuronais Artificiais

O interesse em redes neuronais data do início da década de 1940, com o trabalho pioneiro de McCulloch e Pitts (Haykin, 1994). Warren McCulloch foi um psiquiatra e neuroanatomista por treinamento que estudou por 20 anos a representação de um evento no sistema nervoso. Walter Pitts foi um prodígio matemático, que juntou-se a McCulloch em 1942 e em 1943 escreveram um artigo que tornou-se clássico, e recebeu muita atenção da comunidade que estudava o modelo do neurônio. Um grupo da Universidade de Chicago, sob a liderança de Rashevsky, vinha estudando o neurônio pelo menos 5 anos antes da publicação do artigo (Haykin, 1994). Depois, em 1949, Hebb sugeriu um método para que os parâmetros do modelo do neurônio de McCulloch-Pitts pudesse se auto-ajustar. Estes primeiros estudos das redes neuronais biológicas formaram os fundamentos do que se tornou conhecido como redes neuronais artificiais (RNAs).

Durante a metade da década de 1950 e início de 1960, uma classe de assim chamadas "learning machines" originada por Rosenblatt causaram significante excitação entre pesquisadores da teoria de reconhecimento de padrões, principalmente pela apresentação em seu trabalho no perceptrons. Em 1960 , Widrow e Hoff introduziram o algoritmo "Least Mean Square" (LMS), conhecido como mínimos quadrados, que usaram para formular o Adaline (elemento linear adaptativo). A principal diferença entre o "perceptron", apresentado por Rosemblatt, e o Adaline de Widrow situa-se no procedimento de treinamento. Widrow e seus estudantes propuseram uma das primeiras redes neuronais com camadas treináveis com multiplos elementos adaptativos, que foi chamada de Madaline (multiplo Adaline) (Haykin, 1994). Após a apresentação do perceptron em 1960, acreditava-se que redes neuronais (perceptrons) poderiam fazer qualquer coisa, ou seja, resolver qualquer problema. Então, um livro de Minsky e Papert foi publicado, onde os autores usaram uma elegante matemática para demonstrar que existiam limites para o perceptron com apenas uma camada intermediaria, sendo que o mesmo não poderia nem mesmo resolver o simples problema do "ou exclusivo" (XOR).

Após a publicação do livro de Minsky e Papert, das limitações quanto a computadores e estações de trabalhos para conduzir experimentos, e também, por não haver suporte financeiro para conduzir projetos nesta área, as pesquisas com redes neuronais ficaram esquecidas pelo menos até o início de 1980. Alguns estudos iniciaram nesta década aparecendo trabalhos em mapas auto-organizativos (conhecidos como self-organizing maps") que usam aprendizado competitivo. Já em 1980, várias contribuições apareceram e também a retomada de interesse e algum apoio em redes neuronais.

Grossberg apresentou em 1980 um trabalho inicial em aprendizado competitivo estabelecendo um novo princípio de auto-organização que usando filtro adaptativo "botton-up". Após alguns estudos, Grossberg apresentou uma nova classe de redes neuronais conhecida como teoria da ressonância adaptativa (ART) (Grossberg, 1982).

Hopfield em 1982, usou a idéia de uma função de energia para formular uma nova maneira de entender os cálculos feitos pelas redes recorrentes com conexões de sinapse simétricas (Hopfield, 1982). Esta particular classe de redes neuronais com feedback atraiu grande atenção nos anos 80, e com o tempo tornou-se conhecida como redes de Hopfield. No mesmo ano de 1982, Kohonen (1982) publicou um artigo no qual utilizava mapas auto-organizativos como uma estrutura uni- ou bi-dimensional, que foi diferente em alguns aspectos do primeiro trabalho de Willshaw e von der Malsburg que também usaram aprendizado competitivo (Rumelhart, 1985).

Certamente o algoritmo de aprendizagem mais popular até então foi o "backpropagation", desenvolvido por Rumelhart, Hinton e Willian em 1986. Esta popularidade se deu, principalmente após a publicação de um livro de dois volumes, Processamento Paralelo Distribuído: Explorações na Microestrutura do Conhecimento, escrito por Rumelhart e McClelland. O "backpropagation" é utilizado basicamente para treinar o perceptron multi-camadas. Segundo alguns autores o "backpropagation" foi desenvolvido independentemente em dois lugares praticamente no mesmo tempo (Haykin, 1994). Sómente após uma década que a comunidade científica tomou conhecimento da These de Ph.D. de Werbos, realizada em Harvard em Agosto de 1974, que propôs um algorítmo para o cálculo do gradiente de modo reverso. Este algorítmo foi aplicado para modelos de redes gerais podendo ser aplicado em redes neuronais como um caso especial.

Em 1988, Broomhead e Lowe descreveram um procedimento para o projeto de uma rede neuronal (feedforward) usando funções de base radial, conhecida como na literatura com "radial basis function" (RBF), que proporcionou um perceptron alternativo. Bashkirov, Braverman e Muchnick em 1964 desenvolveram um método de funções potenciais, a idéia básica da RBF lembra bastante o esta método (Haykin, 1994). O livro clássico, Classificação de Padrões e Análise de Cenas, escrito por Duda e Hart em 1973, apresenta uma descrição do método de funções potenciais é apresentado. Broomhead e Lowe deram sua contribuição ligando o projeto de redes neuronais com uma importante área em análise numérica e também filtros adaptativos lineares. Um trabalho suplementar apareceu em 1990 com Poggio e Girosi, que enriqueceram a teoria de redes RBF aplicando a teoria da regularização de Tikhonov (Poggio, 1990).

3.3 - Treinamento e Teste

Na tarefa de classificação de padrões o objetivo é atribuir padrões de entrada para uma classe, dentre um número finito M de classes. Os padrões de entrada podem ser dinâmicos ou estáticos. Os padrões de entrada estáticos são os mais comuns que consistem de vetores de entrada x contendo N elementos ou números reais de valores contínuos denotados por x1, x2, ..., xN. Em nossa pesquisa, trabalharemos com padrões de entradas onde os elementos representam medidas das características selecionadas do objeto em estudo (no caso os cromossomos) para ser possível distinguir os objetos em cada classe. Segundo Lippmann (1989) "Padrões de entrada podem ser vistos como pontos em um espaço multidimensional definido pelas medidas das características de entrada. O propósito de um classificador de padrões é a partição deste espaço multidimensional em regiões de decisão que indiquem qual das classes a entrada pertence".

A seleção de características efetivas que devem ser medidas separadamente para cada domínio do problema é o primeiro passo na aplicação de um classificador de padrões. A eficiência do classificador está diretamente ligada a escolha das características que irão representar o objeto em estudo. Uma vez que estas características serão responsáveis pelas informações que irão distinguir entre as classes, algumas propriedades são requeridas como ser insencitivas a irrelevantes variações nas entradas e ser limitada em número para permitir computação eficiente das funções discriminantes e também limitar a quantia de dados de treinamento requerido. Lippmann (1989) comenta que "Uma boa performance de classificação requer seleção de características efetivas e também seleção de um classificador que possa fazer bom uso destas características com dados de treinamento, memoria e poder computacional limitado".

Uma vez extraída as características que serão usadas segue-se para a fase de treinamento e testes. Na fase de treinamento, uma quantia limitada de dados de treinamento e conhecimento a priori com respeito ao domínio do problema é usado para ajustar parâmetros e/ou aprender a estrutura do classificador. Durante a fase de teste, o classificador projetado na fase de treinamento é avaliado com os dados de teste para prover uma decisão de classificação para cada padrão de entrada. Parâmetros de classificação e/ou estrutura podem então ser adaptados para tomar vantagem de novos dados de treinamento ou para compensar as entradas não-estacionárias, variações em componentes internos ou falhas internas. Deve ser notado que cada nova avaliação requer novos dados de teste.

É importante notar que dados de teste nunca serão usados para estimar parâmetros do classificador ou para determinar estrutura do classificador. Isto produziria uma estimativa otimista da taxa de erro real. Dados de teste devem ser usados somente para testar a generalização de um classificador, definido como a taxa de erro nos padrões de entrada nunca vistos antes. Esta taxa de erro pode estar relacionado aos erros do Tipo I e Tipo II. O erro do Tipo I seria rejeitar um padrão de uma determinada classe quando ele realmente pertence aquela classe, já o erro do Tipo II seria aceitar um padrão falso como pertencente a uma classe.

Caso os dados de teste sejam usados para selecionar a melhor performance do classificador ou a estrutura apropriada de um tipo de classificador, isto invalidará o uso destes dados para medir a generalização. As características usadas no classificador devem ser extraídas automaticamente sem atribuições, segmentação ou registros pela mão, isto mascararia os resultados. Os eventuais erros causados por processos automáticos de extração devem ser permitidos para afetarem os parâmetros de entrada como eles ocorreriam em aplicações práticas onde extensivo manuseio dos dados normalmente é impossível. Conforme Lippmann (1989) "infelizmente estes procedimentos simples, restrigindo o uso dos dados de teste e limitando o manuseio dos mesmos, e também outros princípios práticos na condução de classificação, freqüentemente são quebrados por pesquisadores de reconhecimento de padrões".

Para treinar redes neuroanis para classificação ou algorítmos de "clustering" mais de uma maneira pode ser seguida. O treinamento pode ser supervisionado, não-supervisionado ou não-supervisionado/supervisionado combinado. Classificadores treinados com supervisão requerem dados com informação sobre as classes a que pertence cada um dos padrões de treinamento. Aprincipal característica do treinamento não-supervisionado é o desenvolvimento do aprendizado sem a supervisão de um professor para indicar a correta classe a que cada padrão de entrada pertence. Este tipo de aprendizagem se aplica principalmente em situações onde a informação a respeito das classes dos padrões não é disponível durante o treinamento. Uma combinação dos métodos de treinamento anteriores definem o treinamento combinado. Tipicamente primeiro usa-se o treinamento não-supervisionado com dados sem rótulo para formar "clusters" internos. Os rótulos são então atribuídos para os "clusters" e localizações dos centros dos clusters, e os tamanhos são as vezes alterados usando uma pequena quantia de dados de treinamento supervisionado. Em algumas situações defini-se uma arquitetura que utiliza aprendizado supervisionado para a representação inicial das classes de treinamento conhecidas a priori e durante a fase de uso da rede novas classes são adicionadas ao sistema através de aprendizado não-supervisionado.

3.4 - A Taxonomia Das Redes Neuronais Classificadoras

Para que haja o processo de classificação de padrões é necessário que exista o mapeamento dos padrões de entrada em um espaço de classificação. Este espaço de classificação é definido por regiões de decisão que separam os padrões, atribuindo cada padrão em uma classe que estabelecidas pelas fronteiras ou regiões de decisão. Nesta seção, apresenta-se uma taxonomia de classificadores, baseada no trabalho de Lippmann (1989), que os classificadores em quatro grupos baseado na definição de funções discriminantes que definem as regras de decisão. Os quatro grupos são apresentados na Figura 3.2. Na primeira coluna da figura mostra-se o grupo do classificador, a segunda coluna as regiões de decisão que são formadas, a terceira coluna apresenta a computação de baixo-nível executada pelos nodos ou elementos de cálculo nas redes adaptativas, e a última coluna apresenta alguns classificadores mais representativos dentro de cada grupo.

3.4.1 - Classificadores Probabilísticos

O primeiro grupo, os classificadores probabilísticos, se fundamenta numa rigorosa base probabilística assumindo que a estrutura e distribuição dos dados no espaço do problema são bem conhecidas a priori (caracterizam classes por sua função densidade de probabilidade no espaço de entrada). Os parâmetros da distribuição são tipicamente estimados usando treinamento supervisionado onde se supõe que todos os dados de treinamento estão disponíveis simultaneamente. A construção dos classificadores se baseia na conversão da probabilidade a priori das classes dos padrões de treinamento em medidas de probabilidade condicionada a posteriori de um dado padrão pertencer a uma dada classe de treinamento.

3.4.2 - Classificadores De Hiperplano

As funções discriminantes usadas nos classificadores de hiperplano são capazes de formar regiões de decisão complexas que usam nós para formar hiperplanos como fronteiras de decisão no espaço de entradas transformado. A transformação do espaço de entradas é feita sobre nós formados por uma soma ponderada das entradas e que passam esta soma através da não-linearidade da sigmoide ou tangente hiperbólica como mostrado na Figura 3.2. Na maioria das vezes estes classificadores tem requerimentos de memória e computacionais baixos durante a classificação, mas podem requerer longo tempo de treinamento e/ou algorítmos complexos de treinamento (Lippmann, 1989). O Perceptron multi-camadas treinado com o "Backpropagation", máquinas de Boltzmann, classificadores de árvores binárias, redes de alta-ordem que formam polinomiais de alta-ordem de entradas e redes de alta-ordem resultante do uso de algorítmos do Group Method of Data Handling -GMDH são alguns exemplos de classificadores de hiperplanos.

Figura 3.2 - Os 4 grupos dos classificadores básicos (Lippmann, 1989)

3.4.3 - Classificadores De Kernel

Assim como nos classificadores de hiperplano, também nos classificadores de Kernel existe uma transformação do espaço de entradas para um espaço maior. Os classificadores de Kernel criam regiões de decisão complexas baseados nos campos receptivos formados pelos nodos de função-kernel. Nodos do espaço transformado são saídas proporcionadas pela função-kernel na qual ocorre uma saída mais forte quando a entrada está mais próxima de um centro do nodo. Os campos receptivos são centros (centróides) que fazem com que a saída do nodo j da função-kernel, denotado por yj = fk(|| x - mj ||/ h); onde fk é uma função-kernel, || .|| pode ser a norma Euclidiana, mj é o vetor representando o centro do nodo j, e h é o parâmetro livre que determina a largura (raio) da função kernel. Esta equação pode ser visualizada como a função de Gauss, ou função sino, que tem o valor alto quando a entrada está próxima do centro do nodo. A medida que a entrada se distância do centro de um nodo seu vaor de saída decresce monotonicamente. O raio de atuação de cada campo receptrivo está intimamente ligado ao parâmetro h que determina a região de influência de cada nodo e a quantia de alizamento. As decisões de classificação são baseadas nos nodos com maior saída que são formados pelas somas ponderadas das saídas dos nodos da função-kernel.

O treinamento dos classificadores de kernel são relativamente rápidos, principalmente quando se utiliza treinamento não supervisionado para a determinação dos centros. Estes classificadores tem requerimentos de memória e de computação intermediários, quando comparados aos de hiperplanos. Os centros dos nodos da função-kernel podem ser selecionados randomicamente dos exemplares de treinamento, através de algorítmos clustering com ou sem supervisão. Segundo Lippamnn (19889) "classificadores de kernel incluem classificadores convencionais que estimam funções de distribuição de probabilidade que usam a abordagem de "Parzen Window" ou distribuições mistas, e classificadores que formam funções discriminantes usando funções kernel. Redes neuronais classificadoras de kernel incluem abordagens baseadas em mapas que usam matrizes de nodos que calculam funções kernel, classificadores baseados no Cerebellar Model Articulation Controller - CMAC, e classificadores que usam o método das funções potenciais, as vezes chamadas classificadores de funções de base radial".

3.4.4 - Classificador De Exemplares

Esta categoria de classificadores se baseia na distância entre os padrões de entrada e exemplares, ou exemplos treinados previamente. A idéia é atribuir os padrões de entrada para os exemplares mais próximos calculados por alguma métrica. A métrica mais comum é a euclidiana ponderada que é usada para medir a distância entre as entradas e os centróides que representam exemplares previamente selecionados durante o treinamento. O treinamento empregado geralemente é o combinado não-supervisionado/supervisionado. As classes dos classificadores "k-nearest neighbor" que são associados com a maioria dos k nodos exemplares com as k menores distâncias formam as fronteiras de decisão do classificador. Esta categoria de classificadores requerem grandes quantidades de memória e tempo de computação, porém treinam rápido. Alguns dos classificadores de exemplares são: "k-nearest neighbor", o classificador de mapa-de-características, o "Learning Vector Quantizer" (LVQ), o classificador "Restricted Coulomb Energy" (RCE), os classificadores da Teoria da Ressonância Adaptativa (ART), os classificadores que usam "raciocínio baseado-na-memória" e os classificadores que usam interpolação linear local.

Existe diferença na estrutura e na filosofia de cada um dos classificadores que compõem os quatro grupos, porém eles proporcionam taxas de erro similares (Lippmann, 1989). Para cada problema existe um classificador ideal, a questão é identificar este classificador. Na maioria das vezes a opção da escolha está relacionada a quantidade de dados disponíveis para se trabalhar, a origem dos dados, o tipo de características empregadas e as restrições de máquiina para implementação.

3.5 - O Modelo do Neurônio

O modelo de McCulloch-Pitts para um neurônio biológico consiste de muitas entradas, correspondente aos dentritos conectados através das junções sinápticas. O modelo é descrito por:

         (3.1)

onde xi = entradas, i = 0, 1, 2, ..., N,

xo = viés = 1,

wi = pesos variáveis.

Neste modelo, xo é usado para produzir um viés para a função de ativação f(.). McCulloch e Pitts não desenvolveram nenhum método através do qual o neurônio pudesse adaptar seus pesos em um processo de "aprendizagem". Em 1949, Hebb postulou uma fórmula matemática simples para mudar os pesos dos neurônios em proporção para as ativações do neurônio:

       i = 0, 1, 2, ..., N             (3.2)

onde x representa o vetor de (N+1) entradas e m é o parâmetro de aprendizado.

A figura 3.3 ilustra o modelo de neurônio de McCulloch-Pitts usado largamente em diferentes paradigmas de RNAs.

Figura 3.3 - O neurônio de McCulloch-Pitts (Haykin, 1994).

3.6 - O Perceptron

Em 1958 Rosenblatt demonstrou algumas aplicações práticas usando o perceptron. O perceptron é um neurônio de McCulloch-Pitts de um simples nível de conexão. O perceptron é capaz de separar linearmente vetores de entrada em classes de padrões através de hiperplanos.

A Figura 3.4 mostra o perceptron de N-entradas e M-classes (saídas). Este perceptron pode ser descrito por:

     i=1, 2, ..., M              (3.3)

onde a função f(x) = 1(x), a função de passo unitário.

Figura 3.4 - Perceptron de uma camada simples (Haikin, 1994).

Rosemblatt derivou a regra de aprendizado baseado no ajuste do peso na proporção do entre os neuronios de saida e as saidas desejadas. O ajustamento dos pesos são dados por:

                       (3.2)

onde i=1, 2, ..., M,    j=1, 2, ..., N, e yd é vetor saída desejada.

O perceptron representou um passo maior na aplicação de RNAs, porém, ainda muitos problemas não podem ser resolvidos com o perceptron com uma única camada.

3.7 - O Perceptron Multi-Camadas

As capacidades do perceptron de uma simples camada é limitada a fronteiras de decisão linear e funções lógicas simples. O perceptron de camada simples não pode resolver o problema simples do XOR. Isto levou ao desenvolvimento do perceptron multi-camadas (MLP), que em geral, consiste de uma camada de entradas, uma ou mais camadas intermediárias (escondidas) e uma camada de saída. A Figura 3.5 ilustra um perceptron de três camadas. O MLP sobrepõe muitas das limitações do perceptron de camada simples.

Além da função de ativação hard-limiting, outra função não-linear também são empregadas, tais como a sigmoid, a tangent hiperbólica, etc.

Função Sigmoide:                      

Função Tangente Hiperbólica:      

Usando o perceptron em paralelo em estrutura de cascata, fronteiras de decião mais complexas e funções Booleanas podem ser modeladas. Contudo, muitas diferentes estruturas de redes neuronais podem ser usadas para modelar e mapear. Achar a estrutura ótima que produza os melhores resultados não é uma tarefa fácil. Portanto, existem regras e algorítmos para achar uma estrutura apropriada (Haykin, 1994).

Figura 3.5 - Perceptron com três camadas (Haykin, 1994).


O algoritmo "backpropagation" é geralmente usado para treinar o MLP. O algorítmo de treinamento BP emprega um método interativo do gradiente-descendente que minimiza o erro médio quadrado entre a saída desejada e a saída da rede, geralmente mencionado como função de energia. O procedimento do algorítmo BP é apresentado na Tabela 3.1 em 10 passos.

Tabela 3.1 - Algoritmo Backpropagation (Hush, 1993).

3.8 - Rede Neuronal Artificial Com Função De Base Radial

Broomhead e Lowe em 1988 estão entre os primeiros a explorar o uso de RBF no projeto de RNA (Haykin, 1994), com contribuições de Moody e Darken (Moody, 1989), Renal em 1989 e Poggio e Girosi (Poggio, 1990). A construção de uma RBF em sua forma mais básica envolve três camadas, conforme mostra a Figura 3.6, cujos nodos de saída formam uma combinação linear das funções de base radial (kernel) calculados pelos nodos da camada escondida. As funções de base radial na camada escondida produzem uma resposta localizada para o estímulo (padrão) de entrada. Isto é, eles produzem uma resposta significativamente diferente de zero somente quando o padrão de entrada está dentro de uma região pequena localizada no espaço de entradas. Por esta razão esta categoria de rede algumas vezes é referenciada na literatura como redes de campos receptivos localizados (Hush, 1993). A entrada (input) é feita dos nodos fontes (unidades sensoriais). Cada função de ativação requer um "centro" e um parâmetro escalar. Uma função que pode ser utilizada como ativação é a função de Gauss, sendo que esta rede pode ser usada para tomar decisões de máxima verossimilhança, determinando qual dos vários centros é mais similar com o vetor de entrada.

Dado um vetor de entrada , a saída de um nodo simples será

          (4.3.1)

onde, por exemplo, a função pode ser tomada como

         (4.3.2)

Os valores ,  j=[1,n], são usados da mesma maneira que na distribuição de probabilidade normal para determinar a dispersão escalar em cada direção. Uma outra variação comum nas funções bases é aumentar sua funcionalidade usando a distância de Mahalanobis na função Gaussiana. A equação anterior torna-se:

         (4.3.3)

onde K-1 é a inversa da matriz co-variância de X associada com o nodo da camada escondida C.

Figura 3.6 - Estrutura Básica da Radial Basis Function

Dados n-vetores (dados de entrada) de p-exemplares, representando p-classes (24 classes dos cromossomos), a rede pode ser iniciada com conhecimento dos centros (localizações dos exemplares). Se representa o j-ésimo vetor exemplar, então pode-se definir a matriz peso C como:

         (4.3.4)

tal que os pesos na camada escondida do nodo j são compostos do vetor "centro" .

A camada de saída é uma soma ponderada das saídas da camada escondida. Quando apresentando um vetor de entrada para rede, a rede implementa

         (4.3.5)

onde  f  representa o vetor de saída funcional da camada escondida, e C o correspondente vetor centro. Fornecido alguns dados com respostas desejadas, os pesos W podem ser determinados usando-se o algoritmo de treinamento LMS interativamente ou não-interativamente, como técnicas do gradiente descendente e pseudo inversa, respectivamente.

O aprendizado na camada intermediária é executado usando um método não-supervisionado, tipicamente um algorítmo de "cluster", um algorítmo de "cluster" heurístico, ou um algoritmo supervisionado para achar os centros (nodos C na camada escondida). O algorítmo mais comum usado para determinar os centros (que são as conexões entre a camada de entrada e a camada intermediária) é o algoritmo de Lloyd ou K-means (Hush, 1993) que está sumarizado na Tabela 3.2. Em alguns estudos também foram utilizados aprendizado supervisionado das localizações dos centros e aprendizado auto-organizativo dos centros, como apresentados nos trabalhos de (Lee, 1991; Wettschereck, 1992), ou ainda o algorítmo dos mínimos quadrados ortogonais (OLS) desenvolvido por Chen, Cowan e Grant em 1990 (Chen et al, 1990).

Uma forma simples para determinar o parâmetro de variação  para as funções de Gauss é colocá-los igual a distância média entre todos os dados de treinamento

         (3.4.6)

onde  é o conjunto de padrões de treinamento agrupados no centro do cluster Cj, e Mj é o número de padrões em .

Uma outra maneira de escolher o parâmetro  é calcular as distâncias entre os centros em cada dimensão e usar alguma porcentagem desta distância para o fator de escala. Neste sentido, o algorítmo "p-nearest nerghbor" tem sido usado.

Tabela 3.2 - Algoritmo de "cluster K-means" (Hush, 1993).

Comparação da RBF e Perceptron multi-camadas

Tanto a RBF quanto a MLP são exemplos de redes neuronais (feedforward) não-lineares. Ambas são aproximadores universais, sendo sempre possível uma RBF ser capaz de precisamente imitar uma específica MLP, ou vice-versa (Haykin, 1990). Contudo, estas duas redes diferem uma da outra em alguns importantes aspectos, como:

  1. Um RBF (na sua forma mais básica) tem apenas uma simples camada intermediária, enquanto uma MLP pode ter uma ou mais camadas intermediárias.
  2. Os cálculos feitos nos nodos de uma MLP localizados na camada intermediária ou na camada de saída, dividem um modelo de neurônio comum. Por outro lado, o cáculo dos nodos na camada escondida de uma RBF são bastante diferentes e servem de diferente propósito dos daqueles na camada de saída da rede.
  3. A camada intermediária na RBF é não linear, enquanto que a camada de saída é linear. Já na MLP, usada como um classificador, as camadas intermediária e de saída são geralmente não-linear; contudo, quando a MLP é usada para resolver problemas de regressão não-linear, uma camada linear na saída é geralmente a escolhida.
  4. A RBF utiliza a distância Euclidiana entre o vetor de entrada e o centro de cada unidade na camada intermediária como função de ativiação, enquanto que a MLP faz o cálculo utilizando o produto interno do vetor de entrada e o vetor peso sináptico daquela unidade.
  5. O MLP no processo de treinamento é na maioria das vezes lento, sendo que os requerimentos de memória são pequenos e o tempo de classificação é rápido. Por sua vez, a RBF no processo de treinamento é rápido eo requerimento de memória é relativamento alto com tempo de classificação médio.
  6. Ambas as redes estimam a probabilidade Bayesiana a posteriori.
  7. Finalmente, o MLP constrõe aproximadores globais para mapas de entrada-saída não linear. Consequentemente, eles são capazes da generalização em regiões do espaço de entrada onde pouco ou nenhum dado de treinamento estão disponíveis. Por outro lado, RBF usando não-linearidade local com descrescimo exponencial, como é o caso da função de Gauss, constrõe aproximações locais para mapas de entrada-saída não lineares. Neste sentido, as RBF são capazes de aprender mais rápido e tem sensibilidade reduzida com respeito a ordem de apresentação dos dados de treinamento.

3.9 - Porque Usar Rede Neuronal Artificial

As razões que nos levaram a estudar a aplicação e uso de uma abordagem de RNA para classificação de cromossomos são: (1) uma RNA tem a capacidade intrínsica de aprender de dados de entrada e generalizar; (2) a rede é não-paramétrica e faz suposições mais delicadas a respeito da distribuição dos dados de entrada do que métodos estatísticos tradicionais (Bayesiano); e (3) uma RNA é capaz de formar fronteiras de decisão altamente não-lineares no espaço de características. Além disto, estes atributos não são únicos para as RNA usadas para classificação (Haykin, 1994).

Algumas propriedades úteis de RNAs incluem:

O Perceptron multi-camadas foi usado por Errington em seu trabalho de pesquisa para classificação de cromossomos (Errington, 1993). Errington demonstrou que seguindo um procedimento de treinamento rigoroso, rede neuronal (MLP) tem uma performance favorável, quanto a taxa de erros de classificação, quando comparada com bem desenvolvidos classificadores paramétricos. A única dificuldade com a MLP treinada com o BP é o tempo que leva para treinar a rede. Desde que a classificação de cromossomos toma grandes conjuntos de dados com espaço de entrada e saída com alta dimensão, treinar uma BP tomaria muitas horas de tempo computacional. Além disso, em alguns casos a convergência pode não ser alcançada devido a natureza do processo de treinamento do BP (Sweeney Jr, 1993).

Para projetar uma RNA uma variedade de caminhos diferentes podem ser seguidos (Haykin, 1994). O algorítmo "backpropagation" para o projeto de um MLP (sobre supervisão) pode ser visto como a aplicação de um método de otimização conhecido na estatística como aproximação estocástica. Uma abordagem diferente visualizando o projeto de uma RNA como um problema de aproximação pode ser o de achar a melhor curva (curve-fitting) em uma espaço de alta-dimenção. Conforme este ponto de vista, o aprendizado é equivalente a achar uma superfície em um espaço multidimensional proporcionado pela melhor adaptação dos dados de treinamento, com o critério da "melhor adaptação" sendo medido por algum método estatístico. Correspondentemente, a generalização é equivalente ao uso desta superfície multi-dimencional para interpolar os dados de teste. Esta é a abordagem utilizada em RBF, que foi inicialmente introduzida na solução do problemas de interpolação multivariada real.

Estes foram alguns dos motivos motivaram ao estudo e aplicação da RBF para a classificação de cromossomos humanos. Isto sem falar da facilidade de implementação e entendimento da estrutura do algorítmo da RBF.