Departamento de Engenharia Elétrica
MÉTODOS DE KERNEL EM ESTIMAÇÃO DE IDADES
Aluno: Daniel Coelho de Castro
Orientadores: Marley M. B. Rebuzzi Vellasco e Raul Queiroz Feitosa
Nota
Este trabalho está apresentado em formato de monografia, pois meu projeto de conclusão de curso
foi baseado na pesquisa desenvolvida ao longo do estágio de Iniciação Científica.
Resumo
Como muitos problemas em visão computacional, a estimação de idades a partir de imagens
faciais envolve um número elevado de atributos. Para viabilizar computacionalmente a aplicação
de um método de regressão e eliminar a influência de atributos irrelevantes ou redundantes, é
apropriada a realização de uma etapa intermediária de redução de dimensionalidade, que explore a
estrutura dos dados de modo simplificar a tarefa de estimação.
Foram estudados os métodos de análise de componentes principais (PCA), análise discriminante
linear (LDA) e aprendizado de subespaço através de ordenação de idades por pares (PAR) para a
redução de dimensionalidade, aplicados ao problema de estimação de idades. Foram avaliadas
comparativamente as variantes não lineares, baseadas em kernels, de PCA e LDA, KPCA e KDA,
assim como uma de PAR, KPAR, que foi derivada neste trabalho. Resultados sugerem uma
melhora significativa na acurácia da estimação das idades quando são aplicados os métodos não
lineares em comparação com os métodos lineares correspondentes.
Palavras-chave: redução de dimensionalidade; métodos de kernel; regressão; estimação de
idades
Departamento de Engenharia Elétrica
Sumário
1. Introdução ..................................................................................................................................... 1
1.a. Objetivos ................................................................................................................................. 2
1.b. Organização ............................................................................................................................ 2
2. Fundamentos Teóricos .................................................................................................................. 3
2.a. Extração de atributos ............................................................................................................... 3
2.b. Métodos de kernel ................................................................................................................... 4
2.b.i. Centralização do kernel .................................................................................................... 6
2.c. Redução de dimensionalidade ................................................................................................. 6
2.c.i. Análise de componentes principais .................................................................................. 7
2.c.ii. Análise discriminante linear ............................................................................................ 9
2.c.iii. Aprendizado de subespaço através de ordenação de idades por pares ......................... 12
2.d. Regressão .............................................................................................................................. 16
2.d.i. Regressão linear .............................................................................................................. 16
2.d.ii. Regressão por vetores de suporte .................................................................................. 16
3. Procedimento Experimental ........................................................................................................ 20
3.a. Banco de dados ..................................................................................................................... 20
3.b. Métricas................................................................................................................................. 20
3.b.i. Erro absoluto médio ....................................................................................................... 20
3.b.ii. Escore acumulado .......................................................................................................... 21
3.c. Metodologia experimental .................................................................................................... 21
3.c.i. Validação cruzada ........................................................................................................... 21
3.c.ii. Significância dos resultados .......................................................................................... 22
3.c.iii. Ambiente experimental ................................................................................................ 22
4. Resultados e Discussão ............................................................................................................... 23
4.a. Experimento 1 ....................................................................................................................... 24
4.b. Experimento 2 ....................................................................................................................... 25
4.c. Experimento 3 ....................................................................................................................... 29
5. Conclusão .................................................................................................................................... 30
Referências ...................................................................................................................................... 31
Apêndice A. Extração de atributos ................................................................................................. 35
Apêndice B. Desenvolvimentos matemáticos ................................................................................. 38
Departamento de Engenharia Elétrica
Notação
𝑘, 𝜆 Escalar
𝐱, 𝛂 Vetor-coluna
𝐗, 𝐀 Matriz
𝑚𝑖, (𝐦)𝑖 Elemento 𝑖 do vetor 𝐦
𝐾𝑖𝑗 , (𝐊)𝑖𝑗 Elemento (𝑖, 𝑗) da matriz 𝐊
𝐾𝑖⋅, (𝐊)𝑖⋅ Linha 𝑖 da matriz 𝐊
𝐾⋅𝑗 , (𝐊)⋅𝑗 Coluna 𝑗 da matriz 𝐊
�̅�, �̅� Vetor médio
⟨⋅,⋅⟩, ‖⋅‖ Produto interno Euclidiano do espaço de dados 𝒳 ⊆ ℝ𝑑 e
a norma correspondente
⟨⋅,⋅⟩ℱ , ‖⋅‖ℱ Produto interno do espaço de atributos ℱ e a norma
correspondente
�̂� Estimador/estimativa da grandeza 𝜔
(𝑎𝑖)𝑖=1𝑛 , (𝑎𝑖)𝑖 Sequência (𝑎1, 𝑎2, … , 𝑎𝑛)
{𝑎𝑖}𝑖=1𝑛 , {𝑎𝑖}𝑖 Conjunto {𝑎𝑖|𝑖 = 1, … , 𝑛}
[𝑛] Conjunto {1,2, … , 𝑛}
1𝑛 Vetor 1𝑛 ∈ ℝ𝑛, (1𝑛)𝑖 =1
𝑛
𝟏𝑛 Matriz 𝟏𝑛 ∈ ℝ𝑛×𝑛, (𝟏𝑛)𝑖𝑗 =1
𝑛
𝐈 Matriz identidade com dimensões apropriadas
Departamento de Engenharia Elétrica
1
1. Introdução
Com o avanço de técnicas de visão computacional e sua utilização cada vez mais frequente
em biometria, o problema de estimação de idade de indivíduos a partir de imagens faciais tem
despertado particular interesse nos últimos anos. Suas possíveis aplicações variam desde
segurança e controle parental até entretenimento, marketing e interação humano-computador,
sendo também possível aprimorar sistemas de reconhecimento facial existentes.
As primeiras iniciativas de pesquisa na área de estimação de idades foram baseadas em
modelos puramente morfológicos de face [1, 2]. Posteriormente, popularizaram-se modelos
estatísticos de aparência, conjugando forma e textura [3, 4]. Este tipo de modelo é o mais
amplamente utilizado atualmente para a extração de atributos faciais.
Como muitos problemas em visão computacional, a estimação de idade envolve um número
elevado de atributos, muitos dos quais potencialmente irrelevantes ou redundantes. Nesta
situação, a aplicação direta de um método de regressão pode ser inviabilizada devido ao alto
custo computacional, o que é comumente chamado de maldição da dimensionalidade [5].
Assim, é desejável a aplicação de alguma técnica de redução de dimensionalidade, que
explore a estrutura inerente aos dados de modo a simplificar a tarefa de estimação. Por ser
uma ferramenta fundamental em análise de dados, redução de dimensionalidade é uma área de
pesquisa extremamente ativa, razão pela qual existem inúmeras técnicas desenvolvidas com
este fim.
Alguns algoritmos partem da ideia de preservação de distâncias. Um dos métodos não lineares
pioneiros deste tipo é o mapeamento de Sammon, que constrói as projeções dos dados
minimizando explicitamente as distorções de distâncias entre os pontos [6]. Há também
métodos baseados no lema de Johnson-Lindenstrauss [7], que buscam construir matrizes de
projeção aleatórias com características apropriadas.
Outras técnicas se baseiam em grafos de vizinhança, que representam a estrutura do espaço de
dados, construídos por um algoritmo como k-vizinhos mais próximos (kNN, k-nearest
neighbours), por exemplo. Isomap constrói uma projeção a partir de distâncias geodésicas
(custos de caminhos no grafo) [8]. LLE (Locally Linear Embedding) busca expressar cada
ponto como uma combinação linear de seus vizinhos [9]. Automapas Laplacianos (Laplacian
eigenmaps) se baseiam nas autofunções do operador de Laplace-Beltrami no grafo [10].
Mapas de difusão aplicam a relação entre difusão de calor e cadeias de Markov para explicar
as relações entre os dados [11].
Mapas auto-organizados de Kohonen (SOM, Self-Organizing Maps) também podem ser
usados para redução de dimensionalidade, formando um modelo probabilístico de variáveis
latentes para representar a relação do espaço de dados com o espaço reduzido [12]. Também
baseada em redes neurais artificiais, a análise de distâncias curvilíneas (CDA) aplica uma
análise similar ao mapeamento de Sammon, mas computando distâncias geodésicas [13].
Análise de componentes principais (PCA) e análise discriminante linear (LDA), apesar de
serem técnicas lineares simples, são muito úteis e amplamente utilizadas. Existem também
variantes não lineares destas, obtidas com funções de kernel [14], denominadas KPCA (kernel
PCA) e KDA (kernel discriminant analysis).
Em sua dissertação de Mestrado, José Bermúdez Castro propôs uma metodologia para a
extração de atributos das imagens faciais, redução de dimensionalidade e regressão de idades
Departamento de Engenharia Elétrica
2
[15]. O processo de extração proposto gera 247 atributos no banco de dados estudado. Estes
são, então, reduzidos com PCA, LDA e aprendizado de subespaço através de ordenação de
idades por pares (PAR), um método supervisionado que explora a relação de mais velho-mais
novo entre os indivíduos [16].
Devido à complexidade do processo de envelhecimento facial, todavia, algoritmos lineares
como PCA, LDA e PAR podem não ser capazes de capturar fielmente os padrões de interação
entre os atributos. Portanto, aprofundando a abordagem acima, foram avaliadas suas variantes
não lineares, KPCA e KDA, e foi derivada uma nova variante para PAR, KPAR.
1.a. Objetivos
Objetivo geral
- Investigar métodos não lineares para a estimação de idade a partir de fotos.
Objetivos específicos
- Derivar uma variante baseada em kernel do algoritmo de aprendizado de subespaço através
de ordenação de idades por pares.
- Comparar o desempenho de métodos lineares de redução de dimensionalidade com suas
versões baseadas em kernel.
1.b. Organização
Esta monografia está estruturada em cinco capítulos. O capítulo 2 inclui uma breve introdução
à teoria de kernels e descreve em detalhes os fundamentos dos métodos estudados. O capítulo
3 apresenta o banco de dados utilizado e o protocolo experimental que foi empregado. O
capítulo 4 detalha os resultados obtidos e o capítulo 5 apresenta um resumo das conclusões e
indica futuras direções de desenvolvimento.
Departamento de Engenharia Elétrica
3
2. Fundamentos Teóricos
Neste capítulo, serão apresentados os algoritmos que foram aplicados e avaliados neste
trabalho. Primeiramente, é dada uma visão geral do processo de extração de atributos que foi
utilizado para processar o banco de dados de imagens (2.a). Em seguida, são apresentadas
sucintamente a teoria de kernels e sua relevância para métodos de aprendizado de máquina
(2.b). Na seção seguinte, detalham-se os métodos de redução de dimensionalidade estudados,
bem como a derivação de suas variantes não lineares baseadas em kernels (2.c). Por fim, é
dada uma breve descrição dos métodos de regressão empregados (2.d).
2.a. Extração de atributos
Foi utilizado para este trabalho o procedimento de extração de atributos adotado em [15].
Dada uma imagem facial, o processo completo consiste fundamentalmente de quatro etapas:
1. Detecção da face
2. Localização dos pontos fiduciais
3. Alinhamento
4. Extração de atributos
Figura 1. Exemplo de instância do modelo de forma usado na etapa de extração de atributos
Como o foco deste projeto está na análise dos atributos uma vez que já tenham sido extraídos
das imagens, os detalhes sobre os algoritmos utilizados em cada uma destas etapas e as
respectivas referências são apresentados à parte, no Apêndice A.
Aplicando-se o processo acima a um banco de imagens, obtém-se uma matriz de dados 𝐗,
contendo 𝑛 instâncias 𝐱𝑖 com 𝑑 atributos, que chamaremos de conjunto de dados de entrada e
será o ponto de partida para todos os métodos estudados:
𝐗 = (𝐱1, … , 𝐱𝑛), 𝐱𝑖 ∈ 𝒳
Aqui, 𝒳 ⊆ ℝ𝑑 denotará o espaço de dados de entrada.
Adicionalmente, definiremos �̅� como o ponto médio global, sendo 1𝑛 ∈ ℝ𝑛, (1𝑛)𝑖 =1
𝑛:
Departamento de Engenharia Elétrica
4
�̅� =
1
𝑛∑ 𝐱𝑖
𝑛
𝑖=1
= 𝐗1𝑛 (1)
2.b. Métodos de kernel
Para explorar relações complexas entre os dados, pode não ser suficiente trabalhar
diretamente no espaço dos dados de entrada. Muitas vezes, é interessante aplicar alguma
forma de mapeamento para outro espaço que reflita de modo mais natural sua estrutura.
Em alguns casos, pode-se aplicar uma transformação não linear através do pré-processamento
dos dados. No entanto, algumas transformações podem ter custo proibitivo em termos de
tempo de processamento e espaço de armazenamento. Por exemplo, uma transformação
polinomial de grau 𝑝 sobre dados de dimensão 𝑑 é capaz de gerar (𝑑 + 𝑝 − 1
𝑝) termos
monomiais. Em uma tarefa de OCR, onde valores típicos com bons resultados são 𝑝 = 7,
𝑑 = 282 = 784, esta abordagem produziria 3,7 × 1016 atributos [17].
Uma alternativa é definir tal mapeamento de forma implícita, através de uma função de kernel
apropriada. Prova-se que, satisfeitas algumas propriedades (as condições de Mercer, que
garantem que o kernel será simétrico definido positivo [14]), uma função de kernel 𝑘 define
univocamente um espaço de Hilbert de reprodução (EHR, ou Reproducing Kernel Hilbert
Space – RKHS, em inglês) [18]. Sendo 𝒳 o espaço original dos dados de entrada e ℱ um
espaço vetorial de atributos, a definição deste EHR induz intrinsicamente um mapeamento
𝜑: 𝒳 → ℱ, através de um produto interno:
𝑘: 𝒳2 → ℝ, 𝑘(𝐱, 𝐲) = ⟨𝜑(𝐱), 𝜑(𝐲)⟩ℱ (2)
Uma propriedade importante de um EHR, e que o diferencia de espaços de Hilbert
convencionais, é a de que suas funções podem ser avaliadas em todo ponto (ou seja, em todas
as instâncias de dados), o que torna possível utilizá-lo em problemas de aprendizado [18].
Em [14], é apresentada em detalhes uma discussão sobre a caracterização formal e
propriedades de funções de kernel, sob a ótica da análise funcional. Adicionalmente, um
estudo aprofundado sobre a interpretação e as propriedades geométricas dos dados no espaço
de atributos e sua relação com o espaço de entrada pode ser encontrado em [19].
Do ponto de vista do aprendizado de máquina, a observação essencial é a de que, se um
algoritmo linear depender apenas de produtos internos entre instâncias, pode-se transpô-lo não
linearmente para um espaço de atributos ℱ, através de uma função de kernel. Esta, por sua
vez, representará um produto interno em ℱ e evitará a especificação explícita do mapeamento
não linear 𝜑. Este procedimento é conhecido como “truque do kernel” (kernel trick, em
inglês) [20].
A seguir são expostas algumas funções de kernel típicas, para o caso 𝒳 ⊆ ℝ𝑑 [14, 17]:
𝑘(𝐱, 𝐲) = ⟨𝐱, 𝐲⟩𝑝, 𝑝 ∈ ℕ Polinomial homogênea: 𝜑 apresenta apenas os monômios de
grau 𝑝, e.g. 𝑝 = 2: 𝜑(𝑥1, 𝑥2) = (𝑥12, √2 𝑥1𝑥2, 𝑥2
2).
𝑘(𝐱, 𝐲) = (⟨𝐱, 𝐲⟩ + 𝑐)𝑝, 𝑝∈ ℕ, 𝑐 > 0
Polinomial não homogênea: 𝜑 apresenta todos os monômios
de grau inferior ou igual a 𝑝, e.g. 𝑝 = 2: 𝜑(𝑥1, 𝑥2) =
Departamento de Engenharia Elétrica
5
(𝑥12, √2 𝑥1𝑥2, 𝑥2
2, √2𝑐 𝑥1, √2𝑐 𝑥2, 𝑐).
𝑘(𝐱, 𝐲)
= exp (−‖𝐱 − 𝐲‖2
2𝜎2) , 𝜎 > 0
Função de base radial (RBF) Gaussiana: codifica
dissimilaridades, dependendo apenas da distância entre os
dados. Tem efeito de filtro, reduzindo a influência de ruídos
de alta frequência [18].
𝑘(𝐱, 𝐲) = tanh(𝜗⟨𝐱, 𝐲⟩ + 𝛿)
Tangente hiperbólica: é atraente por sua relação com Redes
Neurais. Embora não seja formalmente uma função de kernel,
é aplicada com sucesso na prática [21].
De modo geral, a fase de treinamento de algoritmos baseados em kernel pode ser expressa em
função de uma matriz de kernel 𝐊. Esta matriz contém os produtos internos entre todas as
instâncias de treinamento no espaço de atributos, sendo chamada uma matriz de Gram:
𝐊 ∈ ℝ𝑛×𝑛, 𝐾𝑖𝑗 = ⟨𝜑(𝐱𝑖), 𝜑(𝐱𝑗)⟩
ℱ= 𝑘(𝐱𝑖, 𝐱𝑗) ⇔ 𝐊 =
1
𝑛𝚽𝑇𝚽 (3)
Seja 𝐰 um elemento do espaço vetorial gerado pelos dados de entrada em ℱ. Ele pode, por
definição, ser descrito como uma combinação linear dos mesmos:
𝐰 = ∑ 𝛼𝑖𝜑(𝐱𝑖)
𝑛
𝑖=1
= 𝚽𝛂 (4)
A partir desta expansão, é fácil mostrar que a projeção de uma instância 𝐱 ∈ 𝒳 do conjunto de
dados (mapeada para o espaço de atributos: 𝜑(𝐱) ∈ ℱ) sobre uma direção arbitrária 𝐰 ∈ ℱ
pode ser expressa somente em termos da função de kernel e dos coeficientes da expansão de
𝐰, valendo-se da linearidade do produto interno:
⟨𝐰, 𝜑(𝐱)⟩ℱ = ⟨∑ 𝛼𝑖𝜑(𝐱𝑖)
𝑛
𝑖=1
, 𝜑(𝐱)⟩
ℱ
= ∑ 𝛼𝑖⟨𝜑(𝐱𝑖), 𝜑(𝐱)⟩ℱ
𝑛
𝑖=1
= ∑ 𝛼𝑖𝑘(𝐱𝑖, 𝐱)
𝑛
𝑖=1
= 𝛂𝑇𝛋(𝐱)
(5)
⟨𝐰𝑘, 𝐰𝑙⟩ℱ = ⟨∑ 𝛼𝑘𝑖𝜑(𝐱𝑖)
𝑛
𝑖=1
, ∑ 𝛼𝑙𝑗𝜑(𝐱𝑗)
𝑛
𝑗=1
⟩
ℱ
= ∑ ∑ 𝛼𝑘𝑖𝛼𝑙𝑗⟨𝜑(𝐱𝑖), 𝜑(𝐱𝑗)⟩ℱ
𝑛
𝑗=1
𝑛
𝑖=1
= ∑ ∑ 𝛼𝑘𝑖𝛼𝑙𝑗𝑘(𝐱𝑖, 𝐱𝑗)
𝑛
𝑗=1
𝑛
𝑖=1
= ∑ ∑ 𝛼𝑘𝑖𝛼𝑙𝑗𝐾𝑖𝑗
𝑛
𝑗=1
𝑛
𝑖=1
= 𝛂𝑘𝑇𝐊𝛂𝑙
(6)
‖𝐰‖ℱ2 = ⟨𝐰, 𝐰⟩ℱ = 𝛂𝑇𝐊𝛂 (7)
No restante deste trabalho, por simplicidade, os elementos de ℱ (𝐰𝑘, 𝛗𝑖, 𝜑(𝐱) etc.) serão
denotados como vetores, embora ℱ possa ser um espaço de dimensão infinita. Neste caso, a
notação 𝛗𝑇 deve ser entendida como o operador ⟨𝛗, ⋅ ⟩ℱ, para um dado elemento 𝛗 ∈ ℱ, e
todas as operações matriciais, como seus equivalentes funcionais.
Além disso, será adotada a seguinte notação simplificada:
Departamento de Engenharia Elétrica
6
𝛗𝑖 = 𝜑(𝐱𝑖) ∈ ℱ Mapeamento da 𝑖-ésima instância para o espaço de
atributos ℱ
𝚽 = (𝛗1, … , 𝛗𝑛) ∈ ℱ𝑛 Mapeamento do conjunto de dados para o espaço de
atributos ℱ
�̅� =1
𝑛∑ 𝛗𝑖
𝑛
𝑖=1
= 𝚽1𝑛 ∈ ℱ Mapeamento médio para o espaço de atributos ℱ
𝛋(𝐱)
= (𝑘(𝐱1, 𝐱), … , 𝑘(𝐱𝑛, 𝐱))𝑇
∈ ℝ𝑛 Projeção da instância 𝐱 sobre cada um dos padrões de
treinamento, no espaço de atributos ℱ
𝛋𝑖 = 𝛋(𝐱𝑖) = (𝐊)⋅𝑖 ∈ ℝ𝑛 Projeção da 𝑖-ésima instância sobre os demais padrões de
treinamento no espaço de atributos ℱ
�̅� =1
𝑛∑ 𝛋𝑖
𝑛
𝑖=1
= 𝐊1𝑛 ∈ ℝ𝑛 Projeção média de cada padrão de treinamento sobre os
demais no espaço de atributos ℱ
𝐰 = ∑ 𝛼𝑖𝛗𝑖
𝑛
𝑖=1
= 𝚽𝛂 𝐰 ∈ ℱ 𝛂 ∈ ℝ𝑛
𝐰: Direção arbitrária do espaço de atributos ℱ
𝛂: Vetor de coeficientes da expansão de 𝐰 sobre os
atributos dos padrões de treinamento
2.b.i. Centralização do kernel
Sabe-se que o bom desempenho de alguns métodos, como PCA (item 2.c.i), depende da
centralização das instâncias. Porém, apesar de havermos assumido até aqui que o mapeamento
𝜑 era centrado, ou seja, ∑ 𝜑(𝐱𝑖)𝑛𝑖=1 = 𝟎ℱ, em geral não é possível garantir que isto aconteça,
já que 𝜑 não é especificado explicitamente. Assim, se a centralização for necessária, ela deve
ser aplicada ao kernel diretamente. Em resumo, as transformações de centralização se
escrevem como a seguir (desenvolvimento completo no Apêndice B.1):
𝑘′(𝐱𝑖, 𝐱) = 𝑘(𝐱𝑖, 𝐱) − 𝛋𝑖𝑇1𝑛 − 1𝑛
𝑇𝛋(𝐱) + 1𝑛𝑇𝐊1𝑛
𝛋′(𝐱) = 𝛋(𝐱) − 𝐊1𝑛 − 𝟏𝑛𝛋(𝐱) + 𝟏𝑛𝐊1𝑛
𝐊′ = 𝐊 − 𝐊𝟏𝑛 − 𝟏𝑛𝐊 + 𝟏𝑛𝐊𝟏𝑛
(8)
Adicionalmente, se definirmos uma matriz 𝐉 = 𝐈 − 𝟏𝑛, podemos escrever, de forma
simplificada:
𝛋′(𝐱) = 𝐉(𝛋(𝐱) − �̅�), 𝐊′ = 𝐉𝐊𝐉 (9)
2.c. Redução de dimensionalidade
Métodos lineares de redução de dimensionalidade, de modo geral, buscam determinar um
mapeamento para um subespaço linear do espaço de dados, de dimensão inferior:
𝐱 ↦ 𝐳, 𝐱 ∈ ℝ𝑑 , 𝐳 ∈ ℝ𝐾 , 𝐾 < 𝑑
Este subespaço deve ser capaz de caracterizar a estrutura do problema sem que haja
significativa perda de informação. Uma vez definida uma base de tal subespaço,
Departamento de Engenharia Elétrica
7
preferencialmente ortogonal, os dados podem ser representados simplesmente por suas
projeções sobre cada vetor da base.
No caso de operarmos sobre o espaço original de entrada 𝒳, buscamos uma base de vetores
{𝐰𝑘}𝑘=1𝐾 , dispostos em uma matriz 𝐖𝐾:
𝐖𝐾 = (𝐰1, … , 𝐰𝐾), 𝐰𝑘 ∈ 𝓧
As projeções sobre uma única componente, sobre a base inteira e a transformação total do
conjunto de dados são expressas, respectivamente, por:
𝑧𝑘 = ⟨𝐰𝑘, 𝐱⟩, 𝐳 = 𝐖𝐾𝑇𝐱, 𝐙 = 𝐖𝐾
𝑇𝐗 (10)
Se, por outro lado, utilizarmos um kernel, operando implicitamente no espaço de atributos ℱ,
gostaríamos de obter uma base em ℱ:
𝐖𝐾 = (𝐰1, … , 𝐰𝐾), 𝐰𝑘 ∈ ℱ
Entretanto, como a estrutura de ℱ, definida pelo mapeamento não linear 𝜑, não pode
manipulada explicitamente, não temos meios de determinar diretamente a base 𝑾𝐾. O que
buscaremos, portanto, é um conjunto de vetores de coeficientes {𝛂𝑘}𝑘=1𝐾 que descrevam os
elementos de 𝑾𝐾 (cf. equação (4)):
𝐀𝐾 = (𝛂1, … , 𝛂𝐾), 𝛂𝑘 ∈ ℝ𝑛
Neste novo cenário, as transformações serão dadas por:
𝑧𝑘 = ⟨𝐰𝑘, 𝜑(𝐱)⟩𝓕 = 𝛂𝑘𝑇𝛋(𝐱), 𝐳 = 𝐖𝐾
𝑇𝜑(𝐱) = 𝐀𝐾𝑇 𝛋(𝐱),
𝐙 = 𝐖𝐾𝑇𝚽 = 𝐀𝐾
𝑇 𝐊 (11)
Assim, as técnicas de redução de dimensionalidade estudadas neste trabalho se propõem a
determinar bases 𝐖𝐾 – ou seus coeficientes de expansão 𝐀𝐾 – de subespaços que satisfaçam
certas propriedades, descritas em detalhe nos itens a seguir.
Nesta seção, serão discutidos os algoritmos de análise de componentes principais (2.c.i),
análise discriminante linear (2.c.ii) e aprendizado de subespaço através de ordenação de
idades por pares (2.c.iii), juntamente com suas versões com kernel.
2.c.i. Análise de componentes principais
Introduzida por Karl Pearson em 1901, a análise de componentes principais (PCA, Principal
Component Analysis) constitui uma abordagem fundamental no estudo estatístico de dados
[22]. Através dela, pode-se extrair as direções do espaço que contêm a maior parte da
variabilidade dos dados, de modo que seja possível projetá-los sobre este subespaço com
perda mínima de informação.
Obtém-se a estimativa amostral da matriz de covariância dos dados, calculada sobre os
padrões de treinamento:
𝐒 = ℂov(𝐱𝑖)̂ =
1
𝑛∑(𝐱𝑖 − �̅�)(𝐱𝑖 − �̅�)𝑇
𝑛
𝑖=1
(12)
Departamento de Engenharia Elétrica
8
A variância dos dados ao longo de uma direção arbitrária 𝐰 do espaço é dada pelo seguinte
quociente de Rayleigh:
𝑅(𝐒, 𝐰) =
𝐰𝑇𝐒𝐰
𝐰𝑇𝐰 (13)
Esta função equivale a 𝐰𝑇𝐒𝐰, sujeita à restrição 𝐰𝑇𝐰 = 1, e o que desejamos é encontrar
seus pontos críticos. Calculando os pontos críticos de seu Lagrangeano, obtemos:
ℒ(𝐰, 𝜆) = 𝐰𝑇𝐒𝐰 − 𝜆(𝐰𝑇𝐰 − 1) ⇒ ∇𝐰ℒ(𝐰, 𝜆) = 2𝐒𝐰 − 2𝜆𝐰 = 𝟎
𝐒𝐰 = 𝜆𝐰 (14)
Portanto:
𝑅(𝐒, 𝐰) =
𝐰𝑇𝐒𝐰
𝐰𝑇𝐰= 𝜆
𝐰𝑇𝐰
𝐰𝑇𝐰= 𝜆 (15)
De (14), concluímos que os pontos críticos são os autovetores da matriz de covariância 𝐒 e, de
(15), que cada autovalor é a variância na direção de seu respectivo autovetor. Desta forma,
mostramos que a base do subespaço buscada é o conjunto de autovetores com maiores
autovalores – as componentes principais.
O número de componentes, 𝐾, i.e. a dimensionalidade do subespaço reduzido, pode ser
escolhido a priori ou definido como o número mínimo de componentes que expliquem uma
dada proporção 𝜂 ∈ (0,1) (e.g. 90%, 99%) da variância dos dados, tendo em mente que
𝕍ar(𝐱𝑖)̂ = tr(𝐒) = ∑ 𝜆𝑖𝑑𝑖=1 :
∑ 𝜆𝑖
𝐾−1
𝑖=1
≤ 𝜂 ∑ 𝜆𝑖
𝑑
𝑖=1
≤ ∑ 𝜆𝑖
𝐾
𝑖=1
ou ∑ 𝜆𝑖
𝐾−1𝑖=1
∑ 𝜆𝑖𝑑𝑖=1
≤ 𝜂 ≤∑ 𝜆𝑖
𝐾𝑖=1
∑ 𝜆𝑖𝑑𝑖=1
, 𝜆𝑖 ≥ 𝜆𝑖+1 (16)
Cabe ressaltar que se trata de um método não supervisionado, ou seja, as classes não são
consideradas nos cálculos. Esta limitação significa que, apesar de a base encontrada
representar bem o conjunto de dados como um todo, ela não será necessariamente ideal para
separar as diferentes classes.
2.c.i.I. PCA com kernel
Sendo PCA uma ferramenta estatística simples e muito útil na análise de espaços de
dimensionalidade elevada, é natural considerarmos sua aplicação ao espaço de atributos.
Obtém-se, assim, o método de análise de componentes principais com kernel (KPCA, Kernel
Principal Component Analysis) [23, 24].
Consideremos a matriz de covariância amostral no espaço de atributos1:
𝚺 = ℂov(𝛗𝑖)̂ =
1
𝑛∑ 𝛗𝑖𝛗𝑖
𝑇
𝑛
𝑖=1
=1
𝑛𝚽𝚽𝑇 (17)
1 Note que estamos assumindo que {𝛗𝑖}𝑖 estão centrados. Caso contrário, deve ser aplicado o
processo de centralização descrito no item 2.b.i.
Departamento de Engenharia Elétrica
9
Visto que os autovetores 𝐰𝑘 de 𝚺 devem pertencer ao espaço gerado por {𝛗𝑖}𝑖=1𝑛 , podemos
considerar, em vez do problema de autovalores 𝚺𝐰𝑘 = 𝜆𝑘𝐰𝑘, o sistema de equações a seguir
[23]:
𝛗𝑙𝑇𝚺𝐰𝑘 = 𝜆𝑘𝛗𝑙
𝑇𝐰𝑘, ∀𝑙 ∈ [𝑛] ⇔ 𝚽𝑇𝚺𝐰𝑘 = 𝜆𝑘𝚽𝑇𝐰𝑘 (18)
Substituindo (4) e (17) em (18), obtemos:
𝚽𝑇 (
1
𝑛𝚽𝚽𝑇) (𝚽𝛂𝑘) = 𝜆𝑘𝚽𝑇(𝚽𝛂𝑘) ∴
1
𝑛(𝚽𝑇𝚽)(𝚽𝑇𝚽)𝛂𝑘 = 𝜆𝑘(𝚽𝑇𝚽)𝛂𝑘 (19)
Finalmente, substituindo (3):
𝐊2𝛂𝑘 = 𝑛𝜆𝑘𝐊𝛂𝑘 (20)
Como as soluções da equação
𝐊𝛂𝑘 = 𝜈𝑘𝛂𝑘, 𝜈𝑘 = 𝑛𝜆𝑘 (21)
satisfazem o problema (20), basta resolver este problema de autovalores para determinar os
vetores de coeficientes 𝛂𝑘. Adicionalmente, a restrição de que ‖𝐰𝑘‖ℱ = 1 equivale a impor
‖𝛂𝑘‖ = 1 √𝜈𝑘⁄ :
‖𝐰𝑘‖ℱ = 1 ⇔ 1 = 𝐰𝑘
𝑇𝐰𝑘 = ∑ 𝛼𝑘𝑖𝛼𝑘𝑗𝛗𝑖𝑇𝛗𝑗
𝑛
𝑖,𝑗=1
= 𝛂𝑘𝑇𝐊𝛂𝑘 = 𝜈𝑘𝛂𝑘
𝑇𝛂𝑘
⇔ ‖𝛂𝑘‖ =1
√𝜈𝑘
(22)
Do mesmo modo que em PCA linear, retemos apenas os autovetores correspondentes aos 𝐾
maiores autovalores.
2.c.ii. Análise discriminante linear
A análise discriminante linear (LDA, Linear Discriminant Analysis) ou análise discriminante
de Fisher (FDA, Fisher Discriminant Analysis) é uma técnica supervisionada que busca uma
combinação linear de atributos, i.e., uma direção do espaço de dados, que melhor caracterize
as distinções entre as classes do problema [25, 26].
Como se trata de um método baseado em classes, adotaremos a seguinte notação1:
𝐗𝑐 = (𝐱(1)𝑐 , … , 𝐱(𝑛𝑐)
𝑐 ) , 𝐱(𝑖)𝑐 ∈ 𝒳, 𝑐 ∈ [𝐶]
Dividimos, assim, o conjunto 𝐗 em 𝐶 classes disjuntas e exaustivas, {𝐗𝑐}𝑐=1𝐶 , cada uma
contendo 𝑛𝑐 instâncias, 𝐱(𝑖)𝑐 . No caso específico deste trabalho, estabeleceu-se uma classe
para cada idade presente no banco de dados, em valores inteiros.
Denotaremos, também, �̅�𝑐 como o ponto médio de cada classe 𝑐:
1 O subscrito (𝑖) indica a ordenação relativa às instâncias da mesma classe.
Departamento de Engenharia Elétrica
10
�̅�𝑐 =1
𝑛𝑐∑ 𝐱(𝑖)
𝑐
𝑛𝑐
𝑖=1
(23)
Definamos as matrizes de dispersão intraclasse, interclasse e total, respectivamente [27]:
𝐒𝑤 =1
𝑛∑ ∑(𝐱(𝑖)
𝑐 − �̅�𝑐)(𝐱(𝑖)𝑐 − �̅�𝑐)
𝑇
𝑛𝑐
𝑖=1
𝐶
𝑐=1
=1
𝑛∑ 𝑛𝑐ℂov(𝐱(𝑖)
𝑐 )̂
𝐶
𝑐=1
(24)
𝐒𝑏 =1
𝑛∑ 𝑛𝑐(�̅�𝑐 − �̅�)(�̅�𝑐 − �̅�)𝑇
𝐶
𝑐=1
(25)
𝐒𝑡 =
1
𝑛∑(𝐱𝑖 − �̅�)(𝐱𝑖 − �̅�)𝑇
𝑛
𝑖=1
= ℂov(𝐱𝑖)̂ (26)
Mostra-se que 𝐒𝑡 = 𝐒𝑤 + 𝐒𝑏 (Apêndice B.2.i).
Deseja-se determinar um subespaço sobre o qual a separação entre as classes seja máxima e a
dispersão entre os elementos de uma mesma classe seja mínima, o que pode ser traduzido
como a maximização do seguinte quociente de Rayleigh generalizado:
𝐽(𝐰) =
𝐰𝑇𝐒𝑏𝐰
𝐰𝑇𝐒𝑤𝐰 (27)
Aplicando um argumento semelhante a (13)-(14), a solução que maximiza (27) pode ser
encontrada a partir do problema de autovalores generalizados a seguir:
ℒ(𝐰, 𝜆) = 𝐰𝑇𝐒𝑏𝐰 − 𝜆(𝐰𝑇𝐒𝑤𝐰 − 1) ⇒ ∇𝐰ℒ(𝐰, 𝜆) = 2𝐒𝑏𝐰 − 2𝜆𝐒𝑤𝐰 = 𝟎
𝐒𝑏𝐰 = 𝜆𝐒𝑤𝐰 (28)
Se 𝐒𝑤 for inversível, o problema (28) se reduz a um de autovalores:
(𝐒𝑤−1𝐒𝑏)𝐰 = 𝜆𝐰 (29)
De forma similar ao método de PCA, selecionamos os 𝐾 autovetores mais representativos de
𝐒𝑤−1𝐒𝑏 para construir o subespaço.
Quando o problema for subamostrado, ou seja, a dimensionalidade for maior do que o número
de amostras (𝑑 > 𝑛), as matrizes de dispersão serão singulares. Neste caso, LDA não pode ser
aplicado diretamente. Para lidar com o problema da singularidade, uma alternativa é adicionar
uma constante de regularização à diagonal de 𝐒𝑤, cujo valor ótimo pode ser estimado por
validação cruzada:
�̃�𝑤 = 𝐒𝑤 + 𝜖𝐈, 𝜖 > 0 (30)
Esta abordagem, conhecida como análise discriminante linear regularizada (RLDA,
Regularized Linear Discriminant Analysis), garante que a matriz de dispersão intraclasse será
definida positiva e, portanto, inversível [27]. Por outro lado, além de favorecer soluções com
Departamento de Engenharia Elétrica
11
coeficientes pequenos, esta regularização tem também o efeito de reduzir o viés amostral na
estimação dos autovalores [20, 28].
2.c.ii.I. Análise discriminante com kernel
O racional por trás da LDA se estende facilmente ao espaço de atributos, constituindo um
método conhecido como análise discriminante com kernel (KDA, Kernel Discriminant
Analysis), discriminante de Fisher com kernel (KFD, Kernel Fisher Discriminant) ou análise
discriminante não linear (NLDA, Nonlinear Discriminant Analysis) [20, 29].
Novamente, será adotada uma notação específica para divisão em classes:
𝛗(𝑗)𝑐 = 𝜑(𝐱(𝑗)
𝑐 ), �̅�𝑐 =1
𝑛𝑐∑ 𝛗(𝑗)
𝑐
𝑛𝑐
𝑗=1
(31)
𝛋(𝑗)𝑐 = 𝛋(𝐱(𝑗)
𝑐 ), �̅�𝑐 =1
𝑛𝑐∑ 𝛋(𝑗)
𝑐
𝑛𝑐
𝑗=1
(32)
Sejam as matrizes de dispersão inter- e intraclasse no espaço de atributos ℱ, respectivamente:
𝚺𝑏 =1
𝑛∑ 𝑛𝑐(�̅�𝑐 − �̅�)(�̅�𝑐 − �̅�)𝑇
𝐶
𝑐=1
(33)
𝚺𝑤 =1
𝑛∑ ∑(𝛗(𝑗)
𝑐 − �̅�𝑐)(𝛗(𝑗)𝑐 − �̅�𝑐)
𝑇
𝑛𝑐
𝑗=1
𝐶
𝑐=1
(34)
Definamos matrizes 𝐌 e 𝐍 como a seguir1:
𝐌 =1
𝑛∑ 𝑛𝑐(�̅�𝑐 − �̅�)(�̅�𝑐 − �̅�)𝑇
𝐶
𝑐=1
(35)
𝐍 =1
𝑛∑ ∑(𝛋(𝑗)
𝑐 − �̅�𝑐)(𝛋(𝑗)𝑐 − �̅�𝑐)
𝑇
𝑛𝑐
𝑗=1
𝐶
𝑐=1
(36)
Segue que (Apêndice B.2.iii):
𝐰𝑇𝚺𝑏𝐰 = 𝛂𝑇𝐌𝛂 (37)
𝐰𝑇𝚺𝑤𝐰 = 𝛂𝑇𝐍𝛂 (38)
Por fim, aplicando a mesma lógica da LDA, buscamos uma base que maximize a dispersão
interclasse e minimize a dispersão intraclasse, porém, desta vez, no espaço de atributos:
1 A definição da matriz 𝐍 foi apresentada na forma acima por motivos de clareza e
consistência de notação. Em [20] e [29], é dada a definição equivalente 𝐍 =1
𝑛∑ 𝐊𝑐(𝐈 −𝐶
𝑐=1
𝟏𝑛𝑐)𝐊𝑐
𝑇 (Apêndice B.2.ii).
Departamento de Engenharia Elétrica
12
𝐽(𝐰) =𝐰𝑇𝚺𝑏𝐰
𝐰𝑇𝚺𝑤𝐰 ⇒ 𝐽(𝛂) =
𝛂𝑇𝐌𝛂
𝛂𝑇𝐍𝛂
As soluções serão novamente dadas pelo problema de autovalores:
𝐌𝛂 = 𝜆𝐍𝛂 ∴ (𝐍−1𝐌)𝛂 = 𝜆𝛂 (39)
De forma análoga a (30), pode-se aplicar regularização no caso de 𝐍 ser singular:
�̃� = 𝐍 + 𝜖𝐈, 𝜖 > 0 (40)
2.c.iii. Aprendizado de subespaço através de ordenação de idades por pares
O algoritmo de aprendizado de subespaço através de ordenação de idades por pares (PAR),
proposto em [16], tem o objetivo de extrair um subespaço que incorpore a relação de mais
novo/mais velho entre pares de indivíduos. Isto é realizado através de uma sequência de
problemas de otimização com restrições, requerendo que as componentes caracterizem a
ordenação de idades de subconjuntos disjuntos de pares de indivíduos e sejam ortogonais.
Seja o conjunto de dados composto pelos atributos 𝐱𝑖 e as idades 𝑎𝑖:
{(𝐱𝑖, 𝑎𝑖)}𝑖=1𝑛 , 𝐱𝑖 ∈ ℝ𝑑 , 𝑎𝑖 ∈ ℕ
Sejam 𝛀 o conjunto de todas as restrições obtidas do conjunto de treinamento e 𝛀𝑘 o
subconjunto de restrições relacionado à direção (atributo) 𝐰𝑘 do subespaço:
𝛀 = {(𝑠, 𝑡) ∈ [𝑛]2|𝑎𝑠 > 𝑎𝑡}, 𝛀𝑘 ⊆ 𝛀 (41)
Estabelece-se que os atributos de ordenação {𝐰𝑘}𝑘=1𝐾 devem satisfazer três propriedades:
i. Cada atributo deve satisfazer um subconjunto das restrições:
𝐰𝑘𝑇𝐱𝑠 > 𝐰𝑘
𝑇𝐱𝑡, ∀(𝑠, 𝑡) ∈ 𝛀𝑘 (42)
ii. Não deve haver atributos de ordenação redundantes:
𝐰𝑘𝑇𝐰𝑙 = 0, 𝑘, 𝑙 ∈ [𝐾], 𝑘 ≠ 𝑙 (43)
iii. As restrições devem ser utilizadas ao máximo:
𝛀𝑘 ∩ 𝛀𝑙 = ∅, 𝑘, 𝑙 ∈ [𝐾], 𝑘 ≠ 𝑙 (44)
Com o objetivo de minimizar as disparidades entre os valores dos atributos de instâncias de
mesma idade e obedecendo às propriedades i e ii, formula-se o seguinte problema de
otimização:
𝐖𝐾 = arg min𝐰𝑘
𝑘∈[𝐾]
∑ ∑ ∑ ‖𝐰𝑘𝑇𝐱𝑖 − 𝐰𝑘
𝑇𝐱𝑗‖𝑖,𝑗
𝑎𝑖=𝑎𝑗=𝑎𝑎
2𝐾
𝑘=1
s.a. 𝐰𝑘𝑇𝐱𝑠 − 𝐰𝑘
𝑇𝐱𝑡 > 0 𝑘 ∈ [𝐾], ∀(𝑠, 𝑡) ∈ 𝛀𝑘
𝐰𝑘𝑇𝐰𝑙 = 0 𝑘, 𝑙 ∈ [𝐾], 𝑘 ≠ 𝑙
(45)
Departamento de Engenharia Elétrica
13
O problema (45) não é convexo, devido às restrições quadráticas de ortogonalidade. Portanto,
para que ele seja tratável, em vez de buscarmos a base inteira simultaneamente, separamos o
problema original em subproblemas, determinando cada 𝐰𝑘 sequencialmente.
𝐰1 = arg min𝐰
∑ ∑ ‖𝐰𝑇𝐱𝑖 − 𝐰𝑇𝐱𝑗‖2
𝑖,𝑗𝑎𝑖=𝑎𝑗=𝑎
𝑎
s.a. 𝐰𝑇𝐱𝑠 − 𝐰𝑇𝐱𝑡 > 0 ∀(𝑠, 𝑡) ∈ 𝛀1
(46)
𝐰𝑘 = arg min𝐰
∑ ∑ ‖𝐰𝑇𝐱𝑖 − 𝐰𝑇𝐱𝑗‖2
𝑖,𝑗𝑎𝑖=𝑎𝑗=𝑎
𝑎
s.a. 𝐰𝑇𝐱𝑠 − 𝐰𝑇𝐱𝑡 > 0 ∀(𝑠, 𝑡) ∈ 𝛀𝑘
𝐰𝑇𝐰𝑙 = 0 𝑙 ∈ [𝑘 − 1]
(47)
Definamos a matriz 𝐋 como a seguir1:
𝐋 ∈ ℝ𝑛×𝑛, 𝐋 = 𝐃 − 𝐒, 𝑆𝑖𝑗 = {
1, se 𝑎𝑖 = 𝑎𝑗
0, c.c.,
𝐷𝑖𝑗 = {∑ 𝑆𝑖𝑘
𝑛
𝑘=1, se 𝑖 = 𝑗
0, c.c.
(48)
Definamos as matrizes 𝐂𝑘 referentes a cada subconjunto de restrições2 𝛀𝑘 = {(𝑠(𝑖)𝑘 , 𝑡(𝑖)
𝑘 )}𝑖=1
𝑟𝑘:
𝐂𝑘 ∈ ℝ𝑟𝑘×𝑛, (𝐂𝑘)𝑖𝑗 = {
1, se 𝑗 = 𝑠(𝑖)𝑘
−1, se 𝑗 = 𝑡(𝑖)𝑘
0, c.c.
(49)
Deste modo, substituindo (48) e (49) no problema (46), este pode ser expresso de forma mais
compacta, em notação matricial:
𝐰1 = arg min𝐰
𝐰𝑇𝐗𝐋𝐗𝑇𝐰
s.a. 𝐂1𝐗𝑇𝐰 ≻ 0
(50)
Similarmente, para os problemas (47), referentes às direções de projeção 𝐰𝑘 restantes,
fazemos:
1 Considerando um grafo 𝐺= = (𝑉, {{𝑠, 𝑡}|𝑎𝑠 = 𝑎𝑡}), 𝑉 = {(𝐱𝑖, 𝑎𝑖)}𝑖=1
𝑛 , constata-se que 𝐒
corresponde a sua matriz de adjacências, 𝐃, a sua matriz de graus e 𝐋 = 𝐃 − 𝐒, portanto, a sua
matriz Laplaciana.
2 As restrições 𝛀 induzem um grafo direcionado 𝐺> = (𝑉, 𝛀) = (𝑉, {(𝑠, 𝑡)|𝑎𝑠 > 𝑎𝑡}). 𝐂𝑘𝑇
corresponderia, portanto à matriz de incidência de um subgrafo 𝐺>𝑘 = (𝑉, 𝛀𝑘) ⊆ 𝐺>.
Departamento de Engenharia Elétrica
14
𝐰𝑘 = arg min𝐰
𝐰𝑇𝐗𝐋𝐗𝑇𝐰
s.a. 𝐂𝑘𝐗𝑇𝐰 ≻ 0
𝐖𝑘−1𝑇 𝐰 = 𝟎𝑘−1
(51)
onde 𝐖𝑘−1 = (𝐰1, … , 𝐰𝑘−1) e 𝟎𝑘−1 é o vetor nulo de ℝ𝑘−1.
Assim, definimos o algoritmo de aprendizado de subespaço:
Entradas: 𝐗 = (𝐱1, … , 𝐱𝑛), 𝐚 = (𝑎1, … , 𝑎𝑛)𝑇 , 𝐾, 𝛀 Calcular L de acordo com (48) Obter 𝛀1 com Algoritmo 2, 𝛀 ← 𝛀 ∖ 𝛀1 𝐰1 ← arg min𝐰 {𝐰𝑇𝐗𝐋𝐗𝑇𝐰 | 𝐂1𝐗𝑇𝐰 ≻ 0} 𝐖1 ← (𝐰1) Para 𝑘 ← 2 até 𝐾 Obter 𝛀𝑘 com Algoritmo 2, 𝛀 ← 𝛀 ∖ 𝛀𝑘 𝐰𝑘 ← arg min𝐰 {𝐰𝑇𝐗𝐋𝐗𝑇𝐰 | 𝐂𝑘𝐗𝑇𝐰 ≻ 0, 𝐖𝑘−1
𝑇 𝐰 = 𝟎𝑘−1} 𝐖𝑘 ← (𝐖𝑘−1 | 𝐰𝑘) Parar se 𝛀 = ∅ Saída: 𝐖𝐾
Algoritmo 1. Aprendizado de subespaço por ordenação de idades
Agora resta apenas estabelecer um meio para definir {𝛀𝑘}𝑘, de modo a respeitar a propriedade
iii. Adicionalmente, determina-se que cada indivíduo seja usada apenas uma vez como mais
velho (conjunto 𝐸) e uma vez como mais novo (conjunto 𝑌), para evitar que uma mesma
pessoa seja apresentada múltiplas vezes.
Entrada: 𝛀 = {(𝑠𝑖, 𝑡𝑖)}𝑖=1𝑟
𝚯 ← ∅, 𝐸 ← {𝑖}𝑖=1𝑛 , 𝑌 ← {𝑖}𝑖=1
𝑛
Ordenar 𝛀 segundo um critério escolhido: �̃� = ((𝑠(𝑖), 𝑡(𝑖)))𝑖=1
𝑟
Para 𝑖 ← 1 até 𝑟 Se 𝑠(𝑖) ∈ 𝐸 ∧ 𝑡(𝑖) ∈ 𝑌
𝚯 ← 𝚯 ∪ {(𝑠(𝑖), 𝑡(𝑖))}, 𝐸 ← 𝐸 ∖ {𝑠(𝑖)}, 𝑌 ← 𝑌 ∖ {𝑡(𝑖)}
Parar se 𝐸 = 𝑌 = ∅ Saída: 𝚯
Algoritmo 2. Seleção de restrições
Os autores apresentam critérios diversos de ordenação dos pares, baseados em diferentes
premissas: idades mais próximas (NFS, Nearest age First Search), idades mais distantes
(FFS, Furthest age First Search), aparências mais semelhantes (SFS, Similar appearance
First Search) e aleatório (RS, Random Search).
A métrica de ordenação para NFS e FFS é simplesmente a diferença de idades,
𝜇NFS,FFS(𝑠, 𝑡) = |𝑎𝑠 − 𝑎𝑡|, ∀(𝑠, 𝑡) ∈ 𝛀 (52)
Departamento de Engenharia Elétrica
15
e, para SFS, é a distância entre os vetores de atributos1,
𝜇SFS(𝑠, 𝑡) = ‖𝐱𝑠 − 𝐱𝑡‖2, ∀(𝑠, 𝑡) ∈ 𝛀. (53)
É proposta, ainda, uma extensão deste algoritmo para aprendizado semi-supervisionado,
possibilitando o enriquecimento do modelo baseado em amostras sem informação de idade.
Esta abordagem não foi explorada neste projeto.
2.c.iii.I. Aplicação de um kernel
Com base na equação (5), tem-se que:
𝐰𝑇𝛗𝑗 = 𝛂𝑇𝛋𝑗 ⇒ 𝚽𝑇𝐰 = 𝐊𝑇𝛂 (54)
Deste modo, substituindo 𝐱𝑖 por 𝛗𝑖 (𝐗 por 𝚽) no problema (50), este se reescreve como:
𝛂1 = arg min𝛂
𝛂𝑇𝐊𝐋𝐊𝑇𝛂
s.a. 𝐂1𝐊𝑇𝛂 ≻ 0
(55)
Para as direções de projeção 𝐰𝑘 restantes, fazemos, utilizando o resultado (6):
𝐖𝑘−1𝑇 𝐰 = (
𝐰1𝑇𝐰⋮
𝐰𝑘−1𝑇 𝐰
) = (𝛂1
𝑇𝐊𝛂⋮
𝛂𝑘−1𝑇 𝐊𝛂
) = 𝐀𝑘−1𝑇 𝐊𝛂, 𝐀𝑘−1 = (𝛂1, … , 𝛂𝑘−1) (56)
O problema (51) se torna, portanto:
𝛂𝑘 = arg min𝛂
𝛂𝑇𝐊𝐋𝐊𝑇𝛂
s.a. 𝐂𝑘𝐊𝑇𝛂 ≻ 0
𝐀𝑘−1𝑇 𝐊𝛂 = 𝟎𝑘−1
(57)
Adicionalmente, é preciso adaptar a métrica de ordenação do critério SFS, (53):
𝜇SFS(𝑠, 𝑡) = ‖𝛗𝑠 − 𝛗𝑡‖ℱ2 = ‖𝛗𝑠‖ℱ
2 + ‖𝛗𝑡‖ℱ2 − 2⟨𝛗𝑠, 𝛗𝑡⟩ℱ
= 𝐾𝑠𝑠 + 𝐾𝑡𝑡 − 2𝐾𝑠𝑡, ∀(𝑠, 𝑡) ∈ 𝛀 (58)
Comparando (55) e (57) com a versão linear, (50) e (51), pode-se observar que sua estrutura
geral é muito similar:
𝐰1 = arg min𝐰
𝐰𝑇𝐗𝐋𝐗𝑇𝐰
s.a. 𝐂1𝐗𝑇𝐰 ≻ 0
𝛂1 = arg min𝛂
𝛂𝑇𝐊𝐋𝐊𝑇𝛂
s.a. 𝐂1𝐊𝑇𝛂 ≻ 0
𝐰𝑘 = arg min𝐰
𝐰𝑇𝐗𝐋𝐗𝑇𝐰
s.a. 𝐂𝑘𝐗𝑇𝐰 ≻ 0
𝐖𝑘−1𝑇 𝐰 = 𝟎𝑘−1
𝛂𝑘 = arg min𝛂
𝛂𝑇𝐊𝐋𝐊𝑇𝛂
s.a. 𝐂𝑘𝐊𝑇𝛂 ≻ 0
𝐀𝑘−1𝑇 𝐊𝛂 = 𝟎𝑘−1
A principal vantagem do uso de um kernel, neste caso, é que se pôde introduzir uma
transformação não linear dos dados sem alterar a complexidade do problema de otimização,
1 Podemos interpretar (52) e (53) como atribuições de pesos às arestas do grafo 𝐺=.
Departamento de Engenharia Elétrica
16
que continua sendo quadrático com restrições lineares e com o mesmo número de variáveis e
restrições.
Uma vantagem adicional, essencial do ponto de vista experimental, é que pode ser feita uma
comparação mais justa com os outros métodos não lineares descritos (KPCA e KDA) do que
se fosse usada sua versão linear original. Por compartilharem a mesma estrutura de não-
linearidade, os três algoritmos podem ter seu desempenho comparado operando sobre o
mesmo espaço de atributos, ou seja, com as mesmas funções de kernel.
2.d. Regressão
2.d.i. Regressão linear
Seja um modelo clássico de regressão linear múltipla:
𝑦𝑖 = 𝛽0 + ∑ 𝛽𝑗𝑥𝑗𝑖
𝐾
𝑗=1
+ 휀𝑖, {
𝔼(휀𝑖|𝐱𝑖) = 0
𝔼(휀𝑖2|𝐱𝑖) = 𝜎2
𝔼(휀𝑖휀𝑗|𝐱𝑖, 𝐱𝑗) = 0, 𝑖 ≠ 𝑗
(59)
Os coeficientes {𝛽𝑗}𝑗=0𝐾 podem ser estimados por mínimos quadrados ordinários (MQO).
Assumindo-se a correta especificação da forma funcional do modelo e as hipóteses listadas
para os erros, mostra-se que os estimadores de MQO são não tendenciosos, consistentes e
eficientes, pelo teorema de Gauss-Markov [30]. Em particular, são considerados os melhores
estimadores lineares não tendenciosos.
Sua formulação e implementação simples, aliados às suas boas propriedades estatísticas,
fazem da regressão linear por MQO uma boa candidata para aplicação neste trabalho.
2.d.ii. Regressão por vetores de suporte
O desenvolvimento do conceito de máquinas de vetores de suporte (SVM), devido
principalmente às contribuições de Vladimir Vapnik e coautores, representou uma revolução
no campo de reconhecimento de padrões e aprendizado de máquina supervisionado [31, 32].
Em sua essência, SVMs são métodos cujas fronteiras de decisão estão “apoiadas” sobre um
número limitado de instâncias de treinamento, chamadas de vetores de suporte. Um dos
principais atrativos de algoritmos baseados em SVM é o fato de sua estrutura permitir a
incorporação de não-linearidade através de um kernel.
Embora a formulação original fosse voltada para classificação [33], a adaptação de sua lógica
para problemas de regressão é bastante direta. Esta abordagem é conhecida como regressão
por vetores de suporte (SVR) [17].
Consideremos inicialmente o caso simples de uma função linear:
𝑓(𝐱) = ⟨𝐰, 𝐱⟩ + 𝑏, 𝐱, 𝐰 ∈ 𝒳, 𝑏 ∈ ℝ (60)
Desejamos encontrar a função mais plana possível que aproxime bem os dados. Aqui,
definiremos tal “achatamento” a partir da norma de 𝐰, o que nos leva ao seguinte problema
de otimização:
Departamento de Engenharia Elétrica
17
min𝐰,𝑏
1
2‖𝐰‖2
s. a. |𝑦𝑖 − 𝑓(𝐱𝑖)| ≤ 휀
≡ min𝐰,𝑏
1
2‖𝐰‖2
s. a. 𝑦𝑖 − ⟨𝐰, 𝐱𝑖⟩ − 𝑏 ≤ 휀⟨𝐰, 𝐱𝑖⟩ + 𝑏 − 𝑦𝑖 ≤ 휀
(61)
As restrições do problema (61) significam que buscamos uma função 𝑓 que seja capaz de
aproximar todos os valores 𝑦𝑖 com precisão 휀, uma margem estrita. No entanto, este problema
pode ser inviável ou talvez queiramos permitir alguns erros para melhorar a robustez do
modelo. Para tratar destes casos, relaxamos as restrições, introduzindo as variáveis de folga
𝜉𝑖(∗)
e um custo 𝐶 associado à sua violação1. Chegamos, assim, à formulação de margens
flexíveis, semelhante à descrita originalmente em [33]:
min
𝐰,𝑏,𝜉𝑖(∗)
𝑖∈[𝑛]
1
2‖𝐰‖2 + 𝐶 ∑(𝜉𝑖 + 𝜉𝑖
∗)
𝑛
𝑖=1
s. a. 𝑦𝑖 − ⟨𝐰, 𝐱𝑖⟩ − 𝑏 ≤ 휀 + 𝜉𝑖 : 𝛼𝑖
⟨𝐰, 𝐱𝑖⟩ + 𝑏 − 𝑦𝑖 ≤ 휀 + 𝜉𝑖∗ : 𝛼𝑖
∗
𝜉𝑖(∗)
≥ 0 : 𝜂𝑖(∗)
(62)
A constante 𝐶 > 0 mede o compromisso que deve ser feito entre o achatamento de 𝑓 e a
tolerância a erros. É, portanto, uma forma de controlar o poder de generalização versus o viés
do modelo buscado. Este novo termo de custo em (62) corresponde a uma função de perda 휀-
insensível, que penaliza apenas os resíduos de regressão maiores do que 휀:
𝜉𝑖 + 𝜉𝑖
∗ = {0, se |𝑦𝑖 − 𝑓(𝐱𝑖)| ≤ 휀|𝑦𝑖 − 𝑓(𝐱𝑖)| − 휀, c.c.
(63)
Figura 2. Ilustração da faixa 휀-insensível. Os pontos com contorno preto são vetores de suporte, que têm
contribuição não nula para a função de custo. Vemos que a forma da função de custo da SVR (direita) é
fundamentalmente diferente da regressão linear, que é quadrática (MQO).
Do ponto de vista prático, o problema (62) pode ser resolvido mais facilmente em sua forma
dual, que, como será apresentado posteriormente, possibilitará o uso de uma função de kernel
[17]. Para obter o problema dual, calcula-se o Lagrangeano, definindo-se as variáveis duais
𝛼𝑖(∗)
, 𝜂𝑖(∗)
≥ 0:
1 A notação 𝑥(∗) será usada para indicar tanto 𝑥 quanto 𝑥∗.
Departamento de Engenharia Elétrica
18
ℒ =
1
2‖𝐰‖2 + 𝐶 ∑(𝜉𝑖 + 𝜉𝑖
∗)
𝑛
𝑖=1
− ∑(𝜂𝑖𝜉𝑖 + 𝜂𝑖∗𝜉𝑖
∗)
𝑛
𝑖=1
− ∑ 𝛼𝑖(휀 + 𝜉𝑖 − 𝑦𝑖 + ⟨𝐰, 𝐱𝑖⟩ + 𝑏)
𝑛
𝑖=1
− ∑ 𝛼𝑖∗(휀 + 𝜉𝑖
∗ + 𝑦𝑖 − ⟨𝐰, 𝐱𝑖⟩ − 𝑏)
𝑛
𝑖=1
(64)
Como condição necessária de otimalidade, as derivadas do Lagrangeano com relação às
variáveis primais devem se anular no ponto ótimo, logo:
∇𝐰ℒ = 𝐰 − ∑(𝛼𝑖 − 𝛼𝑖
∗)𝐱𝑖
𝑛
𝑖=1
= 0 (65)
𝜕ℒ
𝜕𝑏= ∑(𝛼𝑖
∗ − 𝛼𝑖)
𝑛
𝑖=1
= 0 (66)
𝜕ℒ
𝜕𝜉𝑖(∗)
= 𝐶 − 𝛼𝑖(∗)
− 𝜂𝑖(∗)
= 0 (67)
Com estas condições e eliminando 𝜂𝑖(∗)
, o problema dual se escreve finalmente como:
max𝛼𝑖
(∗)
𝑖∈[𝑛]
−1
2∑ (𝛼𝑖 − 𝛼𝑖
∗)(𝛼𝑗 − 𝛼𝑗∗)⟨𝐱𝑖, 𝐱𝑗⟩
𝑛
𝑖,𝑗=1
− 휀 ∑(𝛼𝑖 + 𝛼𝑖∗)
𝑛
𝑖=1
+ ∑ 𝑦𝑖(𝛼𝑖 − 𝛼𝑖∗)
𝑛
𝑖=1
s. a. ∑(𝛼𝑖 − 𝛼𝑖∗)
𝑛
𝑖=1
= 0
0 ≤ 𝛼𝑖(∗)
≤ 𝐶
(68)
Inspecionando as demais condições de otimalidade, obtidas pelo teorema de Karush-Kuhn-
Tucker (KKT) [34, 35], podemos tirar algumas conclusões relevantes:
𝛼𝑖(휀 + 𝜉𝑖 − 𝑦𝑖 + ⟨𝐰, 𝐱𝑖⟩ + 𝑏) = 0 (69)
𝛼𝑖∗(휀 + 𝜉𝑖
∗ + 𝑦𝑖 − ⟨𝐰, 𝐱𝑖⟩ − 𝑏) = 0 (70)
(𝐶 − 𝛼𝑖)𝜉𝑖 = 0 (71)
(𝐶 − 𝛼𝑖∗)𝜉𝑖
∗ = 0 (72)
Primeiramente, temos que 𝛼𝑖 e 𝛼𝑖∗ são complementares, ou seja, não podem ser
simultaneamente não nulos. O resultado mais importante, porém, é o de que:
|𝑦𝑖 − 𝑓(𝐱𝑖)| < 휀 ⇔ 𝛼𝑖 = 𝛼𝑖∗ = 0 (73)
Isto significa, em resumo, que as instâncias dentro da margem de erro não terão qualquer
impacto sobre a regressão.
Departamento de Engenharia Elétrica
19
Por fim, a condição (65) tem uma consequência notável:
𝐰 = ∑(𝛼𝑖 − 𝛼𝑖
∗)𝐱𝑖
𝑛
𝑖=1
⇒ 𝑓(𝐱) = ∑(𝛼𝑖 − 𝛼𝑖∗)⟨𝐱𝑖, 𝐱⟩
𝑛
𝑖=1
+ 𝑏 (74)
Ou seja, tendo em vista a propriedade (73), 𝐰 pode ser inteiramente especificado por uma
combinação linear de um número reduzido de padrões de treinamento. Esta representação
esparsa é a chamada expansão em vetores de suporte.
2.d.ii.I. Aplicação do kernel à SVR
Agora suponhamos que desejamos utilizar, em vez da função linear original, (60), uma função
não linear com a seguinte forma:
𝑓(𝐱) = ⟨𝐰, 𝜑(𝐱)⟩ℱ + 𝑏, 𝐱 ∈ 𝒳, 𝐰 ∈ ℱ, 𝑏 ∈ ℝ, 𝜑: 𝒳 → ℱ (75)
Com esta nova formulação não linear, o problema de otimização (68) se reescreve como:
max𝛼𝑖
(∗)
𝑖∈[𝑛]
−1
2∑ (𝛼𝑖 − 𝛼𝑖
∗)(𝛼𝑗 − 𝛼𝑗∗)⟨𝜑(𝐱𝑖), 𝜑(𝐱𝑗)⟩
ℱ
𝑛
𝑖,𝑗=1
− 휀 ∑(𝛼𝑖 + 𝛼𝑖∗)
𝑛
𝑖=1
+ ∑ 𝑦𝑖(𝛼𝑖 − 𝛼𝑖∗)
𝑛
𝑖=1
s. a. ∑(𝛼𝑖 − 𝛼𝑖∗)
𝑛
𝑖=1
= 0
0 ≤ 𝛼𝑖(∗)
≤ 𝐶
(76
)
Convenientemente, analisando o problema acima, podemos observar que a dependência sobre
os padrões de treinamento aparece apenas no termo ⟨𝜑(𝐱𝑖), 𝜑(𝐱𝑗)⟩ℱ. Como discutido na
seção 2.b, sobre métodos de kernel, sabemos que basta especificar uma função de kernel
apropriada para definir 𝜑 implicitamente. Tais produtos internos podem, portanto, ser
substituídos pelos elementos da matriz de kernel, 𝐾𝑖𝑗:
max𝛼
𝑖(∗)
𝑖∈[𝑛]
−1
2∑ (𝛼𝑖 − 𝛼𝑖
∗)(𝛼𝑗 − 𝛼𝑗∗)𝐾𝑖𝑗
𝑛
𝑖,𝑗=1
− 휀 ∑(𝛼𝑖 + 𝛼𝑖∗)
𝑛
𝑖=1
+ ∑ 𝑦𝑖(𝛼𝑖 − 𝛼𝑖∗)
𝑛
𝑖=1
s. a. ∑(𝛼𝑖 − 𝛼𝑖∗)
𝑛
𝑖=1
= 0
0 ≤ 𝛼𝑖(∗)
≤ 𝐶
(77)
Deste modo, a condição de otimalidade implicará que a função de regressão também poderá
ser expressa apenas em termos da função de kernel, 𝑘(⋅,⋅):
𝐰 = ∑(𝛼𝑖 − 𝛼𝑖
∗)𝜑(𝐱𝑖)
𝑛
𝑖=1
⇒ 𝑓(𝐱) = ∑(𝛼𝑖 − 𝛼𝑖∗)𝑘(𝐱𝑖, 𝐱)
𝑛
𝑖=1
+ 𝑏 (78)
Departamento de Engenharia Elétrica
20
3. Procedimento Experimental
Neste capítulo, serão tratados os aspectos experimentais desta monografia. Serão descritas as
características do banco de dados utilizado, as métricas de desempenho avaliadas e a
metodologia experimental adotada.
3.a. Banco de dados
Os métodos estudados neste trabalho foram avaliados no banco de dados FG-NET1 [36]. Este
banco de imagens contém 927 imagens faciais, pertencentes a 82 indivíduos diferentes.
Existem de 6 a 18 fotos de cada indivíduo em idades distintas, e as idades estão
compreendidas entre 0 e 69 anos.
A Figura 3 mostra o histograma das idades dos indivíduos presentes em FG-NET. Nota-se
que uma parcela significativa dos indivíduos está concentrada na faixa de 0 a 30 anos, com
poucas pessoas ultrapassando os 50 anos.
Aplicando o procedimento descrito em [15] às imagens do banco de dados FG-NET, foram
extraídos 247 atributos.
Figura 3. Distribuições de idades no banco de dados FG-NET
3.b. Métricas
Para avaliação dos resultados, serão utilizadas as mesmas métricas de desempenho utilizadas
com frequência em trabalhos relacionados [15, 38, 39]: os erros absolutos médios por ano, por
década e global e o escore acumulado, apresentadas a seguir.
3.b.i. Erro absoluto médio
Define-se o erro absoluto médio global (MAE, do inglês Mean Absolute Error) como
1 O banco de dados FG-NET não está mais disponível publicamente na data da redação desta
monografia (junho de 2015). A página Web do grupo de pesquisa responsável por seu
desenvolvimento pode ser encontrada em <http://www-prima.inrialpes.fr/FGnet/>.
Departamento de Engenharia Elétrica
21
MAE =
1
𝑛∑|𝑎𝑖 − �̂�𝑖|
𝑛
𝑖=1
, (79)
onde 𝑎𝑖 e �̂�𝑖 são as idade real e estimada, respectivamente, do indivíduo 𝑖.
Para contemplar as especificidades do ajuste para indivíduos com diferentes idades, definimos
também medidas locais, os erros absolutos médios por década (MAE/D) e por ano (MAE/y):
MAE/D(𝑑) =
1
|𝒟𝑑|∑ |𝑎𝑖 − �̂�𝑖|
𝑖∈𝒟𝑑
, 𝒟𝑑 = {𝑖 ∈ [𝑛]| ⌊𝑎𝑖
10⌋ = 𝑑} (80)
MAE/y(𝑎) =
1
|𝒴𝑎|∑ |𝑎𝑖 − �̂�𝑖|
𝑖∈𝒴𝑎
, 𝒴𝑎 = {𝑖 ∈ [𝑛]|𝑎𝑖 = 𝑎} (81)
Aqui, 𝒟𝑑 e 𝒴𝑎 são os conjuntos de indivíduos da década 𝑑 e com idade 𝑎, respectivamente, e |⋅| denota a cardinalidade destes conjuntos.
3.b.ii. Escore acumulado
O escore acumulado (CS, do inglês Cumulative Score) é definido por
CS(휀) =
1
𝑛∑ ℎ(|𝑎𝑖 − �̂�𝑖| − 휀)
𝑛
𝑖=1
, ℎ(𝑡) = {1, 𝑡 ≤ 00, 𝑡 > 0
, (82)
onde 휀 é um nível de tolerância de erro determinado.
Esta métrica avalia a proporção de indivíduos cuja idade pôde ser estimada a diferentes
patamares de precisão. Note que, por construção, ∀휀,CS(휀) ∈ [0,1].
3.c. Metodologia experimental
3.c.i. Validação cruzada
Para avaliar o poder de generalização dos algoritmos, adotamos uma estratégia de validação
cruzada. Nesta abordagem, o conjunto de dados é dividido em certo número de subconjuntos.
Então, cada parte é usada sequencialmente como conjunto de teste e o restante como conjunto
de treinamento. Todos os modelos são aplicados sobre as mesmas partições do conjunto de
dados.
A validação cruzada é uma ferramenta que nos permite, assim, estimar a variação de métricas
de desempenho calculadas sobre diferentes amostras do conjunto de dados, com o objetivo de
mensurar a sensibilidade do modelo à amostragem e sua capacidade de generalização.
No caso da estimação de idades, cuidado deve ser tomado na amostragem, pois se espera que
haja forte correlação entre atributos extraídos de fotos de um mesmo indivíduo. Se algumas de
suas imagens fossem usadas para treinamento e outras para teste, isto introduziria um viés na
estimação e uma consequente invalidação das métricas obtidas.
Para contornar este problema, portanto, a validação cruzada foi feita sobre os conjuntos de
indivíduos distintos, e não sobre o total de imagens. Assim, garantimos que todas as fotos de
uma mesma pessoa sejam usadas a cada vez ou para treinamento, ou para teste.
Departamento de Engenharia Elétrica
22
Uma estratégia diferente que pode ser utilizada é a validação cruzada deixando uma pessoa de
fora (LOPO, do inglês Leave-One-Person-Out), o que significa que cada indivíduo é usado
uma vez para teste. Como o banco de dados FG-NET contém informações de 82 indivíduos
diferentes, todos os algoritmos são executados 82 vezes.
3.c.ii. Significância dos resultados
Após a realização dos experimentos, as métricas de erro coletadas para cada modelo foram
comparadas e suas diferenças testadas para significância estatística. Como estas foram
calculadas individualmente sobre os mesmos grupos de dados, deve ser aplicado um teste para
amostras pareadas.
Sejam dois métodos, A e B. Desejamos testar se a métrica de erro (MAE global, neste caso)
para A é consistentemente melhor que a de B em diferentes amostras, baseando-nos nos
resultados empíricos obtidos em cada uma das 𝑁 iterações da validação cruzada. Isto se
traduz em testar se a diferença pontual 𝑑𝑖 = MAE𝑖𝐴 − MAE𝑖
𝐵 entre as métricas obtidas para os
dois métodos é estatisticamente significante.
Como a distribuição das diferenças é desconhecida, é aconselhável a aplicação de um teste de
hipótese não paramétrico. Adicionalmente, considerando que 𝑁 é pequeno para MORPH 2,
não podemos confiar em testes t, por exemplo, pois não temos como garantir a normalidade
das diferenças.
No entanto, temos a certeza de que as diferenças serão simétricas, sob a hipótese nula de que
os métodos produzem o mesmo erro, em média [40]. Assim, somos capazes de aplicar o teste
de Wilcoxon pareado (teste de postos com sinal, signed-rank test) unilateral, para determinar
se as diferenças têm mediana negativa [41]. Fora a simetria, este teste não faz nenhuma
suposição quanto à distribuição das diferenças.
Um p-valor abaixo do nível de significância 𝛼 = 5% nos fará, portanto, concluir que o
método A produz erros significativamente menores do que o método B.
3.c.iii. Ambiente experimental
Os experimentos foram realizados em MATLAB R2012b (8.0.0.783) 64 bits, executando em
uma máquina com sistema operacional Windows 7 Professional SP1 de 64 bits, processador
Intel® Core™ i7-4770 @ 3.40 GHz e 16 GB de RAM.
Para o cálculo da SVR, foi empregada a biblioteca LIBSVM para MATLAB [42].
Departamento de Engenharia Elétrica
23
4. Resultados e Discussão
Inicialmente, para fins de visualização, os seis métodos foram treinados sobre o banco de
dados FG-NET completo, com apenas 𝐾 = 3 componentes. As projeções são mostradas
abaixo.
Figura 4. FG-NET reduzido a três dimensões, com PCA e KPCA. As cores dos pontos representam as idades,
variando de azul, para os mais novos, até vermelho, para os mais velhos.
Figura 5. FG-NET reduzido a três dimensões, com LDA e KDA
Departamento de Engenharia Elétrica
24
Figura 6. FG-NET reduzido a três dimensões, com PAR e KPAR
Como havíamos suposto, PCA e KPCA não parecem ter sucesso em representar as diferenças
de idades (Figura 4), devido ao fato de serem métodos não supervisionados. Os demais
métodos aparentam capturar, em certa medida, o gradiente de idades (Figura 5 e Figura 6),
com destaque para KPAR.
Cabe a ressalva de que esta análise informal é puramente ilustrativa. É muito provável que
haja proporções substanciais de informação referente às idades nas componentes que foram
omitidas.
4.a. Experimento 1
Foi feita uma varredura paramétrica para determinar os parâmetros ótimos de cada algoritmo,
com base no MAE global médio obtido por regressão linear. Este experimento foi realizado
com validação cruzada em 10 vezes no banco de dados FG-NET. Não foi aplicada LOPO
devido ao elevado custo computacional dos métodos PAR e KPAR, pois estes seriam
treinados 82 vezes para cada escolha de parâmetros. Não foi aplicada regularização a LDA e
KDA (𝜖 = 0) e os métodos de kernel utilizaram RBF Gaussiana.
Para o método PCA, fizemos a varredura do parâmetro 𝜂, a proporção da variância retida.
Para KPCA, como a dimensão deste modelo não é 𝑑, mas sim 𝑛 – lembrando que a matriz de
covariância 𝚺 tem tamanho 𝑛 × 𝑛 –, consideramos mais apropriado determinar diretamente o
número de componentes a utilizar, 𝐾. Caso contrário, estaríamos permitindo uma “redução” a
um número de dimensões maior do que o original.
O único parâmetro a ser ajustado para LDA e PAR é o número de componentes, 𝐾.
Para os métodos de kernel, KPCA, KDA e KPAR, é necessário determinar, adicionalmente, a
largura do kernel Gaussiano, 𝜎.
Departamento de Engenharia Elétrica
25
Tabela 1. Parâmetros ótimos dos modelos, obtidos empiricamente por validação cruzada
PCA 𝜂 = 98%
KPCA 𝐾 = 200, 𝜎 = 15
LDA 𝐾 = 2
KDA 𝐾 = 70, 𝜎 = 15
PAR 𝐾 = 50,
KPAR 𝐾 = 50, 𝜎 = 15
Note que o mesmo kernel ótimo foi determinado para KPCA e KDA, uma RBF Gaussiana
com 𝜎 = 15. Isto sugere que o espaço de atributos induzido por este kernel incorpora uma
estrutura favorável à estimação de idades. Como a estimação do modelo KPAR é muito
custosa (da ordem de 12 segundos por componente, para cada iteração da validação cruzada),
foi utilizado o mesmo kernel e a varredura foi feita apenas sobre valores de 𝐾.
Vale ressaltar que, durante a realização deste experimento, KDA encontrou problemas de
estabilidade numérica com kernels muito amplos (𝜎 ≥ 40).
4.b. Experimento 2
Uma vez determinadas empiricamente as configurações de parâmetros com melhores
resultados, os algoritmos foram treinados sobre os mesmos conjuntos de dados, novamente
com validação cruzada. Novamente, devido ao custo dos métodos PAR e KPAR, foi utilizado
o esquema de validação cruzada em 10 vezes no banco FG-NET.
Realizamos regressão linear e SVR (linear, sem kernel). Determinamos empiricamente o valor
do parâmetro 휀 = 1 e empregamos 𝐶 = �̅� + 3𝑠𝑎, onde �̅� é a média amostral e 𝑠𝑎 é o desvio-
padrão amostral das idades, como proposto em [43].
Como controle, foram feitas também regressões sobre os atributos originais, sem redução de
dimensionalidade, aqui referidas como “Base”.
Observando a Figura 7 e a Figura 8, fica nítido que a ausência de um número expressivo de
exemplos de indivíduos mais velhos no banco de dados (cf. Figura 3), especialmente acima de
40 anos, inviabiliza a estimação da idade de pessoas nesta faixa etária.
Departamento de Engenharia Elétrica
26
Figura 7. MAE/D para o experimento 2, com regressão linear. Aqui, a base e o topo das caixas indicam o
primeiro e o terceiro quartis, o traço vermelho indica a mediana, as barras indicam o menor e o maior valor,
limitados a 1,5 vezes a amplitude interquartis (IQR), e os círculos são valores extremos fora desta faixa.
Figura 8. MAE/D para o experimento 2, com SVR
Departamento de Engenharia Elétrica
27
Figura 9. Escore acumulado para o experimento 2, com regressão linear
Figura 10. Escore acumulado para o experimento 2, com SVR
Departamento de Engenharia Elétrica
28
Tabela 2. p-valores dos testes para as diferenças entre os métodos no experimento 2, com regressão linear
PCA KPCA LDA KDA PAR KPAR Base
PCA - 0.9863 0.6875 0.9932 0.0098 0.9990 0.3125
KPCA 0.0186 - 0.3848 0.9580 0.0029 0.9932 0.0654
LDA 0.3477 0.6523 - 0.9863 0.0068 0.9980 0.0322
KDA 0.0098 0.0527 0.0186 - 0.0010 0.9990 0.0010
PAR 0.9932 0.9980 0.9951 1.0000 - 1.0000 0.9863
KPAR 0.0020 0.0098 0.0029 0.0020 0.0010 - 0.0010
Base 0.7217 0.9473 0.9756 1.0000 0.0186 1.0000 -
A linha de cada método apresenta os resultados dos testes para determinar se este produz erros
menores do que os demais, dispostos nas colunas. O sombreamento indica significância a 5%. Em
negrito, os métodos de kernel com seus respectivos métodos lineares originais.
A Tabela 2 mostra que os métodos de kernel superaram significativamente seus equivalentes
lineares. Curiosamente, enquanto o método PAR linear produziu erros maiores do que todos
os demais, KPAR foi o mais preciso. Isto pode também ser confirmado pelos escores
acumulados na Figura 9.
Também é importante ressaltar que LDA, KDA e KPAR (e mesmo KPCA, marginalmente, a
10%) produziram melhores resultados do que a regressão sem nenhuma redução de
dimensionalidade. Esta constatação é essencial, caso contrário não haveria sentido em aplicar
nenhum destes métodos.
Tabela 3. p-valores dos testes para as diferenças entre os métodos no experimento 2, com SVR
PCA KPCA LDA KDA PAR KPAR Base
PCA - 0.9678 0.9863 0.9932 0.5000 0.8389 0.2783
KPCA 0.0420 - 0.9033 0.9199 0.0049 0.0420 0.0244
LDA 0.0186 0.1162 - 0.4606 0.0029 0.0098 0.0049
KDA 0.0098 0.0967 0.5771 - 0.0098 0.0244 0.0020
PAR 0.5391 0.9971 0.9980 0.9932 - 0.7539 0.2461
KPAR 0.1875 0.9678 0.9932 0.9814 0.2783 - 0.1611
Base 0.7539 0.9814 0.9971 0.9990 0.7842 0.8623 -
No caso da aplicação de SVR, os resultados foram menos contundentes. Dentre os métodos de
kernel, apenas KPCA superou seu correspondente linear, em termos do MAE global. Uma
possível explicação para este aparente fracasso dos métodos KDA e KPAR, contrastando com
o êxito obtido na regressão linear, é a de que foram utilizados os mesmos parâmetros para a
SVR no espaço de dados e no espaço de atributos. É plausível imaginar que as naturezas
distintas destes espaços conduzam a escolhas de parâmetros ótimos diferentes.
Departamento de Engenharia Elétrica
29
4.c. Experimento 3
Com o objetivo de obter resultados mais específicos, foi feito um terceiro experimento, com
regressão linear e validação cruzada LOPO em FG-NET. Foram considerados apenas os
modelos PCA, KPCA, LDA e KDA, uma vez que testes deste porte para PAR e KPAR não
foram considerados factíveis no presente trabalho.
Figura 11. MAE/y para o experimento 3
Fica evidente, na Figura 11, que o desempenho de todos os métodos se deteriora a partir de 30
anos. A regressão sem redução (Base) é a que apresenta menores erros de estimação para
pessoas mais velhas. Isto pode ser interpretado sob a ótica de que os métodos de redução, por
terem sido treinados com pouquíssimos exemplos de pessoas mais velhas, apresentam um
viés desfavorável a este grupo.
Departamento de Engenharia Elétrica
30
5. Conclusão
Kernels são uma ferramenta ao mesmo tempo simples e muito poderosa. Com uma pequena
modificação, uma classe ampla de técnicas lineares de aprendizado de máquina pode se tornar
não linear. A especificação da função de kernel fornece um grau de flexibilidade que permite
a incorporação de conhecimento prévio sobre o domínio de aplicação ou até mesmo uma
compreensão mais profunda sobre a natureza e estrutura dos dados.
Ao rompermos com a rigidez de modelos lineares, podemos obter modelos mais flexíveis e
robustos, capazes de explorar de forma mais natural a riqueza do espaço de dados.
Com esta motivação, foi obtido com sucesso um algoritmo baseado em kernel a partir do
método PAR. Isto foi possível porque, assim como PCA e LDA, PAR opera apenas em
função de produtos internos entre instâncias de dados, de modo que os mapeamentos para o
espaço de atributos não precisam ser calculados explicitamente.
As varreduras paramétricas indicaram que a escolha do parâmetro de escala do kernel
Gaussiano 𝜎 = 15 produziu bons resultados para os três métodos de kernel estudados. Este
fato sugere que o espaço de atributos induzido por tal kernel capturou os padrões de
envelhecimento de forma mais satisfatória do que o espaço de dados original.
Os experimentos revelaram que, utilizando regressão linear, os modelos não lineares geraram
erros significativamente menores do que os modelos lineares correspondentes. Estes
resultados não se reproduziram com SVR, possivelmente devido a uma má parametrização.
Experimentos cuidadosos de varredura dos parâmetros da SVR poderão determinar a validade
desta hipótese.
Estão previstos experimentos de mais larga-escala com o banco de dados MORPH, que conta
com dezenas de milhares de fotos de mais de treze mil indivíduos, entre 16 e 77 anos [37].
Testes com este banco de dados maior permitirão a avaliação do desempenho de estimação de
idades para pessoas de idade mais avançada. Também poderá ser contemplada a construção
de um modelo hierárquico, treinando um modelo de classificação em diferentes faixas etárias
e modelos de regressão específicos para cada uma destas.
Futuramente, poderão ser feitos testes com diferentes classes de kernels e outros métodos de
redução de dimensionalidade. Experimentos posteriores também poderão avaliar
comparativamente a utilização de métodos de kernel apenas na etapa de redução, na etapa de
regressão ou em ambas.
Departamento de Engenharia Elétrica
31
Referências
1 - KWON, Y. H.; DA VITORIA LOBO, N. Age classification from facial images.
Proceedings of the 1994 IEEE Computer Society Conference on Computer Vision and Pattern
Recognition, 1994. Anais... In: CVPR ’94. jun. 1994. doi:10.1109/CVPR.1994.323894
2 - LOBO, N.; KWON, Y. Automatic feature detection and age classification of human
faces in digital images. Pat. US5781650 A, 14 jul. 1998. Disponível em:
<http://www.google.com/patents/US5781650>. Acesso em: 26 jun. 2015.
3 - COOTES, T. F.; EDWARDS, G. J.; TAYLOR, C. J. Active appearance models. In:
BURKHARDT, H.; NEUMANN, B. (Eds.). Computer Vision — ECCV’98. Lecture Notes
in Computer Science. Berlin: Springer Berlin Heidelberg, 1998. p. 484–498.
doi:10.1007/BFb0054760
4 - LANITIS, A.; TAYLOR, C. J.; COOTES, T. F. Toward automatic simulation of aging
effects on face images. IEEE Transactions on Pattern Analysis and Machine Intelligence,
v. 24, n. 4, p. 442–455, abr. 2002. doi:10.1109/34.993553
5 - FACELI, K. et al. Inteligência Artificial: Uma Abordagem de Aprendizado de
Máquina. Rio de Janeiro: LTC, 2011.
6 - SAMMON, J. W. A Nonlinear Mapping for Data Structure Analysis. IEEE Transactions
on Computers, v. C-18, n. 5, p. 401–409, maio 1969. doi:10.1109/T-C.1969.222678
7 - JOHNSON, W. B.; LINDENSTRAUSS, J. Extensions of Lipschitz mappings into a
Hilbert space. In: BEALS, R. et al. (Eds.). Contemporary Mathematics. Providence, Rhode
Island: American Mathematical Society, 1984. v. 26p. 189–206. Disponível em:
<http://www.ams.org/conm/026/>. Acesso em: 25 jun. 2015.
8 - TENENBAUM, J. B.; SILVA, V. DE; LANGFORD, J. C. A Global Geometric
Framework for Nonlinear Dimensionality Reduction. Science, v. 290, n. 5500, p. 2319–2323,
22 dez. 2000. doi:10.1126/science.290.5500.2319
9 - ROWEIS, S. T.; SAUL, L. K. Nonlinear Dimensionality Reduction by Locally Linear
Embedding. Science, v. 290, n. 5500, p. 2323–2326, 22 dez. 2000.
doi:10.1126/science.290.5500.2323
10 - BELKIN, M.; NIYOGI, P. Laplacian Eigenmaps and Spectral Techniques for
Embedding and Clustering. (T. G. Dietterich, S. Becker, Z. Ghahramani, Eds.)Advances in
Neural Information Processing Systems 14. Anais... 2001. Disponível em:
<http://web.mit.edu/fustflum/documents/papers/niyogi.pdf>. Acesso em: 25 jun. 2015.
11 - COIFMAN, R. R. et al. Geometric diffusions as a tool for harmonic analysis and
structure definition of data: Diffusion maps. Proceedings of the National Academy of
Sciences of the United States of America, v. 102, n. 21, p. 7426–7431, 24 maio 2005.
doi:10.1073/pnas.0500334102
12 - KOHONEN, T. Self-organized formation of topologically correct feature maps.
Biological Cybernetics, v. 43, n. 1, p. 59–69, 1 jan. 1982. doi:10.1007/BF00337288
Departamento de Engenharia Elétrica
32
13 - DEMARTINES, P.; HERAULT, J. Curvilinear component analysis: a self-organizing
neural network for nonlinear mapping of data sets. IEEE Transactions on Neural Networks,
v. 8, n. 1, p. 148–154, jan. 1997. doi:10.1109/72.554199
14 - HOFMANN, T.; SCHÖLKOPF, B.; SMOLA, A. J. Kernel Methods in Machine
Learning. The Annals of Statistics, v. 36, n. 3, p. 1171–1220, 1 jun. 2008. Disponível em:
<http://www.jstor.org/stable/25464664>. Acesso em: 14 maio 2015.
15 - CASTRO, J. D. B. Estimativa de Idade a partir de Imagens Faciais. Rio de Janeiro,
2015. 88p. Dissertação (Mestrado em Engenharia Elétrica) — Departamento de Engenharia
Elétrica, Pontifícia Universidade Católica do Rio de Janeiro.
16 - CHEN, Y.-L.; HSU, C.-T. Subspace Learning for Facial Age Estimation Via Pairwise
Age Ranking. IEEE Transactions on Information Forensics and Security, v. 8, n. 12, p.
2164–2176, dez. 2013. doi:10.1109/TIFS.2013.2286265
17 - SMOLA, A. J.; SCHÖLKOPF, B. A tutorial on support vector regression. Statistics and
Computing, v. 14, n. 3, p. 199–222, 1 ago. 2004.
doi:10.1023/B:STCO.0000035301.49549.88
18 - ROSASCO, L. Reproducing Kernel Hilbert Spaces - MIT 9.520 Statistical Learning
Theory and Applications, Lecture Notes. 10 fev. 2010. Disponível em:
<http://www.mit.edu/~9.520/fall14/Classes/rkhs.html>. Acesso em: 16 maio 2015.
19 - SCHÖLKOPF, B. et al. Input space versus feature space in kernel-based methods. IEEE
Transactions on Neural Networks, v. 10, n. 5, p. 1000–1017, set. 1999.
doi:10.1109/72.788641
20 - MIKA, S. et al. Fisher discriminant analysis with kernels. Proceedings of the 1999
IEEE Signal Processing Society Workshop Neural Networks for Signal Processing IX.
Anais... In: NEURAL NETWORKS FOR SIGNAL PROCESSING IX. Madison, WI, USA:
ago. 1999. doi:10.1109/NNSP.1999.788121
21 - SCHÖLKOPF, B. Support vector learning. München, Germany: Oldenbourg, 1997.
Disponível em: <http://www.kernel-machines.org/papers/book_ref.ps.gz>. Acesso em: 2 maio
2015.
22 - PEARSON, K. On lines and planes of closest fit to systems of points in space.
Philosophical Magazine, 6. v. 2, n. 11, p. 559–572, 1901. doi:10.1080/14786440109462720
23 - SCHÖLKOPF, B.; SMOLA, A.; MÜLLER, K.-R. Kernel principal component analysis.
In: GERSTNER, W. et al. (Eds.). Artificial Neural Networks — ICANN’97. Lecture Notes
in Computer Science. Berlin: Springer Berlin Heidelberg, 1997. p. 583–588.
doi:10.1007/BFb0020217
24 - SCHÖLKOPF, B.; SMOLA, A.; MÜLLER, K.-R. Nonlinear Component Analysis as a
Kernel Eigenvalue Problem. Neural Computation, v. 10, n. 5, p. 1299–1319, 1 jul. 1998.
doi:10.1162/089976698300017467
25 - FISHER, R. A. The Use of Multiple Measurements in Taxonomic Problems. Annals of
Eugenics, v. 7, n. 2, p. 179–188, 1936. doi:10.1111/j.1469-1809.1936.tb02137.x
Departamento de Engenharia Elétrica
33
26 - RAO, C. R. The Utilization of Multiple Measurements in Problems of Biological
Classification. Journal of the Royal Statistical Society. Series B (Methodological), v. 10, n.
2, p. pp. 159–203, 1948. Disponível em: <http://www.jstor.org/stable/2983775>. Acesso em:
22 maio 2015.
27 - SHUIWANG JI; JIEPING YE. Generalized Linear Discriminant Analysis: A Unified
Framework and Efficient Model Selection. IEEE Transactions on Neural Networks, v. 19,
n. 10, p. 1768–1782, out. 2008. doi:10.1109/TNN.2008.2002078
28 - FRIEDMAN, J. H. Regularized Discriminant Analysis. Journal of the American
Statistical Association, v. 84, n. 405, p. 165–175, mar. 1989. doi:10.2307/2289860
29 - ZHANG, J.; MA, K.-K. Kernel Fisher Discriminant for Texture Classification. set.
2004. Disponível em:
<https://lear.inrialpes.fr/people/zhang/IEEE_manuscript_KFD_Texture.pdf>. Acesso em: 5
maio 2015.
30 - WOOLDRIDGE, J. M. Introductory Econometrics: A Modern Approach. 5. ed.
Mason, Ohio: South-Western Cengage Learning, 2013.
31 - BURGES, C. J. C. A Tutorial on Support Vector Machines for Pattern Recognition. Data
Mining and Knowledge Discovery, v. 2, n. 2, p. 121–167, 1 jun. 1998.
doi:10.1023/A:1009715923555
32 - CRISTIANINI, N.; SHAWE-TAYLOR, J. An Introduction to Support Vector
Machines and Other Kernel-based Learning Methods. Cambridge, UK: Cambridge
University Press, 2000.
33 - CORTES, C.; VAPNIK, V. Support-vector networks. Machine Learning, v. 20, n. 3, p.
273–297, 1 set. 1995. doi:10.1007/BF00994018
34 - KARUSH, W. Minima of functions of several variables with inequalities as side
constraints. Chicago, 1939. Master’s thesis — Department of Mathematics, University of
Chicago.
35 - KUHN, H. W.; TUCKER, A. W. Nonlinear Programming. Proceedings of the Second
Berkeley Symposium on Mathematical Statistics and Probability. Anais... Berkeley, CA,
USA: University of California Press, 1951. Disponível em:
<http://projecteuclid.org/euclid.bsmsp/1200500249>. Acesso em: 6 set. 2015.
36 - LANITIS, A.; COOTES, T. FG-Net aging database. Cyprus College, 2002.
37 - RICANEK, K.; TESAFAYE, T. MORPH: a longitudinal image database of normal
adult age-progression. Proceedings of the 7th International Conference on Automatic Face
and Gesture Recognition, 2006. FGR 2006. Anais... In: FGR 2006. Southampton, UK: IEEE
Computer Society, abr. 2006. doi:10.1109/FGR.2006.78
38 - GENG, X. et al. Learning from facial aging patterns for automatic age estimation.
Proceedings of the 14th annual ACM international conference on Multimedia. Anais... In:
MULTIMEDIA ’06. New York, NY, USA: ACM, out. 2006. doi:10.1145/1180639.1180711
Departamento de Engenharia Elétrica
34
39 - LANITIS, A.; DRAGANOVA, C.; CHRISTODOULOU, C. Comparing different
classifiers for automatic age estimation. IEEE Transactions on Systems, Man, and
Cybernetics, Part B: Cybernetics, v. 34, n. 1, p. 621–628, fev. 2004.
doi:10.1109/TSMCB.2003.817091
40 - NEAVE, H. R.; WORTHINGTON, P. L. Distribution-free tests. London: Unwin
Hyman, 1988.
41 - WILCOXON, F. Individual Comparisons by Ranking Methods. Biometrics Bulletin, v.
1, n. 6, p. 80–83, 1 dez. 1945. doi:10.2307/3001968
42 - CHANG, C.-C.; LIN, C.-J. LIBSVM: A library for support vector machines. ACM
Transactions on Intelligent Systems and Technology, v. 2, n. 3, p. 27:1–27:27, 2011.
doi:10.1145/1961189.1961199
43 - CHERKASSKY, V.; MA, Y. Selection of Meta-parameters for Support Vector
Regression. In: DORRONSORO, J. R. (Ed.). Artificial Neural Networks — ICANN 2002.
Lecture Notes in Computer Science. Berlin: Springer Berlin Heidelberg, 2002. p. 687–693.
doi:10.1007/3-540-46084-5_112
44 - VIOLA, P.; JONES, M. Rapid object detection using a boosted cascade of simple
features. Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision
and Pattern Recognition. Anais... In: CVPR 2001. IEEE, 2001.
doi:10.1109/CVPR.2001.990517
45 - SCHAPIRE, R. E. Explaining AdaBoost. In: SCHÖLKOPF, B.; LUO, Z.; VOVK, V.
(Eds.). Empirical Inference. Berlin: Springer Berlin Heidelberg, 2013. p. 37–52.
doi:10.1007/978-3-642-41136-6_5
46 - GROSS, R. et al. Multi-PIE. Image and Vision Computing, Best of Automatic Face and
Gesture Recognition 2008. v. 28, n. 5, p. 807–813, maio 2010.
doi:10.1016/j.imavis.2009.08.002
47 - SAGONAS, C. et al. 300 Faces in-the-Wild Challenge: The First Facial Landmark
Localization Challenge. 2013 IEEE International Conference on Computer Vision
Workshops (ICCVW). Anais... In: ICCVW 2013. dez. 2013. doi:10.1109/ICCVW.2013.59
48 - CRISTINACCE, D.; COOTES, T. F. Feature Detection and Tracking with
Constrained Local Models. Proceedings of the British Machine Vision Conference. Anais...
In: BMVC 2006. British Machine Vision Association, 2006. doi:10.5244/C.20.95
49 - ASTHANA, A. et al. Robust Discriminative Response Map Fitting with Constrained
Local Models. 2013 IEEE Conference on Computer Vision and Pattern Recognition. Anais...
In: CVPR 2013. jun. 2013. doi:10.1109/CVPR.2013.442
50 - GOWER, J. C. Generalized procrustes analysis. Psychometrika, v. 40, n. 1, p. 33–51, 1
mar. 1975. doi:10.1007/BF02291478
Departamento de Engenharia Elétrica
35
Apêndice A. Extração de atributos
A.1. Localização da face
Fotos de bancos de dados têm origens diversas e muitas vezes não são obtidas em ambientes
controlados. Assim, sabendo que a escala das fotos e o posicionamento dos indivíduos pode
variar significativamente, faz-se necessário detectar a posição e o tamanho do rosto presente
em cada foto.
O detector utilizado foi o de Viola-Jones [44], que, por utilizar atributos muito simples e
facilmente calculáveis e aprendizado com boosting, é eficiente e preciso.
São usados atributos retangulares simples, divididos em três tipos:
Dois retângulos: soma em um retângulo menos a soma em outro (de mesmo tamanho e
adjacentes horizontal ou verticalmente)
Três retângulos: soma em dois retângulos menos a soma em outro (dois retângulos
exteriores menos um central)
Quatro retângulos: soma em dois retângulos menos a soma em outros dois (dispostos
diagonalmente)
As somas e diferenças são calculadas eficientemente a partir de uma imagem integral
previamente computada:
𝑖𝑖(𝑥, 𝑦) = ∑ 𝑖(𝑥′, 𝑦′)
𝑥′≤𝑥,𝑦′≤𝑦
(83)
O classificador final é treinado com o algoritmo AdaBoost, para selecionar os melhores
atributos. Mais detalhes sobre aprendizado com AdaBoost podem ser encontrados em [45].
A.2. Localização dos pontos fiduciais
Após a detecção da face, é preciso extrair os pontos fiduciais, que são pontos de interesse que
definem a morfologia do rosto. No banco de dados utilizado, cada rosto é anotado com 68
pontos, marcados segundo o esquema descrito em [46, 47].
Para extrair os pontos fiduciais, foi aplicado o método de modelos locais restritos (CLM,
Constrained Local Models) [48]. Baseado em modelos ativos de aparência (AAM, Active
Appearance Models, detalhados no Apêndice A.4), CLM se diferencia por seu método de
busca, baseado em fragmentos em torno dos pontos. Neste trabalho, foi usada a
implementação desenvolvida em [49].
O algoritmo de CLM consiste em, após a inicialização com um conjunto de pontos, ajustar o
modelo conjunto aos pontos, para gerar um conjunto de padrões (templates). Em seguida, faz-
se uma busca com os padrões sobre a imagem, para estimar um novo conjunto de pontos.
Estas duas etapas são iteradas até a convergência.
A.3. Alinhamento
Para o estudo de formas, é comum se realizar uma etapa de pré-processamento para
normalizar e alinhar as formas entre si.
Departamento de Engenharia Elétrica
36
Seja 𝐗 uma forma expressa por um conjunto de 𝑘 pontos de controle: 𝐗 = (𝑥1 𝑥2 … 𝑥𝑘
𝑦1 𝑦2 … 𝑦𝑘)
A Análise de Procrustes consiste em, primeiramente, normalizar a forma 𝐗 em translação e
escala, para alguma medida de escala 𝑠:
�̅� =1
𝑘∑(𝐗)⋅𝑗
𝑘
𝑗=1
= 𝐗1𝑘 , �̃� =𝐗 − 𝑘�̅�1𝑘
𝑇
𝑠
Neste trabalho, seguindo o procedimento adotado em [15], as formas e imagens são
normalizadas de modo que todas as faces tenham uma distância fixa entre os olhos.
Em seguida, já supondo a forma 𝐗 centralizada e normalizada, ela é alinhada por rotação a
uma forma de referência 𝐘, por meio de uma decomposição em valores singulares (SVD):
𝐘𝑇𝐗 = 𝐔𝚺𝐕𝑇 , �̂� = 𝐗𝐕𝐔𝑇
A Análise de Procrustes Generalizada (GPA) é um algoritmo para alinhar um conjunto de
formas {𝐗𝑖}𝑖=1𝑛 entre si, sem a especificação de uma forma de referência explícita [50]. Para
simplificar a notação, definamos 𝒜: (𝐗, 𝐘) ↦ �̂� como a transformação de alinhamento. O
algoritmo GPA é dado a seguir:
𝐘 ← 𝐗1 �̂�𝑖 ← 𝒜(𝐗𝑖, 𝐘), ∀𝑖 = 1, … , 𝑛 Enquanto 𝐘 não convergir, faça:
𝐘 ←1
𝑛∑ �̂�𝑖
𝑛
𝑖=1
�̂�𝑖 ← 𝒜(�̂�𝑖, 𝐘), ∀𝑖 = 1, … , 𝑛
Algoritmo 3. Análise de Procrustes Generalizada
A.4. Extração de atributos
Uma vez que as imagens estejam todas em um mesmo referencial, devemos ser capazes de
extrair um modelo estatístico deste conjunto de dados, de modo que seja possível manipulá-lo
a partir de um conjunto seleto de parâmetros representativos.
Uma classe de modelos muito poderosa e amplamente utilizada é a de modelos ativos de
aparência (AAM, Active Appearance Models) [3]. Estes modelos combinam modelos
geradores de forma e textura:
𝐬 = �̅� + 𝐏𝑠𝐛𝑠, 𝐠 = �̅� + 𝐏𝑔𝐛𝑔
Aqui, 𝐬 é o vetor de coordenadas normalizadas de forma, �̅� é a forma média, 𝐏𝑠 é um conjunto
de modos ortogonais de variação de forma e 𝐛𝑠 são os parâmetros correspondentes. De modo
similar, define-se �̅�, 𝐏𝑔 e 𝐛𝑔 para os níveis de cinza da textura, 𝐠.
O modelo conjunto de forma e textura pode ser expresso como a seguir, onde 𝐛 é o vetor
conjunto de parâmetros e 𝐖𝑠 uma matriz diagonal para balancear as unidades dos
coeficientes:
Departamento de Engenharia Elétrica
37
𝐛 = (𝐖𝑠𝐛𝑠
𝐛𝑔) = (
𝐖𝑠𝐏𝑠𝑇(𝐬 − �̅�)
𝐏𝑔𝑇(𝐠 − �̅�)
)
Em seguida, aplica-se PCA (seção 2.c.i) sobre o modelo conjunto de forma e textura (vetores
𝐛) para obter-se a matriz ortogonal 𝐐 de modos de aparência (forma + textura), controlados
por um único vetor de parâmetros 𝐜:
𝐛 = 𝐐𝐜, 𝐐 = (𝐐𝑠
𝐐𝑔)
Dado um vetor de parâmetros de aparência 𝐜, uma nova imagem pode ser sintetizada como a
seguir:
𝐬 = �̅� + 𝐏𝑠𝐖𝑠𝐐𝑠𝐜, 𝐠 = �̅� + 𝐏𝑔𝐐𝑔𝐜
Em seguida, deve-se distorcer a textura 𝐠 da malha de referência �̅� para a malha 𝐬, através de
uma transformação afim por partes definida sobre a triangulação. Obtém-se, assim, uma nova
instância completa do modelo.
Departamento de Engenharia Elétrica
38
Apêndice B. Desenvolvimentos matemáticos
B.1. Centralização do kernel
𝐾𝑖𝑗 = 𝛗𝑖𝑇𝛗𝑗, 𝐊 = 𝚽𝑇𝚽, �̅� =
1
𝑛∑ 𝛗𝑗
𝑛
𝑗=1
= 𝚽1𝑛
𝛗𝑖′ = 𝛗𝑖 − �̅� = 𝛗𝑖 − 𝚽1𝑛, 𝚽′ = 𝚽 − 𝚽𝟏𝑛 = 𝚽(𝐈 − 𝟏𝑛),
𝜑′(𝐱) = 𝜑(𝐱) − �̅� = 𝜑(𝐱) − 𝚽1𝑛
𝑘′(𝐱𝑖, 𝐱) = 𝛗𝑖′𝑇
𝜑′(𝐱) = (𝛗𝑖 − 𝚽1𝑛)𝑇(𝜑(𝐱) − 𝚽1𝑛)
= 𝛗𝑖𝑇𝜑(𝐱) − 𝛗𝑖
𝑇𝚽1𝑛 − 1𝑛𝚽𝑇𝜑(𝐱) + 1𝑛𝚽𝑇𝚽1𝑛
= 𝑘(𝐱𝑖, 𝐱) − 𝛋𝑖𝑇1𝑛 − 1𝑛
𝑇𝛋(𝐱) + 1𝑛𝑇𝐊1𝑛
𝐾𝑖𝑗′ = 𝛗𝑖
′𝑇𝛗𝑗
′ = (𝛗𝑖 − 𝚽1𝑛)𝑇(𝛗𝑗 − 𝚽1𝑛) = 𝛗𝑖𝑇𝛗𝑗 − 𝛗𝑖
𝑇𝚽1𝑛 − 1𝑛𝚽𝑇𝛗𝑗 + 1𝑛𝚽𝑇𝚽1𝑛
= 𝐾𝑖𝑗 − 𝛋𝑖𝑇1𝑛 − 1𝑛
𝑇𝛋𝑗 + 1𝑛𝑇𝐊1𝑛 = 𝐾𝑖𝑗 − 𝛋𝑖
𝑇1𝑛 − 1𝑛𝑇𝛋𝑗 + �̅̅�
= 𝐾𝑖𝑗 − 𝜅�̅� − 𝜅�̅� + �̅̅�
𝛋′(𝐱) = 𝚽′𝑇𝜑′(𝐱) = (
𝑘′(𝐱1, 𝐱)⋮
𝑘′(𝐱𝑛, 𝐱)) = (
𝑘(𝐱1, 𝐱) − 𝛋(𝐱1)𝑇1𝑛 − 1𝑛𝑇𝛋(𝐱) + 1𝑛
𝑇𝐊1𝑛
⋮𝑘(𝐱𝑛, 𝐱) − 𝛋(𝐱𝑛)𝑇1𝑛 − 1𝑛
𝑇𝛋(𝐱) + 1𝑛𝑇𝐊1𝑛
)
= 𝛋(𝐱) − 𝐊1𝑛 − 𝟏𝑛𝛋(𝐱) + 𝟏𝑛𝐊1𝑛 = (𝐈 − 𝟏𝑛)(𝛋(𝐱) − �̅�) = 𝐉(𝛋(𝐱) − �̅�)
𝐊′ = 𝚽′𝑇𝚽′ = (𝚽 − 𝚽𝟏𝑛)𝑇(𝚽 − 𝚽𝟏𝑛) = 𝚽𝑇𝚽 − 𝟏𝑛𝚽𝑇𝚽 − 𝚽𝑇𝚽𝟏𝑛 + 𝟏𝑛𝚽𝑇𝚽𝟏𝑛
= 𝐊 − 𝟏𝑛𝐊 − 𝐊𝟏𝑛 + 𝟏𝑛𝐊𝟏𝑛 = (𝐈 − 𝟏𝑛)(𝐊 − 𝐊𝟏𝑛) = (𝐈 − 𝟏𝑛)𝐊(𝐈 − 𝟏𝑛)
= 𝐉𝐊𝐉
∎
B.2. Análise discriminante com kernel
B.2.i.
𝐒𝑤 =1
𝑛∑ ∑(𝐱(𝑖)
𝑐 − �̅�𝑐)(𝐱(𝑖)𝑐 − �̅�𝑐)
𝑇
𝑛𝑐
𝑖=1
𝐶
𝑐=1
=1
𝑛𝐗𝐗𝑇 −
1
𝑛∑ 𝑛𝑐�̅�𝑐�̅�𝑐
𝑇
𝐶
𝑐=1
=1
𝑛∑ 𝑛𝑐ℂov(𝐗𝑐)̂
𝐶
𝑐=1
𝐒𝑏 =1
𝑛∑ 𝑛𝑐(�̅�𝑐 − �̅�)(�̅�𝑐 − �̅�)𝑇
𝐶
𝑐=1
=1
𝑛∑ 𝑛𝑐�̅�𝑐�̅�𝑐
𝑇
𝐶
𝑐=1
− �̅��̅�𝑇
𝐒𝑡 =1
𝑛∑(𝐱𝑖 − �̅�)(𝐱𝑖 − �̅�)𝑇
𝑛
𝑖=1
=1
𝑛∑ 𝐱𝑖𝐱𝑖
𝑇
𝑛
𝑖=1
− (1
𝑛∑ 𝐱𝑖
𝑛
𝑖=1
) �̅�𝑇 − �̅� (1
𝑛∑ 𝐱𝑖
𝑇
𝑛
𝑖=1
) + (1
𝑛∑ 1
𝑛
𝑖=1
) �̅��̅�𝑇
=1
𝑛𝐗𝐗𝑇 − �̅��̅�𝑇 = ℂov(𝐗)̂
Departamento de Engenharia Elétrica
39
𝐒𝑤 =1
𝑛𝐗𝐗𝑇 −
1
𝑛∑ 𝑛𝑐�̅�𝑐�̅�𝑐
𝑇
𝐶
𝑐=1
𝐒𝑏 =1
𝑛∑ 𝑛𝑐�̅�𝑐�̅�𝑐
𝑇
𝐶
𝑐=1
− �̅��̅�𝑇
𝐒𝑡 =1
𝑛𝐗𝐗𝑇 − �̅��̅�𝑇 = 𝐒𝑤 + 𝐒𝑏
∎
B.2.ii.
𝐍 =1
𝑛∑ ∑(𝛋(𝑗)
𝑐 − �̅�𝑐)(𝛋(𝑗)𝑐 − �̅�𝑐)
𝑇
𝑛𝑐
𝑗=1
𝐶
𝑐=1
=1
𝑛∑ ∑(𝛋(𝑗)
𝑐 𝛋(𝑗)𝑐 𝑇
− 𝛋(𝑗)𝑐 �̅�𝑐
𝑇 − �̅�𝑐𝛋(𝑗)𝑐 𝑇
+ �̅�𝑐�̅�𝑐𝑇)
𝑛𝑐
𝑗=1
𝐶
𝑐=1
=1
𝑛∑[𝐊𝑐𝐊𝑐
𝑇 − 𝐊𝑐𝟏𝑛𝑐𝐊𝑐
𝑇 − 𝐊𝑐𝟏𝑛𝑐𝐊𝑐
𝑇 + 𝐊𝑐𝟏𝑛𝑐𝐊𝑐
𝑇]
𝐶
𝑐=1
=1
𝑛∑ 𝐊𝑐(𝐈 − 𝟏𝑛𝑐
)𝐊𝑐𝑇
𝐶
𝑐=1
∎
B.2.iii.
�̅� =1
𝑛∑ 𝛗𝑖
𝑛
𝑖=1
, �̅�𝑐 =1
𝑛𝑐∑ 𝛗(𝑗)
𝑐
𝑛𝑐
𝑗=1
, 𝛗𝑖 = 𝜑(𝐱𝑖), 𝛗(𝑗)𝑐 = 𝜑(𝐱(𝑗)
𝑐 )
𝚺𝑏 =1
𝑛∑ 𝑛𝑐(�̅�𝑐 − �̅�)(�̅�𝑐 − �̅�)𝑇
𝐶
𝑐=1
𝚺𝑤 =1
𝑛∑ ∑(𝛗(𝑗)
𝑐 − �̅�𝑐)(𝛗(𝑗)𝑐 − �̅�𝑐)
𝑇
𝑛𝑐
𝑗=1
𝐶
𝑐=1
Projetando o vetor médio de atributos, �̅�, o vetor médio de atributos da classe 𝑐, �̅�𝑐, e o vetor
de atributos do elemento 𝑗 da classe 𝑐, 𝛗(𝑗)𝑐 , sobre uma direção arbitrária de ℱ, 𝐰, obtemos os
resultados seguintes, em função do kernel 𝑘(⋅,⋅):
𝐰𝑇�̅� =
1
𝑛∑ 𝐰𝑇𝛗𝑗
𝑛
𝑗=1
=1
𝑛∑ ∑ 𝛼𝑖𝛗𝑖
𝑇𝛗𝑗
𝑛
𝑗=1
𝑛
𝑖=1
=1
𝑛∑ ∑ 𝛼𝑖𝑘(𝐱𝑖, 𝐱𝑗)
𝑛
𝑗=1
𝑛
𝑖=1
= 𝛂𝑇�̅� (84)
𝐰𝑇�̅�𝑐 =1
𝑛𝑐∑ 𝐰𝑇𝛗(𝑗)
𝑐
𝑛𝑐
𝑗=1
=1
𝑛𝑐∑ ∑ 𝛼𝑖𝛗𝑖
𝑇𝛗(𝑗)𝑐
𝑛𝑐
𝑗=1
𝑛
𝑖=1
=1
𝑛𝑐∑ ∑ 𝛼𝑖𝑘(𝐱𝑖, 𝐱(𝑗)
𝑐 )
𝑛𝑐
𝑗=1
𝑛
𝑖=1
= 𝛂𝑇�̅�𝑐
(85)
𝐰𝑇𝛗(𝑗)
𝑐 = ∑ 𝛼𝑖𝛗𝑖𝑇𝛗(𝑗)
𝑐
𝑛
𝑖=1
= ∑ 𝛼𝑖𝑘(𝐱𝑖, 𝐱(𝑗)𝑐 )
𝑛
𝑖=1
= 𝛂𝑇𝛋(𝑗)𝑐 (86)
Departamento de Engenharia Elétrica
40
Onde:
(�̅�𝑐)𝑖 =1
𝑛𝑐∑ 𝑘(𝐱𝑖, 𝐱(𝑗)
𝑐 )
𝑛𝑐
𝑗=1
, (�̅�)𝑖 =1
𝑛∑ 𝑘(𝐱𝑖, 𝐱𝑗)
𝑛
𝑗=1
, 𝛋𝑖 = 𝛋(𝐱𝑖), 𝛋(𝑗)𝑐 = 𝛋(𝐱(𝑗)
𝑐 )
Definamos as matrizes 𝐌 e 𝐍 como a seguir:
𝐌 =1
𝑛∑ 𝑛𝑐(�̅�𝑐 − �̅�)(�̅�𝑐 − �̅�)𝑇
𝐶
𝑐=1
(87)
𝐍 =1
𝑛∑ ∑(𝛋(𝑗)
𝑐 − �̅�𝑐)(𝛋(𝑗)𝑐 − �̅�𝑐)
𝑇
𝑛𝑐
𝑗=1
𝐶
𝑐=1
=1
𝑛∑ 𝐊𝑐(𝐈 − 𝟏𝑛𝑐
)𝐊𝑐𝑇
𝐶
𝑐=1
(88)
�̅�𝑐 = 𝐊𝑐1𝑛𝑐, �̅� = 𝐊1𝑛
Finalmente, substituímos os resultados (84), (85) e (86) e as definições (87) e (88) no
desenvolvimento das expressões 𝐰𝑇𝚺𝑏𝐰 e 𝐰𝑇𝚺𝑤𝐰:
𝐰𝑇𝚺𝑏𝐰 = 𝐰𝑇 {1
𝑛∑ 𝑛𝑐(�̅�𝑐 − �̅�)(�̅�𝑐 − �̅�)𝑇
𝐶
𝑐=1
} 𝐰 =1
𝑛∑ 𝑛𝑐[𝐰𝑇(�̅�𝑐 − �̅�)][(�̅�𝑐 − �̅�)𝑇𝐰]
𝐶
𝑐=1
=1
𝑛∑ 𝑛𝑐[𝛂𝑇(�̅�𝑐 − �̅�)][(�̅�𝑐 − �̅�)𝑇𝛂]
𝐶
𝑐=1
= 𝛂𝑇 {1
𝑛∑ 𝑛𝑐(�̅�𝑐 − �̅�)(�̅�𝑐 − �̅�)𝑇
𝐶
𝑐=1
} 𝛂
= 𝛂𝑇𝐌𝛂
𝐰𝑇𝚺𝑤𝐰 = 𝐰𝑇 {1
𝑛∑ ∑(𝛗(𝑗)
𝑐 − �̅�𝑐)(𝛗(𝑗)𝑐 − �̅�𝑐)
𝑇
𝑛𝑐
𝑗=1
𝐶
𝑐=1
} 𝐰
=1
𝑛∑ ∑[𝐰𝑇(𝛗(𝑗)
𝑐 − �̅�𝑐)] [(𝛗(𝑗)𝑐 − �̅�𝑐)
𝑇𝐰]
𝑛𝑐
𝑗=1
𝐶
𝑐=1
=1
𝑛∑ ∑[𝛂𝑇(𝛋(𝑗)
𝑐 − �̅�𝑐)] [(𝛋(𝑗)𝑐 − �̅�𝑐)
𝑇𝛂]
𝑛𝑐
𝑗=1
𝐶
𝑐=1
= 𝛂𝑇 {1
𝑛∑ ∑(𝛋(𝑗)
𝑐 − �̅�𝑐)(𝛋(𝑗)𝑐 − �̅�𝑐)
𝑇
𝑛𝑐
𝑗=1
𝐶
𝑐=1
} 𝛂 = 𝛂𝑇𝐍𝛂
∎
Top Related