Você está na página 1de 19

  

  Instituto de Computao


 
  Universidade Estadual de Campinas
  

MO 416 Introduo Inteligncia Artificial


3a Lista de Exerccios

Carlos Eduardo de Andrade RA: 038508

1 Regresso Linear e LDA


Esta questo trata da gerao de dados artificiais e a anlise da classificao desdes usando
regresso linear e LDA. Usamos o ambiente estatstico R para realizar os experimentos.
Para gerao dos dados, usamos a funo rmvnorm do pacote mvtnorm. No modificamos a
semente de gerao, trabalhando portanto, com a padro do ambiente. A Figura 1 mostra
a plotagem dos dados gerados. Foram constitudas 2 classes de dados gaussianos, onde a
Classe A tem mdia = [2, 2]T e a Classe B subdividida em dados com = [1, 1.5]T
e = [1.5, 1]T (proporo 50% para cada distribuio). Foi atribudo o valor 0 (zero) para
classe A e 1 (um) para classe B para realizao da regresso e LDA. Todos os dados so
independentes e esto disponveis em
http://www.ic.unicamp.br/andrade/stuff/ai

Classe A
Classe B
1
0
1
2
3
4

4 3 2 1 0 1 2 3 4

Figura 1: Dados artificiais gerados por gaussianas.

1
1.1 Espao original
1.1.1 Regresso Linear
A regresso linear pode ser feita pela equao

= (X T X)1 X T y

onde X a matriz dos pontos pelos quais a reta ser ajustada e y o vetor das classes de cada
ponto. Usando essa notao matricial, a implementao em R direta:

beta = solve ( t ( x ) % * % x ) % * % t ( x ) % * % y

Note que a inverso de X T X feita utilizando a funo solve que resolve um sistema
linear e, neste caso, inverte o resultado da multiplicao. A superfcie de deciso dada
por {x : xT = 1/2}, onde x o ponto a ser classificado (neste caso, parte da superfcie de
deciso).
A Figura 2 mostra a reta gerada pela regresso linear sobre os pontos. Note que temos
poucos pontos da classe A (18 pontos) que so classificados como pertencentes classe B,
mas vrios pontos da classe B (39 pontos) classificados como pertencentes a classe A.

Classe A
Classe B
1
0
1
2
3
4

4 3 2 1 0 1 2 3 4

Figura 2: Superfcie de deciso gerada pela regresso linear.

2
1.1.2 Linear Discriminant Analysis
O cdigo abaixo representa a LDA implementado em R. uma implementao direta que
calcula as matrizes de varincia intra-cluster (Sw ) e inter-cluster (Sb ). A superfcie de deciso
dada pelo vetor normal ao plano de separao, que o autovetor com maior autovalor da
matriz Sw1 Sb .
1 # Primeiro , separamos os grupos .
2 classes = pontos [ , " classe " ] # Ou coluna "3".
3 grupo1 = pontos [ classes ==0 ,]
4 grupo2 = pontos [ classes ==1 ,]
5
6 # Within - class scatter matrix , onde var (.) calcula a varincia .
7 Sw = var ( grupo1 [ , -3]) + var ( grupo2 [ , -3])
8
9 # Between - class scatter matrix , onde apply (... , mean ) calcula as mdias .
10 media1 = apply ( grupo1 [ , -3] , 2 , mean )
11 media2 = apply ( grupo2 [ , -3] , 2 , mean )
12
13 Sb = ( media1 - media2 ) % * % t ( media1 - media2 )
14
15 # Calculamos os autovalores e autovetores . Note que solve ( Sw ) retorna a
16 # inversa de Sw . Temos que tomar um certo cuidado pois Sw pode ser singular .
17 # Neste caso , precisamos resolver o problema de autovetores e autovalores
18 # generalizado ( talvez por SVD ).
19 eigs = eigen ( solve ( Sw ) % * % Sb )
20
21 # Vetor normal do plano de separao : autovetor com maior autovalor .
22 normal = eigs [1 ,]

A Figura 3 mostra a superfcie de deciso (reta) da LDA sobre os pontos. Note que esta
superfcie consegue separar melhor as duas classes uma vez que no classifica corretamente
apenas 10 pontos da classe A e 27 pontos da classe B (lembrando que na regresso temos 18
pontos errados na classe A e 39 pontos na classe B).

Classe A
Classe B
1
0
1
2
3
4

4 3 2 1 0 1 2 3 4

Figura 3: Superfcie de deciso gerada pela LDA.

3
1.2 Mudana no espao
Uma maneira de utilizar a regresso linear e a LDA para dados que no so linearmente sep-
arveis, construir um espao de dimenso modificado e projetar estes pontos neste espao.
A grande vantagem desta tcnica que a projeo pode realizar transformaes no lineares
aumentando a separabilidade dos pontos. Este um mtodo muito parecido com os kernels
usados nas Support Vector Machines, embora l os pontos no sejam explicitamente projeta-
dos neste espao diferenciado (o kernel se restringe em calcular uma mtrica de similaridade
dos pontos no espao transformado).
Um bom exemplo a projeo em um espao quadrtico h : [x, y] [x2 , y 2 , xy]. Quando
aplicamos a regresso linear e a LDA, obtemos, respectivamente, uma reta e um plano de
separao (ou uma reta, que a normal deste plano). Quando projetamos estes no espao
original, temos curvas quadrticas como superfcies de deciso.
A plotagem desta superfcie de deciso pode ser feita por fora bruta usando o algoritmo
de Marching Squares, o qual no implementamos por falta de tempo. Outra maneira
utilizar a transformao reversa do espao. Segundo o portal Wolfram|Alpha[12], a equao
da superfcie de deciso
1 x + 2 y 2 + 3 xy = 0, 5
pode ser solucionada por
p
41 2 x2 + 22 + 32 x2 3 x
y=
22
onde 1 , 2 e 3 so os coeficientes da regresso linear ou do vetor normal da superfcie de
deciso da LDA.
As Figuras 4 e 5 mostram respectivamente as superfcies de deciso geradas pela regresso
linear e a LDA no espao transformado. Note que na regresso linear temos uma elipse e na
LDA hiprboles.

4
Classe A
Classe B

1
0
1
2
3
4

4 3 2 1 0 1 2 3 4

Figura 4: Superfcie de deciso gerada pela regresso linear no espao [x2 , y 2 , xy].

Classe A
Classe B
1
0
1
2
3
4

4 3 2 1 0 1 2 3 4

Figura 5: Superfcie de deciso gerada pela LDA no espao [x2 , y 2 , xy].

5
2 Clculo de Probabilidades Condicionais
O exerccio pede para resolver o Exemplo 3.2 do livro Learning Bayesian Networks[10] que
consta de uma rede bayesiana em forma de rvore com 5 ns e, dado um evento w1 que
ocorre, calcular a probabilidade do evento t1 . Para isso, devemos calcular as probabilidades
ao longo da rvore. Primeiro, calculamos todas probabilidades de eventos isolados no ramo
da rvore onde ocorre w1 :

Pr(x1 ) = 0, 1
Pr(x2 ) = 0, 9

Pr(y1 ) = Pr(y1 |x1 ) Pr(x1 ) + Pr(y1 |x2 ) Pr(x2 ) = 0, 6 0, 1 + 0, 2 0, 9 = 0, 24


Pr(y2 ) = 1 Pr(y1 ) = 1 0, 24 = 0, 76

Pr(w1 ) = Pr(w1 |y1 ) Pr(y1 ) + Pr(w1 |y2 ) Pr(y2 ) = 0, 9 0, 24 + 0, 3 0, 76 = 0, 444


Pr(w2 ) = 1 Pr(w1 ) = 1 0, 444 = 0, 556

De posse das probabilidades de w1 e w2 , faamos o caminho inverso na rvore, calculando


a probabilidade de cada n dado at a raiz. Usaremos aqui o Teorema de Bayes. Note que
no temos a necessidade de calcular as probabilidades condicionais para w2 , j que sabemos
que ele no acontece. Temos ento:

Pr(w1 |y1 ) Pr(w1 ) 0, 9 0, 24


Pr(y1 |w1 ) = = = 0, 486
Pr(w1 ) 0, 444
Pr(y2 |w1 ) = 1 0, 486 = 0, 513

Pr(y1 |x1 ) Pr(x1 ) 0, 6 0, 1


Pr(x1 |y1 ) = = = 0, 25
Pr(y1 ) 0, 24
Pr(x2 |y1 ) = 0, 75

Pr(y2 |x1 ) Pr(x1 ) 0, 4 0, 1


Pr(x1 |y2 ) = = = 0, 053
Pr(y2 ) 0, 76
Pr(x2 |y2 ) = 0, 947

Com as probabilidades do ramo de W em mos, calculemos a partir de T , ramo a cima,


as probabilidades de t1 acontecer para cada evento no caminho at W . Primeiro, calculamos
em relao ao n X:

Pr(t1 |x1 ) = Pr(t1 |z1 ) Pr(z1 |x1 ) + Pr(t1 |z2 ) Pr(z2 |x1 ) = 0, 8 0, 7 + 0, 1 0, 3 = 0, 59
Pr(t2 |x1 ) = 0, 41

Pr(t1 |x2 ) = Pr(t1 |z1 ) Pr(z1 |x2 ) + Pr(t1 |z2 ) Pr(z2 |x2 ) = 0, 8 0, 1 + 0, 1 0, 9 = 0, 17
Pr(t2 |x2 ) = 0, 83

6
Calculamos em relao ao n Y :

Pr(t1 |y1 ) = Pr(t1 |x1 ) Pr(x1 |y1 ) + Pr(t1 |x2 ) Pr(x2 |y1 ) = 0, 59 0, 25 + 0, 17 0, 75 = 0, 275
Pr(t2 |y1 ) = 0, 725

Pr(t1 |y2 ) = Pr(t1 |x1 ) Pr(x1 |y2 ) + Pr(t1 |x2 ) Pr(x2 |y2 ) = 0, 59 0, 053 + 0, 17 0, 947 = 0, 192
Pr(t2 |y2 ) = 0, 808

E finalmente, calculamos a probabilidade de t1 ocorrer dado que w1 ocorreu.


Pr(t1 |w1 ) = Pr(t1 |y1 ) Pr(y1 |w1 ) + Pr(t1 |y2 ) Pr(y2 |w1 ) = 0, 59 0, 25 + 0, 17 0, 75 = 0, 275.

7
3 Classificao de Mensagens
Este exerccio trata do treinamento e testes de vrios mtodos de classificao para mensagens
eletrnicas. Ao todo, so 18.828 mensagens de texto extradas de news-groups divididas
em 20 categorias que variam de assuntos ligados a computao, cincia, religio, poltica e
entretenimento.
A classificao foi feita atravs de vetores de caractersticas de cada mensagem seguindo
duas abordagens. Na primeira, cada vetor de caractersticas representa o histograma das
palavras contidas em cada mensagem frente a um dicionrio. Na segunda abordagem, o
vetor de caractersticas feito usando um sistema de pesos conhecido como TF-IDF (Seo
3.1.2). Foram usados dicionrios de tamanhos variados que foram extrados diretamente das
mensagens segundo as metodologias descritas abaixo. Ao todo, foram parseadas 3.712.432
palavras, excluindo-se endereos de e-mail, URLs, nmeros, palavras pertencentes a uma
blacklist e combinaes de smbolo sem sentido prtico. Assim, o dicionrio completo
contm 102.249 palavras diferentes.
A metodologia empregada seguiu a escolha de um dicionrio apropriado e sua avaliao
quanto ao desempenho de classificadores Nave Bayes e rvore de Regresso, usando avaliao
cruzada de 5 conjuntos. Aps isso, avaliou-se alguns classificadores baseados em SVMs
(Support Vector Machines), utilizando a metodologia Todos versus Todos.
Foram usadas a linguagem Python e o framework Orange[11] para implementao e testes
dos classificadores Nave Bayes e rvore de Deciso, e a biblioteca libSVM[2].

3.1 Dicionrios
3.1.1 Dicionrio Simples
A construo do primeiro dicionrio seguiu uma forma simplificada onde foram removidos
todos pronomes, advrbios, conjunes, verbos comuns, verbos regulares no particpio, nome
de nmeros, dias, meses, e palavras inexistentes na lngua inglesa. Alguns nomes pessoais
foram removidos, com o cuidado de manter nomes importantes para classificao (como
nomes bblicos, de cientistas, polticos e pensadores conhecidos). Alm disso, foram removi-
das as palavras que aparecem, estatisticamente, em menos de 10% das mensagens de uma
classe. Isto significa que, considerando que mdia de mensagens por classe de 941,4, apare-
cer em 10% das mensagens significa que o nmero de ocorrncias deve ser de, pelo menos,
96. Tambm foram excludas palavras com mais de 943 ocorrncias, ou seja, palavras que
potencialmente aparecem amplamente nas classes, j que ocorrem em maior nmero que a
mdia de mensagens por classe. Assim, o dicionrio final contm 2.907 palavras.

3.1.2 Dicionrio segundo ndice TF-IDF


Infelizmente, os dicionrios simples no permitem que a maioria dos classificadores no obten-
ham um bom desempenho na classificao (veja Seo 3.3). Assim, um novo dicionrio foi
criado seguindo a metodologia TF-IDF. Segundo [8], esta metodologia mede a relao entre
a frequncia do termo por sua frequncia inversa no documento. Ela pode ser expressa pela
seguinte equao:
X nt |M|
TF-IDFt = log (1)
tM
|M | |{M : t M }|

8
onde nt o nmero total de ocorrncias do termo t na mensagem M e |M | o total de termos
de M . O termo logaritmo chamado de Frequncia Inversa do Documento (IDF) que a
relao entre o nmero total de mensagens da coleo M e o nmero de mensagens onde o
termo t aparece. Esta verso do TF-IDF considerada normalizada j que o primeiro termo
da equao elimina o vis gerado por mensagens longas com vrias ocorrncias de um mesmo
termo.
O TF-IDF permite ordenar os termos segundo sua importncia perante todo conjunto de
mensagens. Assim, para se construir um dicionrio de tamanho restrito, basta escolher os
termos com maior TF-IDF.

3.2 Vetores de Caractersticas


Os vetores de caractersticas so construdos a partir dos termos das mensagens que per-
tencem ao dicionrio escolhido. Foram usadas 3 a bordagens para construo dos vetores de
caractersticas.
A primeira abordagem foi a pertinncia do termo na mensagem, resultado em vetores
binrios. Esta abordagem muito simplificada no permite bom desempenho dos classifi-
cadores testados e seus resultados no sero reportados neste documento.
A segunda abordagem trata da frequncia do termo na mensagem e cada vetor apresenta
a contagem dos termos. No utilizamos nenhum tipo de normalizao neste caso.
A terceira abordagem utilizar o ndice TF-IDF. O vetor de caractersticas construdo
com o valor do ndice TF-IDF para cada termo na mensagem usando a Equao (1) modifi-
nt
cada, onde trocamos o somatrio da equao por |M |
. Esta abordagem a mais recomendada
na literatura.

3.3 Classificadores Naves Bayes e rvore de Deciso


Testamos os classificadores Naves Bayes e rvore de Deciso usando dicionrios simplificados
e construdos segundo metodologia TF-IDF, assim como vetores de caractersticas baseados
em histogramas de termos e ndice TF-IDF. Como dito anteriormente, no reportaremos os
resultados usando vetores de caractersticas binrios (relao pertinncia apenas) j que seus
resultados so muito ruins.
A Tabela 1 mostra as estatsticas dos classificadores usando dicionrio simplificado e
vetores de caractersticas como histogramas dos termos. A coluna Classificador traz o
nome dos classificadores (respectivamente, Nave Bayes e rvore de Regresso) e as demais
colunas trazem o valor e seu desvio padro. A Acurcia mede a percentagem dos acertos
do classificador quanto classe predita e o classe real. A coluna Prob. Mdia traz a
probabilidade mdia de acerto do classificador. A coluna nd. Brier traz o ndice de Brier
que um medida da acurcia do conjunto de probabilidade do classificador definido como
1 X X
IB = (o(M, c) p(M, c))
|M| M M cC

onde M o conjunto de mensagens, C o conjunto de possveis classes, o(M, c) 1 se a


mensagem M classificada na classe c e 0 caso contrrio, e p(M, c) a probabilidade de isto
ocorrer. Quanto menor este ndice, mas acurada esto as probabilidades do classificador.

9
Tabela 1: Comparao da acurcia dos classificadores para um dicionrio simples de 2.907
palavras e vetores de caractersticas como histogramas de termos.

Classicador Acurcia Prob. Mdia nd. Brier


NaiveBayes 0,0410,001 0,0420,001 1,9160,001
RegTree 0,3690,006 0,3480,005 0,6680,005

Podemos notar que ambos classificadores tiveram um desempenho sofrvel, com o Nave
com 4% de acerto e a rvore de deciso no mais do que 36%. Tambm foram baixas as
probabilidades de acertos e altos os ndices de Brier, o que mostra que o dicionrio escolhido
muito inadequado.
As Tabelas 7 e 9 (Apndices A e B, respectivamente) mostra as matrizes de confuso
para os classificadores bayesiano e rvore de regresso, respectivamente, para este dicionrio.
As colunas esto numeradas conforme as classes que aparecem na primeira coluna. Podemos
notar que o classificador bayesiano classificou 99,07% das mensagens como pertencentes a
classe talk-religion-misc. A rvore de deciso apresentou um resultado um pouco melhorado
mas ainda assim bastante ruim dividindo as mensagens majoritariamente nas classes comp-
os-mswindows-misc (26,11%) e comp-sys-ibm-pc-hardware (38,71%).
A Tabela 2 mostra o teste de 5 dicionrios de tamanhos diferentes criados a partir da
classificao de termos por TF-IDF e vetores de caractersticas como histogramas dos termos.
Note que, ao aumentarmos o nmero de palavras no dicionrio, a acurcia do classificador
Nave Bayes diminui enquanto e a acurcia da rvore de Deciso aumenta. A utilizao destes
dicionrios aumentaram a acurcia dos classificadores em relao ao dicionrio simples, onde
tambm tivemos ganho de desempenho computacional (no considerado neste documento).
Ainda assim, no obtivemos os resultados esperados para ambos classificadores, como am-
plamente conhecidos na literatura[9, 7].

Tabela 2: Comparao da acurcia dos classificadores para os dicionrios criados usando


TF-IDF e vetores de caractersticas como histogramas de termos.

Tam. Dicionrio Classicador Acurcia Prob. Mdia nd. Brier


NaiveBayes 0,1950,004 0,1960,002 1,0190,005
100
RegTree 0,3550,003 0,3020,002 0,7470,004

NaiveBayes 0,1390,002 0,1520,002 1,5760,006


200
RegTree 0,4180,005 0,3710,004 0,6770,003

NaiveBayes 0,0790,002 0,0800,002 1,8270,004


500
RegTree 0,4400,002 0,3990,002 0,6400,002

NaiveBayes 0,0590,001 0,0590,001 1,8800,003


1000
RegTree 0,4460,006 0,4100,005 0,6240,005

NaiveBayes 0,0480,001 0,0480,001 1,9030,002


2000
RegTree 0,4260,003 0,3970,003 0,6310,002

10
A Tabela 3 mostra o teste contra 5 dicionrios de tamanhos diferentes e vetores de carac-
tersticas criados a partir da classificao de termos por TF-IDF. Note que temos um pequeno
ganho na acurcia em relao ao resultados da Tabela 2 para dicionrios de tamanho inferior a
500. Para dicionrios maiores, no obtivemos ganhos. Ainda assim, os resultados tem grande
similaridade, e ainda so contrastantes com outros resultados da literatura. Provavelmente,
o pacote utilizado apresenta alguma dificuldade na classificao com Nave Bayes e rvore
de deciso, quando aplicado a vetores de caractersticas contnuos/numricos. Infelizmente,
devido ao tempo, no foi possvel realizar testes com outros pacotes.

Tabela 3: Comparao da acurcia dos classificadores Nave Bayes e rvore de Deciso para
os dicionrios e vetores de caractersticas criados usando TF-IDF.

Tam. Dicionrio Classicador Acurcia Prob. Mdia nd. Brier


NaiveBayes 0,2960,002 0,2590,001 0,9270,002
100
RegTree 0,3660,005 0,3110,003 0,7600,005

NaiveBayes 0,1430,002 0,1640,001 1,5110,004


200
RegTree 0,4190,003 0,3750,001 0,6900,002

NaiveBayes 0,0450,001 0,0470,001 1,9000,002


500
RegTree 0,4390,005 0,4040,004 0,6480,004

NaiveBayes 0,0340,000 0,0340,000 1,9310,000


1000
RegTree 0,4290,003 0,4010,004 0,6440,004

NaiveBayes 0,0330,000 0,0330,000 1,9330,000


2000
RegTree 0,3970,005 0,3740,005 0,6500,005

3.4 Support Vector Machines


As SVMs so conhecidos classificadores de grande desempenho para diversos tipos de classifi-
cao. Na sua verso canonial, as SVMs so capazes de de aprender e classificar exemplos em
duas categorias apenas. Como nossa aplicao contm 20 classes, usamos a abordagem One
vesus One, que constri mquinas para cada par de classes (em nosso caso, 190 mquinas),
e a classificao resultado de uma votao sobre os resultados destas. Utilizamos -SVM
com = 0, 3, indicando o limitante no nmero de exemplos que so vetores de suporte
e aqueles que esto do lado errado do hiperplano de separao. Assim, temos uma SVM
com soft-margins que melhora sensivelmente o poder de predio do modelo originado do
treinamento, segundo [1].
Para a treinamento e testes usando SVM, alm da variao dos dicionrios como nas
sees anteriores, tambm consideramos a variao de kernels. Utilizamos 2 tipos de kernels:
linear e RBF. O kernel linear dado por
K(x, y) = x0 y
que representa o produto interno entre os vetores x e y. De acordo com [2], a utilizao
de um kernel linear pode no ser muito eficiente para problemas com um grande nmero de

11
caractersticas e exemplos de treinamento. Os autores sugerem a utilizao de um classificador
linear para a tarefa como a LIBLINEAR[3].
O kernel RBF (Radial Basis Functions) se apresenta como
2
K(x, y) = ekxyk .

Segundo [6], o kernel RBF um dos kernels mais utilizados por mapear no-linearmente os
pontos em um espao de maior dimenso e tratar de forma bastante satisfatria a relao de
no-lineatoriedade entre as classes e seus atributos. Tambm apresenta um menor nmero
de hiper-parmetros que influencia a complexidade do modelo e apresenta poucos problemas
numricos.
Em [7, 5], podemos encontrar kernels especficos para textos. Estes kernels so baseados
em string macthing e trabalham diretamente sobre o contedo do texto. Devido sua consid-
ervel complexidade de implementao e tempo reduzido de testes, no os utilizamos neste
trabalho, embora reconhecidamente apresentem bom desempenho.
A Tabela 4 mostra o teste de 4 dicionrios de tamanhos diferentes criados a partir da
classificao de termos por TF-IDF e vetores de caractersticas como histogramas dos termos.
Note que nosso conjunto de SVMs sensivelmente melhor que os classificadores Nave Bayes e
rvore de deciso. A acurcia tambm aumenta proporcionalmente ao tamanho do dicionrio,
com aumento nas probabilidades e melhoria na sua acurcia (ndice de Brier). O dicionrio de
1000 termos, usado apenas para testes, apresentou o melhor resultado. Infelizmente, devido
ao extenso tempo, o treinamento no foi realizado em crossover, o que no permite uma
comparao direta com os outros resultados.

Tabela 4: Comparao da acurcia dos classificadores SVM para os dicionrios criados usando
TF-IDF e vetores de caractersticas como histogramas de termos.

Tam. Dicionrio Kernel Acurcia Prob. Mdia nd. Brier


Linear 0,4370,001 0,2410,003 0,7200,001
100
RBF 0,6490,001 0,3330,002 0,5900,002

Linear 0,6120,001 0,3890,002 0,5600,001


200
RBF 0,7250,001 0,4810,003 0,4420,003

Linear 0,7900,001 0,5750,001 0,3550,001


500
RBF 0,8080,001 0,6160,000 0,3140,000

Linear 0,8620,000 0,677 0,253


1000
RBF 0,8670.000 0,705 0,229

Devido ao grande tempo de treinamento, no foi feito crossover nestes casos.

A Tabela 5 mostra o teste contra 4 dicionrios de tamanhos diferentes e vetores de carac-


tersticas criados a partir da classificao de termos por TF-IDF. Diferente dos classificadores
Nave Bayes e rvore de Deciso, os classificadores SVMs no tiveram melhoria em usar ve-
tores de caractersticas ponderados, embora as diferenas sejam na casa dos milsimos.

12
Tabela 5: Comparao da acurcia dos classificadores SVM para os dicionrios e vetores de
caractersticas criados usando TF-IDF.

Tam. Dicionrio Kernel Acurcia Prob. Mdia nd. Brier


Linear 0,4200,001 0,2120,002 0,7490,001
100
RBF 0,6480,001 0,3220,001 0,5970,001

Linear 0,6000,001 0,3570,001 0,5880,001


200
RBF 0,7190,001 0,4520,001 0,4690,001

Linear 0,7780,001 0,5640,001 0,3690,001


500
RBF 0,7920,001 0,5800,000 0,3500,000

Linear 0,8620,001 0,694 0,241


1000
RBF 0,8650.001 0,700 0,235

Devido ao grande tempo de treinamento, no foi feito crossover nestes casos.

3.5 Resultados e Consideraes Finais


A Tabela 6 mostra os melhores resultados obtidos por cada classificador. Podemos notar
claramente a superioridade das SVMs em nossos testes, com mais de 85% de acerto. Esse
resultado muito contrastante com a literatura no que tange ao desempenho do classificador
Nave Bayes que apresentou acurcia superior 89% [9, 8]. Atribumos isso ao fraco desem-
penho do framework Orange no seu algoritmos de classificao, tanto nos histogramas (saco
de palavras) como na indexao por TF-IDF. Outros softwares, como Matlab, apresentam
resultados melhores utilizando histogramas, j que podem ser ajustados para trabalhar com
este tipo de vetor de caractersticas.
Os apndices mostram as matrizes de confuso dos melhores resultados.

Tabela 6: Comparao da acurcia dos melhores resultados para cada classificador.

Classificador Tam. Dic Vet. Carac. Acurcia Prob. Mdia nd. Brier
Nave Bayes 100 TF-IDF 0,2960,002 0,2590,001 0,9270,002
rvore de Deciso 1000 Histograma 0,4460,006 0,4100,005 0,6240,005
SVM Linear 1000 Histograma 0,8620,000 0,677 0,253
SVM RBF 1000 Histograma 0,8670.000 0,705 0,229

13
Referncias
[1] P.-H. Chen, C.-J. Lin, and B. Schlkopf. A Tutorial on -Support Vector Machines. DOI:
10.1.1.6.9729, 2005.

[2] C.-C. Chang and C.-J. Lin. LIBSVM: a library for support vector machines, 2001. Soft-
ware available at http://www.csie.ntu.edu.tw/~cjlin/libsvm.

[3] R.-E. Fan, K.-W. Chang, C.-J. Hsieh, X.-R. Wang, and C.-J. Lin. LIBLINEAR: A
Library for Large Linear Classification. Journal of Machine Learning Research 9(2008),
18711874. Software available at http://www.csie.ntu.edu.tw/~cjlin/liblinear.

[4] J. Friedman, T. Hastie and R. Tibshirani The Elements of Statistical Learning. 2nd
edition, Springer-Verlag, 2008.

[5] R. Herbrich. Learning kernel classifiers: theory and algorithms. The MIT Press, 2002.

[6] C.-W. Hsu, C.-C. Chang, and C.-J. Lin. A Practical Guide to Support Vector Classifica-
tion. Available at http://www.csie.ntu.edu.tw/~cjlin.

[7] H. Lodhi, C. Saunders, J. Shawe-Taylor, N. Cristianini and C. Watkins. Text Classi-


fication using String Kernels. Journal of Machine Learning Research 2, pag. 419444,
2002.

[8] C. D. Manning, P. Raghavan and H. Schtze An Introduction to Information Retrieval.


Cambridge University Press, 2009.

[9] T. Mitchell. Machine Learning. McGraw-Hill, 1997.

[10] R. E. Neapolitan. Learning Bayesian Networks. Prentice-Hall, 2003.

[11] Orange: a component based machine learning library for Python. Laboratory of Artifi-
cial Intelligence, Faculty of Computer and Information Science, University of Ljubljana,
Slovenia, 2010.

[12] Wolfram|Alpha. Wolfram Research, 2010. http://www.wolframalpha.com.

14
A Matrizes de Confuso do Classificador Nave Bayes

Tabela 7: Matriz de Confuso usando Nave Bayes usando dicionrio simples de 2.907 palavras e vetores de caractersticas como
histogramas de termos.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1 alt-atheism 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 799
2 comp-graphics 0 9 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 961
3 comp-os-mswindows-misc 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 985
4 comp-sys-ibm-pc-hardware 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 982
5 comp-sys-mac-hardware 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 959
6 comp-windows-x 0 1 0 0 0 15 0 0 0 0 0 0 0 0 0 0 0 0 0 964
7 misc-forsale 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 972
8 rec-auto 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 990
9 rec-motorcycles 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 994
10 rec-sport-baseball 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 991
11 rec-sport-hockey 0 0 0 0 0 0 0 0 0 0 14 0 0 0 0 0 0 0 0 985

15
12 sci.crypt 0 1 0 0 0 0 0 0 0 0 0 15 0 0 0 0 0 0 2 973
13 sci.electronics 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 980
14 sci.med 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 3 979
15 sci.space 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 1 975
16 soc.religion.christian 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 997
17 talk-politics-guns 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 907
18 talk-politics-mideast 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 60 0 880
19 talk-politics-misc 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 19 754
20 talk-religion-misc 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 627
Tabela 8: Matriz de Confuso do melhor classificador Nave Bayes com dicionrio de 100 termos e vetor de caractersticas TF-IDF.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1 alt-atheism 0 4 0 0 0 1 0 0 2 9 1 2 1 0 3 5 5 2 5 6 753
2 comp-graphics 0 0 372 43 24 18 49 11 0 5 1 4 2 3 7 14 0 0 0 1 419
3 comp-os-mswindows-misc 0 0 52 230 91 18 47 14 1 6 0 3 3 7 5 11 0 0 0 2 495
4 comp-sys-ibm-pc-hardware 0 0 35 93 311 29 15 43 3 7 1 4 5 19 9 4 0 0 0 1 403
5 comp-sys-mac-hardware 0 0 26 18 81 285 16 39 5 5 2 5 9 15 6 5 0 0 0 1 443
6 comp-windows-x 0 0 57 34 10 3 366 11 0 14 0 0 2 8 5 11 0 0 0 0 459
7 misc-forsale 0 0 15 31 93 41 14 111 41 13 8 28 0 14 5 4 0 1 0 1 552
8 rec-auto 0 0 3 1 5 0 6 7 407 12 5 1 0 7 14 2 0 3 0 6 511

16
9 rec-motorcycles 0 0 2 2 8 2 7 7 56 54 4 5 0 4 13 3 0 1 0 13 813
10 rec-sport-baseball 0 0 3 1 3 2 2 7 1 11 154 300 0 2 6 1 0 0 0 4 497
11 rec-sport-hockey 0 0 1 0 1 1 1 2 1 10 74 538 0 0 2 2 0 0 0 9 357
12 sci.crypt 0 0 3 10 9 2 15 0 0 3 1 1 593 1 5 5 0 4 0 11 328
13 sci.electronics 0 0 12 16 40 17 13 15 36 9 8 5 20 88 38 9 0 2 0 5 648
14 sci.med 0 2 5 5 2 1 8 4 4 22 3 0 1 7 94 6 0 1 0 22 803
15 sci.space 0 0 6 3 2 4 6 4 1 7 4 1 3 6 5 410 0 1 0 12 512
16 soc.religion.christian 0 0 0 0 0 0 0 0 2 1 0 0 0 0 3 2 62 0 2 1 924
17 talk-politics-guns 0 0 1 0 3 0 1 0 6 2 0 2 7 1 4 5 0 239 2 41 596
18 talk-politics-mideast 0 0 0 2 0 0 0 0 1 4 3 4 0 1 7 0 0 3 486 29 400
19 talk-politics-misc 0 0 0 1 0 0 1 2 2 7 1 2 2 3 7 6 0 23 2 157 559
20 talk-religion-misc 0 0 1 2 1 0 0 0 1 4 1 1 0 0 3 2 4 2 0 2 604
B Matrizes de Confuso do Classificador rvore de Deciso

Tabela 9: Matriz de Confuso usando rvore de Regresso usando dicionrio simples de 2.907 palavras e vetores de caractersticas
como histogramas de termos.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1 alt-atheism 361 0 186 187 0 0 0 4 2 2 4 1 0 1 5 32 0 3 0 11
2 comp-graphics 0 12 372 566 3 10 1 0 1 0 3 2 0 0 2 1 0 0 0 0
3 comp-os-mswindows-misc 0 1 385 584 0 3 0 0 8 0 2 1 0 0 0 1 0 0 0 0
4 comp-sys-ibm-pc-hardware 0 0 363 610 1 0 2 1 1 0 1 1 0 0 2 0 0 0 0 0
5 comp-sys-mac-hardware 0 0 290 517 140 1 2 0 1 3 1 1 0 0 3 0 2 0 0 0
6 comp-windows-x 0 12 271 422 0 267 0 0 1 0 3 1 0 0 2 0 0 1 0 0
7 misc-forsale 0 1 330 519 4 1 87 2 8 11 2 1 0 0 4 0 1 1 0 0
8 rec-auto 1 0 293 457 0 0 2 200 28 0 2 0 1 0 5 0 1 0 0 0
9 rec-motorcycles 0 0 80 131 0 0 1 15 759 0 0 0 1 0 2 0 5 0 0 0
10 rec-sport-baseball 0 0 130 170 0 0 2 0 2 660 29 0 0 1 0 0 0 0 0 0
11 rec-sport-hockey 0 0 88 125 0 0 0 0 1 27 757 0 0 1 0 0 0 0 0 0

17
12 sci.crypt 0 0 137 214 0 0 0 0 4 0 1 621 0 0 1 0 11 0 2 0
13 sci.electronics 0 0 383 573 0 2 0 3 10 0 1 0 6 1 2 0 0 0 0 0
14 sci.med 1 0 319 544 0 2 0 0 4 4 3 0 0 108 3 0 1 1 0 0
15 sci.space 1 1 204 322 0 0 0 1 3 7 3 0 0 0 444 1 0 0 0 0
16 soc.religion.christian 34 0 365 403 0 0 0 0 1 1 3 1 0 1 3 166 0 10 0 9
17 talk-politics-guns 0 0 163 224 0 2 0 4 3 4 0 10 0 0 0 1 471 6 16 6
18 talk-politics-mideast 8 0 89 115 0 0 0 0 1 2 0 0 0 0 0 4 1 715 0 5
19 talk-politics-misc 4 0 229 332 0 0 0 4 1 2 4 3 0 0 0 5 31 12 146 2
20 talk-religion-misc 36 0 235 270 0 0 0 0 0 1 1 2 0 3 2 24 9 6 2 37
Tabela 10: Matriz de Confuso do melhor classificador rvore de Deciso usando dicionrio de 1000 termos e vetores de caractersticas
como histogramas de palavras.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1 alt-atheism 0 456 0 89 48 0 0 2 2 1 0 2 3 0 4 5 99 4 24 5 55
2 comp-graphics 0 0 6 553 372 1 15 1 4 0 1 3 2 1 1 4 1 2 4 2 0
3 comp-os-mswindows-misc 0 2 1 577 380 1 5 0 5 1 0 2 7 0 0 0 0 3 0 0 1
4 comp-sys-ibm-pc-hardware 0 0 1 531 424 0 2 14 2 0 2 0 2 1 1 0 1 0 0 0 1
5 comp-sys-mac-hardware 0 0 1 556 364 3 1 19 0 0 3 1 1 3 1 3 2 3 0 0 0
6 comp-windows-x 0 1 12 399 245 0 307 0 3 0 0 1 4 0 0 1 0 2 3 2 0
7 misc-forsale 0 1 0 223 129 7 0 560 16 11 3 8 3 2 0 1 0 5 1 1 1
8 rec-auto 0 1 0 244 138 0 0 20 513 33 0 6 0 17 0 2 2 6 0 7 1

18
9 rec-motorcycles 0 1 0 252 168 0 0 16 39 506 2 1 1 1 0 0 3 3 0 1 0
10 rec-sport-baseball 0 1 1 315 173 0 0 5 0 4 445 38 0 0 4 1 3 3 0 1 0
11 rec-sport-hockey 0 0 0 169 74 0 0 6 1 0 53 692 0 0 1 0 3 0 0 0 0
12 sci.crypt 0 0 0 99 57 2 1 0 0 0 0 1 811 2 1 0 0 9 0 8 0
13 sci.electronics 0 0 0 542 352 0 1 14 37 3 1 1 0 20 2 2 0 4 0 1 1
14 sci.med 0 3 0 481 285 0 4 2 2 1 4 2 0 1 183 2 3 4 2 7 4
15 sci.space 0 1 2 291 203 0 0 5 6 0 6 0 7 0 1 451 5 4 0 3 2
16 soc.religion.christian 0 82 0 104 58 0 0 2 3 1 2 1 1 0 0 0 619 3 19 3 99
17 talk-politics-guns 0 4 1 125 95 1 4 10 8 2 2 2 11 0 3 0 7 562 4 49 20
18 talk-politics-mideast 0 30 0 61 51 0 0 1 0 1 3 1 1 0 1 0 7 4 763 4 12
19 talk-politics-misc 0 4 1 231 135 0 0 6 8 3 5 2 4 1 2 2 13 68 13 262 15
20 talk-religion-misc 0 53 1 101 66 0 0 0 1 1 1 0 1 0 1 3 121 17 17 13 231
C Matrizes de Confuso do Classificadores SVM

Tabela 11: Matriz de Confuso do melhor classificador SVM, usando kernel RBF e dicionrio de 1000 termos e vetor de caractersticas
TF-IDF.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
1 alt-atheism 697 3 0 0 0 1 1 4 10 8 1 2 0 14 3 25 2 11 5 12
2 comp-graphics 0 813 32 10 20 18 9 6 8 11 0 3 12 20 6 3 0 0 1 1
3 comp-os-mswindows-misc 0 41 825 27 15 25 5 2 8 1 0 3 11 17 5 0 0 0 0 0
4 comp-sys-ibm-pc-hardware 0 25 36 806 28 6 19 6 8 3 2 1 31 9 0 1 0 0 1 0
5 comp-sys-mac-hardware 0 26 24 31 786 6 19 4 7 4 1 4 27 16 3 1 0 0 1 1
6 comp-windows-x 0 42 23 13 8 826 1 4 10 8 1 5 6 25 5 1 0 2 0 0
7 misc-forsale 1 8 8 30 22 6 778 18 20 14 6 3 25 23 4 2 0 0 3 1
8 rec-auto 1 6 0 3 1 5 19 857 36 10 1 2 13 18 2 1 10 0 4 1
9 rec-motorcycles 1 6 2 2 2 7 16 30 855 13 2 0 11 24 4 9 6 1 3 0
10 rec-sport-baseball 2 12 1 1 2 0 3 2 14 894 21 1 8 24 3 1 0 2 3 0
11 rec-sport-hockey 3 4 0 2 2 0 3 3 16 50 892 1 2 16 2 0 2 0 1 0

19
12 sci.crypt 0 13 7 2 6 10 1 3 4 1 0 924 5 6 2 2 1 1 3 0
13 sci.electronics 2 18 11 17 18 6 12 25 22 9 7 5 799 18 4 4 0 0 2 2
14 sci.med 6 9 2 1 0 0 4 8 16 8 0 0 13 911 6 0 3 0 2 1
15 sci.space 2 15 4 0 4 5 3 3 6 5 1 3 9 21 898 2 3 0 1 2
16 soc.religion.christian 18 4 1 0 1 0 4 2 15 5 0 1 6 25 3 897 1 6 3 5
17 talk-politics-guns 0 4 0 0 0 1 7 7 6 4 1 8 2 12 4 1 829 5 11 8
18 talk-politics-mideast 3 8 1 9 0 3 1 2 6 5 0 2 6 20 2 2 2 863 2 3
19 talk-politics-misc 5 2 2 0 0 0 2 3 12 6 0 3 5 20 2 3 23 6 678 3
20 talk-religion-misc 16 7 2 0 0 1 2 3 4 3 0 1 1 16 3 41 13 7 6 502

Você também pode gostar