diff --git a/docs/math/document.pdf b/docs/math/document.pdf deleted file mode 100644 index a3ca67fe..00000000 Binary files a/docs/math/document.pdf and /dev/null differ diff --git a/docs/math/moments.pdf b/docs/math/moments.pdf new file mode 100644 index 00000000..0285e23f Binary files /dev/null and b/docs/math/moments.pdf differ diff --git a/docs/math/q_function.pdf b/docs/math/q_function.pdf new file mode 100644 index 00000000..a7cc3cfa Binary files /dev/null and b/docs/math/q_function.pdf differ diff --git a/docs/math/source/moments.tex b/docs/math/source/moments.tex index 97fb813c..eecad4ee 100644 --- a/docs/math/source/moments.tex +++ b/docs/math/source/moments.tex @@ -5,13 +5,60 @@ \input{./styles.tex} \input{./commands.tex} -\title{Обоснование стратегии моментов} + +\title{Обоснование стратегии оценки параметров методом моментов} \begin{document} \begin{titlingpage} \maketitle \end{titlingpage} +\section{Контекст: E-шаг и взвешенные данные} + +Работаем с матрицей ответственностей посчитанной на прошлом шаге \cite{mclachlan2000finite}{ (см. равенства 1.19 и 2.23)}: + +\[\gamma_{ij} = \frac{\omega_j^{(k)} \cdot f_j(x_i ~|~ \theta_j^{(k)})}{\sum_{j=1}^k \omega_j^{(k)} \cdot f_j(x_i ~|~ \theta_j^{(k)})}\] + +Здесь $\gamma_{ij}$ означает вероятность того, что $i$-ый элемент соответствует $j$-ой компоненте. +Главной идеей стратегии моментов является сопоставление эмпирических моментов истинным и решение системы уравнений относительно параметров компоненты. + +\section{Взвешенные эмпирические моменты} + +Обновление весов смеси происходит как и в стратегии Q-функции \cite{mclachlan2000finite}{ (см. равенство 2.21)}: + +\[\omega_j^{(k+1)} = \frac{\sum_{i=1}^n \gamma^{(k)}_{ij}}{n}\] + +Положим эмпирический начальный момент $r$-ого порядка для $j$-ой компоненты следующим образом: + +\[\hat{\mu}_{r,j}^{(k)} = \frac{\sum_{i=1}^n \gamma^{(k)}_{ij} \cdot x_i}{\sum_{i=1}^n \gamma^{(k)}_{ij} }\] + +\section{Покомпонентная оптимизация} + +Пусть вектор параметров $j$-ой компоненты имеет $M_j$ неизвестных величин. Теоретический момент $r$-ого порядка для $j$-ой компоненты имеет вид: +\[\mu'_{r, j}(\theta_j) = \int_{-\infty}^\infty x^r f_j(x ~|~ \theta_j)dx\] + +Известно, что эмпирический момент $r$-ого порядка для $j$-ой компоненты при увеличении $n$ стремится к истинным моментам компоненты (я не нашел ни одной статьи с доказательством для смесей). + +Поэтому стратегия оптимизации заключается в решении $k$ независимых систем уравнений (по одной для каждой компоненты). Системы получаются путем приравнивания теоретических моментов к соответствующим взвешенным эмпирическим: +\[\begin{cases} \mu'_{1, j}(\theta_j^{(k+1)}) = \hat{\mu}^{(k)}_{1,j} \\ \mu'_{2, j}(\theta_j^{(k+1)}) = \hat{\mu}^{(k)}_{2,j} \\ \vdots \\ \mu'_{M_j, j}(\theta_j^{(k+1)}) = \hat{\mu}^{(k)}_{M_j,j}\end{cases}\] + +Решая эту систему относительно параметров $\theta_j^{(k+1)}$ получаем новую оценку для следующей итерации алгоритма. + + +\section{Пример: смесь двух нормальных распределений} + +Пусть мы имеем смесь двух нормальных распределений имеющую плотность: + +\[f(x ~|~ \mu_1, \mu_2, \sigma_1, \sigma_2) = \omega_1 \cdot f_1(x~|~ \mu_1, \sigma_1) + (1 - \omega_1) \cdot f_2(x~|~ \mu_2, \sigma_2)\] + +Для нормального распределения параметры связаны с теоретическими начальными моментами следующим образом \href{https://faculty.washington.edu/yenchic/20A_stat512/Lec6_MLE.pdf}{[2]}: + +\[\begin{cases} \mu'_1 = \mu \\ \mu'_2 = \mu^2 + \sigma^2 \end{cases}\] + + +Таким образом, для $i$-ой компоненты ($i = 1,2$) на $k$-ом шаге алгоритма мы последовательно решаем две системы уравнений: +\[\begin{cases} \hat{\mu}^{(k)}_{1, i} = \mu_i \\ \hat{\mu}^{(k)}_{2, i} = \mu_i^2 + \sigma_i^2 \end{cases}\] +\printbibliography \end{document} diff --git a/docs/math/source/packages.tex b/docs/math/source/packages.tex index e40d2249..9f5f14cc 100644 --- a/docs/math/source/packages.tex +++ b/docs/math/source/packages.tex @@ -11,6 +11,7 @@ \setmainlanguage{russian} \setotherlanguage{english} \setmainfont{CMU Serif} +\newfontfamily{\cyrillicfonttt}{CMU Typewriter Text} \usepackage{color} \usepackage{hyperref} diff --git a/docs/math/source/q_function.tex b/docs/math/source/q_function.tex index f6982661..1f8e0e42 100644 --- a/docs/math/source/q_function.tex +++ b/docs/math/source/q_function.tex @@ -22,11 +22,11 @@ \section{Правдоподобие смеси} где $\Psi$ --- вектор параметров смеси $\omega_i, \theta_i$, $f_i$ --- $i$-ая компонента смеси. -Правдоподобием смеси распределений при наблюдаемых данных будет называться функция: +Правдоподобием смеси распределений при наблюдаемых данных будет называться функция \cite{mclachlan2000finite}{ (см. уравнение 2.2)}: \[\mathcal{L}(x ~|~ \Psi) = \prod_{i=1}^n f(x_i ~|~ \Psi) = \prod_{i=1}^n \left(\sum_{j=1}^k \omega_j \cdot f_j(x_i ~|~ \theta_j)\right)\] -Для оценки параметров достаточно максимизировать правдоподобие. В силу монотонности логарифма можно оптимизировать логарифм правдоподобия: +Для оценки параметров достаточно максимизировать правдоподобие. В силу монотонности логарифма можно оптимизировать логарифм правдоподобия \cite{mclachlan2000finite}{ (см. уравнение 2.19)}: \[\ln \mathcal{L}(x ~|~ \Psi) = \sum_{i=1}^n \ln \left(\sum_{j=1}^k \omega_j \cdot f_j(x_i~|~ \theta_j)\right)\] @@ -59,14 +59,14 @@ \section{Правдоподобие полных данных} \[\mathcal{L}_c(x, z ~|~ \Psi) = \prod_{i=1}^n \prod_{j=1}^k (\omega_j \cdot f_j(x_i~|~ \theta_j))^{z_{ij}}\] -Стандартно, работаем с логарифмом правдоподобия: +Стандартно, работаем с логарифмом правдоподобия \cite{mclachlan2000finite}{ (см. уравнение 2.26)}: \[\ln \mathcal{L}_c (x, z ~|~ \Psi) = \sum_{i=1}^n \sum_{j=1}^k z_{ij} \cdot (\ln \omega_j + \ln f_j(x_i ~|~ \theta_j))\] \section{Q-функция} -Однако в обычных условиях мы не знаем $z_{ij}$. Пусть $Z_{ij}$ --- случайные величины соответствующие $z_{ij}$. Тогда введём Q-функцию: +Однако в обычных условиях мы не знаем $z_{ij}$. Пусть $Z_{ij}$ --- случайные величины соответствующие $z_{ij}$. Тогда введём Q-функцию \cite{mclachlan2000finite}{ (см. уравнение 2.27)}: \[Q(\Psi ~|~ \Psi^{(k)}) = \mathbb{E}_{Z | x, \Psi^{(k)}}[\ln \mathcal{L}_c(x, Z ~|~ \Psi)]\] @@ -86,6 +86,8 @@ \section{Q-функция} \[Q(\Psi ~|~ \Psi^{(k)}) = \sum_{i=1}^n \sum_{j=1}^k \gamma_{ij}^{(k)} \cdot (\ln \omega_j + \ln f_j(x_i ~|~ \theta_j))\] +Стоит отметить, что итерация EM алгоритма путём оптимизации Q-функции эквивалентна оптимизации логарифма правдоподобия \cite{Dempster}. + \section{Покомпонентная оптимизация Q-функции} Имеем: @@ -101,5 +103,5 @@ \section{Покомпонентная оптимизация Q-функции} \[\sum_{i=1}^n \sum_{j=1}^k \gamma_{ij}^{(k)} \ln f_j(x_i ~|~ \theta_j) = \sum_{j=1}^k \sum_{i=1}^n \gamma_{ij}^{(k)}\ln f_j(x_i ~|~ \theta_j)\] Очевидно что если рассмотреть для каждого индекса $j$ то получаем функции независящие друг от друга. - +\printbibliography \end{document} diff --git a/docs/math/source/ref.bib b/docs/math/source/ref.bib index fcb45c32..f3ab0566 100644 --- a/docs/math/source/ref.bib +++ b/docs/math/source/ref.bib @@ -1,8 +1,38 @@ -@book{McLachlan2000, - author = {McLachlan, Geoffrey J. and Peel, David}, +@book{mclachlan2000finite, + author = {Geoffrey J. McLachlan and David Peel}, title = {Finite Mixture Models}, - publisher = {Wiley}, - year = {2000}, + series = {Wiley Series in Probability and Statistics}, + publisher = {John Wiley \& Sons, Inc.}, address = {New York}, - isbn = {978-0471006268}, + year = {2000}, + pages = {464}, + isbn = {978-0-471-00626-8}, +} + + +@article{Dempster, + author = {Dempster, A. P. and Laird, N. M. and Rubin, D. B.}, + title = {Maximum Likelihood from Incomplete Data Via the EM Algorithm}, + journal = {Journal of the Royal Statistical Society: Series B + (Methodological)}, + volume = {39}, + number = {1}, + pages = {1-22}, + year = {2018}, + month = {12}, + abstract = {A broadly applicable algorithm for computing maximum likelihood + estimates from incomplete data is presented at various levels of + generality. Theory showing the monotone behaviour of the + likelihood and convergence of the algorithm is derived. Many + examples are sketched, including missing value situations, + applications to grouped, censored or truncated data, finite + mixture models, variance component estimation, hyperparameter + estimation, iteratively reweighted least squares and factor + analysis.}, + issn = {0035-9246}, + doi = {10.1111/j.2517-6161.1977.tb01600.x}, + url = {https://doi.org/10.1111/j.2517-6161.1977.tb01600.x}, + eprint = { + https://academic.oup.com/jrsssb/article-pdf/39/1/1/49117094/jrsssb_39_1_1.pdf + }, }