Expectation maximization

Результаты этого раздела имеют довольно сложную историю. По всей видимости, впервые EM-алгоритм был предложен М.И. Шлезингером, после чего неоднократно переоткрывался и на данный момент является одним из наиболее используемых методов разделения смесей.
Как уже отмечалось ранее, байесовский классификатор опирается на тот факт, что известны априорные вероятности \(p\left( {C_i } \right)\) и условные вероятности \(p\left( {\left. x \right|C_i } \right)\). К сожалению, такую полную информацию имеем не всегда.
EM-алгоритм является методом оптимизации численной оценки максимального правдоподобия. Алгоритм ориентирован на оценку максимального правдоподобия в статистических моделях, где модель зависит от ненаблюдаемых (скрытых) параметров. Введем необходимые понятия ЕМ-алгоритм используется, как правило, в двух случаях, когда данные действительно отсутствуют из-за ограничений в процессе наблюдения и второй случай происходит, если аналитическая оптимизация функциии правдоподобия неразрешима, однако, если сделать предположение, что существуют некоторые скрытые переменные, то проблема может быть упрощена.
Интуитивно, идея ЕМ-алгоритма состоит в чередовании оценок доступных и скрытых параметров модели.
Рассмотрим простой пример.
СобытиеВероятность
\(x_1\in M_1\)\(P(x_1)=\frac{1}{2}\)
\(x_2\in M_2\)\(P(x_2)=u\)
\(x_3\in M_3\)\(P(x_3)=2u\)
\(x_4\in M_4\)\(P(x_4)=\frac{1}{2}-3u\)
где \(u\in [0,1/6]\).
СобытиеНаблюдаемое явление
\(x_1\in M_1\)\(a\)
\(x_2\in M_2\)\(b\)
\(x_3\in M_3\)\(c\)
\(x_4\in M_4\)\(d\)
Проведем оценку параметров на основе имеющихся данных.
Используя значения второй таблицы, выпишем догарифмическую функцию правдоподобия \[ L(u)=\log\left(\left(\frac{1}{2}\right)^a\times \left(u\right)^b\times \left(2u\right)^c\times \left(\frac{1}{2}-3\right)^d\right)= a\log\left(\frac{1}{2}\right)+b\log\left(u\right)+c\log\left(2u\right)+d\log\left(\frac{1}{2}-3\right). \] и найдем ее максимум. Для этого вычислим производную и приравняем нулю, в результате чего, получим \[ u=\frac{b+c}{6(b+c+d).} \] Теперь изменим исходные условия. Пусть есть некоторая информация о наблюдаемых явлениях
СобытиеНаблюдаемое явление
\(x_1,x_2\in \{M_1 || M_2\}\)\(h\)
\(x_3\in M_3\)\(c\)
\(x_4\in M_4\)\(d\)
при этом \(h=a+b\), если \(h\) наблюдаемо.
Сделаем оценку максимального правдоподобия \(u\) с учетом новых наблюдений.
Очевидно, что у нас недостаточно информации для получения догарифмической функции правдоподобия, так как значения a и b нам не известны. Но если мы знаем значение \(u\), то могли бы вычислить ожидаемое значение как a, так и b: \[ a=\frac{\frac{1}{2}}{\frac{1}{2}+u}h,b=\frac{u}{\frac{1}{2}+u}h. \] С другой стороны, если нам известны ожидаемые значения a и b, то можно получить значение логарифмического правдоподобия и найти оценку максимального правдоподобия параметра \(u\): \[ u=\frac{b+c}{6(b+c+d).} \] ЕМ-алгоритм для рассмотренного случая будет выглядеть следующим образом.
Пусть \(u^{(k-1)}\) и \(b^{(k-1)}\) некоторые оценки \(u\) и \(b\) после \(k-1\) итерации.

E-шаг: Опираясь на предыдущую оценку \(u\), вычислим скрытую переменную \(b\) \[ b^{(k)}=\frac{u^{(k-1)}}{\frac{1}{2}+u^{(k-1)}}h. \]

М-шаг: Теперь, учитывая полученную оценку \(b\), найдем оценку максимального правдоподобия параметра \(u\): \[ u^{(k)}=\frac{b^{(k)}+c}{6(b^{(k)}+c+d)}. \]

Приведем иллюстрацию ЕМ-алгоритма.
Проведем рассуждения для непрерывного случая (дискретный случай рассматривается аналогично). Используя неравенство Йенсена, которое утверждает, что для выпуклой вверх функции \(\varphi(x)\) и интегрируемой функции \(f(x)\) выполняется неравенство \[ \varphi\left(\int_a^b{f(x)dx}\right)\ge\frac{1}{b-a}\int_a^b{\varphi\left((b-a)f(x)\right)dx} \] получаем \[ L(\theta)=\log\left(p(y|\theta)\right)=\log\left(\int p(x,y|\theta)dx\right)=\log\left(\int q(x)\frac{p(x,y|\theta)}{q(x)}dx\right)\ge \int q(x)\log\frac{p(x,y|\theta)}{q(x)}dx, \] где \(\int{q(x)dx=1}\), \(q(x)\ge 0\) и \(\log(\cdot)\) - выпуклая вверх функция, при этом \(q (x)\) может быть любым распределением скрытой переменной x.
Положим \[ F(q,\theta)=\int q(x)\log\frac{p(x,y|\theta)}{q(x)}dx=\int{q(x)\log(p(x,y|\theta))dx}+H(q). \] Тогда один шаг ЕМ-алгоритма будет иметь вид:


Графическая интерпретация одной итерации EМ-алгоритма.

Здесь \(F (q; \theta)\) - нижняя граница \(L (\theta)\).
На E-шаге выберем \(q^{(k)} (x)\) так, чтобы \(F(q^{(k)}; \theta^{(k-1)})\) касалось \(L(\theta^{(k-1)})\). На M-шаге выберем \(\theta^{(k)}\), что максимизировать нижнюю границу, которая обеспечивает выполнение условия \(L(\theta^{(k)})\ge L(\theta^{(k-1)})\) так как \(L(\theta^{(k)})\ge F(q^{(k)},\theta^{(k)})\) и \( F(q^{(k)},\theta^{(k)})\ge F(q^{(k)},\theta^{(k-1)})\), где \(H (q) = - \int{q (x) \log{(q(x))} dx}\).
Рассмотрим один из методов решения задачи разделения смеси \[p(x) = \sum_{i=1}^k\omega _i p_i (x)\] в предположении, что известен только общий вид распределения вероятности и нужно оценить его параметры. Достаточно часто известно, что искомое распределение представляет собой линейную комбинацию, например, нормальных или биномиальных распределений. В этом случае говорят, что данное распределение представляет собой смесь нормальных, биномиальных (либо иных) распределений. В частности, если известно, что функция плотности вероятности каждого класса есть нормальное распределение \(N\left( {\mu _i ,\sigma _i^2 } \right)\), то нужно оценить параметры \(\mu _i ,\sigma _i\). Для байесовского классификатора эти параметры известны.
Пусть \(p\left( {x|\theta _i } \right)\) плотность вероятности того, что наблюдение \(x\) получено из компоненты \(p_i\) смеси распределений (\(\theta _i\) - параметры распределения).

Тогда \[ p\left( {x|\theta _i } \right) = p(x)P\left( {\left. {\theta _i } \right|x} \right) = \omega _i p_i (x). \] Апостериорную вероятность \(P\left( {\left. {\theta _i } \right|x} \right)\) того, что наблюдение \(x_j\) получено из i-й компоненты смеси, обозначим через \(g_{i,j}\). Из формулы полной вероятности выпишем условие нормировки \[ \sum_{i = 1}^k {g_{i,j} = 1,j = 1,...,n.} \] Тогда при известных \(\omega _i \) и \(p_i (x_j )\) из теоремы Байеса легко получить \[ g_{i,j} = \frac{\omega _i p_i (x_j )}{\sum\nolimits_{\nu = 1}^k {\omega _\nu p_\nu (x_j )} },i = 1,...k,j = 1,...,n. \] Функция \[ F\left( \Theta \right) = \prod_{j = 1}^n {p(x_j |\theta _i )} \] называется функцией правдоподобия от \(\Theta = \left\{ {\left( {\omega _i ,\theta _i } \right)} \right\}_{i = 1}^k \) по выборке \(X = \left\{ {x_1,...,x_n } \right\}\).
Традиционно через MLE (Maximum Likelihood Estimate) - метод максимального правдоподобия, называют метод, доставляющий \[ \hat {\Theta } = \arg \mathop {\max }_\Theta \left( {F\left( \Theta \right)} \right). \] Заметим, что в силу монотонности алгоритма \[ \hat {\Theta } = \arg \mathop {\max }_\Theta \left( {F\left( \Theta \right)} \right)= \arg \mathop {\max }_\Theta \left( {\ln \left( {F\left( \Theta \right)} \right)} \right). \] Покажем, что при известных \(g_{i,j}\), используя MLE, можно получить эффективный метод разделения параметров смеси. Запишем MLE в виде \[ \ln F\left( \Theta \right) = \ln \prod_{j = 1}^n {p(x_j |\theta _i )} = \sum_{j = 1}^n {\ln \sum_{i = 1}^k {\omega _i p_i \left( {x_j } \right)} } \to \mathop {\max }_\Theta \mbox{ при условии } \quad \sum_{i = 1}^k {\omega _i = 1.} \] Используя метод множителей Лагранжа, выпишем лагранжиан этой задачи \[ L\left( {\Theta ,\Omega } \right) = \sum_{j = 1}^n {\ln \sum_{i = 1}^k {\omega _i p_i \left( {x_j } \right)} } - \lambda \left( {\sum_{i = 1}^k {\omega _i } - 1} \right). \] Приравнивая частные производные по неизвестным параметрам нулю, получаем \begin{equation}\label{eq5.6} \frac{\partial }{\partial \omega _i }L\left( {\Theta ,\Omega } \right) =\sum_{j = 1}^n {\frac{p_i \left( {x_j } \right)}{\sum\nolimits_{\nu = 1}^k {\omega _\nu p_\nu (x_j )} }} - \lambda =0,i = 1,...,k.. \end{equation} Умножая обе части полученного соотношения на \(\omega _i\) и суммируя их по всем \(i\), получаем \[ \sum_{j = 1}^n {\sum_{i = 1}^k {\frac{\omega _i p_i \left( {x_j } \right)}{\sum\nolimits_{\nu = 1}^k {\omega _\nu p_\nu (x_j )} }} } =\lambda \sum_{i = 1}^k {\omega _i } . \] Замечая, что \[ \sum_{i = 1}^k {\frac{\omega _i p_i \left( {x_j } \right)}{\sum\nolimits_{\nu = 1}^k {\omega _\nu p_\nu (x_j )} }} = 1\mbox{ и } \quad \sum_{i = 1}^k {\omega _i } = 1, \] получаем \[ \sum_{j = 1}^n 1 = \lambda .\mbox{ и } \quad \lambda = n. \] Таким образом, умножая (\ref{eq5.6}) на \(\omega_i\), имеем \[ \omega _i = \frac{1}{n}\sum_{j = 1}^n {\frac{\omega _i p_i \left( {x_j } \right)}{\sum\nolimits_{\nu = 1}^k {\omega _\nu p_\nu (x_j )} }} =\frac{1}{n}\sum_{j = 1}^n {g_{i,j} } ,i = 1,...,k.. \] Теперь, замечая, что \(p_i (x)\) зависит от \(\theta _i \), возьмем частную производную лагранжиана от \(\theta _i\) и приравняем ее нулю \[ \frac{\partial }{\partial \theta _i }L\left( {\Theta ,\Omega } \right) =\sum_{j = 1}^n {\frac{\omega _i }{\sum\nolimits_{\nu = 1}^k {\omega _\nu p_\nu (x_j )} }\frac{\partial }{\partial \theta _i }p_i \left( {x_j }\right)} = 0,i = 1,...,k. \] Умножим числитель и знаменатель каждого слагаемого на \(p_i \left( {x_j } \right)\), соответственно \[ \frac{\partial }{\partial \theta _i }L\left( {\Theta ,\Omega } \right) =\sum_{j = 1}^n {\frac{\omega _i p_i \left( {x_j } \right)}{\sum\nolimits_{\nu = 1}^k {\omega _\nu p_\nu (x_j )} }\frac{\partial }{\partial \theta _i }\ln p_i \left( {x_j } \right)} = \sum_{j = 1}^n {g_{i,j} \frac{\partial }{\partial \theta _i }\ln p_i \left( {x_j } \right)} = 0,i = 1,...,k. \] Отсюда получаем \[ \frac{\partial }{\partial \theta _i }\sum_{j = 1}^n {g_{i,j} \ln p_i \left( {x_j } \right)} = 0,i = 1,...,k, \] что совпадает с необходимым условием максимума в задаче максимизации функции правдоподобия с весом \[ \sum_{j = 1}^n {g_{i,j} \ln p_i \left( {x_j } \right)} \to \mathop {\max }_\Theta ,i = 1,...,k. \]
Таким образом ЕМ-алгоритм с фиксированным числом компонентов смеси можно записать в следующем виде.
Пусть \(X = \left\{ {x_1 ,...,x_n } \right\}\) выборка наблюдений, \(k\)-число компонентов смеси, \(\Theta = \left\{ {\left( {\omega _i ,\theta _i }\right)} \right\}_{i = 1}^k \)- начальное приближение параметров смеси, и \(\varepsilon \) число, определяющее остановку алгоритма.
ЕМ-алгоритм состоит из последовательного применения двух шагов.

Е-шаг (expectation).

\[ g_{i,j}^0 = g_{i,j} ; \] \[ g_{i,j} = \frac{\omega _i p_i (x_j )}{\sum\nolimits_{\nu = 1}^k {\omega _\nu p_\nu (x_j )} },i = 1,...k,j = 1,...,n. \] \[ \delta = \max \left\{ {\left| {g_{i,j}^0 - g_{i,j} } \right|} \right\}. \]

M-шаг (maximization).

\[ \sum_{j = 1}^n {g_{i,j} \ln p_i \left( {x_j } \right)} \to \mathop {\max }_\Theta ,i = 1,...,k; \] \[ \omega _i = \frac{1}{n}\sum_{j = 1}^n {g_{i,j} } ,i = 1,...,k. \] Если \(\delta > \varepsilon \), то переходим к Е-шагу, если \(\delta \le \varepsilon \), то возвращаем найденные параметры смеси \(\Theta = \left\{{\left( {\omega _i ,\theta _i } \right)} \right\}_{i = 1}^k \).
Рассмотрим случай, когда известно, что смесь состоит из нормальных распределений \(N\left( {\mu _i ,\sigma _i^2 } \right)\), где \(i= 1,...,k\).
Е-шаг будет выглядеть следующим образом \[ g_{i,j} = \frac{\omega _i p(x_j|\mu_j,\sigma_j)}{\sum_{\nu = 1}^k {\omega _\nu p_\nu (x_\nu|\mu_j,\sigma_j )} },i = 1,...k,j = 1,...,n, \] где \[ p(x|\mu_i,\sigma_i) = \frac{1}{\sigma_i \sqrt {2\pi } }\exp \left( { - \frac{\left( {x - \mu_i } \right)^2}{2\sigma_i^2}} \right). \] Для М- шага задача \[ \sum_{j = 1}^n {g_{i,j} \ln p_i \left( {x_j } \right)} \to \mathop {\max }_\Theta ,i = 1,...,k \] запишется в виде \[ \sum_{j = 1}^n {g_{i,j} \ln \left( {\frac{1}{\sigma _i \sqrt {2\pi } }\exp \left( { - \frac{\left( {x_j - \mu _i } \right)^2}{2\sigma _i^2 }} \right)} \right)} \to \mathop {\max }_\Theta ,i = 1,...,k, \] или, что то же, \[ G\left( {\left\{ {\mu _i ,\sigma _i } \right\}_{i = 1}^k } \right) = \sum_{j = 1}^n {g_{i,j} \left( { - \ln \left( {\sigma _i \sqrt {2\pi } } \right) - \frac{\left( {x_j - \mu _i } \right)^2}{2\sigma _i^2 }} \right)} \to \mathop {\max }_\Theta,\] \[i = 1,...,k. \] Приравнивая частные производные нулю, получаем \[ \frac{\partial }{\partial \mu _i }G\left( {\left\{ {\mu _\nu ,\sigma _\nu } \right\}_{\nu = 1}^k } \right) = - \sum_{j = 1}^n {g_{i,j} \frac{\left( {x_j - \mu _i } \right)}{\sigma _i^2 }} = 0, \] отсюда \[ \mu _i = \frac{\sum_{j = 1}^n {g_{i,j} x_j } }{\sum_{j = 1}^n {g_{i,j} } }. \] Аналогично, \[ \frac{\partial }{\partial \sigma _i }G\left( {\left\{ {\mu _\nu ,\sigma _\nu} \right\}_{\nu = 1}^k } \right) = - \sum_{j = 1}^n {g_{i,j} \left({\frac{1}{\sigma _i } - \frac{\left( {x_j - \mu _i } \right)^2}{\sigma _i^3}} \right)} = \] \[- \sum_{j = 1}^n {g_{i,j} \left( {\frac{\sigma _i^2 - \left( {x_j - \mu _i } \right)^2}{\sigma _i^3 }} \right) = } 0, \] таким образом, отсюда получаем \[ \sigma _i^2 = \frac{\sum_{j = 1}^n {g_{i,j} \left( {x_j - \mu _i } \right)^2} }{\sum_{j = 1}^n {g_{i,j} } }, \] что позволяет получить параметры распределения в явном виде.
Заметим, что для многомерного случая нормальное распределение описывается следующим соотношением \[ p\left( {x\left| {\mu _i ,\Sigma _i } \right.} \right) = \frac{1}{\left( {2\pi } \right)^{n / 2}\left| {\Sigma _i^{ - 1} } \right|^{1 / 2}}\exp \left( { - \frac{1}{2}\left( {x - \mu _i } \right)^T\Sigma _i^{ - 1} \left( {x - \mu _i } \right)} \right), \] где \(\Sigma \)-корреляционная матрица. Использование MLE позволяет оценить параметры распределения следующим образом \[ \mu _i = \frac{\sum_{j = 1}^n {g_{i,j} x_j } }{\sum_{j = 1}^n {g_{i,j} } }, \quad \Sigma _i = \frac{\sum_{j = 1}^n {g_{i,j} \left( {x_j - \mu _i } \right)\left( {x_j - \mu _i } \right)^T} }{\sum_{j = 1}^n {g_{i,j} } }. \] Значение весов определяется так же \[ \omega _i = \frac{1}{n}\sum_{j = 1}^n {g_{i,j} } ,i = 1,...,k, \] где \[ g_{i,j} = \frac{\omega _i p(x_j|\mu_j,\Sigma_j)}{\sum_{\nu = 1}^k {\omega _\nu p_\nu (x_\nu|\mu_j,\Sigma_j )} },i = 1,...k,j = 1,...,n, \]
В качестве иллюстрации ЕМ-алгоритма используем пример, приведенный Andrew Moore’s tutorial:


Начальное приближение.


Результат первой итерации.


Что получилось после шестой итерации.


Результат применения двадцати итераций

Приведем простой пример применения EM-алгоритма для случая одной переменной.
Для данных смеси \(x_i\) \(i=0,1,...,N\), где \(N=10\)
x01233361040
i0123456789
построим разделение этой смеси линейной комбинацией двух функций Гаусса \[ P(t)=\omega_0\frac{1}{\sqrt{2\pi}\sigma_0}\exp\left(-\frac{(t-\mu_0)^2}{2\sigma^2_0}\right)+ \omega_1\frac{1}{\sqrt{2\pi}\sigma_1}\exp\left(-\frac{(t-\mu_1)^2}{2\sigma^2_1}\right). \] Данная задача представляет собой задачу разделения гистограмм, постановка которой несколько отличается от классической задачи разделения смеси распределений вероятностей, поэтому используем модификацию ЕМ-алгоритма, с учетом этих особенностей.
Вначале проведем инициализацию \[ g_{0,i}=\left\{ \begin{array}{ll} 1, & \hbox{ для } i=0,...,N/2-1 \\ 0, & \hbox{ для } i=N/2,...,N-1, \end{array} \right. g_{1,i}=\left\{ \begin{array}{ll} 0, & \hbox{ для } i=0,...,N/2-1 \\ 1, & \hbox{ для } i=N/2,...,N-1. \end{array} \right. \]
g_01111100000
g_10000011111
i0123456789
M-шаг Вычислим веса \[ \omega_j=\frac{1}{N}\sum_{i=0}^{N-1}g_{j,i}x_i, j=0,1. \] Получаем \(\omega_0=0.9\) и \(\omega_1=2.3\), далее найдем матожидание и дисперсию \[ \mu_j=\frac{1}{N}\sum_{i=0}^{N-1}\frac{g_{j,i}i}{\omega_j}x_i, \sigma^2_j=\frac{1}{N}\sum_{i=0}^{N-1}\frac{g_{j,i}(i-\mu_i)^2}{\omega_j}x_i, j=0,1. \] \(\mu_0=\frac{26}{9}\), \(\mu_1=\frac{153}{23}\) и \(\sigma^2_0=\frac{80}{81}\), \(\sigma^2_1=\frac{442}{529}\).
На следующем шаге найдем приближенное значение смеси \[ P_i=\sum_{j=0}^1\omega_jp_{j,i},i=0,1,...,N-1, \] где \[ p_{j,i}=\frac{1}{\sqrt{2\pi}\sigma_j}\exp\left(-\frac{(i-\mu_j)^2}{2\sigma^2_j}\right),i=0,...,N-1,j=0,1. \] Отсюда
P0.0052839160060.059347949680.24217904950.35937703650.2338353195 0.20829582900.93378047540.78093446210.33847932020.03707425040
i0123456789
E-шаг Обновим значения \[ g_{j,i}=\frac{\omega_jp_{j,i}}{P_i} \]
g_00.99999999940.99999991580.99999016390.99904586700.9284007156 0.16183149890.0034450260.00007440.000001930.00000006
g_10.00000000060.00000008420.000009830.00095410.07159928445 0.83816850090.99655497360.99992558280.99999807340.9999999401
i0123456789
Далее переходим к следующей итерации, проводя М-шаг, потом Е-шаг и так далее.
Уже после десятой итерации имеем \(\omega_0=1.114632089\), \(\omega_1=2.085367911\), \(\mu_0=3.340349207\), \(\mu_1=6.798195901\), \(\sigma^2_0=1.693040680\), \(\sigma^2_1=0.6711715483\). Получаем \[ P(t)=\omega_0\frac{1}{\sqrt{2\pi}\sigma_0}\exp\left(-\frac{(t-\mu_0)^2}{2\sigma^2_0}\right)+ \omega_1\frac{1}{\sqrt{2\pi}\sigma_1}\exp\left(-\frac{(t-\mu_1)^2}{2\sigma^2_1}\right)= 0.3417495181\exp\left(-\frac{(t-3.340349207)^2}{3.386081360}\right)+ 1.015490777\exp\left(-\frac{(t-6.798195901)^2}{1.342343097}\right). \] Остается провести масштабирование (так как мы восстанавливали не вероятности, а, по сути, гистограмму). Для этой цели найдем масштабирующий коэффициент S, который выбирается так, чтобы площадь полученной смеси была равна площади гистограммы, то есть \[ S=\frac{\sum_ix_i}{\int_0^NP(t)dt}=\frac{32}{3.186774135}=10.04150236, \] и получим результат \[ S\left(\omega_0\frac{1}{\sqrt{2\pi}\sigma_0}\exp\left(-\frac{(t-\mu_0)^2}{2\sigma^2_0}\right)+ \omega_1\frac{1}{\sqrt{2\pi}\sigma_1}\exp\left(-\frac{(t-\mu_1)^2}{2\sigma^2_1}\right)\right)= 3.431678591\exp\left(-\frac{(t-3.340349207)^2}{3.386081360}\right)+ 10.19705303\exp\left(-\frac{(t-6.798195901)^2}{1.342343097}\right). \]

К-во элементов смеси










Применение ЕМ-алгоритма к сегментации изображений.

Сегментация или разделение изображения на области, для которых выполняется определенный критерий однородности, является достаточно распростаненной задачей обработки и анализа изображений (Image Processing). Существует много различных методов сегментации изображений, продемонстрируем применение ЕМ-алгоритма к решению этой задачи.

Количество сегментов (от 2 до 16)

Для этой цели построим гистограмму цвета для каждой компоненты - красного, зеленого и синего. По оси \(x\) изменяется интенсивность цвета от 0 до 255, а по оси \(y\) - количество пикселей с данной интенсивностью.
Считая, что каждая гистограмма представляет собой смесь функций Гаусса \[ \sum_{i=1}^n\frac{w_i}{\sigma_i\sqrt{2\pi}}\exp\left(-\frac{(x-\mu_i)^2}{2\sigma_i^2}\right), \] применим ЕМ-алгоритм с заданным количеством элементов смеси \(n\) (это же количество сегментов, на которое мы разбиваем каждую цветовую плоскость изображения). И как результат, пусть множество значений интенсивности \(X_j=[x_{j},x_{j+\nu_j})\) такое, что \[ \forall x\in X_j: \frac{w_j}{\sigma_j\sqrt{2\pi}}\exp\left(-\frac{(x-\mu_j)^2}{2\sigma_j^2}\right)\ge \frac{w_i}{\sigma_i\sqrt{2\pi}}\exp\left(-\frac{(x-\mu_i)^2}{2\sigma_i^2}\right) (i\ne j). \] Тогда всем точкам, интенсивность которых лежит в промежутке \(X_j\), поставим в соответствие значение \(\mu_j\) (при практической реализации - ее целую часть). Результатом работы алгоритма будет сегментация изображения на \(n\) сегментов по каждой цветовой компоненте.
ЕМ-алгоритм традиционно является наиболее используемым инструментом для разделения смеси распределений с известным числом компонентов. Определение числа компонент (кластеров) является нетривиальной задачей. Как правило, этот параметр выбирается исследователем из каких-то априорных предположений, что делает задачу автоматического выбора этого параметра актуальной. Наиболее популярными алгоритмами оценки количества элементов смеси являются – Существующие подходы, как правило, отличаются сложностью реализации, интуитивными подходами или приближенными методами решения сложных аналитических задач, часто не ясно, как они вообще связаны с данной задачей. С другой стороны, по сути, ЕМ-алгоритм разделения смеси нормальных распределений, по сути, представляет собой восстановление имеющейся гистограммы линейной комбинацией функций Гаусса, поэтому, совершенно естественно, имея значение заданной погрешности восстановления ε, описать имеющуюся гистограмму обедненной гистограммой со свободными узлами, которая наилучшим образом (то есть восстанавлявающую исходную информацию с данной погрешностью и минимальным числом узлов). Полученное число узлов является оценкой числа компонентов смеси, восстанавливаемой линейной комбинацией функций Гаусса с заданной точностью ε. Более того, значения свободных узлов дают возможность получить стартовую оценку остальных параметров смеси.
Обозначим через \(\Delta_n=\left\{ x_i \right\}_{i=0}^n \)- произвольное разбиение \(0=x_0\lt x_1\lt ...\lt x_n=T\), а также положим \(h_{i+1/2}=x_{i+1}-x_i\), \(h=\max_ih_{i+1/2}\) и \(x_{i+1/2}=(x_{i+1}+x_i)/2\) . Через \(S\left(\left\{a_{i+1/2}\right\}_{i=0}^{n-1},\Delta_n,x\right)\) обозначим кусочно-постоянную функцию со значениями \(a_{i+1/2}\) для \(x\in [x_i,x_{i+1})\).
Для функции \(y(x)\), непрерывной на \([0,T]\), рассмотрим задачу \begin{equation}\label{1} \varepsilon=\min_{x_i}\min_{a_{i+1/2}}\sum_{i=0}^{n-1}\int_{x_i}^{x_{i+1}}\left(a_{i+1/2}-y(x)\right)^2dx. \end{equation} Утверждение. Пусть \(y(x)\)- непрерывно дифференцируемая функция \(y\in C^2_{[0,T]}\) такая, что \(y'(x)\) на промежутке [0,T] имеет не более конечного числа нулей, тогда \begin{equation}\label{2} \varepsilon=\frac{1}{12n^2}\left(\int_{0}^{T}\left(y'(x)\right)^{2/3}dx\right)^3+O\left(\frac{1}{n^3}\right). \end{equation} и при этом минимум достигается для разбиения \(\Delta^*_n=\left\{ x^*_i\right\}_{i=0}^n\) такого, что \begin{equation}\label{3} \int_{x^*_i}^{x^*_{i+1}}\left(y'(x)\right)^{2/3}dx=\frac{1}{n} \int_{0}^{T}\left(y'(x)\right)^{2/3}dx, a^*_{i+1/2}=\frac{1}{h^*_{i+1/2}}\int_{x^*_i}^{x^*_{i+1}}y(x)dx. \end{equation} Покажем справедливость этого утверждения. Вначале рассмотрим следующую задачу \begin{equation}\label{4} \Phi\left(a_{i+1/2}\right)=\int_{x_i}^{x_{i+1}}\left(a_{i+1/2}-y(x)\right)^2dx\to\min. \end{equation} Тогда ввиду выпуклости задачи (\ref{4}), необходимое условие минимума является и достаточным, то есть решение этой задачи определяется из уравнения \[ \frac{d}{da_{i+1/2}}\Phi\left(a_{i+1/2}\right)= 2\int_{x_i}^{x_{i+1}}\left(a_{i+1/2}-y(x)\right)dx=0, \] и, следовательно, \[ a_{i+1/2}=\frac{1}{x_{i+1}-x_i}\int_{x_i}^{x_{i+1}}y(x)dx. \] Таким образом, задачу (\ref{1}) можно переписать в виде \[ \varepsilon=\min_{x_i}\sum_{i=0}^{n-1}\int_{x_i}^{x_{i+1}}\left(\frac{1}{h_{i+1/2}}\int_{x_i}^{x_{i+1}}y(x)dx-y(x)\right)^2dx. \] Используя формулу Тейлора \[ y(x)=y_{i+1/2}+y'_{i+1/2}\left(x-x_{i+1/2}\right)+O(h^2), \] где \(y_{i+1/2}=y(x_{i+1/2})\), получаем \[ \varepsilon=\min_{x_i}\sum_{i=0}^{n-1}\int_{x_i}^{x_{i+1}}\left(\frac{1}{h_{i+1/2}}\int_{x_i}^{x_{i+1}}y(x)dx-y(x)\right)^2dx= \min_{x_i}\sum_{i=0}^{n-1}\int_{x_i}^{x_{i+1}}\left( y_{i+1/2}+y'_{i+1/2}\left(x-x_{i+1/2}\right)+O(h^2)- \frac{1}{h_{i+1/2}}\int_{x_i}^{x_{i+1}} \left(y_{i+1/2}+y'_{i+1/2}\left(x-x_{i+1/2}\right)+O(h^2)\right)\right)^2dx= \frac{1}{12}\min_{x_i}\sum_{i=0}^{n-1}\left(\left(y'_{i+1/2}\right)^2 h^3_{i+1/2}+O(h^4)\right). \] Из теоремы о среднем для интегралов следует, что найдется точка \(\theta_{i+1/2}\in [x_i,x_{i+1}]\) такая, что \[ \left(y'\left(\theta_{i+1/2}\right)\right)^2 h^3_{i+1/2}= \left(\left(y'\left(\theta_{i+1/2}\right)\right)^{2/3} h_{i+1/2}\right)^3= \left(\int_{x_i}^{x_{i+1}}\left(y'\left(x\right)\right)^{2/3}dx\right)^3, \] отсюда и из предыдущего сразу получаем \begin{equation}\label{5} \varepsilon=\frac{1}{12}\min_{x_i}\sum_{i=0}^{n-1}\left(\left(\int_{x_i}^{x_{i+1}}\left(y'(x)\right)^{2/3} dx\right)^3+O(h^4)\right). \end{equation} Выпишем следующее предположение.
Пусть \(\alpha\gt 0\) и \(C\gt 0\), тогда \[ \min\left\{\left.\sum_{i=0}^{n-1}C_i^\alpha\right|C_i^\alpha\ge 0,\sum_{i=0}^{n-1}C_i=C\right\}=n\left(\frac{C}{n}\right)^\alpha, \] и при этом минимум достигается тогда, когда все \(C_i\) равны между собой, то есть, \[ C^*_i=\frac{C}{n} (i=0,...,n-1). \] Для доказательства этого утверждения используем метод неопределенных множителей Лагранжа. Выпишем функцию цели \[ L=\lambda_0\sum_{i=0}^{n-1}C_i^\alpha+\lambda_1\left(\sum_{i=0}^{n-1}C_i-C\right), \] тогда \[ \frac{\partial L}{\partial C_i}=\lambda_0\alpha C^{\alpha-1}_i+\lambda_1=0, \] что то же \(\lambda_0\alpha \left(C^{\alpha-1}_i+\lambda_2\right)=0\), где \(\lambda_2=\frac{\lambda_1}{\lambda_0\alpha}\).
Таким образом, получаем \(C_i=-\lambda_2^{\frac{1}{\alpha-1}}\) и \[ \sum_{i=0}^{n-1}C_i=-\sum_{i=0}^{n-1}\lambda_2^{\frac{1}{\alpha-1}}=-n\lambda_2^{\frac{1}{\alpha-1}}=C. \] Следовательно, имеем \(\lambda_2^{\frac{1}{\alpha-1}}=-\frac{C}{n}\) , или, что то же \(C_i=\frac{C}{n} (i=0,...,n-1).\)
Предположение доказано.
Таким образом, из (\ref{4}) и доказанного предположения, получаем \[ \varepsilon=\frac{1}{12}\min_{x_i}\sum_{i=0}^{n-1}\left(\left(\int_{x_i}^{x_{i+1}}\left(y'(x)\right)^{2/3} dx\right)^3+O(h^4)\right)= \frac{1}{12}\sum_{i=0}^{n-1}\left(\left(\int_{x^*_i}^{x^*_{i+1}}\left(y'(x)\right)^{2/3} dx\right)^3+O(h^4)\right)= \frac{1}{12 n^2}\left(\int_{0}^{T}\left(y'(x)\right)^{2/3} dx\right)^3+O\left(\frac{1}{n^3}\right). \] и при этом минимум достигается для разбиения \(\Delta^*_n=\left\{ x^*_i\right\}_{i=0}^n\) такого, что \[ \int_{x^*_i}^{x^*_{i+1}}\left(y'(x)\right)^{2/3}dx=\frac{1}{n} \int_{0}^{T}\left(y'(x)\right)^{2/3}dx. \] Кроме того, заметим, что для заданной погрешности ε можно найти количество \(n\) звеньев кусочно-постоянной с асимптотически оптимальными узлами, выбираемыми из условия (\ref{2}) \[ n=\left[\sqrt{\frac{1}{12 \varepsilon}\left(\int_{0}^{T}\left(y'(x)\right)^{2/3} dx\right)^3}\right]+1, \] где [m] - целая часть числа m.
Полученное значение количества узлов может служить оценкой для числа элементов смеси нормальных распределений, а значения \(x^*_{i+1/2}\) - стартовыми значениями математического ожидания функций Гаусса.

В качестве примера, приведем определение, при заданной относительной точности, количества сегментов для примера, рассмотренного выше.

Относительная точность в процентах (от 1% до 100%)

Пример использования сегментации изображений

Полезная литература. Книги.

  1. Bilmes J. A Gentle Tutorial of the EM Algorithm and its Application to Parameter Estimation for Gaussian Mixture and Hidden Markov Models / J.Bilmes; International Computer Science Institute .— Berkeley: Computer Science Division Department of Electrical Engineering and Computer Science, 1998 .— 15 с.
  2. Charu C. Aggarwal Data Mining. The Textbook. / C.A.Charu; — Springer, 2015 .— 746 p.
  3. Christopher M. Bishop Pattern Recognition and Machine Learning / M.B.Christopher .— Springer, 2006 .— 758 p.
  4. Clarke B. Principles and Theory for Data Mining and Machine Learning / B.Clarke, E.Fokoue, H.Zhang .— Dordrecht Heidelberg London New York: Springer, 2009 .— 793 с.
  5. Data Analysis, Machine Learning and Applications / C.Preisach, H.Burkhardt, L.Schmidt-Thieme, R.Decker and etc.; Proceedings of the 31st Annual Conference of the Gesellschaft für Klassifikation, Albert-Ludwigs-Universität Freiburg, March 7–9, 2007 .— Berlin Heidelberg: Springer-Verlag, 2008 .— 703 p.
  6. Engelmann B. The Basel II Risk Parameters / B.Engelmann, R.Rauhmeier; Estimation, Validation, Stress Testing – with Applications to Loan Risk Management .— Heidelberg Dordrecht London New York: Springer, 2011 .— 419 с.
  7. Giudici P. Applied data mining: statistical methods for business and industry / P.Giudici .— West Sussex, England: John Wiley & Sons Ltd, 2003 .— 378 с.
  8. Goodfellow I. Deep Learning / I.Goodfellow, Y.Bengio, A.Courville .— MIT: MIT Press, 2016 .— 800 с.
  9. Hand D. Principles of Data Mining / D.Hand, H.Mannila, P.Smyth .— MIT: The MIT Press, 2001 .— 546 с.
  10. Hastie T. The Elements of Statistical Learning Data Mining, Inference, and Prediction / T.Hastie, R.Tibshirani, J.Friedman; Second Edition .— Springer, 2017 .— 764 p.
  11. Lausen B. Data Science, Learning by Latent Structures, and Knowledge Discovery / B.Lausen, S.Krolak-Schwerdt, M.Böhmer .— Berlin Heidelberg: Springer, 2015 .— 552 с.
  12. McLachlan G.J. The EM algorithm and extensions / G.J.McLachlan, T.Krishnan .— New York: John Wiley & Sons, Inc., 1997 .— 288 с.
  13. Nisbet R. Handbook of statistical analysys and data mining applications / R.Nisbet, J.Elder, G.Miner .— San Diego: Elsevier Inc., 2009 .— 860 с.
  14. Pattern Recognition and Machine Intelligence / Sergei O. Kuznetsov Deba P. Mandal Malay K. Kundu Sankar K. Pal (Eds.); 4th International Conference, PReMI 2011 Moscow, Russia, June 27 – July 1, 2011 Proceedings .— Springer, 2011 .— 495 p.
  15. Sammut C. Encyclopedia of Machine Learning / C.Sammut, G.Webb .— NY: Springer Science+Business Media, 2010 .— 1059 p.
  16. Shalev-Shwartz S. Understanding Machine Learning: From Theory to Algorithms / S.Shalev-Shwartz, S.Ben-David .— Cambridge: Cambridge University Press., 2014 .— 449 с.
  17. Wang J. Encyclopedia of Data Warehousing and Mining / J.Wang; Second Edition .— Hershey: Information Science Reference, 2009 .— 2227 p.
  18. Watanabe M. The EM Algorithm and Related Statistical Models / M.Watanabe, K.Yamaguchi .— NY, Basel: Marcel Dekker, Inc., 2004 .— 214 с.
  19. Королев В.Ю. ЕМ-алгоритм, его модификации и их применение к задаче разделения смесей вероятностных распределений. / В.Ю.Королев; Теоретический обзор .— М.: ИПИ РАН, 2007 .— 94 с.
  20. Прикладная статистика. Классификация и снижение размерности. / С.А.Айвазян, В.М.Бухштабер, И.С.Енюков, Л.Д.Мешалкин .— М.: Финансы и статистика, 1989 .— 607 с.
  21. Шумейко А.А., Сотник С.Л. Интеллектуальный анализ данных (Введение в Data Mining).-Днепропетровск:Белая Е.А., 2012.- 212 с.
  22. Эсбенсен К. Анализ многомерных данных / К.Эсбенсен .— Черноголовка: ИПХФ РАН, 2005 .— 160 с.

Полезная литература. Статьи.

  1. Gupta M.R. Theory and Use of the EM Algorithm / M.R.Gupta, Y.Chen // Foundations and Trends in Signal Processing .— 2010 .— №Vol. 4, No. 3 .— C.223–296.
  2. Using Statistical Histogram Based EM Algorithm for Apple Defect Detection / G.Moradi, M.Shamsi, M.H.Sedaaghi, S.Moradi // American Journal of Signal Processing .— 2012 .— №2(2) .— C.10-14.
  3. Ветров Д.П. Автоматическое определение количества компонент в EM-алгоритме восстановления смеси нормальных распределений⁄ / Д.П.Ветров, Д.Кропотов, А.Осокин // JVMMF .— 2009 .— C.1-15.
  4. Горшенин А.К. Медианные модификации ЕМ- и SEM-алгоритмов для разделения смесей вероятностных распределений и их применение к декомпозиции волатильности финансовых временных рядов / А.К.Горшенин, В.Ю.Королëв, А.Турсунбаев // Информ. и еë примен. .— 2008 .— №2:4 .— C.12–47 .— Режим доступу: http://www.mathnet.ru/links/726241e72d35eaf61a2a860f2afe0989/ia109.pdf
  5. Садыхов Р.Х. Модели Гауссовых смесей для верификации диктора по произвольной речи / Р.Х.Садыхов, В.В.Ракуш // Доклады БГУИР .— 2003 .— №4 .— C.95-103.
  6. Шведов А.С. Робастая регрессия с применением t-распределения и ЕМ-алгоритма / А.С.Шведов // Экономический жкрнал ВШЭ .— 2011 .— №1 .— C.68-87.

Вопрос-ответ.

Задать вопрос: