A apresentação abordou o aprendizado de máquina usando árvores de decisão, definindo o aprendizado de máquina como a capacidade de aprender sem programação explícita e dividindo-o em supervisionado e não-supervisionado. Árvores de decisão classificam ou regressam dados de acordo com condições em seus nós e folhas, sendo rápidas, interpretáveis porém propensas a overfitting.
A apresentação abordou o aprendizado de máquina usando árvores de decisão, definindo o aprendizado de máquina como a capacidade de aprender sem programação explícita e dividindo-o em supervisionado e não-supervisionado. Árvores de decisão classificam ou regressam dados de acordo com condições em seus nós e folhas, sendo rápidas, interpretáveis porém propensas a overfitting.
A apresentação abordou o aprendizado de máquina usando árvores de decisão, definindo o aprendizado de máquina como a capacidade de aprender sem programação explícita e dividindo-o em supervisionado e não-supervisionado. Árvores de decisão classificam ou regressam dados de acordo com condições em seus nós e folhas, sendo rápidas, interpretáveis porém propensas a overfitting.
A apresentação foi ministrada pelo Dayvid Castro, 27 anos, residente da cidade de
Recife-PE com formações em Bacharel em Sistemas de Informação, Mestre em Engenharia da Computação e Doutorando em Ciência da Computação e trabalha atualmente na ZBRA como desenvolvedor de software. Ele inicia abordando que uma das formas de enxergar o aprendizado de máquina é simplesmente como subcampo da área de inteligência artificial (IA) e a IA é um termo que usamos para descrever todas essas técnicas, métodos, abordagens que são desenvolvidos para realizar tarefas que geralmente elas precisam de inteligência humana e é nesse contexto que a área de aprendizado de máquina se encaixa Machine Learning É o complemento de duas definições, a primeira de Arthur Samuel afirma “campo de estudo que dá aos computadores a habilidade de aprender sem ser explicitamente programado”. A segunda da NVIDIA afirma “é a prática de usar algoritmos para analisar dados, aprender com eles e, em seguida, fazer uma determinação ou previsão sobre algo no mundo”. Onde uma atribui a forma de aprender sem programar de forma explicita e outra afirma que esse processo de aprendizagem é a partir dos dados. A partir disso, o consegue-se fazer o paralelo entre engenharia de software tradicional e machine learning. Na programação tradicional a gente tem a entrada, uma lógica escrita, que é o programa que os programadores escrevem e resulta em uma saída, que seria a computação. Já o machine learning tem uma entrada, associada a essa entrada tem um resultado esperado e esses dados serão usados para criar um programa e com isso podemos passar a alimentar esse programa com novas entradas para que nos gere novos resultados. O machine learning tem duas grandes subáreas: Não-superviosionado É quando só obtemos dados de entrada, a gente não tem respostas esperadas associadas a esses dados de entrada, onde queremos que o processo de aprendizagem seja de forma autônoma, sem surpervisão. Superviosionado Nesse, obtemos tanto entrada quanto as respostas esperadas associadas a esses dados de entrada, devido a isso, podemos supervisionar o processo de aprendizagem. Ele pode ser dividido em dois problemas: Classificação: a saída é discreta, pode ser definida em termos de categoria ou classes. Regressão: a saída é contínua. Árvore de decisão Elas apresentam uma grande relevância, pois em uma pesquisa feita pela Kaggle, que é uma das maiores plataformas de IA, onde entrevistou mais de 25 mil cientistas de dados e engenheiros de machine learning e, responderam quais os algoritmos e métodos que eles mais utilizavam em seu trabalho e árvore de decisão ficou na segunda colocação. Suas características são: Podem ser usados tanto para classificação, que quando tem categorias definidas, quanto para regressão quando tem uma saída contínua. A função de mapeamento, E/S que é aprendida por esse tipo de algoritmo, é representada por uma árvore. Também entendida pelo como conjunto de condicionais “se/então”. Estrutura Composta por nós de decisão e folhas. Tem o primeiro nó, na qual é chamado de nó raíz, que ele é o nó com melhor desempenho e a partir dele, segue o processo top- down que irão levar a outros nós de decisão, até que atinja as folhas, que são os nós que não apresentam filhos. Para cada nó de decisão, uma condição será testada e cada folha representa uma decisão tomada. Como definir os nós de decisão Para defini-los vai precisar da medida de impuridade, pois ao construir uma árvore de decisão estamos constantemente analisando um grupo de amostras e precisa-se dessa medida de impuridade para identificar se um determinado grupo de amostras ele é homogêneo ou não. Uma métrica de impuridade é a entropia. Uma forma de interpretá-la como uma medida de incerteza. A partir dela, consegue-se calcular uma métrica que é bem importante para construir uma árvore de decisão que é chamado de ganho de informação. Ganho de informação fornece a redução esperada da entropia ao usar um determinado atributo como nó de decisão. Algoritmo Iterative Dichotomiser 3 (ID3) ID3 foi um algoritmo criado em 1986 por J. R. Quilan. Ele funciona primeiro selecionando atributos que melhor classificam os exemplos de decisão, depois cria um nó para cada atributo escolhido e depois transporta os exemplos para cada nó filho. Se todos os exemplos do nó se referirem a mesma classe, o nó é convertido em folha, senão, o procedimento é repetido até constituir a árvore completa. Ferramentas Algumas ferramentas úteis para construção de árvores de decisão são: scikit learn, dmlc XGBoost, LightGBM, CatBoost. Vantagens de Árvores de Decisão As principais vantagens de se utilizar árvores de decisão são os fatos delas requirirem uma preparação de dados mínima, além disso são muito rápidas e muito interpretáveis. Desvantagens de Árvores de Decisão As principais desvantagens relacionadas ao uso de árvores de decisão são que elas são limitadas à dados estruturados, portando não é possível alimentá-las com dados estruturados, como imagens. Além disso, árvores de decisão podem ter suas estruturas muito alteradas com qualquer simples mudança nos dados. Por fim, outra desvantagem das árvores são que elas tendem à overfitting, que é o excesso de ajustes nos dados, ocasionando em más generalizações. Uma forma de se lidar com o overfitting são combinar opiniões de diferentes árvores, e existem diferentes formas de se fazer isso, como Gradient Boosted Trees ou Ramdom Forest. Conclusões Concluímos, portanto, que árvores de decisão são uma ótima ferramenta visual que facilita o entendimento de algoritmos de decisão, apesar das suas desvantagens, são muito aplicáveis e importante no aprendizado de máquina.