← Back to Blog

Getting Started with Machine Learning Research

Getting into undergraduate research can feel intimidating, especially in machine learning where the field moves fast and the papers are dense. Here's how I got started and what I wish I'd known earlier.

How I found a research position

I started by looking at faculty profiles in Purdue's CS department and reading their recent publications to see whose work interested me. I emailed a few professors with a short message explaining my background, what I'd taken so far, and why their work caught my attention. One responded, and after a brief chat, I joined the lab.

The key was being specific. Instead of "I'm interested in ML," I pointed to a particular paper and asked a question about it. That showed I'd done my homework.

The learning curve

The first few weeks were mostly reading — papers, documentation, and the lab's existing codebase. I felt lost at first, but that's normal. Research code is different from course assignments: it's messier, less documented, and often involves domain-specific knowledge you have to pick up on the fly.

I found that reimplementing key parts of papers from scratch was the fastest way to actually understand them. Reading a paper gives you the high-level idea, but implementing it forces you to understand every detail.

Tools that helped

  • PyTorch — the lab's framework of choice. I went through the official tutorials before starting.
  • Weights & Biases — for experiment tracking. Being able to compare runs visually saved a lot of time.
  • Git — version control for experiments. I learned to branch per experiment and write descriptive commit messages.
  • LaTeX — for writing reports and eventually contributing to papers.

Tips for students interested in ML research

  1. Take a solid ML course first — you need the foundations (linear algebra, probability, optimization) before research makes sense.
  2. Read papers actively. Don't just skim — take notes, reproduce results, question assumptions.
  3. Start small. Your first contribution might be running baselines or cleaning data. That's fine — it builds context.
  4. Communicate regularly with your advisor. A 15-minute weekly check-in prevents you from going down the wrong path for weeks.
  5. Be patient. Research progress is non-linear. Some weeks feel unproductive, and that's part of the process.

What I've gained

Research taught me to think critically, read technical writing, design experiments, and communicate findings clearly. These skills transfer far beyond academia — they've made me a better engineer overall. If you're a CS student curious about research, I'd encourage you to try it.