/ 3 min read
Writing Advice for Fledging Machine Learning Researchers
General writing protips
- DO: Write before you even do any experiment.
- Your initial draft = hypothesis
- Experiments = observations
- Update your draft based on your experiments = posterior
- Rinse lather repeat
- DON’T: Leave everything to the last minute, esp. writing.
- DON’T: Wait until the last minute to submit your paper.
- Server overload is a thing.
- DO: Read widely and a lot (in English!): novels, nonfictions, popular science, etc.
- DO: Take pride of your work and paper. It’s your life’s work.
- Haphazard, low-effort, inconsistent-styling paper signals to the reader that you yourself don’t care.
- Why should they care about your work then?
- DO: See paper-writing as a craft. Always hone your craftmanship.
- DO: Obsess over styling (see below).
- DO: Read math books and appreciate the typography & styling.
- DO: Have a blog site. Publish several in-depth blog posts per year.
- DON’T: Be afraid of people think you’re dumb based on your blog posts.
- See my blog post archive from 2016 — they’re so simple and embarassing.
LaTeX protips
General
- One line = one sentence
- This will make debugging easier, due to how LaTeX shows errors
- Quotation marks: Instead of
"something"
, write``something''
(2 backtics & 2 standard ticks)
Styles
Figures
- Must always fill the full paper width (or column width).
- Use my library.
- For figures with multiple subplots, avoid creating a single pdf file for each subplot. Instead, follow this
- If you think they are not appropriate for full width, use wrapfig.
- See also how to do this with my plotting library.
Tables
- Always use booktabs instead of standard table. See this.
- Like figures, must also always fill the full width. See how.
- Also, like figures, use wraptable if your table is not appropriate for full width.
Maths
- Math macros: Use this
and add your own often-used math definitions
- So, gone are the days where you need to write
\mathbf{x}
again and again. Instead you could just write\vx
.
- So, gone are the days where you need to write
Bibliography
Citations
- Always use
natbib
! Two ways of citing:- ”… has been done before [4].” — in this case, you use
\citep
and write... has been done before \citep{someone2024}
. - “Someone et al, 2024 has done …” — in this case, you use
\citet
and write\citet{someone2024} has done ...
- ”… has been done before [4].” — in this case, you use
References / bibtex
- Rule to live by: Dirty, inconsistent, low-effort reference list signals to the reader that you don’t care. Why should they care about your work?
- Don’t just copy-paste from Google Scholar! Always recheck & edit!
- E.g. make sure the proper capitalization:
- Instead of:
title={Introduction to Bayesian optimization}
- Write this:
title={Introduction to {B}ayesian optimization}
- I.e., always surround the character that needs to be capitalized
with
{ }
- Instead of:
- Venue precedence if a publication appears in multiple venues
(top = most prioritized):
- Journal
- Conference
- Workshop/symposium
- ArXiv/preprint
- For well-known ML conferences, simply use their abbreviations.
- E.g. “Advances in Neural Information Processing Systems 35” -> “NeurIPS”.
- For conference, use
@inproceedings
.- The only fields needed are
title
,author
,booktitle
, andyear
. - No need for other things like
page
,editor
, etc.
- The only fields needed are
- For journal/ArXiv, use
@article
.- Use
journal
instead ofbooktitle
. - Additionally,
volume
andnumber
must be included.
- Use
- Example: