Machine learning hay statistics? P2

Machine learning hay statistics? P2

Machine learning hay statistics?
Quá nhiều terminologies làm cho tôi headache
Tôi khoái learning machines, bạn lại thích models
Bạn hỏi tôi về covariates, tôi nói chuyện features

Machine learning hay statistics?
Thứ nào nghe sexy hơn thứ nào boring sh*t?
Một câu hỏi nhỏ, nếu bạn vẫn gà mờ …
Xin chịu khó đọc thêm blog Ka Hờ Mờ Tờ ?

Tiếp theo bài blog hôm trước, tôi xin nói thêm về sự hỗn độn về thuật ngữ trong machine learning. Dân làm machine learning nói riêng và KHMT nói chung rất sáng tạo trong việc đặt tên cho sản phẩm thuật toán của mình. Mỗi một tít bài báo ở hội nghị thường có kèm tên một thuật toán (hay system, hay architecture mới), cho dù ý tưởng của bài báo chỉ là một thay đổi epsilon của một bài báo trước đó.

Trong machine learning, mỗi một thuật toán máy học mới thường có cái tên là một machine gì đấy, làm ta liên tưởng đến một cậu HAL đang được thai nghén. Vậy nên có cả một vườn thú các learning machines, ví dụ có thể tìm thấy ở Journal of Machine Learning Gossip (một website hóm hỉnh của dân làm ML). Điều này làm cho những người bắt đầu bước vào vườn thú rất choáng. Mặc dù xuất phát điểm mang tính lịch sử của machine learning là từ trí tuệ nhân tạo, nhưng nhìn lại, rất nhiều ý tưởng trong ML đã được khơi nguồn từ statistics, và trong một thời gian khá dài (từ những năm 1950 đến những năm đầu 1990) đáng tiếc là không có sự liên hệ đầy đủ giữa hai ngành. Dưới đây tôi thử liệt kê vài khái niệm trong machine learning và dịch sang ngành thống kê. Đây là open list, ai có thêm thì xin mời bổ sung vào. Để tiện tôi chia ra làm một vài mục:

Mô hình:

  • machines, learning machines (e.g., support vector machines): models
  • networks (e.g., neural networks, Bayesian networks, Markov networks): models
  • concepts: models
  • multilayer networks: hierachical models
  • Bayes nets, Bayesian networks: (probabilistic) graphical models
  • instance-based learning methods: nonparametric models
  • input features: covariates
  • output: response variable
  • model selection: model choice

Thuật toán:

  • learning algorithms, training algorithms: (frequentist) estimation procedures
  • Bayesian learning: Bayesian inference
  • probabilistic reasoning: probabilistic inference
  • unsupervised learning, clustering algorithms: use of latent (hidden) variable models, generative models
  • supervised learning, classification algorithms: classification, regression, discriminative models
  • empirical risk minimization principle: M-estimation methods (M stands for maximization)
  • cost function: loss function

Một số linh tinh khác:

  • PAC (probabilistically approximately correct) learning: đảm bảo đúng với xác suất cao
  • convergence: trong ML thì đây thường chỉ sự hội tụ của thuật toán, nhưng trong statistics thì đây thường nói về tốc độ hội tụ của estimation error của một estimation procedure nào đó
  • sample: trong ML thì chỉ một data point, trong statistics thì chỉ một tập các data points.

Một số lớn các khái niệm căn bản của ML (thường là bắt đầu một cách ad hoc) đã được giới thiệu và nghiên cứu một cách có hệ thống và chặt chẽ ở ngành thống kê. Ngược lại, còn rất nhiều khái niệm hay và sâu sắc trong thống kê vẫn chưa được áp dụng trong các vấn đề machine learning. Tuy vậy machine learning ngày càng đóng góp cho statistics những khái niệm mới mẻ, đặc biệt liên quan đến khía cạnh computation complexity và hiệu quả thuật toán, và ML cũng góp phần phát triển nhiều mô hình (learning machines) rất thích hợp cho large scale và dynamically processed data mà ngành statistics đã từng thờ ơ. Ví dụ một số thuật ngữ sau ở machine learning nhưng không có mặt ở mainstream statistics cho đến thời gian gần đây:

  • computational complexity của một vấn đề learning
  • computational efficiency một learning machines
  • message-passing type algorithms
  • các mô hình về on-line learning
  • reinforcement learning
  • graphical models
  • v.v.

Nhìn lại, không khó mà nhận thấy rằng intellectual root của machine learning là statistics và computer science. Điều này không nằm ngoài quy luật của phát triển khoa học. Những hướng/ngành nghiên cứu mới có triển vọng thường phát triển từ sự giao thoa của nhiều ngành khoa học lớn đi trước nó. Trong lịch sử phát triển của trí tuệ nhân tạo nói chung và machine learning nói riêng, nhiều vị tiền bối trong ngành đã không có sự nhìn nhận xác đáng về cái gốc rễ ấy (statistics và continuous mathematics). Họ đã kỳ vọng là có thể phát triển công nghệ mới mà không cần đến những công cụ toán học đương đại (kể cả xác suất thống kê). Điều này làm cho trí tuệ nhân tạo và machine learning đi chậm lại hoặc lạc hướng vì đã bị cô lập với statistics cũng như các ngành liên quan như signal processing, information theory, operations research,… trong suốt mấy thập niên liền.

Tôi không nói điều gì thực sự mới mẻ ở đây đối với những người nghiên cứu ở cutting-edge của machine learning ngày nay, nhưng có thể là mới mẻ và hy vọng là hữu ích cho những bạn đang dự định nghiên cứu về machine learning, trí tuệ nhân tạo trong KHMT, cũng như nhiều ngành liên quan đến xử lý dữ liệu khác.

ML/CS Stats
learning value estimation
concept tôi nghĩ là nó là discrete output value.
learner model, hypothesis
bounding confidence interval estimation

clustering: còn có cả algebraic structure (manifold, spectral, …)?

Tóm lại theo bác thì Machine Learning có phải là một ngành khoa học không? Hay chỉ là nơi gặp gỡ của một số ngành khoa học cơ bản (stats, cs, info. theory, optimization, …) và rất nhiều ngành ứng dụng liên quan đến xử lý dữ liệu và ra quyết định dựa trên dữ liệu đang có (signal processing, bioinformatics, stats physics/mechantics, OR, game theory, econometrics, …).

Tôi không rõ lý do bác xếp PAC vào mục “linh tinh”. Vì bác không tìm thấy thuật ngữ tương ứng bên stats? Tôi nghĩ là nó tương ứng với “test hypothesis” hoặc là “large deviation (on finite size sample)” (?) nhưng nhấn mạnh vào sample size với fixed error value, và “output domain is a finite set (concept class)”.

on-line learning mà bác nói đến có gồm cả sequential coding, repeated game, … không? Nếu có thì tôi không rõ tại sao “thuật ngữ này không có mặt ở mainstream của stats cho đến gần đây”? Theo tôi hiểu thì “on-line learning” mà bác nói là “without stochastic assumption on the data sequence”.

@tvhvt: Tôi xếp PAC vào linh tinh vì chưa đủ terminologies cho một category mới. PAC có định nghĩa bên cạnh đấy (đúng với xác suất cao). Những ví dụ của bạn là đúng rồi. Điều đáng nói là trước PAC dân ML không dùng ngôn ngữ xác suất để nói chuyện. PAC là work lý thuyết đầu tiên làm chuyện đó, nhưng cái đó bên stat họ làm từ lâu rồi. Cái nhấn mạnh về sample size chỉ là cosmetic.

Online learning (with or without stochastic assumption), related cả với sequential coding bên information theory, theo tôi hiểu không có nhiều bên mainstream stat (mặc dù ta có thể trace một số work bên stat từ những năm 50). Tôi cũng có đọc một số work của statisticians như Vovk, nhưng không coi đó là mainstream. Bạn có ý khác?

clustering: mấy cái manifold/spectral clustering chưa được analyzed về mặt thống kê một cách cẩn thận, nhưng tôi tin tưởng là nó cũng tương ứng với một mô hình latent variable nào đó mà thôi. Ai tìm ra được mô hình đó thì sẽ là một kết quả đáng kể.

ML có phải là KH cơ bản không? Không biệt thế nào là KH cơ bản, nhưng tôi sẽ cho nó trong một rọ với statistics, information theory, signal processing, i.e., nó có cả nền tảng lý thuyết cũng như ứng dụng cụ thể như stat vậy. Thực ra với tôi thì, một cách lý tưởng thì ML = stat + computation

Đoạn thuật ngữ tương ứng ở comment 1, tôi quên lời dặn dò khi gõ dấu lớn hơn, nhỏ hơn của bác Hưng. Xin đọc là:
ML/CS: Stats
learning: value estimation
concept: discrete (nominal) output value
learner: model, hypothesis
bounding: confidence interval estimation
unrealizable hypothesis space: misspecified estimation (?)
semi-supervised learning(?): covariate shift (the training and the test distributions are not the same due to unknown reasons).

Tôi chưa rõ ý bác Long về “cosmetic” của PAC. Theo hiểu biết của tôi thì “sample size estimation, (optimal) experiment(al) design” trong stats chủ yếu là cho hàm hồi quy hoặc density estimation, nghĩa là real-valued output.

Tôi không rõ tiêu chuẩn “mainstream” của bác như thế nào. Có vẻ bác ngầm định là “(mainstream) stats” là xử lý (tìm ra 1 quy luật gì đó) trên bộ (mẫu) dữ liệu lớn vô hạn, là phải có kết quả về “asymptotic statistics”?
Khi “data population” là vô hạn (gồm cả dữ liệu động), muốn “học, mô phỏng” quy luật gì đó từ dữ liệu đã có (hữu hạn, non iid due to unknown reasons of sampling and/or labeling) thì có gọi là ML nhưng stats thì sao ạ? Bác sẽ bảo là Bayes stats đã có những “chước” cho những tình huống này rồi?
Tôi có 1 “phản ví dụ” (không điển hình?): “(supervised) learning the ranking function in document retrieval, web search” (tạm gọi theo mấy bác Yahoo! là “subset ranking”). Tôi chưa tìm ra mô hình nào trong thống kê thỏa mãn tất cả các ràng buộc dưới đây:
– ordinal feature vector/instance:
– ordinal value/instance in the ground truth:
– strictly ordered of K top instances at the output:
– cost function is some rank statistics whose the score function isn’t smoothed because they are ordinal values.

Tôi tạm thời nghĩ là ML

1
\supset

stats

1
\cap

computation.

Tôi không chuyên về clustering nên không rõ lắm. Nhưng theo tôi hiểu thì chuyện analyzed cẩn thận manifold/spectral clustering là phần của “probabilistic methods in graph theory, combinatorics”, không phải độc quyền của stats (?)

Tôi không định ép ML là 1 khoa học cơ bản hay khoa học ứng dụng. Theo tôi thì 1 ngành khoa học phải có:
– đối tượng nghiên cứu riêng: cái này là gì với ML thì tôi vẫn mơ hồ ?
– có vấn đề nghiên cứu:
– phương pháp luận nghiên cứu:
– còn công cụ giải quyết thì có thể vay mượn từ bất kì đâu (các ngành khoa học khác, từ thực tế).