Caracterização, Visualização e Classificação na Manutenção Preditiva † ‡ Paulo M. Oliveira*, Victor Lobo*, Victor Barroso , Fernando Moura Pires † *Escola Naval, Departamento AEL, Alfeite, 2800 Almada ([email protected]) Instituto Superior Técnico ISR/DEEC, Torre Norte, Piso 7, Av. Rov. Pais, P-1096 Lisboa Codex ([email protected]) ‡ Departamento de Informática, FCT – UNL, 2825-114 Caparica ([email protected]) ABSTRACTO Nos últimos anos, tem havido um incremento considerável no esforço de investigação relacionado com a manutenção preditiva. Com efeito, a necessidade crescente de optimização do esforço de manutenção tem vindo a aumentar o interesse em conseguir criar mecanismos automáticos de análise de condição. No entanto, nem sempre se torna claro qual o parâmetro (ou parâmetros) que, estando acessíveis ao observador exterior, conseguem, de modo consistente e fiável, indicar (ou caracterizar) a existência de falhas potenciais no sistema. Neste artigo pretendemos abordar, de forma não exaustiva, algumas metodologias de abordagem que podem ser utilizadas. Serão abordados os algoritmos de processamento que têm vindo a ser, ultimamente, preferidos, com ênfase particular nos mecanismos de extracção de características espectrais. Serão apresentados exemplos recentes e ilustrativos do desempenho que esses tipos de abordagem nos poderão fornecer. I - INTRODUÇÃO O conceito de manutenção preditiva tem-se vindo a afirmar como uma das ideias base de suporte ao sempre crescente esforço de racionalização e optimização do esforço de manutenção. Como conceito, é extremamente simples. Tudo se resume à utilização de observáveis externas que possam não só caracterizar o estado interno de um equipamento, mas também prever a sua tendência de evolução. Conseguir-se-á assim evitar acções de manutenção desnecessárias e/ou contraproducentes, minimizando simultaneamente a probabilidade de avaria por falta de manutenção. Como ferramenta de trabalho, porém, as dificuldades são bem maiores. O maior problema reside, claro, na identificação (ou na própria inexistência) dos tão desejados “observáveis externos representativos do estado interno”. Haverá, em cada caso particular, características mensuráveis, acessíveis externamente, e suficientemente representativas do estado que se pretende conhecer e/ou da evolução de estado que se pretende prever? Se não houver, o problema será simples: não será possível fazer manutenção preditiva. Mas assumindo que esses observáveis existem, como é que os identificamos? Caso a caso? Haverá tipos de abordagem suficientemente genéricos para funcionarem em todos os casos? A resposta é, claro, sim e não. Sim, deveremos fazer a análise caso a caso, e não, não há métodos genéricos de abordagem que funcionem em todos os casos. Há, porém, métodos de abordagem que se têm vindo a revelar eficazes em certos tipos de situação. Um deles é o da análise de vibrações. Falar em análise de vibrações tem sido, em grande parte, falar de análise espectral, ainda que a relação entre estes dois campos não seja directa. Mesmo assumindo (de forma restritiva), que a análise de vibrações implique a análise de movimentos periódicos, ainda assim não é imediato que isso implique análise espectral. Há todo um conjunto de técnicas para análise de periodicidades sem recurso a técnicas espectrais. Mas é de técnicas espectrais que trataremos neste artigo. Numa primeira parte, abordaremos sucintamente as limitações da análise espectral convencional. Passaremos depois a abordar métodos mais recentes que, devido à alteração dos paradigmas fundamentais em que assentam, têm vindo a demonstrar serem capazes de fornecer observáveis externos com rigor e fiabilidade acrescidos. Numa segunda parte, abordaremos o tipo de algoritmos que, baseados nesses observáveis externos, poderão fazer diagnósticos de condição, prognósticos de evolução, ou, na sua versão mais simples, servir de meros auxiliares à decisão humana. II - ANÁLISE ESPECTRAL CONVENCIONAL, E SUAS LIMITAÇÕES Com a expressão análise espectral convencional pretendemos aqui englobar todos os métodos (clássicos e modernos) de análise espectral cujos resultados não contenham o tempo como variável independente. Ou seja, métodos com os quais obtenhamos descrições espectrais dos fenómenos analisados, mas sem indicação dos seus momentos de ocorrência. A análise de Fourier é, claramente, um caso paradigmático desta classe de métodos. Quando fazemos a decomposição de Fourier ( S ( f ) ) do sinal gravado ( s ( t ) ), a variável t (tempo) desaparece da nossa descrição do fenómeno, como se pode facilmente apreciar em (1). S( f ) = ∞ ∫ s(t ) e − j 2πft dt (1) −∞ Este tipo de abordagem tem a enorme vantagem de ser intuitiva, já que consiste, de forma mais ou menos directa (dependendo do método em causa ) na mera decomposição dos sinais recolhidos em funções elementares (exponenciais complexas) que correspondem directamente à noção física do conceito de frequência. Esta vantagem é, porém, também a sua maior fraqueza. Uma exponencial complexa tem uma frequência bem definida, mas não tem início nem fim. Dura para sempre. Determinar quais são as exponenciais que constituem um sinal diz-nos pois quais as frequências que ele contém, mas nada nos diz sobre o momento em que essas frequências ocorreram. Se, por outro lado, permanecermos no domínio do tempo, saberemos quando ocorreram os efeitos registados, mas não teremos informação espectral sobre eles. Parece, pois, que a extracção de informação relativa a um dos domínios nos impede de ter informação sobre o outro, e que não será possível fazê-los coexistir. Para piorar um pouco as coisas, todos os métodos convencionais produzirão valores médios para o período de observação do sinal recolhido. Este efeito é facilmente perceptível, no caso particular da decomposição de Fourier, pela mera existência do integral em (1). O facto de obtermos valores médios para o período de observação tem o efeito perverso de fazer com que a grande maioria dos efeitos transientes não sejam detectados. Um transiente de curta duração, ainda que intenso, em pouco influenciará os valores médios do período de observação. Ou seja: os métodos de análise espectral convencionais não só não nos localizarão temporalmente os transientes, como, ainda para mais, nos dificultarão bastante a sua detecção. Se pretendermos extrair bons observáveis, capazes de servir de base a algoritmos (automáticos ou não) de decisão sobre o estado interno dos equipamentos, necessitaremos de ferramentas mais poderosas, que consigam fornecer informação espectral sem perder, nesse processo, a informação temporal. A busca por este tipo de métodos iniciou-se há já algumas décadas (ver [1]). A primeira aproximação ao problema foi extremamente simples. Se os métodos conhecidos não conseguiam lidar convenientemente com períodos de observação em que o conteúdo espectral dos sinais sofresse alterações, então tudo o que havia a fazer era subdividir o sinal observado em blocos suficientemente pequenos para que, dentro de cada um deles, o conteúdo espectral do sinal fosse aproximadamente constante. Particularizando novamente para o caso da transformada de Fourier, tudo se resume à subdivisão do sinal observado em blocos menores (dentro dos quais se possa considerar o espectro constante), e à obtenção de uma transformada de Fourier para cada um deles. A dinâmica espectral do sinal sob análise estará patente nas diferenças espectrais entre blocos sucessivos. Este procedimento (ainda hoje bastante utilizado) ficou conhecido pelo nome de Short-Time Fourier Transform (STFT). É claro que, quando pretendermos implementar a STFT, teremos uma decisão a tomar: de que tamanho deverão ser os blocos? A resposta não é fácil. Na verdade, para obter a resposta correcta, precisaríamos de conhecer o sinal. Mas conhecer o sinal é precisamente o nosso objectivo. Se utilizarmos blocos demasiados longos, perderemos a capacidade de detectar transientes e outros fenómenos de duração inferior à de um bloco, já que cada bloco será tratado pela transformada de Fourier como tendo um espectro constante. Por outro lado, se, na esperança de detectarmos fenómenos de curta duração, reduzirmos demasiado a duração de cada um dos blocos, então perderemos a capacidade de análise espectral, já que a capacidade de resolução em frequência é inversamente proporcional à duração do bloco em análise. No que respeita a transientes de curta duração, a escolha parece pois estar entre sermos capazes de os detectar mas sem os conseguir analisar devidamente, ou não os detectarmos de todo. III - ANÁLISE TEMPO FREQUÊNCIA Na tentativa de colmatar as insuficiências da STFT, vários métodos têm sido sugeridos, com maior ou menor sucesso. Desses métodos, ir-nos-emos restringir à classe das distribuições bilineares tempofrequência. Estas distribuições conseguem-nos fornecer uma descrição espectral do sinal recolhido num plano bidimensional, cujos eixos são o tempo e a frequência. Ou seja. Ao contrário dos métodos convencionais de análise espectral, estas distribuições conseguem caracterizar a evolução do espectro do sinal ao longo do tempo, lidando facilmente com a existência de dinâmica espectral dentro do bloco em análise. Como exemplo ilustrativo do seu desempenho, veja-se a Figura 1, onde se representa um sinal monocomponente, cuja frequência central varia sinusoidalmente dentro do bloco analisado. forma eficaz, a informação que a distribuição contém. Esses observáveis poderão, depois, ser entregues a um classificador automático. IV - A FUNÇÃO DE AMBIGUIDADE Mas como reduzir o número de observáveis? Escolher apenas alguns dos N2 pontos? Quais? O problema está em que os pontos que identificam um determinado transiente poderão ser diferentes de cada vez que o transiente ocorre, já que basta não termos a imagem do segundo transiente temporalmente alinhada com a imagem do primeiro para que os pontos que caracterizam o transiente sejam diferentes num e noutro caso. Se conseguíssemos o alinhamento temporal das distribuições relativas a um mesmo transiente, poderíamos efectivamente escolher alguns pontos característicos do transiente e, assim, reduzir a dimensionalidade do problema. Obter este alinhamento é normalmente, porém, um problema bem maior do que o nosso problema inicial. A solução para este impasse encontra-se na própria estrutura matemática das distribuições bilineares tempo-frequência ( TF (t , f ) ). Todas estas distribuições podem ser obtidas a partir da seguinte expressão geral [2]: Figura 1 - Distribuição Tempo-Frequência de sinal com dinâmica espectral. Como se vê nesta figura, a distribuição detectou e caracterizou perfeitamente a dinâmica espectral do sinal. Por conseguir evidenciar comportamentos dinâmicos que, com recurso a métodos convencionais de análise espectral, não seriam detectados, estas distribuições conseguirão, potencialmente, produzir mais e melhores observáveis, emprestando uma maior solidez à fase de classificação dos sinais observados, e consequente diagnóstico do estado interno do equipamento. Nem tudo são rosas, porém. Ao utilizar uma destas distribuições, a dimensionalidade do problema aumentou quadraticamente. Se, antes da distribuição, tínhamos, digamos, N pontos observados, a imagem produzida pela distribuição terá N2 pontos. Para qualquer N realista, isto implica um número de pontos com os quais nenhum classificador automático conseguirá lidar. Torna-se, assim, necessário abordar o problema de como extrair, a partir do resultado de uma distribuição tempo-frequência, um número reduzido de observáveis que consigam sumarizar, de TF (t , f ) = ∫ ∫ ∫ Ψ (u , υ , τ ) e j 2π (υu −υt −τf ) dυ du dτ , onde τ τ Ψ (u , υ , τ ) = φ (υ , τ ) s (u + ) s* (u − ), 2 2 os limites de integração são − ∞ e + ∞ , e s * (t ) é o complexo conjugado do sinal em análise. Isto quer dizer que estas distribuições mais não são do que a transformada de Fourier bidimensional duma versão modificada da Função de Ambiguidade, função esta bem conhecida de outros campos, nomeadamente de teoria radar e sonar [3]. Assim, em vez de tentarmos extrair observáveis a partir da distribuição tempo-frequência, podemos, de forma perfeitamente equivalente, extraí-los a partir da função de ambiguidade do sinal recolhido. A vantagem é imediata. Os desalinhamentos temporais no plano tempo-frequência transformam-se, no plano de ambiguidade, em meras diferenças de fase e tornam-se, portanto, em grande medida, irrelevantes. Assim, no plano de ambiguidade, é perfeitamente possível decidir quais os pontos que, de forma óptima, caracterizam e separam as várias classes de transiente que pretendemos detectar. São estes os pontos que devemos entregar ao classificador automático, como sendo os observáveis obtidos. Se, a título de exemplo, apenas usarmos pontos do plano de ambiguidade que estejam no eixo Λ=0, estaremos a caracterizar os transientes apenas pelo seu conteúdo espectral; se usarmos apenas pontos do eixo ϑ=0, estaremos a caracterizar os transientes apenas pelas suas características temporais. Qualquer ponto que não pertença a estes eixos caracterizará o transiente em termos mistos, tanto temporais como espectrais. É assim possível trazer o número de pontos necessários para uma boa detecção/classificação para valores entre os 5 e os 10 pontos apenas. V - VISUALIZAÇÃO Após termos obtido os valores para os parâmetros que caracterizam o sistema temos que decidir o que fazer esses valores. Como veremos mais adiante, é possível ter um classificador automático, que com esses valores é capaz de atribuir um estado ao sistema. No entanto, essa informação pode ser pouco rica para os operadores do sistema que normalmente gostariam de poder, de alguma forma, “ver” o que se está a passar. Por outro lado, o desenho do classificador automático implica um certo conhecimento sobre os dados que só pode ser obtido através de uma análise exploratória desses mesmos dados. Por estas duas razões, os processos de visualização de dados têm uma grande importância, havendo muitos pacotes de software dedicados exclusivamente a “visualização científica de dados”. Para um único parâmetro, a visualização é trivial, pois basta um vulgar manómetro para transmitir ao utilizador toda a informação. Mas, se tivermos muitos parâmetros o elevado número de manómetros tornaria muito difícil a interpretação do todo. Se tivermos 2 ou 3 parâmetros ainda conseguimos representar a informação através de um gráfico a 2 ou 3 dimensões, passando a interpretar os parâmetros recolhidos (que podem ou não ter uma interpretação física imediata como temperatura, frequência instantânea, taxa de variação da frequência, etc) como coordenadas num espaço cartesiano, a que chamamos espaço de características (ou espaço de features). Neste espaço, determinadas zonas estarão associadas a determinadas situações características (bom funcionamento, falta de lubrificação, avaria, etc). A evolução dos parâmetros no tempo define trajectórias do sistema nesse espaço. Essas trajectórias conterão claramente informação relevante sobre a tendência que o sistema está a seguir. Operador pode assim visualizar facilmente a tendência de evolução do sistema. Para mais que três parâmetros, esta solução tornase impraticável. Neste caso, os parâmetros formam T um vector n-dimensional X = [ x1,x2,….,xm] . Um dos modos de visualizar esse vector seria, por exemplo, projectá-lo sobre um espaço bi-dimensional. Mas será que essa projecção contém toda a informação do vector original ? Só em casos muito particulares. Se a dimensão intrínseca dos sistema, ou seja o seu número de graus de liberdade, for de facto 2, é possível fazer um mapeamento para 2 dimensões sem qualquer perda de informação. Há no entanto duas situações possíveis: • Se os pontos definidos pelos vectores de parâmetros estiverem todos sobre uma superfície plana, então os parâmetros que estamos a usar são linearmente dependentes. Neste caso, através de simples manipulações algébricas podemos obter 2 parâmetros (ortogonais entre si) que caracterizam completamente o sistema. • Se os pontos definidos pelos vectores formarem uma superfície curva, então não é possível, no caso geral, fazer uma projecção linear para um plano bi-dimensional. Imaginemos por exemplo a trajectória de um insecto sobre um tapete enrolado. Embora saibamos que é possível mapear essa trajectória sobre um espaço bidimensional (a superfície do tapede), tal não pode ser feito linearmente. De facto os métodos clássicos apenas conseguem fazer mapeamentos não-lineares para casos muito específicos. No entanto, há vários métodos baseados em inteligência artificial que nos permitem fazer esses mapeamentos, como por exemplo os SOM -Self-Organizing Maps, que veremos adiante. Se a dimensão intrínseca do sistema for maior que dois, há que distinguir ainda duas situações: 1. O sistema pode ser aproximado por um sistema de dimensão 2 sem perder demasiada informação. Neste caso, se o sistema for basicamente linear, é possível fazer uma decomposição em componentes principais (por exemplo através de uma transformada de Karhunen-Loéve [4] ). Este caso é fácil de detectar, pois se ao fazer a descomposição em componentes principais verificarmos que duas dessas componentes são de facto muito mais significativas que as outras, então a aproximação é válida. Se o sistema estiver longe de ser linear uma decomposição em componente principais lineares não pode dar bons resultados, e não existem ferramentas matemática para calcular as componentes principais não lineares para um caso genérico. Mais uma vez as técnicas baseadas em inteligência artificial como o SOM conseguem nestes casos fazer mapeamentos aceitáveis. Neurónios do SOM (Espaço de saída ) 2. O sistema não pode ser aproximado por um sistema de dimensão 2 sem cometer erros demasiado grandes. Se a dimensão intrísica do sistema for de facto muito alta, então não é de todo possível fazer um mapeamento global para 2 dimensões. No entanto, é possível aproximar o sistema localmente (ou seja, para pequenas perturbações) através de um mapeamento para duas dimensões. O mapeamento global assim obtido terá descontinuidades, mas continuará a ser útil para fazer a visualização do comportamento do sistema. Este último caso (sistemas de dimensão intrínseca muito elevado) ocorre frequentemente, e por isso têm-se desenvolvido vários métodos de mapeamento não linear de espaços n-dimensionais para espaços bidimensionais. Neste artigo vamo-nos debruçar sobre um desses métodos, os SOM-Self-organzing Maps, também conhecidos como redes neuronais de Kohonen, ou mapas topológicos. SOM Vector dos Parâmetros de entrada (n-dimensional) Figura 2 - Estrutura de um SOM Quando o SOM está treinado para uma dada tarefa, os neurónios que são vizinhos na grelha de saída correspondem a situações parecidas (ou seja correspondem a pontos próximos no espaço de características). Cada vez que lhe apresentamos um vector de parâmetros obtemos um neurónio vencedor, que representa o estado em que o sistema se encontra. Com o evoluir dos parâmetros, outros neurónios passarão a ser vencedores, e a sucessão destes neurónios define uma trajectória no espaço de saída. Se associarmos a determinados neurónios situações bem conhecidas (uma dada avaria, bom funcionamento, etc) podemos ter uma ideia muito razoável do tipo de evolução que está a ocorrer, e tomar as medidas apropriadas (ver Figura 3). Menus Mapa de Classificação Indicador da sitação actual do sistema Um SOM consiste numa grelha n-dimensional (quase sempre bi-dimensional) de neurónios (ver Figura 2). Cada neurónio é composto por um vector de pesos, um somador/multiplicador, e eventualmente uma “etiqueta” que identifica o estado que esse neurónio representa. O valor de saída de um neurónio é o produto interno entre o seu vector de pesos, e o vector de dados que está a ser apresentado à rede. Em vez do produto interno, pode ser usada qualquer medida de distância entre os dois vectores. Chama-se neurónio vencedor, ao neurónio que tiver maior valor de saída. Legenda Figura 3 - Exemplo da visualização de um SOM numa aplicação para MS-Windows desenvolvida pelos autores Como é que se obtém um SOM treinado ? A solução é inicializar os neurónios com valores aleatórios, e passar por uma fase de treino em que se vão apresentando conjuntos de parâmetros para que a rede se ajuste a eles. Á medida que o treino decorre, os neurónios vão-se espalhando pelo espaço de características, indo concentrar-se nas zonas onde a densidade de probabilidade de se encontrar o estado da máquina é maior. O SOM forma como que um “tapete elástico” que é torcido espacialmente, de modo a que qualquer estado do sistema tenha sempre um pedaço de “tapete” por perto, que o representa. A definição formal do algorítmo [5] é a seguinte: Para cada vector de caracterísicas [x1,x2,….,xm] T fazer o seguinte: 1. X Calcular a distância a cada um dos neurónios Wij. Seleccionar o neurónio que estiver mais próximo como neurónio vencedor. Wvencedor = ( Wij : dij = min( dmn) ) 3. VI – CLASSIFICAÇÃO Embora, como acabámos de ver, uma ferramenta de visualização possa ser usada como um classificador, o problema da classificação deve ser abordado com outro tipo de ferramentas. Formalmente, o problema clássico da classificação é descrito da seguinte forma: = dij = || Xk - Wij || 2. estaremos num estado de avaria ou pré-avaria.. No entanto nesse caso já não estamos apenas na presença de um sistema de visualização, mas estamos já na presença de um sistema classificador. Modificar os pesos de cada neurónio de acordo com a regra: Wij = Wij + α h(Wvencedir r,Wij) || Xk – Wij || Onde α é o ritmo de aprendizagem, que tende para 0 ao longo do treino. h(.,.) é a função de vizinhança do neurónio vencedor, que tem um valor alto se o neurónio em causa está perto do vencedor, e baixo em caso contrário. Esta vizinhança também tende para 0 durante o treino. 4. Repetir o processo com outro vector de características até que um dado critério de paragem seja atingido. Depois de ajustados os pesos dos neurónios, teremos de os etiquetar, isto é, atribuir a determinados neurónios certos significados. Para tal vemos quais são os neurónios vencedores para situações que conhecemos bem, e atribuímos a esses neurónios o significado correspondente. Por exemplo, se numa situação de avaria por falta de lubrificação o neurónio vencedor é o que está nas coordenadas (3,4), então esse neurónio passa a ter a “etiqueta” falta_de_lubrificação, e sempre que o neurónio vencedor for esse neurónio, ou um seu vizinho, Dado um vector de m características (features) X = [ x1,x2,….,xm]T pretende-se determinar a qual das c classes c1, c2… cn ele pertence. Se considerarmos que há um erro quando a classe atribuída é diferente da classe real, e se todos os erros tiverem a mesma “gravidade”, então o classificador óptimo, porque minimiza o número de erros, é aquele que maximiza a probabilidade à posteriori P( ci | X ). Se conhecermos perfeitamente a distribuição do vector X para cada classe, ou seja P( X | ci ), e a probabilidade de cada classe, P(ci), então conseguimos encontrar o classificador óptimo, visto que P( ci | X )= P( X | ci ) P(ci) / P(X), e o termo P(X) pode ser eliminado pois é independente da classe. Infelizmente, os pressupostos do classificador descrito raramente se verificam. Por um lado, é frequente que haja custos diferentes associados a cada tipo de erro (é mais grave dizer que uma máquina avariada está boa do que o oposto). Este problema pode ser resolvido, introduzindo uma função de custo para cada erro. Por outro lado, geralmente não se conhece perfeitamente a distribuição do vector X para cada classe, o que constitui uma dificuldade bem maior. A melhor maneira de estimar a distribuição de X para cada classe, P( X | cI ), é observando amostras recolhidas cuja classe conheçamos. O processo de construção dessa estimativa chama-se processo de aprendizagem do classificador, durante a qual lhre estamos a apresentar exemplos conhecidos. Existem dois tipos de técnicas para fazer essa estimativa: os métodos paramétricos e os não paramétricos. Nos estimadores paramétricos, assumese que distribuição de X obedece a um dado modelo, e estimam-se os parâmtros desse modelo de modo que melhor se ajustem aos valores observados. Nos não paramétricos não se assume nada sobre a distribuição de X, e geralmente fazem-se estimativas locais da densidade de probabilidade de X locais necessários, sem recurso a nenhum modelo (por exemplo, com o método das janelas de Parzen ou dos vizinhos mais próximos [4]). No entanto, obter uma estimação rigorosa de P( X | cI ) é sempre um problema difícil e delicado. Algumas das limitações podem ser ultrapassadas usando técnicas baseadas em inteligência artificial, que conseguem fazer classificações razoáveis, mesmo com um número relativamente modesto de amostras de treino. SOM E LVQ COMO CLASSIFICADORES De entre os muito métodos para construir classificadores usando técnicas de inteligência artificial, vamo-nos debruçar neste artigo sobre aqueles baseados em “Self-Organizing Maps” (Mapas auto-organizados, ou SOM), que como já referimos podem ser usados como classificadores. Após termos treinado um SOM e atribuído etiquetas aos neurónios que mapeiam condições bem conhecidas, ficamos ainda com um conjunto normalmente grande de neurónios sem etiquetas. Estes correspondem a situações que podem acontecer mas ainda não aconteceram ou a situações que não podemos classificar claramente como sendo um estado determinado (o sistema pode não estar 100% bom, mas também não tem nenhuma avaria iminente). Podemos agora fazer duas coisas: • Remover os neurónios que não estão etiquetados, pois não têm informação conclusiva Reajustar os neurónios, usando no treino apenas situações conhecidas. • A este segundo passo chama-se fazer uma aprendizagem supervisionada, e existe um algorítmo semelhante ao SOM para o fazer, o LVQ (Linear Vector Quantizer), originalmente desenvolvido para compressão de dados, e que tem a seguinte formulação: Para cada vector de características X = [x1,x2,….,xm] T para o qual se conhece o estado correcto, fazer o seguinte: 1. Calcular a distância a cada um dos neurónios Wij. dij = || Xk - Wij || 2. Seleccionar o neurónio que estiver mais próximo como neurónio vencedor. Wvencedor = ( Wij : dij = min( dmn) ) 3. Modificar os pesos de cada neurónio de acordo com a regra: Se a classe do neurónio for igual à do vector X fazer Wij = Wij + α h(Wvencedir r,Wij) || Xk – Wij || Senão, fazer Wij = Wij - α h(Wvencedir r,Wij) || Xk – Wij || Onde α é o ritmo de aprendizagem, que tende para 0 ao longo do treino. h(.,.) é a função de vizinhança do neurónio vencedor, que tem um valor alto se o neurónio em causa está perto do vencedor, e baixo em caso contrário. Esta vizinhança também tende para 0 durante o treino. 4. Repetir o processo com outro vector de características até que um dado critério de paragem seja atingido. Aplicar o algoritmo LVQ a um SOM permite que ele classifique melhor os casos já conhecidos. Podemos agora perguntar em que é que um SOM ou LVQ estão relacionados com a estimação de P( ci | X ). De facto, estes dois algoritmos estão a apenas a seleccionar protótipos que serão usados para fazer uma classificação de vizinho mais próximo. Prova-se que o erro cometido por um destes classificadores é assimptoticamente (quando o número de protóptipos é grande) menor que duas vezes o erro do classificador óptimo. Assim, embora este método não seja óptimo, o facto de ser computacionalmente fácil de calcular, numericamente estável, e dar resultados muito satisfatórios, faz com que seja usado muito frequentemente VII - CONCLUSÕES Com base num número restrito de parametros observados externamente é possível caracterizar o estado interno de um sistema. Mesmo que a escolha desses parâmetros não possa ter sido feita de modo ideal, há métodos que permitem diminuir a dimensionalidade do espaço de parâmetros para a dimensionalidade intrínseca do sistema, ou mesmo, eventualmente com alguma perda de informação, reduzi-la a um espaço bi-dimensional de forma a que o estado do sistema possa ser visualizado por um operador. Para além da visualização, podemos também fazer a classificação automática do estado do sistema. Apesar da obtenção do classificador óptimo nem sempre (ou quase nunca) ser possível, há métodos que, embora sub-óptimos, são facilmente implementados. REFERÊNCIAS [1] D. Gabor, “Theory of Communication”, Journal of the Institution of Electrical Engineers”, vol. 93, pp.429-457, Novembro 1946. [2] L.Cohen, “Generalized phase-space distribution functions”, Jour. Math. Phys., vol. 7, pp.781-786, 1966 [3] P.M. Woodward, Probability and Information Theory with Applications to Radar, Pergamon Press, 1953 [4] K.Fukunaga, Statistical Pattern Regognition, Academic Press, 1990 [5] T.Kohonen, Self-Organizing Maps, SpringerVerlag, 1995