A distância nebulosa proposta em [Lowen and Peeters, 1998], foi definida para o cálculo da distância entre dois conjuntos nebulosos. Em [Campos et al., 2001] (trabalho descrito na seção 3.4), propusemos a utilização dessa medida de distância como função critério para realizar seleção de características utilizando o método de busca proposto em [Pudil et al., 1994] (SFSM). Em aplicações práticas, como reconhecimento de pessoas, usualmente há mais de duas classes (mais de duas pessoas a serem reconhecidas). Por isso, é necessário criar uma solução para o fato de que uma distância só pode ser medida entre dois elementos. Conforme mencionado anteriormente, uma solução possível é calcular o ínfimo das distância entre todos os pares de conjuntos, conforme a seguinte equação:
De acordo com o que foi discutido na seção 3.4.5, a complexidade de tempo para calcular-se
é de
, sendo, no pior caso, , e, no melhor caso, , em que é o número total de padrões no conjunto de treinamento composto por duas classes. Suponhamos que cada classe possua padrões de treinamento.
Para implementar a equação 5.1, é necessário calcular vezes a distância
, o que resulta em uma complexidade de
(5.2) | |||
(5.3) |
Como os algoritmos de busca para seleção de características avaliam, através da função critério, muitos conjuntos de características para chegarem ao resultado final, é necessário que essa seja o mais eficiente possível. Para implementar uma função critério eficiente, com as mesmas propriedades que a função proposta na seção 3.4 para problemas com mais de duas classes, propusemos uma função critério baseada na seguinte diferença local:
Note que essa equação é bastante semelhante à 3.36, com a diferença de que deve ser calculado o ínfimo da diferença entre os graus de pertinência de todos os padrões de todas as classes que estão na bola
. Assim, a função critério fica:
Conforme o método que utilizamos para efetuar a fuzzificação (vide seção 3.4.3),
se
. Por isso, para implementar a diferença local da equação 5.4, pode ser empregado um algoritmo praticamente idêntico ao algoritmo DIFERENÇALOCAL (vide seção 3.4.5). A diferença é que o número de padrões que pode ser incluído em uma bola
pode ser maior, pois é possível ocorrerem casos em que, em uma mesma bola, haja padrões de mais de duas classes.
Supondo novamente que cada classe possui padrões de treinamento, temos que há um total de padrões no espaço de características.
Com isso, a complexidade desse algoritmo é da ordem de:
(5.6) | |||
(5.7) |
Assim, no melhor caso, ou seja, quando cada bola contiver apenas elementos de até duas classes diferentes, a complexidade dessa função critério será de .
No entanto, no pior caso, quando todas as bolas utilizadas no cálculo da diferença local englobam padrões de todas as classes existentes no espaço de características, a complexidade da função critério da equação 5.5 será de:
(5.8) | |||
(5.9) |
Considerando que todas as classes possuem distribuições aproximadamente isotrópicas, pode-se verificar que a função (com a diferença local da equação 5.4) possui propriedades semelhantes a todas as que foram descritas na seção 3.4.6. Os mesmos efeitos que ocorrem na diferença e na distância em relação à compacidade, distância entre os protótipos e tamanho da bola são esperados para a diferença local para a função . Obviamente, deve-se considerar que há vários protótipos e várias classes de padrões (ao invés de 2), e que todas as classes possuem o comportamento mencionado. Pode-se mostrar que todas prováveis relações entre os resultados de para as possibilidades mostradas na página também são válidas para . Obviamente, devemos lembrar que aquelas relações ocorrem com 2 classes. A generalização dessas propriedades para classes é válida para a função . Por exemplo, os casos 3.(a) e 3.(b) ocorrem na função quanto algumas classes possuem compacidade grande e outras possuem compacidade pequena.