- Explica visualmente o processo pelo qual o computador usa técnicas de aprendizado estatístico (statistical learning) para identificar automaticamente padrões nos dados e fazer previsões
- Visualiza passo a passo o processo de criação de um modelo para distinguir casas de Nova York e São Francisco usando um conjunto de dados de moradias
- Com foco em árvore de decisão (decision tree), mostra de forma concreta o processo de aprendizado e previsão por meio de conceitos como ponto de divisão (split point), ramo (branch) e nó folha (leaf node)
- Ao aumentar a precisão do modelo, revela visualmente o problema de sobreajuste (overfitting) e explica a diferença entre dados de treinamento e dados de teste
- É um material interativo de aprendizado com visualizações projetado para permitir uma compreensão intuitiva dos conceitos centrais de machine learning
Conceitos básicos de machine learning
- Machine learning é a técnica em que o computador aplica técnicas de aprendizado estatístico para identificar automaticamente padrões nos dados e, com base nisso, fazer previsões precisas
- Como exemplo, constrói-se um modelo que classifica moradias de Nova York e São Francisco usando dados de habitação
- Esse tipo de tarefa de classificação é chamado, em machine learning, de problema de classification (classificação)
Distinção intuitiva e features
- São Francisco tem um relevo com muitas colinas, portanto maior altitude
- Por isso, a altitude (elevation) da moradia pode ser um critério útil para distinguir as duas cidades
- Por exemplo, acima de 240 pés de altitude pode-se classificar como São Francisco
- Ao adicionar também o preço por pé quadrado (price per square foot), é possível fazer uma distinção mais refinada
- Se a altitude for de 240 pés ou menos e o preço por pé quadrado for de US$ 1776 ou mais, classifica-se como Nova York
- Cada dimensão dos dados é chamada de feature (característica), predictor (variável preditora) ou variable (variável)
Fronteira (boundary) e treinamento do modelo
- É possível visualizar a fronteira em um gráfico de dispersão (scatterplot) com base na altitude e no preço
- Identificar matematicamente as fronteiras dos dados é o núcleo do aprendizado estatístico
- O conjunto de dados real tem 7 dimensões, e com base nelas o modelo é treinado (training)
- Por meio de uma matriz de gráficos de dispersão (scatterplot matrix), explora-se visualmente a relação entre as variáveis
Como funciona a árvore de decisão (Decision Tree)
- Machine learning utiliza aprendizado estatístico para encontrar padrões nos dados, e um dos métodos é a árvore de decisão
- A árvore de decisão divide os dados aplicando regras if-then com base em uma variável por vez
- Ex.: “se a altitude for maior que um certo valor, então São Francisco”
- Esses pontos de divisão são chamados de split point (ponto de divisão) e formam cada ramo (branch) da árvore
Precisão da divisão e trade-off
- A divisão inicial (por exemplo, usando 240 pés como critério) classifica incorretamente algumas casas de São Francisco (false negatives)
- Por outro lado, se tentar incluir todas as casas de São Francisco, casas de Nova York também serão incluídas (false positives)
- A melhor divisão (best split) é aquela que torna os dados de cada ramo o mais homogêneos (homogeneous) possível
- Métodos para calcular isso incluem o índice de Gini (Gini index) e a entropia cruzada (cross entropy)
Recursão (Recursion) e crescimento da árvore
- O algoritmo repete esse processo para cada subconjunto de dados e expande a árvore de forma recursiva (recursion)
- Em altitudes baixas, o preço por pé quadrado é escolhido como próxima variável de divisão; em altitudes altas, escolhe-se o preço total
- Quanto mais as divisões se repetem, maior a precisão de previsão (prediction accuracy) da árvore
- Ao adicionar um nível, chega-se a 84%; com vários níveis, a 96%
- Se todas as divisões forem adicionadas, é possível atingir 100% de precisão
- O ponto final de divisão é o nó folha (leaf node), e cada nó classifica a moradia de acordo com a classe majoritária
Previsão e validação
- A árvore de decisão treinada prevê a cidade de cada ponto de dados seguindo os ramos da árvore
- Os dados usados no treinamento são chamados de training data, e os novos dados são chamados de test data
- O modelo pode funcionar perfeitamente nos dados de treinamento, mas ter desempenho pior em dados novos
- Isso acontece por causa do sobreajuste (overfitting), porque o modelo aprendeu até detalhes desnecessários
Resumo e próximos passos
- Machine learning encontra fronteiras nos dados para identificar padrões e fazer previsões
- A árvore de decisão é um método representativo de classificação de dados por meio de regras if-then
- Sobreajuste é o fenômeno em que o modelo aprende até distinções sem significado, prejudicando a capacidade de generalização
- O próximo texto tratará da relação entre sobreajuste e o trade-off viés/variância (bias/variance tradeoff)
1 comentários
Comentários do Hacker News
Sou um dos criadores do R2D3. Fiquei feliz de ver este post hoje. Posso responder perguntas aqui ou no Bluesky
Isto é realmente uma obra-prima. Sempre que apresento machine learning, uso esta explicação interativa. Há uma coleção de materiais parecidos aqui
Já mencionei antes minha lista de recursos de aprendizado S-TIER.
S-TIER significa conteúdo com combinação perfeita de animação, visualização e elementos interativos.
A-TIER é útil, mas menos visual, e blogs baseados em opinião ficam no nível mais baixo.
Os sites S-TIER que escolhi são estes:
growingswe.com/blog, ciechanow.ski/archives, mlu-explain.github.io, seeing-theory.brown.edu, svg-tutorial.com, lumafield.com/scan-of-the-month/health-wearables
Quero criar um gerenciador de favoritos que classifique automaticamente todos os links de blogs do HN com esse critério
Dois projetos antigos meus de que gosto bastante são Fill in the Blank e Grokking
Salvei nos favoritos. A maioria dos textos explicando LLMs carece desse tipo de referência visual.
Normalmente ou é um artigo de 10 mil palavras, ou um resumo de uma linha no Twitter, e não existe meio-termo
Isto é de 2015. Foi um trabalho à frente do seu tempo, tanto tecnicamente quanto conceitualmente
Muito legal. É uma área interessante: a interseção entre visualização de dados e AI/ML.
Alguns lugares para consultar são mlu-explain.github.io, visxai.io, os explorables do Google PAIR e o poloclub da GA Tech
Queria que houvesse mais textos assim. Gosto de aprendizado visual.
Isso me lembrou o post Build Your Own React. Não é diretamente relacionado, mas é um blog com estilo parecido e fácil de acompanhar. Textos nesse formato são muito eficazes para aprender
É uma das melhores explicações de árvore de decisão que já vi.
A animação mostrando visualmente o processo de divisão enquanto você rola a página é muito mais intuitiva do que longas explicações de livro didático
Essas explicações interativas ainda são alguns dos melhores exemplos para transmitir conceitos de ML de forma intuitiva.
Essa abordagem é muito mais eficaz do que textos técnicos que começam pelas fórmulas
Fiquei curioso se existe algum material que explique conceitos mais avançados, como o mecanismo de atenção dos Transformers, no estilo do R2D3