Kendi Kendime Makine Öğrenmeyi Öğretmek için Kullandığım En İyi Kaynaklar
Makine öğrenimi alanı her yıl daha da yaygınlaşmaktadır. Bu büyümeyle birlikte, yeni başlayanlar için uygulanacak en zor kavramların bazılarını soyutlamak için birçok kütüphane ve araçlar geliyor.
Çoğu insan, endüstride çalışmak için ML'de 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. Üniversiteyi Makine Öğrenimi veya veri derecesi ile mezun etmedim, ancak şu anda başlangıçta ML ile çalışıyorum. Eskiden öğrendiklerimi ve buraya nasıl geldiğimi, başkalarına yardımcı olacağını umarak paylaşmak istiyorum.
Başlamak
Python'u başladığımda çoktan tanıyordum, ama yapmadıysanız, öncelikle temel ve orta seviye Python öğrenmeyi öneriyorum. Dil, diğerlerine göre öğrenmek oldukça kolaydır. Python aynı zamanda en büyük veri bilimine / ML topluluğuna da ev sahipliği yapmaktadır, bu nedenle öğrenirken yardımcı olacak tonlarca araç vardır.
Python'u Öğrenin: freeCodeCamp Python Crash Sahası
Bunun dışında, yapmanız gereken ilk şey, OCDevel tarafından (overcast.fm, iTunes) “The Machine Learning Podcast” uygulamasını en sevdiğiniz podcast uygulamasına indirmek. İlk 10-15 bölümleri dinleyin. Makine öğrenimi ekosistemine genel bir bakış vermede çok iyidirler ve ayrıca OCDevel sitesinde bağlantılı olan tavsiye edilen kaynaklar da vardır.
İşleme
Anaconda & Jupyter Notebook - Bu ML ve veri bilimi için bir zorunluluktur. Kurmak ve kurmak için buradaki talimatları izleyin.
Python Eklentisine sahip Visual Studio Code - Bir Microsoft ürünü önereceğimi hiç düşünmemiştim, ancak son zamanlarda açık kaynak taahhütlerinden dürüstçe etkilendim. Bu şimdi benim Python benzeri hata ayıklama kodunda bazı şeyler yapmak için bile en sevdiğim kod editörüm.
Kaggle.com, işe başladığınızda veri kümelerini bulmak için en iyi yerdir. Devam edin ve bir hesap için kayıt olun ve siteyi dolandırın. Tüm tecrübe seviyelerindeki insanlar için ve hatta onlarla devam edecek dersler için birçok yarışma olduğunu fark edeceksiniz (Titanic hakkındaki bu yeni başlayanlar için olduğu gibi). Bu veri setleri, Python kütüphanelerini öğrenirken pratik yapmak için çok faydalı olacaktır.
Python Kütüphaneleri
Daha sonra, verilerle çalışmak için ortak Python kütüphanelerinin öğrenilmesi önemlidir: Numpy, Matplotlib, Pandas, Scikit-Learn, vb. Bu, atlamak veya gözden geçirme için kullanabileceğiniz bazı temelleri gözden geçiriyor ve Numpy bölümü iyi bir giriş.
Pandalar bir zorunluluktur, ama aynı zamanda pek çok şey yaptığı için kavramak için biraz zaman alır. Numpy'nin üzerine kurulmuştur ve verileri temizlemek, hazırlamak ve analiz etmek için kullanılır. Aynı zamanda 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:
- Kaggle'da Pandaları Öğrenin
- Pandaları Öğrenin Video Kursu | Ders Notu
- Jupyter Notebook Ekstra Örnekler: Temel Bilgiler | Matplotlib ve Pandalarla çizim | Ve daha fazlası
Pandalar sonra Scikit-Learn geliyor. Burası gerçek makine öğrenme algoritmalarına daha çok uygulanmaya başlandığı yerdir. Scikit-Learn, makine öğrenmesi için kullanılan bilimsel bir Python kütüphanesidir.
Şimdiye kadar bulduğum en iyi kaynak “Scikit-Learn ve Tensorflow ile Makine Öğrenmeye Uygulanıyor” kitabı. Size pratik adım adım öğretmek için çok iyi bir iş çıkardığını düşünüyorum. İlk yarı Scikit-Learn ile ilgili, bu yüzden önce o kısmı yaptım, sonra Tensorflow kısmına geri döndüm.
Keras ve PyTorch gibi birçok Python kütüphanesi var, fakat daha sonra bunlara gireceğim. Bu zaten öğrenmesi gereken çok şey var :)
Sığ Öğrenme
Makine öğrenimi için ilk adım budur. Scikit-Learn kütüphanede yerleşik olan doğrusal regresyon gibi basit öğrenme fonksiyonlarına sahiptir. Yukarıda bahsettiğim Scikit-Learn kitabı birçok yaygın makine öğrenme algoritması türünü öğretir ve örnekler üzerinde elinizle pratik yapmanıza izin verir.
Bu iyi olsa da, Andrew Ng’un Stanford’dan Makine Öğrenimi kursuna gitmeyi de faydalı buluyorum. Coursera'da ücretsiz olarak denetlenebiliyor (iTunes'ta bu kurs için bir podcast var, ancak on yıldan daha eskiler için takip etmesi biraz zor). Eğitimin kalitesi şaşırtıcı ve çevrimiçi olarak en çok tavsiye edilen kaynaklardan biri (ulaşması en kolay değil bu yüzden aşağıda öneriliyorum).
Andrew Ng kursuna yavaşça geçmeye başlayın ve eğer bir şey anlamadığınızda sinirlenmeyin. Onu bırakıp birkaç kez almak zorunda kaldım. Ayrıca, Matlab'ı, kursta kullandığı dil olan kolejde de aldım, o yüzden bu konuda sorun yaşamadım. Ancak bunun yerine Python kullanmak istiyorsanız, çevrimiçine çevrilmiş örnekleri bulabilirsiniz.
Matematik :)
Evet matematik gerekli. Ancak, kendimi yoğun bir şekilde hissetmiyorum, ilk matematik yaklaşımı öğrenmenin en iyi yolu; birçok insan için korkutucu. OCDevel'in podcast'inde önerdiği gibi (yukarıda bağlanmıştır), zamanınızın çoğunu pratik makine öğrenmesi ve belki de matematiğin% 15-20'si öğrenmeye harcayacaksınız.
Bence buradaki ilk adım istatistiklerle ilgili bilgi edinmek / tazelemek. Sindirimi daha kolay olabilir ve hem eğlenceli hem de pratik olabilir. İstatistiklerden sonra, derin öğrenmede neler olup bittiğini gerçekten bilmek için bir miktar lineer cebir ve biraz hesap öğrenmeniz gerekecektir. Bu biraz zaman alacaktır, ancak bunun için önerdiğim kaynaklardan bazıları.
İstatistik Kaynakları:
- Udacity'deki istatistik derslerinin oldukça iyi olduğunu düşünüyorum. Bununla başlayabilir ve sonra sundukları diğerlerini keşfedebilirsiniz.
- “Çıplak İstatistik” kitabını sevdim. Pratik örnekler dolu ve okumak için zevkli.
- Ayrıca, Bayesian istatistiklerini ve Frequentist ve Klasik modelleri nasıl değiştirdiğini anlamakta fayda var. Bu kursu kursu, bu kavramları açıklayan harika bir iş yapıyor - bu kursun bir kısmı da var.
Lineer Cebir Kaynakları:
- “Doğrusal Cebir, Adım Adım” kitabı mükemmel. Bir lise / kolej ders kitabı gibi ancak iyi yazılmış ve takip etmesi kolay. Ayrıca her bölüm için arkada cevapları olan birçok alıştırma var.
- Doğrusal Cebir video serisinin Özü - 3blue1brown'un matematik açıklamaları harika. Matematik içeriğini şiddetle tavsiye ediyorum.
- Andrew Ng kursunda lineer cebire genel bir bakış var ama 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 Matematik dersi almıştım, ancak yine de biraz tazelemeye ihtiyacım vardı. Calc için kullanılmış bir ders kitabı aldım. Yerel bir kitapçıda 1 başlatmak için. İşte bana yardımcı olan bazı çevrimiçi kaynaklar.
- Matematik video serisinin özü
- Calculus'u Büyük Kurslardan Artı Anlamak
Diğer Yardımcı Matematik:
- Büyük Kurslardan Artı Matematiksel Karar Verme Artı
Derin Öğrenme
Bazı matematik ve veri bilimi ve makine öğrenmenin temellerini öğrendikten sonra, daha fazla algoritmaya ve sinir ağlarına atlamanın zamanı geldi.
Muhtemelen daha önce Bölüm 1'de bahsettiğim kaynakların bir kısmı ile derinlemesine öğrenmenin tadına varıyorsunuz, ama işte sizi sinir ağlarıyla tanıştırmak için gerçekten çok iyi kaynaklar. En azından onlar iyi bir inceleme olacak ve sizin için bazı boşlukları doldurunuz.
- 3blue1brown’ın Yapay Sinir Ağlarını Açıklayan Serisi
- Deeplizard’ın Derin Öğrenme Çalma Listesine Giriş
Andrew Ng Stanford kursunda çalışırken, hızlı kontrol etmenizi öneririm. Bu kavramları öğrenmeye ve güçlendirmeye gerçekten yardımcı olabilecek birkaç yüksek kaliteli, pratik video dersleri var. İlki, Kodlayıcılar için Pratik Derin Öğrenme ve ikincisi - henüz piyasaya sürülmüş - Kodlayıcılar için Derin Öğrenme, Bölüm 2'dir. Fast.ai'nin bir diğer şaşırtıcı özelliği topluluk forumudur; muhtemelen çevrimiçi olarak en aktif AI forumlarından biri.
Python'da Derin Öğrenme Kütüphaneleri
Bence bu kütüphanelerin üçünden de biraz öğrenmek iyi bir fikir. Keras, API'si daha basit ve sezgisel olduğu için başlamak için iyi bir yerdir. Şu anda, neredeyse tamamen kişisel favorim olan PyTorch kullanıyorum, ancak hepsinde profesyonel ve aleyhte olanlar var. Bu nedenle, farklı durumlarda hangisini seçeceğinizi bilmek iyidir.
keras
- Deeplizard Keras Playlist - Bu kanalın çok ciddi bazı açıklama ve örnekleri var. Patreon'a 3 $ (USD) seviyesinden abone olarak ücretsiz videoları izleyebilir ya da kod defterlerine erişebilirsiniz.
- Keras'ın belgelerinin oldukça iyi olduğunu da buldum
- Datacamp, ML ve Keras için iyi yazılmış çok sayıda öğreticiye sahip.
Tensorflow
- “Scikit-Learn ve Tensorflow ile Makine Öğrenmeye İlişkin Eller” kitabının Tensorflow bölümü (yukarıda da belirtilmiştir)
- Deeplizard Tensorflow Serisi
PyTorch
- Deeplizard Pytorch Serisi
- Udacity Pytorch Bootcamp - Şu anda Udacity’nin Deep Reinforcement Learning nanodegree’sini alıyorum ve PyTorch bölümlerinin kursun başlarında çok iyi olduğunu düşündüm. Halka ücretsiz olarak fırlatmak üzereler! İşte Github'daki PyTorch notebook'larından bazıları.
- Fast.ai aynı zamanda PyTorch ile de inşa edilmiştir - Bu kitaplıklardan bazılarını derslerini alırsanız öğreneceksiniz.
Bloglar ve Araştırma Kağıtları
Öğrendiğim kadarıyla mevcut araştırmaları okumayı çok faydalı buldum. Karmaşık kavramların yapılmasına yardımcı olan ve arkalarındaki matematiğin sindirimi kolaylaştıran çok sayıda kaynak vardır. Bu gazeteleri okumak çok daha eğlencelidir, o zaman fark edebilirsiniz.
- fast.ai blog
- Distill .pub - Makine Öğrenimi Araştırması açıkça anlatıldı
- İki Dakika Makalesi - AI ve diğer araştırma makalelerinin kısa video arızası
- Arvix Sanity - Araştırma kağıtlarını aramak, sıralamak ve kaydetmek için daha sezgisel bir araç
- Derin Öğrenme Makaleleri Yol Haritası
- Makine Öğrenimi Subreddit - Araştırma makalelerini tartışan "okuduğunuz" konuları var
- Arxiv Insights - Bu kanalın AI araştırma makalelerinde bazı büyük arızaları var
Ses ek eğitim
- The Data Skeptic - Makine öğrenimi kavramlarını kapsayan [mini] denilen birçok kısa bölümleri var.
- Yazılım Mühendisliği Günlük Makine Öğrenimi
- OCDevel Machine Learning Podcast - Bundan zaten bahsetmiştim, ancak kaçırmış olmanız durumunda tekrar listeliyorum
Ek Öğrenme Kaynakları
- Yapay Sinir Ağları ve Derin Öğrenme E-kitabı
- Makine Öğrenimi Yearning (ücretsiz taslak) Andrew Ng tarafından
Son
Lütfen bu yardımcı olduysa alkış :)
Sosyal Medya: @gwen_faraday
Diğer kaynakları iyi biliyorsanız veya bir şeyleri özlediğimi anlıyorsanız, lütfen yorumlardaki bağlantıları bırakın. Teşekkür ederim.