Makine Öğrenimi ve Sinir Ağları - sayfa 61

 

10 Dakikada ROC (Alıcı Çalışma Karakteristik) Eğrisi!



10 Dakikada ROC (Alıcı Çalışma Karakteristik) Eğrisi!

Selamlar! Ben Luis Serrano ve bu videoda Alıcı Çalışma Karakteristik (ROC) eğrisini tartışacağız. ROC eğrisi, makine öğrenimi modellerini değerlendirmek ve önemli kararlar almak için yaygın olarak kullanılır.

Mavi noktaların pozitif ve kırmızı noktaların negatif olarak etiketlendiği mavi ve kırmızı noktaları içeren bir veri seti ile başlayalım. Bu veri kümesine uyan bir makine öğrenimi modeli oluşturacağız. Örneğin, bu satırı düşünün. Çizginin mavi tarafının o taraftaki her noktayı mavi veya pozitif olarak sınıflandırdığını, kırmızı tarafın ise o taraftaki noktaları kırmızı veya negatif olarak sınıflandırdığını unutmayın. Ancak model bazı hatalar yapmaktadır. Bir örnek, yanlış bir pozitif olan mavi alanda bulunan kırmızı noktadır. Başka bir örnek, yanlış negatif olan kırmızı alandaki çizginin altındaki mavi noktadır. Yanlış pozitifleri ve yanlış negatifleri daha iyi anlamak için makine öğrenimi testi ve hata metrikleri hakkındaki diğer videoma göz atın.

Şimdi aynı tip model için iki farklı örneği inceleyelim. Soldaki model, pozitif noktaların hasta hastaları, negatif noktaların ise sağlıklı hastaları temsil ettiği tıbbi bir modeldir. Öte yandan, sağdaki model bir spam algılama modelidir, burada pozitif noktalar istenmeyen mesajlar, negatif noktalar ise spam olmayan veya "ham" mesajlardır.

Tıbbi modelde, sağlıklı bir kişiye hasta teşhisi konduğunda yanlış pozitif oluşur ve bu da gereksiz testlere yol açar. Hasta bir kişinin sağlıklı olduğu teşhis edildiğinde yanlış negatif olur ve tedavi edilmez. Bu durumda, yanlış negatifler daha kötü kabul edilir çünkü sağlıklı bir kişiyi ek testler için göndermek, hasta bir kişiyi tedavi görmeden eve göndermekten daha iyidir. Bu nedenle, yanlış negatifleri azaltmak için modeli değiştirmeyi hedefliyoruz.

İstenmeyen e-posta algılama modelinde, yanlış pozitifler, istenmeyen e-posta olarak sınıflandırılan ve istenmeyen posta klasörüne gönderilen iyi "ham" e-postalardır. Yanlış negatifler, yanlışlıkla "ham" olarak sınıflandırılan ve gelen kutusuna teslim edilen spam e-postalardır. Burada, yanlış pozitifler daha kötü kabul edilir çünkü gelen kutusunda ara sıra istenmeyen e-postalar almak, önemli e-postaların spam olarak işaretlenmesine tercih edilir. Bu nedenle, bu modelde yanlış pozitifleri azaltmaya odaklanıyoruz.

Bu iki model aşırı uçları temsil eder ve çoğu model, bazı yanlış pozitif veya yanlış negatifleri tolere ederek arada bir yerde bulunur. Ancak, her hata türüne verilen önem değişebilir. Bu nedenle, her bir model türü için, sınıflandırma eşiğini ayarlamak için en uygun noktayı belirlememiz gerekir.

Bu videoda size bu tür kararlar vermenize yardımcı olacak faydalı bir yöntem göstereceğim. Bu satırla temsil edilen varsayımsal bir veri kümesini ele alacağız. Modellerimiz bu satırın paralel çevirileri olacaktır. Her model için doğru sınıflandırılmış kırmızı ve mavi noktaların sayısını kaydedeceğiz.

Tüm mavi noktaların doğru şekilde sınıflandırıldığı ve kırmızı noktaların hiçbirinin doğru şekilde sınıflandırılmadığı en alttaki çizgi ile başlıyoruz. Bu bize 0 doğru kırmızı nokta ve 5 doğru mavi nokta verir. Bu değerleri çizeriz ve doğru sınıflandırmaları kaydederek çizgiyi her seferinde bir noktayı kapsayacak şekilde hareket ettiririz. Bu süreç sonuna kadar devam eder. Sonunda, her zaman 5 doğru mavi noktamız ve 0 doğru kırmızı noktamız var. Bu noktaları işaretliyoruz ve eğrinin altındaki alanı hesaplıyoruz. Bu durumda, alan 25 karenin 21'idir ve 0,84'lük eğrinin altındaki bir alanla sonuçlanır. Alan 0 ile 1 arasında değişir ve daha yüksek değerler daha iyi model performansını gösterir. Modelimiz hakkında kararlar vermek için bu ROC eğrisini kullanabiliriz. İyi bir model, birkaç yanlış pozitif ve yanlış negatif ile eğri üzerinde bir nokta ile temsil edilecektir. Tıbbi modelde yanlış negatifleri veya spam tespit modelinde yanlış pozitifleri en aza indirmek gibi özel gereksinimlerimize bağlı olarak, eğri üzerinde ilgili noktaları seçebiliriz.

Alternatif olarak, veri noktalarını model tarafından atanan 0 ile 1 arasında puanlara sahip olarak görebiliriz. Bir eşik uygulayarak, bu puanları ayrık tahminlere dönüştürebiliriz. Eşiği ayarlıyoruz ve modelin farklı seviyelerde nasıl performans gösterdiğini gözlemliyoruz. Bu işlem ROC eğrisini oluşturur. Eğri üzerinde bir nokta seçmek, tahminlerimiz için uygun bir eşik seçmemize yardımcı olur. Ayrıca, eğrinin altında kalan alanın 0,5'in altında olması, daha kötü bir modeli göstermediğini belirtmekte fayda var. Aslında, yine de iyi bir model olabilir. Örneğin, alanı 0 olan bir model, tüm hataları yapan bir modele karşılık gelir, ancak tahminleri tersine çevirirsek, neredeyse hiç hata yapmayan bir model kadar iyi olur. Böylece, alanları 0,5'in altında olan modeller yine de etkili olabilir.

İlginiz için teşekkür ederiz! Bu videoyu beğendiyseniz, lütfen daha fazla içerik için abone olun. Özellikle gelecekteki videolar için önerileriniz varsa beğenmekten, paylaşmaktan ve yorum yapmaktan çekinmeyin. Bana Twitter @LuisLikesMath üzerinden de ulaşabilirsiniz. Videolar, kitaplar ve kurslar hakkında daha fazla bilgi için Luis Serrano Academy'ye göz atın. Bir sonraki videoda görüşmek üzere!

ROC (Receiver Operating Characteristic) Curve in 10 minutes!
ROC (Receiver Operating Characteristic) Curve in 10 minutes!
  • 2020.07.14
  • www.youtube.com
The ROC curve is a very effective way to make decisions on your machine learning model based on how important is it to not allow false positives or false neg...
 

Doğrusal Regresyon: Dostane bir giriş



Doğrusal Regresyon: Dostane bir giriş

Merhaba, ben Louis Serrano ve bu lineer regresyona dostça bir giriş. Bu video, lineer regresyon, lojistik regresyon ve destek vektör makinelerini ele alacağım üç bölümlük serinin ilk kısmı. Ancak şimdilik lineer regresyona odaklanalım.

Tipik olarak doğrusal regresyonun açıklamaları, doğrusal cebir, matrisler, türevler, analiz ve hata fonksiyonları gibi karmaşık kavramları içerir. Ama benim için bu ezici olabilir. Görsel bir zihne sahibim ve doğrusal regresyonu noktaları ve çizgileri kullanarak daha sezgisel bir yaklaşımla anlamayı tercih ediyorum.

Bununla ne demek istediğimi göstereyim. İlk olarak, bir konut fiyatları örneği kullanarak doğrusal regresyonu tanımlayalım. Farklı sayıda odaya sahip beş evimiz olduğunu hayal edin. Üçüncü eve sahibiz ve satış fiyatını tahmin etmek istiyoruz. Bunu yapmak için benzer evlerin fiyatlarına bakarız ve makul bir tahminde bulunmaya çalışırız. Birinci evin 150.000 $, ikinci evin 200.000 $, dördüncü evin 300.000 $ ve beşinci evin 350.000 $ olduğunu gözlemledikten sonra, üçüncü evin yaklaşık 250.000 $ tutabileceğini tahmin edebiliriz.

Temel olarak, burada yaptığımız şey doğrusal regresyon yapmaktır. Evleri, yatay eksende oda sayısı ve dikey eksende fiyat olacak şekilde bir grafik üzerinde çizdik. Fiyatların düz bir çizgi izlediğini gözlemledik, bu yüzden en iyi tahmini yapmak için üçüncü evi doğruya yerleştirdik. Bir dizi noktadan bir doğru uydurma ve onu tahminler için kullanma şeklindeki bu basit yaklaşım, doğrusal regresyonun özüdür.

Gerçekte, fiyatların hesaplanması, verileri daha karmaşık hale getiren ek faktörleri içerir. Ancak yine de ev fiyatlarına oldukça yakın bir çizgi sığdırabiliyoruz. Finansta hisse senedi fiyatlarının hesaplanması veya tıpta hasta yaşam sürelerinin belirlenmesi gibi çeşitli senaryolara doğrusal regresyon uygulanabilir. Başvurular çoktur.

Şimdi, lineer regresyonu gerçekte nasıl gerçekleştirdiğimizi tartışalım. Noktalara en uygun doğruyu bulmak için bir algoritmaya veya prosedüre ihtiyacımız var. Kolaylık sağlamak için, noktalara iyi oturana kadar hatta küçük ayarlamalar yapmayı içeren temel bir algoritmaya odaklanacağız.

İşte algoritmanın bir özeti:

  1. Rastgele bir satırla başlayın.
  2. Yaptığımız ayarlamaların boyutunu belirleyen öğrenme oranını tanımlayın.
  3. Aşağıdaki adımları belirtilen sayıda (dönem) tekrarlayın:
    • Rastgele bir nokta seçin.
    • Çizgiye göre konumuna göre çizgiyi noktaya doğru hareket ettirin.
  4. Donanımlı hattınızın keyfini çıkarın!

Doğruyu bir noktaya doğru hareket ettirmek için döndürmeler ve ötelemeler yaparız. Çizgiyi saat yönünde veya saat yönünün tersine döndürmek eğimi ayarlarken, çizgiyi yukarı veya aşağı çevirmek y-kesme noktasını ayarlar. Ayarlamalar, öğrenme oranı tarafından belirlenen küçük miktarlar eklenerek veya çıkarılarak yapılır.

Bu işlemi birkaç kez tekrarlayarak, çizgi yavaş yavaş noktalara yaklaşır ve iyi bir uyum sağlar. Dönem sayısı, işlemi kaç kez tekrarlayacağımızı belirler ve istenen doğruluk ve mevcut hesaplama kaynaklarına göre ayarlanabilir.

Lineer regresyonun arkasındaki temel fikir budur. Çizgileri veri noktalarına uydurmak ve tahminler yapmak için güçlü bir araçtır. Umarım bu sezgisel açıklama, lineer regresyonu daha iyi anlamanıza yardımcı olur.

Ana noktaya daha yakın bir şeyimiz var ve kare numarasının etkili bir şekilde çalıştığından emin olmak için kontrol etmemiz gereken dört durum var. Noktanın çizginin altında ve y ekseninin sağında olduğu başka bir durumu inceleyelim. Denklem tekrar sunulur. Birinci adımda, 0,01'lik küçük bir öğrenme oranı seçiyoruz. İkinci adımda, bu oranı eğime ve y-kesen noktasına uyguluyoruz. Şimdi, nokta çizginin (-4) altında olduğu için dikey mesafe negatiftir, nokta y ekseninin (+5) sağında olduğu için yatay mesafe pozitif kalır. Eğimi değiştirmek için 0,01 çarpı (-4) çarpı 5'i toplayarak -0,2 elde ederiz. -0.2'yi çıkararak eğimi azaltırız ve çizginin saat yönünde hareket etmesine neden oluruz. Y-kesme noktası için, öğrenme oranını 0,01 çarpı (-4) olan dikey mesafeyle çarparak -0,04 sonucunu veririz. Yeni çizgi denklemi y = 1,8 - 0,2x + 2,96 - 0,04 olur. Eğimin daha küçük olduğuna, saat yönünde dönüşü gösterdiğine ve y-kesme noktasının daha küçük olduğuna ve aşağı doğru ötelemeye işaret ettiğine dikkat edin. Bu ayar bizi konuya yaklaştırıyor. Dört vakadan yalnızca ikisini kontrol etmiş olmamıza rağmen, ikinci adımın tutarlı bir şekilde işe yaradığını görmek için hepsini test etmenizi tavsiye ederim. Son olarak, doğrusal regresyon algoritmasını keşfedelim. Algoritma şu şekilde ilerler:

  1. Rastgele bir satırla başlayın.
  2. Tekrar sayısını (dönem) 8.000 olarak ayarlayın.
  3. 0,01'lik küçük bir adım uzunluğu (öğrenme oranı) seçin.
  4. Belirtilen çağ sayısı için aşağıdaki döngüyü tekrarlayın:
    • Rastgele bir nokta seçin.
    • Öğrenme oranını, dikey mesafeyi ve yatay mesafeyi kullanarak çizgiyi noktaya doğru hareket edecek şekilde ayarlayın.
  5. Donanımlı hattınızın keyfini çıkarın. Bu doğrusal regresyon algoritmasıdır. Sağlanan sözde kodu kullanarak kodlamanızı ve performansını gözlemlemek için farklı veri kümelerinde test etmenizi öneririm. Bu algoritmayı uyguladım ve son derece iyi çalıştığını gördüm.

Şimdi soru ortaya çıkıyor: Bu algoritma daha mı iyi yoksa mevcut algoritmalarla aynı mı? Bu durum bana bir zamanlar birlikte çalıştığım John Borwein adında parlak bir matematikçiyi hatırlatıyor. Pi'nin basamaklarını hesaplamak için formüller aradı ve bir formül pi'ye çok yaklaştığında, bunun bir kazan-kazan durumu olduğunu gördü çünkü ya yeni bir formül keşfetti ya da pi'ye oldukça yakın bir şey buldu. Benzer şekilde, bu algoritma ile bir kazan-kazan durumumuz var. Ya mevcut algoritmalardan daha iyi performans gösterir ya da daha basit olmakla birlikte etkili olduğunu kanıtlar.

Şaşırtıcı bir şekilde, bu algoritma, kare hata gradyan iniş gibi geleneksel doğrusal regresyonda kullanılanla tamamen aynıdır. Geleneksel yaklaşım, noktalar ve çizgi arasındaki mesafeyi hesaplayarak ve ardından türevleri, hesabı ve gradyan inişini kullanarak veya doğrusal denklem sistemlerini çözerek kare hatasını en aza indirmeyi içerir. Size sunduğum zorluk, kare hatasını hesaplayarak, türevleri alarak ve tıpkı gradyan iniş gibi türev yönünün tersine küçük adımlar atarak kare hilesinin geleneksel kare hatası yöntemine eşdeğer olduğunu doğrulamaktır. Kare farkının türevinin dikey ve yatay mesafelerle yakından ilişkili olduğunu keşfedeceksiniz. Bu, kare numarasının geleneksel yaklaşıma eşdeğer olduğunu göstermektedir.

İkinci zorluk, bir çizginin kötülüğünü veya iyiliğini ölçmekle ilgilidir. Mesafelerin karesini almayı içeren kare hatasını daha önce tartışmıştık. Daha basit bir yöntem de, işaretlerini dikkate almadan uzaklıkların mutlak değerlerini topladığımız mutlak hatadır. Kötü çizgi, daha büyük turuncu mesafelere sahipken, iyi çizgi, noktalara daha yakın olması nedeniyle daha küçük turuncu mesafelere sahiptir. Hesabı kullanarak, mutlak hatayı en aza indirebilir ve gradyan iniş adımlarını gerçekleştirebilirsiniz. Yalnızca yatay mesafeyle ilgilenen ve çizginin noktaya göre konumunu işlemek için bir if ifadesi içeren mutlak bir numara geliştirebilirsiniz. Bu meydan okumayı keşfederek, mutlak numarayı keşfedeceksiniz. Kodlamaktan ve etkinliğini gözlemlemekten çekinmeyin.

Bu video doğrusal regresyona odaklandı. Bunun, lojistik regresyon ve destek vektör makineleri için ipuçları içeren üç bölümlük bir dizinin parçası olduğunu unutmayın. Gelecek videolar için takipte kalın. Bu içeriği beğendiyseniz, lütfen abone olmayı, beğenmeyi ve paylaşmayı düşünün. Yorumlarınızı, sorularınızı ve önerilerinizi takdir ediyorum. Zorlukların üstesinden nasıl geldiğinizi bana bildirin ve gelecekteki videolar için konu önermekten çekinmeyin. Bana Twitter'dan da ulaşabilirsiniz (@LouisLikesMath). Teşekkürler, bir sonraki videoda görüşmek üzere.

Linear Regression: A friendly introduction
Linear Regression: A friendly introduction
  • 2018.12.22
  • www.youtube.com
Announcement: New Book by Luis Serrano! Grokking Machine Learning. bit.ly/grokkingML40% discount code: serranoytAn introduction to linear regression that req...
 

Lojistik Regresyon ve Perceptron Algoritması: Dostane bir giriş



Lojistik Regresyon ve Perceptron Algoritması: Dostane bir giriş

Üç durumu da aynı anda işleyebilen daha iyi bir algoritma var. Şimdi bu vakaları bir arada halleden algılayıcı hilesini anlatacağım. Aynı denkleme sahip bir doğruyu ve kırmızı çizgi üzerinde uzanan mavi bir noktayı ele alalım. Bu noktaya uyum sağlamak için çizginin konumunu ayarlamamız gerekiyor. Bunu yapmak için -6'nın değerini küçük bir miktar azaltacağız, 0.1 diyelim ki bu çizgiyi yukarı doğru hareket ettirecek. Ardından, döndürmek için çizginin eğimini ayarlayacağız. Örneğin çizgiyi daha dik olacak şekilde döndürmek istersek 2 değerini 1,8'e düşürebiliriz.

Benzer şekilde, nokta o yönde daha uzaksa, çizgiyi daha yakına getirmek için daha fazla döndürmemiz gerekir. Bu durumda, 2 değerini 1,4'e düşürebiliriz. Ancak nokta diğer taraftaysa, çizgiyi ters yönde döndürmemiz gerekir. Yani 2'nin değerini artırmamız gerekebilir, 2.2 diyelim. Bu süreci daha doğru bir şekilde tekrar gözden geçirelim. Nokta y ekseninden uzak olmadığında, -6 değerini 0.01 gibi küçük bir miktarda azaltırız, bu da çizgiyi biraz yukarı taşır.

Şimdi 2 değerini ele alalım. Noktanın koordinatları (4, 5) ise yatay mesafe 4'tür. Eğimi ayarlamak için 4'ü bir öğrenme oranıyla çarpabiliriz, 0.04 diyelim, 2'nin değerini azaltmak için Bu, çizgiyi bir pivot etrafında döndürür. Benzer şekilde 3 değerine de aynı prensibi uygulayabiliriz. Örneğin noktanın koordinatları (4, 5) ise dikey mesafe 5'tir. 5'i 0,05 gibi bir öğrenme oranı ile çarparak değeri azaltabiliriz. 3. Bu, çizgiyi daha fazla döndürür. Son olarak, 2'yi 0,04'e, 3'ü 0,05'e ve -6'yı 0,01'e indirdikten sonra denklem 1,96x + 2,95y - 6,01 olur. Algılayıcı hilesi olarak bilinen bu teknik, ayarlamaların hem yönünü hem de büyüklüğünü ele alır. Özetlemek gerekirse, 0,01'lik bir öğrenme oranıyla, a'yı öğrenme oranı çarpı b'ye, b'yi öğrenme oranı çarpı q'ya ve c'yi a'ya indirerek denklemi ax + by + c = 0 şeklinde güncelleyebiliriz. öğrenme oranı.

Bununla birlikte, bir husus daha var: yanlış sınıflandırılmış noktalarla mavi alanın üstte ve kırmızı alanın altta olduğu durum. Bu senaryoda, değerleri çıkarmak yerine toplarız. Örneğin, 2x + 3y - 6 = 0 yerine -2x - 3y + 6 = 0 olsaydı, a, b ve c'ye küçük miktarlar eklerdik. Noktaların y eksenine göre konumlarını dikkate alarak değerlerin artıp azalmayacağına karar verebiliriz. Şimdi daha da iyi bir yaklaşım olan lojistik regresyon algoritmasına geçelim.

Ayrıntılara girmeyeceğim, ancak sizin için bir taslak ve iki zorluk sunacağım. İlk zorluk, sınıflandırıcının performansını ölçmek için bir hata fonksiyonunun kullanılmasını içeren gradyan iniş olarak adlandırılır. Amaç, hatayı en aza indirmek ve hesabı kullanarak algoritmayı iyileştirmektir. Gradyan iniş süreci, daha önce tartıştığımız algılayıcı algoritmasına benzer.

İkinci zorluk, lojistik regresyon için uygun bir aktivasyon fonksiyonu seçmektir. Aktivasyon fonksiyonu, girdilerin ağırlıklı toplamını 0 ile 1 arasında bir olasılık değerine dönüştürmekten sorumludur.

Yaygın olarak kullanılan bir aktivasyon fonksiyonu, S-şekilli bir eğriye sahip olan sigmoid fonksiyonudur. Herhangi bir gerçek sayıyı 0 ile 1 arasında bir değerle eşler. Sigmoid işlevi şu şekilde tanımlanır:

σ(z) = 1 / (1 + e^(-z))

Burada z, girdilerin ağırlıklı toplamını temsil eder ve şu şekilde hesaplanır:

z = bir x + b y + c

Lojistik regresyonda amaç, gözlemlenen verilerin olasılığını en üst düzeye çıkaran a, b ve c için en uygun değerleri bulmaktır. Bu, genellikle çapraz entropi kaybı işlevi olarak adlandırılan bir maliyet işlevini en aza indirerek elde edilir.

Maliyet işlevi, tahmin edilen olasılıklar ile gerçek sınıf etiketleri arasındaki tutarsızlığı ölçer. Maliyet fonksiyonunun yaygın bir biçimi şudur:

J(a, b, c) = -1/m * Σ(y * log(σ(z)) + (1-y) * log(1-σ(z)))

Bu denklemde m, eğitim örneklerinin sayısını temsil eder, y gerçek sınıf etiketidir (0 veya 1) ve σ(z), pozitif sınıfın tahmin edilen olasılığıdır.

Maliyet fonksiyonunu en aza indirmek için gradyan iniş uygulanabilir. Gradyan inişinin arkasındaki fikir, parametre değerlerini (a, b ve c) bu parametrelere göre maliyet fonksiyonunun gradyanının ters yönünde yinelemeli olarak güncellemektir. Bu süreç, maliyet fonksiyonunun minimize edildiği yakınsamaya kadar devam eder.

Lojistik regresyonda gradyan iniş için güncelleme denklemleri, algılayıcı algoritmasındakilere benzer. Öğrenme oranını (α) kullanarak, parametre güncellemeleri aşağıdaki gibidir:

a := a - α * ∂J/∂ab := b - α * ∂J/∂bc := c - α * ∂J/∂c

Kısmi türevler (∂J/∂a, ∂J/∂b, ∂J/∂c), her bir parametreye göre maliyet fonksiyonunun gradyanlarını temsil eder. Matematik kullanılarak hesaplanabilirler.

Lojistik regresyon, gradyan inişini kullanarak parametre değerlerini yinelemeli olarak güncelleyerek, perceptron algoritmasına kıyasla verileri daha fazla esneklikle sınıflandırmayı öğrenebilir. İkili sınıflandırma problemlerinde yaygın olarak kullanılan ve etkili bir algoritmadır.

Sonuç olarak, lojistik regresyon, algılayıcı algoritmasının ilkeleri üzerine kuruludur, ancak olasılıksal bir çerçeve ve farklı bir maliyet işlevi sunar. Gradyan iniş uygulayarak, gözlemlenen verilerin olasılığını en üst düzeye çıkarmak için parametreleri optimize eder. Sigmoid aktivasyon fonksiyonunun seçimi, lojistik regresyonun sınıf üyeliği için olasılık tahminleri üretmesine izin verir.

Logistic Regression and the Perceptron Algorithm: A friendly introduction
Logistic Regression and the Perceptron Algorithm: A friendly introduction
  • 2019.01.01
  • www.youtube.com
Announcement: New Book by Luis Serrano! Grokking Machine Learning. bit.ly/grokkingML40% discount code: serranoytAn introduction to logistic regression and th...
 

Destek Vektör Makineleri (SVM'ler): Dostane bir giriş



Destek Vektör Makineleri (SVM'ler): Dostane bir giriş

Merhaba, benim adım Luis Serrano ve bu, Destek Vektör Makinelerine veya kısaca SVM'ye dostça bir giriş niteliğindedir. Bu, lineer modellerle ilgili üç video serisinin üçüncü videosu. İlkini henüz izlemediyseniz 'Lineer Regresyon', ikincisinin adı ise 'Lojistik Regresyon'. Bu video, ikinci videoda ele alınan kavramları temel almaktadır.

Öncelikle Kanada, British Columbia'daki Quest Üniversitesi'nde verdiğim makine öğrenimi dersinin öğrencilerine teşekkür etmek istiyorum. Bu video için ana fikri geliştirmeme yardımcı oldular ve onlarla çalışmak harika bir deneyimdi. Resimde beni aynı zamanda üniversitede profesör olan arkadaşım Richard Hoshino ile birlikte görebilirsiniz.

Şimdi SVM'ye geçelim. Destek Vektör Makineleri, iki sınıfın noktalarını bir çizgi kullanarak ayırmayı amaçlayan çok önemli bir sınıflandırma algoritmasıdır. Ancak DVM, noktalar arasındaki ayrımı maksimize eden mümkün olan en iyi çizgiyi bulmak için bir adım daha ileri gider. Tipik olarak SVM, doğrusal optimizasyon veya gradyan iniş terimleriyle açıklanır. Ama bu videoda literatürde görmediğim 'small-step method' adını verdiğim bir yöntemi tanıtacağım. Bu, hattın sınıflandırma yeteneğini sürekli olarak geliştirdiğimiz yinelemeli bir yaklaşımdır.

Başlamak için, lojistik regresyon ve algılayıcı algoritması ile ilgili önceki videoyu özetleyelim. O videoda verileri iki sınıfa ayıran bir çizgi bulmayı amaçlamıştık: kırmızı noktalar ve mavi noktalar. Perceptron algoritması, rastgele bir satırla başlar ve noktalardan gelen geri bildirime göre yinelemeli olarak ayarlar. Algoritma, çizginin noktaları doğru bir şekilde sınıflandırma yeteneğini kademeli olarak geliştirmek için küçük adımlar atıyor.

Şimdi, SVM'deki ekstra adımı tanıtalım. Tek bir çizgi bulmak yerine, verileri etkili bir şekilde ayırmaya devam ederken mümkün olduğunca birbirinden uzak iki paralel çizgi bulmayı hedefliyoruz. Bunu göstermek için, ana hattan eşit uzaklıkta iki takım paralel çizgi hayal edin. Amaç, bu iki çizgi arasındaki mesafeyi maksimize etmektir. Ayırma ne kadar büyük olursa, sınıflandırma o kadar iyi olur.

Ardından, en iyi satırı seçmek için algoritmayı eğitmemiz gerekiyor. Bunu, çizgi denklemlerini farklı sabitlerle çarparak elde ederiz. Bunu yaparak çizgiler arasındaki mesafeyi kontrol edebiliriz. Daha büyük bir sabit, daha geniş bir ayrımla sonuçlanırken, daha küçük bir sabit, çizgileri birbirine yaklaştırır. Bu şekilde, mesafeyi en üst düzeye çıkaran en uygun çizgileri bulabiliriz.

Doğruları denklem kullanarak ayırmak için örnek bir denklemi ele alalım: 2x + 3y - 6 = 0. Bu denklemi sabit bir çarpanla çarpmak çizginin kendisini değiştirmez ancak çizgiler arasındaki mesafeyi etkiler. Çizgileri genişletmek veya daraltmak için bu sabiti ayarlayabiliriz.

DVM algoritmasını biçimlendirmek için, çizgileri birbirinden ayırmak için adım boyutunu belirleyen genişleme oranını dahil ediyoruz. Çizgi denklemlerini 1'e yakın bir değerle, örneğin 0,99 ile çarparak, her iterasyonda çizgiler arasındaki mesafeyi kademeli olarak artırıyoruz.

Özetle, SVM algoritması şu adımları izler:

  1. Rastgele bir çizgi ve iki eşit uzaklıkta paralel çizgi ile başlayın.
  2. Nokta geri bildirimine dayalı olarak hattın konumunu ayarlamak için algılayıcı algoritmasını uygulayın.
  3. Çizgileri biraz ayırmak için genişleme oranını tanıtın.
  4. Ayrımı en üst düzeye çıkaran en uygun çizgileri bulmak için bu adımları yinelemeli olarak tekrarlayın.

Bu, DVM algoritmasına ve sınıflandırmayı iyileştirmek için küçük adım yöntemini nasıl dahil ettiğine kısa bir genel bakıştır. Bu, sınıflandırma problemlerini çözmek için etkili bir tekniktir ve umarım bu video DVM'ye benzersiz bir bakış açısı sağlar.

Şimdi modelimizdeki hataya katkıda bulunan başka bir yönü ele alacağız. Bu özellik, iki çizgi arasındaki mesafeye dayanmaktadır. Bunu göstermek için, bir veri kümesini sınıflandıran iki destek vektör makinesini (SVM) inceleyelim. İlk DVM daha geniş hatlara sahip ancak bir noktayı yanlış sınıflandırırken, ikinci DVM dar hatlara sahip ancak tüm noktaları doğru şekilde sınıflandırıyor. Soru şu ki, hangisi daha iyi? Cevap, veri seti, model ve senaryo gibi çeşitli faktörlere bağlıdır. Ancak bunu hata fonksiyonlarını kullanarak analiz edebiliriz.

Perceptron algoritmasındaki hata hesaplamasını hatırlayalım. Bir nokta doğru sınıflandırıldığında hata sıfırdır. Bir nokta yanlış sınıflandırılırsa, hata onun sınırdan uzaklığına bağlıdır. Sınıra daha yakın noktalar daha küçük hatalara sahipken, daha uzaktakiler daha büyük hatalara sahiptir. Bu uzaklık ilişkisini yakalayan bir hata fonksiyonu istiyoruz. Benzer şekilde, DVM'de iki sınıflandırma hatamız var: mavi sınıflandırma hatası ve kırmızı sınıflandırma hatası. Her hata, yanlış sınıflandırılmış bir noktadan ilgili sınırına olan mesafeyi ölçer. Bu mesafeleri toplayarak, sınıflandırma hatasını elde ederiz.

Ek olarak, çizgilerin yakınlığını gösteren kenar boşluğu hatamız var. Daha büyük bir marj hatası, çizgilerin birbirine daha yakın olduğunu, daha küçük bir marj hatası ise çizgilerin daha uzak olduğunu gösterir. Modelimizin geniş çizgileri gösteren küçük bir marj hatası olmasını istiyoruz. Bu nedenle, hata ne kadar küçükse, modelimiz o kadar iyidir. İlginç bir şekilde, marj hatası, L2 düzenlemesindeki düzenleme terimine benzer.

Özetlemek gerekirse, DVM hatası, sınıflandırma hatası ve marj hatasından oluşur. Sınıflandırma hatası, yanlış sınıflandırılan noktaların sayısını ve yanlış sınıflandırmanın boyutunu ölçer. Kenar boşluğu hatası, çizgilerin ne kadar uzakta olduğunu gösterir. Bu iki hata birlikte toplam SVM hatasını oluşturur. Amacımız, DVM'nin çizgilerin konumunu ve ayrımını ayarlama hilesine benzer şekilde, gradyan inişini kullanarak bu hatayı en aza indirmektir.

İki modelin karşılaştırmasına dönersek, soldakinin büyük bir sınıflandırma hatası var ama çizgiler birbirinden uzak olduğu için küçük bir marj hatası var. Sağdaki modelde ise küçük bir sınıflandırma hatası var ama çizgilerin birbirine yakın olmasından dolayı büyük bir marj hatası var. Hangi modelin daha iyi olduğuna karar vermek, tercihlerimize ve gereksinimlerimize bağlıdır. Marj hatasına göre sınıflandırma hatasının önemini kontrol etmek için bir hiperparametre olan C parametresini kullanabiliriz. Küçük bir C, marj hatasını vurgulayarak soldaki gibi bir modelle sonuçlanırken, büyük bir C, sınıflandırma hatasına öncelik vererek sağdakine benzer bir modele yol açar.

Hiperparametre seçiminin, model performansını değerlendirmek için farklı değerleri deneyerek ve test ederek belirlenebileceğini unutmamak önemlidir. Hiperparametreler, makine öğrenimi algoritmalarında çok önemli bir rol oynar ve modellerimizde ince ayar yapmamızı sağlar.

Doğrusal modeller hakkındaki bu video serisi boyunca gösterdiğiniz ilgi için teşekkür ederiz. Umarım bilgilendirici ve eğlenceli bulmuşsunuzdur. Beğenmekten, paylaşmaktan ve yorum yapmaktan çekinmeyin. Geri bildiriminiz takdir edilmektedir. Gelecekte daha fazla video için bizi izlemeye devam edin.

Support Vector Machines (SVMs): A friendly introduction
Support Vector Machines (SVMs): A friendly introduction
  • 2019.01.27
  • www.youtube.com
Announcement: New Book by Luis Serrano! Grokking Machine Learning. bit.ly/grokkingML40% discount code: serranoytAn introduction to support vector machines (S...
 

Gürültü Giderici ve Varyasyonlu Otokodlayıcılar



Gürültü Giderici ve Varyasyonlu Otokodlayıcılar

Merhaba, ben Luis Serrano ve bu videoda otomatik kodlayıcıları tartışacağız. Spesifik olarak, gürültü giderici ve değişken otomatik kodlayıcılara odaklanacağız.

Otomatik kodlayıcılar, popüler üretici modelleridir ve üretken rakip ağları ve kısıtlı Boltzmann makinelerini içeren bir serinin parçasıdır. Jeneratör modellerini seviyorsanız yorumlardaki linklere mutlaka göz atın.

Otomatik kodlayıcıları anlamak için, bir kitabı anlamak istediğinizi ve akıllı arkadaşınız Aisha'dan sizin için özetlemesini istediğinizi düşünelim. Aisha'nın işi, anlamanızı kolaylaştırmak için kitabı birkaç sayfaya sığdırmaktır. Ardından, diğer arkadaşımız Berta'dan Aisha'nın özetine dayanarak tüm kitabı yeniden yazmasını isteyerek Aisha'nın özetinin kalitesini değerlendiriyoruz. Performanslarını değerlendirmek için Berta'nın yeniden yazılmış kitabını orijinal kitapla karşılaştırıyoruz.

İdeal olarak, Aisha kitabın ana fikirlerini olabildiğince doğru bir şekilde özetleyecekti ve Berta kitabı bu fikirlere dayanarak yeniden oluşturmakta çok başarılı olacaktı. Aisha ve Berta'yı sırasıyla kitabı yoğunlaştırmaya ve yeniden inşa etmeye zorlayarak, içeriği hakkında derin bir anlayış kazanırlar. Bu kavram otomatik kodlayıcıların temelidir. Verileri önemli ölçüde basitleştirir ve ardından süreçteki en kullanışlı özellikleri çıkararak yeniden oluştururlar.

Otomatik kodlayıcılar, boyut azaltma algoritmalarıdır ve denetimsiz makine öğreniminin bir parçasıdır. Gerçek hayattaki veri kümeleri bağlamında, yüz görüntülerinden oluşan bir veri kümesini ele alalım. Her görüntü, her pikselin rengini temsil etmek için birden çok sayı kullanılarak kodlanır. Artık kodlayıcı olarak adlandırılan Aisha, göz boyutu, saç rengi ve diğer yüz özellikleri gibi özellikleri çıkararak bu veri kümesini özetler. Bu özellikler daha sonra, çıkarılan bu özelliklerden yüzlerin yeniden yapılandırılmasına yardımcı olan kod çözücü Berta'ya iletilir.

Bir veri noktasının boyutu, onu kodlamak için gereken sayı sayısını ifade eder. Bu durumda, yüz görüntüsü veri setinin boyutsallığını, onu daha küçük bir özellik setinde özetleyerek azaltırız ve ardından yeniden oluşturma işlemi sırasında tekrar arttırırız.

Otomatik kodlayıcılar iki bölümden oluşur: verileri küçülten kodlayıcı ve verileri genişleten kod çözücü. Amaç, yeniden yapılandırılmış çıktının orijinal girdiye yakından benzemesidir. Küçültülmüş veya basitleştirilmiş veriler, değerli bilgiler sağlamak için verileri özetleyen ve sıkıştıran gizli alan olarak bilinir.

İki önemli otomatik kodlayıcı türü, gürültü giderici otomatik kodlayıcılar ve varyasyonel otomatik kodlayıcılardır. Gürültü giderici otomatik kodlayıcılar, gürültülü görüntüler gibi bozuk verileri almak ve bu görüntülerin daha net ve daha net sürümlerini oluşturmak için eğitilmiştir. Öte yandan varyasyonel otomatik kodlayıcılar, orijinal veri alanının daha düşük boyutlu bir versiyonunu temsil eden basitleştirilmiş bir gizli alandan örnekler alarak yeni veriler üretmek üzere eğitilirler.

Varyasyonel otomatik kodlayıcılar, boşluklar gibi yüksek çözünürlüklü görüntüler oluşturmada özellikle etkilidir. Videoda, varyasyonel bir otomatik kodlayıcı tarafından oluşturulan yüz örneklerini bulabilirsiniz.

Otomatik kodlayıcılara dalmadan önce kavranması gereken ana kavram, boyut azaltmadır. Bu kavramı açıklamak için, örnek bir görüntü veri kümesini ele alalım. Bu görüntüler, her pikselin farklı bir renge sahip olduğu basit 2x2 piksel görüntülerdir: kırmızı, mavi, sarı ve yeşil. Her piksel, 0 ile 1 arasında değişen bir yoğunluk değerine sahiptir; burada 1, tam renk yoğunluğunu ve 0, beyazı temsil eder.

Bu veri kümesindeki her veri noktası, dört renge karşılık gelen dört yoğunluk değeriyle tanımlanır. Bununla birlikte, daha yakından incelediğimizde, tuhaf bir özellik fark ediyoruz: Sağ üst ve sol alt köşelerdeki piksellerin yoğunlukları, sol üst ve sağ alt köşelerdeki piksellerin yoğunlukları gibi her zaman aynıdır. Bu, artık dört yoğunluk değerini bağımsız olarak kodlamamıza gerek olmadığı anlamına gelir. Bunun yerine, her veri noktasını yalnızca iki değerle temsil edebiliriz: sol üst ve sağ alt piksellerin yoğunluğu.

Bunu yaparak, veri setimizin boyutsallığını dörtten ikiye indirdik. Bu indirgeme, gereksiz veya ilişkili özellikleri atarken görüntülerin temel bilgilerini yakalamamıza olanak tanır. Ayrıca veri temsilini basitleştirir ve görselleştirme, depolama ve analiz gibi çeşitli görevlerde yardımcı olabilir.

Otomatik kodlayıcılar benzer bir boyut azaltma ilkesi kullanır, ancak daha karmaşık ve öğrenilmiş bir şekilde. Otomatik kodlayıcılar, hangi özelliklerin tutulacağını veya atılacağını manuel olarak seçmek yerine, girdi verilerinden en bilgilendirici özellikleri otomatik olarak çıkarmayı öğrenir.

Otomatik kodlayıcıların mimarisine ve eğitim sürecine daha yakından bakalım. Daha önce bahsedildiği gibi, otomatik kodlayıcılar bir kodlayıcı ve bir kod çözücüden oluşur.

Kodlayıcı, görüntü gibi girdi verilerini alır ve gizli alan olarak bilinen daha düşük boyutlu bir temsile kodlamak için bir dizi dönüşüm uygular. Gizli alan, girdi verilerinin en önemli özelliklerini yakalayan sıkıştırılmış bir temsilidir.

Kod çözücü, gizli alan temsilini alır ve orijinal girdi verilerini mümkün olduğu kadar yakından yeniden oluşturmak için ters dönüşümleri uygular. Amaç, girdi verileri ile yeniden yapılandırılmış çıktı arasındaki farkı en aza indirgemek ve girdiyi aslına sadık kalarak yeniden oluşturabilen sıkıştırılmış bir temsili etkili bir şekilde öğrenmektir.

Bir otomatik kodlayıcıyı eğitmek için, hem orijinal örneklere hem de karşılık gelen hedef çıktılara sahip olduğumuz bir girdi verisi veri kümesine ihtiyacımız var. Eğitim sırasında otomatik kodlayıcı, tipik olarak ortalama kare hatası (MSE) veya ikili çapraz entropi gibi bir kayıp fonksiyonu kullanılarak ölçülen yeniden oluşturma hatasını en aza indirmeyi öğrenir.

Eğitim süreci, gizli alan temsilini elde etmek için giriş verilerinin kodlayıcı aracılığıyla beslenmesini içerir. Ardından, gizli alan gösterimi, verileri yeniden yapılandırmak için kod çözücüden geçirilir. Yeniden oluşturma, orijinal girdiyle karşılaştırılır ve aralarındaki tutarsızlık, geri yayılım ve gradyan iniş yoluyla kodlayıcı ve kod çözücünün ağırlıklarını güncellemek için kullanılır.

Otomatik kodlayıcıyı büyük bir veri kümesi üzerinde yinelemeli olarak eğiterek, girdi verilerinden en göze çarpan özellikleri çıkarmayı kademeli olarak öğrenir ve bunu minimum kayıpla yeniden oluşturma yeteneğine sahip olur.

Gürültü giderme otomatik kodlayıcılar ve varyasyonel otomatik kodlayıcılar, temel otomatik kodlayıcı mimarisinin iki popüler varyasyonudur.

Gürültü giderici otomatik kodlayıcılar, gürültülü veya bozuk giriş verilerini işlemek için özel olarak tasarlanmıştır. Eğitim sırasında, otomatik kodlayıcıya rastgele gürültü eklenmesi veya bozulmalar getirilmesi gibi kasıtlı olarak bozulmuş giriş verileri sunulur. Otomatik kodlayıcı daha sonra orijinal, temiz verileri olabildiğince doğru bir şekilde yeniden oluşturarak girdiyi gürültüden arındırmayı öğrenir. Bu gürültü giderme özelliği, otomatik kodlayıcının gürültüye karşı daha dirençli sağlam temsilleri öğrenmesine olanak tanır.

Varyasyonel otomatik kodlayıcılar (VAE'ler), otomatik kodlayıcı çerçevesine olasılıksal modellemeyi dahil ederek farklı bir yaklaşım benimser. VAE'ler, Gauss dağılımı gibi belirli bir olasılık dağılımını izleyen gizli bir uzayı öğrenmeyi amaçlar. Bu, VAE'lerin gizli uzayda öğrenilen dağılımdan örnekleme yaparak yeni veri noktaları oluşturmasına olanak tanır.

VAE'lerin eğitimi, yalnızca yeniden oluşturma hatasını en aza indirmeyi değil, aynı zamanda gizli alan dağılımının istenen dağılımla eşleşme olasılığını en üst düzeye çıkarmayı da içerir. Bu, yeniden oluşturma kaybı ve öğrenilen dağılım ile istenen dağılım arasındaki farkı ölçen Kullback-Leibler (KL) sapması adı verilen bir düzenleme terimi kombinasyonu ile elde edilir.

VAE'ler, yeniden yapılandırma kaybını ve KL sapmasını aynı anda optimize ederek, öğrenilen gizli alanın çeşitliliğini keşfederken eğitim verilerine benzer özellikler sergileyen yeni veri örnekleri oluşturmayı öğrenir.

Otomatik kodlayıcılar, girdi verilerinin kompakt temsillerini öğrenebilen güçlü denetimsiz öğrenme modelleridir. Verileri sıkıştırmak ve yeniden yapılandırmak için birlikte çalışan bir kodlayıcı ve bir kod çözücüden oluşurlar. Gürültü giderme otomatik kodlayıcılar ve varyasyonel otomatik kodlayıcılar, temel otomatik kodlayıcı mimarisini genişleten ve gürültü giderme ve üretken modelleme gibi ek yetenekler sunan iki önemli varyasyondur.

Bu bölümde bazı ek örnekleri inceleyelim. Buradaki ilk örnek, sağ alt köşedeki 0.2 değerine sahip yeşil piksel dışında tamamen renkli bir görüntü gibi görünüyor. Gürültü giderici kodlayıcı bizim için tüm resmi renklendirebilir. Ardından, sağ üst köşedeki 0,8 değerine sahip mavi piksel dışında başka bir beyaz resim örneğimiz var. Neocenter kodlayıcı, resmin beyaz olması gerektiğini belirler ve mavi pikseli beyaza dönüştürür. Depoyu keşfetmenizi ve sonuçları görmek için kendi resimlerinizle denemeler yapmanızı tavsiye ederim. Özetle, bu dış kodlayıcılar, herhangi bir görüntüyü eğitilmiş veri kümesindeki görüntülerden birine benzemeye zorlar.

Şimdiye kadar kullandığımız diğer kodlayıcılar yalnızca bir katmana sahipti, ancak bunun sinir ağlarında her zaman böyle olmadığını belirtmek önemlidir. Kodlayıcılar, çoklu katmanlara ve evrişimli veya tekrarlayan katmanlar gibi karmaşık mimarilere sahip olabilir. Burada, MNIST veri kümesindeki el yazısı karakterlerin görüntülerini gürültüden arındırmak için kullanılan evrişimli kodlayıcıya bir örnek verilmiştir. Gördüğünüz gibi, bu tür gürültü giderici otomatik kodlayıcılar, gürültülü görüntülerin temizlenmesinde iyi performans gösteriyor.

Şimdi, otomatik kodlayıcıların bir başka büyüleyici özelliğine geçelim. Yeni görüntüler gibi tamamen yeni veri noktaları oluşturma yeteneğine sahiptirler. Oluşturulan bu görüntüler, veri kümesindeki görüntülerin yalnızca kopyaları değil, veri kümesindekilere çok benzeyen tamamen yeni ve benzersiz görüntülerdir. Bu yetenek gerçekten olağanüstü. Örneğin, bir otomatik kodlayıcı var olmayan bir kişinin yüzünü veya daha önce hiç çizilmemiş bir el yazısı rakamı üretebilir. Bu yeni görüntüleri oluşturmak için sadece kod çözücüye odaklanmamız ve kodlayıcıyı unutmamız gerekiyor. Kod çözücü, gizli temsil adı verilen bir dizi sayı alır ve bu sayılara dayalı olarak bir görüntü oluşturur. Bu süreç, gizli alanın görsel bir temsilini sağlar.

Bunu açıklamak için bir örnek ele alalım. Kod çözücüye 0,3 ve 0,8 sayılarını girdiğimizi varsayalım. 0.12 ve 0.95 yoğunluklarında bir görüntü oluşturur. Gizli alanı, yatay eksen görüntünün kırmızı-yeşil köşegenine ve dikey eksen görüntünün mavi-sarı köşegenine karşılık gelen bir kare olarak görselleştirebiliriz. Bu karedeki her nokta bir görüntüyü temsil ediyor ve sağa doğru gidildikçe kırmızı-yeşil köşegenin yoğunluğu artıyor. Benzer şekilde aşağıdan yukarıya doğru gidildikçe mavi-sarı köşegenin yoğunluğu artar. Bu görselleştirme, gizli alanı ve onun oluşturulan görüntülerle ilişkisini anlamamızı sağlar.

Gizli uzayda, herhangi bir noktayı düzgün bir şekilde seçebiliriz, bu da iki sayı seçip bunları kod çözücüden geçirmeye eşdeğerdir. Bu süreç, bu görüntülerden herhangi birini aynı olasılıkla oluşturmamızı sağlar. Ancak bazı durumlarda, diğerlerini hariç tutarken yalnızca veri kümesinde bulunan belirli görüntüleri oluşturmak isteyebiliriz. Bu durum, gizli alan büyük olduğunda ve yalnızca küçük bir kısmı istenen görüntüleri temsil eden gürültü içerdiğinde yaygındır. Bunu ele almak için varyasyonel otomatik kodlayıcılar adı verilen bir teknik kullanabiliriz.

Varyasyonel otomatik kodlayıcılar söz konusu olduğunda, belirli bir ilgi alanı içinde olma olasılığı yüksek olan noktaları seçmemize izin veren iki normal dağılım eğitiriz. Örneğin, gizli alanda istenen görüntülerin bulunduğu küçük oval şekilli bir bölgemiz varsa, otomatik kodlayıcının o bölgenin içinde veya yakınında, alanın geri kalanından daha yüksek olasılıkla görüntüler oluşturmasını isteriz. Bunu gizli uzaydaki her koordinat için bir tane olmak üzere iki normal dağılımı eğiterek başardık. Bu dağılımlar, istenen bölgenin merkezine doğru olması muhtemel noktaları seçmemizi sağlar. Bu seçilen noktaları gizli gösterim olarak kullanarak ve bunları kod çözücüden geçirerek, daha odaklı ve istenen kriterlerle uyumlu görüntüler üretebiliriz.

Varyasyonel otomatik kodlayıcılar için eğitim süreci, iki hedefin aynı anda optimize edilmesini içerir: yeniden oluşturma kaybı ve düzenlileştirme kaybı. Yeniden oluşturma kaybı, geleneksel otomatik kodlayıcılara benzer şekilde, oluşturulan görüntülerin giriş görüntüleriyle ne kadar iyi eşleştiğini ölçer. Genellikle Kullback-Leibler (KL) sapması olarak adlandırılan düzenlileştirme kaybı, gizli dağılımı bilinen bir önceki dağılıma, tipik olarak standart bir normal dağılıma benzemeye teşvik eder.

Düzenlileştirme kaybının eklenmesi, eğitim sırasında bir denge sağlar. Bir yandan, yeniden oluşturulan görüntülerin, yeniden oluşturma kaybını en aza indirerek elde edilen giriş görüntülerine çok benzemesini istiyoruz. Öte yandan, gizli dağıtımın önceki dağıtımla eşleşmesini, çeşitli ve gerçekçi görüntülerin oluşturulmasını teşvik etmesini istiyoruz. Modelin, oluşturulan görüntülerde yaratıcılığa ve yeniliğe izin verirken verilerin önemli özelliklerini yakalamasını sağlamak için bu hedefleri dengelemek çok önemlidir.

Varyasyonel otomatik kodlayıcı eğitildikten sonra, önceki dağıtımdan (genellikle standart bir normal dağılım) noktaları örnekleyebilir ve yeni görüntüler oluşturmak için bunları kod çözücüden geçirebiliriz. Örnekleme sürecini kontrol ederek, gizli uzayın farklı bölgelerini keşfedebilir ve girdi verilerinin çeşitli varyasyonlarını üretebiliriz.

Varyasyonel otomatik kodlayıcılar, görüntü oluşturma, metin oluşturma ve anormallik tespiti gibi çeşitli uygulamalarda yaygın olarak kullanılmaktadır. Üretilen çıktı üzerinde kontrole izin verirken karmaşık veri dağıtımlarını öğrenmek ve oluşturmak için güçlü bir çerçeve sağlarlar.

Özetle, gürültü giderici ve varyasyonel otomatik kodlayıcılar dahil olmak üzere otomatik kodlayıcılar, görüntü işleme ve oluşturmada büyüleyici yetenekler sunar. Görüntülerdeki gürültüyü kaldırabilir, eksik parçaları yeniden oluşturabilir ve tamamen yeni ve benzersiz görüntüler oluşturabilirler. Gürültü giderici otomatik kodlayıcılar, verilerin temel yapısını öğrenmek için bir kodlayıcı-kod çözücü mimarisinden yararlanırken, varyasyonel otomatik kodlayıcılar, üretilen çıktıdaki çeşitli varyasyonları yakalamak için olasılıksal modelleme ekler. Bu teknikler denetimsiz öğrenme alanında devrim yarattı ve bilgisayarla görme ve yapay zeka araştırmalarında kapsamlı uygulamalar buldu.

Denoising and Variational Autoencoders
Denoising and Variational Autoencoders
  • 2022.01.15
  • www.youtube.com
A video about autoencoders, a very powerful generative model. The video includes:Intro: (0:25)Dimensionality reduction (3:35)Denoising autoencoders (10:50)Va...
 

Karar ağaçları - Dostane bir giriş



Karar ağaçları - Dostane bir giriş

Serrano Academy'ye hoş geldiniz! Bu videomuzda oldukça popüler makine öğrenimi modelleri olan karar ağaçlarını ele alacağız. Karar ağaçları, gerçek hayat senaryolarında etkilidir ve anlaşılması sezgiseldir. İnsanların karar verme şeklini taklit ederek yorumlanmalarını kolaylaştırırlar.

Karar ağaçlarının nasıl çalıştığını göstermek için bir öneri sistemi örneği kullanalım. Sabahları ceket giyip giymemeye karar vermeniz gerektiğini hayal edin. Dışarıda yağmur yağıp yağmadığını kontrol ederek başlayabilirsiniz. Yağmur yağıyorsa, ceket giymek net bir seçimdir. Ancak yağmur yağmıyorsa, sıcaklığı daha fazla düşünebilirsiniz. Soğuksa ceket giyeceksin, sıcaksa giymeyeceksin. Bu karar süreci, her kararın bir düğüm haline geldiği ve mevcut seçeneklerin yeni düğümlere veya nihai kararlara götüren kenarlar haline geldiği bir karar ağacı olarak temsil edilebilir.

Belirli bir problem için birden fazla karar ağacı olabilir. Örneğin, başka bir karar ağacı, günün Pazartesi olup olmadığını, arabanızın rengini ve o gün kahve içip içmediğinizi kontrol etmeyi içerebilir. Ancak, tüm karar ağaçları eşit derecede etkili değildir. Bahsettiğimiz ilk karar ağacı iyi çalışıyor gibi görünüyor, ikincisi ise alakasız düğümler içeriyor. En iyi karar ağacını bulmak, makine öğreniminin amacıdır. Makine öğrenimi, verilere en uygun karar ağacını keşfetmemize yardımcı olur. Bu süreci anlamak için bir örnek inceleyelim.

Kullanıcı demografisine dayalı uygulamalar için bir öneri sisteminden küçük bir veri kümesi düşünün. Veri kümesi, cinsiyet, yaş ve indirilen uygulama için sütunlar içerir. Bu veri kümesini temel alarak gelecekteki kullanıcılara uygulama önermek için bir kural formüle etmek istiyoruz. Verileri analiz ederek eğilimleri gözlemleyebiliriz. Örneğin, veri setindeki tüm gençler TikTok'u indirdi, bu nedenle TikTok'u 16 yaşındaki bir kadına önermek mantıklı. Aynı şekilde YouTube'u en çok 30'lu yaşlarındaki kadınların indirdiğini görürsek, YouTube'u 30 yaşındaki bir kadına önerebiliriz. Bu yaklaşımı izleyerek, demografik bilgilerine dayalı olarak farklı kullanıcılar için önerilerde bulunabiliriz.

Karar ağaçlarının arkasındaki sezgi, makine öğreniminde kullanılan matematiksel ilkelerle uyumludur. Karar ağaçları hem kategorik hem de sayısal verileri işleyebilir. Sayısal veriler için farklı olasılıkları değerlendirerek en iyi ayrılma noktasını belirliyoruz. Her ayrılma noktası bir karar kütüğü oluşturur ve en iyisini bulmak için bu kütüklerin doğruluğunu karşılaştırırız. En iyi ayrımı bulduğumuzda, elde edilen veri alt kümeleri üzerinde süreci yineleyerek karar ağacını oluşturmaya devam edebiliriz. Bu yinelemeli süreç, daha büyük karar ağaçları oluşturmamızı sağlar.

Karar ağaçları, doğru tahminler sağlayan ve yorumlanması kolay olan güçlü makine öğrenimi modelleridir. İnsanların karar verme süreçlerini taklit ederler ve çeşitli veri türleri üzerinde eğitilebilirler. Belirli bir sorun için en iyi karar ağacını bularak, verilen verilere dayalı olarak etkili önerilerde veya tahminlerde bulunabiliriz.

Decision trees - A friendly introduction
Decision trees - A friendly introduction
  • 2022.09.29
  • www.youtube.com
A video about decision trees, and how to train them on a simple example.Accompanying blog post: https://medium.com/@luis.serrano/splitting-data-by-asking-que...
 

Bayes Teoremi ve Saklı Markov Modellerine samimi bir giriş



Bayes Teoremi ve Saklı Markov Modellerine samimi bir giriş

Merhaba, temel teorem ve gizli Markov modellerine girişe hoş geldiniz. Ben makine öğrenimi ve yapay zeka dersleri verdiğim Udacity'den Luis Serrano. Bu senaryoda, birbirinden uzakta yaşayan ve telefonla iletişim kuran Alice ve Bob adında iki arkadaşımız var. Bob'un ruh hali hava durumuna göre değişir. Hava güneşliyse Bob mutlu, yağmurluysa Bob huysuz. Alice, Bob'un ruh halinden hava durumunu anlayabilir.

Senaryoyu daha karmaşık hale getirelim. Bob çoğunlukla hava güneşli olduğunda mutludur ama istisnalar da vardır. Çoğunlukla yağmurlu havalarda huysuzdur ama istisnalar da vardır. Geçmiş verilere dayanarak olasılıkları hesapladık. Hava güneşli olduğunda, Bob %80 olasılıkla mutlu ve %20 olasılıkla huysuzdur. Hava yağmurlu olduğunda, Bob %60 olasılıkla huysuz ve %40 olasılıkla mutludur.

Şimdi belirli bir durumu ele alalım. Bob, Alice'e bu haftanın duygusal bir hız treni olduğunu söyler. Pazartesi mutluydu, Salı huysuzdu, Çarşamba yine mutluydu, Perşembe huysuzdu ve Cuma günü yine mutluydu. Alice, Bob'un ruh haline göre hava durumunu tahmin etmeye çalışır.

Bu ruh hali dizisinin olasılığını belirlemek için gizli bir Markov modeli kullanıyoruz. Gözlemleri (Bob'un ruh hali) ve gizli durumları (hava durumu) vardır. Geçiş olasılıklarını (bir durumdan diğerine geçme olasılığı) ve emisyon olasılıklarını (gizli durumlardan yayılan gözlemlerin olasılığı) hesaplıyoruz.

Bu videoda dört soruyu cevaplayacağız. İlk olarak, bu olasılıkları nasıl hesaplarız? İkincisi, Bob'un ruh halinden bağımsız olarak rastgele bir günün güneşli veya yağmurlu olma olasılığı nedir? Üçüncüsü, Bob bugün mutluysa, güneşli veya yağmurlu olma olasılığı nedir? Ve dördüncüsü, Bob art arda üç gün mutluysa, en olası hava durumu nedir?

Geçmiş verileri analiz ederek olasılıkları hesaplayabiliriz. Olasılıkları tahmin etmek için belirli hava modellerinin oluşumlarını ve Bob'un ruh halini sayıyoruz. Yeterli veri ile, gerçek olasılıklar hakkında iyi tahminler elde edebiliriz.

Bob'un ruh halinden bağımsız olarak rastgele bir günün güneşli veya yağmurlu olma olasılığını belirlemek için, geçmiş verilerdeki güneşli ve yağmurlu günlerin oluşumlarını sayabilir veya geçiş olasılıklarını kullanabiliriz. Bu durumda, 2/3 olasılıkla güneşli ve 1/3 olasılıkla yağmurlu olduğunu görüyoruz.

Bob bugün mutluysa, güneşli ve yağmurlu olma olasılığı değişir. Olasılıkları güncellemek için Bayes teoremini kullanıyoruz. Örneğin, Bob mutluysa ve gün Çarşambaysa, önceki olasılıkları (2/3 güneşli ve 1/3 yağmurlu) ve emisyon olasılıklarını (%80 güneşli ve güneşliyken %20 huysuz, güneşliyken %40 mutlu ve %60 huysuz) dikkate alıyoruz. yağmurlu). Bayes teoremini kullanarak, sonsal olasılıkları hesaplıyoruz (8/10 güneşli ve 2/10 yağmurlu).

Bu olasılıklar, Bob'un ruh haline göre hava durumunu tahmin etmemizi sağlar. Bob mutluysa, havanın güneşli olması daha olasıdır. Bob huysuzsa, yağmurlu olma olasılığı daha yüksektir. Olasılıklar yeni bilgilere göre değişir.

Bob'un ruh halinden hava durumunu anlamak için gizli Markov modellerini ve Bayes teoremini kullanıyoruz. Geçmiş verileri analiz ederek, geçiş olasılıklarını ve emisyon olasılıklarını hesaplıyoruz. Bu, Bob'un ruh haline göre belirli hava durumu modellerinin olasılığını belirlememize yardımcı olur.

A friendly introduction to Bayes Theorem and Hidden Markov Models
A friendly introduction to Bayes Theorem and Hidden Markov Models
  • 2018.03.27
  • www.youtube.com
Announcement: New Book by Luis Serrano! Grokking Machine Learning. bit.ly/grokkingML40% discount code: serranoytA friendly introduction to Bayes Theorem and ...
 

Shannon Entropi ve Bilgi Kazanımı



Shannon Entropi ve Bilgi Kazanımı

Merhaba, ben Louie Serrano, Shannon'la entropi ve bilgi kazanımı hakkında konuşmak için buradayım. Daha ayrıntılı bir açıklamayla ilgileniyorsanız, bu konuda bir blog yazısı yazdım. Linki yorum kısmında bulabilirsiniz.

Kökeni fizik olan entropi kavramını tanıtarak başlayalım. Bunu suyun üç durumunu kullanarak gösterebiliriz: katı (buz), sıvı (su) ve gaz (su buharı). Her durumun, bir nesnenin içindeki parçacıkların hareket ettiği hızı ölçen farklı bir entropi düzeyi vardır. Buzun entropisi düşüktür çünkü parçacıkları yavaş hareket eder ve bu da onu kararlı bir madde yapar. Parçacıklar biraz daha hızlı hareket ettiğinden, su orta entropiye sahiptir. Su buharının entropisi yüksektir çünkü içindeki parçacıklar çok hızlı hareket eder.

Entropi sadece fizikte bir kavram olmayıp, matematikte, özellikle olasılık teorisinde de karşımıza çıkmaktadır. Bunu göstermek için, her biri farklı renkte toplar içeren üç kovalı bir örnek düşünelim. Kova 1'de dört kırmızı top vardır, Kova 2'de üç kırmızı ve bir mavi top vardır ve Kova 3'te iki kırmızı ve iki mavi top vardır. Sezgiye dayanarak, Kova 1'in düşük entropiye sahip olduğunu, Kova 2'nin orta entropiye sahip olduğunu ve Kova 3'ün yüksek entropiye sahip olduğunu çıkarabiliriz.

Sezgimizi doğrulamak için, her kovadaki topları ne kadar yeniden düzenleyebileceğimizi inceleyerek entropiyi ölçebiliriz. İlk sette, dört kırmızı topla, tüm toplar renk açısından ayırt edilemez olduğundan sınırlı yeniden düzenleme mümkündür. İkinci set için topları birkaç şekilde yeniden düzenleyebiliriz. Son olarak, üçüncü set için daha da olası düzenlemelerimiz var. Kantitatif bir entropi ölçüsü sağlayan binom katsayısını kullanarak düzenlemelerin sayısını hesaplayabiliriz. Olası yeniden düzenleme derecesine bağlı olarak, Kova 1'in düşük entropiye, Kova 2'nin orta entropiye ve Kova 3'ün yüksek entropiye sahip olduğunu doğrulayabiliriz.

Ancak, bilgiye dayalı entropiyi belirlemenin daha kesin bir yolu var. Bu kovalarla bir oyun oynadığınızı düşünelim. Belirli bir top düzenlemesiyle başlıyoruz ve orijinal düzenlemenin tam sırasını yeniden oluşturmaya çalışarak rastgele çiziyoruz. Başarılı olursak, önemli miktarda para kazanırız. Aksi takdirde hiçbir şey kazanamayız. Şimdi soru ortaya çıkıyor: Oyunu oynamak için en iyi kova hangisi ve en kötüsü hangisi?

Düşündükten sonra, Kova 1'in en iyi seçim olduğunu anlıyoruz çünkü tüm toplar kırmızı, bu da orijinal diziyi yeniden üretmeyi kolaylaştırıyor. Kova 2, kırmızı ve mavi topların bir karışımını içerdiğinden orta seçimdir ve Kova 3, hangi rengi çizeceğimize dair hiçbir fikrimiz olmadığı için en kötü seçimdir. Kovadan belirli bir top çekme olasılığını dikkate alarak her oyunda kazanma olasılığını hesaplayabiliriz. Kova 1 için, tüm toplar kırmızı olduğu için kazanma olasılığı %100'dür. Kova 2 için, mavi topların varlığından dolayı olasılık daha düşüktür ve Kova 3 için, kırmızı veya mavi topların eşit şansı olduğu için en düşüktür.

Şimdi olasılıkları ve karşılık gelen entropi düzeylerini bir tabloda özetleyelim. Kova 1'in kazanma olasılığının yüksek olduğunu ve bunun da düşük entropiye yol açtığını gözlemleyebiliriz. Kova 2, orta entropiyi gösteren orta derecede bir olasılığa sahiptir. Son olarak, Kova 3, yüksek entropiye yol açan en düşük kazanma olasılığına sahiptir.

Entropi için bir formül oluşturmak için logaritma kavramını kullanabiliriz. Ürünlerle uğraşmak yerine, bunları logaritma kullanarak toplamlara çevirebiliriz. Bir çarpımın logaritması, logaritmaların toplamına eşittir. Olasılıkların çarpımının logaritmasını alarak, onu bireysel olasılıkların toplamına dönüştürebiliriz. Bu dönüşüm, entropiyi bir olayla ilişkili ortalama bilgi içeriği veya belirsizlik olarak hesaplamamızı sağlar.

Entropi formülü şu şekilde verilir:

Entropi = - (p1 * log(p1) + p2 * log(p2) + ... + pn * log(pn))

burada p1, p2, ..., pn, farklı sonuçların veya durumların olasılıklarını temsil eder. Logaritma işlevi (tipik olarak 2 tabanlı), bilginin üstel doğasını açıklamak için kullanılır.

Bu formülü örneğimize uygulayarak, her kova için entropiyi hesaplayalım. Tüm topların kırmızı olduğu Kova 1'de kırmızı top çekme olasılığı 1'dir (%100). Böylece, Kova 1 için entropi şöyledir:

Entropi(Kova 1) = - (1 * log2(1)) = 0

1'in logaritması 0 olduğundan, entropi 0'dır, bu da belirsizlik veya bilgi kazancı olmadığını gösterir.

Kova 2 için üç kırmızı ve bir mavi top vardır. Kırmızı top çekme olasılığı 3/4, mavi top çekme olasılığı ise 1/4'tür. Bu nedenle, Kova 2 için entropi şöyledir:

Entropi(Kova 2) = - (3/4 * log2(3/4) + 1/4 * log2(1/4))

Değerleri hesaplayarak şunu elde ederiz:

Entropi(Kova 2) ≈ 0,811

Bu değer, orta düzeyde bir belirsizlik veya bilgi kazancını temsil eder.

İki kırmızı ve iki mavi topun olduğu Kova 3'e geçilirse, her birinin bir kırmızı top veya mavi top çekme olasılığı 1/2'dir. Böylece, Kova 3 için entropi şöyledir:

Entropi(Kova 3) = - (1/2 * log2(1/2) + 1/2 * log2(1/2))

İfadeyi basitleştirerek şunu buluruz:

Entropi(Kova 3) = - (1/2 * (-1) + 1/2 * (-1)) = 1

Bölüm 3 için entropi 1'dir ve en yüksek düzeyde belirsizlik veya bilgi kazancını gösterir.

Entropi, bir sistemdeki belirsizlik veya bilgi düzeyini ölçer. Olasılık kavramını kullanarak, entropiyi farklı sonuçlarla ilişkili ortalama bilgi içeriği olarak hesaplayabiliriz. Daha yüksek entropi değerleri daha fazla belirsizliği gösterirken, daha düşük entropi değerleri daha az belirsizliği veya daha öngörülebilir sonuçları gösterir. Entropi ve bilgi kazancını anlamak, sistemlerin karmaşıklığını ve öngörülebilirliğini ölçmemize ve analiz etmemize olanak tanıdığından, bilgi teorisi, makine öğrenimi ve veri analizi dahil olmak üzere çeşitli alanlarda değerlidir.

Shannon Entropy and Information Gain
Shannon Entropy and Information Gain
  • 2017.11.04
  • www.youtube.com
Announcement: New Book by Luis Serrano! Grokking Machine Learning. bit.ly/grokkingML40% discount code: serranoytAccompanying blog post: https://medium.com/p/...
 

Naive Bayes sınıflandırıcısı: Dostça bir yaklaşım



Naive Bayes sınıflandırıcısı: Dostça bir yaklaşım

Merhaba, ben Luis Serrano. Bu videoda Naive Bayes sınıflandırıcısını keşfedeceğiz. Bilgi tabanınız olasılık açısından çok önemlidir ve makine öğreniminde inanılmaz derecede faydalıdır. Bunu olasılık oranlarını içeren karmaşık bir formül olarak görmek yerine, başka bir olay hakkında bilgi sahibi olduğumuza göre, bir olayın olma olasılığı olarak düşünelim. Naive Bayes, birden fazla olayla uğraşırken matematiği basitleştirmek için saf varsayımlar yaparak bu kavramı genişletiyor.

Örneklemek için, bir istenmeyen e-posta dedektörü oluşturalım. 25'i spam ve 75'i spam olmayan 100 e-postadan oluşan bir veri kümesiyle başlıyoruz. Amacımız, spam e-postalarla ilişkili özellikleri belirlemektir. "Satın al" kelimesine odaklanalım. Spam e-postaların 20'sinde "satın al", 5'inde ise spam olmayan e-postalarda bulunuyor. Buna dayanarak, bir e-posta "satın al" içeriyorsa, spam olma ihtimalinin %80 olduğu sonucuna varabiliriz.

Şimdi başka bir kelimeyi ele alalım, "ucuz". İstenmeyen e-postaların 15'inde "ucuz" ve spam olmayan e-postaların 10'unda var. Bir e-posta "ucuz" içeriyorsa, spam olma olasılığı %60'tır.

Peki ya "al" ve "ucuz"u birlikte analiz etmek istersek? Spam e-postalar arasında 12 tanesi her iki kelimeyi de içeriyor ve spam olmayan e-postalar arasında bu kombinasyonun hiçbir örneği yok. Bir e-posta hem "satın al" hem de "ucuz" içeriyorsa, spam olma olasılığı %100'dür. Ancak, bir sınıflandırıcı için %100 kesinlik çok güçlü ve gerçekçi görünmüyor.

Sorun, hem "satın al" hem de "ucuz" ifadelerinin kullanıldığı spam olmayan e-posta örneği bulamamamızdan kaynaklanmaktadır. Bununla başa çıkmak için daha fazla veri toplayabiliriz, ancak alternatif bir çözüm keşfedelim. Bu tür vakaların oluşumunu tahmin etmek için varsayımlarda bulunabiliriz. E-postaların %0,5'inin hem "satın al" hem de "ucuz" içerdiğini varsayalım. Bu varsayım, veri kümemizdeki "satın alma" ve "ucuz" oluşum yüzdelerine dayanmaktadır.

Şimdi, bu varsayımla, hem "satın al" hem de "ucuz" içeren bir e-postanın spam olma olasılığını hesaplayabiliriz. Bayes teoremini uygulayarak olasılığın yaklaşık %94.737 olduğunu bulduk.

Naive Bayes sınıflandırıcısı, bir tablonun verilerle doldurulmasını içerir. Ancak, veri kümesinde belirli olaylar çok seyrek olduğunda, olayların bağımsız olduğu gibi safça bir varsayımda bulunuyoruz. Bu varsayım, gerçekte doğru olmasa da hesaplamaları basitleştirir. Bu varsayımları yaparak, olasılıkları tahmin edebilir ve bir spam sınıflandırıcı oluşturabiliriz.

Naive Bayes classifier: A friendly approach
Naive Bayes classifier: A friendly approach
  • 2019.02.10
  • www.youtube.com
Announcement: New Book by Luis Serrano! Grokking Machine Learning. bit.ly/grokkingML40% discount code: serranoytA visual description of Bayes' Theorem and th...
 

12 dakikada Beta dağıtımı!



12 dakikada Beta dağıtımı!

Merhaba, ben Luis Serrano ve bu videoda beta dağıtımları konusunu inceleyeceğiz. Beta dağılımları, bir olasılığın olasılığını modellerken, olasılık ve istatistikte temel bir kavramdır. Bu büyüleyici konuya daha derinden dalalım.

Beta dağılımlarını anlamak için üç jeton içeren bir örneği ele alalım: jeton bir, jeton iki ve jeton üç. Bu madeni paralar yazı veya tura gelebilir. Bununla birlikte, üç madeni para da hilelidir, yani hiçbiri yarım olasılıkla kafa döndürmez.

Birinci madeni paranın 0,4 olasılıkla, ikinci madeni paranın 0,6 olasılıkla ve üçüncü madeni paranın 0,8 olasılıkla tura getirdiğini varsayalım. Şimdi, hangisi olduğunu bilmeden bu madeni paralardan birini rastgele seçtiğimizi hayal edin. Görev, beş kez çevirerek hangi madeni parayı seçtiğimizi tahmin etmektir.

Bu sırayla üç tura ve iki yazı aldığımızı varsayalım. Asıl soru, sizce hangi parayı kaptık? Sezgisel olarak, beş seferden üçünün tura gelmesi beklendiği için ikinci madeni paraya yönelebiliriz. Ancak, hala bir belirsizlik var. Madeni para bir veya madeni para üç seçmiş olabiliriz ve gözlemlenen tura ve yazı dizisi sadece bir tesadüftü.

Her madeni parayı seçme olasılıklarını belirlemek için Bayes teoremini uygulayabiliriz. Her vakayı ayrı ayrı inceleyelim.

Birinci madeni para için, üç kez tura ve iki kez yazı gelme olasılığı şu şekilde hesaplanır: (0,4 * 0,4 * 0,4) * (0,6 * 0,6) = 0,0230.

Madeni para için olasılık: (0,6 * 0,6 * 0,6) * (0,4 * 0,4) = 0,0346.

Madeni para için olasılık: (0,8 * 0,8 * 0,8) * (0,2 * 0,2) = 0,0205.

Bunlar yalnızca üç olası olay olduğundan, olasılıklarının toplamı bir olmalıdır. Bu olasılıkları, her birini toplama bölerek normalleştiriyoruz: 0.0230 + 0.0346 + 0.0205. Bu, normalleştirilmiş olasılıkları verir: sırasıyla 0.295, 0.443 ve 0.262 madeni para bir, madeni para iki ve madeni para üç için.

Gördüğümüz gibi, madeni para en yüksek olasılığa sahip, ancak yine de madeni para veya üçüncü madeni parayı seçme şansımız var. Bu olasılıklar, olasılık teorisinde güçlü bir araç olan Bayes teoremi kullanılarak elde edilir. Bu konuda daha fazla bilgi edinmek isterseniz, kanalımda ayrıntılı olarak anlatan bir videom var.

Şimdi, aynı örneği, ancak daha yüksek sayıda jetonla ele alalım. Diyelim ki bir bozuk para atıyoruz ve yedi kez tura ve üç kez yazı geliyor. Bu madeni para, her biri 0,0 ile 0,9 arasında değişen ve her madeni para için 0,1 artan, farklı tura gelme olasılıklarına sahip on madeni paradan biri olabilir.

Sizce bu durumda hangi madeni parayı seçtik? Yine en olası seçenek, zamanın %70'inde tura gelen madeni paradır, bu da yedi madeni paraya karşılık gelir. Her madeni paranın toplanma olasılığını hesaplamak için öncekine benzer hesaplamalar yaparız.

Her madeni para için, yedi kez tura ve üç kez yazı gelme olasılığını hesaplıyoruz. (p^7) * ((1-p)^3) formülünü kullanıyoruz, burada p, tura gelme olasılığını temsil ediyor. Daha sonra bu olasılıkları, her birini tüm olasılıkların toplamına bölerek normalleştiririz.

Madeni para sayısını artırdıkça, hesaplamalar daha karmaşık hale gelir. Ancak, temel prensip aynı kalır. Gözlemlenen sonuçlara ve her bir madeni parayla ilişkili olasılıklara dayalı olarak her bir madeni paranın olasılıklarını hesaplıyoruz. Bu olasılıkları normalleştirerek, hangi madeni paranın seçildiği konusundaki belirsizliğimizi temsil eden bir dağılım elde ederiz.

Şimdi, bu kavramı beta dağılımına genelleştirelim. Beta dağılımı, [0, 1] aralığında tanımlanan sürekli bir olasılık dağılımıdır. Genellikle alfa ve beta olarak gösterilen iki şekil parametresi ile karakterize edilir. Bu parametreler dağılımın şeklini belirler.

Beta dağılımı, esnek olması ve alfa ve beta değerlerine bağlı olarak çeşitli şekiller alabilmesi nedeniyle olasılıkları modellemek için özellikle yararlıdır. Tek tipten çarpıklığa ve konsantreden dağınıka kadar geniş bir olasılık dağılımları yelpazesini yakalamamıza izin verir.

Beta dağılımının olasılık yoğunluk fonksiyonu (PDF) şu formülle verilir: f(x) = (x^(alpha-1)) * ((1-x)^(beta-1)) / B(alpha, beta), burada B(alfa, beta), dağılımın [0, 1] aralığında 1'e entegre olmasını sağlayan beta işlevidir.

Beta dağılımının ortalaması şu formülle verilir: E[X] = alfa / (alfa + beta) ve varyans Var[X] = (alfa * beta) / ((alfa + beta)^2 * () şeklindedir. alfa + beta + 1)).

Beta dağılımı, Bayes istatistikleri, makine öğrenimi ve karar analizi gibi çeşitli alanlarda yaygın olarak kullanılır. Başarı oranları, oranlar veya olasılıklar gibi belirsiz miktarları modelleyebilir ve parametre tahmini, hipotez testi ve rastgele örnekler oluşturmak için kullanılabilir.

Beta dağılımları, özellikle belirsiz olasılıklarla uğraşırken, olasılık ve istatistikte temel bir kavramdır. Çok çeşitli olasılık dağılımlarını modellemek için esnek bir çerçeve sağlarlar. Beta dağıtımlarının özelliklerini ve uygulamalarını anlayarak daha bilinçli kararlar alabilir ve verileri daha etkili bir şekilde analiz edebiliriz.

The Beta distribution in 12 minutes!
The Beta distribution in 12 minutes!
  • 2021.06.13
  • www.youtube.com
This video is about the Beta distribution, a very important distribution in probability, statistics, and machine learning. It is explained using a simple exa...