- Shai Shalev-Shwartz ve Shai Ben-David tarafından yazılan "Understanding Machine Learning", 2014 yılında Cambridge University Press tarafından yayımlanan bir kitap
- Makine öğreniminin teorik arka planını ve algoritmalarını ele alıyor
- Cambridge University Press'in izniyle kitap metninin PDF'i yayımlandı ve yalnızca kişisel kullanım için indirilebiliyor
- Dağıtım amaçlı değildir
1 yorum
Hacker News görüşleri
Makine öğrenmesini kolayca anlamak istiyorsanız Josh Starmer’ın The StatQuest Illustrated Guide to Machine Learning kitabını öneririm: https://www.goodreads.com/book/show/75622146-the-statquest-i...
Şimdiye kadar Starmer kadar karmaşık kavramları açık ve özlü anlatan bir öğretmen görmedim; neredeyse çocuk kitabı gibi bir formatta olduğu için okuması ve anlaması kolay.
Yakın zamanda sinir ağları kitabı da çıkardı; o da aynı derecede iyi. Zaten uzman olsanız bile makine öğrenmesinin karmaşık kavramlarını öğretmek ve aktarmak için iyi yöntemler edinmenizi sağladığından şiddetle tavsiye ederim.
Üniversitede istatistik okurken yardımcı kaynak olarak çok kullandım.
Ancak makine öğrenmesini yüzey seviyesinin ötesinde öğrenmek için önermek zor; ayrıca biraz eski kalmış gibi hissettiriyor.
Henüz okumadım ama sinir ağları kitabı bu eksikliği giderebilir.
Web/geliştirme yazılım mühendisi geçmişi olan birinin burada önerilen kitaplara ciddi şekilde çalışarak makine öğrenmesi/yapay zeka rollerine girebileceğini düşünmek makul mü, onu da merak ediyorum.
İşim ekonometrik analizde makine öğrenmesi kullanmak; ekonomistlerin çoğu makine öğrenmesini sezgisel olarak anlamıyor.
Makine öğrenmesinin temellerini anlamak istiyorsanız Stanford’un Probability for computer scientists dersi harika bir kaynaktı: https://www.youtube.com/watch?v=2MuDZIAzBMY&list=PLoROMvodv4...
Olasılık teorisini ve makine öğrenmesinin teorik temelini ele alış biçimi, gördüğüm tüm derslerden daha iyiydi; ancak temelde makine öğrenmesi temellerini kapsayan bir olasılık dersine daha yakın.
Andrew Ng’nin dersi de efsanevi, ama lineer cebir tarafında matematiksel aşinalık gerektiriyor.
CS109 ders notlarının PDF’sini de alabilirsiniz: https://chrispiech.github.io/probabilityForComputerScientist...
Makine öğrenmesi konularına teorik bir anlayış istiyorsanız Caltech’in Learning From Data dersi de iyiydi: https://work.caltech.edu/telecourse
Bu Caltech dersinin kitabı da var: https://www.amazon.com/Learning-Data-Yaser-S-Abu-Mostafa/dp/...
Sinir ağlarının sıfırdan nasıl oluşturulduğunu anlamak için Neural Networks: Zero to Hero iyi bir kaynak: https://www.youtube.com/watch?v=VMj-3S1tku0&list=PLAqhIrjkxb...
https://bloomberg.github.io/foml/#home Bu ders kişisel olarak en beğendiğim ders.
Amacınız güncel üretken yapay zekayı öğrenmekse bunun yerine https://udlbook.github.io/udlbook/ kaynağını öneririm.
Birkaç yıl önce bir kısmını okumuştum; hatırladığım kadarıyla oldukça teorikti, istatistiksel öğrenme teorisi ağırlıklıydı ve Vapnik’in yapısal risk minimizasyonunu ele alan kısmının şahsen yanlış olduğunu düşünüyorum.
Teoriye çok güçlü biçimde yaslanıyor, uygulama ise fiilen neredeyse yok; 2014 tarihli bir kitap olduğu için yapay zeka alanında ebediyet kadar eski sayılır, bu yüzden uygulama içeriğinin bugün tamamen eskimiş olma ihtimali yüksek.
Günümüzde bu kitabı okumak isteyecek çok kişi olacağını sanmıyorum.
Bildiğim kadarıyla istatistiksel öğrenme teorisi gibi matematiksel teoriler Transformer’ın icadına pek yardımcı olmadı; sinir ağlarının büyük VC boyutuna rağmen neden overfit etmediğini açıklamakta da yararlı olmadı.
Başlıktaki “teoriden makine öğrenmesine” ifadesi bu teori öncelikli yaklaşımın sorununu iyi gösteriyor.
Matematiğe ilgi duyup yazılım mühendisliğine ilgi duymayan insanlar makine öğrenmesine girip istatistiksel öğrenme teorisi gibi soyut öğrenme teorileri geliştirdiler, ama bunlar pratikte yapılabilecek işlerden uzaktı.
Buna karşılık mühendisler bu teorileri görmezden gelip gerçek sinir ağı uygulamalarıyla ellerini kirleterek performansı artırmaya çalıştı; bunun sonucunda evrişimli sinir ağları ve daha sonra Transformer gibi şeyler ortaya çıktı.
Vapnik’in kendi kitabının önsözünde, güzel matematiksel teoriyi görmezden gelip yalnızca pratiğe odaklanan eğilimden aşırılıkçılık gibi şikâyet ettiğini hatırlıyorum.
Ama artık bu teorilerin gerçekten iyi çalışan yaklaşımların karmaşıklığını açıklamak için fazla zayıf olduğu netleşti ve bence makine öğrenmesinin matematik ya da teorik bilgisayar bilimi değil, mühendisliğin bir dalı olduğu ortaya çıktı.
Bu kitabın başlığında, insanların önce soyut öğrenme teorisini öğrenip ilham alarak yakında yeni algoritmalar geliştireceği yönünde yanlış bir umut var.
İstatistiksel öğrenme teorisi denetimli öğrenmeyi ancak zar zor modelleyebilir; pekiştirmeli öğrenme ya da özdenetimli öğrenme bir yana.
Sinir ağlarının overfitting’e neden dayanıklı olduğunu bile açıklayamıyor; hesaplamalı/algoritmik öğrenme teorisi, Solomonoff tümevarımı, Kolmogorov karmaşıklığı gibi hayalî teoriler ise gerçeklikten daha da uzak.
Belirli yönlerinin şaşırtıcı olduğunu ve veri kümesinin boyutu ile çeşitliliği uygunsa ölçekleme yasalarının çoğu zaman geçerli olduğunu anlıyorum.
Ama önceden eğitilmiş bir modeli fine-tune etmek yerine gerçek bir veri kümesiyle sıfırdan eğitim yapmış biri olarak, veri yeterince çok değilse sinir ağları kesinlikle overfit edebilir.
Sezgime göre mevcut teorilerin belirli koşullarda, örneğin belirli veri kümesi özelliklerinde doğru olduğu kanıtlanmamış gibiydi; bugünlerde ise veri kümesinin devasa olduğu örtük biçimde varsayılıyor ve bu tür koşullar atlanıyor gibi görünüyor.
FAANG dışı şirketlerdeki niş problemler ya da açık olsa da ticari olmayan veri kümelerini kullanamama gerçeği açısından bu hâlâ gerçek bir sorun.
Her problem temel modellerle ya da frontier modellerle çözülmüyor.
İlgili makaleler önerilirse sevinirim; hâlâ öğreniyorum.
Fizik gibi: kuantum mekaniği gibi şeyleri anlamak için matematiksel teori gerekir. Aksi hâlde mantıklı gelmeyebilir.
Araştırma yapmayan bir yazılım mühendisi için makine öğrenmesi kavramlarını derinlemesine anlamanın pratik bir değeri olup olmadığını merak ediyorum.
Araştırma tarafına geçme planım yok; kariyerim için öğrenmeyi nereye yoğunlaştırmam gerektiğini anlamaya çalışıyorum.
Kabaca şirketlerde yapay zeka/ML uygulama talebi var gibi görünüyor, ama debug’ın bir kısmı dışında modeli sıfırdan geliştirmenin değeri var mı?
Sıradan bir iş senaryosunda, belirli kullanım durumuna uygun hazır bir modeli biraz ayarlamak çoğu zaman yeterli olabilir mi, onu da merak ediyorum.
Bu kitap, makine öğrenmesi teorisi, özellikle de istatistiksel öğrenme teorisi için en sevdiğim giriş kitabı; diğer kitaplara göre çok daha erişilebilir.
2014 tarihli bir kitap; hâlâ gerçekten ilgili mi?
Kitap 10 yıllık; eskimiş değil mi?
Bias/variance ikilemiyle ilgili güncelleme de Geman’ın 1992 tarihli özgün makalesine bakınca büyük değil: https://www.dam.brown.edu/people/documents/bias-variance.pdf
O dönemde küçük veri kümeleri ya da sonsuz veri kümeleri ele alınıyordu; double descent ise yalnızca test kümesindeki örüntüler eğitim kümesindeki örüntülere yeterince benzediğinde düzgün çalışır.
Eski görüşlerin bazılarına dikkat etmek gerekir, ama temel kavramlar aynı.
Fine-tuning ya da pekiştirmeli öğrenmede de öğrenme verisinin kavram sınıfının yeni olabildiği küçük veri kümesi/sonsuz veri kümesi problemlerine 1992 makalesi hâlâ uygulanır; bunun evrensel olarak geçersiz olduğunu varsaymak insanın ayağına dolanır.
Temel kavramların çoğu 20. yüzyılın ortasından geliyor.
Büyük ölçekli verinin erişilebilirliği ve yeni keşifler, önceki çalışmaları geçersiz kılmaktan ziyade varsayımları ve araçları çok daha fazla değiştirdi.
O makaleye göz gezdirirseniz, bugün sahip olduğumuz büyük veri ve hesaplama gücünün o zaman gerçekçi olmadığı için basitçe dışarıda bırakıldığını görebilirsiniz.
Kendinize iyi uyan bir kitap bulup kavramları öğrenmek ve örtük bilgi biriktirmek iyi olur.
Pek çok girişim sembolik yöntemlerle diğer yöntemleri de entegre etmeye çalışıyor.
Genişlik ve derinliği birlikte geliştirmek zamanı korumaya ve fırsat bulmaya yardımcı olur; bunun için temel bilginin belirleyici olduğunu düşünüyorum.
Makine öğrenmesinin eğitim/doğrulama, variance/bias gibi temelleri aynı; klasik algoritmaların da hâlâ yeri var.
Eksik kalmış olabilecek güncel gelişmeler en fazla XGBoost tarzı ormanlar civarındadır.
Bu üç kitap varsa, en temel konulardan ileri başlıklara kadar kelimenin tam anlamıyla başka bir şeye gerek yok.
Sadece makine öğrenmesini merak ediyorsanız, bilgilerin yanlış olma ihtimali neredeyse yok.
Ama örneğin 11 yıllık bir kimya kitabının aksine, bugün mühendislerin uğraştığı en ilginç problemlerle pek temas etmiyor.
Bu yüzden mülakat hazırlığı ya da sektöre giriş için en yararlı kaynak olmayabilir.
Çünkü son teknoloji derin öğrenmeye değil, değeri tartışmalı soyut matematiksel teoriye ağırlık veriyordu.
Önerebileceğiniz başka kitaplar var mı?
Tanınmış araştırmacılar tarafından yazılmış, ücretsiz ve kolay anlaşılır bir giriş kitabı; klasik konuları geniş biçimde ele alıyor ve kod içeren çok sayıda “Lab” bölümü de var.
Derin öğrenme bölümü de bulunuyor, ancak son gelişmeleri kapsamadığı için o kısım için başka kaynaklar gerekiyor.
Açıklamaları sağlam ve AIMA kadar eski hissettirmiyor.