Lessons from learning foreign languages

Hadrien
September 2018

Polygot Myths

  • “Polygots are naturally gifted”
  • “Polygots have incredible memories”
  • “Polygots have more free time than normal people”

Polygot Truths

  • “Polygots have discovered specific hacks for learning and memorizing languages which you can also use”

Working memory vs. long term memory

  • working memory: limited space
  • long term memory: a quadrillion connections (15,000,000,000,000,000)

The purpose of forgetting

egg

# loading data into short-term memory
# morning breakfast... yesterday's breakfast.... mom's pet chicken...
# ...
# cannot allocate vector of size 3.1 gb

What is that function again?

Memory: it's normal to forget

  • Choose what you want to remember
  • Apply memory techniques to remember that information

Your brain knows what's important

“du sens et de l'éclat” - Sebastien Martinez, France memory champion since 2015

  • Does it have meaning?
  • Is it memorable?
  • How often does it need to be retrieved?

The Forgetting Curve

plot of chunk unnamed-chunk-1

\[ R=e^{- \frac{t}{S}} \]

\( R \) is retrievability, a measure of how easy it is to retrieve a piece of information from memory. \( S \) is stability of memory, which determines how fast \( R \) falls over time in absence of training, testing, or other recall. \( t \) represents time.

The Forgetting Curve: reticulate

  • reticulate is an R interface to python
  • Python objects can be accessed from R by calling the variable py$object_name
  • R objects can be accessed from Python by calling the variable r.object_name

Recall vs. Review

Would you rather study a list of foreign words (or R functions) for 10 minutes or study the list for 5 minutes and trade it for a blank sheet of paper and pencil (or keyboard)?

Interval length

  • there is a complex balance between the advantages of nearly forgetting and the disadvantages of actually forgetting

Practice recalling now

  • What is the reticulate package?
  • How would you access a Python object, x, created in a Python chunk, from R with the reticulate package?
  • How would you access a R object, x, created in a R chunk, from Python with the reticulate package?

Strategies for taking advantage of the spacing effect

  • Rule of thumb: recall 2x on day 1, 1x on day 2, 1x the week after
  • Use technology to help you: Spaced Repition System software, such as Anki
  • Increase the stickyness factor \( S \): write code you wish to remember rather than copy, increase your understanding.

Word frequency lists