LUCAS HERMANN NEGRI ALGORITMOS DE INTELIGÊNCIA COMPUTACIONAL EM INSTRUMENTAÇÃO: USO DE FUSÃO DE DADOS NA AVALIAÇÃO DE AMOSTRAS BIOLÓGICAS E QUÍMICAS

121 

Full text

(1)

UNIVERSIDADE DO ESTADO DE SANTA CATARINA – UDESC CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT

DEPARTAMENTO DE ENGENHARIA ELÉTRICA – DEE

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA – PPGEEL

LUCAS HERMANN NEGRI

ALGORITMOS DE INTELIGÊNCIA COMPUTACIONAL EM

INSTRUMENTAÇÃO: USO DE FUSÃO DE DADOS NA AVALIAÇÃO

DE AMOSTRAS BIOLÓGICAS E QUÍMICAS

(2)

UNIVERSIDADE DO ESTADO DE SANTA CATARINA – UDESC CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT

DEPARTAMENTO DE ENGENHARIA ELÉTRICA – DEE

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA – PPGEEL

LUCAS HERMANN NEGRI

ALGORITMOS DE INTELIGÊNCIA COMPUTACIONAL EM

INSTRUMENTAÇÃO: USO DE FUSÃO DE DADOS NA AVALIAÇÃO

DE AMOSTRAS BIOLÓGICAS E QUÍMICAS

Dissertação submetida à Universidade do Estado de Santa Catarina como parte dos requisitos para a

obtenção do grau de Mestre em Engenharia Elétrica

Orientador:Dr. Aleksander Sade Paterno

Co-Orientador:Dr. Ademir Nied

(3)

N386f

Negri, Lucas Hermann.

Fusão de dados em instrumentação / Lucas Hermann Negri; Orientador: Aleksander Sade Paterno – Joinville, 2012.

121 f. : il ; 30 cm. Incluem referências.

Dissertação (mestrado) – Universidade do Estado de Santa Catarina, Centro de Ciências Tecnológicas, Mestrado Acadêmico em Engenharia Elétrica, Joinville, 2012.

1. Espectroscopia de Impedância Elétrica. 2. Redes de Bragg. 3. Otimização por Enxame de Partículas. 4. Redes Neurais Artificiais. 5. Máquinas de Vetor de Suporte. 6. Fusão de Dados. I. Paterno, Aleksander Sade. II. Nied, Ademir.

(4)
(5)

AGRADECIMENTOS

Ao profo Aleksander Sade Paterno, fonte diária de ideias, por todo o incentivo e orientação. Agradeço também ao profoAdemir Nied, pela orientação e introdução a novos conhecimentos,

ao profo Pedro Bertemes Filho por todas as suas contribuições na área de espectroscopia de impedância elétrica, como também a outros professores que contribuíram de forma direta ou

indireta neste trabalho, como o profoAirton Ramos e o profoClaudio Cesar de Sá.

Agradeço os colegas Guilherme Zilli, Cleberson da Cunha, Jacson de Oliveira, Eduardo

Harbs, Ana Baasch, Elizabeth Lemos, Yuri Kaszubowski, Marlon Alcantara, Julia Wolff, Ale-xandre Felipe, Emiliano Veiga e Yujuan Wang (entre outros) por todas as contribuições, sejam

elas por meio de auxílio nos experimentos realizados, ajuda no estudo ou simplesmente pelas conversas sempre construtivas.

Por último mas não menos importante, agradeço à minha família por todo o suporte e

incentivo que recebi consistentemente durante minha vida.

(6)

The computing scientist’s main challenge

is not to get confused by the complexities

of his own making.

(7)

RESUMO

NEGRI, Lucas Hermann.Algoritmos de inteligência computacional em instrumentação: uso de fusão de dados na avaliação de amostras biológicas e químicas.2012. 121f. Dissertação (Mestrado Acadêmico em Engenharia Elétrica – Área: Controle e Instrumentação) – Universidade do Estado de Santa Catarina, Programa de Pós-Graduação em Engenharia Elétrica, Joinville, 2012.

Neste trabalho são apresentados métodos computacionais para o processamento de dados produ-zidos em sistemas de espectroscopia de impedância elétrica e sensoriamento a redes de Bragg em fibra óptica com o objetivo de inferir características das amostras analisadas. Sistemas de estimação e classificação foram desenvolvidos, utilizando os sinais isoladamente ou de forma conjunta com o objetivo de melhorar as respostas dos sistemas. Propõe-se o ajuste dos parâme-tros de funções que modelam especparâme-tros de impedância elétrica por meio de um novo algoritmo de otimização por enxame de partículas, incluindo a sua utilização na correção de espectros com determinadas distorções. Um estudo comparativo foi realizado entre os métodos correntes utilizados na detecção de pico de sinais resultantes de sensores em fibras ópticas, onde avaliou-se a exatidão, precisão e desempenho computacional. Esta comparação foi feita utilizando dados simulados e experimentais, onde percebeu-se que não há algoritmo simultaneamente superior em todos os aspectos avaliados, mas que é possível escolher o ideal quando se têm os requisitos da aplicação. Um método de detecção de pico por meio de uma rede neural artificial foi proposto, sendo recomendado em situações onde o espectro analisado possui distorções ou não é simétrico. Redes neurais artificiais e máquinas de vetor de suporte foram utilizadas em conjunto com os algoritmos de processamento com o objetivo de classificar ou estimar alguma característica de amostras em experimentos que envolveram carnes bovinas, leite bovino e misturas de combustí-vel automotivo. Mostra-se neste trabalho que os métodos de processamento propostos são úteis para a extração das características importantes dos dados e que os esquemas utilizados para a fusão destes dados foram úteis dentro dos seus objetivos iniciais de classificação e estimação.

(8)

ABSTRACT

NEGRI, Lucas Hermann. Computational intelligence algorithms for instrumentation: bi-ological and chemical samples evaluation by using data fusion. 2012. 121p. Dissertation (Master in Electrical Engineering – Area: Control and Instrumentation) – Santa Catarina State University, Post Graduation Program in Electrical Engineering, Joinville (Brazil), 2012.

This work presents computational methods to process data from electrical impedance spec-troscopy and fiber Bragg grating interrogation in order to characterize the evaluated samples. Estimation and classification systems were developed, by using the signals isolatedly or simul-taneously. A new method to adjust the parameters of functions that describes the electrical impedance spectra by using particle swarm optimization is proposed. Such method were also extended to correct distorted spectra. A benchmark for peak detection algorithms in fiber Bragg grating interrogation was performed, including the currently used algorithms as obtained from literature, where the accuracy, precision, and computational performance were evaluated. This comparative study was performed with both simulated and experimental data. It was perceived that there is no optimal algorithm when all aspects are taken into account, but it is possible to choose a suitable algorithm when one has the application requirements. A novel peak detection algorithm based on an artificial neural network is proposed, being recommended when the analy-zed spectra have distortions or is not symmetrical. Artificial neural networks and support vector machines were employed with the data processing algorithms to classify or estimate sample characteristics in experiments with bovine meat, milk, and automotive fuel. The results have shown that the proposed data processing methods are useful to extract the data main information and that the employed data fusion schemes were useful, in its initial classification and estimation objectives.

(9)

LISTA DE FIGURAS

2.1 Exemplo de ajuste da funçãof(x) = p1sin(x)ep2x utilizando o algoritmo de LM. 25

2.2 Exemplo do processo evolutivo que ocorre no PSO, na minimização da função

de Rastrigin. . . 33

2.3 Modelo de um neurônio artificial. . . 35

2.4 Exemplo de RNA com topologia MLP 2-2-2 com neurônio debias. . . 36

2.5 Exemplo de RNA com topologia FCC 2-2-2 com neurônio debias. . . 37

2.6 Exemplo da fase de propagação adiante em uma RNA. . . 37

2.7 Função de ativação sigmoide simétrica para valores distintos des. . . 41

2.8 Visualização dos vetores de suporte que formam o hiperplano separador em uma classificação binária. . . 45

3.1 Módulo e fase de um espectro gerado a partir da função de Cole com os parâme-trosR∞ = 20 Ω,R0 = 500 Ω,τ = 10 −5s e α= 0,8. . . 51

3.2 Diagrama de Nyquist referente à um espectro gerado pela função de Cole com os parâmetrosR∞ = 20 Ω,R0 = 500 Ω,τ = 10 −5 s eα= 0,8. . . 52

3.3 Progressão do menor MSE de uma população de partículas no ajuste dos parâ-metros da função de Cole. . . 53

3.4 Comparação entre um espectro e sua versão com o artefato causado pelo termo Td= 200ns. . . 55

3.5 Diagrama de Nyquist referente à um espectro gerado pela função de Cole, com o componente de atrasoTd= 200ns. . . 55

3.6 Esquema simplificado de uma FBG. . . 56

3.7 Exemplo de reflexão e transmissão de sinal em uma FBG. . . 57

(10)

3.9 Exemplo de espectro refletido por uma rede de Bragg com modulação gaussiana

do índice de refração do núcleo, com ruído. . . 59

3.10 Esquema do sistema de instrumentação óptico utilizado com o método do filtro sintonizável. . . 60

3.11 Visualização simplificada de um FFP. . . 61

3.12 Exemplo de transmissão de um FFP de acordo com a distância entre os espelhos. 62 3.13 Exemplo de periodicidade da transmissão de um FFP. . . 62

3.14 Exemplo de ajuste polinomial para um espectro refletido por uma rede de Bragg de perfil gaussiano. . . 65

3.15 Exemplo de ajuste gaussiano para um espectro refletido por uma rede de Bragg de perfil uniforme. . . 65

3.16 Topologia da RNA proposta para a detecção de pico. . . 66

3.17 Exemplo de ajuste por RNA para um espectro refletido por uma rede de Bragg de perfil gaussiano. . . 67

3.18 Rede utilizada na aproximação das funçõesC =A+B eD=A−B. . . 70

3.19 Esquema de fusão clássico, sem o processamento prévio dos sinais. . . 71

3.20 Esquema de fusão com processamento prévio. . . 72

3.21 Esquema de fusão posterior. . . 72

4.1 Diagrama de blocos do sistema utilizado para a medição dos espectros de bioim-pedância elétrica das carnes bovinas. . . 74

4.2 Taxa de classificação correta da carne bovina por método de processamento, utilizando RNAs para classificação. . . 76

4.3 Taxa de classificação correta da carne bovina por método de processamento, utilizando SVMs para classificação. . . 77

(11)

4.5 Valores médios dos espectros de bioimpedância elétrica das amostras de leite

analisadas, de acordo com o adulterantes presente. . . 81

4.6 Comparação entre um espectro experimental de leite puro e o seu ajuste à função de Cole com e sem compensação. . . 83

4.7 Comparação entre um espectro experimental de leite e água e o seu ajuste à função de Cole com e sem compensação. . . 83

4.8 Comparação entre um espectro experimental de leite e peróxido de hidrogênio e o seu ajuste à função de Cole com e sem compensação. . . 84

4.9 Taxa de acerto na classificação das amostras de leite, por adulterante presente. . 85

4.10 Exemplo do sinal triangular de sintonia de um FFP e do respectivo sinal fotode-tectado. . . 88

4.11 Exatidão para a FBG simulada com perfil de modulação uniforme. . . 89

4.12 Precisão para a FBG simulada com perfil de modulação uniforme. . . 89

4.13 Exatidão para a FBG simulada com perfil de modulação gaussiano. . . 90

4.14 Precisão para a FBG simulada com perfil de modulação gaussiano. . . 90

4.15 Relação entre estiramento e o deslocamento de pico de reflexão. . . 91

4.16 Exatidão para o teste com dados experimentais. . . 91

4.17 Precisão para o teste com dados experimentais. . . 92

4.18 Exemplos de espectros ajustados, para amostras de gasolina misturadas com etanol, diesel e querosene. . . 100

4.19 ParâmetrosR0 resultantes dos ajustes das amostras de gasolina e etanol, para diferentes concentrações. . . 101

4.20 Parâmetros τ resultantes dos ajustes das amostras de gasolina e etanol, para diferentes concentrações. . . 101

(12)

LISTA DE TABELAS

3.1 Conjunto de dados para o exemplo de estimação de função. . . 69

4.1 Taxa de classificação correta da carne bovina por método de processamento, utilizando RNAs para classificação. . . 77

4.2 Taxa de classificação correta da carne bovina por método de processamento, utilizando SVMs para classificação. . . 78

4.3 Quantidade de iterações necessárias para convergência, para cada método de

ajuste da função de Cole. . . 78

4.4 Ajustes realizados para as amostras de leite, utilizando a função de Cole original e com o parâmetroTd. . . 84

4.5 Taxa de classificação correta das amostras de leite quanto ao adulterante presente. 84

4.6 Resultados de exatidão e precisão (em nm) para a FBG simulada com perfil de modulação uniforme. . . 92

4.7 Resultados de exatidão e precisão (em nm) para a FBG simulada com perfil de

modulação gaussiano. . . 93

4.8 Resultados de exatidão e precisão (em1000(nm)2) para o teste experimental. . 94

4.9 Resultado do teste de desempenho computacional. . . 94

(13)

LISTA DE ALGORITMOS

2.1 Algoritmo deLevenberg-Marquardt . . . 26

2.2 AlgoritmoNeuron by Neuron . . . 29

2.3 Algoritmo de Otimização por Enxame de Partículas . . . 32

(14)

LISTA DE ABREVIATURAS

Termo Significado

AG Algoritmo Genético

ASE Emissão Espontânea Amplificada (Amplified Spontaneous Emission)

DG Descida de Gradiente

EIE Espectroscopia de Impedância Elétrica

FA Função de ativação

FBG Rede de Bragg (Fiber Bragg Grating)

FCC Cascata Totalmente Conectada (Fully Connected Cascade)

FFP Fabry-Perot de Fibra (Fiber Fabry-Perot)

GN Gauss-Newton

iRPROP Improved Resilient Propagation

KA Kernel-Adatron

LM Levenberg-Marquardt

MLP Perceptron de Múltiplas Camadas (Multilayer Perceptron)

MSE Erro Quadrático Médio (Mean Squared Error)

NBN Neuron by Neuron

PSO Otimização por Enxame de Partículas (Particle Swarm Optimization)

RBF Função de Base Radial (Radial Basis Function)

RNA Rede Neural Artificial

RPROP Resilient Propagation

SMO Sequential Minimal Optimization

SSVM Simple SVM Algorithm

(15)

SUMÁRIO

1 INTRODUÇÃO . . . 18

1.1 OBJETIVOS . . . 20

1.2 ORGANIZAÇÃO . . . 21

2 REVISÃO DA LITERATURA . . . 23

2.1 ALGORITMOS DE OTIMIZAÇÃO . . . 23

2.1.1 Levenberg-Marquardt . . . 23

2.1.2 Neurônio por Neurônio . . . 27

2.1.3 Otimização por Enxame de Partículas . . . 30

2.2 REDES NEURAIS ARTIFICIAIS . . . 34

2.2.1 Princípios de Funcionamento . . . 34

2.2.2 Treinamento por Retropropagação do Erro . . . 38

2.2.3 Funções de Ativação . . . 40

2.2.4 Métodos Avançados para Treinamento Supervisionado . . . 42

2.3 MÁQUINAS DE VETOR DE SUPORTE . . . 42

2.3.1 SVM de Margem Rígida . . . 43

2.3.2 SVM de Margem Suave . . . 45

2.3.3 Funções de Kernel . . . 46

2.3.4 Solução dos Problemas de Otimização . . . 47

3 FUSÃO DE DADOS PARA INSTRUMENTAÇÃO . . . 49

3.1 ESPECTROSCOPIA DE IMPEDÂNCIA ELÉTRICA . . . 49

3.1.1 Ajuste de Espectros pela Função de Cole . . . 50

3.1.2 Aproximação por um Somatório de Sistemas de Primeira Ordem . . . 53

3.1.3 Correção de Artefatos . . . 54

(16)

3.2.1 Interrogação de FBGs pelo Método do Filtro Sintonizável . . . 59

3.2.2 Algoritmos para Detecção de Pico . . . 63

3.2.2.1 Máximo . . . 63

3.2.2.2 Filtro FIR . . . 63

3.2.2.3 Centroide . . . 64

3.2.2.4 Ajuste Polinomial . . . 64

3.2.2.5 Ajuste Gaussiano . . . 64

3.2.2.6 Rede Neural . . . 66

3.3 FUSÃO DE DADOS . . . 67

3.3.1 RNAs e SVMs para Estimação e Classificação . . . 68

3.3.2 Esquemas para Fusão de Dados . . . 71

4 EXPERIMENTOS . . . 73

4.1 CLASSIFICAÇÃO DE CARNES BOVINAS POR BIOIMPEDÂNCIA ELÉTRICA 73 4.1.1 Metodologia . . . 73

4.1.1.1 Aquisição dos Dados Experimentais . . . 73

4.1.1.2 Classificação das Carnes Bovinas . . . 74

4.1.1.3 Avaliação do Desempenho Computacional dos Métodos de Ajuste . . . 75

4.1.2 Resultados e Discussão . . . 76

4.2 DETECÇÃO DE ADULTERANTES NO LEITE BOVINO UTILIZANDO EIE . . . 79

4.2.1 Metodologia . . . 79

4.2.1.1 Aquisição dos Dados Experimentais . . . 79

4.2.1.2 Ajuste pela Função de Cole e Correção dos Espectros . . . 81

4.2.1.3 Classificação do Leite Quanto à Presença de Adulterantes . . . 81

(17)

4.3 BENCHMARK DE ALGORITMOS DE DETECÇÃO DE PICO PARA

INTERRO-GAÇÃO DE FBG . . . 85

4.3.1 Metodologia . . . 86

4.3.1.1 Teste com Dados Simulados . . . 86

4.3.1.2 Teste com Dados Experimentais . . . 87

4.3.2 Resultados e Discussão . . . 88

4.4 CARACTERIZAÇÃO DE COMBUSTÍVEL POR ANÁLISE DE IMPEDÂNCIA E REFRATOMETRIA . . . 96

4.4.1 Metodologia . . . 96

4.4.1.1 Amostras Analisadas . . . 97

4.4.1.2 Espectroscopia de Impedância Elétrica . . . 97

4.4.1.3 Refratometria . . . 98

4.4.1.4 Estimadores de Concentração de Etanol . . . 99

4.4.2 Resultados e Discussão . . . 99

5 CONCLUSÃO . . . 104

5.1 TRABALHOS FUTUROS . . . 107

6 PUBLICAÇÕES . . . 109

6.1 ESPECTROSCOPIA DE IMPEDÂNCIA ELÉTRICA . . . 109

6.2 SENSORIAMENTO ÓPTICO A REDE DE BRAGG . . . 110

6.3 OUTROS . . . 111

(18)

18

1 Introdução

A espectroscopia de impedância elétrica (EIE) é uma técnica utilizada na caracterização de

materiais. O objetivo da técnica é inferir propriedades do material analisado a partir do seu espectro de impedância elétrica, usualmente obtido com a aplicação de uma corrente ou tensão

senoidal, medindo-se a tensão ou corrente resultante. Com o conhecimento do sinal aplicado e o sinal lido pode-se calcular a impedância elétrica, que pode então ser processada para isolar a

impedância da amostra. Esta leitura pode ser realizada com estímulos em diferentes frequências, resultando em um espectro que carrega consigo informações sobre a composição do material

(BARSOUKOV; MACDONALD, 2005).

O espectro de impedância elétrica de um material está relacionado à sua composição, mas

tal relação pode não ser simples ou conhecida, necessitando a utilização de alguma técnica computacional para a obtenção de informação útil. Entre tais técnicas computacionais pode-se

citar a utilização de redes neurais artificiais (RNA) (KUN et al., 2003) ou máquinas de vetor de suporte (SVM) (LAUFER; RUBINSKY, 2009).

Um espectro de impedância elétrica contém informações de resistência e reatância, ou

magnitude e fase na forma polar, para cada frequência do sinal de excitação. A quantidade de dados em um espectro de impedância elétrica, quando se consideram todos os seus componentes

para todas as frequências lidas, pode adicionar complexidade a um sistema de classificação como uma RNA, que pode necessitar de uma quantidade elevada de neurônios e conexões sinápticas

para lidar com tal entrada. Devido à este fato, é comum a utilização de métodos para a redução do tamanho destes conjuntos de dados. Entre as técnicas mais comuns encontra-se o ajuste do

espectro à um modelo conhecido, com um número reduzido de parâmetros (KUN et al., 1999). O pré-processamento dos dados também pode ajudar a atenuar o efeito do ruído presente, que

limita a exatidão e precisão do método.

A EIE tem diversas aplicações, como na detecção de adulterantes do leite (BERTEMES-FILHO et al., 2010; BERTEMES-(BERTEMES-FILHO; NEGRI; PATERNO, 2010), na estimação da

con-centração dos componentes de combustíveis (KALLIGEROS et al., 2003) e na classificação de carnes bovinas (NEGRI; BERTEMES-FILHO; PATERNO, 2010). A técnica também tem

(19)

1 Introdução 19

gordura (LUKASKI et al., 1986). A caracterização de materiais não se limita somente à EIE.

Neste trabalho, cita-se também técnicas que utilizam o espectro obtido por sensores em fibras ópticas.

Uma das aplicações de fibra óptica como sensor encontra-se na rede de Bragg em fibra óptica, oufiber Bragg grating(FBG). A FBG é uma modulação periódica do índice de refração do núcleo

de uma fibra óptica usualmente monomodo ao longo de seu eixo longitudinal, com o objetivo de refletir uma faixa específica do espectro (HILL; MELTZ, 1997). A faixa de comprimento

de onda referente à banda espectral óptica refletida por uma FBG altera-se com a variação de propriedades físicas da mesma, logo esta torna-se um sensor quando o espectro refletido é aferido

para a determinação de alguma destas propriedades.

FBGs podem ser utilizas como sensores de temperatura (WYK, 2005), tensão mecânica (CHOJNOWSKI; JDRZEJEWSKI, 2006) e índice de refração (SCHROEDER et al., 2001), além

de outros usos. O espectro resultante de uma medição do índice de refração pode ser utilizado para a caracterização do material, assim como é feito com o espectro de impedância na EIE. De

fato, há uma ligação entre o índice de refração de um material e a sua permissividade elétrica (JACKSON, 1998; GRIMNES; MARTINSEN, 2008).

O espectro refletido por uma rede de Bragg pode ser analisado para a inferência de alguma

grandeza física, porém, devido aos diversos tipos de ruídos e distorções presentes no sinal, é comum a utilização somente do comprimento de onda referente ao pico de refletividade. O

deslo-camento deste pico pode então ser relacionado com uma variação na grandeza correlacionada. Devido ao ruído, a computação do comprimento de onda do pico tem precisão limitada (DYER,

2005), justificando o uso de algoritmos próprios para tratar este ruído, como a aplicação de filtros (CHAN et al., 2003a) ou do ajuste de um modelo ao espectro (CHAN et al., 2003b; PATERNO

et al., 2006; NEGRI et al., 2011a).

A caracterização de um material não está limitada à utilização de somente uma fonte de dados. Pode-se utilizar dados provenientes de fontes ou sensores distintos, com o objetivo de reduzir

a incerteza na inferência das características da amostra analisada. A esta técnica de utilização simultânea de dados de diferentes origens, dá-se o nome de fusão de dados, ou variações como

fusão de informação de sensores. De forma mais detalhada, a fusão de informações de sensores

trata do estudo de técnicas e conceitos para o processamento e integração de informações originadas por sensores distintos (DASARATHY, 1997).

(20)

1.1 Objetivos 20

processamento prévio dos sensores. Entre as alternativas encontram-se a utilização somente das

características (features) previamente processadas de cada sensor e a escolha e ponderação entre

inferências já realizadas com base nas informações individuais dos sensores (SEE; ABRAHART,

2001).

A fusão de dados pode ser realizada por técnicas como inferência bayesiana, teoria de

Dempter–Shafer, sistemas especialistas e RNAs (HALL; LLINAS, 1997). Há relatos da utilização de RNAs para fusão de dados em diversas aplicações, como na previsão hidrológica (SEE;

ABRAHART, 2001), na detecção de falhas na fabricação de sensores ópticos (HONG; MAY, 2005), no diagnóstico de falhas em componentes eletrônicos (ZHU, 2004) e no monitoramento

da poluição do ar (BARRON-ADAME et al., 2009), principalmente devido à sua capacidade de aprender padrões e realizar mapeamentos não lineares, podendo realizar desde a ponderação da

importância de cada entrada / sensor até a identificação dos padrões que emergem com a união dos dados. O maior custo computacional na utilização de uma RNA está no seu treinamento,

sendo que a execução de uma rede já treinada é um processo rápido, o que pode favorecer aplicações que precisam de um tempo de resposta rápido na utilização.

Neste trabalho estuda-se o processamento digital de dados vindos de sensores de impedância

elétrica multifrequenciais e de FBGs, com o objetivo da atenuação do ruído e da extração das principais informações, que são então utilizadas como entrada de RNAs e SVMs, treinadas

para a inferência de alguma característica da amostra analisada. As informações dos sensores são utilizadas de forma isolada e em conjunto para que seja possível realizar uma avaliação

qualitativa da fusão de dados.

1.1 Objetivos

O objetivo deste trabalho está no estudo e implementação de cada processo necessário para a fusão de dados em instrumentação, para dados vindos de espectroscopia de impedância elétrica

e de sensores ópticos à rede de Bragg. O processo total pode ser dividido nas seguintes etapas:

1. Aquisição do espectro óptico da amostra por meio do sistema de interrogação a rede de

Bragg;

2. Determinação do comprimento de onda de pico do espectro óptico por meio de algoritmos específicos que consideram a presença de ruído e distorções, descartando as demais

(21)

1.2 Organização 21

da amostra analisada;

3. Aquisição do espectro de impedância elétrica da amostra analisada por meio de um

espectrômetro;

4. Ajuste de um modelo conhecido aos dados do espectro de impedância elétrica para a

extração dos seus principais parâmetros, quando possível;

5. Desenvolvimento de uma RNA ou SVM que recebe como entrada as informações lidas da amostra, realizando a fusão destes dados, com o objetivo de realizar a inferência de

alguma característica da amostra;

Cada uma das etapas são estudadas em detalhes, baseando-se na literatura corrente. Os processos da técnica implementada são avaliados por meio de simulações e experimentos. O

processo completo também deve ser avaliado experimentalmente, para a avaliação de todas as técnicas individuais empregadas no todo e para a verificação de sua utilidade.

1.2 Organização

Este trabalho está dividido em cinco capítulos. Este capítulo introdutório apresenta uma

contextualização dos assuntos pertinentes, tratando também dos objetivos e da organização do trabalho.

O segundo capítulo realiza uma revisão bibliográfica sobre algoritmos de otimização

nu-mérica, que são utilizados no restante do trabalho para o ajuste de funções e no treinamento de RNAs. Nesse capítulo também é feita uma revisão de RNAs alimentadas adiante com treinamento

supervisionado e SVMs de margem rígida e suave para classificação binária, isto é, na separação de um conjunto de amostras em dois subconjuntos distintos de acordo com alguma propriedade.

As técnicas de instrumentação são descritas no terceiro capítulo, contemplando EIE e sensoriamento óptico a FBG. O foco deste capítulo é apresentar os métodos de processamento

de dados desenvolvidos, para a extração de informação e correção de espectros de impedância elétrica e para a detecção de pico em sinais refletidos por FBGs. No final deste capítulo são

apresentadas técnicas para o uso de RNAs e SVMs para classificação e estimação, discutindo-se também esquemas para a fusão de dados.

O quarto capítulo é dedicado a experimentos, que utilizam a teoria revisada neste trabalho,

(22)

1.2 Organização 22

o primeiro e o segundo experimentos utilizaram os métodos propostos para EIE. O terceiro

experimento utilizou os métodos estudados e propostos para o processamento de dados vindos de sensores a FBG. O quarto e último experimento uniu todas as técnicas estudadas neste trabalho,

processando dados provenientes de EIE e de sensoriamento óptico e os fundindo para a estimação de características das amostras analisadas.

No quinto capítulo são expostas as conclusões referentes ao trabalho realizado, listando cada ponto estudado e cada contribuição realizada. Ideias para trabalhos futuros, para expansão do que

(23)

23

2 Revisão da Literatura

Neste capítulo é apresentada uma revisão da literatura sobre os principais métodos de otimização

e aprendizagem de máquina utilizados neste trabalho. Os métodos são utilizados em diversas aplicações, como na extração de parâmetros de modelos, na filtragem de sinais e na classificação

de amostras analisadas pelos sistemas de sensoriamento.

2.1 Algoritmos de Otimização

Os principais algoritmos de otimização utilizados são apresentados nesta seção, nomeada-mente os algoritmos deLevenberg-Marquardt,Neurônio por Neurônioe o método deOtimização

por Enxame de Partículas. As características dos algoritmos são discutidas, acompanhadas de

suas representações em pseudocódigo.

Um algoritmo de otimização é um método para a escolha dos valores das variáveis inde-pendentes de uma função com o objetivo minimizar ou maximizar uma métrica arbitrária. Esta

métrica é comumente chamada de função de custo ou função defitnesse é utilizada para guiar

o processo de otimização. Algoritmos de otimização meta-heurísticos guiam a otimização por

meio desta função defitness, sem o conhecimento de detalhes do problema tratado, enquanto

que outra classe de algoritmos calcula o gradiente de erro (usualmente do erro quadrático) de

cada parâmetro livre com base no conhecimento do problema e o utiliza para o seu ajuste.

2.1.1 Levenberg-Marquardt

O método deLevenberg-Marquardt(LM) é comumente utilizado na otimização numérica de

fun-ções, advindas principalmente de problemas de ajuste não-linear por mínimos quadrados (PRESS et al., 1992). O algoritmo de LM realiza a melhoria iterativa de uma solução utilizando uma

combinação do método deGauss-Newton(GN) com o método de descida de gradiente (DG),

ponderando-os de acordo com o progresso da solução. Se ao término de uma iteração do

algo-ritmo a solução apresentar uma melhoria em relação à solução da iteração anterior, a influência do método de GN aumenta; caso a solução não apresente melhoria, o método de DG recebe um

(24)

2.1 Algoritmos de Otimização 24

Um dos requisitos do algoritmo de LM é a escolha de uma solução inicial, sendo que esta

inicialização interfere significativamente no desempenho deste devido à sua característica de convergir para mínimos locais, embora o algoritmo possa ser modificado para um desempenho

melhor em encontrar o mínimo global na presença de múltiplos mínimos locais (SAKAMOTO et al., 2005). O algoritmo de LM é determinístico, isto é, a utilização da mesma solução inicial e

do mesmo número de iterações sempre resulta na convergência da solução para um mesmo valor, apesar de determinadas aplicações utilizarem soluções iniciais aleatórias.

A solução atualB, que é um vetor coluna composto pelas variáveis independentes que serão

otimizadas (aqui futuramente referidos como parâmetros) de uma funçãof(B,X)que está sendo

minimizada para uma entrada X, é atualizada a cada iteração do algoritmo de acordo com a

Equação 2.1:

∆B= (H+µI)−1G, (2.1)

ondeHé uma aproximação da matrizHessiana,Gé o gradiente de erro e oµé o fator de normalização introduzido pelo método que o diferencia do método de GN; sendono número de

parâmetros,Hé uma matrizn×nenquanto queGé um vetor coluna comnelementos.

A aproximação da matrizHessianae o gradiente de erro são calculados a partir da matriz

JacobianaJde tamanhom×nsendomo número de conjuntos de dados utilizados na otimização,

de acordo com as Equações 2.2 e 2.3:

H=JTJ, (2.2)

G=JTE, (2.3)

onde o vetor colunaEcommelementos é o erro calculado pela diferença entre as variáveis

dependentes esperadasY(saídas) e as calculadas pela solução atual em conjunto com as variáveis

independentes que não estão sendo otimizadasX(entradas), como visto na Equação 2.4:

E =Y−f(B,X). (2.4)

A matrizJacobianaé formada pelas derivadas parciais da função minimizada em relação

(25)

2.1 Algoritmos de Otimização 25 J=              

∂f(B,X1) ∂B1

∂f(B,X1) ∂B2

· · · ∂f(B,X1)

∂Bn

∂f(B,X2) ∂B1

∂f(B,X2) ∂B2

· · · ∂f(B,X2)

∂Bn

... ... . .. ...

∂f(B,XM) ∂B1

∂f(B,XM) ∂B2

· · · ∂f(B,XM)

∂Bn               , (2.5)

para umaf(B,X)comnparâmetros emconjuntos que relacionam entradas e saídas, onde Xié a entrada do i-ésimo conjunto eBj é o j-ésimo parâmetro da função otimizada, sendo que estas derivadas parciais da função em relação aos parâmetros podem ser calculadas de forma

analítica ou por meio de técnicas numéricas como a da diferença finita. Além disto, o cálculo realizado pelo algoritmo é invariante à ordenação do conjunto de dados de entrada, ou seja, o

algoritmo trabalha em lotes.

O fator de normalizaçãoµé ajustado a cada iteração do algoritmo. Se a última iteração melhorou a solução, isto é, reduziu o valor de||E||(norma euclidiana do vetorE),µé reduzido

por um fatorb, caso contrárioµé aumentado pelo mesmo fatorbe o último ajuste da solução

Bé descartado. O valor dobé escolhido arbitrariamente, sendo que na prática é comum o uso

deb= 10(MARQUARDT, 1963). O algoritmo completo pode ser visto em pseudocódigo no Algoritmo 2.1.

Na Figura 2.1 pode-se visualizar o resultado do ajuste dos parâmetrosp1 e p2 da função

f(x) = p1sin(x)ep2x a um conjunto de observações gerados com os valores p1 = 1,5 e

p2 = −0,2, utilizando o algoritmo LM.

-8 -6 -4 -2 0 2 4 6 8

-10 -5 0 5 10

f(x)

x

Observações Ajuste

(26)

2.1 Algoritmos de Otimização 26

Algoritmo 2.1Algoritmo deLevenberg-Marquardt 1 BT ←(B1, B2,· · · , Bn)

2 enquantocritério arbitrário de parada não for satisfeitofaça: 3 parai←1atémfaça:

4 parak ←1aténfaça:

5 Jik ← ∂f(B,Xi)

∂Bk

6 fim-para

7 Ei ←Yi−f(B,Xi)

8 fim-para

9 H←JTJ

10 G←JTE

11 ok ←f also

12 enquantook=f alsofaça:

13 ∆B←(H+µI)

1

G

14 B←B+∆B

15 RecalcularE

16 senovo||E||diminuiu em relação ao anteriorentão:

17 ok←verdadeiro

18 µ←µ/b

19 senão:

20 µ←µ×b

21 B←B−∆B

22 fim se

23 fim-enquanto 24 fim-enquanto

(27)

2.1 Algoritmos de Otimização 27

Existem várias bibliotecas que implementam o algoritmo de LM, incluindo implementações

de código aberto e uso livre como os pacotesMINPACK (MORÉ; GARBOW; HILLSTROM,

1980) e levmar (LOURAKIS, 2004). Como o algoritmo depende da inversão de matrizes,

como pode ser visto na Equação 2.1, a sua implementação não é trivial devido ao desempenho (computacional e em relação à exatidão) requerido na inversão da matriz resultante, que devido

à natureza do problema pode se aproximar a uma matriz singular. Para um computador de uso geral este fato não proíbe a sua implementação dado que existem implementações de uso livre

como oLAPACK(ANDERSON et al., 1999) que realizam a resolução de sistemas lineares com

o desempenho requerido, porém este requerimento pode dificultar a implementação do algoritmo

em sistemas embarcados. Para este trabalho, as implementações foram realizadas utilizando a bibliotecaArmadillo(SANDERSON, 2010) que provê uma interface emC++para a biblioteca

LAPACK, escrita emFortran 77.

2.1.2 Neurônio por Neurônio

O algoritmoNeuron by Neuron(NBN) é uma modificação do algoritmo de LM, onde as matrizes

HeGsão calculadas com um custo reduzido de memória (WILAMOWSKI et al., 2008).

O tamanho da matrizJutilizada no algoritmo de LM é dependente do número de parâmetros

e do número de conjuntos de entrada e saída utilizados na otimização, fato que pode limitar o uso do algoritmo devido ao tamanho da matriz. A otimização introduzida no NBN consiste na

construção direta das matrizes HeGdiretamente sem a construção completa da matriz J, o

que pode reduzir significativamente o uso de memória pois os tamanhos das matrizesHeG

dependem somente do número de parâmetros do problema, sendo independentes do tamanho do conjunto de dados (WILAMOWSKI; YU, 2010). Embora esta otimização não reduza a

complexidade assimptótica do algoritmo, o desempenho computacional também é melhorado devido aos ganhos advindos desta alocação reduzida de memória.

A otimização introduzida pelo NBN se baseia no fato de que multiplicações de matrizes

podem ser efetuadas multiplicando-se as colunas do operando da esquerda com as linhas do direito, resultando em um somatório de matrizes parciais. Como a matrizHé calculada pela

multiplicação da matrizJTporJ, torna-se evidente que a matrizHpode ser calculada

iterativa-mente após o cálculo de cada linha da matrizJ, sem a necessidade de armazenar a matrizJpor

(28)

2.1 Algoritmos de Otimização 28

A versão modificada do algoritmo pode ser visualizada no Algoritmo 2.2, ondejé um vetor

linha comnelementos.

Assim como o LM, o NBN também pode ser utilizado no treinamento de redes neurais

artificiais (RNAs), onde os parâmetros otimizados são os pesos sinápticos. Existe um limite prático de500pesos sinápticos para as redes treinadas devido à complexidade assimptótica de

cada iteração (WILAMOWSKI, 2009), sendo esta comumente cúbica em relação ao número de parâmetros. Em maiores detalhes, a complexidade computacional de cada iteração deste método

em relação ao número de parâmetros é restrita pela operação de inversão de matriz utilizada para a atualização deB. No treinamento de RNAs, o algoritmo mantém a mesma forma, com a matriz

Jcalculada pela retropropagação do erro (WILAMOWSKI; YU, 2010). Assim, no treinamento

de RNAs, a matrizJé dada pela Equação 2.6:

J =                                      ∂e11 ∂w1 ∂e11 ∂w2

· · · ∂e11

∂wn

∂e12

∂w1

∂e12

∂w2

· · · ∂e12

∂wn ... ... . .. ... ∂e1o ∂w1 ∂e1o ∂w2

· · · ∂e1o

∂wn ... ... . .. ... ∂em1 ∂w1 ∂em1 ∂w2

· · · ∂em1

∂wn

∂em2

∂w1

∂em2

∂w2

· · · ∂em2

∂wn ... ... . .. ... ∂emo ∂w1 ∂emo ∂w2

· · · ∂emo

∂wn                                      , (2.6)

onde, neste caso,eij é o erro para oi-ésimo caso de treinamento ej-ésimo neurônio de saída,

wé o vetor coluna dos pesos sinápticos sendo otimizados (equivalente aoB),mé o número de

conjuntos de treinamento eoé o número de neurônios de saída.

Neste trabalho, o algoritmo NBN foi utilizado principalmente no treinamento de RNAs para a classificação de dados e aproximação de funções, tarefas comuns para tal paradigma (HAYKIN,

(29)

2.1 Algoritmos de Otimização 29

Algoritmo 2.2AlgoritmoNeuron by Neuron 1 BT ←(B1, B2,· · · , Bn)

2 enquantocritério arbitrário de parada não for satisfeitofaça:

3 H←0

4 G←0

5 parai←1atémfaça:

6 parak ←1aténfaça:

7 jk ← ∂f(B,Xi)

∂Bk

8 fim-para

9 Ei ←Yi−f(B,Xi)

10 H←H+jTj

11 G←G+jEi

12 fim-para

13 ok ←f also

14 enquantook=f alsofaça:

15 ∆B←(H+µI)

1

G

16 B←B+∆B

17 RecalcularE

18 senovo||E||diminuiu em relação ao anteriorentão:

19 ok←verdadeiro

20 µ←µ/b

21 senão:

22 µ←µ×b

23 B←B−∆B

24 fim se

25 fim-enquanto 26 fim-enquanto

(30)

2.1 Algoritmos de Otimização 30

2.1.3 Otimização por Enxame de Partículas

Otimização por Enxame de Partículas (PSO) é uma técnica de otimização meta-heurística e estocástica, baseada na evolução de uma população de soluções (partículas), com características

semelhantes à algoritmos genéticos (AG) (EBERHART, 1995). A técnica é baseada no com-portamento de bandos de aves e de cardumes de peixes (EBERHART, 1995), e normalmente

resulta em um desempenho superior a AGs em problemas sem restrições e com o espaço de busca contínuo (HASSAN et al., 2005), por isto sua escolha para este trabalho.

Neste algoritmo uma população comnpopsoluções, aqui chamadas de partículas, percorre o espaço de buscandim-dimensional do problema tratado com uma determinada velocidade. Cada partícula é testada por uma função arbitrária que avalia a sua adequação (função defitness). Em

uma iteração do algoritmo, cada partícula atualiza o seu vetor de velocidade de acordo com a melhor posição que já visitou, considerando também a melhor posição visitada por uma partícula

vizinha (EBERHART, 1995).

Devido à utilização da função de adaptação, o método PSO dispensa o conhecimento exato do modelo matemático do problema otimizado. Este fato o difere de métodos como o LM que

necessitam da utilização de derivadas da função que está sendo otimizada, mesmo que estas sejam aproximadas por métodos como o da diferença finita.

Neste trabalho utilizou-se somente o PSO onde a posição e a velocidade das partículas são representadas por números reais (codificados em ponto flutuante), apesar de uma variação com

valores binários existir (KENNEDY; EBERHART, 2001). Adicionou-se um termo referente ao peso de inércia (oumomentum) para forçar as partículas a explorarem uma região mais ampla.

Outra modificação realizada foi a adição de um operador de reinício de partículas; em todas as iterações, cada partícula tem uma probabilidade arbitrária de ter sua posição e vetor de velocidade

reinicializados. De forma resumida, o modelo de PSO utilizado aqui é descrito nas seguintes etapas:

1. Inicialização da população de partículas;

2. Reinicialização de partículas aleatórias;

3. Avaliação das partículas;

(31)

2.1 Algoritmos de Otimização 31

onde as etapas2a4são repetidas até que um critério de parada arbitrário seja satisfeito.

A atualização da velocidadev da partículappara a dimensãodé dada pela Equação 2.7:

vpd =w×vpd+c1×rand()×(bpd−xpd) +c2×rand()×(bnd−xpd), (2.7)

ondevpdé a velocidade atual da partícula,wé o peso de inércia,c1 é a taxa de aprendizagem cognitiva,c2 é a taxa de aprendizagem social,bpdé a melhor posição visitada pela partícula,bnd é a melhor posição visitada entre as partículas da vizinhança,xpd é a atual posição da partícula e

rand()é uma função que retorna um número real aleatório entre0e1(inclusive).

Neste trabalho foi introduzida uma taxa de reinicialização de partículas trpl. Em cada

iteração, cada partícula ptem uma chance trpl de ter sua posição atualxpd trocada por outra posição aleatória dentro do espaço de busca definido.

O algoritmo completo, contendo as alterações aqui propostas pode ser visualizado no

Algo-ritmo 2.3, onde as posições das partículas, para cada dimensãod, são delimitadas por um limite inferior (linfd) e superior (lsupd).

Assim como o método de LM, dependendo do problema otimizado, o PSO pode convergir

para posições diferentes do que um mínimo global, estagnando em mínimos locais, fato que nor-malmente não é desejável. Na literatura pode-se encontrar modificações que tratam do problema

da convergência global (EVERS; GHALIA, 2009), incluindo métodos híbridos que teoricamente garantem a convergência ao mínimo global (TANG; BAGCHI, 2010). Estas modificações não

foram estudadas e realizadas neste trabalho, sendo reservadas para trabalhos futuros.

A forma com que o espaço de busca das partículas é definido altera a convergência do algoritmo. Espaços de busca demasiadamente grandes resultam uma menor cobertura deste

espaço pelas partículas, logo é benéfico limitar o espaço o quanto for possível. Como visto na Equação 2.7, a velocidade na qual as partículas sobrevoam este espaço é regulada pelo próprio

algoritmo; uma partícula longe do ponto ótimo atual tende a possuir uma velocidade maior do que a de uma partícula próxima, caracterizando um controle automático de velocidade.

Da forma que foi apresentada, a Equação 2.7 não tem significado físico devido à incon-sistência de suas unidades, já que a velocidade (posição×iteração−1

) está sendo calculada a

partir de diferenças de posições, o que pode ser corrigido se as taxasc1ec2 tiverem a dimensão iteração−1

(32)

2.1 Algoritmos de Otimização 32

Algoritmo 2.3Algoritmo de Otimização por Enxame de Partículas

1 Inicialização da população de partículasp

2 enquantocritério arbitrário de parada não for satisfeitofaça: 3 parap←1aténpopfaça:

4 serand()< trpl então:

5 Reinicialização da partículap

6 fim se

7 Avaliação da partículappor uma função defitness

8 Atualizar os registros de melhor posição da partícula e da vizinhança

9 fim-para

10 parap←1aténpopfaça:

11 parad ←1aténdimfaça:

12 vpd =w×vpd+c1×rand()×(bpd−xpd) +c2×rand()×(bnd−xpd)

13 xpd←xpd+vpd

14 sexpd < linfdentão:

15 xpd ←linfd

16 fim se

17 sexpd > lsupdentão:

18 xpd ←lsupd

19 fim se

20 fim-para

21 fim-para

(33)

2.1 Algoritmos de Otimização 33 -1,5 -1 -0,5 0 0,5 1 1,5-1,5 -1 -0,5 0 0,5 1 1,5 0 5 10 15 20 25 30 35 40 45

(a) Configuração inicial

-1,5 -1 -0,5 0 0,5 1 1,5-1,5 -1 -0,5 0 0,5 1 1,5 0 5 10 15 20 25 30 35 40 45

(b) 5aiteração

-1,5 -1 -0,5 0 0,5 1 1,5-1,5 -1 -0,5 0 0,5 1 1,5 0 5 10 15 20 25 30 35 40 45

(c) 10aiteração

-1,5 -1 -0,5 0 0,5 1 1,5-1,5 -1 -0,5 0 0,5 1 1,5 0 5 10 15 20 25 30 35 40 45

(d) 20aiteração

-1,5 -1 -0,5 0 0,5 1 1,5-1,5 -1 -0,5 0 0,5 1 1,5 0 5 10 15 20 25 30 35 40 45

(e) 50aiteração

-1,5 -1 -0,5 0 0,5 1 1,5-1,5 -1 -0,5 0 0,5 1 1,5 0 5 10 15 20 25 30 35 40 45

(f) 100aiteração

(34)

2.2 Redes Neurais Artificiais 34

Como exemplo, pode-se ver na Figura 2.2 o processo evolutivo onde 10 partículas buscam o

mínimo global (x= 0ey= 0) da função de Rastrigin (TÖRN; ZILINSKAS, 1989) para duas dimensões, definida na Equação 2.8:

z = 20

x2 −10 cos (2πx)

+

y2−10 cos (2πy)

. (2.8)

Neste trabalho utilizou-se PSO para o ajuste de funções não-lineares à conjuntos de dados, principalmente em casos onde é proibitivo calcular as derivadas da função otimizada e em

casos onde pretende-se realizar a otimização em dispositivos com pouco poder computacional, proibindo o uso de métodos que dependem da solução de sistemas lineares.

2.2 Redes Neurais Artificiais

Uma rede neural é um modelo computacional composto por um conjunto de processadores

simples (neurônios) interconectados (conexões sinápticas), que é empregada usualmente em problemas onde procuram-se padrões em um conjunto de dados. Este modelo conexionista é

inspirado no funcionamento das redes neurais biológicas, onde encontra-se um conjunto de neurônios massivamente conectados (HAYKIN, 2001).

Os diferentes modelos de RNAs são utilizados principalmente em tarefas de classificação, regressão numérica e agrupamento (clustering). Diferentes modelos empregam métodos de

aprendizagem distintos, sendo que a aprendizagem pode ser dividida principalmente em super-visionada e não supersuper-visionada. Neste trabalho foca-se na utilização de RNAs treinadas por

algoritmos de aprendizagem supervisionada, onde as RNAs aprendem previamente os padrões por meio de um conjunto de dados de entradas e suas respectivas saídas (supervisão). Aqui

também limita-se a RNAs alimentadas adiante, sem estruturas internas recursivas.

2.2.1 Princípios de Funcionamento

Uma RNA é formada por um conjunto de neurônios interconectados. Cada neurônio realiza uma

computação que é combinada com as computações de outros neurônios para realizar a tarefa desejada. Quando analisados isoladamente, os neurônios possuem um poder computacional

(35)

2.2 Redes Neurais Artificiais 35

As RNAs têm a característica de adquirir conhecimento do ambiente por meio do ajuste

dos pesos das conexões entre os neurônios (conexões sinápticas). Portanto, os algoritmos de treinamento realizam o ajuste dos pesos das conexões sinápticas de uma RNA de forma à ajustar

as suas saídas para os valores esperados.

Um neurônio pode ser modelado de forma a ter três elementos:

• Um conjunto de sinais de entrada, que são ponderados por seus respectivos pesos;

• Um acumulador que combina os sinais de entrada ponderados;

• Uma função de ativação (FA) que realiza uma transformação do valor acumulado;

Figura 2.3: Modelo de um neurônio artificial.

Um modelo de um neurônio artificial pode ser visualizado na Figura 2.3, ondex1 atéxmsão os sinais de entrada ponderados pelos pesosw1 atéwm,vé a combinação linear das entradas,φ é a função de ativação eyé a saída do neurônio. A computação realizada pelo neurônio pode ser resumida na Equação 2.9:

y =φ

m X

i

xiwi !

. (2.9)

A topologia de uma RNA altera a forma de como a computação é realizada, e, por

con-sequência, diferentes aplicações podem empregar topologias distintas. As RNAs alimentadas adiante podem ter sua topologia separada em camadas, onde a camada de entrada é composta

pelos sinais vindos do ambiente (neurônios sem entradas e com o a saídayvalendo exatamente o sinal do ambiente) e as camadas intermediárias (escondidas) e de saída recebem os sinais

(36)

2.2 Redes Neurais Artificiais 36

(bias) que recebe um valor arbitrário (como−1) para a realização de uma transformação afim,

ou seja, permite que a entrada da função de ativação seja deslocada por meio do ajuste do peso da conexão desta entrada adicional.

Entre as diferentes topologias utilizadas em RNAs pode-se citar a topologia utilizada em perceptrons de múltiplas camadas (MLP) e a topologia em cascata totalmente conectada (FCC).

Uma MLP é composta por uma camada de entrada, um conjunto de camadas intermediárias (escondidas) e uma camada de saída, sendo que nesta topologia uma camada só tem conexões

com os neurônios da camada imediatamente adiante. Pode-se visualizar um exemplo de MLP na Figura 2.4, composta por2entradas (com um neurônio adicional debias), uma camada escondida

com2neurônios e uma camada de saída com2neurônios.

I1

I2

I3

H1

H2

O1

O2

Figura 2.4: Exemplo de RNA com topologia MLP 2-2-2 com neurônio debias.

Em uma rede FCC todas as camadas escondidas possuem somente um neurônio, e todos

os neurônios possuem conexões os outros neurônios de todas as camadas seguintes. Esta con-figuração reduz o número de neurônios necessários para a computação quando utilizada em

conjunto com um algoritmo de treinamento apropriado, como o NBN (WILAMOWSKI, 2009). A Figura 2.5 mostra um exemplo de rede FCC com3neurônios de entrada (um sendo a entrada

debias), duas camadas escondidas e uma camada de saída com2neurônios.

A execução de uma RNA, chamada de faseforward propagationou de propagação adiante

consiste em configurar as saídasydos neurônios de entrada com os valores dos sinais de entrada,

(37)

2.2 Redes Neurais Artificiais 37

I1

I2

I3

H1

H2

O1

O2

Figura 2.5: Exemplo de RNA com topologia FCC 2-2-2 com neurônio debias.

3

2

2,7

2,6 0,5

1,2

0,6

-0.5

0,3

0,1

1,07

Figura 2.6: Exemplo da fase de propagação adiante em uma RNA.

A Figura 2.6 mostra um exemplo de propagação adiante, sendo que neste caso a RNA representada possui uma função de ativação linear. Os sinais resultantes da computação realizada

por cada neurônio podem ser visualizados dentro de cada neurônio, e os pesos das conexões sinápticas podem ser visualizados nas etiquetas próximas das conexões. Neste caso, a computação

do valor de saída (etapa de propagação) segue a seguinte ordem:

1. Configuração dos neurônios de entrada com os sinais da entrada (3e2);

2. Computação dos valores de saída dos neurônios da camada escondida (3×0,5 + 2×0,6 = 2,7e3×1,2 + 2×(−0,5) = 2,6);

3. Computação do valor de saída do neurônio da última camada (2,7×0,3+2,6×0,1 = 1,07);

(38)

2.2 Redes Neurais Artificiais 38

RNA pode ser treinada para a aproximação de funções, onde seus valores de saída serão os

valores aproximados para a determinada entrada. Uma das codificações utilizadas em RNAs em tarefas de classificação consiste no emprego de um neurônio de saída para cada classe (one of

c-classes), onde a classe referente ao neurônio com maior valor de saída é a resposta da rede.

Devido à sua capacidade para a aproximação de funções arbitrárias (CYBENKO, 1989;

GORBAN, 1998), RNAs são empregadas neste trabalho na filtragem de sinais e também para a classificação de amostras.

2.2.2 Treinamento por Retropropagação do Erro

As RNAs têm sua utilidade devido à habilidade de aprender com o seu ambiente para melhorar

o seu desempenho. No processo de aprendizagem a RNA é estimulada pelo ambiente, o que resulta em alterações nos seus parâmetros internos, que por sua vez alteram a forma com que ela

responde aos estímulos do ambiente (HAYKIN, 2001).

A aprendizagem em RNAs dá-se pelo ajuste dos pesos sinápticos entre os neurônios. No

caso da aprendizagem supervisionada, este ajuste é calculado partindo-se do erro obtido nas execuções adiante da rede, ou seja, o erroekdo neurônioké dado pela diferença entre a saída esperadadke a saída obtidayk, como visto na Equação 2.10:

ek =dk−yk. (2.10)

No caso de RNAs sem camadas escondidas, a regra delta (HAYKIN, 2001) pode ser utilizada

no ajuste dos pesos de cada conexãowkj vinda da entradaj ponderando-se o erroekcom o sinal de entradaxj e com a taxa de aprendizagemη, como descrito na Equação 2.11:

∆wkj =ηekxj. (2.11)

A atualização de pesos pela Equação 2.11 depende de uma medida de erro, que não está disponível para os neurônios em camadas escondidas. Para tornar possível o treinamento de

RNAs com camadas escondidas utiliza-se uma variação da regra delta, conhecida como regra delta generalizada. Esta variação realiza o ajuste dos pesos sinápticos utilizando DG, como visto

(39)

2.2 Redes Neurais Artificiais 39

∆wkj =−η

∂ek

∂wkj

. (2.12)

A forma de ajuste de pesos é a mesma para todos os neurônios, incluindo os das camadas

escondidas. Para isto, é necessário calcular os gradientes de erro para as camadas anteriores. O algoritmo de retropropagação de erro, oubackpropagation, realiza esta tarefa por meio da regra

da cadeia, possibilitando o treinamento de RNAs com camadas escondidas (HAYKIN, 2001).

O Backpropagationconsiste da derivação do gradiente de erro geral, calculado na fase

de propagação adiante, e na sua propagação para a camada imediatamente anterior. Cada ca-mada propaga o seu erro para sua caca-mada anterior, até que todas as caca-madas tenham sido

afetadas (RUSSELL; NORVIG, 2003).

O algoritmo é composto pelos seguintes passos (SILVA; SPATTI; FLAUZINO, 2010):

1. Propagação da entrada na rede, até o cálculo da saída;

2. Cálculo do erroek;

3. Cálculo doδk, para a última camada, definido por

δk=ekg

(yk), (2.13)

ondeg′

é a derivada da função de ativação. Oδké utilizado para calcular o ajuste dos pesos da camada atual, como também para o cálculo dos valoresδj das camadas anteriores.

4. Cálculo doδj, para as camadas precedentes, definido por

δj =ηg

(yj) K X

k=0

δkwjk, (2.14)

ondeKé o número de neurônios na camada atual.

5. Ajuste dos pesos pela taxa∆wjk, calculada por

∆wjk =δjyk. (2.15)

Chama-se de épocaa execução do algoritmo de retropropagação para cada caso de

trei-namento. O treinamento pode durar uma ou mais épocas, até que algum critério de parada arbitrário seja satisfeito. Entre os critérios de parada possíveis pode-se citar a convergência do

(40)

2.2 Redes Neurais Artificiais 40

número pré-estabelecido de épocas ou o alcance de um erro quadrático médio (MSE) alvo. O

MSE é calculado como visto na Equação 2.16, ondemé o número de neurônios na camada de saída:

M SE = 1 m

m X

k=1

ek(n)2. (2.16)

Além da modificação dos pesos após a apresentação de cada entrada (modo sequencial), pode-se acumular os ajustes parciais e realizar um ajuste total somente no final de cada época

(modo por lote). O modo sequencial é recomendado quando a RNA deve aprender durante o seu funcionamento (on-line), porém torna-se mais difícil o estabelecimento das condições teóricas

para a convergência do treinamento nestas condições. O treinamento por lote facilita a análise da convergência do treinamento e também é mais fácil de ser paralelizado (HAYKIN, 2001).

2.2.3 Funções de Ativação

Entre as funções de ativação utilizadas pode-se citar a função linear (Equação 2.17), a função sigmoide (Equação 2.18) e a função gaussiana (Equação 2.20). A função linear não possui uma

imagem limitada em uma faixa, enquanto que as funções sigmoide e gaussiana têm suas imagens limitadas na faixa de [0,1]. As variações simétricas das funções sigmoide e gaussiana, com

imagem na faixa de [-1,1] podem ser visualizadas nas Equações 2.19 e 2.21.

g(x) =sx (2.17a)

g′

(x) = s (2.17b)

g(x) = 1

1 +e−2sx (2.18a)

(41)

2.2 Redes Neurais Artificiais 41

g(x) = 2

1 +e−2sx −1 (2.19a)

g′

(x) =s[1−g(x)2] (2.19b)

g(x) = e−(xs)2 (2.20a)

g′

(x) =−2xs2g(x) (2.20b)

g(x) = 2e−(xs)2

−1 (2.21a)

g′

(x) =−2xs2[g(x) + 1] (2.21b)

-1 -0.5 0 0.5 1

-2 -1 0 1 2

g(

x)

x

s = 1 s = 2 s = 3

Figura 2.7: Função de ativação sigmoide simétrica para valores distintos des.

O parâmetrosdenota a inclinação da FA, que é configurado previamente de acordo com a aplicação da RNA. Para que uma determinada FA possa ser utilizada durante o processo de

(42)

2.3 Máquinas de Vetor de Suporte 42

hora da execução por outras FAs. Esta troca pode ser motivada por uma melhoria no desempenho

computacional ou por uma necessidade, como ao treinar uma rede em um computador para futura execução em um dispositivo com hardware restrito.

2.2.4 Métodos Avançados para Treinamento Supervisionado

O desempenho do método da retropropagação de erro depende do ajuste da taxa de aprendizagem. Uma taxa elevada pode tornar o treinamento instável e não convergente, enquanto que uma taxa

pequena pode demandar um número muito elevado de épocas para que o erro decaia (RIEDMIL-LER; BRAUN, 1993). Além disto, a alteração dos pesos dos neurônios das camadas escondidas

diminui à medida que o número de camadas aumenta, fazendo com que o treinamento necessite de um número elevado de iterações para a convergência.

O algoritmoResilient Propagation(RPROP) foi proposto (RIEDMILLER; BRAUN, 1993)

com o objetivo de acelerar o processo de treinamento em relação ao algoritmo de retropropagação, introduzindo dois conceitos principais: o uso das trocas de sinais do gradiente de erro local

como guia (ignorando o seu valor absoluto) e a utilização de taxas de aprendizagem adaptativas

individuais (uma taxa adaptativa por conexão sináptica). Um trabalho posterior (IGEL; HÜSKEN, 2000) apresenta alterações no algoritmo RPROP, criando assim o algoritmoImproved Resilient

Propagation(iRPROP).

Com o gradiente de erro calculado para cada neurônio por meio da retropropagação de erro, pode-se tratar o treinamento de uma RNA como um problema de otimização usual, onde

algorit-mos de segunda ordem como o LM podem ser utilizados para uma convergência mais rápida. Quando o número de neurônios é menor do que500(devido à complexidade cúbica do algoritmo

em relação ao número de neurônios) pode-se considerar a utilização do método de LM ou da sua otimização, NBN, no treinamento de RNAs, devido ao seu bom desempenho e à capacidade de

treinar redes com topologias conectadas adiante arbitrárias, como uma FCC (WILAMOWSKI, 2009).

2.3 Máquinas de Vetor de Suporte

Uma SVM é um sistema de aprendizagem de máquina utilizado principalmente em

(43)

2.3 Máquinas de Vetor de Suporte 43

dos vetores de entrada para um espaço de dimensionalidade arbitrária, por meio de uma função

dekernel. Os vetores de entrada estão inicialmente no espaço de entrada (input space) e são

pos-teriormente mapeados para o espaço de características (feature space) por meio de uma função

dekernel. No espaço de características, uma superfície de decisão linear é então ser construída,

desenvolvendo-se então o que se chama de SVM de margem rígida (CORTES; VAPNIK, 1995).

Quando existem vetores que não são separáveis, a computação é realizada com a introdução de variáveis de folga, caracterizando uma SVM de margem suave (CORTES; VAPNIK, 1995).

O método utiliza propriedades especiais para garantir a generalização da máquina, e possui desempenho competitivo em relação a outros métodos de classificação, apesar de que não

exista um desempenho superior em todos os casos (MEYER, 2003). Neste trabalho, SVMs são utilizadas e tem o seu desempenho comparado com RNAs em tarefas de classificação e regressão,

tendo seu uso justificado pelo seu bom desempenho em tais tarefas (MEYER, 2003).

2.3.1 SVM de Margem Rígida

SVMs são utilizadas principalmente na classificação de vetores em classes binárias onde

determina-se o hiperplano ótimo de separação, de forma que seja possível definir duas margens que separam os dados entre as duas classes (SVM de margem rígida) (VAPNIK, 1995). Nas

Equações 2.22 e 2.23 são definidas as restrições que formam as margens de separação, ondexi são os vetores de entrada (os dados classificados),weθformam o separador linear. As restrições

de separação podem ser reescritas como uma única restrição, como visto na Equação 2.24, com a incorporação das etiquetasyi que definem a classe (C1eC2, com os valores de−1ou1), na qual o vetorxi pertence.

w·xi−θ ≥1, xi ∈C1 (2.22)

w·xi−θ ≤ −1, xi ∈C2 (2.23)

yi(w·xi−θ)≥1, xi ∈C1∪C2 (2.24)

(44)

2.3 Máquinas de Vetor de Suporte 44

Tal problema de otimização pode ser visto na Equação 2.25:

min

w,θ

1 2||w||

2 sujeito a

yi(w·xi −θ)≥1. (2.25)

O problema de otimização pode ser reescrito na forma apresentada na Equação 2.26 onden

é a quantidade de vetores de entrada, com a introdução dos operadores lagrangianosαipara lidar com as restrições. Esta é a forma conhecida como primal.

min

w,θ maxα (

1 2||w||

2 −

n X

i=1

αi[yi(w·xi−θ)−1] )

sujeito a αi ≥0

(2.26)

O classificador pode ser descrito utilizando os parâmetrosαiintroduzidos, como visto na Equação 2.27. De fato, o sistema de aprendizagem de máquina recebe o nome de SVM devido à

solução depender somente dos vetores de suporte, que são os vetoresxi que possuem umαi >0. O deslocamento (bias) pode ser calculado pela Equação 2.28 utilizando somente os vetores de

suporte, sendo quensé o número total de vetores de suporte.

w=

n X

i=1

αiyixi (2.27)

θ = 1 ns

ns X

i=1

(w·xi−yi) (2.28)

Pode-se reescrever o problema de otimização para a forma descrita na Equação 2.29, também

conhecida como a forma dual (VAPNIK, 1995, 1999).

max

α

( n

X

i=1

αi−

1 2 n X i=1 n X j=1

αiαjyiyjK(xi, xj) )

sujeito a αi ≥0, Pn

i=1αiyi = 0

(2.29)

A Figura 2.8 exemplifica a seleção dos vetores de suporte (selecionados por círculos) para

a construção do hiperplano separador (reta que cruza os pontos ondex = 2) na classificação dos vetores de entrada em duas classes. Neste caso, percebe-se que os vetores de entrada são

(45)

2.3 Máquinas de Vetor de Suporte 45

-2 -1 0 1 2

-2 -1 0 1 2 3 4 5 6

Classe 1 Classe 2

Figura 2.8: Visualização dos vetores de suporte que formam o hiperplano separador em uma classificação binária.

2.3.2 SVM de Margem Suave

Todo o desenvolvimento previamente descrito utilizou a restrição de classificação descrita pela

Equação 2.24, limitando o classificador em lidar com dados que podem ser separáveis por um hiperplano. Para lidar com os casos que possuem entradas com etiquetas erradas ou que

simplesmente não são separáveis pode-se introduzir as variáveis de relaxamento ou folga ξi, modificando a Equação 2.24 para a Equação 2.30. À esta configuração dá-se o nome de SVM de

margem suave (CORTES; VAPNIK, 1995).

yi(w·xi−θ)≥1−ξi (2.30)

A introdução das variáveis de folgaξilevam a um novo problema de otimização, como visto na Equação 2.31, ondeCé uma constante que define a penalização por cada folgaξi (VAPNIK, 1999).

min

w,θ

1 2||w||

2

+C

n X

i=1

ξi sujeito a yi(w·xi−θ)≥1−ξi, ξi ≥0 (2.31)

(46)

2.3 Máquinas de Vetor de Suporte 46

min

w,θ maxα,B (

1 2||w||

2

+C

n X

i=1

ξi− n X

i=1

αi[yi(w·xi −θ)−1 +ξi]− n X

i=1

Biξi )

sujeito a αi ≥0, Bi ≥0

(2.32)

A transformação do problema para a forma dual elimina as ocorrências das variáveisξi. O problema de otimização para uma SVM de margem suave na forma dual pode ser visto na

Equação 2.33 (VAPNIK, 1999), que difere da Equação 2.29 somente pela presença do limite superiorCna restrição dos valores deαi.

max

α

( n

X

i=1

αi−

1 2 n X i=1 n X j=1

αiαjyiyjK(xi, xj) )

sujeito a C ≥αi ≥0, Pni=1αiyi = 0

(2.33)

2.3.3 Funções de Kernel

As SVMs realizam o mapeamento dos vetores do espaço de entrada para o espaço de

caracterís-ticas, com um aumento no número de dimensões, com o objetivo de facilitar a computação de um hiperplano separador. A realização explícita deste mapeamento seguida pela computação

dos produtos escalares no novo espaço é uma tarefa computacionalmente custosa e inviável para alguns tipos de mapeamento.

Com a utilização de funções dekernelé possível realizar o mapeamento de forma implícita,

com um custo computacional reduzido. A utilização dekernelsnesta forma é chamada dekernel

trick. Outra otimização que pode ser introduzida é a memorização das computações das funções

dekernel, pois estas são calculadas múltiplas vezes para o mesmo par de vetoresxiexj durante o processo de treinamento.

As funções dekernelutilizadas devem definir um produto escalar no espaço de características,

o que é garantido se estas seguem a condição de Mercer (CORTES; VAPNIK, 1995). Caso uma função dekernelque não siga a condição de Mercer seja utilizada, o problema de otimização

resultante pode não ter solução (BURGES, 1998).

Como exemplo de funções dekernelutilizadas pode-se citar okernellinear (Equação 2.34),

okernelpolinomial (Equação 2.35), okernelde função de base radial (RBF) (Equação 2.36) e o

(47)

2.3 Máquinas de Vetor de Suporte 47

K(xi, xj) =xi·xj (2.34)

K(xi, xj) = (xi·xj + 1)d (2.35)

K(xi, xj) =exp −

||xi−xj||2

2σ2 !

(2.36)

K(xi, xj) = tanh(ρ1xi·xj+ρ2) (2.37)

2.3.4 Solução dos Problemas de Otimização

As Equações 2.29 e 2.33 representam a escolha do hiperplano separador ótimo como problemas

de otimização. Estes problemas podem ser resolvidos por meio de programação quadrática, porém existem outros métodos mais eficientes para a solução destes problemas de otimização.

Entre os algoritmos existentes pode-se citar oKernel-Adatron(KA) (THILO-THOMAS;

CRISTIANINI; CAMPBELL, 1998), oSimple SVM Algorithm(SSVM) (VISHWANATHAN;

Narasimha Murty, 2002), oDirectSVM(ROOBAERT, 2002), oSequential Minimal Optimization

(SMO) (PLATT, 1998) e sua variação proposta em (WANG; LI, 2006).

O algoritmo KA é descrito em pseudocódigo no Algoritmo 2.4, ondeK é a função dekernel,

ηé taxa de aprendizagem, e as funçõesmin(z)emax(z)retornam o menor e o maior elemento do vetorz, respectivamente. Como exemplo, pode-se utilizar como critério de parada um limite

de iterações. Outro exemplo é parar o algoritmo quando as classificações dos padrões (zi) das classes opostas tiverem uma distância maior do que um valor arbitrário.

Bibliotecas de código fonte aberto foram publicadas, entre elas a SVMlight (JOACHIMS,

1999) e alibsvm(CHANG; LIN, 2011), que utilizam algoritmos de otimização baseados no

SMO.

Por motivos didáticos, foi publicada uma biblioteca para o treinamento de SVMs com suporte

a funções dekernelarbitrárias por meio do algoritmo KA. Esta biblioteca foi publicada sob uma

Figure

Updating...

References

Updating...

Download now (121 pages)