Introduction to Machine Learning Kursu Ders Notlarım

Merhaba, size Global AI Hub'ın internet sitesinde yer alan Introduction to Machine Learning kursu için notlarımı paylaşacağım. Makine öğrenimi kursuna erişmek isterseniz link: https://globalaihub.com/


makine_ogrenimi


INTRODUCTION TO MACHINE LEARNING


Makine öğrenimi(machine learning), temel olarak girdi olarak verilen verilerin makine öğrenmesi modeli ve makine öğrenmesi algoritmaları ile işlenerek çıktı olarak verilmesi olarak tanımlanabilir.
Predicted(tahmin) yapmak için dataset(veri seti) gereklidir. Dataset training(eğitim) ve testing(test etme) olarak iki türde hazırlanır. Dataset ile makine öğrenmesi modeli eğitilmiş olacak ve test edilmiş olacaktır.
Makine öğrenmesi, bilgisayar bilim dalıdır. Daha hızlı veri analizi, otomasyon işlemleri ve elde edilen veriler ile öğrenmeyi sağlamaktadır.
Doğrusal regresyon, iki değişken arasındaki ilişkili bir grafik oluşturma işlemidir. Lojistik regresyon, sınıflandırma algoritmasıdır. K-mean algoritması, kümeleme işlemidir, veri noktalarını kümelere bölmektedir.
Makine öğrenmesinde kayıp ise tahmin edilen ve beklenen çıktı arasındaki farkı belirtir. Eğitim süreci ise öğrenilen parametreler bir dizi yineleme işlemenden geçer ve en az kayıp elde edilmeye çalışır.

Regresyon

Regresyon, bağımlı değişen ve bağımsız değişken olarak iki değişken arasında bağlantı oluşturan algoritmalardır. Makine öğrenimi, Supervised(denetlenen) ve unsupervised(denetlenmeyen) olarak iki türde yapılır. Supervised, giriş verisi ve çıkış verisinden oluşan etiketli verilerden oluşur. Unsupervised ise etiketlenmemiş veriler üzerinden yapılır.
MSE ise ortalama kare hatası -> kök -> RMSE
Regresyon formülü ise y=W1+W2*X2+…+b , doğrusal regresyon formülü ise y=WX+b
y, bağmlı değişken; X ağırlık değeridir ve y2deki etkiyi ifade eder; b ise önyargıdır. Amaç en uygun düz çizgiyi bulmaktır.
Çoklu regresyon ise çoklu doğrusal işlemler için kullanılır. Bağımlı bir değişen için birden fazla bağımsız değişken incelenir. Formülü ise y=W1X1+W2X2+…+b
Regresyon değerlendirme ise ortalama kare hatası ile bulunur. Farkların karesinin ortalaması kullanılır. Hatanın boyutu, MSE’nin karekökü ile RMSE olarak bulunur. Her bir gözlenen veriden öğrenilen veriyi çıkarıp daha sonra karelerinin ortalamasını alarak bu süreci her değer için sırası ile yapmaktır.

mse-ortalama_kare_farkı

rmse-ortalama_kare_farkı_karekök


Classification(sınıflandırma)

Belirli bir veri kümesini sınıflara ayırma işlemidir. Önceden tanımlanmış sınıflar, etiketler vb. Ile hareket eder. Model, nesnenin özelliklerini tahmin etmek için etiketleri kullanır. Sınıflandırma, veri seti kullanarak kategorize etmeyi sağlar. İkili sınıflandırma(binary classification), çoklu sınıf sınıflandırma(multi-class classification) ve lojistik regresyon(logistic regression) olmak üzere üç çeşidi vardır. Sınıflandırma denetimli bir öğrenme tekniğidir. Sınıflandırmada karşılık matrixi kullanılır. Bu matrix tablosu ile yapılan işlemlerin doğruluğu kontrol edilir. 
karsilik_matrix_confusion_matrix
Gerçek(actual) ve predicted(tahmin) arasında yapılan bu tabloda, modelin doğru sonuç verdiği kısımlar true positive ve true negative kısımdır.Diğer kısımlar yanlış olarak bulunur. Accuracy formülü, (true positive ve true negative toplamı)/(tüm değerler) toplamı olarak bulunur. Precision formülü, true positive/true positive+ false positive . Recall formülü ise true positive/true positive+ false negative. F1 score formülü ise 2*precision*recall/precision+recall. F1 score ise, kesinlik ve geri çağırma arasındaki dengeyi analiz eder. SVM ise Support Vector Machine olarak tanımlanır ve çoğunluk sınıflandırma için kullanılır. 
sigmoid_fonksiyon
sigmoid_fonksiyon

Clustering

Denetimsiz öğrenme, insan denetimi olmadan verilerdeki gizli kalıpları öğrenmek için kullanılır. Kümeleme, farklı veri noktalarını etiketler yerine özelliklerindeki benzerliğe göre sınıflandırır. Bilgisayarlar için k-means algoritması kullanılır. 
K-means, veri noktalarını n, “K” sayıda gruba ayrıldığı bir kümeleme yaklaşımıdır. Belirli bir merkeze yakın olan veri noktalarını birlikte gruplandırır. Küçük “K” değeri daha büyük küme, büyük “K” değeri ise daha küçük kümeler oluşturur. 
Merkezoid(centeroid), ilk olarak her küme için başlangıç noktaları rastegele seçilir ve küme merkez noktaları kullanılır. Ardından ağırlık merkezlerinin konumlarını optimize etmek için yinelemeli hesaplamalar yapılır. 
Silüet katsayısı, kümeler için performans değerlendirme metrikleri(silüet puanı, diğer adı) bir kümeleme tekniğinin kalitesini hesaplar. Bir noktanın, aynı kümedeki diğer noktalara olan ortalama mesafesi aynı nokta en yakın kümedeki noktalara olan ortalama mesafesiyle karşılaştırılır.
S=b-a/max(a,b) a: küçük küme, b: diğer küme
Düzenleme(Regularization)-----
Düzenleme bir modelin eksik ve fazla çalışmasını ve yüksek yanlılığı ile varyansı azaltmak için bir modelin düzenlenmesidir. Varyans arttıkça önyargı azalır ve önyargı arttıkça varyans azalır. Eğitim setinde kalıpları bulamamak, görünmeyen verilerde hata üretmek yüksek derecede önyargılı olmak demektir.
Underfit, yeterli veri yoktur, kalıpları tanımak için az miktarda veri vardır. Yüksek varyanslı modeller, görünmeyen verilerle uyum sağlanmış modellerdir. Yapılan iş, genelleme olarak tanımlanır Varyans, bir modelin belirli veri modellerine duyarlılığıdır. Overfit, çok fazla veriye sahip, spesifik demektir.
ML modelin eğitirken ortaya çıkan sorunlar: Yetersiz veri ve aşırı uyum göstermektir. Çok basit ya da kalıpları bulunmamış zamanlarda, eğitim verilerindeki kalıplar bulunamamış, bir model eğitim kümesinde ve görünmeyen yüksek hata üretir.
Önyargı; modelin verilerdeki karmaşıklığı anlaşılmaması, ayrıca yetersiz donanım da etkilidir. Verilere göre bir grafik oluşturmak gerekirse, verilere tam olarak uymayan düz bir çizgi oluşur ve bu durumu modelin performansının düşük olduğunu gösterir. Aşırı uyumda ise eğitim verileri çok spesifik olur, test verileri genelleştirilemez ve düşük doğruluk olur. Ayrıca varyansı genel olarak tekrar tanımlamak gerekirse belirli bir veri kümesine bağlılık olarak tanımlanabilir. Düzenleştirme ise katsayılar sıfıra doğru küçültülür, daha az önemli özelliklerin etkisi azaltılır ve yüksek varyans önemlidir. L1 ve L2 loss function türleri vardır.


underfitting

overfitting

l1

Model

Naive Bayes, Decision Tress, Neural Networks olarak üç farklı makine öğrenimi modeli kullanılabilir.

Naive Bayes

Olasılık, bir olayın olma olasılığını tanımlayan matematik dalıdır. 0 ve 1 arası değer alır.(0 ve 1 dahil). Sınıflandırmanın temel amacı, verilen bir özellik kümesine karşılık gelen sınıfı bulmaktır. Naive Bayes adını, koşullu olasılığa odaklanan “Bayes Teoremi” ‘den alır. Koşullu olasılık, başka bir B olayının zaten gerçekleştiğine göre A olayının olma olasılığıdır. Bayes Teoremi, koşullu olasılığın uzantısıdır. Ters akıl yürütmeyi kullanmaya izin verir. Genel olarak formülü şöyledir: P(A/B) = P(B/A)*P(A)/P(B)
Ön olasılık=P(A)= sadece A’nın meydana gelmesi demektir. Arka olasılık=P(A/B)=B olayı verildiğinde A olayının olaslığıdır. P(B/A)=A olayının gerçekleştiğine göre B olayının olma olasılığıdır. Bir algoritmayı saf, temiz yapan özellikler: Model, bir sınıfa verilen bir özelliğin koşullu olasılığı hesaplandığında, başka hiçbir özelliğin etkisini hesaba katmaz, özelliklerin birbirinden bağımsız olduğunu varsayar, her özelliğin olasılığını tanımlama esnekliği verir. Naive Bayes içinde üç adet özellik verir. Bernoulli Naive Bayes, veriler iki ise(evet/hayır). Çok Terimli Naive Bayes, ayrık değerler var ise. Gauss Naive Bayes, sürekli değişkenler olduğunda.
naive_bayes

Decision Tress(Karar Ağacı- Ağaç Budama)

Sınıflandırma ve regresyon için kullanılabilir bir denetimli öğrenme algoritmasıdır. Algoritma, verileri adım adım kategorilere ayırır. Verilere dayalı bir sonucu ifade etmek için kullanılabilecek bir if-else ifadesidir. Rastgele sorular sorar. Veri kümesinin doğru bölünüp bölünmediği kontrol edilir. Sorular sürekli değişir. 
Bir dizi düğümdür. Kök veya üst düğüm(ağacın başlangıç noktası). Düğümler arası geçiş. Yaprak düğümü, son kategori veya tahmin,sonuç. Sınıflandırma ve regresyon sorunlarını çözmek için kullanılır. Karar tabanlı algoritmaların mantığı kategorik olduğu için, sınıflandırma problemleri için daha uygundur. Sürekli değerlerin çıkışını tahmin etmek, regresyon problemlerinde olduğu gibi, kararlara dayalı olarak daha zordur.
Çalışma mantığı olarak şu şekildedir: Decision Tree algoritması soru sorar ve verileri böler. Sorulara bağlı olarak bilgi kazancını hesaplar. Veri setini diğerlerinden daha iyi bölen soru kullanılır.
Ağaç budama kısmı ise, daha az karmaşık karar ağacı elde etmek için bilgi kazanımına dayalı olarak bazı gereksiz özelliklerin kaldırılmasıdır. Modelin görünmeyen verilere iyi bir şekilde genellemesi içindir. Fazla uyum ve yüksek varyansı önlemeye yardımcı olur.
Rastgele Orman Algoritması olarak bir başka türevi vardır. Birden çok ağaç kullanılır. Her ağaç üzerinde bir test veri seti çalışır. Her bir ağaçtan tahmin alınır ve çoğunluk oylarına göre en çok görünen kategori, nihai bir çıktı alınır.
karar_agaci_decision_tree

Neural Networks(Sinir Ağları)

YSA(Yapay sinir ağları),ANN olarak tanımlanabilir. İnsanın sinir ağlarını(beyindeki) taklit etmeye yardımcı olur. Doğrusal olmayan problem çözümünde faydalıdır. Giriş(input), gizli(hidden) ve çıktı (output) olarak üç adet katmanı vardır. Giriş katmanı verileri alıp gizli katmana gönderir. Gizli katmanlar, bilgiyi çıktı katmanına gönderir. Çıktı katmanı, çıktıyı hesaplar. Ayrıca YSA’larda algılayıcılar vardır. Algılayıcı, birbirine bağlı bir dizi düğümden oluşur ve insanı taklit eder. Aktivasyon fonksiyonu ise giriş ağırlığı, değerler için eşik değerlere sahiptir ve eşik değer aşılırsa işlem yapılır.
Geri yayılım, modelin değerlendirilmesi ve iyileştirilmesi, ileri yayılma tamamı biter ve sonuçlar temel gerçek ile karşılaştırılır. Model geliştirilir. Geriye doğru gitmek, ağırlıkları ön yargılı ayarlamak ve sınıflandırma görevindeki hatayı an aza indirmek için kullanılır.
sinir_agaci_ysa_ann_neural_networks

aktivasyon_fonksiyonu


Yorum Gönder

Yorum yaptığınız için teşekkürler :)

Daha yeni Daha eski