métodos de kernel em estimação de idades - puc-rio€¦ · departamento de engenharia elétrica...

43
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

Upload: others

Post on 27-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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

Page 2: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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

Page 3: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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

Page 4: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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

Page 5: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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.

Page 6: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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

𝑛:

Page 7: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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) =

Page 8: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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:

Page 9: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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,

Page 10: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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)

Page 11: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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.

Page 12: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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.

Page 13: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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

Page 14: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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).

Page 15: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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)

Page 16: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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 𝐺>𝑘 = (𝑉, 𝛀𝑘) ⊆ 𝐺>.

Page 17: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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)

Page 18: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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 𝐺=.

Page 19: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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:

Page 20: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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 𝑥∗.

Page 21: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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.

Page 22: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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)

Page 23: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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/>.

Page 24: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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.

Page 25: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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].

Page 26: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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

Page 27: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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, 𝜎.

Page 28: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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.

Page 29: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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

Page 30: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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

Page 31: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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.

Page 32: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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.

Page 33: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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.

Page 34: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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

Page 35: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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

Page 36: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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

Page 37: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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

Page 38: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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.

Page 39: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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:

Page 40: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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.

Page 41: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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(𝐗)̂

Page 42: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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)

Page 43: Métodos de Kernel em Estimação de Idades - PUC-Rio€¦ · Departamento de Engenharia Elétrica Notação ङ, Escalar ࣲ,𝛂 Vetor-coluna ࣘ,𝐀 Matriz छථ,ᐌ𝐦ᐍථ

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

} 𝛂 = 𝛂𝑇𝐍𝛂