Оценка параметров смеси моделей

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
Строка 48: Строка 48:
</tex>
</tex>
-
Для определения параметров смеси необходимо решить задачу максимизации правдоподобия $Q(\vec{w}^1, \dots, \vec{w}^l, \vec{\pi}) \rightarrow max$, для этого выпишем функцию Лагранжа:
+
Для определения параметров смеси необходимо решить задачу максимизации правдоподобия <tex>Q(\vec{w}^1, \dots, \vec{w}^l, \vec{\pi}) \rightarrow max</tex>, для этого выпишем функцию Лагранжа:
 +
 
 +
<tex>
 +
L = \sum_{i=1}^{m} \ln \left[\sum_{k=1}^l \pi_k p(y^i | \vec{x}^i, \vec{w}^k)\right] - \lambda \left(\sum_{k=1}^{l} \pi_k - 1\right).
 +
</tex>
 +
 
 +
Приравняем производные по <tex>\pi_k</tex> и <tex>\vec{w}_k</tex> функции Лагранжа к нулю получим, что:
 +
 
 +
<tex>
 +
\pi_k = \frac{1}{m} \sum_{i=1}^{m} g_{ik}.
 +
</tex>
 +
 
 +
и оптимизационная задача для нахождения параметров модели имеет вид:
 +
 
 +
<tex>
 +
\sum_{i=1}^{m} \gamma_{ik} \ln p(y^i | \vec{x}^i, \vec{w}^k) \rightarrow \max_{\vec{w}^k}.
 +
</tex>
 +
 
 +
В общем случае задача оптимизации <tex>Q(\vec{w}^1, \dots, \vec{w}^l, \vec{\pi}) \rightarrow max</tex> трудна, для её решения используют EM-алгоритм, заключающийся в итеративном повторении двух шагов. На <tex>E</tex>-шаге вычисляются ожидаемые значения вектора скрытых переменных <tex>\gamma_{ik}</tex> по текущему приближения параметров моделей <tex>(\vec{w}_1, \dots, \vec{w}_l)</tex>. На <tex>M</tex>-шаге решается задача максимизации правдоподобия <tex>Q</tex> при начальном приближении параметров моделей и значений <tex>\gamma_{ik}</tex>.
 +
 
 +
<tex>E</tex>-шагу соответствует выражение
 +
 +
<tex>
 +
\gamma_{ik} = \frac{\pi_k p(y^i | \vec{x}^i, \vec{w}_k)}{\sum_{s=1}^{l} \pi_s p(y^i | \vec{x}^i, \vec{w}_s)}.
 +
</tex>
 +
 
 +
<tex>M</tex>-шаг заключается в оптимизации параметров распределений.
 +
 
 +
<tex>
 +
Q(\vec{w}^1, \dots, \vec{w}^l | \vec{\pi}) \rightarrow max
 +
</tex>
 +
 
 +
Формула на <tex>M</tex>-шаге может упроститься для случая конкретного распределения. Для упрощения дальнейших рассуждений введем обозначения
 +
 
 +
<tex>
 +
G = (\vec{\gamma}_1, \dots, \vec{\gamma}_l) =
 +
\begin{pmatrix}
 +
\gamma_{11} & \dots & \gamma_{1l} \\
 +
\vdots & \ddots & \vdots \\
 +
\gamma_{m1} & \dots & \gamma_{ml} \\
 +
\end{pmatrix}
 +
</tex>
 +
<tex>
 +
G_k = \textrm{diag}(\vec{\gamma}_k).
 +
</tex>
==Оценка параметров линейных моделей==
==Оценка параметров линейных моделей==

Версия 20:13, 6 декабря 2011

Содержание

Введение

В случае, когда одной модели для описания данных не хватает, используют смеси моделей. Предполагается, что исходная зависимость выражается формулой:


	p(\vec{y} | \vec{x}) = 
	\sum_{k=1}^l p(\vec{w}_k | \vec{x}) p(y | \vec{x}, \vec{w}_k) = 
	\sum_{k=1}^l \pi_k p(y | \vec{x}, \vec{w}_k),

где \pi_k = p(\vec{w}_k | \vec{x}) --- вероятность принадлежности модели k.


	\sum_{k=1}^l \pi_k = 1.

Далее предполагается, что объекты в выборке независимы и плотность совместного распределения преобразуется в произведение плотностей распределения каждого объекта.


	p(\vec{y} | \vec{x}) = 
	\sum_{k=1}^l \pi_k \prod_{i=1}^{n} p(y^i | \vec{x}^i, \vec{w}_k) =
	\prod_{i=1}^{n} \sum_{k=1}^l \pi_k p(y^i | \vec{x}^i, \vec{w}_k).

Введем функцию правдоподобия Q(\vec{w_1}, \dots, \vec{w_l}, \vec{\pi}) как логарифм плотности вероятности данных.


	Q(\vec{w}^1, \dots, \vec{w}^l, \vec{\pi}) = \ln p(\vec{y} | \vec{x}) = 
	\sum_{i=1}^{m} \ln \left[\sum_{k=1}^l \pi_k p(y^i | \vec{x}^i, \vec{w}_k)\right].

Обозначим через p(y, \vec{w}_k | \vec{x}) вероятность того, что объект (\vec{x}, y) был порожден компонентой \vec{w}_k, \gamma_{ik} = p(\vec{w}_k | y^i, \vec{x}^i) --- вероятность того, что i-объект порожден j-компонентой. Каждый объект был порожден какой-либо моделью, по формуле полной вероятности


	\sum_{k=1}^{l} \gamma_{ik} = 1, \quad \forall i.

Для произвольного объекта (\vec{x}, y) вероятность его получения моделью w_k по формуле условной вероятности равна:


	p(y, \vec{w}_k | \vec{x}) = p(\vec{w}_k | \vec{x}) p(y | \vec{x}, \vec{w}_k) \equiv \pi_{k} p(y | \vec{x}, \vec{w}_k).

Подставим это равенство в формулу Байеса для \gamma_{ik}


	\gamma_{ik} = \frac{\pi_k p(y^i | \vec{x}^i, \vec{w}_k)}{\sum_{s=1}^{l} \pi_s p(y^i | \vec{x}^i, \vec{w}_s)}.

Для определения параметров смеси необходимо решить задачу максимизации правдоподобия Q(\vec{w}^1, \dots, \vec{w}^l, \vec{\pi}) \rightarrow max, для этого выпишем функцию Лагранжа:


	L = \sum_{i=1}^{m} \ln \left[\sum_{k=1}^l \pi_k p(y^i | \vec{x}^i, \vec{w}^k)\right] - \lambda \left(\sum_{k=1}^{l} \pi_k - 1\right).

Приравняем производные по \pi_k и \vec{w}_k функции Лагранжа к нулю получим, что:


	\pi_k = \frac{1}{m} \sum_{i=1}^{m} g_{ik}.

и оптимизационная задача для нахождения параметров модели имеет вид:


	\sum_{i=1}^{m} \gamma_{ik} \ln p(y^i | \vec{x}^i, \vec{w}^k) \rightarrow \max_{\vec{w}^k}.

В общем случае задача оптимизации Q(\vec{w}^1, \dots, \vec{w}^l, \vec{\pi}) \rightarrow max трудна, для её решения используют EM-алгоритм, заключающийся в итеративном повторении двух шагов. На E-шаге вычисляются ожидаемые значения вектора скрытых переменных \gamma_{ik} по текущему приближения параметров моделей (\vec{w}_1, \dots, \vec{w}_l). На M-шаге решается задача максимизации правдоподобия Q при начальном приближении параметров моделей и значений \gamma_{ik}.

E-шагу соответствует выражение


	\gamma_{ik} = \frac{\pi_k p(y^i | \vec{x}^i, \vec{w}_k)}{\sum_{s=1}^{l} \pi_s p(y^i | \vec{x}^i, \vec{w}_s)}.

M-шаг заключается в оптимизации параметров распределений.


	Q(\vec{w}^1, \dots, \vec{w}^l | \vec{\pi}) \rightarrow max

Формула на M-шаге может упроститься для случая конкретного распределения. Для упрощения дальнейших рассуждений введем обозначения


	G = (\vec{\gamma}_1, \dots, \vec{\gamma}_l) = 
		\begin{pmatrix}
		\gamma_{11} & \dots & \gamma_{1l} \\
		\vdots & \ddots & \vdots \\ 
		\gamma_{m1} & \dots & \gamma_{ml} \\
		\end{pmatrix}

	G_k = \textrm{diag}(\vec{\gamma}_k).

Оценка параметров линейных моделей

Оценка параметров обобщенно-линейных моделей

Оценка параметров смеси экспертов

Литература


Данная статья является непроверенным учебным заданием.
Студент: Кирилл Павлов
Преподаватель: В.В. Стрижов
Срок: 26 сентября 2011

До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}.

См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе.