Makine Öğrenmesi Algoritmaları

Makine öğrenimi incelenirken denetimli ve denetimsiz öğrenme olmak üzere ikiye ayırdığımızı bir önceki makine öğrenmesine giriş niteliğinde yazmış olduğum yazıda kısaca bahsetmiştim. 

Denetimli öğrenme, verilen veri setinden modeli oluşturma ve makineyi eğitme süreci olarak tanımlanabilir. Burada bahsi geçen veri setinde girdi değerleri ve bu girdi değerlerine karşılık gelen çıktı değerleri bulunmaktadır (bunun diğer bir anlamı ise, verilerin etiketli olması olarak tabir edilebilir). Oluşturulan model kullanılarak, istenen çıktı değerleri tahmin edilebilir ve veri setinde yer alan gerçek değerler ile karşılaştırılarak, modelin performans değerlendirmesi yapılabilir.

Denetimsiz öğrenmede ise sadece girdi değerleri bulunmakta olup, girdilere karşılık gelen çıktı değerlerinin olmadığı durumları ifade eder. Yani oluşturulacak olan çıktı kümesinin tamamen makine tarafından keşfedilmesini amaç edinmektedir. Diğer bir ifade ile denetimsiz öğrenmede, etiketsiz olan veriler ile çalışılmaktadır.

Algoritmaları incelerken de bu ayrımlardan faydalanılmaktadır.

Diğer bir tabirle, verinin kategorik ya da nümerik olması durumuna göre denetimli ve denetimsiz öğrenmeyi ayrı ayrı incelemekteyiz (CRISP-DM: Veriyi Anlama yazımdan detaylarına erişebilirsiniz). Aşağıdaki tabloda görüldüğü gibi, bu ayrımların kesişmeleri sonucunda ana problem/başlıklar ortaya çıkmaktadır.

Algoritmaları Clustering (Kümeleme), Dimensionality Reduction (Boyut Azaltma), Association Rule Mining (Birliktelik Kural Çıkarımı), Regression (Regresyon) ve Classification (Sınıflandırma) olmak üzere 5 ana başlıklar altında inceleyeceğiz.

Aşağıda verilen algoritmaların üzerine tıklayarak, Knime uygulaması üzerinde açıklamak ve mantığını anlatmak için yapmış olduğum basit workflow/çalışmalara erişebilir, aynı veri setlerinin kullanıldığı çalışmalarda algoritma performanslarını karşılaştırabilirsiniz. 

 

Clustering (Kümeleme), veri seti içerisinde aynı parametreler de benzer değerlere sahip verilerin bir araya gelmesi ile çeşitli kümelemelerin yapılmasını amaçlamaktadır. Bu amaç baz alınarak, başlangıçta verilen etiketsiz veri, anlamlı ve benzer değerlere sahip kümeler içerisinde barındırılmaktadır. Dolayısıyla küme içerisinde benzerlik fazla iken, kümeler arasındaki benzerlikler daha az olacaktır.

Bu kapsamda yer alan bazı algoritmalar;

 

Dimensionality Reduction (Boyut Azaltma), makine öğrenmesi problemleri içerisinde overfitting problemini önlemek için sıklıkla başvurulan bir yöntemdir. Veriyi anlayabilmemiz için yararlandığımız öznitelikler, ne kadar fazla olurlarsa makinenin öğrenme sürecini o kadar yavaşlatmakta ve aynı zamanda modelimizi o kadar karmaşık hale getirmektedirler. Bu gibi durumlar ile karşılaşmamak için veri setinde kalabalık ettiğini düşündüğümüz öznitelikleri ayırırız. Aynı zamanda bu durum birden fazla özniteliğe sahip veri setini daha iyi görselleştirebilmemizi de mümkün kılmaktadır. Bunlardan bazıları;

 

Association Rule Mining (Birliktelik Kural Çıkarımı), olaylar arasında yer alan olası/rastlantısal ilişkileri tespit eden ve bunları çözümleyen kurallar bütünüdür. Popular olarak kullanılan bazı algoritmalar;

  • Apriori
  • Eclat
  • FP-Growth

 

Matematik biliminde basitçe açıklamak gerekirse fonksiyonları ifade etmek için kullanılan değişkenler bağımlı ve bağımsız değişkenler olmak üzere ikiye ayrılmaktadır. Örneğin y=x+2 denklemini ele alırsak, y’nin değerinin değişmesi, x’e bağlıdır. Dolayısı ile y burada (x’e) bağımlı değişkendir. Öte yandan, x’in değerinin değişmesi herhangi bir şeye bağlı değildir yani bağımsız değişkendir.

Regression (Regresyon), bir tane bağımlı ve n tane bağımsız değişkenden oluşan bir modelde, değişkenler arasında herhangi bir ilişki olup olmadığını saptamak ve aynı zamanda bu ilişkinin ne derecede olduğunu belirlemek için kullanılan istatistiksel bir yaklaşımdır. Bu değişken sayısının bir ya da daha fazla olmasına bağlı olarak farklı teknikler geliştirilmiştir.

Bu kapsamda yer alan bazı algoritmalar;

 

Classification (Sınıflandırma), verilerin daha önceden belirlenmiş kategorilere atanması durumuna sınıflandırma adı verilmektedir. Bu kapsamda yer alan algoritmaları kullanırken, veri seti, eğitim ve test verisi olmak üzere ikiye ayrılmaktadır (örneğin; %70 eğitim, %30 test gibi). Eğitim için veriler üzerinden bir çıkarım yapılarak model oluşturulur ve ardından veriler bir sınıfa atanır. Test verisi ile de atanılan sınıfların ne kadar doğru tahmin edilip edilmediği kontrol edilir. Kullanılan bazı sınıflandırma algoritmaları;

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.