Makine Öğreniminde EM Algoritması Nedir? [Örneklerle Açıklamalı]
Yayınlanan: 2021-03-10EM algoritması veya Beklenti Maksimizasyon algoritması, 1977'de Arthur Dempster, Nan Laird ve Donald Rubin tarafından önerilen gizli bir değişken modelidir.
Bir gizli değişken modeli, gözlemlenebilir değişkenler ve gözlemlenemez değişkenlerden oluşur. Gözlenen değişkenler ölçülebilenler iken, gözlemlenmeyen (gizli/gizli) değişkenler gözlenen değişkenlerden çıkarılır.
Üçlü tarafından açıklandığı gibi, EM algoritması, istatistiksel bir modelde gizli değişkenler (gözlemlenebilir değişkenlerden çıkarılması gereken gözlemlenemeyen değişkenler) için yerel maksimum olabilirlik (MLE) parametrelerini veya maksimum a posteriori (MAP) parametrelerini belirlemek için kullanılabilir. Bu gizli değişkenlerle ilişkili olasılık dağılımının genel biçimini bilmeniz koşuluyla, bu değerleri tahmin etmek veya eksik veya eksik verileri belirlemek için kullanılır.
Basitçe söylemek gerekirse, makine öğreniminde EM algoritmasının arkasındaki genel ilke, öğrenme için gözlemlenemeyen örneklerdeki değerleri tahmin etmek için gözlemlenebilir gizli değişken örneklerini kullanmayı içerir. Bu, değerlerin yakınsaması gerçekleşene kadar yapılır.
Algoritma, makine öğreniminde oldukça güçlü bir araçtır ve denetimsiz birçok algoritmanın birleşimidir. Bu, diğer EM algoritması varyantlarının yanı sıra k-araç kümeleme algoritmasını içerir.
Kariyerinizi hızlandırmak için Makine Öğrenimi Kursuna , Makine Öğrenimi ve Yapay Zeka alanında Dünyanın en iyi Üniversiteleri - Yüksek Lisanslar, Yönetici Yüksek Lisans Programları ve İleri Düzey Sertifika Programından çevrimiçi katılın .
İçindekiler
Beklenti-Maksimizasyon Algoritması
Makine Öğreniminde Beklenti-Maksimizasyon algoritmasının mekanizmasını inceleyelim:
Kaynak
- Adım 1: Bir dizi eksik veya eksik veriye ve başka bir başlangıç parametresi grubuna sahibiz. Gözlemlenen verilerin veya parametrelerin başlangıç değerlerinin belirli bir modelden üretildiğini varsayıyoruz.
- Adım 2: Mevcut verilerin gözlemlenebilir örneklerindeki gözlemlenebilir değere dayanarak, verinin gözlemlenemeyen örneklerindeki veya eksik verideki değerleri tahmin edeceğiz veya tahmin edeceğiz. Bu, Beklenti adımı (E – adımı) olarak bilinir.
- Adım 3: E – adımından üretilen verileri kullanarak parametreleri güncelleyeceğiz ve veri setini tamamlayacağız. Bu, hipotezi güncellemek için kullanılan Maksimizasyon adımı (M - adımı) olarak bilinir.
Adım 2 ve adım 3 yakınsama kadar tekrarlanır. Yani değerler yakınsamıyorsa, E – adımını ve M – adımını tekrarlayacağız.
.
Kaynak
EM Algoritmasının Avantajları ve Dezavantajları
EM Algoritmasının Dezavantajları | |
1 | EM algoritmasındaki her yineleme, olasılıkta garantili bir artışla sonuçlanır. |
2 | Beklenti adımı ve Maksimizasyon adımı oldukça kolaydır ve ikincisi için çözüm çoğunlukla kapalı formda bulunur. |
EM Algoritmasının Avantajları | |
1 | Beklenti-Maksimizasyon algoritması hem ileri hem de geri olasılıkları hesaba katar. Bu, yalnızca ileriye dönük olasılıkları hesaba katan sayısal optimizasyonun aksinedir. |
2 | EM algoritma yakınsaması çok yavaştır ve yalnızca yerel optimuma yapılır. |
EM Algoritmasının Uygulamaları
Gizli değişken modeli, makine öğreniminde birçok gerçek dünya uygulamasına sahiptir.
- Denetimsiz veri kümeleme ve psikometrik analizde kullanılır.
- Ayrıca bir fonksiyonun Gauss yoğunluğunu hesaplamak için kullanılır.
- EM algoritması, Gizli Markov Modeli (HMM) parametrelerini ve diğer karma modelleri tahmin etmede geniş kullanım alanı bulur.
- EM algoritması, doğal dil işleme (NLP), bilgisayarla görme ve nicel genetikte bol miktarda kullanım bulur.
- EM algoritmasının diğer önemli uygulamaları, tıp ve yapı mühendisliği alanında görüntü rekonstrüksiyonunu içerir.
Gauss Karışım Modeli kullanarak EM algoritmasını anlayalım.
Gauss Karışım Modeli İçin EM Algoritması
Bir Gauss Karışım Modelinin parametrelerini tahmin etmek için, olasılık dağılımları bilinen iki ayrı süreç tarafından üretilen bazı gözlenen değişkenlere ihtiyacımız olacak. Ancak, iki işlemin veri noktaları birleştirilmiştir ve hangi dağılıma ait olduklarını bilmiyoruz.
Yukarıda açıklandığı gibi EM algoritmasının Maksimum Olabilirlik tahminini kullanarak bu dağılımların parametrelerini tahmin etmeyi amaçlıyoruz.
İşte kullanacağımız kod :
# Yoğunluğunu hesaplamamız gereken bir fonksiyon verildiğinde
# x_i noktasındaki Gauss verilen mu, sigma: G(x_i, mu, sigma); ve
# log olasılıklarını hesaplamak için başka bir fonksiyon: L(x, mu, sigma, pi)
def tahmin_gmm(x, K, tol=0,001, max_iter=100):
”' Tahmini GMM parametreleri.
:param x: gözlemlenen gerçek değerli değişkenlerin listesi
:param K: Gauss sayısı için tam sayı
:param tol: log olasılığı için tolere edilen değişiklik
:dönüş: mu, sigma, pi parametreleri
”'
# 0. Teta'yı başlat = (mu, sigma, pi)
N = uzunluk(x)
mu, sigma = [rand()] * K, [rand()] * K
pi = [rand()] * K
curr_L = np.inf
aralıktaki j için (max_iter):
prev_L = curr_L
# 1. E-adım: sorumluluk = p(z_i = k | x_i, theta^(t-1))
r = {}
(N) aralığındaki i için:
parçalar = [pi[k] * G(x_i, mu[k], sigma[k]) i aralığında(K)]
toplam = toplam(parçalar)
k cinsinden i için:
r[(i, k)] = kısım[k] / toplam
# 2. M-step: mu, sigma, pi değerlerini güncelleyin
rk = [toplam([r[(i, k)] i aralığında(N)]) k aralığında(K)]
k aralığında(K):
pi[k] = rk[k] / N
mu[k] = toplam(r[(i, k)] * x[i] i aralığında(N)) / rk[k]
sigma[k] = toplam(r[(i, k)] * (x[i] – mu[k]) ** 2) / rk[k]
# 3. Çıkış durumunu kontrol edin
curr_L = L(x, mu, sigma, pi)
if abs(prev_L – curr_L) < tol:
kırmak
dönüş mu, sigma, pi
E-Adımda, algoritmanın geçmiş yinelemelerinden çizilen veri noktalarının beklenen değerlerini belirlemek için Bayes teoremini kullanabiliriz. M-Adımında, maksimum Olabilirlik kullanılarak gözlemlenmeyen örneklerdeki vekilleri tahmin etmek için gizli değişkenlerin değerlerinin sabitlendiğini varsayıyoruz. Son olarak, gauss karışım modelinin parametrelerini tahmin etmek için standart ortalama ve standart sapma formüllerini kullanıyoruz.
Çözüm
Bu da bizi makalenin sonuna getiriyor. Makine Öğrenimi kavramları hakkında daha fazla bilgi için upGrad'ın Makine Öğrenimi ve Yapay Zeka alanında Yüksek Lisans programı aracılığıyla IIIT Bangalore ve Liverpool John Moores Üniversitesi'nin en iyi öğretim üyeleriyle iletişime geçin .
450+ saat öğrenme içeriği, 12+ sektör projesi, 10 Capstone proje seçeneği ve 10+ kodlama ödevi sunan 18 aylık bir kurstur. Ayrıca, sektör uzmanlarından kişiselleştirilmiş mentorluğun ve canlı oturumlar aracılığıyla kariyer rehberliği danışmanlığının keyfini çıkarabilirsiniz. Bir sonraki parti 28 Şubat 2021'de başlıyor!
EM kümeleme ile ne kastedilmektedir?
Gözlenen verilerin olasılığını optimize etmek için, her küme (dağılım) için ortalamaları ve standart sapmaları tahmin etmek için EM kümeleme kullanılır. Farklı kümelerdeki farklı dağılımların kombinasyonlarına dayalı olarak, EM algoritması, gözlenen değer dağılımlarına yaklaşmaya çalışır. EM, verileri kümelemek için sonlu Gauss karışım modelini kullanır ve istenen yakınsama değerine ulaşılana kadar bir dizi parametreyi yinelemeli olarak tahmin eder. EM kümeleme, K-ortalama kümeleme ile elde edilenlerden farklı bulgular verir.
EM algoritmasının gerçek hayattaki uygulamaları nelerdir?
Tıp alanında, görüntü rekonstrüksiyonu için EM algoritması kullanılır. Ayrıca Gizli Markov Modelleri (HMM'ler) ve diğer karma modellerin parametrelerini tahmin etmek için kullanılır. Ayrıca belirli bir örnekteki eksik verilerin tamamlanmasına da yardımcı olur. Madde yanıt teorisi modellerindeki madde parametreleri ve gizli yetenekler, psikometride EM kullanılarak tahmin edilir. Ayrıca yapı mühendisliği alanında da yaygın olarak kullanılmaktadır.
MLE algoritmasının EM algoritmasından farkı nedir?
Gizli değişkenlerin varlığında, maksimum olabilirlik tahmin süreci basitçe verilere meydan okur. MLE başlangıçta tüm verileri toplar ve ardından en olası modeli oluşturmak için kullanır. Gizli değişkenlerle, beklenti maksimizasyon algoritması, maksimum olabilirlik tahmini için yinelemeli bir çözüm sağlar. EM önce parametrelerin eğitimli bir tahminini yapar, ardından eksik verileri kontrol eder ve ardından modeli eğitimli tahminlere ve gözlemlenen verilere uyacak şekilde değiştirir.