Оценка параметров смеси моделей
Материал из MachineLearning.
(→Смотри также) |
|||
(22 промежуточные версии не показаны) | |||
Строка 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.], 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 в учебном процессе. |