Subjective Comments (PT)

Comentários gerais sobre o TCC

O meu tema do trabalho de conclusão de curso foi relativamente fácil de ser delineado, pois já tinha um escopo bem específico que gostaria de abordar: ciência de dados. Meu interesse nessa área, somado ao fato de ter começado um estágio trabalhando com o assunto me motivou mais ainda a escolher algum tema de cunho prático. Já frequentava a plataforma do Kaggle e lia constantemente referências e aplicações de algoritmos de gradient boosting, mas nunca tinha olhado com mais detalhes como funcionavam. Incentivado pelas tarefas que desenvolvi no meu estágio, vi em MAC0499 uma forma de estudar sobre a formulação teórica do problema, além de também tentar ligar o meu estudo com algum resultado prático, que de alguma forma ajudasse a vida de um cientista de dados.

Sobre o desenvolvimento do trabalho, acredito que tive alguns entraves na definição do escopo e objetivos, e como realmente executar meus experimentos. Desde o início, eu tinha uma estrutura em mente do que pretendia fazer, mas com o decorrer do trabalho vi que as coisas não fluem tão bem quanto imaginamos. Primeiramente, a minha ideia era fazer uma comparação entre as implementações do XGBoost e LightGBM, e considerar várias categorias de problemas. Isto é, basicamente eu teria que refazer tudo que fiz mas com o XGBoost, e ainda testar com mais outros tipos de dados, o que levaria provavelmente mais um ano. Também não disponho de uma máquina potente o suficiente para deixar treinando os modelos, e para isto agradeço à Rede Vision do Grupo de Visão Computacional do IME. Mesmo assim houveram vários entraves que não tinha planejado: a plataforma que utilizei (OpenML) tinha uma série de problemas, demorei quase um mês e meio para treinar e avaliar todos os modelos, tive algumas dificuldades para estudar as ferramentas estatísticas que precisava, etc. Junto aos desafios técnicos, também tive alguns períodos onde não conseguia me dedicar totalmente ao projeto, principalmente por estar cursando várias matérias que também exigiam do meu tempo e estar trabalhando no estágio.

Acredito que o resultado deste trabalho esteja bem completo, e que construí uma estrutura bastante flexível que pode ser adaptada para diferentes tipos de projetos. No quesito de aprendizado também sinto um êxito: aprendi mais sobre o algoritmo, técnicas diferentes na área de aprendizagem de máquina e também bastante conceitos e ferramentas estatísticas que não conhecia, mas que agora considero fundamentais. É claro, vejo várias melhorias que podem ser feitas: simplificar as análises, reduzir a quantidade de valores de hiperparâmetros testados, usar outras técnicas estatísticas, etc.

Em todo esse processo, agradeço a orientação do Prof. Roberto Hirata Jr. que me guiou, aconselhou e constantemente me ajudou a continuar e terminar esse projeto da forma adequada. Também agradeço ao meu amigo Kae (Estatística - Ufscar), que me ajudou e apresentou os conceitos que precisava de análise experimental para o meu trabalho, me indicando uma ótima bibliografia sobre o tema, que foi fundamental para a obtenção dos meus resultados. De forma geral, agradeço meus amigos, colegas de trabalho e minha família.

Comentários gerais sobre o curso

No que concerne as matérias que considero relevantes para o trabalho que fiz, mencionaria MAE0119 - Introdução à Probabilidade e à Estatística, MAC0460 - Aprendizagem Computacional: Modelos, Algoritmos e Aplicações e MAC0459 - Ciência e Engenharia de Dados. Em nenhuma dessas matérias o conceito de gradient boosting é mencionado (mas seria uma boa ideia!), mas muitos conceitos que aprendi me ajudou de uma forma ou outra no projeto.

Fazendo uma crítica rápida sobre o curso de Ciência da Computação na totalidade, gostaria de ressaltar dois pontos os quais julgo que seriam extremamente benéficos para melhorar a qualidade dele. O conteúdo teórico-técnico é excelente, ainda mais se estivermos falando da "nova" grade curricular (2017), que vejo como uma grande avanço. Os pontos que gostaria de comentar são duas sugestões. A primeira delas se refere a incentivar os alunos do curso a fazerem outras disciplinas na universidade, conhecer outras vivências e pontos de vista, e entender que o mundo não se resume a números, teoremas e algoritmos. O "mundo lá fora" valoriza indivíduos tecnicamente competentes, mas que também saibam dialogar com outras áreas, traçar associações e analisar pontos de vista diferentes. Computação e matemática é legal e empolgante, mas não vejo como uma pessoa gastar todos os seus créditos de optativa livres em matérias no IME ajuda a expandir os horizontes para além do que já vemos em todas as outras disciplinas do curso.

O segundo ponto que gostaria de comentar é mais sobre meu interesse profissional, ciência de dados, e como ele vem sendo desenvolvido dentro do curso de Ciência da Computação. Apesar de o Departamento de Computação ter algumas matérias bem interessantes que tratam do assunto, existe uma série de disciplinas do departamento de estatística que são legais para esta área, e que não conseguimos fazer. Na teoria conseguiríamos, mas na prática há uma matéria de seis créditos que é pré-requisito obrigatória para todas as outras disciplinas mais interessantes. Cursos de modelos lineares, análise preditiva de séries temporais, análise de regressão, bayesiana, enfim, uma série de cursos bastante interessantes mas que na prática dificilmente será acessível para um aluno da computação. Há excelentes professores de estatística no IME, e acredito que precisam haver mais conversas entre o departamento da computação e da estatística para melhorar a situação.