Sıkça Sorulan Sorular

Sıkça Sorulan Sorular

Machine Learning’e Başlarken

Herkese merhaba ben Mert Çobanov,

Machine Learning ve Data Science alanlarında bana en sık gelen soruları tek bir yerde toplama kararı aldım. Bana sorularını Twitter veya mertcobanov@gmail.com üzerinden iletebilirsin.

Bu alana başlamayı düşünüyorum, nereden başlamalıyım?

Öncelikle seni tebrik ediyorum, bu soru oldukça genel bir soru tek bir yol yok, senin bilgi birikimin ve öğrenme yöntemine göre kesinlikle değişir. Fakat özetlemek gerekirse 3 temel unsur var.

Matematik:

  • Lineer Cebir
  • Olasılık
  • İstatistik

Programlama ve Bilgisayar Bilimleri:

  • Bu alanda çalışabileceğin bir dil (Python, R, Java vs.)
  • Veri yapıları
  • Algoritmalar
  • SQL veya DB yapıları

Teknik Bilgi:

  • Makine öğrenmesi teorisi
  • Veri görselleştirme

Bu bahsettiğim kapsamlar artırılabilir, fakat genel olarak ihtiyacın olacak konular en azından giriş düzeyinde bu şekilde. Bahsettiğim tek bir yol olmayışı bu 3'lü nedeniyle oluşuyor. Bunları peşpeşe veya paralel bir şekilde öğrenebilirsin veya bazılarına ağırlık verir ve bazılarına daha az zaman harcarsın fakat günün sonunda hepsine ihtiyacın olacak. Bu konuları halledebilmek için edindiğin her kaynak sana farklı bir bakış açısı kazandıracaktır fakat ben yine de altta bu zamana kadar tecrübe ettiğim kaynakları yazıyor olacağım.

Bu alanda belirli bir yere geldim, artık nasıl devam etmeliyim?

Eğer temelleri artık aldıysan daha ileri gitmek istediğini biliyorum, bu yüzden makine öğrenmesi alanlarından birinde sivrilmelisin. Bunu seçerken ne yapmak sana keyif veriyor, uzun süre boyunca motivasyonunu kaybetmeden hangi konulara çalışabilirsin buna karar vermelisin. Ben örnek olması açısından bazı konu başlıklarını ve bilmen gereken bazı anahtar kelimeleri yazıyorum. Bu anahtar kelimeler her şeyi kapsamıyor fakat neler var diye araştırabilirsin.

Görüntü işleme:

  • Konvansiyonel Sinir Ağlar (CNN)
  • OpenCV
  • YOLO, RCNN
  • Sinyal işleme teknikleri, Fourier Dönüşümleri
  • Haar Cascade teknikleri

Doğal Dil İşleme:

  • Chatbotlar
  • RNN, Transformatörler
  • RASA

Robotik ve Pekiştirmeli Öğrenme:

  • Dronelar
  • Otonom sürüş
  • Oyun botları

Veri Bilimi:

  • Veri madenciliği
  • Veri görselleştirme
  • Feature Engineering

Eminim aklıma gelmeyen bir çok konu daha var, bu alanlardan birine doğru ilerlemen kaybolmanı engelleyecektir fakat diğer alanlarda neler yapılıyor merak etmen de harika olur.

Bu bahsettiğim konular için internet üzerinden çeşitli kurslar bulabilirsin, özellikle ingilizce verilen kurslar çok daha güncel ve eğitici oluyor bunu da göz önünde bulundurmakta fayda var. Kurslar hiç bitmiyor ara sıra biraz yağa, kire, pasa bulaşmak lazım bunlar için de kaggle gibi siteleri kullan veya hayatında karşılaştığın bir problemi çözmeye çalış, farkedeceksin ki eğer pes etmezsen öğrendiğin ve aklında kalan her şey ihtiyaçtan doğarak öğrendiğin konular olacak.


Kaliteli kaynakları nereden bulabilirim? Önerebilir misin?

Aslında bunun için bir medium makalem var. Her şeyden önce oraya bakmanı öneriyorum. Bu zamana kadar kaliteli olduğunu düşündüğüm kaynakları paylaştım. Kaliteli kaynakları bulmak için çok ısrarcı olmayı önermiyoru, gördüğünüz ve denk geldiğiniz her şeye bulaşıp kendi yöntemini öğrenmen çok daha iyi olacaktır.

Hazır buradayken de birkaç örnek vermeden göndermeyeceğim.

Coursera / Deep Learning Specialization

Image for post

Eğer derin öğrenme alanında çalışmak istiyorsanız ilk başvuracağınız kaynak bu olmalı diye düşünüyorum. Oldukça kapsamlı ve teorik bir kurs. Beş adımdan oluşuyor ve size bu alanda uzun süre yetebilecek derin öğrenmenin çeşitli alanlarından müthiş bilgileri veriyor.

DataCamp / Career Tracks

Image for post

Statquest with Josh Starmer / Youtube

Image for post

3blue1brown / YouTube

Image for post

Corey Schafer

Image for post

Sentdex

Image for post

Ben videolu eğitimlerden ziyade biraz da kitaplara başvurmak istiyorum, önerin nelerdir?

  1. Hands-on Machine Learning — Geron
  2. Deep Learning with Python — Chollet
  3. Deep Learning — Goodfellow, Bengio
  4. Fundamentals of Deep Learning — Buduma, Locascio
  5. Machine Learning in Action — Harrington
  6. Machine Learning with Python Cookbook — Albon
  7. Python Data Science Handbook — VanderPlas
  8. Scikit-Learn Cookbook — Avila, Hauck
  9. The Elements of Statistical Learning — Friedman
  10. Data Science from Scratch — Grus

Hangi dili öğrenmeliyim?

Sanırım insanların en çok linç yediği sorulardan birisi, ben de biraz yuvarlak bir cevap vereceğim ama kalbim bangır bangır python diye bağırıyor. Burada duyarlı olmaya veya başka bir duyguya da kapılmaya gerek olduğunu düşünmüyorum, böyle bir komünite desteği ve gelişim hızı varken python’dan başka bir şey önermem çok ayıp olurdu diye düşünüyorum fakat yine de sizin tercihiniz. Ben yine de 2020 itibariyle popüler olan dilleri yazayım.

  • Python
  • R
  • Julia
  • Java

Programlama bilgim en azından hangi seviyede olmalı?

Programlama dili senin enstrümanın eğer bu analojiyi anladıysan diyeceklerim her şey senin için kısa bir özet olacak. Eğer elindeki enstrümanı ne kadar iyi kullanıyorsan o kadar kullanışlı ve bir o kadar da temiz iş yaparsın. Bence dilde bir üst sınır yok her zaman daha temiz bir kod, daha iyi bir algoritma vardır. Burada bir takım standartlar var, bence bunları da bilmek önemli. PEP ve linting konularına bir bak derim.

Konuya dönecek olursak giriş seviyesindeysen en azından bulunduğun dilde fonksiyonlar konusuna kadar hallet derim, ileride nesneye yönelik programlama (OOP) gerçekten çok kritik olacak. Bu seviyeye geldiğinde işini kolaylaştıracak kütüphaneleri ve onları nasıl efektik kullanacağını öğren. Uzmanlaştığın alanda eğitimi alırken programlama eğitimine ara verme, her zaman pratik yapmak seni canlı tutacaktır.


Güzel bir yol haritası olsa çok iyi olurdu?

Aslında güzel bir roadmap var. Bu repodan ulaşabilirsin. Genel olarak full-stack bir ML Engineer ve Data Scientist olma yolunda bu etmenlerin tamamını ya da bir kısmının tamamlanması bekleniyor. Burada bulduğun fotoğrafın üzerine tik atarak yolun ne kadarını tamamladığına bakabilirsin. Aynı zamanda repodaki teknik bilgiler ile eksik kaldığın kısımlara çalışmaya başlayabilirsin. Bir ufak tüyo olarak her şeyin başı ingilizce öğrenmekten geçiyor. Eğer bu kısım tamam değilse ilk önce ingilizceden başlamanı öneririm.

Image for post

X bölümden mezunum bu alanda çalışabilir miyim?

Genel olarak matematik temelini alabildiğin bölümler sana daha yardımcı olacaktır fakat bu demek değilki kendi başına da matematik öğrenilmez. Bu konuyla alakalı birçok yaşanmış hikaye var, bu tamamen senin gerçekten isteyip istemediğine bağlı. Fakat hayatında düzenli olarak kullandığında daha da kalıcı olduğu gerçeğini değiştiremeyiz. Tabii ki yazılımcı veya matematikçi olmanın katkısını yadsımıyorum fakat her şeyi öğrenebilirsin, bu sadece zaman meselesi.

Matematik tarafında hangi konuları halletmeliyim ve kaynaklar nelerdir?

Genel olarak üst kısımlarda bahsettiğim temel matematik etmenlerini tamamlaman gerekiyor. Bunu kitaplardan öğrenmen gerektiğini düşünüyorum. Konular bitmez fakat ben birkaçını burada belirteyim.

Doğrusal Cebir:

  • Skalerler, Vektörler, Matrisler ve Tensörler
  • Doğrusal bağımlılık ve Uzayı Germe
  • Normlar
  • Moore-Penrose Tersimsisi
  • Determinant
  • PCA

Olasılık:

  • Rastgele değişkenler
  • Olasılık Dağılımları
  • Marjinal, Koşullu Olasılıklar
  • Beklenti, Değişirlik, Eşdeğişirlik
  • Bayes Kuralı
  • Bilgi Kuramı

Sayısal Hesaplama:

  • Taşma ve Küçümenlik
  • Gradyan Temelli Optimizasyon
  • Doğrusal En Küçük Kareler

Bunları youtube üzerinden ve kitaplardan edinebilirsin. Makine Öğrenmesi matematiğini çok güzel ve teknik şekilde anlatan youtube kanalları da var. Örneğin StatQuest bu konuda gerçekten harika.

Sen hangi youtube kanallarını takip ediyorsun, kaliteli olduğunu düşündüklerini paylaşır mısın?

Mert Cobanov Kaliteli içerik dediğimde kendi kanalım ile başlamama izin ver :)

Corey Schafer

Python Engineer

3Blue1Brown

TechWithTim

StatQuest

TurkishAIHub

CodeBullet

Datai Team

MakerMotion

Tensorflow Turkey

Deep Learning Türkiye

Google Developers

HowCode

RealPython

Crash Course

RASA

Data School

Python Programmer

TensorFlow

pyistanbul

Udemy Tech

CS Dojo

CS 50

Deep Learning AI

365 Data Science

Arin Yazılım

Ken Jee

Sentdex

Sen hangi toolları kullanıyorsun, kullanışlı GitHub repolarını paylaşır mısın?

Bununla da alakalı bir youtube videom var. Aynı zamanda GitHub hesabımdaki “Stars”’larıma bakabilirsin, genel olarak kullanışlı olduğunu düşündüğüm toolları orada biriktiriyorum.

Ben yine de sana özet birkaç şey bırakacağım.

Veri Manipülasyonu:

  • Pandas
  • Numpy

Veri Görselleştirme:

  • Seaborn
  • Matplotlib

Derin Ağlar:

  • Tensorflow
  • Keras
  • PyTorch

Keşifsel Veri Analizi (EDA):

  • Streamlit
  • Pandas-profiling

Geri kalanlar için GitHub hesabımda star attığım repolara bakabilirsin, birçok kullanışlı kütüphane ve eğitim reposu var.


Projeme yardım eder misin? :)

Takdir edersin ki çok fazla çalışıyorum, aynı zamanda full-time çalıştığım bir şirket var, akşamları da canlı yayınlar, kendi kanalıma video çekmek derken, yaşamak için hiç fırsatım kalmıyor. İlk zamanlarda yardımcı oluyordum fakat sonrasında işler içinden çıkılmaz bir hal almaya başladı bu yüzden ancak yönlendirebiliyorum hevesli arkadaşları. Bu yüzden projen için biraz çabalaman gerek, keşke birgün 36 saat olsaydı o zaman herkese yardım etmek isterdim. :)


Beni sosyal medyadan takip edip güncel içeriklere göz atmak istersen

Youtube: youtube.com/mertcobanov

Twitter: twitter.com/mertcobanov