İstatistik, Veri Bilimi, Makine Öğrenmesi ve Derin Öğrenme için Yararlandığım Kitaplar
Gün içinde “Bana kaynak önerir misin?” diyen çok kişi oluyor. Ben genelde kitaplardan öğreniyorum bu yüzden yararlandığım kaynaklar hakkında bir post yazmak istedim, bunların bazısı e-kitap. Kitapların bazılarını bitirdim, bazılarını da gün içinde spesifik bir sorunla karşılaşırsam açıp bakıyorum, sırası geldiğinde bitireceğim. Bu gönderiyi aslında Linkedin’de kısa bir gönderi olarak paylaşmak istedim, ama laf lafı açtı da karakter sınırına takıldım. :)
ML/DL Kitapları:
Introducing MLOps: Bu kitap teknik bir kitap olarak sayılmasa da üretimde makine öğrenmesi süreçlerinin nasıl yönetilmesine gerektiğine dair çok kıymetli bilgiler var, deneyimsiz ve junior makine öğrenmesi mühendislerinin faydalanabileceğini düşünüyorum. Bu kitabın ücretsiz pdf’ini yasal olarak şu sayfadan talep edebilirsiniz: https://pages.dataiku.com/oreilly-introducing-mlops
AI and Machine Learning for Coders (Laurence Moroney): Laurence Moroney’i hepimiz tanıyoruzdur, kendisi herkese Tensorflow öğretti :) Bu kitap makine öğrenmesi algoritmalarından MVP yapmak isteyen (asgari yararlı ürün) yazılım mühendislerine makine öğrenmesini açıklıyor, ama eğer ileri seviyedeyseniz işinizi görmeyebilir, Laurence Moroney’nin youtube rehberlerinin kitap hali gibi :).
Introduction to Machine Learning with Python — Andreas Müller (e-kitap): Bu kitapta genelde sklearn’de uçtan uca bir ML pipeline’ı nasıl kurabileceğiniz yazıyor ama veri bilimi tarafı çok ağır değil, bundan ziyade gözetimli ve gözetimsiz öğrenme üstüne algoritmalar ve en iyi pratikler mevcut. Kitabı bitirdim, eğer “teorisini kavradım artık kodlamak istiyorum” derseniz iyi bir kitap. Derin öğrenmeye küçük bir yer ayrılmış.
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow — Aurelien Geron: Bu kitabın TF 1.0 için olan versiyonunu okumuştum, 2.0 için yeni aldım, uygulama konusunda okuduğum en iyi kitaplardan biri, içinde hem ML hem DL’in teorisi de pratiği de mevcut (ama az sonra söyleyeceğim kitaplar kadar değinmiyor teoriye) Ama iyi tarafı deployment kısmı var, ML on the Edge’e değiniyor ve TF-Agents’la pekiştirmeli öğrenmeye değindiği bir kısmı da var)
Deep Learning — Bengio, Courville, Goodfellow (e-kitap, internette bulabilirsiniz ama pdf’i dağıtılmıyor, Türkçesi Buzdağı Yayınevi’nde var): Derin öğrenmenin teorisini bu kadar derin işleyen (en azından benim gördüğüm) tek kitap olabilir. Lineer cebirden başlayıp GAN’lara (ki Goodfellow GAN’ların babası :)) kadar her şey var. Bunu okudum ama baştan başlayıp okuyayım bitireyim diyebileceğiniz bir kitap değil, ben de işim düştükçe bakarak okudum. Pratik kısmı yok, bunun için alttaki kitabı kullanmanız gerek.
Python ile Derin Öğrenme — François Chollet (bu kitabı Buzdağı Yayınevi dışında bulmanız zor): Bu kitabı bitirdim, derin öğrenmede aklınıza gelen ne varsa içinde Keras’la pratiği mevcut. Ama Keras’ın Tensorflow’a konulmasından önceki hali var bu yüzden Tensorflow kullanıcısıysanız kodları tf.keras’a adapte edip kullanmalısınız. Benim en sevdiğim kitaplardan biri olabilir, kitabın yazarı Keras’ın babası :) Eğer teorisini biliyorsanız ya da teorisiyle pek ilgilenmiyorsanız her algoritmanın teorisi basit şekilde açıklanmış.
Artificial Intelligence A Modern Approach — Peter Norvig & Stuart Russell: Bu kitap da istatistiksel makine öğrenmesi, pekiştirmeli öğrenme ve derin öğrenme algoritmalarını (bunun dışında veriden öğrenilmeyen teknikleri) teorisini işleyen bir kitap. Problemleri farklı alanlarda (doğal dil işleme, bilgisayarlı görü, robotik gibi) nasıl çözebileceğinizi anlatan bir kısmı var. İşin garip tarafı, derin öğrenmeyi çok basit ve kısa işlemiş, gözetimsiz öğrenme ise yok. Bakış açımı değiştiren kitaplardan biri oldu.
Natural Language Processing with Python — Bird, Klein & Loper (bunun e-kitap halini nltkbook.org’da bulabilirsiniz): NLP’ye yeni başladıysanız güzel bir başlangıç noktası. Bu kitap NLTK’e odaklanmış durumda tamamen, benim gün içinde kullandığım spaCy, gensim, huggingface gibi kütüphaneler yok. Ama verinizi nasıl işlemeniz gerek (bilmeyenler için NLP’de her problem için ayrı veri işliyoruz) probleme göre verinin temsili nasıl olmalı gibi sorularınıza kodlarıyla birlikte cevaplar alabilirsiniz.
Generative Deep Learning, Teaching Machines to Paint, Write, Compose, and Play — David Foster (e-kitap): Bu benim en beğendiğim ve en okumaya fırsatım olmadığı kitaplardan biri. İçinde bütün domain’lerde (görüntü, ses, metin) veri üretimi nasıl yapılır anlatıyor, CycleGAN, VAE, DCGAN gibi mimarilerin hepsi var, hatta metin üretme için GPT-2 gibi dil modellerine bile değinilmiş. Kitapların fiziksel kopyalarını aldığımda bitirmeye daha çok odaklanıyorum, bu yüzden fiziksel kopyasını sipariş ettim, gerçekten çok güzel bir kitap.
İstatistik/Veri Bilimi:
Python Data Science Handbook: Essential Tools for Working with Data — Jake VanderPlas (e-kitap): Bu kitabı çok severek okudum, bitirdim. Pandas ve sklearn’le ham veriyi alıp keşifsel veri analizi, veri ön işleme, model kurma, hiperparametre optimizasyonu sürecini yönetmek üzerine bütün adımlar var. İşimde çok yardımcı olmuştu.
Çıplak İstatistik — Charles Wheelan: Bu benim en sevdiğim kitaplardan biri, keşke üniversitede okurken karşılaşsaymışız diyorum. İstatistik kavramlarını (hatta basit bir makine öğrenmesi algoritması yazmak için bilmeniz gereken şeyler bile var) çok eğlenceli ve sezgisel açıklayan bir kitap. İki üç günde bitirdiğimi hatırlıyorum, ama baştan sona istatistik öğrenebileceğiniz bir kitap değil.
The Art of Statistics (How to Learn from Data) — David Spiegelhalter: Bu kitap da çıplak istatistik gibi, ama daha ileri seviye hali. İstatistiği eğlenceli bir şekilde anlatıyor. Ne yazık ki bu da istatistiği baştan sona öğrenebileceğiniz bir kitap değil ama istatistiğe neden ihtiyacımız var, nerede nasıl kullanabiliriz gibi soruların çoğunun cevabı var, içinde az çok soru da çözüyor. (regresyon gibi)
Yukarıdaki kitaplar dışında master’a çalışırken kullandığım iki kitap daha var, ikisini de baştan sona okuduğum için yukarıdakilerin bazılarını askıya aldım.
Probability and Statistics — Jay L. Devore: Sıfırdan olasılık ve istatistik öğrenebileceğiniz bir kitap, hatta bayağı ders kitabı. Ben genelde dersi dinleyip geçmekten ziyade başkasının sezgilerine güvenmeyen biriyim, bu yüzden bana anlatılan yöntemlere güvenmediğimden ders kitaplarından çalışıyorum.
Data Structures and Algorithms in Python — Tamassia, Goodrich, Goldwasser: Bilgisayar bilimleri mezunu biri değilim bu yüzden oturup veri yapıları ve algoritmalar dersini aldım, bu kitap da ders kitabıydı. Bu dersi almamın da temel sebebi iyi şirketlerin iş mülakatlarında genelde veri yapıları soruları gelmesi, ama sonradan bunun ne kadar gerekli olduğunu gördüm. Ne zaman okusam bakış açım değişiyor :) Hem teorik hem pratik bir kitap, içinde her algoritmanın teorisi ve uygulaması var.
Bilişsel bilim (Cognitive Science üstüne):
The Book of Why — Judea Pearl: Bu kitap nedensel istatistiğin kutsal kitabı gibi, correlation vs causation (korelasyon vs nedensellik) üstüne yazılmış, Judea Pearl de nedenselliğin korelasyonla karıştırılmaması gerektiğini ve nasıl ayırt edebileceğinizi anlatıyor. Bir kısmını okudum ama sınavlarım yüzünden ara vermek zorunda kaldım.
Thinking, Fast and Slow — Daniel Kahneman: Daniel Kahneman bilişsel bilim tarafında Amos Tversky’le birlikte en çok dinlenen iki isimden biri, kendisi nobel ekonomi ödülü almıştı. Bu kitapta da insanlar olarak sahip olduğumuz cognitive bias’ları (bilişsel önyargı) açıklıyor, bu da aslında veri biliminde büyük resme bakarken insanların davranışlarını açıklamada (nedensellik) iyi bir yöntem.
Bunlar dışında Python’la geliştirme üstüne bir kitap önerebilirim.
Flask Web Development: Developing Web Applications with Python — Miguel Grinberg: Bu kitabı çok sevdim, çünkü geliştirme hakkında bir fikir sahibi değildim, kitapta önce backend/frontend anlatıp sonra flask’taki uygulamasını yazıyor. Bu kitap, REST api’ye dair hiçbir fikrim olmamasına rağmen kendi işimde yaptığım tahminleme algoritmasını flask’la REST api olarak yazmamı sağladı. Bitirmeme rağmen hala dönüp bakıyorum.
Bu yazıya kitap aldıkça ekleme yapmayı planlıyorum. Okuduğunuz için teşekkür ederim.