Tài nguyên tốt nhất tôi từng dạy cho bản thân mình Học máy

Lĩnh vực học máy đang ngày càng trở nên chủ đạo hơn mỗi năm. Với sự tăng trưởng này, nhiều thư viện và công cụ để trừu tượng hóa một số khái niệm khó thực hiện nhất cho những người bắt đầu.

Hầu hết mọi người sẽ nói bạn cần có bằng cấp cao hơn về ML để làm việc trong ngành. Nếu bạn thích làm việc với dữ liệu và toán thực tế, thì tôi sẽ nói điều này không đúng. Tôi chưa tốt nghiệp đại học với Machine Learning hoặc bằng cấp dữ liệu nhưng hiện tại tôi đang làm việc với ML tại một công ty khởi nghiệp. Tôi muốn chia sẻ những gì tôi từng học và làm thế nào tôi đến đây với hy vọng nó sẽ giúp được người khác.

Bắt đầu

Tôi đã biết Python ngay khi tôi bắt đầu, nhưng, nếu bạn không phải là Google, tôi khuyên bạn nên học Python cơ bản và trung cấp trước. Ngôn ngữ khá dễ học so với những người khác. Python cũng là nơi có cộng đồng khoa học dữ liệu / ML lớn nhất vì vậy có rất nhiều công cụ để giúp bạn học.

Tìm hiểu Python: freeCodeCamp Python Crash Course

Ngoài ra, điều đầu tiên bạn nên làm là tải xuống The Machine Learning Podcast bởi OCDevel (overcast.fm, iTunes) vào ứng dụng podcast yêu thích của bạn. Nghe 10 tập đầu tiên15. Họ rất giỏi trong việc đưa ra một cái nhìn tổng quan về hệ sinh thái học máy và cũng có những tài nguyên được đề xuất được liên kết trên trang web OCDevel.

Dụng cụ

Anaconda & Jupyter Notebook - Đây là những thứ bắt buộc đối với ML & khoa học dữ liệu. Thực hiện theo các hướng dẫn ở đây để cài đặt và thiết lập chúng.

Visual Studio Code với Python Plugin - Tôi chưa bao giờ nghĩ rằng tôi sẽ giới thiệu một sản phẩm của Microsoft, nhưng tôi thực sự ấn tượng với cam kết nguồn mở của họ gần đây. Bây giờ đây là trình soạn thảo mã yêu thích của tôi, thậm chí để thực hiện một số điều trong Python - như mã gỡ lỗi.

Kaggle.com là nơi tốt nhất để tìm bộ dữ liệu khi bạn bắt đầu. Đi trước và đăng ký một tài khoản và chọc quanh trang web. Bạn sẽ nhận thấy rằng có rất nhiều cuộc thi dành cho mọi người ở mọi cấp độ kinh nghiệm và thậm chí cả hướng dẫn đi cùng với họ (như cuộc thi thân thiện với người mới bắt đầu này về Titanic). Các bộ dữ liệu này sẽ rất hữu ích để thực hành trong khi bạn đang học các thư viện Python.

Thư viện Python

Tiếp theo, nó rất quan trọng để tìm hiểu các thư viện Python phổ biến để làm việc với dữ liệu: Numpy, Matplotlib, Pandas, Scikit-Learn, v.v. Tôi khuyên bạn nên bắt đầu với khóa học này từ datacamp. Nó đi qua một số điều cơ bản mà bạn có thể bỏ qua hoặc sử dụng để xem xét và phần Numpy là một phần giới thiệu tốt.

Gấu trúc là phải học nhưng cũng mất một chút thời gian để nắm bắt vì nó làm rất nhiều thứ. Nó được xây dựng trên đỉnh Numpy và được sử dụng để làm sạch, chuẩn bị và phân tích dữ liệu. Nó cũng có các công cụ tích hợp cho những thứ như trực quan hóa. Tôi đã sử dụng rất nhiều tài nguyên để học Pandas và thực hành với nó. Ở đây có một ít:

  1. Tìm hiểu gấu trúc trên Kaggle
  2. Tìm hiểu khóa học video Pandas | Notebook cho khóa học
  3. Jupyter Notebook Ví dụ bổ sung: Khái niệm cơ bản | Âm mưu với Matplotlib & Pandas | Và nhiều cái khác

Sau khi Pandas đến Scikit-Learn. Đây là nơi mọi thứ bắt đầu được áp dụng nhiều hơn cho các thuật toán học máy thực tế. Scikit-Learn là một thư viện Python khoa học cho máy học.

Tài nguyên tốt nhất mà tôi tìm thấy cho đến nay là cuốn sách Hands Hands on Machine Learning với Scikit-Learn và Tensorflowline. Tôi nghĩ rằng nó làm một công việc rất tốt là dạy bạn từng bước với các ví dụ thực tế. Nửa đầu là về Scikit-Learn, vì vậy tôi đã thực hiện phần đó trước và sau đó quay lại phần Tensorflow.

Có nhiều thư viện Python khác như Keras và PyTorch, nhưng tôi sẽ vào đó sau. Điều này đã có rất nhiều để tìm hiểu :)

Học nông

Đây là bước đầu tiên vào học máy. Scikit-Learn có các chức năng học tập nông như hồi quy tuyến tính được tích hợp trong thư viện. Cuốn sách Scikit-Learn mà tôi đề cập ở trên dạy về nhiều loại thuật toán học máy phổ biến và cho phép bạn thực hành bằng tay trên các ví dụ.

Mặc dù điều đó rất tốt, nhưng tôi vẫn thấy hữu ích khi tham gia khóa học về máy học của Andrew Ng, từ Stanford. Nó có sẵn để được kiểm tra miễn phí trên Coursera (có một podcast cho khóa học này trên iTunes, nhưng nó lại hơi khó theo dõi và đã hơn một thập kỷ). Chất lượng giảng dạy rất tuyệt vời và nó là một trong những tài nguyên được đề xuất trực tuyến nhất (nó không phải là dễ dàng nhất để vượt qua, đó là lý do tại sao tôi giới thiệu nó ở đây).

Bắt đầu trải qua khóa học Andrew Ng một cách chậm rãi và don Gơi bực bội nếu bạn không hiểu được điều gì đó. Tôi phải đặt nó xuống và nhặt nó lên nhiều lần. Tôi cũng đã học Matlab ở trường đại học, đó là ngôn ngữ anh ấy sử dụng trong khóa học, vì vậy tôi đã gặp rắc rối với phần đó. Nhưng nếu bạn muốn sử dụng Python thay thế, bạn có thể tìm thấy các ví dụ được dịch trực tuyến.

Môn Toán :)

Vâng, toán học là cần thiết. Tuy nhiên, tôi không cảm thấy như một cách tiếp cận toán học, mãnh liệt là cách tốt nhất để học; Nó rất đáng sợ đối với nhiều người. Như OCDevel gợi ý trong podcast của anh ấy (được liên kết ở trên), hãy dành phần lớn thời gian của bạn để học máy thực tế và có thể 15 1520% học toán.

Tôi nghĩ rằng bước đầu tiên ở đây là tìm hiểu / kiểm tra số liệu thống kê. Nó có thể dễ dàng hơn để tiêu hóa và rất nhiều niềm vui và thực tế. Sau khi thống kê, bạn chắc chắn sẽ cần phải học một chút về đại số tuyến tính và một số phép tính để thực sự biết những gì diễn ra trong quá trình học sâu. Điều này sẽ mất một chút thời gian, nhưng đây là một số tài nguyên mà tôi khuyên dùng cho việc này.

Tài nguyên thống kê:

  1. Tôi nghĩ rằng các khóa học thống kê về Udacity là khá tốt. Bạn có thể bắt đầu với cái này và sau đó khám phá những cái khác mà họ cung cấp.
  2. Tôi yêu cuốn sách, Số liệu thống kê trần truồng. Nó đầy đủ các ví dụ thực tế và thú vị để đọc.
  3. Nó cũng hữu ích để hiểu số liệu thống kê Bayes và làm thế nào nó khác với các mô hình Thường xuyên và Cổ điển. Khóa học coursera này thực hiện một công việc tuyệt vời để giải thích các khái niệm này - đó cũng là phần 2 của khóa học ở đây.

Tài nguyên đại số tuyến tính:

  1. Cuốn sách, Đại số tuyến tính, Bước từng bước là tuyệt vời. Nó giống như một cuốn sách giáo khoa trung học / đại học nhưng được viết tốt và dễ làm theo. Ngoài ra còn có rất nhiều bài tập cho mỗi chương với câu trả lời ở phía sau.
  2. Bản chất của loạt video Đại số tuyến tính - Các giải thích toán học của 3blue1brown là tuyệt vời. Tôi đánh giá cao nội dung toán học của anh ấy.
  3. Cũng có một cái nhìn tổng quan về đại số tuyến tính trong khóa học Andrew Ng nhưng tôi nghĩ hai tài nguyên tôi liệt kê ở trên dễ sử dụng hơn một chút để học môn học.

Tài nguyên tính toán:

Tôi đã mất vài năm tính toán trước đây, nhưng tôi vẫn cần phải đánh lên khá nhiều. Tôi nhặt một cuốn sách giáo khoa đã sử dụng cho Calc. 1 tại một cửa hàng sách địa phương để bắt đầu. Dưới đây là một số tài nguyên trực tuyến đã giúp tôi là tốt.

  1. Bản chất của loạt video tính toán
  2. Hiểu tính toán từ các khóa học tuyệt vời Plus

Toán hữu ích khác:

  1. Ra quyết định toán học từ các khóa học lớn cộng

Học kĩ càng

Sau khi học một số môn toán và những điều cơ bản của khoa học dữ liệu và học máy, đã đến lúc nhảy vào nhiều thuật toán và mạng lưới thần kinh hơn.

Có lẽ bạn đã có một sở thích học sâu với một số tài nguyên tôi đã đề cập trong phần 1, nhưng đây là một số tài nguyên thực sự tốt để giới thiệu bạn với các mạng thần kinh dù sao đi nữa. Ít nhất họ sẽ là một đánh giá tốt và điền vào một số khoảng trống cho bạn.

  1. 3blue1brown Dòng sê-ri Giải thích về Mạng nơ-ron
  2. Deeplizard từ Giới thiệu đến danh sách phát Deep Learning

Trong khi bạn đang làm việc thông qua khóa học Andrew Ng Stanford, tôi khuyên bạn nên kiểm tra nhanh.ai. Họ có một số khóa học video thực tế, chất lượng cao thực sự có thể giúp tìm hiểu và củng cố các khái niệm này. Đầu tiên là Deep Deep Learning for Coders và thứ hai - vừa được phát hành - là Cut Edge Deep Learning For Coders, Phần 2. Tôi đã chọn rất nhiều thứ từ việc xem và xem lại một số video này. Một tính năng tuyệt vời khác của fast.ai là diễn đàn cộng đồng; có lẽ là một trong những diễn đàn AI trực tuyến tích cực nhất.

Thư viện học tập sâu trong Python

Tôi nghĩ rằng đó là một ý tưởng tốt để tìm hiểu một chút từ cả ba thư viện này. Keras là một nơi tốt để bắt đầu vì API API được tạo ra đơn giản và trực quan hơn. Ngay bây giờ, tôi sử dụng gần như hoàn toàn PyTorch, đây là sở thích cá nhân của tôi, nhưng tất cả chúng đều có pro pro và con con. Do đó, rất tốt để có thể chọn cái nào trong các tình huống khác nhau.

Máy ảnh

  • Danh sách phát Deeplizard Keras - Kênh này có một số giải thích và ví dụ nghiêm túc. Bạn có thể theo dõi cùng với các video miễn phí hoặc có quyền truy cập vào sổ ghi chép mã bằng cách đăng ký trên Patreon ở cấp $ 3 (USD).
  • Tôi cũng tìm thấy tài liệu cho Keras khá tốt
  • Datacamp có nhiều hướng dẫn được viết tốt cho ML và Keras như thế này

Dòng chảy

  • Phần Tensorflow của cuốn sách, Bàn tay trên máy học với Scikit-Learn và Tensorflowùi (cũng đã đề cập ở trên)
  • Dòng sản phẩm kéo căng Deeplizard

Kim tự tháp

  • Dòng sản phẩm Deeplizard Pytorch
  • Bootcamp Udacity Pytorch - Tôi hiện đang sử dụng công nghệ nanodegree Học tập tăng cường sâu Udacity và tôi nghĩ rằng phần PyTorch của họ trước đó trong khóa học là rất tốt. Họ sắp ra mắt nó miễn phí cho công chúng! Dưới đây là một số máy tính xách tay PyTorch của họ trên Github.
  • Fast.ai cũng được xây dựng với PyTorch - Bạn sẽ học được thư viện này một số nếu bạn trải qua các khóa học của họ.

Blog & Tài liệu nghiên cứu

Tôi đã tìm thấy nó rất hữu ích để đọc nghiên cứu hiện tại khi tôi học. Có rất nhiều tài nguyên giúp tạo ra các khái niệm phức tạp và toán học đằng sau chúng, dễ tiêu hóa hơn. Những giấy tờ này cũng thú vị hơn rất nhiều để đọc sau đó bạn có thể nhận ra.

  1. blog nhanh
  2. Chắt lọc .pub - Nghiên cứu về máy học đã giải thích rõ ràng
  3. Hai phút giấy tờ - phân tích video ngắn về AI và các tài liệu nghiên cứu khác
  4. Arvix Sanity - Công cụ trực quan hơn để tìm kiếm, sắp xếp và lưu tài liệu nghiên cứu
  5. Lộ trình học tập sâu
  6. Subreddit Machine Learning - Họ có bạn đang đọc những chủ đề gì về thảo luận về tài liệu nghiên cứu
  7. Arxiv Insights - Kênh này có một số sự cố lớn về tài liệu nghiên cứu AI

Giáo dục bổ túc

  1. The Skeptic Data - Họ có rất nhiều tập ngắn hay, được gọi là [mini] trong đó họ bao quát các khái niệm học máy
  2. Kỹ thuật phần mềm Học máy hàng ngày
  3. OCDevel Machine Learning Podcast - Tôi đã đề cập đến cái này, nhưng tôi đã liệt kê lại nó chỉ trong trường hợp bạn bỏ lỡ nó

Tài nguyên học tập bổ sung

  • Mạng lưới thần kinh và sách điện tử Deep Learning
  • Machine Learning Yearning (bản nháp miễn phí) của Andrew Ng

Kết thúc

Hãy vỗ tay nếu điều này hữu ích :)

Phương tiện truyền thông xã hội: @gwen_faraday

Nếu bạn biết bất kỳ tài nguyên nào khác tốt, hoặc thấy rằng tôi đang thiếu thứ gì đó, vui lòng để lại liên kết trong các bình luận. Cảm ơn bạn.