Makine Öğrenimini Kendime Öğretmek İçin Kullandığım En İyi Kaynaklar

Makine öğrenimi alanı her yıl giderek daha yaygın hale geliyor. Bu büyümeyle birlikte, yeni başlayanlar için uygulaması en zor kavramlardan bazılarını soyutlamak için birçok kütüphane ve araç geldi.

Çoğu insan, sektörde çalışmak için makine öğreniminde daha yüksek bir dereceye ihtiyacınız olduğunu söyleyecektir. Verilerle ve pratik matematikle çalışmayı seviyorsanız, bunun doğru olmadığını söyleyebilirim. Üniversiteden Makine Öğrenimi veya veri derecesi ile mezun olmadım, ancak şu anda bir başlangıçta Makine Öğrenimi ile çalışıyorum. Eskiden öğrendiklerimi ve buraya nasıl geldiğimi başkalarına yardımcı olması umuduyla paylaşmak istiyorum.

Başlangıç

Python'u başladığımda zaten biliyordum, ancak bilmiyorsanız, önce temel ve orta Python öğrenmenizi öneririm. Diğerlerine kıyasla dili öğrenmek oldukça kolaydır. Python ayrıca en büyük veri bilimi / makine öğrenimi topluluğuna ev sahipliği yapmaktadır, bu nedenle öğrenirken yardımcı olacak tonlarca araç vardır.

Python Öğrenin: freeCodeCamp Python Crash Kursu

Bunun dışında yapmanız gereken ilk şey, OCDevel (overcast.fm, iTunes) tarafından hazırlanan “The Machine Learning Podcast” i favori podcast uygulamanıza indirmektir. İlk 10-15 bölümü dinleyin. Makine öğrenimi ekosistemine genel bir bakış sağlamakta çok başarılılar ve ayrıca OCDevel sitesinde bağlantılı önerilen kaynaklar da var.

Takımlama

Anaconda & Jupyter Notebook - Bunlar ML ve veri bilimi için bir zorunluluktur. Bunları yüklemek ve kurmak için buradaki talimatları izleyin.

Python Eklentili Visual Studio Kodu - Bir Microsoft ürünü tavsiye edeceğimi hiç düşünmemiştim, ancak son zamanlarda açık kaynak taahhütlerinden gerçekten etkilendim. Bu, kod hata ayıklama gibi Python'da bazı şeyler yapmak için bile en sevdiğim kod düzenleyicidir.

Kaggle.com, başlangıçta veri kümelerini bulmak için en iyi yerdir. Devam edin ve bir hesap açın ve siteyi dolaşın. Her deneyim seviyesinden insanlar için birçok yarışma ve hatta onlarla birlikte gidecek öğreticiler olduğunu fark edeceksiniz (Titanik hakkında bu yeni başlayanlar için uygun olan gibi). Bu veri kümeleri, Python kitaplıklarını öğrenirken pratik yapmak için çok yardımcı olacaktır.

Python Kitaplıkları

Daha sonra, verilerle çalışmak için ortak Python kitaplıklarını öğrenmek önemlidir: Numpy, Matplotlib, Pandas, Scikit-Learn, vb. Bu kursa veri kampından başlamanızı öneririm. Gözden geçirme için atlayabileceğiniz veya kullanabileceğiniz bazı temel bilgilerin üzerinden geçiyor ve Numpy bölümü iyi bir giriş.

Pandalar öğrenilmesi gereken bir şeydir, ancak pek çok şey yaptığı için kavraması da biraz zaman alır. Numpy üzerine inşa edilmiştir ve verileri temizlemek, hazırlamak ve analiz etmek için kullanılır. Ayrıca görselleştirme gibi şeyler için yerleşik araçlara sahiptir. Pandaları öğrenmek ve onunla pratik yapmak için birçok kaynak kullandım. Burda biraz var:

  1. Kaggle'da Pandalar Öğrenin
  2. Pandaları Öğrenin Video Kursu | Ders Not Defteri
  3. Jupyter Notebook Ek Örnekler: Temel Bilgiler | Matplotlib ve Pandalar ile Çizim | Ve daha fazlası

Pandalar'dan sonra Scikit-Learn geliyor. Gerçek makine öğrenimi algoritmalarına daha çok şeylerin uygulanmaya başladığı yer burasıdır. Scikit-Learn, makine öğrenimi için bilimsel bir Python kitaplığıdır.

Bunun için şimdiye kadar bulduğum en iyi kaynak "Scikit-Learn ve Tensorflow ile Makine Öğreniminde Uygulamalı Öğrenme" kitabıdır. Pratik örneklerle size adım adım öğretmek için çok iyi bir iş çıkardığını düşünüyorum. İlk kısım Scikit-Learn ile ilgili, bu yüzden önce o kısmı yaptım ve sonra Tensorflow kısmına geri döndüm.

Keras ve PyTorch gibi başka birçok Python kitaplığı var, ancak bunlara daha sonra gireceğim. Bu zaten öğrenilecek çok şey var :)

Sığ Öğrenme

Bu, makine öğreniminin ilk adımıdır. Scikit-Learn, kütüphanede yerleşik doğrusal regresyon gibi yüzeysel öğrenme işlevlerine sahiptir. Yukarıda bahsettiğim Scikit-Learn kitabı birçok yaygın makine öğrenimi algoritması hakkında bilgi verir ve uygulamalı örneklerle pratik yapmanızı sağlar.

Bu iyi olsa da, Andrew Ng'nin Stanford'daki Makine Öğrenimi kursuna gitmeyi de faydalı buldum. Coursera'da ücretsiz olarak denetlenebilir (bu kurs için iTunes'da bir podcast var, ancak takip etmesi biraz zor ve on yıldan daha eski). Eğitimin kalitesi harika ve çevrimiçi ortamda en çok tavsiye edilen kaynaklardan biri (üstesinden gelmesi en kolay değil, bu yüzden burada tavsiye ediyorum).

Andrew Ng kursuna yavaşça başlayın ve bir şeyi anlamazsanız hayal kırıklığına uğramayın. Birkaç kez indirip almam gerekti. Kursta kullandığı dil olan Matlab'ı üniversitede de aldım, bu yüzden o bölümle ilgili sorun yaşamadım. Ancak bunun yerine Python kullanmak isterseniz, çevrimiçi olarak çevrilmiş örnekleri bulabilirsiniz.

Matematik :)

Evet, matematik gerekli. Ancak, yoğun, matematiğe öncelik veren bir yaklaşımın öğrenmenin en iyi yolu olduğunu düşünmüyorum; birçok insan için korkutucu. OCDevel'in podcast'inde (yukarıda bağlantılı) önerdiği gibi, zamanınızın çoğunu pratik makine öğrenimini ve belki de% 15-20'sini matematik çalışmayı öğrenerek geçirin.

Sanırım buradaki ilk adım, istatistikleri öğrenmek / tazelemek. Sindirmek daha kolay olabilir ve hem çok eğlenceli hem de pratik olabilir. İstatistiklerden sonra, derin öğrenmede neler olup bittiğini gerçekten anlamak için biraz doğrusal cebir ve biraz hesap öğrenmeniz gerekecek. Bu biraz zaman alacaktır, ancak işte bunun için önerdiğim kaynaklardan bazıları.

İstatistik Kaynakları:

  1. Udacity ile ilgili istatistik derslerinin oldukça iyi olduğunu düşünüyorum. Bununla başlayabilir ve ardından sundukları diğerlerini keşfedebilirsiniz.
  2. Çıplak İstatistikler kitabına bayıldım. Pratik örneklerle dolu ve okuması keyifli.
  3. Ayrıca, Bayes istatistiklerini ve Frekans ve Klasik modelleri nasıl farklılaştırdığını anlamak da yararlıdır. Bu kurs kursu, bu kavramları açıklamak için harika bir iş çıkarıyor - burada ayrıca kursun bir bölümü 2 var.

Doğrusal Cebir Kaynakları:

  1. "Doğrusal Cebir, Adım Adım" kitabı mükemmel. Lise / üniversite ders kitabı gibi ama iyi yazılmış ve takip etmesi kolay. Ayrıca her bölüm için arkada cevapları olan çok sayıda alıştırma var.
  2. Doğrusal Cebir Özü video serisi - 3blue1brown'ın matematiksel açıklamaları harika. Matematik içeriğini şiddetle tavsiye ediyorum.
  3. Andrew Ng kursunda da doğrusal cebire genel bir bakış var, ancak yukarıda listelediğim iki kaynağın konuyu öğrenmek için kullanımı biraz daha kolay olduğunu düşünüyorum.

Matematik Kaynakları:

Daha önce birkaç yıl Calculus dersi almıştım, ama yine de biraz fırçalamam gerekiyordu. Calc için kullanılmış bir ders kitabı aldım. 1 yerel kitapçıda başlamak için. İşte bana da yardımcı olan bazı çevrimiçi kaynaklar.

  1. Analiz Özü video dizisi
  2. Great Courses Plus'tan Kalkülü Anlamak

Diğer Yararlı Matematik:

  1. Büyük Derslerden Matematiksel Karar Verme Plus

Derin Öğrenme

Biraz matematik ve veri bilimi ile makine öğreniminin temellerini öğrendikten sonra, daha fazla algoritmaya ve sinir ağına atlamanın zamanı geldi.

Muhtemelen 1. bölümde bahsettiğim kaynaklardan bazılarıyla derin öğrenmenin tadına varmışsınızdır, ancak işte yine de sizi sinir ağlarıyla tanıştırmak için gerçekten iyi kaynaklar. En azından iyi bir inceleme olacak ve sizin için bazı boşlukları dolduracaklar.

  1. 3blue1brown'un Sinir Ağlarını Açıklayan Serisi
  2. Deeplizard'ın Derin Öğrenme Oynatma Listesine Giriş

Andrew Ng Stanford kursunda çalışırken, fast.ai'ye bakmanızı öneririm. Bu kavramları öğrenmeye ve sağlamlaştırmaya gerçekten yardımcı olabilecek birkaç yüksek kaliteli, pratik video kursları var. İlki Kodlayıcılar için Pratik Derin Öğrenme ve ikincisi - yeni yayınlandı - Kodlayıcılar İçin Keskin Uçlu Derin Öğrenme, Bölüm 2. Bu videolardan bazılarını izlemekten ve yeniden izlemekten çok şey aldım. Fast.ai'nin bir başka şaşırtıcı özelliği de topluluk forumudur; Muhtemelen çevrimiçi en aktif AI forumlarından biri.

Python'da Derin Öğrenme Kitaplıkları

Bence bu üç kütüphaneden de biraz öğrenmek iyi bir fikir. Keras, API'sı daha basit ve sezgisel olacak şekilde yapıldığından başlamak için iyi bir yerdir. Şu anda neredeyse tamamen PyTorch kullanıyorum, ki bu benim kişisel favorim, ancak hepsinin profesyonelleri ve eksileri var. Bu nedenle, farklı durumlarda hangisinin seçilebileceğini bilmek iyidir.

Keras

  • Deeplizard Keras Oynatma Listesi - Bu kanalda çok iyi açıklamalar ve örnekler var. Videoları ücretsiz olarak takip edebilir veya Patreon'a 3 $ (USD) katmanından abone olarak kod defterlerine erişebilirsiniz.
  • Keras'ın belgelerini de oldukça iyi buldum
  • Datacamp'ta makine öğrenimi ve Keras için bunun gibi birçok iyi yazılmış öğretici var

Tensorflow

  • "Scikit-Learn ve Tensorflow ile Makine Öğreniminde Uygulamalı Öğrenme" kitabının Tensorflow bölümü (yukarıda da bahsedilmiştir)
  • Deeplizard Tensorflow Serisi

PyTorch

  • Deeplizard Pytorch Serisi
  • Udacity Pytorch Bootcamp - Şu anda Udacity'nin Deep Reinforcement Learning nanodegree'yi alıyorum ve kursun önceki PyTorch bölümünün çok iyi olduğunu düşündüm. Bunu halka ücretsiz olarak piyasaya sürmek üzereler! İşte Github'daki PyTorch not defterlerinden bazıları.
  • Fast.ai, PyTorch ile de oluşturulmuştur - Bu kütüphaneyi, kurslarından geçerseniz biraz öğreneceksiniz.

Bloglar ve Araştırma Makaleleri

Güncel araştırmaları öğrendikçe okumayı çok yararlı buldum. Karmaşık kavramları ve bunların arkasındaki matematiği sindirmeyi kolaylaştıran birçok kaynak var. Bu kağıtları okumak da çok daha eğlenceli, farkına varabilirsiniz.

  1. fast.ai blogu
  2. Distill .pub - Makine Öğrenimi Araştırması açıkça anlatıldı
  3. Two Minute Papers - AI ve diğer araştırma makalelerinin kısa video dökümleri
  4. Arvix Sanity - Araştırma belgelerini aramak, sıralamak ve kaydetmek için daha sezgisel bir araç
  5. Derin Öğrenme Raporları Yol Haritası
  6. Makine Öğrenimi Subreddit - Araştırma makalelerini tartışan 'ne okuyorsun' başlıkları var
  7. Arxiv Insights - Bu kanalda yapay zeka araştırma makalelerinin bazı harika dökümleri var

Sesli Tamamlayıcı Eğitim

  1. Veri Şüphecisi - Makine öğrenimi kavramlarını kapsadıkları [mini] adı verilen çok sayıda daha kısa bölümler var
  2. Yazılım Mühendisliği Günlük Makine Öğrenimi
  3. OCDevel Machine Learning Podcast - Bundan daha önce bahsetmiştim, ancak kaçırırsanız diye tekrar listeliyorum

Ek Öğrenme Kaynakları

  • Sinir Ağları ve Derin Öğrenme E-kitabı
  • Makine Öğrenimi Özlemi (ücretsiz taslak), Andrew Ng

Son

Bu yardımcı olduysa lütfen alkışlayın :)

Sosyal Medya: @gwen_faraday

İyi olan başka kaynaklar biliyorsanız veya bir şeyi kaçırdığımı görürseniz, lütfen yorumlarda bağlantılar bırakın. Teşekkür ederim.