Re-implement all programming assignments in the course Machine Learning by Prof Andrew Ng on Coursera in Python programming language.
Author: Pham Quang Nhat Minh
Cài đặt lại các bài tập lập trình của khoá học Machine Learning trên coursera bằng ngôn ngữ Python (giáo sư Andrew Ng giảng). Thông qua project này, tôi có cơ hội "refresh" kiến thức Machine Learning của mình và rèn luyện tay nghề lập trình Python, đặc biệt là nâng cao kinh nghiệm sử dụng thư viện cho tính toán khoa học trong python như scikit-learn, numpy, scipy, matplotlib - các thư viện rất tiện dụng của python, theo tôi có thể tương đương với Matlab.
Note: Trên Firefox, các công thức toán học trong ipython notebook bị lỗi hiển thị. Safari và Chrome không gặp vấn đề về hiển thị công thức toán học.
- Linear Regression
- Logistic Regression
- Multi-class Classification and Neural Networks
- Neural Network Learning
- Regularized Linear Regression and Bias/Variance
- Support Vector Machines
- K-Means Clustering and PCA
- Anomaly Detection and Recommender Systems
Đề bài: ex1.pdf
Xem ipython notebook tại LinearRegression.ipynb
Đề bài: ex2.pdf
Xem ipython notebook tại LogisticRegression.ipynb
Đề bài: ex3.pdf
Xem ipython notebook tại Multi-class_NN.ipynb
Python script cho phần Multi-class Classification với Logistic Regression.
Python script để hiển thị 100 chữ viết tay: display_image.py.
Đề bài: ex4.pdf
Xem ipython note tại Neural_Networks_Learning.ipynb
Xem python script tại Neural_Networks_Learning.py
Đề bài: ex5.pdf
Lời khuyên (của GS Andrew Ng) khi vận dụng Machine Learning trong các bài toán thực tế: ML-advice.pdf
Xem python script regularized_linear_regression.py.
Note: Do có sự khác nhau về các thuật toán tối ưu hoá nên kết quả cài đặt bằng python có thể có sai khác so với cài đặt bằng octave. Hiện tại tôi chưa biết cách khắc phục do chưa biết các hàm tối ưu hoá tương đương với hàm fmincg
trong octave.
Đề bài gốc của khoá học (tiếng Anh): ex6.pdf
Python script cho phần Support Vector Machines
Python script cho phần Spam Classification
SVM Notes ghi lại những điểm mình thấy quan trọng trong Support Vector Machines.
Đề bài: ex7.pdf
Python script cho phần K-Means
Python script cho phần Principal Component Analysis
Đề bài ex8.pdf
Xem lại slide bài giảng phần Anomaly Detection tại Lecture15.pdf.
Phần Recommender Systems, xem slide bài giảng tại Lecture16.pdf
Python script cho phần Anomaly Detection tại anomaly_detection.py
Python script cho phần Recommender Systems tại recommender_system.py
- CS 229 Machine Learning Course Materials. Bao gồm Handouts, Lecture Notes và Section Notes của khoá học. Nội dung của khoá học được tóm tắt, hệ thống hoá nên rất tiện cho việc tham khảo.
- Stanford Machine Learning trên trang [holehouse dot org], tài liệu này có thể hữu ích nhưng không hữu ích bằng Lecture Notes của khoá học CS 229.
- Multivariate Gaussian Distribution, trên Wikipedia. Kiến thức này được sử dụng trong anomaly detection để xác định các outliers trong dữ liệu.
- How to make beautiful data visualizations in Python with matplotlib, by Randy Olson.