GLM là một mô hình thống kê hoặc máy học?


11

Tôi nghĩ rằng mô hình tuyến tính tổng quát (GLM) sẽ được coi là mô hình thống kê, nhưng một người bạn nói với tôi rằng một số bài báo phân loại nó là một kỹ thuật học máy. Cái nào là đúng (hoặc chính xác hơn)? Bất kỳ lời giải thích sẽ được đánh giá cao.


1
Tôi nghĩ rằng học máy thường là một ứng dụng của mô hình thống kê, vì vậy tôi muốn nói nó là cả hai.
tham gia

Câu trả lời:


21

GLM hoàn toàn là một mô hình thống kê, nhưng các mô hình thống kê và kỹ thuật học máy không loại trừ lẫn nhau. Nói chung, thống kê quan tâm nhiều hơn đến các tham số suy luận, trong khi trong học máy, dự đoán là mục tiêu cuối cùng.


15

Về dự đoán, thống kê và khoa học máy học bắt đầu giải quyết hầu hết cùng một vấn đề từ các quan điểm khác nhau.

Về cơ bản thống kê giả định rằng dữ liệu được tạo ra bởi một mô hình ngẫu nhiên nhất định. Vì vậy, từ góc độ thống kê, một mô hình được giả định và đưa ra các giả định khác nhau, các lỗi được xử lý và các tham số mô hình và các câu hỏi khác được suy ra.

Học máy xuất phát từ quan điểm khoa học máy tính. Các mô hình là thuật toán và thường rất ít giả định được yêu cầu liên quan đến dữ liệu. Chúng tôi làm việc với không gian giả thuyết và học tập thiên vị. Giải trình tốt nhất về học máy mà tôi tìm thấy có trong cuốn sách của Tom Mitchell có tên là Machine Learning .

Để có một ý tưởng toàn diện và đầy đủ hơn về hai nền văn hóa, bạn có thể đọc bài viết của Leo Breiman có tên là Mô hình thống kê: Hai nền văn hóa

Tuy nhiên, điều cần phải nói thêm là ngay cả khi hai ngành khoa học bắt đầu với những quan điểm khác nhau, cả hai hiện tại đều có chung một lượng kiến ​​thức và kỹ thuật chung. Tại sao, bởi vì các vấn đề là như nhau, nhưng các công cụ là khác nhau. Vì vậy, bây giờ học máy chủ yếu được xử lý từ góc độ thống kê (kiểm tra cuốn sách của Hastie, Tibshirani, Friedman Các yếu tố của học thống kê theo quan điểm học máy với một điều trị thống kê, và có lẽ cuốn sách Machine Learning: A của Kevin P. Murphy quan điểm xác suất , để chỉ một vài trong số những cuốn sách hay nhất hiện nay).

Ngay cả lịch sử phát triển của lĩnh vực này cũng cho thấy những lợi ích của sự hợp nhất các quan điểm này. Tôi sẽ mô tả hai sự kiện.

Đầu tiên là việc tạo ra các cây GIỎI, được Breiman tạo ra với một nền tảng thống kê vững chắc. Gần như cùng lúc, Quinlan đã phát triển ID3, C45, See5, v.v., bộ cây quyết định với nền tảng khoa học máy tính nhiều hơn. Bây giờ cả họ cây này và các phương pháp tập hợp như đóng bao và rừng trở nên khá giống nhau.

Câu chuyện thứ hai là về việc thúc đẩy. Ban đầu chúng được phát triển bởi Freund và Shapire khi họ phát hiện ra AdaBoost. Các lựa chọn để thiết kế AdaBoost được thực hiện chủ yếu từ góc độ tính toán. Ngay cả các tác giả cũng không hiểu tại sao nó hoạt động. Chỉ 5 năm sau Breiman (một lần nữa!) Đã mô tả mô hình adaboost từ góc độ thống kê và đưa ra lời giải thích cho lý do tại sao nó hoạt động. Kể từ đó, các nhà khoa học nổi tiếng khác nhau, với cả hai loại nền tảng, đã phát triển thêm những ý tưởng đó dẫn đến một thuật toán tăng cường, như tăng cường logistic, tăng cường độ dốc, tăng cường nhẹ nhàng. Bây giờ thật khó để nghĩ đến việc tăng mà không có một nền tảng thống kê vững chắc.

Mô hình tuyến tính tổng quát là một sự phát triển thống kê. Tuy nhiên, phương pháp điều trị Bayes mới đưa thuật toán này vào sân chơi máy học. Vì vậy, tôi tin rằng cả hai tuyên bố đều có thể đúng, vì việc giải thích và xử lý cách thức hoạt động của nó có thể khác nhau.


5

Ngoài câu trả lời của Ben, sự khác biệt tinh tế giữa mô hình thống kê và mô hình học máy là, trong các mô hình thống kê, bạn quyết định rõ ràng cấu trúc phương trình đầu ra trước khi xây dựng mô hình. Mô hình được xây dựng để tính toán các tham số / hệ số.

Lấy mô hình tuyến tính hoặc GLM làm ví dụ,

y = a1x1 + a2x2 + a3x3

Các biến độc lập của bạn là x1, x2, x3 và các hệ số được xác định là a1, a2, a3. Bạn xác định cấu trúc phương trình của mình theo cách này trước khi xây dựng mô hình và tính a1, a2, a3. Nếu bạn tin rằng y bằng cách nào đó có tương quan với x2 theo cách phi tuyến tính, bạn có thể thử một cái gì đó như thế này.

y = a1x1 + a2(x2)^2 + a3x3.

Vì vậy, bạn đặt một hạn chế về mặt cấu trúc đầu ra. Các mô hình thống kê vốn là các mô hình tuyến tính trừ khi bạn áp dụng rõ ràng các phép biến đổi như sigmoid hoặc kernel để biến chúng thành phi tuyến (GLM và SVM).

Trong trường hợp các mô hình học máy, bạn hiếm khi chỉ định cấu trúc đầu ra và các thuật toán như cây quyết định vốn dĩ không tuyến tính và hoạt động hiệu quả.

Trái với những gì Ben chỉ ra, các mô hình học máy không chỉ là dự đoán, chúng phân loại, hồi quy, vv có thể được sử dụng để đưa ra dự đoán cũng được thực hiện bởi các mô hình thống kê khác nhau.


Sử dụng mạng nơ ron logic đó là các mô hình thống kê do kiến ​​trúc được quyết định trước. Tôi không nghĩ rằng các nỗ lực để xác định một sự cắt giảm rõ ràng giữa thống kê và học máy là có thể hoặc không cần thiết.
Marc Claesen

Đây chính xác là lý do tại sao tôi đã đề cập đến từ "hiếm khi" trong đoạn học máy. Tôi đã không nói rằng bạn hoàn toàn không! Chà, với những người bắt đầu khám phá những điều này, thật tốt khi biết những sắc thái giữa học thống kê và học máy
binga

Tôi thích lời giải thích này. Tôi đã thấy rằng trong thế giới thống kê có sự nhấn mạnh lớn vào việc chuẩn hóa dữ liệu, tính năng kỹ thuật và mô hình phù hợp. Trong thế giới ML, trong khi vẫn còn quan trọng, có vẻ như mọi người sử dụng chính quy và lượng dữ liệu lớn hơn để 'tìm đúng mô hình', đòi hỏi ít giả định trước hơn. Lưu ý: Đó là ý nghĩa của tôi khi đã học thạc sĩ ở cả hai nhưng tôi hoan nghênh người khác sửa lỗi cho tôi nếu họ nghĩ tôi sai.
dùng1761806

2

GLM hoàn toàn là một mô hình thống kê, trong khi ngày càng có nhiều phương pháp thống kê được áp dụng trong sản xuất công nghiệp như các thủ thuật học máy . Phân tích tổng hợp mà tôi đọc nhiều nhất trong những ngày này là một ví dụ tốt trong lĩnh vực thống kê.

Một ứng dụng công nghiệp hoàn hảo với GLM có thể giải thích lý do tại sao bạn của bạn nói với bạn rằng GLM được coi là một kỹ thuật học máy . Bạn có thể tham khảo tài liệu nguồn http://www.kdd.org/kdd2016/ con / files / adf0562-zangA.pdf về điều đó.

Tôi đã triển khai một đơn giản hóa được coi là khung chính cho hệ thống khuyến nghị của tôi trong kịch bản sản xuất vài tuần trước. Rất cảm kích nếu bạn cho tôi một số mẹo và bạn có thể kiểm tra mã nguồn: https://github.com/PayneJoe/algo-sensetime/blob/master/src/main/scala/GLMM.scala

Hy vọng điều này sẽ giúp bạn, một ngày tốt lành!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.