High-performance ensembles of the Online Sequential Extreme Learning Machine algorithm for regression and time series forecasting

Abstract

Orientador: André Leon Sampaio GradvohlDissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de TecnologiaResumo: As ferramentas baseadas em aprendizado de máquina têm sido utilizadas para previsão em séries temporais, devido à sua capacidade de identificar relações nos conjuntos de dados sem serem programadas explicitamente para isto. Algumas séries temporais podem ser caracterizadas como fluxos de dados, e consequentemente podem apresentar desvios de conceito, o que traz alguns desafios a mais para as técnicas tradicionais de aprendizado de máquina. A utilização de técnicas de aprendizado online, como os algoritmos e ensembles derivados do Online Sequential Extreme Learning Machine são adequados para previsão em fluxo de dados com desvios de conceito. No entanto, as previsões baseadas em fluxos de dados frequentemente possuem uma séria restrição relacionada ao tempo de execução dos algoritmos, devido à alta taxa de entrada das amostras. O objetivo deste trabalho foi verificar as acelerações no tempo de execução, proporcionadas pela aplicação de técnicas de computação de alto desempenho no algoritmo Online Sequential Extreme Learning Machine e em três ensembles que o utilizam como base, quando comparadas às respectivas abordagens convencionais. Para tanto, neste trabalho são propostas versões de alto desempenho implementadas em Linguagem C com a biblioteca Intel MKL e com o padrão MPI. A Intel MKL fornece funções que exploram os recursos multithread em processadores com vários núcleos, o que também expande o paralelismo para arquiteturas de multiprocessadores. O MPI permite paralelizar as tarefas com memória distribuída em vários processos, que podem ser alocados em um único nó computacional ou distribuídos por vários nós. Em resumo, a proposta deste trabalho consiste em uma paralelização de dois níveis, onde cada modelo do ensemble é alocado em um processo MPI e as funções internas de cada modelo são paralelizadas em um conjunto de threads por meio da biblioteca Intel MKL. Para os experimentos, foi utilizado um conjunto de dados sintético e outro real com desvios de conceito. Cada conjunto possui em torno de 175.000 instâncias contendo entre 6 e 10 atributos, e um fluxo online foi simulado com cerca de 170.000 instâncias. Os resultados experimentais mostraram que, em geral, os ensembles de alto desempenho melhoraram o tempo de execução, quando comparados com sua versão serial, com desempenho até 10 vezes mais rápido, mantendo a acurácia das previsões. Os testes foram realizados em três ambientes de alto desempenho distintos e também num ambiente convencional simulando um desktop ou um notebookAbstract: Tools based on machine learning have been used for time series forecasting because of their ability to identify relationships in data sets without being explicitly programmed for it. Some time series can be characterized as data streams, and consequently can present concept drifts, which brings some additional challenges to the traditional techniques of machine learning. The use of online learning techniques, such as algorithms and ensembles derived from the Online Sequential Extreme Learning Machine, are suitable for forecasting data streams with concept drifts. Nevertheless, data streams forecasting often have a serious constraint related to the execution time of the algorithms due to the high incoming samples rate. The objective of this work was to verify the accelerations in the execution time, provided by the adoption of high-performance computing techniques in the Online Sequential Extreme Learning Machine algorithm and in three ensembles that use it as a base, when compared to the respective conventional approaches. For this purpose, we proposed high-performance versions implemented in C programming language with the Intel MKL library and the MPI standard. Intel MKL provides functions that explore the multithread features in multicore CPUs, which expands the parallelism to multiprocessors architectures. MPI allows us to parallelize tasks with distributed memory on several processes, which can be allocated within a single computational node, or distributed over several nodes. In summary, our proposal consists of a two-level parallelization, where we allocated each ensemble model into an MPI process, and we parallelized the internal functions of each model in a set of threads through Intel MKL library. For the experiments, we used a synthetic and a real dataset with concept drifts. Each dataset has around 175,000 instances containing between 6 and 10 attributes, and an online data stream has been simulated with about 170,000 instances. Experimental results showed that, in general, high-performance ensembles improved execution time when compared with its serial version, performing up to 10-fold faster, maintaining the predictions' accuracy. The tests were performed in three distinct high-performance environments and also in a conventional environment simulating a desktop or a notebookMestradoSistemas de Informação e ComunicaçãoMestre em Tecnologi

    Similar works