scieee AI-readable full text Open interactive document viewer

Never Ending Language metaLearning: model management for CMU's ReadTheWeb project

Vitor Hugo Gonçalves dos Santos

Abstract

A seguinte dissertação terá como objectivo descrever o trabalho que foi efectuado durante o ano que passou. Inicialmente foi feita uma pesquisa sobre o conhecimento que foi descoberto até à actualidade, vulgo estado-da-arte, do qual foi utilizado para o trabalho de definição do problema, recolha de informação, experimentação, recolha de resultados e conclusões finais. De uma forma mais específica, pretende-se introduzir o Never Ending Language Learner (mais conhecido como NELL), os objectivos principais, bem como o seu modo de funcionamento. Durante esta explicação, os pontos que estão menos polidos serão expostos, de forma a que este trabalho sirva como um caminho a seguir para melhorar o seu funcionamento. Devido à exposição que foi feita, o próximo assunto será abordar uma possiblidade de melhorar os resultados falados anteriormente. A abordagem é o Metalearning (ou meta-aprendizagem), que permite caracterizar um conjunto definido de dados (através de variáveis) e, com isso, verificar qual o algoritmo recomendado para processar novos dados que tenham características semelhantes. Depois de uma teoria acrescentada para a recta final do trabalho, passou-se à recolha de informação, explicando o seu formato; ao tratamento dos dados, adaptando-os de forma a estarem prontos para se tirar conclusões; à descrição dos procedimentos que levarão aos resultados; os resultados, per se; e às conclusões que se podem chegar com aquilo que foi produzido.

Full text

FACULDADE DE ENGENHARIA DA UNIVERSIDADE DO PORTO Never Ending Language Metalearning Vitor Hugo Gonçalves dos Santos VERSÃO DE TRABALHO Mestrado Integrado em Engenharia Informática e Computação Orientador: Carlos Manuel Milheiro de Oliveira Pinto Soares Co-orientador: Estevam Rafael Hruschka Jr. 21 de Julho de 2014 Never Ending Language Metalearning Vitor Hugo Gonçalves dos Santos Mestrado Integrado em Engenharia Informática e Computação Aprovado em provas públicas pelo Júri: Presidente: Ana Paula Cunha da Rocha Arguente: Nuno Filipe Fonseca Vasconcelos Escudeiro 21 de Julho de 2014 Resumo A seguinte dissertação está envolvida no contexto do Never Ending Language Learner (mais conhecido como NELL). Um sistema que permite a leitura e a aprendizagem contínua de informação, que tem como objectivo construir a maior base de informação estruturada do mundo, desenvolver o estado-da-arte na área de processamento de linguagem natural e um caso de estudo para a aprendizagem contínua. A motivação para este trabalho é a de melhorar esse processo de aprendizagem. Através da hipótese de utilizar a meta-aprendizagem para chegar a esse fim. Com este contexto é observado o comportamento do sistema, na tarefa de aprendizagem. É composta por vários algoritmos que fazem a selecção da informação que esteja mais próxima da realidade, diferentes entre si, que permitem a identificação de informação mais diversa. Depois, descrever-se-á a meta-aprendizagem. É um método que permite descrever um conjunto de dados, através de certas características, como se de uma entrada num conjunto de dados se tratasse. Com o objectivo de, a partir da descrição desses conjuntos de dados e de uma variávelobjectivo a ser prevista, prever o valor da variável-objectivo para novos conjuntos de dados. O objectivo do trabalho será, com os dados provenientes da avaliação de um dos métodos do NELL, fazer a estimação da precisão que esse método tem para um dado conjunto de dados. Com este estado da arte, foram definidas as variáveis para o estudo, o formato da informação, ao tratamento dos dados para o estudo e para a recolha de resultados. Para as conclusões do trabalho, vai ser referido que, a partir dos resultados do estudo, não foi possível obter melhores resultados. No entanto, vão ser referidos os pontos dos quais esses resultados poderão ser melhorados, em que situações falharam, e o trabalho futuro: que será baseado no estudo mais aprofundado desses problemas. i ii Abstract The following dissertation is in the context of Never Ending Language Learner (better known as NELL). A system that reads and learns continuously to build the largest structured information base in the world, to develop natural language processing’s state of the art and to be a case study for continuous learning. The work motivation is to improve its learning process. Through the hypothesis of using metalearning to achieve that improvement. With this context, the system learning behaviour is observed. It is composed by multiple different methods that select and identify the most accurate and diverse information. With NELL, metalearning will be considered in this dissertation. It is a method to describe a dataset as an entry set, with certain variables. With the point of dealing with a great number of datasets, with a target variable to be predicted also. The goal of this work is to estimate the prediction of a certain dataset, by a NELL’s method. With the state of the art collected, the variables, the information structure were defined and the data was processed for experimentation purposes. For the conclusions, it will be refered that, from the results, it was not possible to improve the learning process. However, it will be explained why and where the work failed and future work for investigating these issues further will be indicated. iii iv Agradecimentos Gostaria de agradecer aos professores Carlos Soares e Estevam Hruschka pela sua disponiblidade em orientar o meu trabalho, com a dedicação e os conselhos dados, que tornou esta dissertação possível, as minhas apresentações melhores e um melhor trabalho académico, no geral. Em segundo lugar, agradeço a toda a gente da qual eu tive o prazer de conhecer, desde que iniciei a minha vida académica, nos melhores e piores momentos da vida; pois assim me tornei na pessoa que sou hoje. Finalmente, o meu grande agradecimento à minha família, pois sem ela, nada disto seria possível. Obrigado a todos! Este trabalho é parcialmente financiado por fundos nacionais, através da FCT – Fundação para a Ciência e a Tecnologia no âmbito do projecto "REACTION (UTAustin/EST-MAI/0006/2009)"e no Projecto "NORTE-07-0124-FEDER-000059", que é financiado pelo Programa Operacional Regional do Norte de Portugal (ON.2 – O Novo Norte), sobre o Quadro de Referência Estratégico Nacional (QREN), através do Fundo de Desenvolvimento Regional Europeu (FDRE), e da agência de financiamento Portuguesa, Fundação para a Ciência e a Tecnologia (FCT). Vitor Santos v LISTA DE FIGURAS xii Lista de Tabelas 4.1 Resultados obtidos com o algoritmo Recursive Partitioning and Regression Trees.22 4.2 1atabela de resultados obtidos com o algoritmo Support Vector Machines..... 22 4.3 2atabela de resultados obtidos com o algoritmo Support Vector Machines..... 22 4.4 1atabela de resultados obtidos com o algoritmo de Redes Neuronais. . . . . . . . 22 4.5 2atabela de resultados obtidos com o algoritmo de Redes Neuronais. . . . . . . . 22 4.6 Tabela de resultados obtidos com o algoritmo Partial Least Squares Regression. . 23 xiii LISTA DE TABELAS xiv Abreviaturas e Símbolos CMU Carnegie Mellon University NELL Never Ending Language Learner CMC Coupled Morphological Classifier xv Capítulo 1 Introdução Este capítulo de introdução pretende enquadrar a área e a origem do trabalho que será apresentado a seguir. É apresentado o contexto em que se insere, bem como a motivação e objectivos e a estrutura deste documento escrito. 1.1 Contexto Esta dissertação centra-se no NELL (Never Enging Language Learning), um projecto liderado pela Carnegie Mellon University, com o objectivo principal de responder à seguinte questão Conseguirão os computadores aprender a ler? - um trabalho que extrai conhecimento da Internet desde Janeiro de 2010, continuamente. Este sistema é responsável por duas tarefas: a tarefa de leitura de informação online, e a de aprendizagem para construção do seu estado do mundo. Este sistema tem três objectivos principais: ser um caso de estudo na aprendizagem contínua, ser um avanço no estado-da-arte na área do processamento de linguagem natural e construir a maior base de conhecimento estruturado do mundo [CBK+10]. 1.2 Motivação e Objectivos O NELL é um sistema complexo, que toma conta de tarefas diferentes, usando um grande número de métodos. Por exemplo, existem actualmente 3 métodos que identificam factos candidatos para serem incluídos na sua base de dados de conhecimento. O método que será utilizado neste trabalho consiste na análise lexical e sintáctica de um termo, ou de um conjunto de termos, através de regras. No final, o resultado será uma percentagem que indica a confiança do método em relação à pertença de um termo a uma categoria. A meta-aprendizagem consiste na caracterização de um conjunto de dados, segundo certas características, que permitem que um conjunto de dados se torne numa entrada para um conjunto de dados de nível superior. Esse novo conjunto terá, tal como no nível-base, uma variável-objectivo. Depois dessa fase, é possível receber novos conjuntos de dados base apenas com as suas características e prever o valor da variável-objectivo para eles, 1 Introdução sem ter que recorrer ao nível-base. Os objectivo principal para este trabalho é: a estimação da performance de um método do NELL, dado um conjunto de dados, recorrendo à meta-aprendizagem para caracterizar conjuntos de dados. 1.3 Estrutura da Dissertação Este relatório terá os seguintes capítulos: No capítulo 2encontra-se o estado-da-arte que serve de base para o trabalho. No capítulo 3, toda a formalização da implementação da solução está descrita. No capítulo 4, encontram-se os resultados obtidos no trabalho e a sua interpretação. No capítulo 5, é feita uma conclusão deste trabalho e apontado o trabalho futuro. 2 Capítulo 2 Estado da Arte Neste capítulo será apresentado o estado-da-arte sobre os dois principais assuntos que serão tratados doravante. Com essa apresentação, existirá uma explicação sobre os trabalhos correntes que existem, de forma a motivar este projecto. 2.1 NELL ONever Ending Language Learning é um projecto criado pela Carnegie Mellon University (mais conhecida como CMU) com o objectivo principal de tentar responder à seguinte pergunta, com os recursos computacionais disponíveis hoje: "Será que os computadores conseguirão aprender?"[RTW]. Para que se possa começar a ter uma resposta, toda a informação virá via Internet. Para que essa informação seja extraída, foi construído um sistema computacional chamado Never Ending Language Learner (NELL, referido daqui para a frente). Não só este sistema é capaz de recolher informação, como também consegue aprender com aquilo que lê para criar o seu estado do mundo e para poder ler melhor com o tempo. Este fluxo de operações dá capacidade ao NELL para se tornar numa máquina que pró-activamente aprende como um ser humano, para desenvolver o estado da arte em áreas como o processamento de linguagem natural e o conhecimento sobre o mundo, útil para outras áreas da inteligência artificial [CBK+10]. 2.1.1 Procedimentos de Aprendizagem O NELL tem duas formas de categorizar a informação que aprende: a primeira consiste numa relação entre uma instância e uma categoria. Por exemplo, para que o nome de uma cidade possa ser correctamente classificado, a expressão "X é uma cidade"deve estar presente no sistema. A segunda é expressa por relações entre categorias. Um exemplo simples para este caso é relacionar um praticante de desporto que joga por uma equipa e que ambos são conhecidos por estarem relacionados a esse desporto - algo como: alguém que joga futebol joga por uma equipa de futebol [CBK+10]. 3 Estado da Arte Para começar o processo de aprendizagem, o NELL deverá ter um conjunto inicial de conhecimento (conhecimento básico que serve de base ao novo conhecimento construído) para que possa aprender novos conceitos que usem esse pequeno conjunto. Este conhecimento envolve categorias e relações simples, bem como alguns exemplos para cada um. Todo o conhecimento que o NELL possui é armazenada num componente chamado Knowledge Integrator (doravante referido como KI). O KI funciona da seguinte forma: toda a informação aprendida é armazenada e classificada em duas grandes categorias: candidate facts (factos candidatos) e beliefs (crenças). Os subcomponentes do NELL verificarão a base desse conhecimento e interagir-se-ão entre si para criar novo conhecimento baseado naquela que entrou num tempo anterior; ambos os conjuntos anteriormente descritos irão passar por um módulo chamado Knowledge Integrator (ou KI), que será responsável por verificar o quanto preciso é o conhecimento e a quantidade de fontes que o suporta. O KI descarta o conhecimento que acha que é mau e promove a belief aquele que achar que é adequado. Passando essa última fase, esse conhecimento será utilizado para julgar os pedaços de conhecimento que chegarão posteriormente. Este procedimento pode ser explicado nas figuras seguintes. A primeira representa os processos do NELL, na sua globalidade. A segunda representa o primeiro processos (texto que é analisado pelos sub-componentes do NELL) e a terceira a promoção de candidate facts abeliefs: Figura 2.1: Arquitectura global do NELL. 2.1.2 Implementação das Capacidades de Aprendizagem Mas de que forma, precisamente, está o NELL construído? Consiste em dois grandes módulos: os System Subcomponents e o Knowledge Integrator. O primeiro módulo está dividido em 4 sub-módulos: o Coupled Pattern Learner (CPL), um extractor de texto que procura por padrões textuais para extrair novas palavras em categorias e em relações entre categorias - exemplo de um padrão de texto: X plays for Y in football, X joga futebol por Y; o Coupled SEAL (CSEAL), um motor de busca web para suportar beliefs já existem em cada categoria (ou relação) no NELL, com o objectivo de também extrair informação proveniente dessas pesquisas; o Coupled Morphological Classifier (CMC), um sub-módulo que verifica a construção sintáctica da informação, que extrai características tais como palavras começadas por letras maiúsculas ou minúsculas, afixos e palavras; o Rule Learner (RL), que infere regras entre categorias e relações. 4 Estado da Arte Figura 2.2: Texto submetido aos Subcomponentes do Sistema. Figura 2.3: Promoção de candidate facts em beliefs. O segundo módulo consiste numa simples estratégia que promove factos que têm uma confiança superior a 0.9. Nos casos em que isso não se verifica, se determinado conhecimento tem um número grande de fontes que o tornam verdadeiro, também é promovido [CBK+10]. 2.1.3 Experiências Para testar o quão eficaz o NELL é em atingir o seu objectivo, foi efectuada uma experiência com o seguinte conjunto de dados: 123 categorias foram inseridas, com 10 a 15 exemplos para cada uma; e 55 relações com o mesmo número de exemplos individuais. Todos os subcomponentes funcionam em todas as iterações, excepto o RL que trabalha de 10 em 10 iterações. Todos os resultados gerados são supervisionados por humanos e o sistema não é capaz de gerir mudanças semânticas que ocorrem naturalmente, conforme o tempo passado [CBW+10]. Após 67 dias de funcionamento contínuo, o NELL foi capaz de armazenar 242 453 factos, com uma precisão estimada de 74%. A maior parte dos factos foi proposta pelo CPL e pelo CSEAL, isoladamente (i.e., sem qualquer intervenção de outros sub-módulos) e pelos seguintes pares de módulos: CPL - CSEAL, CPL - CMC e CSEAL - CPL. Praticamente todos os factos foram aprovados com um grande nível de 5 Aprendizagem Contínua 3.2 Formalização do Problema 3.2.1 Problema de Regressão Dado um conjunto de dados xT= (x1,x2,...,xp)e que se pretende prever uma variável objectivo y, o modelo de regressão obedece à seguinte fórmula 3.1 [HTF09]: f(x) = β0+ p ∑ j=1 xjβj(3.1) Sendo que os parâmetros βsão calculados através da estimação dos valores baseados num conjunto de treino - aquele que apenas se baseia nesse facto é o β0e para cada um dos βjque se aplicam a cada instância xjde teste. 3.2.2 Avaliação com Erro Médio Quadrático (Mean Squared Error) A avaliação do erro médio quadrático consiste no cálculo da média do quadrado dos erros; i.e., a diferença entre o estimador e estimativa. Esta unidade, comparando com o erro médio calculado através das confianças do conjunto de treino, permite dar uma comparação entre se existe vantagens em usar algoritmos de regressão para prever a confiança para uma determinada categoria ou não. Esta unidade pode ser calculada, de acordo com a equação 3.2. Se ˆ Yfor o vector de previsões, Yo vector dos valores reais e No número total de previsões e valores reais [WMS08]: MSE =1 NsN ∑ i=1 (ˆ Yi−Yi)2(3.2) 3.2.3 Term Frequency–Inverse Document Frequency (TF-IDF) O “term frequency–inverse document frequency (TF-IDF)” é uma heurística que permite saber até que ponto um determinado termo é relevante para identificar um determinado documento. Para o cálculo do valor de TF, é definido como fi j o número de vezes que um termo iaparece num documento j, como aparece na equação 3.3. Este número, normalizado, será dividido pelo número total de termos que o documento contém. Assim, o termo mais frequente no documento terá um valor de 1, enquanto que os termos menos frequentes terão fracções desse valor [RU11]. TFi j =fi j/maxkfk j (3.3) Para o cálculo do valor de IDF, supondo que um determinado termo iaparece em nide Nde documentos presentes, a fórmula utilizada é a que está descrita na equação 3.4 [RU11]. IDFi=log2(N/ni)(3.4) 12 Aprendizagem Contínua Para o cálculo do valor final, são multiplicados os valores anteriormente caracterizados, como na equação 3.5 [RU11]: TF.IDFi=TFi j ∗IDFi(3.5) Assim, quando maior o valor de TF-IDF para um determinado termo, melhor o termo é ao descrever esse documento. 3.2.4 Análise de Componentes Principais Os objectivos da Análise de Componentes Principais (de Principal Component Analysis, PCA) são os seguintes: extrair a informação mais importante do conjunto de dados; comprimir o tamanho do conjunto, mantendo apenas a informação mais importante; simplificar a sua descrição e analisar a estrutura das observações e das variáveis. Para que seja possível atingi-los, novas variáveis chamadas de componentes principais (principal components) são obtidas através de transformações lineares das anteriores. O processo para criar cada componente pode ser explicado da seguinte forma: Os componentes deverão conter a maior variância possível, para conseguir extrair a maior quantidade de informação possível sobre uma característica, abrangendo a maior quantidade de entradas. As transformações deverão ser ortogonais aos componentes e deverão conter a maior variância para a maioria dos dados que ficaram de fora do passo anterior, e assim sucessivamente [AW10]. 3.3 Dados Os dados de entrada vieram provenientes de um único documento, contendo, em primeiro lugar, o nome da categoria a que foi atribuída tal facto, a confiança que o CMC teve ao atribuir o facto à categoria, o nome do componente do NELL que tratou dessa classificação - neste caso, será sempre o CMC, o termo analisado, e os parâmetros que o CMC utiliza para verificar se um determinado facto poderá pertencer a uma determinada categoria. Essas features podem consistir na comparação de substrings, palavras inteiras ou expressões regulares que comparam termos com mais que uma palavra. Originalmente, os dados foram fornecidos com a seguinte estrutura: categoria confiança CMC termo “parâmetro” = “valor” ... Os dados foram extraídos da plataforma askNELL, fazendo uma pesquisa sobre os parâmetros que o CMC usa (cmcFeatures) para cada categoria, bem como a precisão que o componente tem em acertar nas previsões para cada categoria, cujos dados foram fornecidos directamente da implementação do NELL. 13 Aprendizagem Contínua 3.4 Preparação dos Dados Para que seja possível agregar todo um conjunto de dados numa meta instância, foi necessário fazer a média de todas as confianças do CMC (cada confiança correspondia à performance do CMC para cada termo), retirar os termos que foram submetidos no sistema presentes no nível base (nesta fase, não acrescenta informação relevante e torna o meta-conjunto de dados mais complexo; mas poderá vir a ser útil, no futuro), separar o par “feature=valor” em colunas separadas e inserir o número de vezes que cada feature e o valor atribuído à feature existente, através de Text Mining. Os meta-dados ficaram com a seguinte formatação final: categoria confiança “parâmetro” “valor” ... Durante a importação dos dados, removeram-se os underscores, numa tentativa de generalização e redução do número de variáveis em jogo - muito importante para se conseguir tirar exemplos suficientes para suportar uma previsão, e para evitar a "maldição da dimensionalidade". Esta situação advém de uma grande quantidade de variáveis, o que dificulta a existência de exemplos para um qualquer problema de previsão. Todos os espaços em branco foram retirados e todo o texto foi convertido para letras minúsculas, para que depois todas as palavras sejam representadas por um bag-of-words numa matriz de termos presentes em documentos. Um bag-of-words é um conjunto de variáveis que possuem o número de vezes que um determinado termo aparece, num conjunto de dados. Por razões de implementação das funções a utilizar mais tarde, foi necessário converter para uma matriz regular. Foram criados dois conjuntos de experiências: um em que os valores de frequência dos termos surgiam tal e qual como estavam, e outro em que a frequência dos termos eram dados pelo seu valor de TF-IDF respectivo. Em ambos, foi utilizado o PCA, devido à incapacidade do R de lidar com um número muito grande de variáveis: de cerca de 18794 variáveis para 245 principal components. 3.5 Formas de Divisão dos Dados 3.5.1 Divisão Única do Conjunto de Dados É feita uma divisão do conjunto de dados em sub-conjuntos de treino e de teste. O primeiro serve para o algoritmo de aprendizagem obter um modelo que relacione o valor da variável dependente em função dos das variáveis independentes. O segundo é usado para estimar a qualidade da aprendizagem feita anteriormente. Para isso compara os valores da variável objectivo sugeridos pelo modelo para os exemplos desse conjunto com os valores observados. 3.5.2 10 Fold Cross Validation O 10 Fold Cross Validation tem por base o mesmo conceito de divisão em sub-conjuntos relatada no capítulo anterior. A principal diferença que os separa é que este conceito implica a 14 Aprendizagem Contínua criação de 10 sub-conjuntos (ou “folds”), dos quais 9 são usados como treino do classificador e o restante é usado como teste; depois de um sub-conjunto ser usado como teste, um outro subconjunto é utilizado como teste e os outros como treino e assim sucessivamente; até que todos os sub-conjuntos tenham sido usados, em alguma circunstância, como um sub-conjunto de teste. 3.6 Algoritmos Usados na Regressão Neste capítulo, far-se-á uma apresentação informal sobre os algoritmos que serão utilizados para as experiências que virão a seguir, para além da simples regressão linear. Este conhecimento apenas pretende introduzir e fazer compreender como o algoritmo trabalha para descobrir soluções. Para mais informações, ver Hastie et al [HTF09]. 3.6.1 Recursive Partitioning and Regression Trees As árvores de regressão dividem os exemplos recursivamente em sub-conjuntos em que o valor da variável objectivo é cada vez mais homogéneo. As divisões são feitas com base nos valores das variáveis independentes. Assim, a primeira divisão é considerada de primeiro nível, vindo da raiz: que é todo o conjunto de dados. É possível dividir os sub-conjuntos, fazendo com que a profundidade da árvore vá ficando cada vez maior. Quanto mais profunda a árvore, menos exemplos tem cada nó, o que aumenta o perigo de representarem padrões pouco significativos. Para as experiências, é possível limitar a profundidade que a árvore terá, através do parâmetro "max depth". 3.6.2 Support Vector Machines O SVM é um algoritmo cujos modelos são definidos por uma função referencial e por um raio que permitem criar um "cilindro"multi-dimensional que engloba os dados do conjunto. Para evitar o sobre-ajustamento do modelo resultante, é aplicado o conceito da constante de regularização, que permite que haja alguns dados que estejam mais longe do referencial - e que podem ser ruído ou não, dependendo do caso - sejam incluídos como sendo informação considerada pelo modelo. Isso acontece, controlando o peso relativo do raio e dos erros na escolha da função. Na figura 3.1, são explicados os conceitos de variável observada, variável prevista, raio e margem entre observação e previsão [SVM97]. Neste trabalho, é possível parametrizar essa constante de regularização na entrada dos valores, dentro do hiperplano. Na prática, isto quer dizer que um valor de custo pequeno, permite um hiperplano com uma maior margem, enquanto que um custo grande permite um hiperplano com menor margem (proporcionalidade inversa). 3.6.3 Redes Neuronais Redes Neuronais, na sua definição mais simples, baseia-se no conceito da propagação por um conjunto de camadas intermédias de processamento de informação de dados que entram na rede, 15 Aprendizagem Contínua Figura 3.1: Observação dos conceitos relacionados com Support Vector Machines. com o fim de calcular os valores de saída. Este processamento normalmente consiste numa função não-linear aplicada à soma dos valores que entram na unidade, pesada por coeficientes associados a cada ligação de entrada. Esses dados de entrada são as variáveis independentes xe os dados de saída traduzem-se na variável objectivo y. O objectivo de todas estas acções é encontrar os pesos que, dados os valores xda observação i, gerem o valor da unidade de saída o mais parecido possível com o valor observado da variável ydessa observação. Um exemplo ilustrativo é dado na figura 3.2 [Das13]. Para estas experiências, é possível especificar dois parâmetros para as redes neuronais: quantas camadas intermédias o utilizador pretende que a rede tenha -sujeito à quantidade de dados de entrada - e o quociente de aprendizagem adoptada: entre não aprender nada de novo e apenas considerar os resultados imediatamente antes de uma certa iteração. As camadas intermédias 16 Aprendizagem Contínua Figura 3.2: Esquema da arquitectura standard de uma rede neuronal. definem o número de funções de transformação que serão aplicadas aos dados de entrada, até haver dados de saída. Apesarem de serem em igual número, as funções aplicadas poderão ser diferentes, dependendo dos dados de entrada. O quociente de aprendizagem é uma variável que varia entre 0 e 1, que define até que ponto o conhecimento imediatamente adquirido num ponto da rede é mais importante que o conhecimento previamente adquirido, em fluxos de dados anteriores. 3.6.4 Partial Least Squares Regression OPartial Least Squares Regression pode ser visto como uma variante de uma regressão linear, sendo que não faz uso das variáveis independentes x, tal e qual como estão, mas sim com uma projecção das instâncias num outro referencial. Apesar de não incluir todas os observações, o 17 Aprendizagem Contínua algoritmo não os descarta na totalidade, pois poderá haver falsos positivos (instâncias que o algoritmo diz pertencerem a certo conjunto de valores, quando, na realidade, não pertencem) que terão que ser incluídos para uma melhor previsão. Neste trabalho, será possível estabelecer o número de novas variáveis (ou componentes, por serem conhecidas como componentes principais), sendo que o seu valor máximo é o número total de variáveis originais. 3.7 Tecnologias Usadas O pacote tm foi utilizado para a importação, tratamento e organização dos dados importados. O pacote “caret” (de Classification And REgression Training) foi utilizado para modelação e avaliação, tirando vantagem do grande número de algoritmos de regressão que disponibiliza bem como dos métodos de estimação do erro. Os seguintes pacotes foram utilizados para permitir a utilização dos algoritmos de regressão no trabalho: “rpart” (Recursive Partitioning and Regression Trees), “kernlab” (Support Vector Machines), “nnet” (Redes Neuronais). A linguagem Python foi utilizada para recolher o conjunto de dados original e transformá-lo de forma a que as experiências possam ser feitas. 3.8 Preparação das experiências Em cada conjunto de experiências, foram usados os 4 algoritmos descritos anteriormente, primeiramente com os seus valores por defeito (sem parametrização), tendo posteriormente sido usados os seguintes parâmetros, para cada um deles: •Recursive Partitioning and Regression Trees: Profundidade máxima 10 20 30 •Support Vector Machines: "C" 1 100 1000 10000 20000 50000 100000 200000 500000 1000000 2000000 •Redes Neuronais: Neurónios Intermédios 2 2 2 2 2 3 Decaimento 0.3 0.4 0.5 0.7 1 0.3 •Partial Least Squares Regression: Número Componentes 1 5 10 Para além dos algoritmos, foi calculado, para cada um dos conjuntos, uma previsão simples feita através da média do valor da variável objectivo para os conjuntos de treino. Este erro médio 18 Aprendizagem Contínua é utilizado como um comparativo com os restantes valores de previsão, a fim de se saber se existe alguma vantagem em usar um algoritmo de regressão. Esta é um dos benchmarks mais imediatos que podem ser usados. 3.9 Resumo e Conclusões Neste capítulo de experimentação, foram relatados os dados de entrada, como esses dados foram alterados de forma a conseguir tirar informação sobre eles e as tecnologias e os algoritmos utilizados nestes processos. Os resultados serão mostrados no próximo capítulo. 19 Aprendizagem Contínua 20 Capítulo 4 Estudo Experimental O capítulo seguinte ilustrará os resultados que foram recolhidos deste trabalho. Inicialmente, será exposto o que se pretende dos resultados recolhidos, os resultados per se e uma discussão sobre o porquê daqueles resultados aparecerem daquela forma. 4.1 Objectivos O objectivo principal deste trabalho é avaliar se os algoritmos de regressão conseguem prever a performance do CMC, dado os seus parâmetros e o valor que está atribuído a cada uma dessas variáveis. Isso será verificado, comparando o valor que cada algoritmo prevê, com o valor da previsão-base, descrita na preparação das experiências. Se o valor previsto pelos algoritmos for maior do que o do valor base, quer dizer que o erro de previsão é maior, ou seja, não existem vantagens (mas sim, desvantagens) em usar algoritmos de regressão. No caso contrário, quer dizer que existe, de facto, aprendizagem por parte dos algoritmos, melhorando a performance em relação ao modelo base. 4.2 Resultados Os resultados estão divididos por cada algoritmo de regressão utilizados, em que as colunas correspondem aos valores de parametrização dos mesmos e as linhas correspondem à representação do conjunto de dados utilizado.O resultado para a previsão mais básica é de: 0.039 ±0.001. No caso do Recursive Partitioning and Regression Trees, o melhor resultado tem um erro maior do que a da previsão mais básica. Neste caso, usando o TF-IDF, é possível obter melhores resultados, comparado com a frequência de termos, o que confirma a sua vantagem em termos do quanto relevante o termo é, num documento. Os resultados discutidos neste parágrafo podem ser observados na tabela 4.1. 21 REFERÊNCIAS [WMS08] Dennis D. Wackerly, William Mendenhall e Richard L. Scheaffer. Mathematical Statistics with Applications. Cengage Learning, 2008. 28