Python ile AI - Makine Öğrenimi
Öğrenme, çalışma veya deneyim yoluyla bilgi veya becerilerin edinilmesi anlamına gelir. Buna dayanarak, makine öğrenimini (ML) şu şekilde tanımlayabiliriz -
Bilgisayar bilimi alanı olarak tanımlanabilir, daha özel olarak bilgisayar sistemlerine verilerle öğrenme ve açıkça programlanmadan deneyimden gelişme yeteneği sağlayan bir yapay zeka uygulaması olarak tanımlanabilir.
Temel olarak, makine öğreniminin ana odak noktası, bilgisayarların insan müdahalesi olmadan otomatik olarak öğrenmesine izin vermektir. Şimdi şu soru ortaya çıkıyor: Böyle bir öğrenmenin nasıl başlatılıp yapılabileceği? Verilerin gözlemlenmesi ile başlanabilir. Veriler bazı örnekler, talimatlar veya bazı doğrudan deneyimler olabilir. Daha sonra bu girdiye dayanarak, makine verilerdeki bazı kalıpları arayarak daha iyi kararlar verir.
Makine Öğrenimi Türleri (ML)
Makine Öğrenimi Algoritmaları, bilgisayar sisteminin açıkça programlanmadan öğrenmesine yardımcı olur. Bu algoritmalar, denetlenen veya denetimsiz olarak kategorize edilir. Şimdi birkaç algoritmaya bakalım -
Denetlenen makine öğrenimi algoritmaları
Bu, en yaygın kullanılan makine öğrenimi algoritmasıdır. Denetimli olarak adlandırılır çünkü eğitim veri setinden algoritma öğrenme süreci, öğrenme sürecini denetleyen bir öğretmen olarak düşünülebilir. Bu tür bir makine öğrenimi algoritmasında, olası sonuçlar zaten bilinmektedir ve eğitim verileri de doğru yanıtlarla etiketlenmiştir. Şu şekilde anlaşılabilir -
Giriş değişkenlerimiz olduğunu varsayalım x ve bir çıktı değişkeni y ve girdiden çıktıya eşleme işlevini öğrenmek için bir algoritma uyguladık, örneğin -
Y = f(x)
Şimdi, ana hedef, eşleme işlevine o kadar iyi yaklaşmaktır ki, yeni girdi verisine (x) sahip olduğumuzda, bu veri için çıktı değişkenini (Y) tahmin edebiliriz.
Temelde denetlenen eğilme sorunları aşağıdaki iki tür soruna ayrılabilir:
Classification - "Siyah", "öğretme", "öğretmeme" gibi kategorize edilmiş çıktılara sahip olduğumuzda bir soruna sınıflandırma sorunu denir.
Regression - "Mesafe", "kilogram" gibi gerçek değer çıktısına sahip olduğumuzda bir soruna regresyon problemi denir.
Karar ağacı, rastgele orman, knn, lojistik regresyon, denetimli makine öğrenimi algoritmalarına örnektir.
Denetimsiz makine öğrenimi algoritmaları
Adından da anlaşılacağı gibi, bu tür makine öğrenimi algoritmalarının herhangi bir rehberlik sağlayacak herhangi bir denetçisi yoktur. Bu nedenle, denetimsiz makine öğrenme algoritmaları, bazılarının gerçek yapay zeka dediği şeyle yakından uyumludur. Şu şekilde anlaşılabilir -
Diyelim ki giriş değişkenimiz x var, o zaman denetimli öğrenme algoritmalarında olduğu gibi karşılık gelen çıktı değişkenleri olmayacak.
Basit bir deyişle, denetimsiz öğrenmede rehberlik için hiçbir doğru cevap ve öğretmen olmayacağını söyleyebiliriz. Algoritmalar, verilerdeki ilginç kalıpları keşfetmeye yardımcı olur.
Denetimsiz öğrenme sorunları aşağıdaki iki tür soruna ayrılabilir:
Clustering- Kümeleme problemlerinde, verilerdeki içsel gruplamaları keşfetmemiz gerekir. Örneğin, müşterileri satın alma davranışlarına göre gruplamak.
Association- Bir soruna ilişkilendirme sorunu denir çünkü bu tür sorunlar, verilerimizin büyük bir bölümünü tanımlayan kuralları keşfetmeyi gerektirir. Örneğin, her ikisini de alan müşterileri bulmakx ve y.
Kümeleme için K-araçları, ilişkilendirme için Apriori algoritması, denetimsiz makine öğrenme algoritmalarına örnektir.
Güçlendirme makine öğrenimi algoritmaları
Bu tür makine öğrenimi algoritmaları çok daha az kullanılır. Bu algoritmalar, sistemleri belirli kararlar almaları için eğitir. Temel olarak makine, deneme yanılma yöntemini kullanarak sürekli kendini eğittiği bir ortama maruz kalır. Bu algoritmalar geçmiş deneyimlerden öğrenir ve doğru kararlar vermek için mümkün olan en iyi bilgiyi yakalamaya çalışır. Markov Karar Süreci, pekiştirme makine öğrenimi algoritmalarına bir örnektir.
En Yaygın Makine Öğrenimi Algoritmaları
Bu bölümde, en yaygın makine öğrenimi algoritmaları hakkında bilgi edineceğiz. Algoritmalar aşağıda açıklanmıştır -
Doğrusal Regresyon
İstatistik ve makine öğreniminde en iyi bilinen algoritmalardan biridir.
Temel kavram - Esas olarak doğrusal regresyon, x diyelim giriş değişkenleri ve y diyelim tek çıkış değişkeni arasında doğrusal bir ilişki varsayan doğrusal bir modeldir. Başka bir deyişle, y'nin x girdi değişkenlerinin doğrusal bir kombinasyonundan hesaplanabileceğini söyleyebiliriz. Değişkenler arasındaki ilişki, bir en iyi çizgi uydurularak kurulabilir.
Doğrusal Regresyon Türleri
Doğrusal regresyon aşağıdaki iki türdendir -
Simple linear regression - Doğrusal regresyon algoritması, yalnızca bir bağımsız değişkene sahipse basit doğrusal regresyon olarak adlandırılır.
Multiple linear regression - Doğrusal regresyon algoritması, birden fazla bağımsız değişkene sahipse çoklu doğrusal regresyon olarak adlandırılır.
Doğrusal regresyon esas olarak sürekli değişken (ler) e dayalı gerçek değerleri tahmin etmek için kullanılır. Örneğin, gerçek değerlere dayalı olarak bir mağazanın bir gün içindeki toplam satışı doğrusal regresyon ile tahmin edilebilir.
Lojistik regresyon
Bir sınıflandırma algoritmasıdır ve aynı zamanda logit gerileme.
Temelde lojistik regresyon, belirli bir bağımsız değişken kümesine dayalı olarak 0 veya 1, doğru veya yanlış, evet veya hayır gibi ayrı değerleri tahmin etmek için kullanılan bir sınıflandırma algoritmasıdır. Temel olarak, çıktısının 0 ile 1 arasında olmasından dolayı olasılığı tahmin eder.
Karar ağacı
Karar ağacı, çoğunlukla sınıflandırma problemleri için kullanılan denetimli bir öğrenme algoritmasıdır.
Temel olarak, bağımsız değişkenlere dayanan özyinelemeli bölüm olarak ifade edilen bir sınıflandırıcıdır. Karar ağacının köklü ağacı oluşturan düğümleri vardır. Köklü ağaç, "kök" adı verilen bir düğüme sahip yönlendirilmiş bir ağaçtır. Kök herhangi bir gelen kenara sahip değildir ve diğer tüm düğümlerin bir gelen kenarı vardır. Bu düğümlere yapraklar veya karar düğümleri denir. Örneğin, bir kişinin uygun olup olmadığını görmek için aşağıdaki karar ağacını düşünün.
Destek Vektör Makinesi (SVM)
Hem sınıflandırma hem de regresyon problemleri için kullanılır. Ancak esas olarak sınıflandırma problemleri için kullanılır. SVM'nin ana kavramı, her bir veri öğesini n boyutlu uzayda bir nokta olarak çizmektir ve her özelliğin değeri belirli bir koordinatın değeridir. Burada n sahip olacağımız özellikler olacaktır. Aşağıda, SVM kavramını anlamak için basit bir grafik temsil verilmiştir -
Yukarıdaki diyagramda, iki özelliğimiz var, bu nedenle önce bu iki değişkeni, her noktanın destek vektörleri adı verilen iki koordinata sahip olduğu iki boyutlu uzayda çizmemiz gerekiyor. Çizgi, verileri iki farklı sınıflandırılmış gruba ayırır. Bu satır sınıflandırıcı olacaktır.
Naif bayanlar
Aynı zamanda bir sınıflandırma tekniğidir. Bu sınıflandırma tekniğinin arkasındaki mantık, sınıflandırıcılar oluşturmak için Bayes teoremini kullanmaktır. Varsayım, yordayıcıların bağımsız olmasıdır. Basit bir deyişle, bir sınıftaki belirli bir özelliğin varlığının başka herhangi bir özelliğin varlığıyla ilgisi olmadığını varsayar. Bayes teoremi için denklem aşağıdadır -
$$ P \ left (\ frac {A} {B} \ right) = \ frac {P \ left (\ frac {B} {A} \ right) P \ left (A \ sağ)} {P \ left ( B \ sağ)} $$
Naïve Bayes modelinin oluşturulması kolaydır ve özellikle büyük veri kümeleri için kullanışlıdır.
K-En Yakın Komşular (KNN)
Problemlerin hem sınıflandırılması hem de regresyonu için kullanılır. Sınıflandırma problemlerini çözmek için yaygın olarak kullanılmaktadır. Bu algoritmanın ana konsepti, mevcut tüm vakaları depolamak ve yeni vakaları k komşularının çoğunluk oylarıyla sınıflandırmasıdır. Daha sonra durum, bir mesafe fonksiyonu ile ölçülen K-en yakın komşuları arasında en yaygın olan sınıfa atanır. Uzaklık işlevi Öklid, Minkowski ve Hamming mesafesi olabilir. KNN'yi kullanmak için aşağıdakileri göz önünde bulundurun -
Hesaplama açısından KNN, sınıflandırma problemleri için kullanılan diğer algoritmalardan daha pahalıdır.
Değişkenlerin normalleştirilmesi gerekli aksi takdirde daha yüksek aralık değişkenleri onu saptırabilir.
KNN'de gürültü giderme gibi ön işleme aşamasında çalışmamız gerekiyor.
K-Kümeleme Demektir
Adından da anlaşılacağı gibi kümeleme problemlerini çözmek için kullanılır. Temelde bir tür denetimsiz öğrenmedir. K-Means kümeleme algoritmasının ana mantığı, veri kümesini bir dizi küme aracılığıyla sınıflandırmaktır. K-araçlarına göre küme oluşturmak için şu adımları izleyin -
K-anlamı, ağırlık merkezi olarak bilinen her küme için k sayıda puan alır.
Şimdi her veri noktası, en yakın ağırlık merkezlerine, yani k kümelerine sahip bir küme oluşturur.
Şimdi, mevcut küme üyelerine göre her bir kümenin centroidlerini bulacaktır.
Yakınsama gerçekleşene kadar bu adımları tekrar etmemiz gerekiyor.
Rastgele Orman
Denetimli bir sınıflandırma algoritmasıdır. Rasgele orman algoritmasının avantajı, hem sınıflandırma hem de regresyon türü problemler için kullanılabilmesidir. Temelde karar ağaçlarının (yani, orman) toplanmasıdır veya karar ağaçları topluluğu diyebilirsiniz. Rastgele ormanın temel kavramı, her ağacın bir sınıflandırma yapması ve ormanın bunlardan en iyi sınıflandırmaları seçmesidir. Rastgele Orman algoritmasının avantajları aşağıdadır -
Rastgele orman sınıflandırıcı, hem sınıflandırma hem de regresyon görevleri için kullanılabilir.
Eksik değerleri halledebilirler.
Ormanda daha çok ağaç olsa bile modele fazla uymaz.