Có một bài blog gần đây khá thú vị so sánh về machine learning và statistics (của Brendan O’Connor). Những nhận xét về sự khác nhau về culture giữa hai cộng đồng nghiên cứu khá chính xác. Xem ở đây.
Tôi cũng có quan điểm khá rõ ràng về vị trí của hai chuyên ngành này, (xem: đây và đây ).
Qua bài blog này thì tôi đọc được bài viết của Leo Breiman trên Statistical Science, viết năm 2001, cũng khá thú vị. Xem ở đây
Xem thêm phần discussions, có tranh luận sôi nổi của nhiều tên tuổi khác, như Brad Efron, Emmanuel Parzen và David Cox. (Tôi rất khoái đọc phần discussions của các các tạp chí thống kê, như trông Journal of Royal Statistical Society B, Stat. Science). Học được rất nhiều quan niện và ý tưởng trong đó, mà ta không dễ dàng thấy được trong một bài báo formal. Giá mà KHMT cũng có phần discussion như vậy trong các tạp chí của mình).
Nói thêm về Leo Breiman, GS ở Berkeley (đã mất vài năm trước). Leo Breiman là một nhà thống kê tên tuổi của thế kỷ 20, một renaissance man. Điều thú vị là Leo Breiman bắt đầu là một probabilist tầm cỡ , sau đó trở thành một applied statistician, sau đó trở thành một cổ động viên nhiệt tình cho machine learning. Sự ủng hộ của một tên tuổi như Breiman cho machine learning có phần thái quá, nhưng có ích cho nhữngn người xuất thân từ ML
Tôi đồng tình với Breiman về tầm quan trọng của algorithmic modeling (tất nhiên rồi!). Breiman nhấn mạnh quan trọng của sự hiệu quả của thuật toán, prediction accuracy. Điều này, nhìn lại, thường là do các model khá đơn giản, nhưng lại vẫn có hiệu quả thuật toán và hiệu quả thống kê cao trong một số ứng dụng. Do đó Breiman muốn vứt bỏ đi model-based approach. Tôi bất đồng với quan điểm này. (Xem thêm phản hồi của Brad Efron). Tầm quan trọng của models là điều tôi học được từ statistics. Trong research statement tôi mới viết gần đây có ý: Many challenging problems in signal processing and systems can be fruitfully formulated as statistical inference with respect to some underlying model. This view emphasizes the modeling aspect of the approach and focuses on the central role of algorithm as being driven by the model, instead of being the driver.
Tất nhiên mô hình quá phức tạp, không thể verify được thì cũng vô ích. Mô hình tốt mà cồng kềnh thì không chạy thuật toán nhanh được thì cũng vô dụng. Nhưng xây dựng mô hình chính là nền tản của khoa học nói chung. Hiện tượng càng phức tạp buộc phải đòi hỏi các mô hình cũng phức tạp. Để có mô hình hữu ích và hữu dụng, ta cần nhiều công cụ toán học và xác suất, để xây dựng các mô hình mạnh, mà lại có nhiều structure cụ thể để ta có thể suy xét sử dụng (hay không). Ví dụ, ta thường nghĩ về model thông kê như là một hàm xác suất cho một nhóm các biến ngẫu nhiên. Nhưng một mô hình phức tạp hơn có thể là một hàm xác suất cho các objects phức tạp hơn, như các đồ thị, các hàm số. Thậm chí, ta còn có hàm xác suất cho tập các hàm xác suất ngẫu nhiên. Công cụ toán học cần là ở chỗ cho các stochastic processes, tuy có hành vi phức tạp, nhưng vẫn computationally manageable. Các stochastic processes này cho ta những viên gạch để xây các mô hình cho dữ liệu của các hành vi phức tạp.
Hãy hiểu rằng chúng ta đang ngày càng được bao phủ bởi các luồng dữ liệu, từ thế giới thực quanh ta thông quá các giác quan, cũng như từ các phương tiện thông tin đại chúng, từ Internet, từ laptop của bạn. Những gì ta cho là predictable được đều có thể hiểu là tuân thử theo một stochastic process nào đấy gắn kết tất cả mọi thứ với nhau.
Công cụ KHMT luôn luôn cần thiết trong modeling. Làm thế nào để diễn tả các mô hình một cách hiệu quả (data structure). Làm thế nào để inference với các mô hình đó cho tốt? Ta sẽ cần những nguyên tắc căn bản của algorithm design, như divide and conquer, modularity, recursion, memoization, v.v. Gần đây tôi có đối mặt với một số ví dụ cụ thể có liên quan đến vai trò của computation đối với sự đối chọi của frequentist và bayesian. Tôi nghĩ là computational complexity của nhiều vấn đề (và mô hình) làm cho sự đối chọi này không có nhiều ý nghĩa. Bayesians và frequentists đều có vai trò trong đó. Thông thường thì computer scientists (và machine learning researchers) rất thực dụng và không quan tâm đến mèo đen hay mèo trắng. Nhưng điều đáng nói là, computation làm cho môt số quan điểm của từng trường phái trở nên không vững vàng. Computation complexity không chỉ đơn thuần là một khái niệm về hiệu quả về thời gian hay không gian của một algorithm, mà nó gắn liền với khái niệm về độ phức tạp về information, mà qua đó sẽ chi phối quyết định của một người modeler (statisticians) cho dù anh ta khách quan hay chủ quan hay không. Sẽ quay lại cái này khi có dịp.
Quay lại với ML vs statistics. Thực ra sự phân chia giữa các chuyên ngành chỉ mang tính tương đối, và có ý nghĩa hành chính chủ yếu mà thôi. Có lẽ nên để hai ngành tiếp tục đứng riêng biệt, vì điều đó sẽ tạo ra nhiều ví trí trong job market
. Với tôi thì statistics, KHMT, và machine learning có một tương lai rất sáng, trong một thế kỷ mà càng ngày access của chúng ta với data càng nhiều, càng nhanh, càng dễ dàng, và không thể tránh được.

8 Comments
Cảm ơn bác Long,
Bài của Breiman rất thú vị. Tôi đang ở SG và có Internet ba chớp ba nháng, sẽ bình luận sau khi về Mỹ. BTW, chúc bác có nhiều job offers.
Hi ba’c Hu+ng, thich the^’. Have fun in SG!
Chúc Blog KHMT giáng sinh vui vẻ, hy vọng có nhiều bài viết hay hơn nữa (về KHMT thôi nhé ^^ chính chị chính em mệt lắm)
hi, hôm nay là boxing day, ko biết blogger có quà gì không >:)
Anh Long giỏi văn phết nhỉ
, khoái câu research statement của bác. Đồng tình với quan điểm mèo trắng hay mèo đen miễn là bắt được chuột. Trong nghành em (Machine Translation & NLP) scalability & feasibility rất là quan trọng. Về scalability, em thấy rất nhiều ML paper đề xuất các ideas xong rồi chạy experiments trên các toy dataset, đến khi áp dụng vào large dataset thi chịu ko train được vì complexity quá cao. Một trong những kinh nghiệm là em build protype translation systems trên bộ dữ liệu khoảng 5 triệu từ, rồi test các kiểu algorithms thấy cũng ngon. Đến lúc áp dụng vào data khoảng 200 triệu từ thì ngắc ngoải. Về feasibility, cái này liên quan đến inference, có khá nhiều ứng dụng trong nghành của em đòi hỏi chạy real-time, ví dụ như dịch tiếng nói-sang-tiếng nói, model càng phức tạp thì càng chạy lâu mặc dù cho kết quả tốt hơn. Chẳng hạn như nếu hệ thống dịch của em mà không xài parser thì chạy nhanh hơn khoảng 3 lần nhưng kết quả dịch thấp hơn. Bình thường đi đấu đá evaluation thì model nào cho kết quả tốt nhất thì chơi, nhưng còn thực tế sử dụng phải tinh giảm đi rất nhiều. Nên cái đoạn “Computation complexity không chỉ đơn thuần là một khái niệm về hiệu quả về thời gian hay không gian của một algorithm, mà nó gắn liền với khái niệm về độ phức tạp về information, mà qua đó sẽ chi phối quyết định của một người modeler (statisticians) cho dù anh ta khách quan hay chủ quan hay không” là hơi bị chuẩn.
Cháu có băn khoăn 1 câu. Lợi thế của dân khoa học máy tính khi nghiên cứu machine learning so với dân thống kê thuần túy là ở điểm nào ạ ?
Cháu thấy rất nhiều bất lợi của 1 người chuyên ngành CNTT khi nghiên cứu ML so với những người dân Toán hay cụ thể hơn là xác suất thuần túy.
Xin giải thích dùm cháu.
Lợi thế của dân KHMT là ở khía cạnh thuật toán, data structure trong việc xây và học mô hình. Các khái niệm trong KHMT như recursion, pointers, graphical structures thực ra có rất nhiều dấu vết trong XSTK hiện đại. Tất nhiên các lợi thế này chỉ được phát huy hiệu quả nhất khi bạn cũng học bài bản về xác suất và một số lĩnh vực khác nữa. Mà tôi thấy dân KHMT học toán nói chung rất tốt, nếu tìm được động cơ thích hợp.
Tóm lại tôi không thấy bất lợi gì so với dân toán. Nếu bạn mới bắt đầu vào graduate school thì phần nhiều kiến thức còn ở phía trước.
Chú Long có thể giải thích hay chỉ ra 1 số tài liệu liên quan hoặc chứng mình knowledge of the conditional distributions is sufficient to determine a jointdistribution (if it exists!)
Va Gibbs sampling liên hệ thế nào với EM algorithm và “imcomplete data” theory ạ ??
Xin cảm ơn chú !
Có rất nhiều tài liệu về vấn đề này trên mạng (qua homepage các lớp học về machine learning chẳng hạn), bạn có thể tìm được dễ dàng bằng google.