/ 4 min read
Writing Advice for Fledging Machine Learning Researchers
One of your goals as a scholar is to be able to produce documents/papers with high-quality, polished styles. How so? By following the tips below, and by write, write, and write.
General writing protips
DO NOT use LLMs when writing. It should only be used to proofread, i.e., after you’re done. Using an LLM to write or draft is akin to going to the gym and letting your personal trainer lift the weights for you. (True for general learning/exercises/practices.)
- 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
You can use the following editors: (i) Local LaTeX with git for collab: Check LaTeX workshop if you use VSCode, or VimTex if you use Neovim. (ii) Crixet. (ii) Overleaf.
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) -
Use
cleverefpackage.\usepackage[capitalise]{cleveref}...\begin{document}...\begin{figure}...\label{fig:one}\end{figure}...In \cref{fig:one}, we see that ...\Cref{fig:one} also ......\end{document}
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
-
“Connect” your display (i.e., separate-line) equations to the text with
%:Some text in the paragraph.%\begin{equation}f(x) = 2x + 5 ,\end{equation}%some other text. -
When referring to a math equation, use
\eqref{...}instead of\cref{...}. The style should be e.g.: “In (2), we see that …” instead of “In Equation 2, we see that …“. -
Do not number equation that is not being referred to. Use
\begin{equation*}instead.
Bibliography
Citations
- Always use
natbib! Two ways of citing:- ”… has been done before [4].” — in this case, you use
\citepand write... has been done before \citep{someone2024}. - “Someone et al, 2024 has done …” — in this case, you use
\citetand 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
journalinstead ofbooktitle. - Additionally,
volumeandnumbermust be included.
- Use
- Example:
@inproceedings{kristiadi2024sober, title={ A Sober Look at {LLMs} for Material Discovery: {A}re They Actually Good for {B}ayesian Optimization Over Molecules? }, author={ Kristiadi, Agustinus and Strieth-Kalthoff, Felix and Skreta, Marta and Poupart, Pascal and Aspuru-Guzik, Al\'{a}n and Pleiss, Geoff }, booktitle={ICML}, year={2024}}