Python ile Makine Öğrenimi - Yöntemler
Verileri kullanarak gerçek hayattaki sorunları çözmek için modeller oluşturmak için kullanılabilecek çeşitli makine öğrenimi algoritmaları, teknikleri ve yöntemleri vardır. Bu bölümde, bu türden farklı yöntemlerden bahsedeceğiz.
Farklı Yöntem Türleri
Aşağıdakiler, bazı geniş kategorilere dayalı çeşitli makine öğrenimi yöntemidir -
İnsan denetimine dayalı
Öğrenme sürecinde insan denetimine dayalı yöntemlerden bazıları şu şekildedir:
Supervised Learning
Denetimli öğrenme algoritmaları veya yöntemleri, en yaygın kullanılan makine öğrenimi algoritmalarıdır. Bu yöntem veya öğrenme algoritması, veri örneğini, yani eğitim verilerini ve bununla ilişkili çıktıları, yani eğitim süreci sırasında her veri örneğiyle etiketleri veya yanıtları alır.
Denetimli öğrenme algoritmalarının temel amacı, birden fazla eğitim verisi örneği gerçekleştirdikten sonra giriş verisi örnekleri ile karşılık gelen çıktılar arasındaki ilişkiyi öğrenmektir.
Örneğin, bizde
x: Giriş değişkenleri ve
Y: Çıktı değişkeni
Şimdi, aşağıdaki gibi girişten çıkışa eşleme işlevini öğrenmek için bir algoritma uygulayın -
Y = f (x)
Şimdi, ana amaç, eşleme fonksiyonunu o kadar iyi bir şekilde yaklaştırmak olacaktır ki, yeni giriş verilerimiz (x) olsa bile, bu yeni giriş verileri için çıkış değişkenini (Y) kolayca tahmin edebiliriz.
Denetimli olarak adlandırılır çünkü tüm öğrenme süreci bir öğretmen veya gözetmen tarafından denetlenirken düşünülebilir. Denetimli makine öğrenimi algoritmalarına örnekler şunları içerir:Decision tree, Random Forest, KNN, Logistic Regression vb.
Makine öğrenimi görevlerine dayalı olarak, denetimli öğrenme algoritmaları aşağıdaki iki geniş sınıfa ayrılabilir:
- Classification
- Regression
Classification
Sınıflandırmaya dayalı görevlerin temel amacı, verilen girdi verileri için kategorilere göre çıktı etiketlerini veya yanıtları tahmin etmektir. Çıktı, modelin eğitim aşamasında öğrendiklerine dayalı olacaktır. Kategorisel çıktı yanıtlarının sırasız ve ayrık değerler anlamına geldiğini bildiğimiz için, her çıktı yanıtı belirli bir sınıfa veya kategoriye ait olacaktır. Sınıflandırma ve ilgili algoritmaları ilerleyen bölümlerde ayrıntılı olarak tartışacağız.
Regression
Regresyon tabanlı görevlerin temel amacı, verilen girdi verileri için sayısal değerler olarak devam eden çıktı etiketlerini veya yanıtlarını tahmin etmektir. Çıktı, modelin eğitim aşamasında öğrendiklerine dayalı olacaktır. Temel olarak, regresyon modelleri, girdiler ve karşılık gelen çıktılar arasındaki belirli ilişkiyi öğrenmek için girdi veri özelliklerini (bağımsız değişkenler) ve bunlara karşılık gelen sürekli sayısal çıktı değerlerini (bağımlı veya sonuç değişkenleri) kullanır. Regresyon ve ilgili algoritmaları daha sonraki bölümlerde ayrıntılı olarak tartışacağız.
Denetimsiz Öğrenme
Adından da anlaşılacağı gibi, denetimli makine öğrenimi yöntemlerinin veya algoritmalarının tersidir, bu da denetimsiz makine öğrenimi algoritmalarında herhangi bir rehberlik sağlayacak herhangi bir denetçimizin olmadığı anlamına gelir. Denetimsiz öğrenme algoritmaları, denetimli öğrenme algoritmalarında olduğu gibi önceden etiketlenmiş eğitim verilerine sahip olma özgürlüğüne sahip olmadığımız ve girdi verilerinden yararlı bir model çıkarmak istediğimiz senaryoda kullanışlıdır.
Örneğin şu şekilde anlaşılabilir -
Varsayalım ki -
x: Input variables, o zaman karşılık gelen bir çıktı değişkeni olmayacak ve algoritmaların öğrenme için verilerdeki ilginç modeli keşfetmesi gerekecek.
Denetimsiz makine öğrenimi algoritmalarına örnek olarak K-ortalamalı kümeleme, K-nearest neighbors vb.
Makine öğrenimi görevlerine dayalı olarak, denetimsiz öğrenme algoritmaları aşağıdaki geniş sınıflara ayrılabilir -
- Clustering
- Association
- Boyutsal küçülme
Clustering
Kümeleme yöntemleri, en kullanışlı denetimsiz makine öğrenimi yöntemlerinden biridir. Bu algoritmalar, veri örnekleri arasındaki benzerliğin yanı sıra ilişki modellerini bulmak için kullanılır ve daha sonra bu örnekleri özelliklere dayalı olarak benzerliğe sahip gruplar halinde kümeler. Kümelenmenin gerçek dünyadaki örneği, müşterileri satın alma davranışlarına göre gruplandırmaktır.
Association
Diğer bir yararlı denetimsiz makine öğrenimi yöntemi AssociationBu, çeşitli öğeler arasındaki ilginç ilişkileri daha da temsil eden kalıpları bulmak için büyük veri kümesini analiz etmek için kullanılır. Ayrıca şu şekilde adlandırılır:Association Rule Mining veya Market basket analysis Bu, esas olarak müşteri alışveriş modellerini analiz etmek için kullanılır.
Dimensionality Reduction
Bu denetimsiz makine öğrenimi yöntemi, ana veya temsili özellikler kümesini seçerek her bir veri örneği için özellik değişkenlerinin sayısını azaltmak için kullanılır. Burada ortaya çıkan bir soru, boyutluluğu neden düşürmemiz gerektiğidir. Bunun arkasındaki sebep, veri örneklerinden milyonlarca özelliği analiz etmeye ve çıkarmaya başladığımızda ortaya çıkan özellik alanı karmaşıklığı sorunudur. Bu problem genellikle "boyutluluk laneti" ile ilgilidir. PCA (Ana Bileşen Analizi), K-en yakın komşular ve diskriminant analizi, bu amaca yönelik popüler algoritmalardan bazılarıdır.
Anomaly Detection
Bu denetimsiz makine öğrenimi yöntemi, genellikle gerçekleşmeyen nadir olayların veya gözlemlerin oluşumlarını bulmak için kullanılır. Öğrenilen bilgileri kullanarak, anormallik algılama yöntemleri, anormal veya normal bir veri noktası arasında ayrım yapabilir. Kümeleme, KNN gibi denetimsiz algoritmalardan bazıları, verilere ve özelliklerine bağlı olarak anormallikleri tespit edebilir.
Yarı denetimli Öğrenme
Bu tür algoritmalar veya yöntemler ne tam olarak denetlenir ne de tamamen denetimsizdir. Temelde iki, yani denetimli ve denetimsiz öğrenme yöntemlerinin arasında yer alırlar. Bu tür algoritmalar genellikle küçük denetimli öğrenme bileşeni kullanır, yani az miktarda önceden etiketlenmiş ek açıklamalı veri ve büyük denetimsiz öğrenme bileşeni, yani eğitim için çok sayıda etiketlenmemiş veri. Yarı denetimli öğrenme yöntemlerini uygulamak için aşağıdaki yaklaşımlardan herhangi birini takip edebiliriz -
İlk ve basit yaklaşım, az miktarda etiketli ve açıklamalı veriye dayalı olarak denetlenen modeli oluşturmak ve daha sonra daha fazla etiketli örnek elde etmek için büyük miktarda etiketlenmemiş veriye aynısını uygulayarak denetimsiz modeli oluşturmaktır. Şimdi, modeli onlar üzerinde eğitin ve süreci tekrarlayın.
İkinci yaklaşım bazı ekstra çabalara ihtiyaç duyar. Bu yaklaşımda, benzer veri örneklerini kümelemek, bu gruplara açıklama eklemek ve ardından modeli eğitmek için bu bilgilerin bir kombinasyonunu kullanmak için önce denetimsiz yöntemleri kullanabiliriz.
Takviye Öğrenme
Bu yöntemler daha önce çalışılan yöntemlerden farklıdır ve çok nadiren kullanılır. Bu tür öğrenme algoritmalarında, belirli bir ortamla etkileşime girebilmesi için belirli bir süre eğitmek istediğimiz bir aracı olacaktır. Temsilci, çevre ile etkileşim için bir dizi strateji izleyecek ve daha sonra çevreyi gözlemledikten sonra çevrenin mevcut durumu ile ilgili eylemler gerçekleştirecektir. Aşağıdakiler, pekiştirmeli öğrenme yöntemlerinin ana adımlarıdır -
Step 1 - İlk olarak, bazı başlangıç stratejileri olan bir temsilci hazırlamamız gerekir.
Step 2 - Ardından çevreyi ve mevcut durumunu gözlemleyin.
Step 3 - Ardından, ortamın mevcut durumuna ilişkin en uygun ilkeyi seçin ve önemli eylemi gerçekleştirin.
Step 4 - Artık temsilci, önceki adımda gerçekleştirdiği eyleme göre ilgili ödülü veya cezayı alabilir.
Step 5 - Artık gerekirse stratejileri güncelleyebiliriz.
Step 6 - Sonunda, temsilci en uygun politikaları öğrenip benimseyinceye kadar 2-5 arasındaki adımları tekrarlayın.
Makine Öğrenimine Uygun Görevler
Aşağıdaki şema, çeşitli makine öğrenimi sorunları için hangi görev türünün uygun olduğunu gösterir -
Öğrenme yeteneğine dayalı
Öğrenme sürecinde, öğrenme yeteneğine dayalı bazı yöntemler şunlardır:
Batch Learning
Çoğu durumda, tüm mevcut eğitim verilerini kullanarak modeli tek seferde eğitmemiz gereken uçtan uca Makine Öğrenimi sistemlerine sahibiz. Bu tür bir öğrenme yöntemi veya algoritması denirBatch or Offline learning. Tek seferlik bir prosedür olduğu ve model, tek bir gruptaki verilerle eğitileceği için Toplu veya Çevrimdışı öğrenme olarak adlandırılır. Aşağıdakiler, Toplu öğrenme yöntemlerinin ana adımlarıdır -
Step 1 - İlk olarak, modeli eğitmeye başlamak için tüm eğitim verilerini toplamamız gerekir.
Step 2 - Şimdi, tüm eğitim verilerini tek seferde sağlayarak model eğitimine başlayın.
Step 3 - Sonra, tatmin edici sonuçlar / performans elde ettiğinizde öğrenmeyi / eğitim sürecini durdurun.
Step 4- Son olarak, bu eğitimli modeli üretime dağıtın. Burada, yeni veri örneği için çıktıyı tahmin edecek.
Çevrimiçi öğrenme
Toplu veya çevrimdışı öğrenme yöntemlerine tamamen zıttır. Bu öğrenme yöntemlerinde, eğitim verileri, algoritmaya mini gruplar adı verilen çoklu artımlı gruplar halinde sağlanır. Çevrimiçi öğrenme yöntemlerinin ana adımları aşağıdadır -
Step 1 - İlk olarak, modelin eğitimine başlamak için tüm eğitim verilerini toplamamız gerekir.
Step 2 - Şimdi, algoritmaya bir mini grup eğitim verisi sağlayarak model eğitimine başlayın.
Step 3 - Daha sonra, algoritmaya birden çok artışla mini grup eğitim verisi sağlamamız gerekir.
Step 4 - Toplu öğrenme gibi durmayacağından, tüm eğitim verilerini mini gruplar halinde sağladıktan sonra, ona yeni veri örnekleri de sağlayın.
Step 5 - Son olarak, yeni veri örneklerine dayalı olarak bir süre boyunca öğrenmeye devam edecektir.
Genelleme Yaklaşımına Dayalı
Öğrenme sürecinde, aşağıdaki genelleme yaklaşımlarına dayanan bazı yöntemlerdir -
Örnek tabanlı Öğrenme
Örnek tabanlı öğrenme yöntemi, girdi verilerine göre genelleme yaparak ML modellerini oluşturan faydalı yöntemlerden biridir. Bu tür öğrenmenin makine öğrenimi sistemlerini içermesi ve eğitim verileri üzerinde açık bir model oluşturmadan yeni veri örnekleri için sonuçları elde etmek için ham veri noktalarını kullanan yöntemleri içermesi, daha önce incelenen öğrenme yöntemlerinin tam tersidir.
Basit bir deyişle, örnek tabanlı öğrenme temelde girdi veri noktalarına bakarak çalışmaya başlar ve ardından bir benzerlik ölçüsü kullanarak yeni veri noktalarını genelleştirir ve tahmin eder.
Model tabanlı Öğrenme
Model tabanlı öğrenme yöntemlerinde, hiperparametre adı verilen çeşitli model parametrelerine dayalı olarak oluşturulan ve özelliklerin çıkarılması için girdi verilerinin kullanıldığı ML modellerinde yinelemeli bir süreç gerçekleşir. Bu öğrenmede, hiperparametreler çeşitli model doğrulama tekniklerine göre optimize edilir. Bu nedenle Model tabanlı öğrenme yöntemlerinin genellemeye yönelik daha geleneksel MO yaklaşımını kullandığını söyleyebiliriz.