machine learning,

Học toán cho Machine learning như thế nào?

Việt Anh Việt Anh Bài viết Sep 15, 2019 · 5 phút đọc
Học toán cho Machine learning như thế nào?
Chia sẻ

Thực tế hiện nay chúng ta có thể dễ dàng tạo ra các ứng dụng học máy mà không cần nhiều kiến thức toán học và cũng không cần hiểu rõ cách thứ mọi thành phần hoạt động do các thư viện, framework như Keras, Tensorflow, PyTorch đã hỗ trợ chúng ta rất nhiều. Tuy vậy, để thực sự hiểu, tối ưu được các model và làm những task phức tạp hơn, bạn vẫn cần đến toán. Bài viết này sẽ liệt kê một số tài liệu / khoá học có thể được sử dụng để học các kiến thức toán cần thiết cho Machine learning.

Ở bài viết này, mình sẽ chia việc học toán thành 2 hướng: Học để làm machine learning ứng dụngHọc để làm nghiên cứu về machine learning.

Để làm Machine learning ứng dụng, bạn vẫn cần biết các kiến thức về đại số và giải tích và xác suất thống kê cơ bản để có cái nhìn tổng quan về thuật toán. Dù có thể không hiểu sâu về các thuật toán, bạn vẫn có thể hiểu được qua qua cách các thuật toán hoạt động.

Để làm nghiên cứu về machine learning, bạn buộc phải có nền tảng toán học tốt trước tiên. Công việc của bạn có thể là đọc các paper về machine learning, deep learning và chuyển chúng thành code có thể chạy được. Nghiên cứu ở đây không phải là bạn cần làm cái gì đó mới và viết cái paper. Trong bài viết này, việc nghiên cứu trước hết là đọc và implement lại các kết quả của người khác.

Có 3 loại toán cần thiết cho machine learning:

1
2
3
- Đại số tuyến tính
- Giải tích
- Xác suất thống kê 

1. Học đại số tuyến tính cho machine learning

Ở đại số, bạn sẽ cần học các tính toán trên ma trận, là nền tảng để phát triển các thuật toán machine learning, deep learning hiện nay.

Các bài toán machine learning thường có nhiều chiều dữ liệu, và cách biểu diễn tốt nhất là dùng các ma trận.

Linear Algebra - Khan
Machine learning ứng dụng: Khan Academy
Học đại số ở Khan Academy rất dễ hiểu, trực quan. Hầu hết các kiến thức quan trọng đều được dạy ở khoá học này.
Linear Algebra - MIT
Machine learning nghiên cứu: Khoá học mở của MIT
Khoá học Linear Algebra - đại số của MIT sẽ cung cấp các kiến thức hoàn chỉnh nhất về đại số tuyến tính. Tuy nhiên khoá học này hơi dài và yêu cầu kiên trì để theo đuổi.

Một tài liệu về đại số tuyền tính rất trực quan, theo kiểu tương tác là cuốn “sách” immersive linear algebra.

Ngoài ra tài liệu tham khảo The Matrix Cookbook (PDF) cũng được nhiều trang web recommend cho người dùng, và mình nghĩ đó cũng là một tài liệu tra cứu rất tốt.

2. Học giải tích cho machine learning

Việc học giải tích rất cần thiết cho các thuật toán về tối ưu - optimization.

Tương tự, việc học môn giải tích cũng có các khoá học tương tứng của Khan Academy và MIT.

Multivariable calculus - Khan
Machine learning ứng dụng: Khan Academy
Multivariable calculus ở Khan Academy cung cấp các kiến thức cơ bản về giải tích đa biến.
Multivariable calculus - MIT
Machine learning nghiên cứu: Khoá học mở của MIT
Khoá học Multivariable calculus - giải tích đa biến của MIT sẽ cung cấp các kiến thức hoàn chỉnh nhất về giải tích đa biến để bạn đọc các tài liệu, paper về machine learning.

3. Học xác suất thống kê cho machine learning

Xác suất thống kê rất cần để học về sự phân bố dữ liệu, tối ưu việc training. Từ các tài liệu, khoá học machine learning cơ bản đã sử dụng nhiều công thức toán thống kê mà các bạn cần phải học Xác suất thống kê trước mới có thể hiểu được.

Statistics and probability - Khan
Khoá học Statistics and probability - Khan Academy
Bạn có thể học xác suất thống kê từ khoá học này của Khan Academy, kết hợp đọc tài liệu ôn tập Toán của anh Vũ Hữu Tiệp phía dưới.

4. Các tài liệu khác

  • Tài liệu toán của sách Machine learning cơ bản - Vũ Hữu Tiệp. Các bạn ở Việt Nam chắc nhiều bạn cũng nghe qua tên của cuốn sách này. Phần tổng hợp các kiến thức toán học, bao gồm cả đại số, giải tích và xác suất thống kê đều ở trong file pdf này: https://github.com/tiepvupsu/tiepvupsu.github.io/blob/master/ML_math.pdf. Tài liệu này được tác giả chia sẻ miễn phí.

Trên đây là tổng hợp các nguồn học Toán phục vụ cho Machine learning của mình. Mình nghĩ là việc học toán không khó, chỉ cần kiên trì và thời gian. Các bạn có góp ý gì, hoặc tìm được nguồn hay hơn, vui lòng chia sẻ bên dưới để mọi người cùng biết. Cảm ơn và chúc các bạn thành công!

Tham khảo

Đăng ký nhận bài viết mới
Đăng ký nhận bài viết mới qua email