Tại sao học máy và thống kê bổ sung cho nhau?

Bản dịch của bài viết “Are ML and Statistics Complementary?” của tác giả Max Welling, đại học Amsterdam.

Tôi từng được yêu cầu đưa ra các bình luận về chủ đề “Khoa học dữ liệu trong 50 năm tới” (Data Science in the next 50 years), và đặc biệt là mối liên hệ giữa học máy (machine learning) và thống kê (statistics). Học máy – ngành non trẻ hơn trong hai ngành, được xây dựng trên nền tảng của xác suất/thống kê, trong nhiều năm đã tiếp nhận rất nhiều “triết lý” cũng như các kỹ thuật trong thống kê. Ví dụ trong học máy, chúng ta hầu như đi theo hướng sử dụng Maximum Likelihood hoặc Bayesian trong khi ước lượng (estimation) và chúng ta sử dụng các thuật toán cực đại kỳ vọng (expectation maximization – EM) để xử lý các biến ẩn. Cũng như vậy, “trào lưu” (hype) trước kia trong học máy (trước khi “học sâu” hay deep learning ra đời) là các phương pháp Bayesian không tham số (nonparametric Bayesian methods), rõ ràng là một lĩnh vực nòng cốt trong thống kê. Cùng thời gian đó, tồn tại những sự khác biệt mang tính “văn hoá” giữa hai ngành. Trong đó ngành thống kê tập trung hơn vào các “suy diễn thống kê” (statistical inference), tức là giải thích và kiểm định các thuộc tính của một quần thể (population) dựa vào phân tích các mẫu lấy ngẫu nhiên từ đó. Học máy quan tâm nhiều hơn đến việc đưa ra các dự đoán (making prediction), mặc dù các dự đoán có thể không thể giải thích được rõ ràng (các dự đoán thuộc dạng này được biết đến như một dự đoán hộp đen – black-box prediction)

Continue reading

Advertisements

References for Graphical Models and Conditional Random Fields

[1] http://www.cs.ubc.ca/~murphyk/Software/CRF/crf.html

[2 Webpage by Hanna Wallach. http://www.inference.phy.cam.ac.uk/hmw26/crf/

[3] HCRF Library: http://sourceforge.net/projects/hcrf/

[4] CRF++ http://crfpp.googlecode.com/svn/trunk/doc/index.html

[5] Mallet: http://mallet.cs.umass.edu/

Bắt đầu học Statistical Machine Learning như thế nào?

Lược dịch từ nguồn: http://pindancing.blogspot.com/2010/01/learning-about-machine-learniing.html

Một bài tham khảo hay mặc dù theo ý kiến cá nhân mình, tác giả đã dành quá nhiều thời gian cho việc học.

***

Nếu bạn có ý định nghiên cứu/làm việc liên quan đến Machine Learning, hãy đọc bài viết này, mua một vài cuốn sách và làm việc theo lộ trình đó. Có thể bạn sẽ tiết kiệm rất nhiều thời gian, đặc biệt là khi bạn tự học.

Bước đầu tiên…

Học các kỹ thuật chứng minh trước. Bạn sẽ chẳng có bước tiến nào trừ khi bạn học được cách chứng minh.

Cuốn sách tốt nhất theo “recommendation” (của tác giả) là cuốn “How to Prove It” của Valleman

Các kiến thức nền tảng về toán học

Theo kinh nghiệm của tác giả bạn cần phải thông thạo 6 nhánh của Toán học (và tối ưu hoá)  trước khi bạn thật sự có thể làm việc được với Machine Learning.

Theo ý kiến của tác giả, cách tốt nhất là dành 1 năm trước khi bước vào nghiên cứu Machine Learning. Nhiều người cố gắng giảm bớt thời gian này nhưng thật ra sau lại phải học lại và càng tốn thời gian hơn.

(1) Giải tích

Tác giả khuyến nghị một cuốn sách ngắn khá hay của Strang. Cuốn Calculus (download free)

Hoặc các cuốn sách khó hơn như Calculus của Spivak, Principles of Mathematical Analysis của Baby Rudin

(2) Toán rời rạc.

Tác giả khuyến nghị một vài cuốn sách về toán rời rạc (của Rosen) hoặc cuốn “Introduction to Algorithm” (của Cormen)

(3) Đại số tuyến tính:

Đầu tiên đọc cuốn của Strang, sau đó lã Axler’s

(4) Xác suất

Introduction to Probability, by Bertsekas.

(5) Thống kê:

– Cuốn sách miễn phí về xác suất: http://www.openintro.org/stat/textbook.php

(6) Information Theory

Tác giả khuyến nghị cuốn của Mackay (cũng cho tải miễn phí)

(7) Convex Optimization

Phần lớn các vấn đề trong học máy thống kê đều có thể đưa về bài toán tối ưu. Kiến thức cần thiết cho người muốn nghiên cứu sâu về Machine Learning.

Một cuốn sách khá hay và miễn phí: http://www.stanford.edu/~boyd/cvxbook/

Kiến thức cơ bản về AI (Trí tuệ nhân tạo)

Cuốn của Tom Michel hoặc Russell là các cuốn tham khảo tốt

Học máy (Machine Learning)

“Pattern Recognition and Machine Learning”  của Christopher Bishop, sau đó là: “Elements of Statistical Learning” (free download).

Neural Networks:

Theo thứ tự Neural Network Design Hagan Demuth and Beale,

Neural Networks, A Comprehensive Foundation (2nd edition) – By Haykin và

Neural Networks for Pattern Recognition ( Bishop).

Đến đây bạn đã có đủ kiến thức nền tảng (background) để nghiên cứu/làm việc chuyên sâu hơn về Machine Learning.

Một số tài liệu, địa chỉ Web mà tôi sưu tập/tổng hợp được:

  1. Một Machine Learning Course khá hay của Giáo sư Adrew Ng: http://www.ml-class.org/course/class/index
    Course này bao quát khá nhiều kiến thức basic cho những người bắt đầu học như linear regression, logistics regression,… Xứng đáng để đầu tư thời gian học.
  2. Open Directory về AI: http://www.dmoz.org/Computers/Artificial_Intelligence/
  3. Nghiên cứu về Machine Learning tại ĐH Standford: http://www.archive.org/details/CC1024_artificial_intelligence
  4. Một số Video Lectures về Machine Learning: http://freescienceonline.blogspot.com/2007/07/machine-learning-and-artificial.html
  5. Learning Resources for Machine Learning

Nếu bạn có thêm các tài nguyên hữu ích, hãy share bằng cách comment ở bài blog này.

Octave – một công cụ cho tính toán số (numerical computing) mạnh

http://www.gnu.org/software/octave/index.html

Một công cụ cho tính toán khá tốt, tương tự như Matlab nhưng hoàn toàn free. Điểm mạnh của các công cụ này là support các tính toán cho dữ liệu dạng vector hoặc ma trận rất tốt.

Tool này được dùng cho nhiều course về Machine Learning tại một số trường ĐH lớn trên thế giới.

Một số tài liệu tham khảo:

[1] Manual của tool (hơn 700 trang)

http://www.gnu.org/software/octave/doc/interpreter/

[2] Wikibook

http://en.wikibooks.org/wiki/Octave_Programming_Tutorial

[3] GNU Octave Beginner’s Guide

http://www.ebookee.ws/gnu-octave-beginners-guide.html

Machine learning resourses

There are some journals dedicated machine learning

  • Journal of Machine Learning Research (http://jmlr.csail.mit.edu/)
  • Neural Computation
  • Neural Network
  • IEEE Transactions on Neural Networks
  • Annals of Statistical
  • Journal of American Statistical Association
  • Data Mining and Knowledge Discovery
  • IEE Transactions on Knowledge and Data Engineering
  • ACM Special Interest Group on Knowledge Discovery
  • Data Mining Explorations Journal

The major conferences on machine learning

  • Neural Information Processing Systems (NIPS)
  • Uncertainly in Artificial Intelligence (UAI)
  • International Conference on Machine Learning (ICML)
  • European Conference on Machine Learning (ECML)
  • Computational Learning Theory (COLT)
  • International Joint Conference on Artificial Intelligence (JICAI)

Some dataset repositories on the Internet:

UCI Repository: http://archive.ics.uci.edu/ml/

UCI KDD Archive: http://kdd.ics.uci.edu/

Delve: http://www.cs.toronto.edu/~delve/

Good place to search recent papers on machine learning: http://citeseer.ist.psu.edu/

Trang http://arxiv.org/list/stat.ML/recent