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

Machine Learning Books Suggested by Michael I. Jordan from Berkeley

Các cuốn sách về Machine Learning được GS Michael I. Jordan (ĐH Berkeley) khuyến nghị. (Xem bản copy tại: http://www.statsblogs.com/2014/12/30/machine-learning-books-suggested-by-michael-i-jordan-from-berkeley/)

Honglang Wang's Blog

There has been a Machine Learning (ML) reading list of books in hacker news for a while, where Professor Michael I. Jordan recommend some books to start on ML for people who are going to devote many decades of their lives to the field, and who want to get to the research frontier fairly quickly. Recently he articulated the relationship between CS and Stats amazingly well in his recent reddit AMA, in which he also added some books that dig still further into foundational topics. I just list them here for people’s convenience and my own reference.

  • Frequentist Statistics
    1. Casella, G. and Berger, R.L. (2001). “Statistical Inference” Duxbury Press.—Intermediate-level statistics book.
    2. Ferguson, T. (1996). “A Course in Large Sample Theory” Chapman & Hall/CRC.—For a slightly more advanced book that’s quite clear on mathematical techniques.
    3. Lehmann, E. (2004). “Elements of Large-Sample Theory” Springer.—About asymptotics which is a good starting place.

View original post 317 more words

Answer on @Quora by @xamat to How do I learn machine learning?

http://qr.ae/79GFW0

I didn’t do a PhD on machine learning (was mostly focused on Signal Processing and Software Engineering) so I get this question a lot. The typical person that asks me this question is a software engineer with a computer science background, so I will address it from that perspective. If you are a Math major, for example, my answer might be less useful.

The first thing I tell someone who wants to get into machine learning is to take Andrew Ng’s online course. I think Ng’s course is very much to-the-point and very well organized, so it is a great introduction for someone wanting to get into ML. I am surprised when people tell me the course is “too basic” or “too superficial”. If they tell me that I ask them to explain the difference between Logistic Regression and Linear Kernel SVMs, PCA vs. Matrix Factorization, regularization, or gradient descent. I have interviewed candidates who claimed years of ML experience that did not know the answer to these questions. They are all clearly explained in Ng’s course. There are other online courses you can take after this one such as Mining Massive Datasets or Recommender Systems, but at this point you are mostly ready to go to the next step.

My recommended next step is the following. Get a good ML book (my list below), read the first intro chapters, and then jump to whatever chapter includes an algorithm you are interested. Once you have found that algo, dive into it, understand all the details, and, especially, implement it. In the previous online course you would already have implemented some algorithms in Octave. But, here I am talking about implementing an algorithm from scratch in a “real” programming language. You can still start with an easy one such as L2-regularized Logistic Regression, or k-means, but you should also push yourself to implement more interesting ones such as LDA (Latent Dirichlet Allocation) or SVMs. You can use a reference implementation in one of the many existing libraries to make sure you are getting comparable results, but ideally you don’t want to look at the code but actually force yourself to implement it directly from the mathematical formulation in the book.

So, what are some good books to do this? Many have been mentioned before. Some of my favorite:

You can also go directly to a research paper that introduces an algorithm or approach you are interested on and dive into it.

My main point is that machine learning is both about breadth as depth. You are expected to know the basics of the most important algorithms (see my answer to What are the top 10 data mining or machine learning algorithms?). On the other hand, you are also expected to understand low-level complicated details of algorithms and their implementation details. I think the approach I am describing addresses both these dimensions and I have seen it work.

Ý nghĩa của Machine Learning

Một discussion hay về Impact của Machine Learning.

Theo tác giả: nhiều nghiên cứu trong ML hiện nay thiếu connection với các “real-world” problem. Một số view trong bài hơi bị bias như trong phần Discussion về các obstacles mà ML community cần overcome. Tuy nhiên worth reading.

http://www.wkiri.com/research/papers/wagstaff-MLmatters-12.pdf

Bài báo này có vẻ làm cho giới ML researcher hơi động chạm. Rất nhiều comments, discussion và thậm chí 1 site đã được lập lên: http://mlimpact.com/ (trang này đã không còn) nhằm discuss về  chuyện này.

http://mloss.org/community/blog/2012/jun/20/machine-learning-already-matters/

Discussion tại ICML 2012: http://icml.cc/discuss/2012/298.html (Link died)

Quote from the paper: Cách các ML researcher và những người apply ML hay làm:

ICML 2012 conferences

2 Tutorials có vẻ hay và đáng xem:

[1] Performance Evaluation for Learning Algorithms: Techniques, Application and Issues:

Một vấn đề quan trọng khi nghiên cứu về Machine Learning là làm sao để đánh giá một phương pháp này tốt hơn hay kém hơn 1 phương pháp khác.

http://www.mohakshah.com/tutorials/icml2012/Tutorial-ICML2012/Tutorial_at_ICML_2012.html

[2] Topic Modeling by David Blei:

http://www.cs.princeton.edu/~blei/topicmodeling.html

List các accepted papers của ICML 2012 tại đây:

http://icml.cc/2012/papers/

 

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/

Một vài courses thú vị của trường Stanford (hoàn toàn free)

Gần đây, trường ĐH Stanford offer một vài online course rất thú vị, đặc biệt là hoàn toàn miễn phí.

https://www.coursera.org/landing/hub.php

Có điều để học 1 course tử tế chắc phải bỏ ra quỹ thời gian khoảng 10-15 tiếng mỗi tuần.

Có lẽ mình sẽ tranh thủ thời gian vào cuối tuần (T7, CN) hoặc thời gian rảnh để take 1-2 courses.

Một vài courses mình quan tâm:

1- Probabilistic Graphical Models: Gần đây các work có apply graphical models có vẻ tăng lên trong NLP và cũng chứng tỏ được tính hiệu quả.

2- Natural Language Processing: Do chính tác giả của cuốn sách gối đầu giường của người làm NLP dạy. Rất đáng để học.

3- Cơ sở về thiết kế thuật toán: Cũng là 1 course đáng quan tâm: https://www.coursera.org/algo/class

4- Course giới thiệu về AI: http://www.stanford.edu/class/cs221/