Là một nền tảng mạnh mẽ trong toán học là một điều cần thiết cho ML?


37

Tôi bắt đầu muốn nâng cao kỹ năng của riêng mình và tôi luôn bị cuốn hút bởi học máy. Tuy nhiên, sáu năm trước thay vì theo đuổi điều này, tôi quyết định lấy bằng cấp hoàn toàn không liên quan đến khoa học máy tính.

Tôi đã phát triển phần mềm và ứng dụng khoảng 8-10 năm nay, vì vậy tôi có khả năng xử lý tốt nhưng dường như tôi không thể thâm nhập vào khía cạnh toán học của học máy / xác suất / thống kê.

Tôi bắt đầu nhìn vào tài liệu học tập và trên trang đầu tiên, nó có thể bao gồm một cái gì đó làm tôi bối rối và ngay lập tức thiết lập một rào cản trong học tập của tôi.

  • Là một nền tảng mạnh mẽ trong toán học là một điều cần thiết cho ML? Tôi có nên thử và điền vào chỗ trống của toán học trước khi tiếp tục với ML không? Tự học có thể thực sự làm việc cho chỉ một nhà phát triển mà không có nền tảng khoa học máy tính cứng?

Câu hỏi liên quan:


4
Tôi muốn nói rằng bạn cần phải hiểu rất rõ về đại số tuyến tính và ít nhất cũng có thể là một số xác suất cho các ứng dụng Bayes. Bạn cũng cần phải thoải mái dịch toán sang mã, và cũng có thể thích ứng với quy ước ký hiệu (không hoàn toàn nhất quán). ML cũng không dễ dàng đối với hầu hết các nhà khoa học máy tính.
John Moeller

3
Tôi không tin rằng tất cả các câu hỏi đều liên quan. Cảm ơn bạn đã làm cho điều này một trang web stackexchange rất mời và đóng câu hỏi. Tôi thậm chí không đề cập đến bất cứ ai để giới thiệu một cuốn sách cho tôi. Đây không phải là một bản sao dựa trên "bản sao có thể"
Layke

2
Tôi đã tạo một chủ đề trên meta (8 giờ trước) yêu cầu mở lại điều này. meta.stats.stackexchange.com/questions/1442/ từ
Douglas Zare

1
Cảm ơn bạn. Nó vẫn có thể bị đóng là "quá chủ quan" hoặc "không phải là một câu hỏi thực sự", nhưng nó chắc chắn không phải là một bản sao.
Layke

1
Layke, như được giải thích trong chuỗi meta được bắt đầu bởi @Doumund Zare, chúng tôi hy vọng bạn coi việc đóng câu hỏi này là một lợi ích tiềm năng cho bạn, bởi vì nó ngay lập tức cung cấp cho bạn quyền truy cập vào các chủ đề liên quan có khả năng đã trả lời câu hỏi của bạn. Nhưng vì bạn đã nhận xét rằng nó không có ý định trùng lặp, bạn có phiền khi chỉnh sửa câu hỏi của mình để làm cho nó rõ ràng theo nghĩa nào nó không trùng lặp các câu hỏi tương tự trên trang web này? Chúng tôi sẽ rất vui khi mở lại nó.
whuber

Câu trả lời:


23

Stanford (Ng)Caltech (Abu-Mostafa) đã đưa các lớp học máy lên YouTube. Bạn không được xem các bài tập, nhưng các bài giảng không dựa vào những bài tập đó. Tôi khuyên bạn nên cố gắng xem những cái đó trước, vì chúng sẽ giúp bạn tìm ra môn toán bạn cần học. Tôi tin rằng một lớp rất giống với bài tập được giảng dạy bởi Andrew Ng trên Coursera, mà Ng đã giúp tạo ra.

Một ngoại lệ: Nếu tôi nhớ lại một cách chính xác, ngay từ đầu trong các bài giảng của Stanford, Ng đã thực hiện một số tính toán liên quan đến các dẫn xuất của dấu vết của các sản phẩm ma trận. Chúng khá cô lập, vì vậy đừng lo lắng nếu bạn không tuân theo những tính toán đó. Tôi thậm chí không biết khóa học nào sẽ bao gồm những thứ đó.

Bạn muốn có một số quen thuộc với xác suất, đại số tuyến tính, lập trình tuyến tính và tính toán đa biến. Tuy nhiên, bạn cần ít hơn rất nhiều so với những gì có trong nhiều lớp đại học hoàn chỉnh về các môn học đó.



15

Tùy thuộc vào loại ứng dụng, bạn không nhất thiết cần nhiều toán học như một học viên ML.

Là một lập trình viên tự học (~ 15 năm) và thường xuyên bỏ học đại học mà không có nhiều kiến ​​thức về toán học (Giải tích III) hoặc thống kê, tôi bắt đầu với việc học máy / khai thác dữ liệu với một vài tài nguyên:

  • Cuốn sách "Làm chủ khai thác dữ liệu: Nghệ thuật và khoa học về quản lý quan hệ khách hàng" của Berry và Linoff

  • Cuốn sách "Kỹ thuật khai thác dữ liệu" của cùng các tác giả

  • R, đặc biệt và các gói bên và nnet

Tôi làm việc tại một tổ chức phi lợi nhuận hỗ trợ hoạt động và tiếp thị. Đặc biệt, ban đầu, tôi đã sử dụng khai thác dữ liệu chủ yếu cho các kháng cáo thư trực tiếp.

Sau đó tôi đã học Đại số tuyến tính, Học máy của Andrew Ng, Giới thiệu về Phương pháp thống kê (STAT 301) tại CSU, v.v.

Đối với bạn, tôi khuyên bạn nên bắt đầu với hai cuốn sách, khóa học của Andrew Ng, và tùy thuộc vào ứng dụng của bạn, cây quyết định (gói tiệc trong R).


9

Tôi nghĩ rằng đây thực sự là một câu hỏi hay và mang tính thời sự cao; Tôi không chắc chắn nếu có một câu trả lời tuy nhiên. Một bài báo gần đây đã khuấy động một loạt các tranh cãi (xem tại đây ) bằng cách gợi ý rằng khoa học dữ liệu rất dễ học trực tuyến. Tuy nhiên, một điều đáng chú ý về hầu hết các nghiên cứu trường hợp được đề cập trong bài báo đó là chúng đến từ nền tảng toán học hoặc toán học.

Đây là một điểm thú vị, bởi vì nó chỉ ra rằng trong khi các khóa học trực tuyến như Coursera, Stanford và edX rất hữu ích trong việc dạy các kỹ năng khoa học máy tính cụ thể cần có, có khả năng một số nền tảng toán học là cần thiết để hiểu những gì các mô hình bạn đang áp dụng . Mặt khác, một lập luận mạnh mẽ không kém có thể được đưa ra là những người này đều có đầu óc phân tích để bắt đầu, và đây là lý do tại sao họ làm việc trong các ngành định lượng cũng như lý do tại sao họ chọn học máy dễ dàng và giành chiến thắng trong các cuộc thi.

Tôi nghĩ về cơ bản rằng có một mức độ vấn đề phân tích đang diễn ra ở đây. Mặc dù các kỹ năng toán học đôi khi hữu ích trong việc tìm hiểu nguồn gốc xác suất của các thuật toán bạn đang áp dụng, có một lập luận tương đương được đưa ra là các kỹ năng kỹ thuật phần mềm tốt có thể bổ sung nhiều bằng cách cho phép bạn phân tích cấp cao và kết hợp các phần của thuật toán để hoàn thành mục tiêu của bạn ngay cả khi bạn không hoàn toàn hiểu lý do tại sao họ làm điều đó . Nói chung, khoa học dữ liệu (và học máy bằng cách liên kết) chính là một lĩnh vực thú vị bởi vì bề rộng này - bạn có thể là một người cơ sở dữ liệu và sử dụng vũ lực để giải quyết các vấn đề, hoặc một nhà toán học sử dụng mô phỏng hoặc một nhà khoa học máy tính tận dụng kỹ thuật tốt mã để kết hợp các thuật toán và cách tiếp cận khác nhau một cách tối ưu.

Tất cả các phương pháp tiếp cận thêm vào dự đoán đều tốt, vì vậy tôi nói rằng học một số toán học có thể là một ý tưởng tốt để mang đến cho bạn cơ hội thành công cao nhất trong lĩnh vực này. Nếu bạn muốn có một số điểm khởi đầu tốt, MIT có một khóa học đại số tuyến tính tuyệt vời , với một số ứng dụng tính toán đẹp, tôi thấy dễ hiểu. Họ cũng có các khóa học khác về các quy trình ngẫu nhiên và tính toán đa biến cũng có thể được quan tâm trong việc xây dựng kiến ​​thức của bạn.


Rằng những người không có đầu óc phân tích (hoặc những người trừu tượng không hoặc kém) không thực sự được giúp đỡ bằng cách đơn giản hóa các toán học luôn làm tôi lo lắng (+1). Cũng thích khóa học đại số tuyến tính Strang, nhưng đại số tuyến tính không phải là toán học đầu tiên bị lu mờ bởi các tính toán vũ lực? Đối với khoa học dữ liệu là liên kết dễ dàng, có lẽ ai đó đã tăng nhưng trong các cuộc cạnh tranh trên thị trường chứng khoán giả 1 hoặc 2 trong số hàng ngàn chữ số, usaully sẽ đánh bại các chuyên gia - vì vậy bất kỳ ai cũng có thể nhận được cổ phiếu khó khăn!
phaneron

4

Là một nền tảng mạnh mẽ trong toán học là một điều cần thiết cho ML? - một câu trả lời và một số suy đoán cho ML được khái niệm hóa như là số liệu thống kê ;-)

Khoảng năm 1990 tôi đã hy vọng đại số máy tính được hỗ trợ, tôi nghĩ là vậy nhưng nó khá hạn chế. Nhưng nó chắc chắn giúp tăng tốc việc học toán (ít cần phát triển các kỹ năng thao túng bằng cách thực hành hoặc cố gắng để có được bằng cách chỉ có thể làm các bài tập đơn giản). Tôi tìm thấy Đại số tuyến tính của Fred Szabo với Mathematica là một ví dụ tuyệt vời về điều này (nhưng tôi đã tham gia một khóa học đại số tuyến tính cấp độ lý thuyết nâng cao.)

Tôi đã làm việc từ năm 1988 (Sử dụng các phương pháp chuyên sâu máy tính để "cụ thể hóa" các định lý và nguyên tắc từ thống kê - Chính xác) để đưa ra câu trả lời không hoặc ít nhất là không cần thiết (để thống kê). Một người sẽ luôn có thể hiểu nhanh hơn và tổng quát hơn với kỹ năng toán học và hiểu biết thêm. Tôi nghĩ rằng tôi đang bắt đầu gần gũi, nhưng người ta cần một đại diện có thể thao tác các mô hình tạo xác suất và suy luận có giá trị hữu ích cho nhiều vấn đề hơn là chỉ các vấn đề về đồ chơi.

Tôi có nên thử và điền vào chỗ trống của toán học trước khi tiếp tục với ML không?

Đó là một nỗ lực khó khăn - trong MHO, hầu hết mọi người hiểu về thống kê đều có được bằng cách rất thoải mái khi thao tác với các biểu diễn toán học tiêu chuẩn đặc biệt không phải là mô hình tạo xác suất và đặc tính toán học suy luận (x% hàng đầu của thống kê toán học Phds). Vì vậy, nó không chỉ là cơ bản mà còn thực sự thoải mái với toán học. (Như một bên, đối với tôi Lý thuyết Fourier là điều cần thiết.)

Tại sao các biểu diễn này khó (thậm chí với rất nhiều toán học)?

Gerd Gigerenzer đã khẳng định khá nhiều rằng không có thách thức nào đối với bệnh đơn giản dương tính / âm tính với xét nghiệm dương tính / âm tính bằng cách sử dụng tần số _natural. Một tài liệu tham khảo từ câu hỏi được liên kết dường như sử dụng tốt http://www.autonlab.org/tutorials/prob18.pdf

Tại sao điều này khó để khái quát?

Đối với các bài kiểm tra k (lặp lại và hoặc khác nhau) - 2 ^ k

Đối với các thử nghiệm lấy giá trị v - v ^ k

Vì vậy, đối với nhị phân không xác định - xác suất đường dẫn mẫu 2 * v ^ k

Đối với p nhiều ẩn số nhị phân 2 ^ p * v ^ k

Đối với p nhiều ẩn số hợp lý Q ^ p * v ^ k

Người ta nhanh chóng chuyển sang toán học với vô số vô số và không thể đếm được để đối phó với điều này, điều mà ngay cả với chuyên môn toán học cũng dẫn đến nhiều hiểu lầm và nghịch lý (ví dụ nghịch lý của Borel?)

Ngoài ra, còn có những hiểu lầm nguy hiểm tuyến tính đến phi tuyến tính (ví dụ: Nguy hiểm ẩn của việc chỉ định các nhà tiên tri không phù hợp Winbugs và MCMC khác mà không có thông tin để phân phối trước ) và các tương tác và hiệu ứng ngẫu nhiên, v.v.

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.