Tổng hợp tài liệu học Machine learning

Bài học đầu tiên, ví dụ về cuộc đời học ML của một developer từ begining

Con đường học tập Machine Learning của tôi

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

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

 

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