Czym jest algorytm EM w uczeniu maszynowym? [Wyjaśniono z przykładami]

Opublikowany: 2021-03-10

Algorytm EM lub algorytm maksymalizacji oczekiwań to model zmiennej latentnej, który został zaproponowany przez Arthura Dempstera, Nan Laird i Donalda Rubina w 1977 roku.

Model zmiennej latentnej obejmuje zmienne obserwowalne i zmienne nieobserwowalne. Zmienne obserwowane to te, które można zmierzyć, podczas gdy zmienne nieobserwowane (ukryte/ukryte) są wywnioskowane ze zmiennych obserwowanych.

Jak wyjaśniono przez trio, algorytm EM może być użyty do określenia lokalnych parametrów maksymalnego prawdopodobieństwa (MLE) lub maksymalnych parametrów a posteriori (MAP) dla zmiennych latentnych (zmiennych nieobserwowalnych, które należy wywnioskować na podstawie zmiennych obserwowalnych) w modelu statystycznym. Służy do przewidywania tych wartości lub określania brakujących lub niekompletnych danych, pod warunkiem, że znasz ogólną formę rozkładu prawdopodobieństwa związanego z tymi utajonymi zmiennymi.

Mówiąc prościej, ogólna zasada algorytmu EM w uczeniu maszynowym polega na wykorzystaniu obserwowalnych wystąpień zmiennych ukrytych do przewidywania wartości w przypadkach, których nie można zaobserwować podczas uczenia się. Odbywa się to do momentu zbieżności wartości.

Algorytm jest dość potężnym narzędziem w uczeniu maszynowym i jest połączeniem wielu nienadzorowanych algorytmów. Obejmuje to algorytm grupowania k-średnich, wśród innych wariantów algorytmu EM.

Dołącz do kursu uczenia maszynowego online z najlepszych uniwersytetów na świecie — studiów magisterskich, programów podyplomowych dla kadry kierowniczej i zaawansowanego programu certyfikacji w zakresie uczenia maszynowego i sztucznej inteligencji, aby przyspieszyć swoją karierę.

Spis treści

Algorytm oczekiwań i maksymalizacji

Przyjrzyjmy się mechanizmowi algorytmu Oczekiwania-Maksymalizacji w Uczeniu Maszynowym:

Źródło

  • Krok 1: Mamy zestaw brakujących lub niekompletnych danych oraz kolejny zestaw parametrów początkowych. Zakładamy, że obserwowane dane lub początkowe wartości parametrów są generowane z określonego modelu.
  • Krok 2: W oparciu o obserwowalną wartość w obserwowalnych wystąpieniach dostępnych danych będziemy przewidywać lub oszacować wartości w nieobserwowalnych wystąpieniach danych lub brakujących danych. Jest to znane jako krok oczekiwania (E – krok).
  • Krok 3: Korzystając z danych wygenerowanych z kroku E, zaktualizujemy parametry i uzupełnimy zestaw danych. Jest to znane jako krok maksymalizacji (M – krok), który służy do aktualizacji hipotezy.

Kroki 2 i 3 są powtarzane aż do zbieżności. Oznacza to, że jeśli wartości nie są zbieżne, powtórzymy krok E i krok M.

.

Źródło

Zalety i wady algorytmu EM

Wady algorytmu EM
1 Każda iteracja algorytmu EM skutkuje gwarantowanym wzrostem prawdopodobieństwa.
2 Krok oczekiwania i krok maksymalizacji są raczej łatwe, a rozwiązanie dla tego ostatniego istnieje w większości w formie zamkniętej.
Zalety algorytmu EM
1 Algorytm maksymalizacji oczekiwań uwzględnia zarówno prawdopodobieństwa w przód, jak i w tył. Kontrastuje to z optymalizacją numeryczną, która uwzględnia tylko prawdopodobieństwa w przód.
2 Zbieżność algorytmu EM jest bardzo powolna i odbywa się tylko do lokalnego optima.

Zastosowania algorytmu EM

Model zmiennej ukrytej ma wiele rzeczywistych zastosowań w uczeniu maszynowym.

  1. Jest używany w nienadzorowanym grupowaniu danych i analizie psychometrycznej.
  2. Służy również do obliczania gęstości Gaussa funkcji.
  3. Algorytm EM znajduje szerokie zastosowanie w przewidywaniu parametrów ukrytego modelu Markowa (HMM) i innych modeli mieszanych.
  4. Algorytm EM znajduje szerokie zastosowanie w przetwarzaniu języka naturalnego (NLP), wizji komputerowej i genetyce ilościowej.
  5. Inne ważne zastosowania algorytmu EM to rekonstrukcja obrazów w medycynie i inżynierii budowlanej.

Pozwól nam zrozumieć algorytm EM przy użyciu modelu mieszanki Gaussa.

Algorytm EM dla modelu mieszaniny Gaussa

Aby oszacować parametry Gaussa Mixture Model, będziemy potrzebować pewnych obserwowanych zmiennych generowanych przez dwa oddzielne procesy, których rozkłady prawdopodobieństwa są znane. Jednak punkty danych obu procesów są połączone i nie wiemy, do której dystrybucji należą.

Naszym celem jest oszacowanie parametrów tych rozkładów przy użyciu oszacowania maksymalnego prawdopodobieństwa algorytmu EM, jak wyjaśniono powyżej.

Oto kod , którego użyjemy:

# Dana funkcja, dla której musimy obliczyć gęstość

# Gaussian w punkcie x_i przy danym mu, sigma: G(x_i, mu, sigma); oraz

# kolejna funkcja do obliczania logarytmicznych prawdopodobieństw: L(x, mu, sigma, pi)

def oszacowanie_gmm(x, K, tol=0,001, max_iter=100):

”' Oszacuj parametry GMM.

:param x: lista obserwowanych zmiennych o rzeczywistych wartościach

:param K: liczba całkowita dla liczby Gaussa

:param tol: tolerowana zmiana dla logarytmicznego prawdopodobieństwa

:powrót: parametry mu, sigma, pi

„”

# 0. Zainicjuj theta = (mu, sigma, pi)

N = dł(x)

mu, sigma = [rand()] * K, [rand()] * K

pi = [rand()] * K

bież_L = np.inf

dla j w zakresie(max_iter):

poprzedni_L = aktualny_L

# 1. E-step: odpowiedzialność = p(z_i = k | x_i, theta^(t-1))

r = {}

dla i w zakresie (N):

części = [pi[k] * G(x_i, mu[k], sigma[k]) dla i w zakresie(K)]

suma = suma(części)

dla i w k:

r[(i, k)] = części[k] / suma

# 2. M-step: Zaktualizuj wartości mu, sigma, pi

rk = [suma([r[(i, k)] dla i z zakresu(N)]) dla k z zakresu(K)]

dla k w zakresie (K):

pi[k] = rk[k] / N

mu[k] = suma(r[(i, k)] * x[i] dla i w zakresie(N)) / rk[k]

sigma[k] = suma(r[(i, k)] * (x[i] – mu[k]) ** 2) / rk[k]

# 3. Sprawdź warunki wyjścia

bież_L = L(x, mu, sigma, pi)

if abs(prev_L – curr_L) < tol:

zepsuć

zwróć mu, sigma, pi

W E-Step możemy użyć twierdzenia Bayesa do określenia oczekiwanych wartości danych punktów danych, które są pobierane z poprzednich iteracji algorytmu. W kroku M zakładamy, że wartości zmiennych latentnych są ustalone, aby oszacować proxy w nieobserwowanych przypadkach przy użyciu maksymalnego prawdopodobieństwa. Na koniec używamy formuły średniej standardowej i odchylenia standardowego do oszacowania parametrów modelu mieszaniny gaussowskiej.

Wniosek

To prowadzi nas do końca artykułu. Aby uzyskać więcej informacji na temat koncepcji uczenia maszynowego, skontaktuj się z najlepszymi wydziałami IIIT Bangalore i Liverpool John Moores University w ramach programu upGrad 's Master of Science in Machine Learning & AI .

Jest to 18-miesięczny kurs, który oferuje ponad 450 godzin treści szkoleniowych, ponad 12 projektów branżowych, 10 opcji projektów Capstone i ponad 10 zadań z zakresu kodowania. Korzystasz również ze spersonalizowanego mentoringu od ekspertów branżowych i poradnictwa zawodowego w ramach sesji na żywo. Kolejna partia zaczyna się 28 lutego 2021!

Co oznacza klastrowanie EM?

W celu optymalizacji prawdopodobieństwa obserwowanych danych, grupowanie EM jest wykorzystywane do oszacowania średnich i odchyleń standardowych dla każdego skupienia (rozkładu). Na podstawie kombinacji różnych rozkładów w różnych skupieniach algorytm EM próbuje przybliżyć obserwowane rozkłady wartości. EM wykorzystuje skończony model mieszaniny gaussowskiej do grupowania danych i iteracyjnie szacuje zestaw parametrów, aż do osiągnięcia pożądanej wartości zbieżności. Grupowanie EM daje wyniki, które różnią się od wyników uzyskanych przez grupowanie K-średnich.

Jakie są rzeczywiste zastosowania algorytmu EM?

W medycynie algorytm EM jest wykorzystywany do rekonstrukcji obrazu. Służy również do prognozowania parametrów ukrytych modeli Markowa (HMM) i innych modeli mieszanych. Pomaga również w uzupełnieniu brakujących danych w konkretnej próbce. Parametry pozycji i zdolności utajone w modelach teorii odpowiedzi na pozycje są szacowane za pomocą EM w psychometrii. Jest również szeroko stosowany w dziedzinie inżynierii budowlanej.

Czym różni się algorytm MLE od algorytmu EM?

W obecności ukrytych zmiennych proces szacowania maksymalnego prawdopodobieństwa po prostu kwestionuje dane. MLE początkowo zbiera wszystkie dane, a następnie wykorzystuje je do zbudowania najbardziej prawdopodobnego modelu. W przypadku zmiennych ukrytych algorytm maksymalizacji oczekiwań zapewnia iteracyjne rozwiązanie szacowania maksymalnego prawdopodobieństwa. EM najpierw dokonuje oszacowania parametrów, a następnie sprawdza brakujące dane, a następnie zmienia model tak, aby pasował do nauczonych domysłów i zaobserwowanych danych.