Relatorio de Reconhecimento de Padrões

7
Pós-Graduação em Engenharia Elétrica e de Computação - PPGEEC Disciplina: Reconhecimento de Padrões Prof. Dr. Jarbas Joaci de Mesquita Sá Junior Universidade Federal do Ceará – UFC/Sobral Luís Bruno Pereira do Nascimento Relatório – 3º Trabalho 1 INTRODUÇÃO O presente relatório apresenta os resultados do terceiro trabalho da disciplina de Reconhecimento de Padrões, o qual especifica detalhes da implementação de dois modelos de regressão para a base de dados “Aerogerador” e do classificador por Mínimos Quadrados aplicado à base de dados “Dermatology”, assim como de duas estratégias de validação cruzada para esse classificador, no caso, Leave-One-Out e K-Fold. O software foi implementado em linguagem Matlab, versão R2012 plataforma UNIX 64bits. Ele possui os aquivos Trab3_LBruno.m, Trab3_Lbruno.fig, aerogerador.dat e dermatology.data (Com amostras incompletas já removidas). 2 IMPLEMENTAÇÃO Esta seção apresenta alguns detalhes referentes à implementação do classificador, dos modelos de regressão e das estratégias de validação. 2.1 Regressão Linear A Regressão Linear é um modelo matemático capaz de estimar valores através de uma função linear. Baseada no método dos mínimos quadrados, é necessário obter os valores dos parâmetros alpha e beta que minimizem a soma dos quadrados dos erros. Esses valores são dados por: a = ¯ y −β ¯ x (1) Tal que: (2) Para avaliar a qualidade do modelo gerado é utilizado o coeficiente de determinação (R²) que indica a quantidade de variabilidade que o modelo de regressão é capaz de explicar. O R² é dado pela fórmula: (3)

description

Relatório de Reconhecimento de PadrõesImplementação de técnicas de RP.

Transcript of Relatorio de Reconhecimento de Padrões

Page 1: Relatorio de Reconhecimento de Padrões

Pós-Graduação em Engenharia Elétrica e de Computação - PPGEEC Disciplina: Reconhecimento de Padrões

Prof. Dr. Jarbas Joaci de Mesquita Sá Junior Universidade Federal do Ceará – UFC/Sobral

Luís Bruno Pereira do Nascimento

Relatório – 3º Trabalho

1 INTRODUÇÃO

O presente relatório apresenta os resultados do terceiro trabalho da disciplina deReconhecimento de Padrões, o qual especifica detalhes da implementação de dois modelos deregressão para a base de dados “Aerogerador” e do classificador por Mínimos Quadradosaplicado à base de dados “Dermatology”, assim como de duas estratégias de validação cruzadapara esse classificador, no caso, Leave-One-Out e K-Fold.

O software foi implementado em linguagem Matlab, versão R2012 plataforma UNIX64bits. Ele possui os aquivos Trab3_LBruno.m, Trab3_Lbruno.fig, aerogerador.dat edermatology.data (Com amostras incompletas já removidas).

2 IMPLEMENTAÇÃO

Esta seção apresenta alguns detalhes referentes à implementação do classificador, dosmodelos de regressão e das estratégias de validação.

2.1 Regressão Linear

A Regressão Linear é um modelo matemático capaz de estimar valores através de umafunção linear.

Baseada no método dos mínimos quadrados, é necessário obter os valores dosparâmetros alpha e beta que minimizem a soma dos quadrados dos erros. Esses valores sãodados por:

a= y−β x (1)

Tal que:

(2)

Para avaliar a qualidade do modelo gerado é utilizado o coeficiente de determinação(R²) que indica a quantidade de variabilidade que o modelo de regressão é capaz de explicar.

O R² é dado pela fórmula:

(3)

Page 2: Relatorio de Reconhecimento de Padrões

2.2 Regressão Linear Múltipla

Regressão Múltipla visa utilizar modelos polinomiais de graus superiores a 1. Aequação matricial que rege essa técnica é:

(4)

Em que X é uma matriz dada por:

(5)

Para avaliar a qualidade do modelo gerado é utilizado o coeficiente de determinação(R²) que indica a quantidade de de variabilidade que o modelo de regressão é capaz de explicar.

O R² para modelos polinomiais de grau maior que 1, ou seja, o coeficiente dedeterminação ajustado é dado pela fórmula:

(6)

Em que k = p + 1

2.3 Modelo Sigmoidal

Sigmoide é uma função matemática cuja plotagem possui formato de um 'S'. O modelosigmoidal se aplica aos dados do aerogerador por conta do formato gerado pelos dados depotência gerada.

Ela é definida como:

f (x)=1

1+e−a( x−c) (7)

Em que 'a' e 'c' são os parâmetros que definem o grau de inclinação da curva (slope) eposição em reação ao eixo x.

Para determinar o melhor valor de slope para o modelo, foi criado um pequenoalgoritmo que busca esse valor, como pode ser observado no quadro 1.

Quadro 1 – Trecho da geração do modelo sigmoidal...    

1     slp=0;2     pos =9.2;3     while(slp<=1) % Percorrendo de 0 a 1        4        y2 = 600./(1+exp(­slp*(x­pos)));5        r2 = 1­(sum((y­y2).^2)/sum((y­mean(y)).^2));6        slp = slp + 0.1;                 7        if(r2>0.96) % baseado no R² do modelo polinomial8            break;

Page 3: Relatorio de Reconhecimento de Padrões

9        end10    end

O Coeficiente de determinação para o modelo sigmoidal é dado pela formula (3).

2.4 Classificação da base 'Dermatology'

A base 'dermatology' foi classificada através do método dos mínimos quadrados.Inicialmente foram removidas 8 amostras da base que continham dados não-conhecidos. Foicriada uma função para organizar os dados de forma a obter uma melhor facilidade naclassificação.

Através da transformação linear y = Ax foi possível gerar um vetor contendo um“diagnóstico” da patologia correspondente, em que y é o vetor-código (que contém odiagnostico), A é uma matriz que contém o modelo matemático e x é um vetor de amostra.

A matriz A de transformação é dada por A=YXT(XXT

)−1 em que X é a matriz que

contém as amostras das patologias e Y contém os códigos em formato binário das patologias.A transformação linear y = A*x gera um vetor com 6 elementos, onde a maior de suas

componentes denota a posição da classe, ou seja, a patologia que o paciente codificado como 'x'apresenta.

2.4.1 Validação Leave-One-Out

A implementação da validação cruzada leave-one-out para o classificador por mínimosquadrados está presente no quadro 2.

Quadro 2 – Leave-One-Out1     ...    2     len = numel(base(:,1));3     cont = 0;4     for i=1:len5         Y1 = Y; % Variáveis Auxiliares6         X1 = X; % Variáveis Auxiliares7         Y1(:,i)=[]; % Removendo o valor da matriz de patologias8         X1(:,i)=[]; % Removendo a amostra 9         A = (Y1*X1')*(X1*X1')^­1; %Gerando o modelo10        [v pos]=max(A*X(:,i)); % Valor e Posição 11        if(pos == base(i,end))12            cont = cont + 100; % Acertou13       end    14    end

Nas linhas 6 e 7 pode-se observar que o elemento da posição atual está sendoremovido, respeitando definição da estratégia leave-one-out.

Como mencionado acima, o maior valor da multiplicação A*x (linha 10) gera um vetore o maior elemento representa mostra a classe da patologia. A condição na linha 11 mostra se oteste está correto.

A acurácia do modelo é dada pelo número de acertos dividido pelo número deamostras da base (cont/ len).

Page 4: Relatorio de Reconhecimento de Padrões

2.4.2 Validação K-Fold

A implementação da validação cruzada K-Fold para o classificador por mínimosquadrados está presente no quadro 3.

Quadro 3 – Implementação do K-Fold1     ...2     len = numel(base(:,1)); % Número de elementos3     nAmostras = ones(1,k)*fix(len/k); % Parte inteira da divisao4     resto = mod(len,k); % Elementos que restaram5     for i=1:resto6         nAmostras(i)=nAmostras(i)+1; % Distribuição dos elementos7     end8     acertos = [];9     inter=0;    10    for i=1:k11        cont = 0;12        X1 = X;13        Y1 = Y;14        inter = inter(end)+1 : inter(end)+nAmostras(i); % Intervalos      16        xTeste = base(inter, :);17        X1(:,inter) = [];18        Y1(:,inter) = [];        19        for j=1:nAmostras(i)20            A = (Y1*X1')*(X1*X1')^­1;21            [v pos]=max(A*xTeste(j,1:end­1)'); % Valor e Posicao 22            if(pos == xTeste(j,end))23                cont = cont + 100; % Acertou24            end 25        end 26        acertos = [acertos cont/nAmostras(i)];27        inter=sum(nAmostras(1:i));28    end

A variável 'k' que define o número 'K' de subgrupos é passado como parâmetro nessafunção.

Segundo definição, os dados são divididos e 'k' grupos. Os dados que restaram dadivisão são distribuídos entre os grupos (linhas 3-7).

Na linha 14 é gerado um range com valores referentes aos k intervalos de nAmostraselementos

A variável cont (linha 23) um conta os acertos do modelo. A acurácia é dada pelamédia do vetor de acertos (linha 26). mean(acertos)

3 RESULTADOS E DISCUSSÃO

Esta seção apresenta alguns resultados obtidos com a implementação dos modelospolinomiais e sigmoidal e dos métodos de validação cruzada para o classificador por MínimosQuadrados aplicados na base Dermatology. A figura 1 apresenta o software implementado.

Page 5: Relatorio de Reconhecimento de Padrões

Figura 1 – Software implementado

Através da interface gráfica, tornou-se simples o manuseio do software. No painel“Modelos Polinomiais” é possível gerar modelos de regressão sob a base da dadosaerogerador.dat. É possível escolher o grau do polinômio em que o modelo é gerado.

No painel “Classificação da base Dermatology”, é possível classificar a base atravésdos mínimos quadrados e aplicar os métodos de validação cruzada “leave-one-out” e “k-fold”,onde k pode variar em 5, 6 e 10.

3.1 Modelos Polinomiais

Através da implementação dos modelos de regressão com polinômios de graus 1 a 6foi possível observar a variação da qualidade do modelo pelo coeficiente R². A figura 2 mostraum gráfico que relaciona o coeficiente de determinação com o número de parâmetros domodelo (1 a 9) para fins de visualização do comportamento.

Figura 2 – Parâmetros do polinômio X R²

Page 6: Relatorio de Reconhecimento de Padrões

É notório que de acordo com o aumento do grau do polinômio o coeficiente dedeterminação aumenta, entretanto, em um determinado número de parâmetro, não há mais umaumento na qualidade do modelo, ou seja, o polinômio de 4º grau melhor define o modelo.

Para o modelo sigmoidal, foi realizada uma busca exaustiva com uma variação doparâmetro 'slope' da função sigmoide.

Figura 2 – Modelo Sigmoidal

Para as variações no 'slope' presentes na figura 3, foram gerados os seguintes valoresde R² = [ -2.3977e-04 0.4241 0.7093 0.8772 0.9558 0.9690], sendo o último o valorreferente à sigmoide vermelha.

3.2 Classificação da base Dermatology

Utilizando o método dos mínimos quadrados, a base foi classificada. O classificadorobteve bons níveis de acertos, medidos pelos métodos leave-one-out e k-fold.

Utilizando o primeiro método de validação cruzada, o classificador obteve umaacurácia de 97.21% de acertos. Aplicando uma normalização nos dados por Z-Score a taxa deacertos cai para 96.64%.

Aplicando o método K-fold, com k = [5 6 10], o classificador obteve resultadossimilares ao apresentado pelo leave-one-out, em média 96%. Com Z-score, os valores nãosofreram uma mudança considerável.

Pelo fato dos dados serem permutados a cada execução, não é possível determinar umataxa fixa de acertos, mas com K=5, 5 execuções seguidas mostraram acurácias: 96.373, 96.643,95.806, 96.365, 97.480.

Page 7: Relatorio de Reconhecimento de Padrões

3.3 Matriz de Confusão

Considerando a tabela 1 que mostra o número de amostras por patologia, as tabelas 2 e3 apresentam matrizes de confusão contendo a distribuição dos acertos em cada uma dasestratégias de validação, com a base de dados normalizada.

Tabela 1 – Patologias Patologias (Número de Pacientes)

Psoríase(111)

DermatiteSeborréica (60)

Líquen plano(71)

Pitiríase rósea(48)

DermatiteCrônica (48)

Pitiríase rubrapilar (20)

Tabela 2 – Matriz de Confusão Leave-one-OutPsoríase Dermatite

SeborréicaLíquenplano

Pitiríaserósea

DermatiteCrônica

Pitiríaserubra pilar

Psoríase 98,20% 1,8018% 0% 0% 0% 0%

DermatiteSeborréica

0% 90% 0% 10% 0% 0%

Líquen plano 0% 0% 98,59% 0% 1.4085% 0%

Pitiríase rósea 0% 6,25% 0% 93,75% 0%

DermatiteCrônica

0% 0% 0% 0% 100% 0%

Pitiríase rubrapilar

0% 0% 0% 0% 0% 100%

Tabela 3 – Matriz de Confusão 5-Fold (Acurácia de 96.921%)Psoríase Dermatite

SeborréicaLíquenplano

Pitiríaserósea

DermatiteCrônica

Pitiríaserubra pilar

Psoríase 99,1% 0,9% 0% 0% 0% 0%

DermatiteSeborréica

1,66% 93,33% 0% 5% 0% 0%

Líquen plano 0% 0% 98,59% 0% 1,408% 0%

Pitiríase rósea 0% 10,416% 0% 89,58% 0% 0%

DermatiteCrônica

0% 0% 0% 0% 100% 0%

Pitiríase rubrapilar

0% 0% 0% 0% 0% 100%

A partir da matriz de confusão pode-se observar que a classificação foi satisfatóriadevido aos valores da diagonal principal serem próximos de 100% em ambas as estratégias declassificação.