Resources for incoming members
Joining the lab might be overwhelming since we work on a broad range of applied machine learning and natural language processing. As most of incoming students may come from biomedical background, learning some tools as you join the lab will be very useful later on. I listed some of the useful tools below:
Shell Script
Many times, we need it to run our scripts, move files, check files in directories, or updating packages. Understand shell scripts are very useful here. There are a lot of resources online where you can find tutorials on shell scripts (Bash, Zsh, ...). I list some of them below.
Version control
We generally use git
as our version control and store many repositories on GitHub.
Here, familiarize yourself with Git will help a lot in your code development.
There are many more tutorials today. Make sure you know all the basic git terms such as add, pull, fetch, merge, pull request.
Python
Python has been used in a lot of our development. Therefore, programming in Python is almost needed
if you decide to join the lab. There are a lot of resources on how to learn Python. Try to
learn linear algebra, data science, and machine learning with some of the Python libraries such as
numpy
, pandas
, and scikit-learn
.
Machine Learning and Deep Learning
Today, Machine Learning (ML) and Deep Learning (DL) are a popular tools to build models in many projects. Understanding the basis of these tools are useful. Make sure that you learn the core concept of learning algorithms before applying to your project. There are multiple free online classes that you can learn ML and DL such as Andrew Ng's Machine Learning, Neuromatch Academy, Deep learning's book by Goodfellow and Bengio, and more.
Recommended books
- The Science of Science, by Albert-László Barabási and Dashun Wang
- Calling Bullshit: The Art of Skepticism in a Data-Driven World by Carl Bergstrom and Jevin D. West
... I will continue adding more resources to this page.