Computer Science › Inteligência + Teoria
A divisão em três que organiza todo o campo do machine learning (supervisionado, que aprende com exemplos rotulados; não supervisionado, que encontra estrutura sem rótulo algum; e por reforço, que aprende com recompensas por meio de interação) e por que esta disciplina cobre os dois primeiros em profundidade, apontando para material já publicado no caso do terceiro.
Antes de escrever um único algoritmo de aprendizado, a pergunta honesta com que esta disciplina começa é se dá para confiar que uma regra aprendida a partir de uma amostra finita de dados vai funcionar em dados que ela nunca viu. O limite de Hoeffding dá uma resposta real e quantitativa.
A disciplina prática que transforma a pergunta da generalização em algo que dá para medir de fato. Separar dados nos quais o modelo nunca treina e nunca tocar no verdadeiro conjunto de teste até que todas as outras decisões já estejam tomadas.
O modelo mais usado de toda a estatística e do machine learning chega aqui sem matemática nova alguma. Ele é exatamente o problema da equação normal já resolvido, geometricamente e por otimização, na disciplina de álgebra linear deste currículo, agora reenquadrado como previsão em dados não vistos.
Por que minimizar o erro quadrático não é uma escolha arbitrária. Supondo que o ruído em torno da reta verdadeira tenha distribuição normal, maximizar a verossimilhança dos dados observados produz exatamente a mesma solução de mínimos quadrados já derivada geometricamente.
Transformar o gradiente informal já apresentado na disciplina de álgebra linear deste currículo num algoritmo iterativo completo, que dá passos repetidos no sentido oposto ao gradiente até atingir o mínimo de uma função de perda. É a técnica de otimização à qual quase todo modelo desta disciplina acaba se reduzindo.
Adaptar a maquinaria de modelo linear mais gradient descent recém-construída a uma tarefa fundamentalmente diferente (prever uma categoria, e não um número), espremendo um escore linear por uma sigmoide e traçando a fronteira onde ela cruza um meio.
Uma segunda forma, genuinamente diferente, de classificar. Em vez de modelar diretamente a fronteira de decisão (como faz a regressão logística), modela-se como cada classe gera seus dados e deixa-se o teorema de Bayes (já visto por completo com um exemplo real de teste diagnóstico) transformar isso numa previsão.
Decompor o erro de previsão de um modelo em duas fontes concorrentes (o viés, de um modelo simples demais para capturar o padrão verdadeiro, e a variância, de um modelo tão flexível que ajusta o ruído), com uma decomposição numérica real resolvida, e não só a história qualitativa.
Uma medida precisa de quanto uma classe de modelos pode sofrer overfitting antes mesmo de ver qualquer dado. A dimensão VC conta o maior conjunto de pontos que um modelo consegue fragmentar (shatter) e prevê diretamente quantos dados são necessários para aprender de forma confiável.
Combater o overfitting diretamente penalizando pesos grandes na função de perda. A penalidade circular e suave da regressão ridge encolhe um pouco cada peso, enquanto a penalidade em forma de losango do lasso consegue encolher alguns pesos exatamente a zero, uma diferença geométrica real com consequências reais.
Como extrair uma estimativa confiável do verdadeiro erro de generalização de um modelo a partir de um único conjunto de dados finito. A validação cruzada k-fold treina e valida em todas as divisões possíveis e depois tira a média, para que nenhuma divisão sortuda ou azarada decida sozinha qual modelo vence.
Por que a acurácia bruta mente em dados desbalanceados, e as métricas derivadas da matriz de confusão (precisão, recall, F1 e a troca entre taxa de verdadeiros positivos e de falsos positivos da curva ROC) pelas quais um classificador real precisa de fato ser julgado.
Um classificador construído com nada mais exótico que a árvore binária já vista como estrutura de dados. Aqui, cada divisão é escolhida pela feature e pelo limiar que mais reduzem a impureza, produzindo um modelo que um humano consegue ler direto da página.
Combinar muitas árvores individualmente fracas ou com overfitting num único modelo forte. O bagging tira a média de muitas árvores independentes e de alta variância para cancelar seu ruído, enquanto o boosting constrói árvores em sequência, cada uma corrigindo os erros da anterior.
Escolher não uma reta qualquer que separe duas classes, mas aquela com a maior margem possível dos dois lados. O punhado de pontos que essa margem de fato toca, os vetores de suporte, são os únicos dados dos quais o classificador final depende.
Fazer um classificador linear separar dados que nem são linearmente separáveis, trocando todo produto escalar (a única operação que as SVMs de fato usam) por uma função kernel que calcula o mesmo valor que se obteria se os dados tivessem sido mapeados para um espaço de dimensão muito maior, sem nunca construir esse espaço.
O primeiro algoritmo não supervisionado desta disciplina. Sem rótulo algum, ele alterna entre atribuir cada ponto ao mais próximo de k centros de cluster e recalcular cada centro como a média dos pontos atribuídos a ele, até nada mais se mover.
Uma generalização mais suave e probabilística do k-means, em que cada ponto recebe uma probabilidade de pertencer a cada uma de várias distribuições normais sobrepostas, ajustadas alternando entre estimar essas probabilidades (passo E) e reajustar as distribuições para corresponder a elas (passo M).
Comprimir dados de alta dimensão em suas poucas direções mais informativas, que são literalmente os autovetores da própria matriz de covariância dos dados. É a garantia exata sobre matrizes simétricas já provada na disciplina de álgebra linear deste currículo, agora posta em uso direto.
O algoritmo de aprendizado mais antigo deste bloco e o ancestral direto de toda rede neural. Uma única unidade linear com limiar que ajusta os próprios pesos, um exemplo classificado errado por vez, até (se os dados forem linearmente separáveis) convergir exatamente.
Empilhar unidades parecidas com o perceptron em camadas e trocar o limiar rígido por uma função de ativação suave basta para escapar do limite fundamental do perceptron isolado, que só consegue traçar uma linha reta. É exatamente o ponto em que esta disciplina para de propósito, passando o bastão para uma disciplina dedicada de deep learning.
Um percurso de encerramento que compara todas as famílias de modelos vistas nesta disciplina (regressão, classificadores generativos e discriminativos, árvores e ensembles, SVMs, clusterização e redes neurais) por interpretabilidade, tamanho dos dados e não linearidade, e valida a escolha final de ponta a ponta.
Part of the Computer Science curriculum.
A divisão em três que organiza todo o campo do machine learning (supervisionado, que aprende com exemplos rotulados; não supervisionado, que encontra estrutura sem rótulo algum; e por reforço, que aprende com recompensas por meio de interação) e por que esta disciplina cobre os dois primeiros em profundidade, apontando para material já publicado no caso do terceiro.
Antes de escrever um único algoritmo de aprendizado, a pergunta honesta com que esta disciplina começa é se dá para confiar que uma regra aprendida a partir de uma amostra finita de dados vai funcionar em dados que ela nunca viu. O limite de Hoeffding dá uma resposta real e quantitativa.
A disciplina prática que transforma a pergunta da generalização em algo que dá para medir de fato. Separar dados nos quais o modelo nunca treina e nunca tocar no verdadeiro conjunto de teste até que todas as outras decisões já estejam tomadas.
O modelo mais usado de toda a estatística e do machine learning chega aqui sem matemática nova alguma. Ele é exatamente o problema da equação normal já resolvido, geometricamente e por otimização, na disciplina de álgebra linear deste currículo, agora reenquadrado como previsão em dados não vistos.
Por que minimizar o erro quadrático não é uma escolha arbitrária. Supondo que o ruído em torno da reta verdadeira tenha distribuição normal, maximizar a verossimilhança dos dados observados produz exatamente a mesma solução de mínimos quadrados já derivada geometricamente.
Transformar o gradiente informal já apresentado na disciplina de álgebra linear deste currículo num algoritmo iterativo completo, que dá passos repetidos no sentido oposto ao gradiente até atingir o mínimo de uma função de perda. É a técnica de otimização à qual quase todo modelo desta disciplina acaba se reduzindo.
Adaptar a maquinaria de modelo linear mais gradient descent recém-construída a uma tarefa fundamentalmente diferente (prever uma categoria, e não um número), espremendo um escore linear por uma sigmoide e traçando a fronteira onde ela cruza um meio.
Uma segunda forma, genuinamente diferente, de classificar. Em vez de modelar diretamente a fronteira de decisão (como faz a regressão logística), modela-se como cada classe gera seus dados e deixa-se o teorema de Bayes (já visto por completo com um exemplo real de teste diagnóstico) transformar isso numa previsão.
Decompor o erro de previsão de um modelo em duas fontes concorrentes (o viés, de um modelo simples demais para capturar o padrão verdadeiro, e a variância, de um modelo tão flexível que ajusta o ruído), com uma decomposição numérica real resolvida, e não só a história qualitativa.
Uma medida precisa de quanto uma classe de modelos pode sofrer overfitting antes mesmo de ver qualquer dado. A dimensão VC conta o maior conjunto de pontos que um modelo consegue fragmentar (shatter) e prevê diretamente quantos dados são necessários para aprender de forma confiável.
Combater o overfitting diretamente penalizando pesos grandes na função de perda. A penalidade circular e suave da regressão ridge encolhe um pouco cada peso, enquanto a penalidade em forma de losango do lasso consegue encolher alguns pesos exatamente a zero, uma diferença geométrica real com consequências reais.
Como extrair uma estimativa confiável do verdadeiro erro de generalização de um modelo a partir de um único conjunto de dados finito. A validação cruzada k-fold treina e valida em todas as divisões possíveis e depois tira a média, para que nenhuma divisão sortuda ou azarada decida sozinha qual modelo vence.
Por que a acurácia bruta mente em dados desbalanceados, e as métricas derivadas da matriz de confusão (precisão, recall, F1 e a troca entre taxa de verdadeiros positivos e de falsos positivos da curva ROC) pelas quais um classificador real precisa de fato ser julgado.
Um classificador construído com nada mais exótico que a árvore binária já vista como estrutura de dados. Aqui, cada divisão é escolhida pela feature e pelo limiar que mais reduzem a impureza, produzindo um modelo que um humano consegue ler direto da página.
Combinar muitas árvores individualmente fracas ou com overfitting num único modelo forte. O bagging tira a média de muitas árvores independentes e de alta variância para cancelar seu ruído, enquanto o boosting constrói árvores em sequência, cada uma corrigindo os erros da anterior.
Escolher não uma reta qualquer que separe duas classes, mas aquela com a maior margem possível dos dois lados. O punhado de pontos que essa margem de fato toca, os vetores de suporte, são os únicos dados dos quais o classificador final depende.
Fazer um classificador linear separar dados que nem são linearmente separáveis, trocando todo produto escalar (a única operação que as SVMs de fato usam) por uma função kernel que calcula o mesmo valor que se obteria se os dados tivessem sido mapeados para um espaço de dimensão muito maior, sem nunca construir esse espaço.
O primeiro algoritmo não supervisionado desta disciplina. Sem rótulo algum, ele alterna entre atribuir cada ponto ao mais próximo de k centros de cluster e recalcular cada centro como a média dos pontos atribuídos a ele, até nada mais se mover.
Uma generalização mais suave e probabilística do k-means, em que cada ponto recebe uma probabilidade de pertencer a cada uma de várias distribuições normais sobrepostas, ajustadas alternando entre estimar essas probabilidades (passo E) e reajustar as distribuições para corresponder a elas (passo M).
Comprimir dados de alta dimensão em suas poucas direções mais informativas, que são literalmente os autovetores da própria matriz de covariância dos dados. É a garantia exata sobre matrizes simétricas já provada na disciplina de álgebra linear deste currículo, agora posta em uso direto.
O algoritmo de aprendizado mais antigo deste bloco e o ancestral direto de toda rede neural. Uma única unidade linear com limiar que ajusta os próprios pesos, um exemplo classificado errado por vez, até (se os dados forem linearmente separáveis) convergir exatamente.
Empilhar unidades parecidas com o perceptron em camadas e trocar o limiar rígido por uma função de ativação suave basta para escapar do limite fundamental do perceptron isolado, que só consegue traçar uma linha reta. É exatamente o ponto em que esta disciplina para de propósito, passando o bastão para uma disciplina dedicada de deep learning.
Um percurso de encerramento que compara todas as famílias de modelos vistas nesta disciplina (regressão, classificadores generativos e discriminativos, árvores e ensembles, SVMs, clusterização e redes neurais) por interpretabilidade, tamanho dos dados e não linearidade, e valida a escolha final de ponta a ponta.