Bài học đầu tiên, ví dụ về cuộc đời học ML của một developer từ begining:
https://ongxuanhong.wordpress.com/2017/05/18/con-duong-hoc-tap-machine-learning-cua-toi/
Blog tiếng Việt
http://machinelearningcoban.com/
https://ongxuanhong.wordpress.com/
Lộ trình học ML của Nam Nguyen theo hướng thực hành trước lí thuyết sau
https://github.com/ZuzooVn/machine-learning-for-software-engineers#dont-feel-you-arent-smart-enough
Lộ trình học của Đỗ Phúc Hảo: Series học Machine learning của Đỗ Phúc Hảo
Học lí thuyết
Khóa học Andrew Ng Căn bản Data scientist
https://www.coursera.org/learn/machine-learning
Học thực hành
tensorflow
https://www.youtube.com/playlist?list=PLOU2XLYxmsIIuiBfYad6rFYQU_jL2ryal
Một số bài viết áp dụng ML
neutral neron sample
Chuẩn đoán tiểu đường
Đếm số lượng vật thể
real time object detection
Find songs
Sau khi học xong có thể bắt đầu làm nhiều thứ, tùy sở thích, và thường các thứ này được làm song song:
- Thử sức với các competition, nổi bật là Kaggle (https://www.kaggle.com/), để biết được 1 bài toán ML thực tế hơn thì nó sẽ như thế nào. Trang này hình như cũng cho tích điểm thì phải. Nếu nhiều điểm thì hay được mấy công ty gạ về làm.
- Chọn 1 bài toán thực tế và làm. Có thể làm lại mấy bài toán “hot” rồi xem mình làm thực tế nó sẽ ra sao. Ví dụ như dịch Anh-Việt tự động, nhận dạng khuân mặt, nhận dạng giọng nói, artify 1 bức ảnh, … Đại khái là nhiều. Ai mà làm tốt, kiếm ối tiền.
- Học căn bản: cái này quan trọng nhưng mình lại để thành 1 option kiểu này bởi có lẽ ít người chịu học căn bản. Học căn bản thì khó hơn, nhưng theo mình cái này mới đưa bạn lên 1 tầm khác được, thay vì bị cuốn theo nhưng cái hot. ML có ít nhất 4 trụ cột:
- Linear Algebra (đại số tuyến tính): dùng để biểu diễn. Giống như ảnh biêủ diễn bằng matrix, words biểu diễn bằng vector. Ai đọc 1 tý sẽ thấy toàn biến đổi matrix với vector. 1 course rất tốt để học là course của MIT, dạy bởi Prof. Gilbert Strang(https://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/). Có thể đọc thêm sách của chính ổng.
- Probability and Statistics (Xác suất thống kê): dùng để duy diễn (inference). Giống như các bạn muốn predict hay suggestion ấy. 1 statistical model thường được dùng để biểu diễn bài toán của các bạn và mục tiêu sẽ là ước luượng các đại lượng của model đó. Statistics 110 của Harvard là 1 course rất hay, super hay thì đúng hơn (https://projects.iq.harvard.edu/stat110/home).
- (Convex) Optimization (tối ưu): dùng để tìm ra giá trị của các đại lượng các bạn cần tìm trong statistical model của mình. Course của Stanford rất hay (http://stanford.edu/class/ee364a/).
- Computer Science: hiểu biết về khoa học máy tính để code giải thuật, chạy xử lý data, đọc ghi database, nhiều hơn thì phải tính toán song song, phân tán, xử lý lỗi hệ thống….
Một bài toán ML thường sẽ trải qua các bước:
- Xây dựng mô hình thống kê cho bài toán để xem mình có gì, mình cần tính gì.
- Biểu diễn các đối tượng dưới dạng vector, matrix
- Biến đổi về dạng 1 bài toán tối ưu để tính các giá trị của mô hình thống kê.
- Code, test và lặp đi lặp lại