Bài viết được dịch từ trang web Machinelearningmastery

Machine Learning là gì? Học Machine Learning ở đâu tốt nhất?
Machine Learning là xu hướng của tương lai.

Bài viết này sẽ liệt kê một số nguồn tài nguyên tốt nhất dành cho người mới bắt đầu học về Machine Learning.

Các thư viện lập trình

Sau đây là các thư viện lập trình machine learning mã nguồn mở tốt nhất hiện nay. Tôi không nghĩ rằng tất cả chúng đều thích hợp cho việc sử dụng trong các hệ thống thực tế, nhưng chúng rất lý tưởng cho việc học tập, khám phá và tạo nguyên mẫu (prototyping).

Hãy bắt đầu với một thư viện trong một ngôn ngữ mà bạn biết rõ sau đó chuyển sang các thư viện khác mạnh mẽ hơn. Nếu bạn là một lập trình viên giỏi, thì bạn có thể chuyển từ một ngôn ngữ này sang ngôn ngữ khác rất dễ dàng. Tất cả chúng đều có cùng một logic, chỉ khác nhau về cú pháp và các API.

  • R Project for Statistical Computing: Đây là một môi trường và một ngôn ngữ kịch bản tương tự như lisp. Tất cả các số liệu thống kê sẽ được cung cấp qua ngôn ngữ R, bao gồm việc vẽ đồ thị. Ở mục Machine Learning trên CRAN (nó giống như các package về Machine Learning của các hãng thứ ba) có phần code được viết bởi các chuyên gia trong lĩnh vực này. Việc học R là bắt buộc nếu bạn muốn tạo nguyên mẫu (prototype) và khám phá một cách nhanh chóng. 
  • WEKA: Đây là một Data Mining workbench cung cấp các API, một số dòng lệnh và giao diện đồ họa cho toàn bộ vòng đời khai thác dữ liệu (data mining). Bạn có thể chuẩn bị dữ liệu, khám phá trực quan, phân loại, hồi quy và các mô hình phân nhóm và nhiều thuật toán được cung cấp qua các plugin của bên thứ ba. Không liên quan đến WEKA, Mahout là một framework Java rất tốt cho Machine Learning trên cơ sở hạ tầng Hadoop. Nếu bạn là người mới trong lĩnh vực big data và machine learning, thì hãy gắn bó với WEKA và học nó từng phần một.
  • Scikit Learn: Machine Learning in Python được xây dựng dựa trên NumPy và Scipy. Nếu bạn là một lập trình viên Python hoặc Ruby, thì đây là thư viện dành cho bạn. Nó rất dễ sử dụng, mạnh mẽ và đi kèm với tài liệu hướng dẫn tuyệt vời. Orange sẽ là một lựa chọn tốt nếu bạn muốn thử một cái gì đó mới mẻ.
  • Octave: Nếu bạn đã quen thuộc với Matlab hoặc bạn là một lập trình viên NumPy đang tìm kiếm một cái gì đó khác biệt, thì hãy thử Octave. Nó là môi trường cho việc tính toán số giống như Matlab và có thể viết các chương trình để giải quyết các vấn đề tuyến tính và phi tuyến tính một cách dễ dàng. Nếu bạn có một nền tảng về kỹ thuật, thì đây có thể là một nơi rất tốt để bạn bắt đầu.
  • BigML: Có thể bạn không muốn viết code. Bạn có thể sử dụng các công cụ như WEKA mà hoàn toàn không cần lập trình chút nào cả. Hoặc bạn có thể đi một bước xa hơn bằng cách sử dụng các dịch vụ như BigML cung cấp các interface machine learning trên web, nơi bạn có thể khám phá tất cả các mô hình xây dựng trong trình duyệt.

Chọn lấy một nền tảng và sử dụng nó để thực hành trong quá trình bạn học về machine learning. Đừng chỉ đọc lý thuyết suông, hãy bắt tay vào làm.

Khóa học nhập môn Machine Learning cho lập trình viên. Học qua dự án nhỏ demo, ngôn ngữ lập trình Python, framework Scikit-Learn và TensorFlow

Các khóa học bằng video

  • Stanford Machine Learning: Các bài giảng bởi Andrew Ng của trường đại học Stanford có sẵn trên Coursera. Sau khi ghi danh, bạn có thể xem tất cả các bài giảng bất cứ lúc nào và nhận được những kiến thức thực tế như trong khóa học Stanford CS229. Khóa học này bao gồm bài tập về nhà và các bài ​​kiểm tra tập trung vào đại số tuyến tính và sử dụng Octave.
  • Caltech Learning from Data: Có sẵn thông qua edX và được giảng dạy bởi Yaser Abu-Mostafa. Tất cả các bài giảng và tài liệu đều có sẵn trên trang web CalTech. Giống như lớp học Stanford, bạn có thể học nó theo tốc độ của riêng mình và hoàn thành các bài tập được giao. Nó bao gồm các chủ đề tương tự như khóa học trên nhưng chi tiết hơn và tập trung nhiều về mảng toán học. Bài tập về nhà có thể sẽ là một thử thách đối với người mới bắt đầu.
  • Machine Learning Category on VideoLectures.Net: Đây là một nơi bạn dễ bị chìm ngập trong tình trạng quá tải về nội dung. Bạn hãy tìm những video được nhiều người xem và được đánh giá cao nhất.
  • “Getting In Shape For The Sport Of Data Science” – Talk by Jeremy Howard: Đây là một bài nói chuyện với một nhóm users group R, nhưng rất có giá trị.

Một số tài liệu khác

Nếu bạn ít khi đọc các tài liệu nghiên cứu, thì sẽ thấy ngôn ngữ trong những tài liệu này khá khô cứng. Một tài liệu nghiên cứu cũng giống như một phần trong một cuốn sách, nhưng nó mô tả một thí nghiệm hoặc một số vùng nào đó của lĩnh vực này. Tuy nhiên, có một số tài liệu nghiên cứu bạn có thể thấy rất thú vị nếu bạn đang tìm kiếm để bắt đầu tìm hiểu về machine learning.

  • The Discipline of Machine Learning: Đây là một sách trắng định nghĩa các nguyên tắc của Machine Learning được viết bởi tác giả Tom Mitchell. Đây là một phần trong tài liệu mà Mitchell sử dụng để thuyết phục hiệu trưởng của trường đại học CMU thành lập khoa Machine Learning độc lập cho một chủ đề mà vẫn sẽ được quan tâm trong 100 năm nữa (bạn cũng có thể xem cuộc phỏng vấn ngắn với Tom Mitchell tại đây).
  • A Few Useful Things to Know about Machine Learning: Đây là một tài liệu tuyệt vời vì nó đề cập đến các thuật toán cụ thể và thúc đẩy một số vấn đề quan trọng như khái quát lựa chọn tính năng và mô hình đơn giản. Tất cả những điều này là rất quan trọng đối với người mới bắt đầu.

Những cuốn sách về Machine Learning cho người mới bắt đầu

Sách về Machine Learning cho người mới bắt đầu.
Sách về Machine Learning cho người mới bắt đầu.

Có rất nhiều sách về machine learning nhưng lại có rất ít sách được viết cho người mới bắt đầu.

  • Programming Collective Intelligence: Building Smart Web 2.0 Applications: Cuốn sách này được viết cho đối tượng lập trình viên. Nó nhẹ về mặt lý thuyết, nặng về các ví dụ lập trình và các vấn đề cũng như giải pháp thực tiễn trên web. Hãy mua nó, đọc nó và làm các bài tập trong đó.
  • Machine Learning for Hackers: Tôi khuyên bạn nên đọc cuốn sách này sau khi đọc cuốn Programming Collective Intelligence (ở trên). Nó cũng cung cấp các ví dụ thực tế, nhưng thiên về phân tích dữ liệu và sử dụng R. Tôi thực sự thích cuốn sách này!
  • Machine Learning: An Algorithmic Perspective: Cuốn sách này giống như một phiên bản nâng cao của cuốn Programming Collective Intelligence (ở trên). Nó có mục đích tương tự (dành cho đối tượng lập trình viên bắt đầu nghiên cứu Machine Learning), nhưng nó cũng bao gồm toán học và các ví dụ viết bằng Python. Tôi khuyên bạn nên đọc cuốn sách này sau khi đọc cuốn Programming Collective Intelligence.
  • Data Mining: Practical Machine Learning Tools and Techniques, Third Edition: Tôi đã bắt đầu bằng cuốn sách này, thực sự tôi đọc phiên bản đầu tiên của nó được xuất bản vào năm 2000. Lúc đó tôi là một lập trình viên Java và cuốn sách này kết hợp với thư viện WEKA cung cấp một môi trường hoàn hảo để tôi thử nghiệm, thực thi các thuật toán của riêng mình.
  • Machine Learning: Đây là một cuốn sách cũ bao gồm các công thức và rất nhiều tài liệu tham khảo. Đó là một cuốn sách có nội dung rõ ràng và dễ dàng tiếp cận thông qua các thuật toán.

Tất nhiên ngoài kia cũng có rất nhiều cuốn sách tuyệt vời khác về Machine Learning, nhưng tôi nghĩ chúng không phù hợp cho người mới bắt đầu tham gia vào lĩnh vực này.   

Bạn thường sử dụng nguồn tài nguyên nào để bắt đầu nghiên cứu về Machine Learning? Những cuốn sách nào là tốt nhất cho người mới bắt đầu tìm hiểu về nó? Hãy chia sẻ với chúng tôi trong phần bình luận phía dưới nhé!