Machine Learning Specialization (Andrew Ng)

Essa playlist é o meu caderno de anotações público enquanto estudo a Machine Learning Specialization, do Andrew Ng (DeepLearning.AI / Stanford), provavelmente o curso mais recomendado pra quem tá começando em ML.

A ideia aqui não é só "resolver o notebook e seguir". Cada lab do curso vira um post onde eu reconto o que entendi, com metáfora, exemplo do dia a dia, e claro, o nome técnico certo, porque isso você vai precisar quando for procurar mais coisa sobre o assunto depois.

Começamos pelo começo: representar o modelo mais simples que existe, a regressão linear com uma variável.

Playlists · 18 posts

  1. Lab Opcional: Representação do Modelo

    O modelo mais simples de Machine Learning que existe, f(x) = wx + b, esmiuçado: por que reta, o que w e b significam de verdade, e por que 'achar os parâmetros na mão' não escala.

  2. Lab Opcional: a Função de Custo

    Como colocar um número no quanto um modelo erra: J(w,b), por que ao quadrado, por que dividir por 2m, e por que a superfície de custo é sempre uma tigela.

  3. Lab Opcional: Gradiente Descendente

    O algoritmo que desce sozinho até o fundo da tigela de custo: a matemática por trás do gradiente descendente, o que acontece quando a taxa de aprendizado é grande demais, e por que ele para sozinho perto do mínimo.

  4. NumPy e Vetorização

    Por que todo código sério de ML usa NumPy em vez de lista Python: vetores, matrizes, produto escalar, e a diferença real (não a lenda) entre laço e conta vetorizada.

  5. Só pra complementar: Funções de Perda (MSE, MAE, Huber)

    Por que a gente elevou o erro ao quadrado lá no post 2, e o que acontece se a gente escolher diferente: MAE, Huber, e o impacto real que um único outlier tem em cada escolha.

  6. Normalização de Features e Taxa de Aprendizado

    Por que o mesmo gradiente descendente que funcionou liso até aqui quebra assim que uma feature tem escala bem diferente das outras, e como um truque de estatística básica resolve isso de vez.

  7. Engenharia de Features e Regressão Polinomial

    Como fazer a mesma regressão linear de sempre ajustar curvas, criando features novas em vez de trocar de algoritmo, e por que isso me obrigou a encarar de vez o overfitting.

  8. Regressão Linear com Scikit-Learn

    Depois de construir gradiente descendente, normalização e engenharia de features na mão, finalmente uso o scikit-learn, e descubro que o modelo 'padrão' do curso esconde duas surpresas que ninguém avisa.

  9. Classificação: Por que Regressão Não Basta

    Semana 3, Lab 1: o curso mostra, de um jeito bem visual, o mesmo problema que eu já tinha visto de outro ângulo lá na playlist de Reconhecimento de Padrões: usar regressão linear pra classificar funciona até aparecer o ponto errado.

  10. A Função Sigmoide: Botando um Teto na Regressão

    Semana 3, Lab 2: a saída da regressão linear não tinha teto, então o curso enfia ela dentro de uma função que sempre devolve algo entre 0 e 1. A sigmoide é isso: um jeito de espremer qualquer número numa probabilidade.

  11. Fronteira de Decisão: Onde a Sigmoide Muda de Ideia

    Semana 3, Lab 3: com duas variáveis de entrada, dá pra desenhar exatamente onde o modelo troca de decisão. Essa linha (ou curva) tem nome: fronteira de decisão, e ela mora inteirinha dentro da parte linear do modelo, antes da sigmoide entrar em cena.

  12. Erro Quadrático Não Serve Aqui: a Perda Logística

    Semana 3, Lab 4: a mesma função de custo que funcionava tão bem pra regressão linear vira uma superfície cheia de platôs quando espremida atrás de uma sigmoide. A solução é trocar de função de perda, não de modelo.

  13. Da Perda pro Custo: Somando o Erro de Todo Mundo

    Semana 3, Lab 5: a perda logística mede o erro de um paciente só. O custo soma essa perda pra todo o conjunto de treino numa única função, a que gradiente descendente vai minimizar. Um exemplo real mostra como o custo enxerga uma fronteira pior antes mesmo de eu olhar o gráfico.

  14. O Gradiente Descendente Não Precisou Aprender Nada de Novo

    Semana 3, Lab 6: depois de sigmoide, fronteira de decisão, perda e custo logísticos, falta só uma peça pra treinar de verdade. E a notícia boa é que essa peça já existe desde a Semana 1: o mesmo loop de gradiente descendente, só que descendo um morro diferente.

  15. O Que Levou Seis Labs, o Scikit-Learn Faz em Três Linhas

    Semana 3, Lab 7: sigmoide, fronteira de decisão, perda, custo e gradiente descendente, tudo escrito à mão nos últimos seis labs, vira import, fit, predict. E a comparação com o sklearn de verdade entrega um spoiler do próximo assunto da matéria.

  16. Decorou a Prova, Não Aprendeu a Matéria

    Semana 3, Lab 8: um modelo flexível demais não aprende o padrão, ele decora cada ponto do treino de cor. Pra regressão isso já apareceu antes; aqui a mesma decoreba ganha uma cara nova, uma fronteira de decisão que serpenteia em volta de cada paciente em vez de separar as classes de verdade.

  17. Regularização: Deixa Todas as Features, Só Não Deixa Nenhuma Mandar Demais

    Semana 3, Lab 9: das três saídas pro overfitting listadas no lab passado, essa é a mais usada na prática. Em vez de cortar features, eu deixo todas e só freio o quanto cada peso pode crescer. Fecho com o gancho que essa mesma ideia, aplicada a duas features mapeadas em polinômio, é exatamente o que a tarefa avaliada da semana pede pra implementar do zero.

  18. Do Primeiro wx+b até Aqui: Fechando o Curso

    20 posts depois, o primeiro curso da especialização (Regressão e Classificação Supervisionada) acabou. Uma revisão do que ficou de pé, o certificado, e o que essa playlist me ensinou sobre reaproveitar a mesma ferramenta em vez de aprender uma nova a cada capítulo.