Você está na página 1de 48

SmartMail| Entidade Promotora:

Parceiros:

15/04/2014

Anlise de Modelos de
Aprendizagem

1/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

ndice
Introduo ......................................................................................................................................... 4
Linhas de Investigao ...................................................................................................................... 5
Abordagem TF-IDF (term frequency/inverse document frequency) ............................................ 5
Abordagem Naive Bayes ............................................................................................................. 14
Abordagem SVM (Support Vector Machines) ............................................................................. 27
Abordagem em Algoritmos Genticos ........................................................................................ 33
Abordagem com Distncias em Espaos Vetoriais ..................................................................... 41

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

ndice de Figuras

Figura 1: Abertura e logotipo do Wolfram CDF ................................................................................ 6


Figura 2: Menu principal do Wolfram CDF ........................................................................................ 6
Figura 3: Texto em bruto a ser analisado .......................................................................................... 8
Figura 4: Evidencia dos termos mais frequentes no corpus do texto ............................................... 9
Figura 5: Ocultao dos termos mais frequentes no corpus .......................................................... 10
Figura 6: Termos mais frequentes no texto em anlise .................................................................. 11
Figura 7: Inverso da frequncia de termos no texto em anlise .................................................... 12
Figura 8: TF-IDF com stop words aplicado ao texto em anlise...................................................... 13
Figura 9: Menu principal do WEKA ................................................................................................. 15
Figura 10: Explorer do WEKA .......................................................................................................... 16
Figura 11:Seleco de dados ........................................................................................................... 17
Figura 12: Exemplo de dados no formato .arff ............................................................................... 18
Figura 13: Visualizao e explorao dos dados ............................................................................. 19
Figura 14: Seleo de filtros ............................................................................................................ 20
Figura 15: Separador de Cassificao .............................................................................................. 21
Figura 16: Seleo de algoritmo de classificao ............................................................................ 22
Figura 17: Algoritmo e condies de teste...................................................................................... 22
Figura 18:Inicio de processamento ................................................................................................. 23
Figura 19: Resultados finais............................................................................................................. 24
Figura 20: Resultados em detalhe ................................................................................................... 25
Figura 21: Carregamento dos dados ............................................................................................... 28
Figura 22: Seleo do algoritmo de SVM ........................................................................................ 29
Figura 23: Parmetros do algoritmo ............................................................................................... 30
Figura 24: Parmetros de teste ....................................................................................................... 30
Figura 25: Finalizao do algoritmo ................................................................................................ 31
Figura 26: Detalhe dos resultados finais ......................................................................................... 32
Figura 27: Viso geral inicial ............................................................................................................ 35
Figura 28: Viso geral (fase intermdia) no decorrer de um teste ................................................. 36
Figura 29: Viso geral, fase final de um teste ................................................................................. 37
Figura 30: Grfico de evoluo ao longo das geraes ................................................................... 38
Figura 31: Mapa geral de onde se encontram os diferentes exemplares em teste ....................... 38
Figura 32: Status dos concorrentes do teste atual ......................................................................... 39
Figura 33: Parmetros de configurao .......................................................................................... 40
2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Figura 34: Exemplo de aplicao do k-Nearest Neighbor ............................................................... 42


Figura 35: Exemplo de teste com o k = 1 ........................................................................................ 43
Figura 36: exemplo de teste com k = 9 ........................................................................................... 44
Figura 37: Exemplo de teste com o k = 17 ...................................................................................... 45
Figura 38: Exemplo de teste com o k = 51 ...................................................................................... 46
Figura 39: Exemplo de teste com k = 71 ......................................................................................... 47

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Introduo
O presente documento do QREN SMART Mail est enquadrado na Linha de investigao de
Modelos de Aprendizagem. Pretende efetuar um levantamento do estado da arte das principais
tcnicas e abordagens no domnio da aprendizagem automtica, assim como, de plataformas ou
frameworks j existentes que possam servir de guia e de exemplo com as melhores
aproximaes e abordagens.
O objetivo de apreender tal conhecimento prende-se diretamente com o prprio conceito do
projeto SMART Mail, onde se pretende integrar esses mecanismos no contexto do email, de
forma a incrementar a produtividade, eficincia e inteligncia obtida do email como ferramenta
empresarial diria.
O documento ter como estrutura a presente Introduo, seguida de uma anlise genrica s
diferentes linhas de investigao no contexto dos modelos de aprendizagem. Essas linhas de
investigao sero o TF-IDF (term frequency/inverse document frequency), a linha de
investigao do Naive Bayes, dos SVM (suport vector machines), algoritmos genticos e por fim a
abordagem com recurso a Distncias em Espaos Vetoriais.

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Linhas de Investigao
Apresentam-se de seguida as diversas linhas de investigao seguidas na criao de modelos de
aprendizagem experimentais, assim como a apresentao do prottipo ou ferramenta utilizada
no processo experimental, assim como os dados utilizados para o ensaio e testes. Estas
experincias foram sempre tidas em conta para serem o mais visual e intuitivo possvel, tanto
para facilitar a experimentao como a interao com as mesmas.

Abordagem TF-IDF (term frequency/inverse document frequency)


A medida TF-IDF, abreviao do ingls term frequencyinverse document frequency e que
significa frequncia do termoinverso da frequncia nos documentos, uma medida estatstica
que tem o intuito de indicar a importncia de uma palavra de um documento em relao a uma
coleo de documentos ou em um corpus lingustico. Esta medida frequentemente utilizada
como fator de ponderao na recuperao de informaes e na extrao e minerao de dados.
A medida TF-IDF de uma palavra aumenta proporcionalmente medida que aumenta o nmero
de ocorrncias dessa palavra num documento, no entanto, esse valor equilibrado pela
frequncia da palavra no corpus, em que uma palavra muito recorrente em todo o corpus acaba
por perder importncia nas contagens locais ao nvel do documento. Isso auxilia a distinguir
entre um termo muito recorrente e um termo realmente importante.

Para se observar o funcionamento do TF-IDF, o caminho mais frequente passa por utilizar
diferentes bibliotecas matemticas e algoritmos j presentes em diversas linguagens de
programao. No entanto, a sua aplicao e utilizao nem sempre fcil ou intuitiva para se
poder observar visualmente o funcionamento do TF-IDF propriamente dito. Tendo como objetivo
a obteno de um prottipo mais visual, o leque de pesquisa foi alargado de modo a considerar
uma ferramenta mais grfica e mais compreensvel do conceito subjacente.
A ferramenta selecionada foi o Wolfram, nomeadamente o Wolfram CDF Player que permite
explorar de forma grfica e interativa diversos algoritmos matemticos, includo o TF-IDF.
2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Figura 1: Abertura e logotipo do Wolfram CDF

Aps a instalao do Wolfram, este pode ento ser executado. Durante o seu arranque surge a
Figura 1 com o seu logotipo.
Aps a etapa de carregamento, surge o menu principal (Figura 2) onde possvel aceder a
diversos contedos informativos sobre o programa, e a diversos recursos e exemplos prontos a
serem explorados.

Figura 2: Menu principal do Wolfram CDF

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Para o teste do TF-IDF foi efetuada uma pesquisa nos recursos do Wolfram para encontrar uma
aplicao que para alm de usar esse algoritmo matemtico j contivesse uma coleo de textos
(corpus) pronta a ser utilizada.
Neste caso o corpus utilizado um conjunto de 200 000 relatrios judiciais dos tribunais de
Londres entre 1674 e 1913 extrados do Old Bailey Online.
Na anlise propriamente dita do texto informativo foi selecionado do corpus, um texto
aleatoriamente, para aplicar visualmente as diferentes medidas de contagem do documento e do
corpus, como ser apresentado e demonstrado nas imagens seguintes, onde os diferentes
termos, podem ser ocultados ou tomarem diferentes tamanhos consoante as suas contagens e
pesos.

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Figura 3: Texto em bruto a ser analisado

Na Figura 3 possvel observar o texto em anlise j carregado e exibido. Tambm possvel


observar no topo da aplicao vrios botes de controlo que permitem ativar as vrias medidas
de contagem sobre o corpus e este texto especfico, nomeadamente a frequncia dos termos no
documento, a frequncia dos termos no corpus, o inverso da frequncia no documento e por fim
o TF-IDF.

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Figura 4: Evidencia dos termos mais frequentes no corpus do texto

Na Figura 4 aparece o mesmo texto, mas com a mtrica de frequncia de termos de todo o
corpus, isto , aqui aparecem quanto maiores as palavras que so muito recorrentes na coleo
dos vrios documentos que constituem o corpus. No presente texto essas palavras so
destacadas com diferentes tamanhos. Esta medida das palavras frequentes em todo o corpus so
de extrema importncia pois sero consideradas stop words, palavras descartadas por serem to
ocorrentes que se tornam irrelevantes na anlise e classificao do texto.

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Figura 5: Ocultao dos termos mais frequentes no corpus

Na Figura 5, essas palavras muito recorrentes j se encontram marcadas como stop words do
corpus, dai estarem semiocultas em cinzento.
de relembrar que em qualquer algoritmo de TF-IDF extremamente importante ter um
conjunto de stop words de modo a aumentar a eficincia e qualidade dos dados obtidos pelo TFIDF. Tal deve-se ao facto de as palavras muito recorrentes introduzem ruido suprfluo no
funcionamento destes algoritmos, pois essas palavras no contribuem na identificao do tema
ou assunto do documento nem a identificar o seu contexto. Exemplos dessas palavras
normalmente selecionadas para stop words so por exemplo (o, a, e, , de, da, do, etc). Essas
2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

palavras so normalmente artigos auxiliares articulao da linguagem, mas que nada


acrescentam informao extrada do texto.

Figura 6: Termos mais frequentes no texto em anlise

Na Figura 6 j est selecionado o modo que indica as palavras mais frequentes. Ao contrrio do
modo anterior (stop words), que eram as mais frequentes em todos os documentos (corpus),
aqui so as mais frequentes especificamente deste documento. Esta mtrica importante para
obter o prximo passo para o clculo do TF-IDF que obter a parte do IDF.

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Aqui, as palavras mais recorrentes tambm so destacadas com uma fonte de maiores
dimenses.

Figura 7: Inverso da frequncia de termos no texto em anlise

Chegando a esta etapa (Figura 7) j apresentado o texto com as stop words ocultas e em
evidncia as palavras que so o inverso da frequncia no documento. Desta forma, agregando
esta medida e excluindo as stop words j temos o que em teoria de informao designado
pelos termos mais informativos.

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Figura 8: TF-IDF com stop words aplicado ao texto em anlise

Por fim, na Figura 8 apresentado o resultado do TF-IDF tendo por base o corpus inicialmente
apresentado, o texto de estudo e a agregao das mtricas anteriormente apresentadas nas
figuras anteriores.
Assim, os termos assinalados pelo TF-IDF so os termos de maior informao para servirem de
base para extrao de informao, ou tarefas de classificao automtica sobre o mesmo.

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Abordagem Naive Bayes


A aprendizagem Probabilstica ou Bayesiana representa uma grande famlia de algoritmos de
aprendizagem automtica. Esta famlia tem algo comum na sua base de funcionamento; clculos
probabilsticos que tm como princpio o teorema de Bayes.
O algoritmo Naive Bayes um dos algoritmos de aprendizagem automtica mais conhecido e
utilizado que tem como base para o seu funcionamento um classificador probabilstico baseado
no teorema de Bayes.
A designao "Naive" provm do algoritmo pressupor que os vrios atributos que descrevem os
objetos so independentes, o que na realidade raramente acontece.
Assim, entre os vrios atributos que discriminam a classe do objeto, cada atributo contribui
independentemente para a probabilidade do objeto fazer parte de uma classe ou outra, no
havendo qualquer correlao entre os diversos atributos na hora de decidir a classe do objeto.
No entanto, o facto de o algoritmo fazer essa simplificao, no implica que ele obtenha maus
resultados. Pelo contrrio, o algoritmo Naive Bayes um algoritmo que na maior parte dos
domnios apresenta bons resultados mdios.

Para explorar e experimentar esta abordagem com recurso a algoritmos de aprendizagem da


famlia do Naive Bayes, o caminho mais comum passa por utilizar diferentes bibliotecas
matemticas e de algoritmos que permitem aplicar estes algoritmos a conjuntos de dados para
criar modelos de aprendizagem e consequentes classificaes automticas. No entanto essa
abordagem no seria a mais intuitiva para uma fase preliminar de testes e experimentao.
Dessa forma tentou-se achar outras ferramentas que tornassem esse processo mais intuitivo,
visual e permissivo experimentao.
Dessa forma, a ferramenta selecionada de acordo com este propsito foi o WEKA.
O WEKA uma ferramenta open source e desenvolvida pela universidade de Waikato e uma
das ferramentas mais amplamente utilizadas na rea de IA no que diz respeito a aprendizagem
mquina e automtica. O WEKA disponibiliza de uma forma agregada um conjunto bastante
grande e completo de famlias de algoritmos de IA, tem ainda diversas ferramentas para

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

importar diferentes fontes de dados e de informao, assim como diversos meios de visualizao
de dados e de resultados.

Figura 9: Menu principal do WEKA

No menu inicial do WEKA (Figura 9) so apresentadas quatro diferentes formas de interagir com
o programa onde ser utilizada a primeira, pois a mais apropriada para a realizao de
experincias pontuais e de explorao. J a abordagem Experimenter e KnowledgeFlow so mais
adequadas para experincias que j esto moduladas e que se pretende que sejam repetidas
vrias vezes para diversos conjuntos de dados. Por fim, o modo simple CLI o modo consola do
WEKA, em que todas as instrues so executadas via linha de comandos. Esta abordagem
importante para quando se pretende automatizar procedimentos ou aplicar o WEKA a contextos
de Big Data.

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Figura 10: Explorer do WEKA

Na Figura 10 ento apresentado o especto grfico do WEKA no modo explorer.

Inicialmente apenas encontra-se disponvel o separador Preprocess. Neste possvel selecionar a


origem dos dados, aplicar filtros aos mesmos, assim como analisar a sua distribuio pelas
diferentes classes de atributos.

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Figura 11:Seleco de dados

Na Figura 11 apresentada uma seleo dos dados para processamento. Nativamente o WEKA
utiliza o formato arff, que bastante utilizado por outras aplicaes e ferramentas de machine
learning. No entanto o WEKA no esta limitado a esse formato, podendo consumir dados em
outros formatos, existindo para tal uma biblioteca (interna ao WEKA) para converter e trabalhar
com esses outros formatos mais comuns.
Para realizar esta experincia utilizou-se um conjunto de dados sobre intenes de voto, em que
consoante a opinio sobre diversas questes, era apresentada a escolha eleitoral, no contexto
dos Estados Unidos.

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Figura 12: Exemplo de dados no formato .arff

Na Figura 12 apresentado um exemplo de dados consumidos pelo WEKA. Numa primeira parte
so enumerados os diferentes atributos que vo ser tidos em conta. Sendo o ultimo atributo a
Classe a concluso que se pretende estudar e efetuar inferncias sobre ela. Na segunda parte
do ficheiro aparecem os dados propriamente ditos, com os valores concretos para os atributos
anteriormente referidos, assim como a classe a que pertencem.
Neste exemplo simples, os atributos so binrios, no entanto, em casos mais complexos,
poderiam ser nominais, numricos inteiros, reais ou normalizados.

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Figura 13: Visualizao e explorao dos dados

Aps a abertura do ficheiro com os dados pretendidos (Figura 13), apresentada uma listagem
dos atributos e dos valores observados para cada um. ainda possvel explora-los
individualmente e visualizar a sua distribuio tanto na forma de tabela como de grficos.

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Figura 14: Seleo de filtros

Caso seja necessrio, possvel aplicar filtros aos dados de entrada (Figura 14) tanto para
eliminar dados que se pretende ignorar, limpar dados aberrantes ou fora de um determinado
intervalo, ou at mesmo efetuar transformaes sobre os mesmos.
Para este exemplo concreto de dados, consoante o tipo de algoritmo escolhido posteriormente,
poderia ser necessrio converter os valores de resposta nominais (y,n) para um formato
binrio (1 ou 0). No entanto, para experimentar o Naive Bayes, tal transformao no
necessria.

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Figura 15: Separador de Cassificao

Avanando para o segundo separador do WEKA, Classify (Figura 15), onde se seleciona o
algoritmo de aprendizagem a aplicar aos dados previamente carregados e tratados.
Inicialmente este ecr encontra-se totalmente vazio, consistindo o primeiro passo em selecionar
ento a famlia de algoritmos e de seguida o algoritmo especfico para realizar os testes como
pode ser observado na Figura 16.
Neste caso vamos selecionar a famlia de algoritmos Bayes, e de seguida o algoritmo Naive
Bayes para aplicao aos dados.

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Figura 16: Seleo de algoritmo de classificao

Figura 17: Algoritmo e condies de teste

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Depois de selecionar o algoritmo, como visvel na Figura 17, falta ainda selecionar a modalidade
de teste. Em certas situaes mais reais e extradas do dia-a-dia, existe um conjunto de dados
para efetuar a criao do modelo de aprendizagem e existe outro conjunto para efetuar o treino
ou a classificao. No entanto, em situaes que s exista um conjunto de dados no
necessrio particionar esses dados manualmente para obter os dois conjuntos (treino e teste).
Nestas situaes costuma-se utilizar a abordagem de validao cruzada em que o conjunto de
dados particionado em mltiplas fraes sendo testado assim sobre esses conjuntos. Os
conjuntos so repetidos ao longo de toda a amostragem para evitar desvios ou viciao dos
resultados obtidos.
Neste caso concreto essa partio ser efetuada em dez partes de igual dimenso.

Figura 18:Inicio de processamento

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Depois desta etapa, ento possvel fazer iniciar o processamento para gerar o modelo e ao
mesmo tempo efetuar o teste com as parties. Nessa altura apresentado o ecr que surge na
Figura 18, sendo um resumo dos dados a serem processados.
No fim do processamento estar concludo, so ento apresentados os resultados e mtricas que
permitem concluir se foram obtidos bons ou maus resultados, como apresentado na Figura 19

Figura 19: Resultados finais

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Nos resultados h a destacar mtricas como:

Preciso: a mtrica que nos permite avaliar a qualidade da classificao de um


determinado algoritmo de aprendizagem automtica. A preciso permite saber do
conjunto dos elementos classificados como pertencentes a uma classe, os que de facto o
so, permitindo assim observar o tipo do erro ocorrido. Por outras palavras, o grau de
pureza da classificao efetuada.
Cobertura: a mtrica semelhante preciso que permite observar o tipo de erro
ocorrido na classificao de determinado algoritmo de aprendizagem automtica. No
entanto ao invs de dar a "pureza" da classificao efetuada, esta mtrica d-nos a noo
da informao relevante que foi perdida durante a classificao.
Medida F1: a mtrica que combina a preciso e a cobertura. Isto surge da necessidade
de ter uma mtrica que d uma viso global do desempenho do algoritmo, visto que,
usando apenas uma delas corre-se o risco de ter bons valores perto de 100%, tendo no
entanto na outra mtrica muito maus resultados, o que levanta dvidas quanto a
globalidade do desempenho do algoritmo.

Por fim existe ainda a matriz de confuso que permite contabilizar todos os casos de corretos
positivos, corretos negativos, falsos positivos e falsos negativos, como observvel na Figura 20.

Figura 20: Resultados em detalhe


2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Ainda se observa que os resultados foram bastante positivos, tendo obtido um F1 mdio de 90%
para as duas classes em estudo.

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Abordagem SVM (Support Vector Machines)


As Mquinas de Vetores de Suporte, mais conhecidas por SVM's do ingls Support Vector
Machines so uma famlia de algoritmos de aprendizagem automtica desenvolvida
inicialmente por Vapnik e Chervonenkis.
De uma maneira muito simplista o seu funcionamento parte do pressuposto que temos os
objetos da nossa coleo que pretendemos classificar. Esses objetos podem ser classificados de
modo binrio, tomando as classes C e C', e so caracterizados pelos atributos do conjunto A =
{A1, A2, ..., An}.
Cada objeto pode ser representado na estrutura de SVM's como sendo um vetor n-dimensional
num espao vetorial de dimenso n obtendo uma determinada disposio geogrfica consoante
os valores dos seus atributos.
O classificador dos SVM's surge como um algoritmo que vai obter e otimizar um hiperplano de
dimenso n-1 dentro do nosso espao n-dimensional, que separa as duas classes. Esse
hiperplano pode ser visto como uma fronteira, mas ao invs de ser uma fronteira bi-dimensional
como a dos mapas, uma fronteira de dimenso n-1.
Quando qualquer novo objeto for adicionado coleo e se pretender a sua classificao
referente classe C ou C', basta representar esse objeto no espao vetorial n-dimensional, e ver
se a sua representao ocorre de um lado ou de outro da "fronteira" que separa as duas classes.
No entanto, no espao vetorial pode existir uma infinidade de hiperplanos capazes de dividir as
duas classes de objetos, levantando a questo de qual hiperplano se adequa melhor. Sendo o
algoritmo SVM's responsvel por essa deciso.

A ferramenta que foi utilizada para experimentar a famlia de algoritmos dos SVM foi o WEKA. A
mesma ferramenta utilizada anteriormente na abordagem Naive Bayes. Tal possvel, porque
como foi introduzido anteriormente, o WEKA uma framework de algoritmos de machine
learning e permite efetuar experiencias em diversas famlias distintas de algoritmos.
Para aumentar a relevncia desta experincia, tendo em conta que a ferramenta utilizada a
mesma, exceto o algoritmo utilizado, foi decidido utilizar os mesmos dados de entrada. Desta
forma ser vlido efetuar uma comparao de resultados entre os diferentes algoritmos.

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Todo o processo inicial de arrancar com o WEKA e carregar os dados em anlise semelhante ao
procedimento efetuado na abordagem do Naive Bayes. Chegando ao fim desse procedimento
obtm-se o ecr visvel na Figura 21.

Figura 21: Carregamento dos dados

Tendo os dados carregados necessrio escolher o algoritmo pretendido, como visvel na Figura
22. O algoritmo escolhido o designado por SMO, que o algoritmo convencional de SVM, mas
que no WEKA tem essa designao por ser uma variante com otimizaes.

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Figura 22: Seleo do algoritmo de SVM

Aps a seleo do algoritmo, esse aparece no campo do separador Classify seguido de um grande
conjunto de parmetros, como visvel na Figura 23. Esse parmetros so especficos do algoritmo
de SVM e permitem efetuar fine tuning ao funcionamento do mesmo em caso de dados muito
especficos ou especializados. No entanto, sero utilizados os parmetros por omisso, visto que
so os melhores para casos genricos.

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Figura 23: Parmetros do algoritmo

De seguida tem de ser escolhido o mecanismo de testes. Tambm ser escolhida a validao
cruzada com dez parties (Figura 24) semelhana do Naive Bayes para permitir uma posterior
comparao entre ambos os algoritmos.

Figura 24: Parmetros de teste

Aps indicar o formato do teste a efetuar, pode-se ento dar ordem de execuo do processo de
aprendizagem para a criao do modelo e o posterior processo de testes.

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Figura 25: Finalizao do algoritmo

O WEKA ao finalizar o seu processamento, apresenta ento o output dos testes realizados, visvel
na Figura 25.
Esses resultados podem ser observados em maior detalhe na Figura 26, onde se voltam a
destacar mtricas como a preciso, cobertura, medida F1 e a matriz de confuso que permite
contabilizar todos os casos de corretos positivos, corretos negativos, falsos positivos e falsos
negativos.

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Figura 26: Detalhe dos resultados finais

Nas mtricas h ainda a destacar o resultado de F1 mdio de 96% para as duas classes em
estudo, que um resultado bastante bom.

A ttulo de comparao o mesmo teste utilizando o algoritmo Naive Bayes apresentou um


resultado de F1 mdio de 90%. Embora no se possam tirar grandes ilaes desta comparao,
pois os dados utilizados, embora sendo os mesmos, foram apenas dados de testes, no
refletindo qualquer cenrio real ou de aplicao prtica, este valor poder indicar que os SVM
so melhores do que o Naive Bayes neste tipo de classificaes.

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Abordagem em Algoritmos Genticos


Os algoritmos genticos so um tipo de abordagem adaptativa para a resoluo de problemas.
Ao contrrio dos problemas em que construdo deterministicamente e imperativamente um
algoritmo esttico para resolver esse problema, nos algoritmos genticos, esse algoritmo de
resoluo dinmico e sabe-se avaliar a si prprio, para poder realizar alteraes e evolues
sobre ele prprio ao longo das diversas iteraes em que tenta resolver o problema original.

Para efetuar a anlise desta abordagem, procurou-se um prottipo que oferecesse um caso de
estudo pronto a utilizar, e ao mesmo tempo fosse interativo, permitindo o utilizador alterar as
variveis de sistema e observar os efeitos e impactos dessas medidas.
O prottipo selecionado foi um modelo de algoritmo gentico aplicado gerao aleatria de
carros com diferentes caractersticas e testados numa pista sinuosa. medida que o algoritmo
gentico vai alterando os carros, estes vo-se tornando mais eficientes. Assim, e de gerao para
gerao so selecionados apenas os melhores. Esses melhores exemplos, depois so
selecionados para sofrerem mutaes numa tentativa de apurar uma prxima gerao ainda
mais eficiente.

O prottipo est disponvel em http://rednuht.org/genetic_cars_2/ sendo totalmente open


source. Este prottipo foi contrudo sobre um motor de fsica 2D designado de Box2D disponvel
em http://box2d.org/ e que simula um conjunto de fenmenos fsicos, como a aplicao de
foras e acelerao e deteo de colises.

ainda importante informar sobre o genoma envolvido na experiencia. O genoma nos


algoritmos genticos o conjunto de variavas/parmetros que podem sofrer mutao e criar
descendentes com piores ou melhores performances. Dai todas as geraes serem testadas de
forma e eliminar as mutaes com piores resultados e a iterar, para um novo ciclo de mutao e
teste, os elementos em que as mutaes tiveram efeitos positivos. Neste cenrio especfico o
genoma era composto por:

Forma (8 genes, um por aresta)

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Tamanho das rodas (2 genes, um por roda)


Posio das rodas (2 genes, um por roda)
Densidade das rodas (2 genes, um por roda)
Densidade do chassi (1 gene)

Na Figura 27 possvel visualizar o aspeto geral do prottipo. No topo surge uma rea onde
surgem os diversos veculos e onde ser visvel a ultrapassarem os obstculos. Por baixo dessa
rea iro surgir grficos informativos com dados estatsticos que iro ser recolhidos ao longo da
evoluo das diversas geraes e iteraes de veculos. Do lado direito, surge um conjunto de
campos de input para modular o sistema e a indicao dos veculos lideres que sero utilizados
na criao da gerao seguinte.

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Figura 27: Viso geral inicial

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Na Figura 28 j possvel observar uma fase intermdia do teste para detetar os melhores
espcimes desta gerao, em que alguns dos veculos ficaram para trs e foram eliminados, da
serem visveis menos do que na Figura 27.

Figura 28: Viso geral (fase intermdia) no decorrer de um teste

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Na Figura 29 apresentado um teste quase na fase final em que poucos exemplares


conseguiram chegar a este ponto. Neste caso concreto, esta a ser seguido o exemplar que se
encontra na liderana.

Figura 29: Viso geral, fase final de um teste

Na Figura 30 apresentado o grfico que vai registando o histrico da evoluo ao longo das
diversas geraes. O eixo vertical a distncia alcanada e o eixo horizontal representa as
sucessivas geraes.

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Em relao as cores presentes no grfico, a cor vermelha representa a maior distncia obtida em
cada gerao. A linha verde representa a mdia do Top 10 de cada gerao e por fim, a linha azul
representa a mdia de toda a presente gerao.
Este grfico facilita bastante a anlise e evoluo gentica dos participantes ao longo das vrias
iteraes e evolues entre geraes.
Do lado direito do grfico, apenas para referncia vo sendo assinalados os diversos registos
obtidos.

Figura 30: Grfico de evoluo ao longo das geraes

Figura 31: Mapa geral de onde se encontram os diferentes exemplares em teste

Na Figura 31 apresentada a viso geral do teste naquele preciso momento, em que se pode
visualizar a posio dos diversos elementos ao longo do trajeto. Cada linha representa um
participante. As linhas a cinzento so elementos que j foram eliminados do teste por no
2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

superar os obstculos. As linhas vermelhas e azuis so de elementos ainda ativos - os lderes da


gerao anterior, e que esto a ser postos prova com elementos derivados desses mesmos
lderes.

Figura 32: Status dos concorrentes do teste atual

Em cada teste que decorre ainda apresentado um indicador de atividade de cada elemento
(Figura 32). Quando a atividade desse elemento chega a zero excludo da competio. Esse
indicador, para o caso concreto, os primeiros trs esto destacados a azul porque foram os
finalistas vencedores da gerao anterior e que serviram para gerar a nova gerao. Com esta
diferena de cores possvel observar, se a nova gerao (vermelho) vai superar ou no os
antepassados (azul).

Por fim, mas no menos importante apresentado o quadro com os campos referentes s
variveis envolvidas na modulao do cenrio de testes (Figura 33).

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

As variveis de taxa da mutao e tamanho de mutao so as mais importantes para qualquer


algoritmo gentico, pois permitem controlar a quantidade e tamanho das mutaes entre
geraes. Neste caso especfico, a taxa de mutao de pai para filho limitada a 10% do genoma,
com uma variao mxima de 75% na amplitude do gene mutado.
Destas variveis de controlo, existe ainda outra bastante importante que o nmero de
elementos de elite selecionados para serem os geradores da prxima gerao.
Neste caso especfico, 3, ou seja, em cada teste para os trs melhores finalistas, aproveitado
o seu genoma para aplicar mutaes e criar uma nova gerao mais eficiente.

Figura 33: Parmetros de configurao

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Abordagem com Distncias em Espaos Vetoriais


Uma das formas base de efetuar classificao automtica de classes de objetos recorrendo a
distncias em espaos vetoriais. Partindo do pressuposto que os objetos que pretendem ser
classificados tm atributos, cada atributo ir dar origem a uma dimenso no espao vetorial. Os
valores que esse atributo podem tomar, sero ento o domnio dessa dimenso vetorial. Assim,
cada objeto ao ser mapeado para esse espao vetorial ira, no conjunto dos objetos, criar uma
distribuio espacial nesse espao vetorial com um numero de dimenses igual ao numero de
atributos que discrimina esses objetos.

Para analisar e estudar a abordagem baseada em distncias em espaos vetoriais, foi utilizada
como ferramenta base de trabalho o Wolfram, ferramenta muito conhecida e utilizada no estudo
de algoritmos matemticos dos mais variados tipos. Essa ferramenta j foi apresentada na
seco da Abordagem TF-IDF.

Existem diversas tcnicas e algoritmos que nos permitiriam explorar e descobrir esta abordagem
baseada em distncias em espaos vetoriais. No entanto uma das mais conhecidas, robusta e
interessante para efetuar uma experimentao visual a k-Nearest Neighbor. Esta ao contrrio
de outras que trabalham em projees para espaos vetoriais de mltiplas dimenses e hperplanos tornam a sua visualizao e compreenso grfica praticamente impossvel, restrio essa
que no acontece com o k-Nearest Neighbor. Matematicamente esta abordagem muito
simples, pois quando pretende identificar a classe de um novo elemento num conjunto de dados,
vai analisar a sua vizinhana num determinado raio e contabilizar os diferentes tipos de
elementos que a circundam. Se houver uma predominncia de uma classe, ento vai-se assumir
que este novo elemento tambm faz parte dessa classe maioritria. Muitas vezes, a grande
questo determinar esse raio de vizinhana de modo a ser o mais correto na maioria dos casos.

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Figura 34: Exemplo de aplicao do k-Nearest Neighbor

A ttulo de simples exemplo explicativo, a Figura 34, apresenta uma ilustrao do que foi
referido. Nesse exemplo surge um novo elemento (verde) que se pretende que seja classificado
como pertencente classe azul ou vermelha. Se o nosso k (raio de vizinhana) for 3
representado pela linha slida, e nessa situao o elemento verde seria classificado como
pertencente classe dos tringulos vermelhos. Por outro lado, se o nosso k (raio de vizinhana)
for de 5, ento ai o elemento verde j seria classificado como pertencente classe azul.

Voltando ao prottipo de experimentao do Wolfram, foi ento carregado um modelo


matemtico interativo para testar e aplicar o k-Nearest Neighbor, obtendo-se o apresentado na
Figura 35. Os elementos dos dados de teste so discriminados por duas classes diferentes (verde
e vermelho), cada elemento descriminado por duas variveis numricas (x1 e x2) e existe um
total de 200 elementos com a distribuio apresentada na Figura 35.
No exemplo tambm aplicada a tcnica de tesselao de Voronoi para pintar as reas que
seriam de classificao para as classes (verde e vermelha) consoante o k selecionado, obtendo
assim um prottipo interativo de estudo muito interessante.
Ainda presente no grfico de visualizao est uma linha azul escura que foi adicionada apenas
para comparao, e representa qual seria a distribuio e diviso de classes efetuada pela
abordagem do Naive Bayes (tcnica essa que tambm j foi analisada neste mesmo documento).

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

A Figura 35 apresenta os dados de estudo e com o k = 1. Nesta situao quando pode haver
problemas de sobre ajustamento, ou seja uma classificao muito prxima dos dados, mas que
no entanto vai perder generalidade e capacidade de contemplar novas situaes.

Figura 35: Exemplo de teste com o k = 1

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

No caso da Figura 36, o k utilizado j foi com o valor 9. No sendo to sobre ajustado e prximo
como no exemplo anterior, ainda assim aparenta ser pouco genrico. Um dos fatores que leva a
observar isso facto de existirem ilhas de uma classe dentro de reas de outra classe, como
visvel neste exemplo.

Figura 36: exemplo de teste com k = 9

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

No exemplo da Figura 37 com o valor de k = 17, o exemplo obtido j aparenta no ter problemas
de sobre ajustamento e ser suficientemente genrico para classificar corretamente novos
exemplos.

Figura 37: Exemplo de teste com o k = 17

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Continuando a aumentar o valor de k, desta vez para 51, as reas de deteo de cada classe j
aparentam ser demasiado simplistas e genricas. Aqui, recorrendo comparao com a linha
(azul) traada pela classificao do Naive Bayes, facilmente se comprova que com o k a 51 se
perdem muitas zonas de deteo obtendo-se assim um modelo sub ajustado.

Figura 38: Exemplo de teste com o k = 51

2/2
Projeto em curso com o apoio de:

SmartMail| Entidade Promotora:

Parceiros:

Por fim na Figura 39 o k utilizado toma o valor de 71. Como possvel de observar no existe
grande alterao em relao ao modelo obtido na Figura 38 com o k = 51.
Neste novo caso (com k = 71) o resultado obtido continua a ser bastante grosseiro e simplista
apresentado indcios fortes de sub ajustamento.

Figura 39: Exemplo de teste com k = 71

2/2
Projeto em curso com o apoio de: