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.
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.
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:
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.
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).
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.
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.
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.
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.
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".
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.
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.
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.
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.
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.
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.
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.
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:
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.