Оценка параметров смеси моделей
Материал из MachineLearning.
 (→Смотри также)  | 
			|||
| (20 промежуточных версий не показаны.) | |||
| Строка 1: | Строка 1: | ||
| - | ==  | + | {{TOCright}}  | 
| + | [[Медиа:pavlov2011linearmodels.pdf | Эта статья в формате PDF]]  | ||
| + | ==Введение==  | ||
| + | В случае, когда одной модели для описания данных не хватает, используют смеси моделей. Предполагается, что исходная зависимость выражается формулой:  | ||
| - | ==Оценка параметров обобщенно-линейных моделей==  | + | <tex>  | 
| + | 	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),  | ||
| + | </tex>  | ||
| + | |||
| + | где <tex>\pi_k = p(\vec{w}_k | \vec{x})</tex> --- вероятность принадлежности модели <tex>k</tex>.  | ||
| + | |||
| + | <tex>  | ||
| + | 	\sum_{k=1}^l \pi_k = 1.  | ||
| + | </tex>  | ||
| + | |||
| + | Далее предполагается, что объекты в выборке независимы и плотность совместного распределения преобразуется в произведение плотностей распределения каждого объекта.  | ||
| + | |||
| + | <tex>  | ||
| + | 	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).  | ||
| + | </tex>  | ||
| + | |||
| + | Введем функцию правдоподобия <tex>Q(\vec{w_1}, \dots, \vec{w_l}, \vec{\pi})</tex> как логарифм плотности вероятности данных.  | ||
| + | |||
| + | <tex>  | ||
| + | 	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].  | ||
| + | </tex>  | ||
| + | |||
| + | Обозначим через <tex>p(y, \vec{w}_k | \vec{x})</tex> вероятность того, что объект <tex>(\vec{x}, y)</tex> был порожден компонентой <tex>\vec{w}_k</tex>, <tex>\gamma_{ik} = p(\vec{w}_k | y^i, \vec{x}^i)</tex> --- вероятность того, что <tex>i</tex>-объект порожден <tex>j</tex>-компонентой. Каждый объект был порожден какой-либо моделью, по формуле полной вероятности  | ||
| + | |||
| + | <tex>  | ||
| + | 	\sum_{k=1}^{l} \gamma_{ik} = 1, \quad \forall i.  | ||
| + | </tex>  | ||
| + | |||
| + | Для произвольного объекта <tex>(\vec{x}, y)</tex> вероятность его получения моделью <tex>w_k</tex> по формуле условной вероятности равна:  | ||
| + | |||
| + | <tex>  | ||
| + | 	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).  | ||
| + | </tex>  | ||
| + | |||
| + | Подставим это равенство в формулу Байеса для <tex>\gamma_{ik}</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>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 алгоритм (пример)|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>  | ||
| + | |||
| + | ==Оценка параметров смеси линейных моделей==  | ||
| + | Линейная модель имеет вид:  | ||
| + | |||
| + | <tex>  | ||
| + | 	\vec{y} = X\vec{w} + \vec{\eps},   | ||
| + | </tex>  | ||
| + | |||
| + | где <tex>\vec{\eps} \sim \mathcal{N}(\vec{0}, B)</tex> --- вектор нормально распределенных ошибок. В данной постановке вектор <tex>\vec{y}</tex> является нормальным с математическим ожиданием  | ||
| + | |||
| + | <tex>\mathsf{E}(y | \vec{x}) = \mu = \vec{x}^{T}\vec{w}</tex>, и корреляционной матрицей <tex>B</tex>.  | ||
| + | |||
| + | <tex>  | ||
| + | 	p(\vec{y} | X, \vec{w}) = \frac{1}{(2\pi)^{\frac{n}{2}} \sqrt{|\textrm{det}B|}}  | ||
| + | 		\exp\left(-\frac{1}{2}  (\vec{y} - X\vec{w})^{T} B (\vec{y} - X\vec{w}) \right).    | ||
| + | </tex>  | ||
| + | |||
| + | Шаг <tex>M</tex> алгоритма примет следующий вид:  | ||
| + | |||
| + | <tex>  | ||
| + | 	G_k \ln\left[ \frac{1}{(2\pi)^{\frac{n}{2}} \sqrt{|\textrm{det}B|}}\right]  | ||
| + | 		-\frac{1}{2} \left(G_k (\vec{y} - X\vec{w})^{T} B (\vec{y} - X\vec{w}) \right) \rightarrow \max_{\vec{w}}   | ||
| + | </tex>  | ||
| + | |||
| + | Первое слагаемое не зависит от <tex>\vec{w}_k</tex>, его можно не учитывать. Преобразование второго слагаемого дает  | ||
| + | |||
| + | <tex>  | ||
| + | 	\frac{1}{2} \vec{w}^{T} X^{T} G_k B X \vec{w} - \vec{w}^{T} X^{T} G_k B \vec{y} \rightarrow \min_{\vec{w}}   | ||
| + | </tex>  | ||
| + | |||
| + | Задача квадратична по <tex>\vec{w}</tex>, решение находится аналитически  | ||
| + | |||
| + | <tex>  | ||
| + | 	\vec{w}^* = \left( X^{T} G_k B X \right)^{-1} G_k B X \vec{y}.   | ||
| + | </tex>  | ||
| + | |||
| + | ====Пример смеси линейных моделей====  | ||
| + | |||
| + | [[Изображение:linear_convergence.png]]  | ||
| + | |||
| + | ==Оценка параметров смеси обобщенно-линейных моделей==  | ||
| + | В случае обобщенных линейный моделей функция плотности распределения имеет вид  | ||
| + | |||
| + | <tex>  | ||
| + | p(\vec{y} | \vec{\theta}) = \exp \left( \vec{T}(\vec{y})^{T} \vec{\eta}(\vec{\theta}) - b(\vec{\theta}) + c(\vec{y}) \right).  | ||
| + | </tex>  | ||
| + | |||
| + | <tex>M</tex>-шаг алгоритма сводится к максимизации  | ||
| + | |||
| + | <tex>  | ||
| + | G_k \vec{T}(\vec{y})^{T} \vec{\eta}(\vec{\theta}) - G_k b(\vec{\theta}) + G_k c(\vec{y}) \rightarrow \max_{\vec{\theta}}.   | ||
| + | </tex>  | ||
| + | |||
| + | Последнее слагаемое не зависит от параметров модели <tex>\theta</tex>, что позволяет упростить функционал  | ||
| + | |||
| + | <tex>  | ||
| + | G_k \vec{T}(\vec{y})^{T} \vec{\eta}(\vec{\theta}) - G_k b(\vec{\theta}) \rightarrow \max_{\vec{\theta}}.  | ||
| + | </tex>  | ||
| + | |||
| + | Дальнейшая минимизация зависит от конкретного семейства из обобщенного класса, вида функции <tex>b(\theta)</tex>.  | ||
| + | |||
| + | |||
| + | ====Пример смеси логистических моделей====  | ||
| + | [[Изображение:logit_convergence.png]]  | ||
| + | |||
| + | На изображениях классификация одной и двумя моделями. Розовым показына плотность распределения зависимой переменной.  | ||
==Оценка параметров смеси экспертов==  | ==Оценка параметров смеси экспертов==  | ||
| + | Понятие смеси экспертов было введено Якобсом (Jacobs) в 1991г. Предполагается, что параметры смеси <tex> \pi</tex>  являются функциями от объекта, т.е.  | ||
| + | |||
| + | <tex>   | ||
| + | 	p(\vec{y} | \vec{x}) =   | ||
| + | 	\sum_{k=1}^l \pi_k(\vec{x}) p(y | \vec{x}, \vec{w}_k).  | ||
| + | </tex>  | ||
| + | |||
| + | Компоненты <tex> \pi_k(\vec{x})</tex>  называются функциями селективности, а <tex> p(y | \vec{x}, \vec{w}_k)</tex>  экспертами. Функция селективности отвечает за компетентность эксперта в определенной области.  | ||
| + | |||
| + | Оказывается (Jordan and Jacobs, 1994), что наличие функции компетенции допускает решение задачи с помощью <tex>EM</tex>-алгоритма, причем, <tex>E</tex>-шаг остается прежним:  | ||
| + | |||
| + | <tex>  | ||
| + | 	\gamma_{ik} = \frac{\pi_k(\vec{x}^i) p(y^i | \vec{x}^i, \vec{w}_k)}{\sum_{s=1}^{l} \pi_s(\vec{x}^i) p(y^i | \vec{x}^i, \vec{w}_s)}.  | ||
| + | </tex>  | ||
| + | |||
| + | <tex>M</tex>-шаг принимает вид:  | ||
| + | |||
| + | <tex>  | ||
| + | 	\pi_k = \frac{1}{m} \sum_{i=1}^{m} g_{ik}.  | ||
| + | </tex>  | ||
| + | |||
| + | <tex>  | ||
| + | 	\sum_{i=1}^{m} \gamma_{ik}(\vec{x}^i) \ln p(y^i | \vec{x}^i, \vec{w}^k) \rightarrow \max_{\vec{w}^k}.  | ||
| + | </tex>  | ||
| + | |||
| + | Последенее уравнение можно решить с помощью метода итеративно перевзвешенных наименьших квадратов ([[Метод_наименьших_квадратов_с_итеративным_пересчётом_весов | IRLS]]).  | ||
== Литература ==  | == Литература ==  | ||
| - | * [http://ya.ru Bishop, C. Pattern Recognition And Machine Learning. Springer. 2006.]  | + | * [http://ya.ru Bishop, C. Pattern Recognition And Machine Learning. Springer. 2006.], p 654 - 676  | 
| - | {{  | + | * [http://ya.ru Nelder, John; Wedderburn, Robert (1972). "Generalized Linear Models". Journal of the Royal Statistical Society. Series A (General) (Blackwell Publishing)]  | 
| + | * [http://www.machinelearning.ru/wiki/images/6/6d/Voron-ML-1.pdf Воронцов~К.~В. "Курс лекций по машинному обучению".] стр. 32 - 37  | ||
| + | |||
| + | == Смотри также ==  | ||
| + | * [[EM алгоритм (пример)|EM алгоритм]]  | ||
| + | * [[ЕМ-алгоритм, его модификации и обобщения]]  | ||
| + | |||
| + | {{ЗаданиеВыполнено|Кирилл Павлов|В.В. Стрижов|26 сентября 2011|pavlov99|Strijov}}  | ||
[[Категория:Практика и вычислительные эксперименты]]  | [[Категория:Практика и вычислительные эксперименты]]  | ||
Текущая версия
 
  | 
Введение
В случае, когда одной модели для описания данных не хватает, используют смеси моделей. Предполагается, что исходная зависимость выражается формулой:
где  --- вероятность принадлежности модели 
.
Далее предполагается, что объекты в выборке независимы и плотность совместного распределения преобразуется в произведение плотностей распределения каждого объекта.
Введем функцию правдоподобия  как логарифм плотности вероятности данных.
Обозначим через  вероятность того, что объект 
 был порожден компонентой 
, 
 --- вероятность того, что 
-объект порожден 
-компонентой. Каждый объект был порожден какой-либо моделью, по формуле полной вероятности
Для произвольного объекта  вероятность его получения моделью 
 по формуле условной вероятности равна:
Подставим это равенство в формулу Байеса для 
Для определения параметров смеси необходимо решить задачу максимизации правдоподобия , для этого выпишем функцию Лагранжа:
Приравняем производные по  и 
 функции Лагранжа к нулю получим, что:
и оптимизационная задача для нахождения параметров модели имеет вид:
В общем случае задача оптимизации  трудна, для её решения используют EM алгоритм, заключающийся в итеративном повторении двух шагов. На 
-шаге вычисляются ожидаемые значения вектора скрытых переменных 
 по текущему приближения параметров моделей 
. На 
-шаге решается задача максимизации правдоподобия 
 при начальном приближении параметров моделей и значений 
.
-шагу соответствует выражение
-шаг заключается в оптимизации параметров распределений.
Формула на -шаге может упроститься для случая конкретного распределения. Для упрощения дальнейших рассуждений введем обозначения
Оценка параметров смеси линейных моделей
Линейная модель имеет вид:
где  --- вектор нормально распределенных ошибок. В данной постановке вектор 
 является нормальным с математическим ожиданием
, и корреляционной матрицей 
.
Шаг  алгоритма примет следующий вид:
Первое слагаемое не зависит от , его можно не учитывать. Преобразование второго слагаемого дает
Задача квадратична по , решение находится аналитически
Пример смеси линейных моделей
Оценка параметров смеси обобщенно-линейных моделей
В случае обобщенных линейный моделей функция плотности распределения имеет вид
-шаг алгоритма сводится к максимизации
Последнее слагаемое не зависит от параметров модели , что позволяет упростить функционал
Дальнейшая минимизация зависит от конкретного семейства из обобщенного класса, вида функции .
Пример смеси логистических моделей
На изображениях классификация одной и двумя моделями. Розовым показына плотность распределения зависимой переменной.
Оценка параметров смеси экспертов
Понятие смеси экспертов было введено Якобсом (Jacobs) в 1991г. Предполагается, что параметры смеси   являются функциями от объекта, т.е.
Компоненты   называются функциями селективности, а 
  экспертами. Функция селективности отвечает за компетентность эксперта в определенной области.
Оказывается (Jordan and Jacobs, 1994), что наличие функции компетенции допускает решение задачи с помощью -алгоритма, причем, 
-шаг остается прежним:
-шаг принимает вид:
Последенее уравнение можно решить с помощью метода итеративно перевзвешенных наименьших квадратов ( IRLS).
Литература
- Bishop, C. Pattern Recognition And Machine Learning. Springer. 2006., p 654 - 676
 - Nelder, John; Wedderburn, Robert (1972). "Generalized Linear Models". Journal of the Royal Statistical Society. Series A (General) (Blackwell Publishing)
 - Воронцов~К.~В. "Курс лекций по машинному обучению". стр. 32 - 37
 
Смотри также
|   |  Данная статья была создана в рамках учебного задания.
 
 См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе.  | 



