GİRİŞ Makine Öğrenmesi Nedir?

Merhaba Arkadaşlar. Bu yazımızda Makine öğrenmesi hakkında yapmakta olduğum çalışmalarımı ve bilgilerimi sizlerle kısa ve öz bir şekilde paylaşmaya çalışacağım.

Makine öğrenmesi günümüzde yaygın olarak birçok alanda kullanılmakta olan ve çok popüler hal almış yapay zekanın bir alt dalıdır.

Kısaca Makine Öğrenmesi çeşitli algoritmalar ve yöntemler ile birtakım problemlere dayalı veri grubunu inceleyen ve bu incelemeler sonucunda çeşitli çıkarımlar elde ederek bu problemlere tahmine dayalı en iyi sonucu bulma uğraşıdır. Makine öğrenmesinde kullanılan algoritmaları sınıflayacak olursak;

makineögr0

  •    Gözetimli Öğrenme(Supervised Learning) : Önceden etiketlenmiş veya kategorize edilmiş verileri kullanır. Yani kullanılacak veriye ait sınıflar ve kategoriler önceden bilinir. Gözetimli öğrenme Sınıflandırma ve Regression olmak üzere 2 gruba ayrılır.

makineögr1

Sınıflandırma Yöntemi : Verileri belirli özelliklerine göre sınıflara ayırır.

  • İkili Sınıflandırma (Binary Classification)=>Sadece 2 olası sınıf(sonuç) varsa kullanılır. (örneğin: KEDİ veya KÖPEK sınıflandırması )
  • Çoklu Sınıf Sınıflandırma(Multi Class Classification)=> 2 den fazla sınıf(sonuç) varsa kullanılır. (örneğin: ÇOCUK, GENÇ veya YAŞLI sınıflandırması)
  • Çok etiketli Sınıflandırma(Multi Label Classification)=>Eğer aranan sonuç birden fazla sınıfın üyesi ise kullanılır.( örneğin: bir müşteri veri setinden GENÇ ve EVLİ müşterileri bulmak istiyorsak çok etiketli sınıflandırma yöntemini kullanmalıyız.)

Regression Yöntemi : Genellikle sürekli olan sayısal problemlerin çözümlenmesi için kullanılır. Haliyle veri seti sayısal veri içermelidir.

Yaygın kullanılan Sınıflandırma ve Regression algoritmaları:

  • Naive Bayes ==> Olasılık temellerine dayanan bir sınıflandırma algoritmasıdır.
  • K-Nearest Neigbours ==> Kullanılan veriler sınıflandırır. ve noktasal olarak grafiğe dökülüp aranan verinin aynı grafikte yer alan verilere olan komşuluğu (yakınlığı) hesaplanarak sınıflandırma yapma algoritmasıdır.
  •  Lineer Regression ==> Sayısal verileri kullanarak ax+b şeklinde sayısal girdi ve çıktılar arasında doğrusal bir ilişki çıkarmak için kullanılan algoritmadır.
  • Logistik Regression ==> Sayısal verileri kullanır. 2 Olası sonucu vardır.
  • Decision Tree (Karar Agacı) ==> Verileri kullanarak Bir dizi kurallar üretip sınıflandırma yapma algoritmasıdır.
  • Random Forest==>  Çok sayıda Decision Tree algoritmasının bir arada kullanılması
  • Multiple Linear Regression , Polynomial Regression etc..

 

  • Gözetimsiz Öğrenme(Unsupervised Learning) : Önceden etiketlenmemiş veya kategorize edilmemiş verileri kullanarak veriler arası bağlantı kurmayı amaçlayan ve kurduğu bağlantıya göre sonuç üretmeye çalışır. 3 grupta incelenir;

makineögr2

  • Takviyeli Öğrenme(Reinforcement Learning) : Feedback (Geri Besleme mekanizması) vardır. Sayısız denemelerle en iyi sonuç aranır. Sonuç aranırken geçmiş sonuçlardan faydalanılır. Deep Learning Algoritmaları bu mantıkla geliştirilmektedir.

 

Son olarak Makine Öğrenmesi Veri İşleme için tercih edebileceğimiz platformlara göz atacak olursak;

1_lsI8O_2yGfYoUpCT6kNynw

Yukarıdaki grafik oldukça popüler bir datascience sitesinde Eylül 2019’da yayımlanmış  bir paylaşımdan alınmış ve veri bilimi ile makine öğrenmesinde yaygın olarak kullanılan ilk 15 platformu göstermektedir.

A) Programlama Dilleri :

Görüldüğü üzere Python ve R programlama dilleri günümüzde oldukça yaygın bir şekilde tercih edilmektedir. Bunun en büyük sebebi ise veri setleri ve makine öğrenmesi için oldukça fazla kütüphane içermeleri, özgür yazılım olmaları, hala gelişime ve yeniliklere açık olmaları, beraber uyum içerisinde çalışabilmeleri  ve öğrenme zorluğu bakımından kolay olmalarıdır.

B) Geliştirme Ortamları :

  • Anaconda Navigator ==> Python ve R için bilgisayarınıza kurabileceğiniz ihtiyaç duyabileceğiniz neredeyse bütün kütüphaneleri barındıran bir geliştirme ortamıdır. Üst düzey program yazabilmek ve çalıştırmak için yüksek düzey CPU ve GPU ya ihtiyaç duyar.
  • RStudio==> İstatistiksel hesaplama ve grafikler için bir programlama dili olan R için entegre bir geliştirme ortamıdır.
  • Google Colab ==> Google tarafından geliştirirmiş ücretsiz Python destekli server üzerinden CPU ve GPU desteği veren bir  geliştirme ortamıdır. Google Colab ta  yazdığımız kodlar server ortamında serverin CPU veya GPU sunu kullanarak çalışır. Bilgisayarı yormaz.

C) Kütüphaneler :

  • NumPy :Python ile bilimsel matematik işlemlerini hızlıca yapmamızı sağlayan kütüphanedir.
  • Pandas :Python ile veri analizi yapmak için kullanılan bir başka kütüphanedir. Hızlıca veri çekme ve işleme için kullanılır.
  • Scipy :Sık kullanılan matematiksel ve fiziksel problemlerin bilgisayar ortamında ifade edilmesine yönelik fonksiyonları barındırır.
  • Matplotlib : Data Görselleştirme, grafik çizimi için kullanılır.
  • SciKit-Learn : Makine öğrenimi ve görüntü işleme için hazır algoritma fonksiyonlarını barındırır.
  • TensorFlow : Google tarafından geliştirilmiş yaygın olarak kullanılan açık kaynak kodlu makine öğrenme kütüphanesidir.
  • Keras : Model tanımlamayı ve eğitmeyi kolaylaştıran Tensorflow veya Theano yu backend kullanan wrapper
  • Theano : Derin öğrenme için geliştirilmiş etkili bir Python kütüphanesidir.

Şimdilik buraya kadar daha sonraki yazımızda görüşmek üzere..

 

Yorum bırakın