| Resumo |
A busca por métodos de machine learning mais eficientes envolve, além da escolha adequada de diferentes algoritmos para diferentes tipos de dados e objetivos, também a exploração de estratégias que reduzam o custo computacional. Este trabalho pode ser dividido em duas abordagens desse contexto. A primeira foca na aplicação e avaliação de diversos algoritmos de classificação, regressão e agrupamento sobre datasets reais e sintéticos, considerando métricas de desempenho e tempo de execução, com ênfase na paralelização em GPU por meio da biblioteca cuML do Python, que utiliza CUDA para otimizar a execução do algoritmos de aprendizado originais. Foram desenvolvidos notebooks interativos no Google Colab para a aplicação de diferentes técnicas de aprendizado, como DBSCAN, HDBSCAN, Random Forest, K-means, PCA, K-Nearest Neighbors (KNN), Support Vector Classification (SVC), Regressão Linear, Regressão com Random Forest e Gradient Boosting. Alguns dos experimentos foram conduzidos com datasets sintéticos e outros utilizaram conjuntos de dados reais amplamente conhecidos, como Adult, Dry Beans e Sylvine. O objetivo é analisar o comportamento de cada algoritmo em termos de acurácia e escalabilidade, além de observar os ganhos proporcionados pela execução paralela em GPU. A segunda vertente do trabalho dedica-se ao estudo do método TreeLUT, que consiste em transformar árvores de decisão em tabelas de consulta (lookup tables), viabilizando a inferência rápida em FPGA de baixo custo. Este trabalho estuda a possibilidade de implementação de técnicas de poda de árvores, a fim de reduzir a profundidade e o número de caminhos possíveis, otimizando ainda mais a execução e reduzindo os circuitos gerados. Para isso, foram criados notebooks que recebem representações de árvores em formato de dicionário Python e geram automaticamente código em C++, utilizando duas estratégias distintas: uma baseada em expressões ternárias, que compactam as decisões em estruturas concisas, e outra utilizando estruturas condicionais clássicas com if/else. Essas ferramentas permitem a conversão direta de modelos treinados em árvores de decisão para versões otimizadas e legíveis, adequadas para execução embarcada ou integração em sistemas de tempo real. Este projeto foi financiado com bolsa do programa institucional PIBIC do edital da FAPEMIG 2024-2025. |