You are on page 1of 76

Anlise Forense de

Documentos Digitais

Prof. Dr. Anderson Rocha


anderson.rocha@ic.unicamp.br
http://www.ic.unicamp.br/~rocha

Reasoning for Complex Data (RECOD) Lab.


Institute of Computing, Unicamp
Av. Albert Einstein, 1251 - Cidade Universitria
CEP 13083-970 Campinas/SP - Brasil
Organizao
Organizao
Validao e Mtricas de Qualidade em Classificao de
Padres

Classificadores de Padres

KNN

LDA

rvores

SVM

Coletneas (Bagging)

A. Rocha, 2012 Anlise Forense de Documentos Digitais 3


Formas de
Validao
Formas de Validao
Ao utilizarmos aprendizado supervisionado
para resolvermos um problema, temos trs
opes para validarmos nossos resultados
[Friedman et al. 2001] [Bishop 2006]:

Holdout validation
K-Fold Cross validation
Leave-one-Out validation
A. Rocha, 2012 Anlise Forense de Documentos Digitais 5
Mtricas de
Qualidade
Mtricas de Qualidade

Problema de duas classes


False Negative Rate (FNR)
True Positive Rate (TPR)
False Positive Rate (FPR)
True Negative Rate (TNR)
A. Rocha, 2012 Anlise Forense de Documentos Digitais 7
Mtricas de Qualidade

Um bom classificador procura minimizar FNR e


FPR e maximizar TNR e TPR

Sabemos que FNR = 1 TPR e FPR = 1 TNR


Acurcia pode ser definida como (TP + TN)/N

A. Rocha, 2012 Anlise Forense de Documentos Digitais 8


Classificadores
de Padres
(Algumas Abordagens)
Classificadores de Padres

Em Matemtica e Estatstica
Um classificador um mapeamento a partir de
um espao de caractersticas X para um
conjunto discreto de rtulos (labels) Y
[Friedman et al. 2001] [Bishop 2006]

A. Rocha, 2012 Anlise Forense de Documentos Digitais 10


Classificadores de Padres
Em Inteligncia Artificial
Um classificador um tipo de motor de
inferncia que implementa estratgias eficientes
para

computar relaes de classificao entre pares


de conceitos ou

para computar relaes entre um conceito e


um conjunto de instncias [Duda et al. 2001]

A. Rocha, 2012 Anlise Forense de Documentos Digitais 11


Classificadores de Padres

K-Vizinhos mais Prximos (KNN)


Discriminante de Fisher (LDA)
rvores de Classificao
Mquinas de Vetores de Suporte (SVMs)
Coletneas
A. Rocha, 2012 Anlise Forense de Documentos Digitais 12
K-Vizinhos Mais
Prximos (KNN)
KNN
K-Nearest Neighbors (KNN)
Aumestratgia do algoritmo K-Vizinhos classificar
elemento de acordo com os seus vizinhos

Noo de distncia ou similaridade entre


vizinhos

No exige treinamento explcito mas exige um


conjunto de elementos marcados

A. Rocha, 2012 Anlise Forense de Documentos Digitais 14


KNN
Para classificar um elemento novo x , mtodos
baseados em K-Vizinhos usam observaes em
um conjunto de treinamento XT prximos de x
no espao de caractersticas para formar a
predio f (x)
1 X
f (x) = yi
k
xi 2Nk (x)

A. Rocha, 2012 Anlise Forense de Documentos Digitais 15


KNN
K = 15 K=1
Friedman et al.

Friedman et al.
Comportamento no Treinamento!

A. Rocha, 2012 Anlise Forense de Documentos Digitais 16


Discriminante de
Fisher (LDA)
LDA
Linear Discriminant Analysis (LDA)
Discriminante de Fisher
Consiste em selecionar os componentes que
maximizam a diferena entre as classes enquanto
minimizam a variabilidade intra-classe [Friedman
et al. 2001] [Bishop 2006]

Por simplicidade, considere um problema de duas


classes Y (-1 = a | +1 = b)

A. Rocha, 2012 Anlise Forense de Documentos Digitais 18


LDA
Seja X uma famlia de exemplares pertencentes
a
classe a e Xb uma famlia de exemplares
pertencentes classe b no conjunto de
treinamento

Considere |Xa | = Na e |Xb | = Nb

Adicionalmente, supomos que ambas as classes


seguem uma distribuio Gaussiana

A. Rocha, 2012 Anlise Forense de Documentos Digitais 19


LDA
Mdias intra-classe
1 X 1 X
a = xi b = xj .
Na Nb
xi 2Xa xj 2Xb

Mdia entre as classes (a,b) !


1 X
= x .
Na + Nb
x2Xa [Xb

A. Rocha, 2012 Anlise Forense de Documentos Digitais 20


LDA
Definimos uma matriz de disperso intra-classe
para medir o quanto cada classe varia
T T
Sw = Ma Ma + Mb Mb
onde a i-sima linha da matriz Ma contm a
diferena (xi a )
a

O mesmo procedimento se aplica a M b

A. Rocha, 2012 Anlise Forense de Documentos Digitais 21


LDA

Definimos agora a disperso entre as classes


Sbet = Na (a )(a )T + Nb (b )(b )T

Para maximizarmos a diferena entre as classes


e minimizarmos a variabilidade intra-classe em
uma simples dimenso, suficiente calcularmos
o autovalor-autovetor generalizado e maximal
de Sbet e Sw

A. Rocha, 2012 Anlise Forense de Documentos Digitais 22


LDA
Podemos calcular o autovalor-autovetor
generalizado fazendo
Sbete = Sw e

Com o autovetor generalizado maximal, ns


podemos projetar as amostras em um
subespao linear e aplicar um limiar para
efetuarmos a classificao

A. Rocha, 2012 Anlise Forense de Documentos Digitais 23


LDA

Friedman et al.
A. Rocha, 2012 Anlise Forense de Documentos Digitais 24
rvores de
Classificao (CTREES)
rvores de Classificao

Classification Trees (CTREES)


Propriedades estatsticas da teoria da informao
para proceder a classificao

Alguns algoritmos conhecidos que aplicam esta


abordagem so o ID3 e suas evolues como as
abordagens C4.5 e C5.0 [Mitchell 1997]

A. Rocha, 2012 Anlise Forense de Documentos Digitais 26


rvores de Classificao
Embora no descritas aqui, existem outras
abordagens no baseadas na teoria da
informao como a abordagem CART baseada
em regresso univariada [Friedman et al. 2001]

A maioria dos algoritmos baseados em rvores


de classificao empregam tcnicas gulosas top-
down para analisar o espao de possveis
solues

A. Rocha, 2012 Anlise Forense de Documentos Digitais 27


rvores de Classificao
Em uma abordagem gulosa, em cada iterao,
procuramos selecionar os atributos que so
mais propcios a serem ns da rvore

Para a seleo de atributos, aplicamos um teste


estatstico para avaliarmos cada atributo
(caracterstica) de modo a analisarmos quo
bem ele classifica, sozinho, os exemplos
presentes no treinamento

A. Rocha, 2012 Anlise Forense de Documentos Digitais 28


rvores de Classificao
Considere um problema de duas classes
Y (-1 = a | +1 = b)

Caso tenhamos N exemplos no treinamento e cada


exemplo possua p caractersticas

no primeiro passo do algoritmo selecionamos o


atributo que melhor classifica os N exemplos
presentes no treinamento

para isso, usamos o critrio estatstico adotado

A. Rocha, 2012 Anlise Forense de Documentos Digitais 29


rvores de Classificao
O processo repetido para cada n folha
descendente produzido at que
o nmero total de atributos seja avaliado ou
todos os exemplos no treinamento associado
a este determinado n folha pertenam
mesma classe (e.g., todos os exemplos
pertenam classe Y = +1)

A. Rocha, 2012 Anlise Forense de Documentos Digitais 30


rvores de Classificao

Ao utilizarmos rvores de classificao, temos


que considerar dois pontos importantes
a seleo do atributo a ser testado em cada
n
discretizao seleo de limiares para
atributos no-discretos

A. Rocha, 2012 Anlise Forense de Documentos Digitais 31


Seleo do Atributo
Definimos uma propriedade estatstica chamada
ganho de informao (GI)

Mede quo bem um dado atributo separa os


exemplos de treinamento de acordo com a
classificao esperada

Para definir GI, definimos, primeiramente,


Entropia

A. Rocha, 2012 Anlise Forense de Documentos Digitais 32


Seleo do Atributo
Entropia caracteriza o grau de organizao em
um conjunto arbitrrio de exemplos

Dada uma coleo de exemplos S contendo


exemplos pertencentes tanto classe a quanto
nossa classe b, a entropia de S dada por
E(S) = p log2 p p log2 p

onde p a proporo de exemplos + em S

A. Rocha, 2012 Anlise Forense de Documentos Digitais 33


Seleo do Atributo
Tendo E(S) definida, buscamos maximizar o ganho de
informao GI para um determinado atributo A
como
X |Sv|
GI(S, A) = E(S) E(Sv )
|S|
v2V (A)

onde V(A) o conjunto de todos os valores


possveis para o atributo A e S o subconjunto de S v
para o qual A tem o valor v

A. Rocha, 2012 Anlise Forense de Documentos Digitais 34


Seleo do Atributo

GI mede a reduo esperada na entropia para


um determinado atributo A

Quanto maior o GI de um atributo, melhor este


atributo separa os dados [Mitchell 1997]

A. Rocha, 2012 Anlise Forense de Documentos Digitais 35


Discretizao de Valores Contnuos

Quando trabalhamos com um conjunto S cujos


atributos podem ter valores contnuos, temos
outro problema a tratar:

selecionarmos um limiar que transforme cada


varivel contnua em uma varivel discreta
discretizao

Para cada atributo, temos que selecionar o limiar c


que produza o maior ganho de informao

A. Rocha, 2012 Anlise Forense de Documentos Digitais 36


Discretizao de Valores Contnuos

Para isso, ordenamos nossos exemplos segundo o


valor da varivel contnua sendo analisada

Geramos um conjunto de limiares candidatos


selecionando exemplos adjacentes que tenham
classificao diferente

Para cada limiar candidato, dividimos o conjunto de


treinamento segundo este limiar e calculamos o GI
associado

A. Rocha, 2012 Anlise Forense de Documentos Digitais 37


Discretizao de Valores Contnuos

Selecionamos o limiar que produz o maior GI


Aplicamos o procedimento recursivamente at
atingirmos o critrio de parada

A. Rocha, 2012 Anlise Forense de Documentos Digitais 38


rvores de Classificao

Friedman et al.

A. Rocha, 2012 Anlise Forense de Documentos Digitais 39


Mquinas de Vetores
de Suporte (SVM)
SVMs
Support Vector Machines (SVMs)
Tema de grande interesse na comunidade de
aprendizado de mquina criando um entusiasmo
similar ao que as redes neurais artificiais
despertou anos atrs

A teoria geral dos SVMs foi apresentada por


[Cortes & Vapnik 1995] para classificao binria
(duas classes)

A. Rocha, 2012 Anlise Forense de Documentos Digitais 41


SVMs
Nessa abordagem, basicamente estamos
procurando por um hiperplano de separao
tima entre duas classes [Schlkopf & Smola 2001]
[Friedman et al. 2001] [Bishop 2006]

Isto feito atravs da maximizao da margem


Margem a menor distncia entre um ponto
pertencente classe a e um ponto pertencente
classe b

A. Rocha, 2012 Anlise Forense de Documentos Digitais 42


SVMs

A. Rocha

A. Rocha, 2012 Anlise Forense de Documentos Digitais 43


SVMs
Os pontos sobre as fronteiras so chamados
vetores de suporte (support vectors)

Oseparao
meio da margem o nosso hiperplano de
tima

Para os pontos que esto do lado errado da


margem discriminante, ns recalculamos os
coeficientes de forma a reduzir sua influncia
(soft margin methods)

A. Rocha, 2012 Anlise Forense de Documentos Digitais 44


SVMs
Quando no possvel achar um separador
linear, os dados so projetados em um espao
de maior dimenso onde tornam-se
linearmente separveis

Obviamente, a projeo no feita de forma


explcita

A projeo feita a partir de tcnicas baseadas


em kernels [Schlkopf & Smola 2001]

A. Rocha, 2012 Anlise Forense de Documentos Digitais 45


SVMs

SVMs podem ser divididos em trs categorias


linearmente separvel
linearmente no-separvel
no-linear

A. Rocha, 2012 Anlise Forense de Documentos Digitais 46


SVMs Linearmente Separveis
Suponha um problema de classificao de duas
classes Y ( 1 = a | + 1 = b)

Denote a tupla (x , y ) com i = 1, . . . , N como i i


sendo o nosso conjunto de treinamento

O vetor coluna x contm as caractersticas


i
que ns achamos suficientes para distinguir os
dois possveis grupos e yi = f (xi )

A. Rocha, 2012 Anlise Forense de Documentos Digitais 47


SVMs Linearmente Separveis

Com um SVM linearmente separvel, queremos


achar o hiperplano linear que separa as duas
classes de nosso problema

Vamos expressar a maximizao da margem


como uma funo do vetor de pesos w e o vis
(bias) b do hiperplano de separao

A. Rocha, 2012 Anlise Forense de Documentos Digitais 48


SVMs Linearmente Separveis
Assim, a distncia entre um ponto x e um plano
(w, b)
T
w x+b
,
||w||

onde ||.|| a norma Euclidiana.

Hiperplano timo pode ter infinitas solues


devido s infinitas possibilidades de escalas de w e b

A. Rocha, 2012 Anlise Forense de Documentos Digitais 49


SVMs Linearmente Separveis
Assim, escolhemos a soluo em que a funo
discriminante se torna 1 para os exemplos de
treinamento prximos da fronteira

Conhecido como hiperplano cannico


|wT xi + b| = 1.

A. Rocha, 2012 Anlise Forense de Documentos Digitais 50


SVMs Linearmente Separveis
Desta forma, a distncia dos exemplos mais
prximos fronteira
|wT x + b| 1
=
||w|| ||w||

E a margem se torna 2
m= .
||w||

A. Rocha, 2012 Anlise Forense de Documentos Digitais 51


SVMs Linearmente Separveis

A. Rocha, 2012 Anlise Forense de Documentos Digitais 52


SVMs Linearmente Separveis
O problema de maximizar a margem
equivalente a
1 2 T
min J(w) = ||w|| sujeito a yi (w xi + b) 1 i.
2

Por definio, J(w) tem um mnimo global


Para resolver esta funo, podemos empregar
tcnicas de Otimizao Lagrangiana

A. Rocha, 2012 Anlise Forense de Documentos Digitais 53


SVMs Linearmente Separveis
A introduo de multiplicadores de Lagrange
para resolver este problema resulta em
N
X N
X
1
LP (w, b, 1 , . . . , N ) = ||w||2 i (w t
xi + b)yi + i,
2 i=1 i=1

Esta funo de erro precisa ser minimizada com


relao a w e b

A. Rocha, 2012 Anlise Forense de Documentos Digitais 54


SVMs Linearmente Separveis

Problema de otimizao quadrtica


Definimos a margem para qualquer hiperplano
dado como a soma das distncias do hiperplano
aos exemplares mais prximos das duas classes.

O hiperplano escolhido de forma a maximizar a


margem

A. Rocha, 2012 Anlise Forense de Documentos Digitais 55


SVMs Linearmente Separveis

A partir do hiperplano de separao (w, b), um


novo exemplar z pode ser classificado
simplesmente a partir do clculo sobre qual
lado do hiperplano ele se encontra

Se o valor t
w z+b 0 ento o exemplar
classificado como +1, caso contrrio como -1

A. Rocha, 2012 Anlise Forense de Documentos Digitais 56


SVMs Linearmente No-Separveis

Quando os dados no esto uniformemente


dispostos em algum dos lados de um
hiperplano, um SVM linearmente separvel no
resultar em uma soluo razovel

Podemos tratar tal situao relaxando as


restries iniciais atravs da introduo de
variveis de folga (slack variables)

A. Rocha, 2012 Anlise Forense de Documentos Digitais 57


SVMs Linearmente No-Separveis

Variveis de folga relaxam as restries do


hyperplano cannico
yi |wT xi + b| 1 i i = 1 . . . N

Com a introduo de variveis de folga, o


objetivo agora achar o hiperplano de
separao que produza
X
a menor taxa de erros
no treinamento, i enquanto maximiza a
margem i

A. Rocha, 2012 Anlise Forense de Documentos Digitais 58


SVMs Linearmente No-Separveis

Funo de erro a ser minimizada


2 N
X
||w||
+C i
2 i=1

Valores altos de C implicam poucos erros de


classificao e maior complexidade no classificador

Valores baixos para C implicam preferncia por


solues de baixa complexidade e com maior
quantidade de erros na classificao

A. Rocha, 2012 Anlise Forense de Documentos Digitais 59


SVMs Linearmente No-Separveis

A. Rocha, 2012 Anlise Forense de Documentos Digitais 60


SVMs No Lineares

Uma caracterstica dos SVMs vistos at o


momento que eles esto restritos a
hiperplano linear

H casos em que um hiperplano linear no


capaz de garantir a classificao

Para isso, usamos SVMs no lineares


A. Rocha, 2012 Anlise Forense de Documentos Digitais 61
SVMs No Lineares
Para atingir nosso objetivo, mapeamos os exemplos
de treinamento num espao Euclidiano de mais
dimenses

Mapeamento implcito e no explcito


:L H
O erro a ser minimizado depende apenas de
produtos internos sobre exemplares do conjunto
de treinamento i xj
x t

A. Rocha, 2012 Anlise Forense de Documentos Digitais 62


SVMs No Lineares
Definimos uma funo kernel K capaz de fazer
este mapeamento sob demanda (on-the-fly)
t
K(xi , xj ) = (xi ) (xj )

H vrias escolhas possveis para K dentre elas


funes radiais base (Radial Basis Functions
RBF)
polinomiais etc.
A. Rocha, 2012 Anlise Forense de Documentos Digitais 63
SVMs No Lineares

Um novo exemplar z, classificado pela


determinao sobre qual lado do hiperplano de
separao (w, b) ele se encontra

Se o valor wt (z) + b 0 ele classificado


como da classe +1

Caso contrrio, ele classificado como -1


A. Rocha, 2012 Anlise Forense de Documentos Digitais 64
SVMs No Lineares
Teste precisa ser feito no espao de maior
dimenso usando a mesma funo kernel
N
X
t
w (z) + b = i K(xi , z)yi +b
i=1

Como o SVM funciona no cenrio de mais de


duas classes?

A. Rocha, 2012 Anlise Forense de Documentos Digitais 65


Coletneas
Coletneas Bagging

Bagging ou Bootstrap Aggregation


Avaliamos as predies sobre uma coleo de
amostras (bootstrap samples)

Bootstrap samples so amostras com reposio e


mesmo tamanho feitas a partir de um conjunto
de dados

A. Rocha, 2012 Anlise Forense de Documentos Digitais 67


Coletneas Bagging

A amostragem serve para reduzir sua varincia


e consequentemente o erro na predio

Criamos uma coletnea (ensemble) a partir do


treinamento individual de classificadores nas
amostras feitas do conjunto de dados

A. Rocha, 2012 Anlise Forense de Documentos Digitais 68


Coletneas Bagging
Seja X o conjunto de dados de entrada e
Z i , i = 1, 2, . . . , B uma amostra de X

Para fazermos a classificao em cada Z, i


selecionamos um classificador (LDA, CTREE, etc.)

Em cada passo, ns construmos um conjunto de


treinamento fazendo amostragens com reposio
a partir do conjunto de dados original

A. Rocha, 2012 Anlise Forense de Documentos Digitais 69


Coletneas Bagging
Cada classificador treinado em mdia sobre
63.2% dos exemplos do conjunto de treinamento

Para cada elemento x, armazenamos a predio


i
f (x)

Definimos a estimativa da coletnea para x como


B
1 X
i
fbag (x) = f (x)
B i=1

A. Rocha, 2012 Anlise Forense de Documentos Digitais 70


Coletneas Bagging
A equao XB
1 i
fbag (x) = f (x)
B i=1

funciona como uma votao dentro da coletnea

Ao avaliarmos todas as classificaes feitas para


x, ns o classificamos como pertencente classe
para a qual ele foi classificado mais vezes

A. Rocha, 2012 Anlise Forense de Documentos Digitais 71


Coletneas Bagging

A. Rocha
A. Rocha, 2012 Anlise Forense de Documentos Digitais 72
Coletneas Bagging

Armazenamos os coeficientes relativos a cada


classificador aplicado
()

Ao recebermos um exemplar z a ser testado,


submetemos este exemplar aos B
classificadores e procedemos a votao

A. Rocha, 2012 Anlise Forense de Documentos Digitais 73


Referncias
Referncias
1. [Bishop, 2006] C. M. Bishop. Pattern Recognition and Machine Learning. Springer, 1 edition, 2006.
2. [Cortes & Vapnik 1995] C. Cortes and V. Vapnik (1996). Support-vector networks. Machine Learning (ML), 20(3):
273297, March 1995.
3. [Duda et al. 2001] R. O. Duda, P. E. HART and D. G. STORK. Pattern Classification. Wiley-Interscience, 2, 2000.
4. [Friedman et al. 2001] J. Friedman, T. Hastie, and R. Tibshirani. The Elements of Statistical Learning. Springer, 1
edition, 2001.
5. [Mitchell 1997] T. M. Mitchell. Machine Learning. McGraw-Hill, 1 edition, 1997.
6. [Schlkopf & Smola 2001] Bernhard Schlkopf and Alexander J. Smola. Learning with Kernels: Support Vector
Machines, Regularization, Optimization, and Beyond. The MIT Press, Boston, MA, USA, first edition, 2001.

A. Rocha, 2012 Anlise Forense de Documentos Digitais 75


Obrigado!

You might also like