Skip to content

Latest commit

 

History

30 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Atividades de Aprendizado de Máquina - 2025

Este repositório contém uma coleção de atividades práticas desenvolvidas na disciplina de Aprendizado de Máquina, abrangendo uma variedade de técnicas e algoritmos fundamentais da área.

Estrutura do Repositório

O repositório está organizado em três listas de exercícios, cada одна focada em diferentes aspectos do aprendizado de máquina:

  • Lista_01: Classificação com k-NN
  • Lista_02: Validação Cruzada e Regressão
  • Lista_03: Redução de Dimensionalidade e Redes Neurais

Conteúdo Detalhado

Lista_01: Classificação com k-NN no MNIST

Nesta primeira lista, o foco é a implementação e avaliação do algoritmo k-Nearest Neighbors (k-NN) para um problema de classificação de imagens.

  • HW1 - Sillas Rocha.ipynb: Este notebook contém a implementação do k-NN do zero, utilizando a distância Euclidiana. O algoritmo é aplicado ao dataset MNIST para a classificação de dígitos manuscritos. A análise inclui:
    • Teste de acurácia para diferentes valores de k (de 1 a 5).
    • Visualização e análise da variância dos pixels das imagens para entender a distribuição dos dados.
    • Exibição e comentário sobre as imagens que foram classificadas incorretamente.

Lista_02: Validação Cruzada, Regressão Linear e k-NN para Regressão

A segunda lista de exercícios aprofunda-se em técnicas de validação de modelos e algoritmos de regressão.

  • Ex02 - Sillas Rocha.ipynb: O notebook aborda:
    • Validação Cruzada: Para a escolha do hiperparâmetro de regularização c em um modelo de Regressão Linear com penalização L2 (Ridge).
    • Regressão com k-NN: Aplicação do k-NN para predição de valores contínuos.
    • Nested Cross-Validation: Uma implementação de validação cruzada aninhada para comparar o desempenho da Regressão Ridge com o k-NN Regressor no dataset California Housing.
    • Gradiente Descendente Estocástico (SGD): Implementação do SGD para otimizar um modelo de regressão linear.

Lista_03: Redução de Dimensionalidade e Redes Neurais

A terceira lista explora tópicos mais avançados, incluindo redução de dimensionalidade e redes neurais profundas.

  • Ex03 - Sillas Rocha.ipynb: Este notebook é dividido em duas partes principais:
    1. Análise de Componentes Principais (PCA):
      • Implementação do PCA do zero para redução de dimensionalidade.
      • Aplicação no dataset Penguins para projetar os dados em 2D.
      • Cálculo da variância explicada para diferentes números de componentes.
      • Comparação dos resultados com a implementação da biblioteca scikit-learn.
    2. Redes Neurais com PyTorch:
      • Autoencoder: Construção de um autoencoder para o dataset MNIST, com o objetivo de aprender uma representação latente em 2D e visualizar os embeddings.
      • Rede Neural Convolucional (CNN): Treinamento de uma CNN para classificação de imagens do dataset CIFAR-10, incluindo uma busca por hiperparâmetros (taxa de aprendizado e decaimento de peso) e uso de early stopping.
      • Inferência Bayesiana: Utilização da Aproximação de Laplace e Inferência Variacional para estimar a incerteza em um modelo de regressão logística no dataset de câncer de mama.

Arquivos e Diretórios

  • Lista_01/, Lista_02/, Lista_03/: Diretórios contendo os notebooks e dados para cada lista de exercícios.
  • *.ipynb: Notebooks Jupyter com o código, análises e respostas de cada exercício.
  • penguins.csv: Dataset utilizado no exercício de PCA da Lista 03.
  • .gitignore, pyproject.toml, uv.lock, LICENSE, .python-version: Arquivos de configuração e licença do projeto.

About

Machine Learning coursework (FGV 2025.1) featuring supervised learning, clustering, decision trees, and model evaluation.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Contributors

Languages