
Thanks for the feedback about SELENE (public learning resource)
A small milestone: SELENE has reached 200 starts on GitHub!
Since GitHub stars are currently my main source of feedback, and I'm sure that many of those come form this community: Thanks a lot!
Just as a quick reminder: SELENE is a public repository of Jupyter notebooks covering topics around AI, ML/DL, NLP, data mining, data science. What started out as interactive lecture notes for my courses as NUS, has slowly grown to something the might be useful for anyone starting to learn about these topics.
The current focus is on the fundamentals, so the target audience are beginners but who are comfortable with basic math (linear algebra, calculus, probability theory). Here is a crude overview to some of the topics (the links go to the HTML version of the notebooks)
- Traditional models: Linear Regression [1,2,3], Logistic Regression [1,2], Multinomial Naive Bayes, Decision Trees / CART [1,2], Random Forests, Boosting Methods (AdaBoost, Gradient Boosted Machines, XGBoost, LightGBM, CatBoost)
- Neural network models: basics / MLPs (incl Backpropagation [1,2]), RNNs (incl. Backpropagation Through Time), Training a NumPy-only MLP
- Neural network components: linear layer, residual connections, layer normalization, dropout, mixture-of-experts
- Transformers: attention mechanism, transformer architecture, positional encodings [1,2,3], masking
- LLMs: language models [1,2], RAG [1,2], fine-tuning [1,2], training an LLM from scratch, efficiency strategies, data preparation
- Optimizers: Gradient Descent with Momentum, RMSProp, AdaGrad, Adam
- NLP basics: tokenization (incl. Byte-Pair Encoding and WordPiece), normalization, lemmatization & stemming, embeddings (overview, Word2Vec [1,2])
There is an overview page for all topics with links to the HTML version, the GitHub repo, as well to open each notebook directly in Google Colab. We are also in the process of building a web interface to help navigate topics and suggest learning paths.
SELENE will continue to grow. Right now, I'm working on time series analysis and classical statistical models (e.g., AR, ARMA, ARIMA) – I want to cover this topic in my data mining course in the upcoming semester :).