machine learning hay statistics? (1)

Khi tôi đang học đại học ở Postech và tìm một đề tài nghiên cứu tốt nghiệp, tôi làm quen với machine learning một cách tự nhiên. Mặc dù thích cả về lý thuyết thuật toán, nhưng ngày đó machine learning nghe sexy hơn nhiều. Tưởng tượng xem, tôi học ngành máy học (hay học máy nhỉ). Những năm 90 vẫn còn đọng lại dư âm cái hype của những neural networks và genetic algorithms bắt đầu từ thập niên 80. Ôi chà, những thuật toán có cảm hứng từ sinh học. Những lãng mạn từ “2001: A space odyssey” và MIT Robotics lab của Rodney Brook… Ông thầy vung vẩy tờ bìa Tạp chí Nature với cái tít “thế kỷ của brain science“, và tất nhiên tin học sẽ luôn là xe đò trong các khoa học tự nhiên và ứng dụng. This is it! Neural networks và genetic algorithms. Có rất nhiều tạp chí và conference, thậm chí cả PhD program được tập trung vào những lĩnh vực này. Thậm chí có rất nhiều người đã cao giọng khái quát hóa NNs và GAs thành các “paradigm”, “architecture” của trí tuệ nhân tạo trong tương lai. Rất nhiều chương trình nghiên cứu, như của thầy hướng dẫn thời undergraduate của tôi, chỉ xoay vần khá chật vật quanh mô hình này.

Ngày nay, NNs và GAs không còn nằm ở trung tâm của nghiên cứu machine learning hay artificial intelligence nữa. Một cách công bằng, NNs và GAs có thể coi là những dạng mô hình học hữu ích trong nhiều áp dụng thực tế. Nhưng chúng không phải là paradigm tổng quát gì cả, mà cũng có những hạn chế như rất nhiều mô hình thống kê khác. Không có gì bí ẩn tại sao các thuật toán NNs hay GAs lại work và không work. Thế mạnh và yếu đều được hiểu một cách khá cặn kẽ từ nền tảng thống kê cổ điển và hiện đại (classical và modern statistics), lý thuyết xác suất, lý thuyết xấp xỉ, v.v.

Có lẽ đóng góp lịch sử lớn nhất của NNs và GAs là sự hấp dẫn, mới lạ và sự hiệu quả của những phương pháp này. Chúng thu hút một số lượng lớn rất nhiều các kỹ sư, các nhà khoa học thực nghiệm và tính toán, vật lý lý thuyết, … tất cả những ai phải xử lý số lượng dữ liệu lớn và nhiều chiều. Những người này đã quan tâm đến và góp phần phát triển tiếp machine learning. Họ thường không ngại ngần gì với những data sets khổng lồ. Họ cần những giải pháp computation hữu hiệu, nhưng không thích quá nhiều assumption cứng nhắc về dữ liệu. Họ thực dụng, và không bị lệ thuộc vào các mô hình thống kê cổ điển giáo điều. Họ quả cảm và năng động chứ không máy móc như các nhà thống kê cổ điển. Và cũng giống như fashion, machine learning vẫn tiếp tục sexy, nhưng cái hype không còn là NNs hay GAs mà chuyển sang các mô hình thống kê khác, như graphical models (Bayes nets), support vector machines, các mô hình nonparametric Bayes, v.v.

Đó là một câu chuyện sơ lược về machine learning. Các ứng dụng của machine learning thường thú vị và bất ngờ, hương pháp áp dụng thường là những heuristic thông minh, nhưng lại ad hoc. Để phân tích và phát triển tiếp thì machine learning phải dựa vào nền tảng vững chắc của thống kê. Nếu bạn là một sinh viên đại học hoặc bắt đầu học cao học và muốn nghiên cứu về machine learning, thì phải học xác suất thống kê cho vững. Nếu không có thể bị chóng mặt bởi một đống fashionable algorithms của nó.

Vậy về mặt tri thức, machine learning và thống kê khác nhau ở điểm gì?

Đối với tôi, không hề có sự khác biệt mà chúng là một. Có thể nói đây là vision mà tôi chia sẻ với không ít người khác. Theo tôi, cả hai ngành đều cùng phát triển và sẽ hội tụ về thành một điểm trong tương lai. Gọi nó là statistical machine learning, hoặc computational statistics gì đều được. Đóng góp của statistics có tính chất nền tảng trong việc xử lý uncertainty, xử lý noise trong dữ liệu. Đóng góp của machine learning nói riêng và KHMT nói chung là sự chú trọng đến khía cạnh thuật toán và hiệu quả tính toán.

Trước đây thống kê cổ điển không chú trọng nhiều đến khía cạnh computation này, nên các sản phẩm của họ (dưới dạng statistical tests hoặc linear estimation procedures) thường có tính chất về computation rất đơn giản. Do đó chúng chỉ áp dụng được cho các data set rất nhỏ, mặc dù chúng có hiệu quả thống kê rất tốt về mặt lý thuyết; hoặc nếu data set lớn thì chỉ hữu ích khi chúng tuân thủ theo các assumption rất khắc nghiệt. Nhưng sự phát triển không ngừng của KHMT và những thành công của machine learning là cho các nhà thống kê học giật mình, và họ bắt đầu giang rộng vòng tay đón nhận machine learning như một lĩnh vực tiên phong trong statistics, sẵn sàng đón nhận những thách thức về computation bên cạnh độ hiệu quả về thống kê.

Quả thực sự phát triển của machine learning như thổi một luồng gió mới vào chính ngành statistics, làm cho nó sexy hơn. Một mặt khác, nhưng người làm về machine learning cũng cảm thấy cần thiết phải quay lại với những nền tảng của statistics để hiểu và gọt rũa các phương pháp heuristic của họ một cách hoàn chỉnh, và bớt đi phần ad hoc hơn.

Rồi bạn sẽ thấy ngày càng ít những phát biểu kiểu như: “My approach is neural network based, not a statistical one“. Trái lại bạn sẽ nghe thấy các nhà thống kê học nói nhiều hơn đến “algorithms” và “data structure”, còn dân KHMT sẽ nói nhiều đến “statistical analysis”. Bạn nào học machine learning khi trả lời phỏng vấn visa ở lãnh sự quán Mỹ, muốn tránh phiền phức với các chuyên ngành nhạy cảm (như AI, machine learning, vision, robotics,…) có thể thật thà theo giải pháp của tôi: nghiên cứu về statistical computer science Nói với tay lãnh sự rằng, it’s fun, it’s sexy, but not at all sensitive 🙂

Chủ đề : Nghiên cứu nghiên kiếc, Thuật ngữ chuyên ngành, Trí tuệ nhân tạo, Xác suất & thống kêBookmark the permalink. Trackbacks are closed, but you can post a comment.

16 Comments

  1. cuonghuyto
    Posted 16/03/2007 at 5:55 am | Permalink

    Bác Long,
    Tôi quả thật muốn tìm hiểu về
    – Sự áp dụng của Log-linear model, tôi không chắc rằng nó và Logistic Regression là một hay không, chỉ biết nó có tên gọi khác là Maximum Entropy. Sự khác biệt giữa Log-linear model và Bayes model được ET Jaynes đề cập đến trong “Probability: The logic of science”, tuy nhiên quả thật tôi cũng thấy rất mơ hồ về sự khác biệt này. Gần đây trong ngành Statistical Machine Learning, LL Model outperformed Bayes model, với sự tiên phong của FJ Och và Hermann Ney, hiện nay FJ Och đang làm leader nhóm Machine Translation của Google. Tuy nhiên, khi tôi nói chuyện với Bill Byrne http://mi.eng.cam.ac.uk/~wjb31/, anh ấy tỏ vẻ không tin vào LL model, và nói rằng: “Nhiều người cứ hay nói đến Feature Function trong LL Model, nhưng not many ones understand what a Feature Function is”. Tôi cho rằng nhiều researchers của Statistical Machine Learning (theo thuật ngữ của bác) vẫn có cái nhìn hoài nghi với LL model. Cá nhân tôi thì cho rằng LL Model là sexy (mượn lời của bác Long)
    – Sự phát triển mạnh của Computational Neuroscience có đem lại điều gì mới mẻ cho Statistical Machine Learning không? Tôi mới để ý đến Comp. Neuro gần đây, và vẫn chưa nắm được các ý chính của nó.

    Bests

  2. Posted 16/03/2007 at 6:56 am | Permalink

    @Cuong: Loglinear model va logistic regression đều thuộc họ GLIM (generalized linear models), mỗi thứ sẽ thích hợp với một việc khác nhau. Các sách basic về statistical models đều cover cả.

    Re: log-linear model và Bayes model. Tôi chưa đọc Jaynes’s book nên không comment. Tuy nhiên nếu bạn muốn nói Bayes model là Bayesian models? hay generative Bayesian models? Và log-linear model là một ví dụ cụ thể của discriminative model? Nếu câu hỏi là “Bayesian generative models vs. discriminative models” thì câu trả lời của tôi là “there is no answer”. Tôi không tin vào chuyện một mô hình tốt hơn một mô hình khác. Đây là một vấn đề practical. Tùy thuộc vào data và domain knowledge. Còn Bayesian vs. frequentist methodology? Cũng không có câu trả lời đâu. Tùy vấn đề mà cách nhìn này hữu ích hơn cách kia. Trừ khi bạn nói chuyện triết lý (mà có vẻ như đây là cái mà Jaynes hướng tới). Tôi nhìn nhận chuyện này một cách pragmatic.

    LL model is sexy? Tôi không nghĩ là như vậy. Với tôi đó chỉ là một model, không hơn không kém. Bài blog trên tôi nói đến sexy theo nghĩa perception chung của rất nhiều người. Nhưng kỳ thực cá nhân tôi không nghĩ là có bất kỳ một mô hình nào là sexy cả, mặc dù có thể có một số machine learning researchers (hoặc rất nhiều) hay chạy theo một mô hình nào đó mà họ cho là sexy. Một câu nói hay được nhắc là, all models are wrong, but some are useful. Nhưng tôi cũng xin chua thêm là, some are useful *some time*.

    Re: Computational Neuroscience: Tôi coi đây là một application domain thú vị để model neural data, và useful theo nghĩa đó. Có thể có insight từ neuroscience được dùng để giúp cho việc tạo ra models thú vị hơn, giải thích được data và dùng để predict tốt hơn. Quả thực có khá nhiều collaboration giữa dân neuroscience và dân statistics/machine learning. Nhưng tôi không kỳ vọng là neuroscience sẽ tạo ra cái mới mẻ ngược lại cho SML.

  3. cuonghuyto
    Posted 16/03/2007 at 4:22 pm | Permalink

    Cảm ơn bác Long, tôi sẽ quay lại discuss chi tiết hơn sắp tới.

    Từ chuyện bác nói “Bayesian vs. frequentist”, tôi liên tưởng đến một thời tôi đọc ở đâu đó về Probability vs. Fuzzy, Lại nhân chuyện bác nói “All models are wrong”, tôi cho rằng Fuzzy hay Prob cũng chỉ là cách ta model the real world thôi.

    Nhân tiện tôi thử rephrase lại câu trên thành “All models are wrong, some are more useful than the others on some applications”.

    Tôi tạm nghĩ rằng E.T. Jaynes chỉ discuss Maximum Entropy vs. Bayes method, trên bài toán sau:

    “We have a feature vector X which we want to assign a label Y.
    Bayesian method will try to estimate p(Y|X)=p(X|Y).p(Y)/p(X), i.e. we base on the datapoint’s likelihood p(X|Y) to find its posterior probability p(Y|X).

    The maximum entropy method will try to estimate directly p(Y|X)=\frac{exp[\sum_{m=1}^M{lambda_m * H(Y,X)}]}{\sum_Y'{exp[\sum_{m=1}^M{lambda_m * H(Y’,X)}]}}, that is, to try to describe p(Y|X) discriminately using the “feature functions” H(Y,X)”

    Đó là phần cơ bản nhất của sự hiểu của tôi về mối quan hệ Maximum Entropy vs. Bayesian Model. 2 models này chắc nằm trong mối quan hệ so sánh discriminative/generative. Tên “Maximum Entropy” được Jaynes dùng trong “The logic of science”, và được dân NLP dùng, ngoài ra nó đôi khi được gọi với tên Log-Linear (trong các papers liên quan đến ngành Machine Translation)

    Một teacher của tôi nói rằng: “They are stupid calling log-linear as Maximum Entropy”, tôi thì chưa hiểu sự stupidity này.

    Tôi cho rằng Log-Linear sexy hơn Bayesian (generative?) model, vì

    a. Nó tổng quát hơn BG ở chỗ: các feature functions H đều có thể là p(X|Y) hoặc p(Y)
    b. Nó cho phép dùng weight parameters, trong khi tích p(X|Y).p(Y) thì 2 weight đó đều là 1 (hình như ta cũng có thể dùng weight khác 1 với 2 thành phần của tích này, mà mô hình vẫn được gọi là Bayesian Generative model, tôi không rõ lắm)

    Mô hình Log-Linear này được trained thế nào thì tôi vẫn chưa hiểu rõ, chỉ đọc được rằng ta có thể “train as many as 10^6 feature functions” (In particular, the use of discriminative training techniques based on millions of features seems to be promising http://www.elda.org/tcstar-workshop_2006/pdfs/keynotes/tcstar06_och.pdf)

    Rất có thể tôi đã lẫn lộn giữa các khái niệm, so sánh không ngang hàng nhau ở đâu đó. Mong bác chỉ bảo.

  4. Posted 16/03/2007 at 7:35 pm | Permalink

    Hi Cường — log-linear model chỉ là một mô hình khá đơn giản và phù hợp với một số domain như text hay dữ liệu dạng string. So sánh log-linear model với các mô hình Bayes là khập khiễng, giống như so sánh gà có đuôi tím ở rừng U Minh với các loài vât sống ở rừng Cúc Phương vậy. Các mô hình generative hierachical Bayes rất phức tạp hơn nhiều. Các mô hình discriminative như log-linear chỉ là một layer, nhưng ngày nay người ta cũng có những mô hình discriminative có nhiều layer hơn.

    Dù dùng discriminative models hay generative models thì ngày nay đều có thể deal được với số lượng features rất lớn. Log-linear models có thể có nhiều features chính vì nó đơn giản và chỉ có một layer, nên về mặt computation thì rất hiệu quả. Nhưng trong nhiều ứng dụng thì nó không đủ để capture những quan hệ phức tạp hơn. Khi đó phải đòi hỏi đến hierchical models (generative hay discriminative gì cũng được).

    Thầy Cường nói đúng đó: It’s stupid naive to say log-linear model as maximum entropy. Mặc dù log-linear model có tính chất appealing là đó chính là mô hình có maximum entropy nếu ta có moment constraints. Nhưng không phải lúc nào đó cũng là mô hình tốt. Đó là mô hình tối giản khi ta không còn thông tin nào khác tốt hơn về data ngoài các moment constraints. Nhưng như ai đó trên đã nói, vấn đề là moment với các feature nào. Đó là cả một vấn đề. Và đôi khi, ta có những knowledge hữu ích hơn thì sao. Cái nhìn lành mạnh, với tôi, là coi maximum entropy là một phương pháp để estimate mô hình. Nhưng còn có các phương pháp estimation khác nữa, gom chung là M-estimators (maximizing a risk functional) mà maximum entropy chỉ là một phương pháp đặc biệt trong đó. Nhiều người chỉ biết mỗi maximum entropy method nên họ chỉ dùng nó và tán dương nó lên thành “principle”, v.v.

  5. Posted 16/03/2007 at 8:03 pm | Permalink

    Tôi tóm tắt một số khái niệm ngang hàng nhau hay gặp trong machine learning/statistics, hy vọng giúp cho ai đó.

    Frequentist methodology vs. Bayesian methodology: Nói về methodology là nói về cả models và inference methods. Ở đây tôi không bàn đến philosophy.

    Generative models vs. discriminative models: Generative model là mô hình xác suất mô tả distribution của observed data X, viết dưới dạng

    P(X|\theta)

    , với

    \theta

    là tham số. Discriminative models là một dạng mô hình mô ta một functional relationship X

    \rightarrow

    Y, ví dụ

    P(Y|X,\theta)

    , hoặc

    Y = f(X,\theta) + \epsilon

    . Trong trường hợp này cả X và Y đều đã được observe. Generative models có thể là Bayesian hoặc frequentist models đều được. Nếu là Bayesian models thì sẽ có prior distribution cho

    \theta

    và inference bằng cách tính posterior distribution. Còn nếu là frequentist models thì

    \theta

    chỉ là một giá trị chưa biết, có thể dùng các phương pháp estimation như M-estimation (maximum likelihood, maximum some risk functional) để tìm chúng. Discriminative models thường là frequentist model, nhưng cũng không hẳn, cũng có cả Bayesian discriminative models nữa.

    Maximum entropy, maximum likelihood, least square, blah blah: Ca’c phương pháp dùng để estimate các tham số cho các mô hình frequentist. Chúng cùng một rọ gọi là M-estimation (estimate by maximizing risk functional). Với mô hình Bayesian thì họ không estimate các tham số, vì các tham số bản thân chúng là random, nên họ phải tính posterior distribution của các tham số ngẫu nhiên.

    Log-linear model: Một dạng mô hình discriminative trong họ của generalized linear model. Như cái tên gợi ý, nó phức tạp hơn mô hình linear một tẹo. Trong công thức ở trên, hàm số

     f(x,\theta)

    có thể viết dưới dạng exponential của linear form. Nhưng còn vô vàn các mô hình discriminative/generative and/or bayesian/frequentist hierachical/one-layer v.v. Đó là cả một rừng thú, nghiên cứu sáng tạo về chúng cũng tiến hóa cùng thời gian.

  6. cuonghuyto
    Posted 17/03/2007 at 1:34 pm | Permalink

    Cảm ơn bác Long đã chỉ dẫn. Tôi sẽ quay lại vấn đề này sau khi đọc lại

    Test latex \frac{x}{y}

  7. cuonghuyto
    Posted 17/03/2007 at 1:39 pm | Permalink

    Sorry, tôi theo http://faq.wordpress.com/2007/02/18/can-i-put-math-or-equations-in-my-posts/ và thử gõ mã Latex trong $$ thì không được. Bác Hưng có cài gì đặc biệt trên WordPress folder không vậy ?

  8. Posted 17/03/2007 at 2:00 pm | Permalink

    Gõ [ tex ] \frac{x}{y} [ /tex ] (không có blank space trong từ khóa) để được

    \frac{x}{y}
  9. Posted 17/03/2007 at 2:17 pm | Permalink

    @Cường: tôi dùng Latexrender plugin. Cái Latex bác dẫn ở trên chỉ dùng được với các blog do wordpress.com hosts mà thôi.Với Latexrender, bác chỉ cần bỏ biểu thức toán vào [ tex ] … [ /tex ] (không có khoảng trống giữa các dấu ngoặc vuông và chữ tex).

  10. Posted 18/03/2007 at 5:09 am | Permalink

    Đóng góp của statistics có tính chất nền tảng trong việc xử lý uncertainty, xử lý noise trong dữ liệu. Đóng góp của machine learning nói riêng và KHMT nói chung là sự chú trọng đến khía cạnh thuật toán và hiệu quả tính toán.

    Tôi nghĩ các nghiên cứu về learnability (và unlearnability) dùng một dạng argument kiểu lý thuyết tính toán (như diagonalization) cũng là một đóng góp quan trọng của machine learning nói riêng và KHMT nói chung. KHMT không chỉ quan tâm đến hiệu quả tính toán (computational complexity) mà còn quan tâm đến tính khả thi của tính toán (computability).

    Anyway, thanks for the nice post!

  11. cuonghuyto
    Posted 18/03/2007 at 2:06 pm | Permalink
    p(Y|X)=\frac{exp[\sum_{m=1}^M{lambda_m * H_m(Y,X)}]}{\sum_Y’{exp[\sum_{m=1}^M{lambda_m * H(Y’,X)}]}}
  12. cuonghuyto
    Posted 18/03/2007 at 3:12 pm | Permalink

    Added: a popular equation for a Log-Linear modelling of the posterior probability, seen in Statistical Machine Translation

    p(Y|X)=\frac{exp[\sum_{m=1}^M{\lambda_m \cdot H_m(Y,X)}]}{\sum_C{exp[\sum_{m=1}^M{\lambda_m \cdot H_m(C,X)}]}}

    (Sorry ba’c Hu+ng post 11 va~n co`n chu’t error)

  13. newcomer
    Posted 01/05/2008 at 4:49 pm | Permalink

    “Có lẽ đóng góp lịch sử lớn nhất của NNs và GAs là sự hấp dẫn, mới lạ và sự hiệu quả của những phương pháp này. Chúng thu hút một số lượng lớn rất nhiều các kỹ sư, các nhà khoa học thực nghiệm và tính toán, vật lý lý thuyết, … tất cả những ai phải xử lý số lượng dữ liệu lớn và nhiều chiều. Những người này đã quan tâm đến và góp phần phát triển tiếp machine learning. Họ thường không ngại ngần gì với những data sets khổng lồ. Họ cần những giải pháp computation hữu hiệu, nhưng không thích quá nhiều assumption cứng nhắc về dữ liệu. Họ thực dụng, và không bị lệ thuộc vào các mô hình thống kê cổ điển giáo điều. Họ quả cảm và năng động chứ không máy móc như các nhà thống kê cổ điển. Và cũng giống như fashion, machine learning vẫn tiếp tục sexy, nhưng cái hype không còn là NNs hay GAs mà chuyển sang các mô hình thống kê khác, như graphical models (Bayes nets), support vector machines, các mô hình nonparametric Bayes, v.v.”

    Toi rat thich cai doan nay. Day la cai can phai nhan thuc cho nhung ai muon tim hieu ve cac mo hinh tu nhien (naturel-inspired models). Toi chi muon nhan manh mot dieu la nhung nghien cuu ve NNs, GAs deu dang rat ‘hot’. Da co rat nhieu su under-estimate gia tri cua GAs. Don gian boi vi ho khong hieu cai y nghia ban chat cua selection/crossover va mutation ngoai viec “randomly doing this”. Lay cam hung tu nature tat nhien la quan trong, nhung ma cai quan trong hon la heuristic do duoc dien giai ve khia canh searching nhu the nao.

    Hien nay, cai moi nguoi quan tam (va cung la han che) la “understanding natural processes”. Su hieu qua cuar GAs hay cac mo hinh tuong tu khac phu thuoc vao “how much information they can capture from natural processes”. Va dieu nay la khong phai de dang va dang tieu ton rat nhieu tien bac! Va neu no co duoc giai phap hieu qua cho cac bai toan ky thuat thi cung la dieu dang lam.

    Toi co the thao luan them voi nhung ai quan tam GAs, co the email cho toi tai kid.meal@yahoo.com

  14. Dũng
    Posted 29/07/2009 at 3:41 am | Permalink

    Tôi đang nghiên cứu về Máy học thống kê(“Statistical Machine Learning”) các bác có tài liệu Tiếng Việt cho minh tham khảo với. Mình rất vội.
    Cảm ơn máy Bác.

    dungdnt@gmail.com

  15. tran the truyen
    Posted 16/11/2009 at 6:23 am | Permalink

    Bài viết khá hay. Tác giả hơi thiển cận khi nói rằng statistics vói Machine Learning là một. Machine learning là 1 multidisciplinary research area với đóng góp chủ đạo từ computer science, statistics và một số ngành khác nhu psychology, biology… Hiện tại ML hưởng lợi lớn tù statistics, tuy nhiên trong tương lai có thể hưởng lợi nhiều hơn từ tiến bộ của psychology+ biology (brain science chẳng hạn)

  16. XuanLong Nguyen
    Posted 16/11/2009 at 7:02 am | Permalink

    Tôi chưa thấy ML hưởng lợi từ neuroscience + biology ở chỗ nào cả, chỉ thấy neuroscience + biology + machine learning hưởng lợi từ Statistics rất nhiều và từ rất lâu thôi. Fisher không chỉ là cha đẻ của TK hiện đại mà còn là genetics lỗi lạc.

    Tôi chỉ đưa ra so sánh cho hiện tại và trong tương lai gần. Tất cả các ngành đều biến đổi, ai đoán trước được. Nói như trên chủ yếu để cổ vũ các bạn học machine learning nên học thêm nhiều statistics hơn, thay vỉ nghĩ rằng big ideas của ML có thể đến từ neuroscience hay biology. Đó là ảo tưởng vài thế hệ AI researcher (có tôi) đã mắc phải. Còn nếu phải đoán trong tương lai rất xa hơn nữa thì những thứ bạn nói rất có thể có khả năng thành hiện thực.

Post a Comment

Your email is never published nor shared. Required fields are marked *

You may use these HTML tags and attributes <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*
*