Reconhecimento de Padrões em Imagens por Descritores de Forma
Relatorio de Reconhecimento de Padrões
-
Upload
brunonascimento -
Category
Documents
-
view
224 -
download
0
description
Transcript of 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)
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*(xpos)));5 r2 = 1(sum((yy2).^2)/sum((ymean(y)).^2));6 slp = slp + 0.1; 7 if(r2>0.96) % baseado no R² do modelo polinomial8 break;
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).
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:end1)'); % 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.
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²
É 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.
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.