Makine Öğrenmesi ve Derin Öğrenmeye Başlayanlara Tavsiyeler

Kendi tecrübelerimden de yola çıkarak bazı tavsiyeler ve kaynakları bu yazıda topladım.

Kaan Bıçakcı
Machine Learning Turkiye
5 min readApr 14, 2022

--

Photo by ray rui on Unsplash

Giriş

Bu yazımda:

  • ML & DL konularına nasıl başlayabileceğinizden,
  • Bazı tavsiyelerden
  • Kendinizi geliştirmek için neler yapabileceğinizden
  • Keşke yapsaydım dediklerimden ve
  • Bu konuları hangi kaynaklardan çalışabileceğinize

bahsedeceğim.

Burada belirteceğim fikirler tamamen kendi fikirlerimdir.

Photo by Alex Knight on Unsplash

ML ve DL’e Başlamak

Şüphesiz ki bu alanda öğrenmeye başlamak için seçilecek dil Python olacaktır. Onun için orta seviye Python bildiğinizi varsayarak bu yazıya devam edeceğim.

Dışarıdan bakınca herkes ML ve DL’de uzman olmuş gibi görüyor olabilirsiniz. Bu konulara başlarken ben de böyle hissediyordum, millet almış başını gitmiş ben nasıl tutunabilirim diye düşünüyordum.

Daha sonra merakıma yenik düşerek bu konuları ciddi bir şekilde öğrenmeye başladım. Bu yazıda hem kendi izlediğim kursları, hem de ekstra keşke yapsaydım dediğim şeyleri de paylaşıyor olacağım.

Yeni Başlayacaklara Tavsiyeler

İngilizce Öğrenmek

İngilizcenin ne kadar önemli olduğunu vurgulamazsak olmaz. Ulaşacağınız kaynakların çoğu İngilizce olacağı için, yazıları okuyup anlamak ilk etapta yeterli olacaktır.

Arkada Nelerin Döndüğünü Bilmek

Bu alanda fark yaratmak istiyorsanız, işin temeline de girmeniz gerekiyor. Onun için öğrenirken sabırlı ve istikrarlı olmak şart diyebilirim. Yani öğrenirken arkada yatan mantığı da kavramak önemli, bu sizi bir adım öne çıkarabilir.

Ayrıca günümüzde kütüphaneler bizim için çoğu şeyi arkaplanda hallediyor. Haliyle biz de bazı şeylerden soyut kalmış oluyoruz. Açık kaynak kodlu kütüphanelerin kodlarını boş vakitte incelemek ileriye dönük bir yatırım olacak ve bir sorunla karşılaşıldığında anlamayı kolaylaştıracaktır.

  • Örnek: Elinizde bir dataframe var ve random bir örneklem alacaksınız. Pandas bize sample() diye bir method sunuyor. Pratikte iyi çalışabilir fakat büyük dataframe ve örneklem sayılarında yavaş kalabiliyor. Yavaş kaldığını bilirseniz, farklı yöntemlere yönelmeniz gerektiğini erkenden fark edersiniz.

Ezbere İş Yapmamak

Günümüzde bir kod parçasını alıp, ML & DL modeli çalıştırmak çok kolay. İnternette arattığımızda başkalarının yazdığı hazır modellere erişmek mümkün. Fakat gerçek hayatta gelen veriler aşırı farklı olduğu için üstünkörü bir şekilde modelleri alıp eğitmek doğru değil. Bu da aslında arkada neler olduğunu bilmekten geçiyor.

Matematik ve İstatistik Bilmek

ML & DL, matematik ve istatistik üzerine kurulu olduğu için, temel prensipleri bilip iş yapmak daha avantajlı olacaktır. Mesela bir modeli geliştirmek istediğinizde neleri değiştirmeniz gerektiği hakkında fikriniz olacak.

Bilmekten kastım çok iyi olmak değil, arkada bu modellerin nasıl çalıştığını bilmek de bir avantaj olacaktır.

Cesaretiniz Kırılmasın

Bu alanda iyi olmak zaman ister. İlk başta hiçbir şey anlamıyormuş gibi hissedebilirsiniz, bu çok normaldir. ML & DL alanı bolca pratik isteyen bir alandır. Pratik yaparak zamanla gelişeceksiniz.

Kendimi Nasıl Geliştirmeliyim

Stack Overflow (SO) ve GitHub Gibi Yerlerde Kod İncelemek

Benim kendimi geliştirmemde de büyük rol bir oynadılar. SO’da ilk başta herkes nasıl cevaplar yazıyor diye inceliyordum, sonra ben de verebildiğim kadar cevap yazmaya başladım. Cevaplar yazarak kendimi belli problemlerde geliştirdiğimi gözlemledim.

Cevap yazmanın yanı sıra SO ve GitHub gibi yerlerde herkesin kodlarını inceleyip nasıl yazdıklarını anlamaya çalıştım. Bu şekilde farklı bir perspektif kazandığımı farkettim.

Proje Geliştirmek

İlk başta çok mükemmel bir şey yapmak için uğraşmayın. Hatta kendinize bir hedef belirleyebileceğiniz verisetleri bulup üzerinde deneyler yapın. Mesela Kaggle’da birisinin aynı veriseti ile elde ettiği skoru geçmeye çalışın. O skoru geçemezseniz de elinizde cevabı olmuş olacak.

Soru Sormak ve Deney Yapmak

Belki de en önemli şeylerden birisi de soru sormak ve deney yapmaktır. Bir akşam oturup kendiniz 1 saat deney yapıp sonuçları karşılaştırırsanız olayları daha iyi kavrayabilir ve ders çıkarabilirsiniz. Böylece sonraki çalışma veya projelerinizde aynı hataları yapmamış olursunuz. Çünkü bu alanda en iyi şekilde deneme yanılma yaparak gelişebilirsiniz.

Keşke Yapsaydım Dediklerim…

  1. Daha çok matematik ve istatistik çalışsaydım ileri seviye konuları daha rahat anlayabilirdim düşünüyorum. Onun için ML & DL’e başlarken bunlara biraz daha ağırlık verebilirseniz ilerde artısını mutlaka göreceksiniz.
  2. Kod incelemeye biraz geç başladığımı düşünüyorum, siz erkenden başlayıp yazmayı denerseniz daha rahat ısınabilirsiniz.
  3. İlk başta öğrenirken gereğinden uzun aralar vermezdim. Mesela 2 gün çalışıp 1 gün çalışmamak yerine, 3 gün çalışıp bu süreyi eşit olarak dağıtırdım.

Bazı ML-DL Kaynakları

ML ve DL terimlerine bir göz atıp aşinalık kazanmak isterseniz, bu YouTube playlistine bakabilirsiniz:

Veya bazı konular için çok temiz açıklamalar mı istiyorsunuz? Bu kanalı kesinlikle takip edin :)

Online kurslara bakacak olursak:

Bu listenin başına Andrew NG’nin Coursera Machine Learning kursunu koymazsak saygısızlık yapmış oluruz.

ML temellerini anlamak ve başlamak istiyorsanız bu kurs ilk sırada yer almalı. Bu kursun tek eksi yanı Octave kullanıyor olmasıdır fakat asıl mesele konu anlatımları olduğu için listemizin başında yer verdim:

İkinci kurs ise IBM’in ML kursu, sertifika almak isterseniz paralı fakat derslere yine ücretsiz bir şekilde erişebiliyorsunuz.

Bu aslında toplamda 6 kurs içeren bir paket. Benim önerim buradaki ilk 4 kursu izlemeniz yönünde:

ML öğrenirken, matematiği es geçmek olmaz. Matematik konusunda sıfır değilseniz ve bir şeyleri pekiştirmek istiyorsanız Imperial College London’ın kurslarına bakabilirsiniz. Yine bu bir paket ve ben ilk iki kursa bakmanızı öneriyorum.

Son olarak yine Coursera’da bulunan, University of Washington tarafından verilen kurslar:

Bazı DL Kaynakları

Andrew NG’nin bir DL kursu da bulunuyor. Arkadaki mantığı anlamak için güzel bir kurs olduğunu düşünüyorum:

Açıkçası ben bu DL kursundan sonra Keras öğrenmeye başlamıştım. Neden Pytorch değil soracak olursanız da, Keras o zaman için gözüme daha kolay görünmüştü.

TensorFlow-Keras öğrenmek için kendi sitelerindeki örneklere bakabilirsiniz:

Yine TensorFlow-Keras tarafında elinizin ısınmasını isterseniz, şu kursa da bakmanızı öneririm:

Başlangıç-Orta seviye için önerebileceğim kaynaklar bu şekildeydi.

Yakın zamanda ben de ML’e giriş ile ilgili bir sunum yapmıştım. Slaytlara ve Notebook’a göz atmak isterseniz:

Ulaşmak İsterseniz

LinkedIN veya mail yoluyla sorularınızı ulaştırabilirsiniz. Bu sayede ben de yeni Türkçe içerikler üretmek için motive olmuş olacağım :)

LinkedIN sayfama buradan, GitHub profilime de buradan ulaşabilirsiniz.

Photo by Alexas_Fotos on Unsplash

--

--