gitmyhub

ML-NLP

Jupyter Notebook ★ 18k updated 5mo ago

此项目是机器学习(Machine Learning)、深度学习(Deep Learning)、NLP面试中常考到的知识点和代码实现,也是作为一个算法工程师必会的理论基础知识。

A structured study and revision collection for machine learning, deep learning, and NLP job interviews, covering theory and hands-on code examples across classic algorithms, neural networks, and modern language models.

PythonJupyter Notebooksetup: easycomplexity 2/5

ML-NLP is a study-and-revision collection aimed at people preparing for machine-learning, deep-learning, and natural-language-processing job interviews, particularly in China. The author treats it as foundational theory an algorithm engineer is expected to know, arranged in numbered modules so a reader can dip in for review or work through as a curriculum. Each chapter focuses on a topic interviews tend to probe, and most chapters end with hands-on code that connects the math to a working implementation.

The machine-learning module covers classic supervised methods: linear regression, logistic regression, decision trees, random forests, gradient-boosted trees, XGBoost, LightGBM, and support vector machines, followed by probabilistic graphical models (Bayesian networks, Markov, topic models), expectation-maximization, clustering, feature engineering, and k-nearest neighbours. The deep-learning module walks through neural networks, convolutional networks, recurrent networks, GRUs, LSTMs, transfer learning, reinforcement learning, and optimization. The NLP module covers word embeddings (Word2Vec, fastText, GloVe), text-classification models like textRNN and textCNN, seq2seq, attention, and the Transformer family including BERT and XLNet. A projects section sketches applied examples: recommendation, intelligent customer service, knowledge graphs, and sentiment analysis.

Someone would use this repository to refresh interview topics quickly, build a personal knowledge map, or fill gaps before tackling a specific algorithm. The materials are Markdown explanations alongside Jupyter Notebooks for code, and the project is updated continuously and welcomes contributions.

Where it fits