CNM

O Modelo Neural Combinatório (CNM) é um modelo híbrido, neural e simbólico, com o qual se deseja obter os benefícios das características específicas de cada um. O foco deste programa é usar o CNM como uma ferramenta para descoberta de conhecimento, focando problemas relevantes de classificação, tais como diagnósticos, triagem médica, detecção de fraudes, detecção de falhas, etc.

O modelo neural combinatório é composto por um conjunto de neurônios conectados formando uma rede que representa o encadeamento de funções lógicas, de acordo com uma topologia pré-definida. Os neurônios são interligados por arcos que podem ser vistos como sinapses aos quais são associados um peso sináptico ajustável e um acumulador para armazenar o suporte da evidência correspondente encontrada no arquivo de treinamento.

O processamento efetuado pelos neurônios é muito simples, podendo ser representado pelas operações lógicas AND e OR. O valor de saída do neurônio (entre zero e um), é calculado pelo operador mínimo para as células AND (representando a conjunção dos fluxos evidenciais) ou pelo operador máximo para as células OR (representando competição entre elas).

O CNM é representado por um grafo acíclico onde os nós representam neurônios e os arcos representam sinapses entre os neurônios. O modelo possui uma estrutura em três camadas: camada de entrada, camada combinatória ou escondida e camada de saída. O CNM é utilizado como um formalismo para tarefas de classificação, isto é, dada uma instância contendo as evidências disponíveis, a mesma é associada a uma classe dentre um conjunto pré-determinado de opções. Os neurônios da camada de entrada representam conceitos (modelados por valores discretos ou simbólicos) que modelam as evidências a serem inseridas no modelo na forma de objeto-atributo-valor. A informação de entrada é apresentada ao sistema com um grau de crença que pode corresponder a um valor lógico (verdadeiro ou falso) ou fuzzy (difuso ou nebuloso), variando entre zero (não conectado) e um (totalmente conectado). Este valor pode ser interpretado como o grau de aceitação do conceito representado por aquele neurônio. O papel da camada de entrada é apenas repassar os valores de entrada para as camadas superiores. A camada combinatória é formada por neurônios combinatórios, que implementam a operação lógica AND, cada um se conectando a dois ou mais neurônios da camada de entrada. Não existem neurônios combinatórios para combinações de tamanho um, pois neste caso o neurônio de entrada se liga diretamente ao neurônio de saída. A camada de saída é composta por neurônios que representam os valores possíveis associados a uma única variável de saída (classe). O valor desses neurônios é calculado através da operação OR. Esta camada contém um neurônio para cada valor (classe) possível da variável de saída. Cada arco entre um neurônio de entrada ou combinatório e um neurônio de saída possui um peso associado. As regras são extraídas diretamente da arquitetura a partir de cada combinação ligada a determinada hipótese, já que cada combinação agrega diferentes evidências de entrada para aquela hipótese. Por exemplo, a combinação C2 permite a extração da regra “Se x1 e x2 Então y1”.

 

Topologia de três camadas do CNM.

Fonte [MAC 89]

Sinapses podem ser do tipo excitatórias ou inibitórias e são caracterizadas por um peso w entre 0 e 1. As sinapses excitatórias agem diretamente no sinal de entrada (x), gerando um fluxo evidencial do arco, que é o sinal de saída transmitido pela sinapse (w.x). As sinapses inibitórias operam sobre o sinal de entrada negado, implementado como o complemento de 1 do sinal de entrada (w. (1– x)). Na maioria das aplicações práticas as hipóteses se baseiam na ocorrência de condições positivas e, portanto, lida fundamentalmente com sinais de entrada positivos.