Académique Documents
Professionnel Documents
Culture Documents
Parceiros:
15/04/2014
Anlise de Modelos de
Aprendizagem
1/2
Projeto em curso com o apoio de:
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:
Parceiros:
ndice de Figuras
Parceiros:
2/2
Projeto em curso com o apoio de:
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:
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.
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:
Parceiros:
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.
2/2
Projeto em curso com o apoio de:
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:
Parceiros:
2/2
Projeto em curso com o apoio de:
Parceiros:
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:
Parceiros:
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:
Parceiros:
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:
Parceiros:
Aqui, as palavras mais recorrentes tambm so destacadas com uma fonte de maiores
dimenses.
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:
Parceiros:
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:
Parceiros:
2/2
Projeto em curso com o apoio de:
Parceiros:
importar diferentes fontes de dados e de informao, assim como diversos meios de visualizao
de dados e de resultados.
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:
Parceiros:
2/2
Projeto em curso com o apoio de:
Parceiros:
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:
Parceiros:
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:
Parceiros:
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:
Parceiros:
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:
Parceiros:
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:
Parceiros:
2/2
Projeto em curso com o apoio de:
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.
2/2
Projeto em curso com o apoio de:
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
2/2
Projeto em curso com o apoio de:
Parceiros:
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.
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:
Parceiros:
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:
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.
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:
Parceiros:
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:
Parceiros:
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.
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:
Parceiros:
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:
Parceiros:
Nas mtricas h ainda a destacar o resultado de F1 mdio de 96% para as duas classes em
estudo, que um resultado bastante bom.
2/2
Projeto em curso com o apoio de:
Parceiros:
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.
2/2
Projeto em curso com o apoio de:
Parceiros:
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:
Parceiros:
2/2
Projeto em curso com o apoio de:
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.
2/2
Projeto em curso com o apoio de:
Parceiros:
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:
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.
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:
Parceiros:
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:
Parceiros:
2/2
Projeto em curso com o apoio de:
Parceiros:
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:
Parceiros:
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.
2/2
Projeto em curso com o apoio de:
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.
2/2
Projeto em curso com o apoio de:
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.
2/2
Projeto em curso com o apoio de:
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.
2/2
Projeto em curso com o apoio de:
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.
2/2
Projeto em curso com o apoio de:
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.
2/2
Projeto em curso com o apoio de: