Оценивание плотности распределения

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

(Различия между версиями)
Перейти к: навигация, поиск
Строка 26: Строка 26:
Построение гистограммы:
Построение гистограммы:
-
1) найдем ограниченную область <tex>A</tex> пространства <tex>X</tex>(пространства объектов), содержащее все векторы из обучающей выборки <tex>X_l</tex>;
+
# найдем ограниченную область <tex>A</tex> пространства <tex>X</tex>(пространства объектов), содержащее все векторы из обучающей выборки <tex>X_l</tex>;
-
 
+
# разобьем <tex>A</tex> на непересекающиеся области <tex>A_1, \cdots, A_p</tex>;
-
2) разобьем <tex>A</tex> на непересекающиеся области <tex>A_1, \cdots, A_p</tex>;
+
# если <tex>k_i</tex> - количество элементов обучающей выборки <tex>X^l</tex>, принадлежащих области <tex>A_i</tex>, то
-
 
+
-
3) если <tex>k_i</tex> - количество элементов обучающей выборки <tex>X^l</tex>, принадлежащих области <tex>A_i</tex>, то
+
<tex>\tilde p(x)=\frac{k}{N\cdot V(A_i)}</tex>, <tex>x\in A_i</tex>,
<tex>\tilde p(x)=\frac{k}{N\cdot V(A_i)}</tex>, <tex>x\in A_i</tex>,
Строка 37: Строка 35:
Оценка <tex>\tilde p(x)</tex> будет состоятельной при некотором выборе <tex>A_i</tex>. К сожалению, нет универсального способа выбора областей <tex>Ai</tex> таких, чтобы оценка была состоятельной.
Оценка <tex>\tilde p(x)</tex> будет состоятельной при некотором выборе <tex>A_i</tex>. К сожалению, нет универсального способа выбора областей <tex>Ai</tex> таких, чтобы оценка была состоятельной.
-
 
===Методы локального оценивания===
===Методы локального оценивания===
Строка 46: Строка 43:
'''Теорема.''' Если функция <tex>p(x)</tex> непрерывна в точке <tex>x_0</tex>, все области <tex>\Omega _N</tex> содержат точку <tex>x_0</tex> и удовлетворяют условиям
'''Теорема.''' Если функция <tex>p(x)</tex> непрерывна в точке <tex>x_0</tex>, все области <tex>\Omega _N</tex> содержат точку <tex>x_0</tex> и удовлетворяют условиям
-
1) <tex>\lim _{N \rightarrow \infty} V(\Omega _N) = 0</tex>;
+
#<tex>\lim _{N \rightarrow \infty} V(\Omega _N) = 0</tex>;
-
 
+
#<tex>\lim _{N \rightarrow \infty} N\cdot V(\Omega _N) = \infty</tex>,
-
2) <tex>\lim _{N \rightarrow \infty} N\cdot V(\Omega _N) = \infty</tex>,
+
то функция <tex>\tilde p(x) = \frac {k_N}{N\cdot V(\Omega _N)}</tex>, <tex>x\in \Omega _N</tex> будет несмещенной, асимптотически эффективной и состоятельной оценкой плотности <tex>p(x)</tex> в точке <tex>x_0</tex>.
то функция <tex>\tilde p(x) = \frac {k_N}{N\cdot V(\Omega _N)}</tex>, <tex>x\in \Omega _N</tex> будет несмещенной, асимптотически эффективной и состоятельной оценкой плотности <tex>p(x)</tex> в точке <tex>x_0</tex>.
Строка 54: Строка 50:
Существуют два основных подхода к выбору областей, содержащих точку <tex>x_0</tex>:
Существуют два основных подхода к выбору областей, содержащих точку <tex>x_0</tex>:
-
1) [[метод парзеновского окна]]. <tex>\Omega _N</tex> предполагаются регулярными областями, размеры которых удовлетворяют условиям теоремы, исходя из этого определяется число <tex>k_N</tex>.
+
#[[метод парзеновского окна]]. <tex>\Omega _N</tex> предполагаются регулярными областями, размеры которых удовлетворяют условиям теоремы, исходя из этого определяется число <tex>k_N</tex>.
-
 
+
#[[метод k ближайших соседей]]. Фиксируется не области <tex>\Omega _N</tex>, а число <tex>k_N</tex>, затем для точки <tex>x_0</tex> определяется регулярная область, содержащая <tex>k_N</tex> ближайших к <tex>x_0</tex> точек.
-
2) [[метод k ближайших соседей]]. Фиксируется не области <tex>\Omega _N</tex>, а число <tex>k_N</tex>, затем для точки <tex>x_0</tex> определяется регулярная область, содержащая <tex>k_N</tex> ближайших к <tex>x_0</tex> точек.
+
-
 
+
===Метод оценивания с помощью аппроксимации функции плотности===
===Метод оценивания с помощью аппроксимации функции плотности===
Строка 97: Строка 91:
<tex>\tilde \Sigma = \frac {1}{l}\sum _{i = 1}^{l}(x_i - \tilde \mu)(x_i - \tilde \mu)^T</tex>.
<tex>\tilde \Sigma = \frac {1}{l}\sum _{i = 1}^{l}(x_i - \tilde \mu)(x_i - \tilde \mu)^T</tex>.
-
 
===[[Метод моментов]]===
===[[Метод моментов]]===
Строка 130: Строка 123:
'''Идея''': искусственно вводится вектор скрытых переменных <tex>G</tex>, обладающий следующими свойствами:
'''Идея''': искусственно вводится вектор скрытых переменных <tex>G</tex>, обладающий следующими свойствами:
-
1) он может быть вычислен, если известны значения вектора параметров <tex>\Theta</tex>;
+
#он может быть вычислен, если известны значения вектора параметров <tex>\Theta</tex>;
-
 
+
#поиск максимума правдоподобия сильно упрощается, если известны значения скрытых переменных.
-
2) поиск максимума правдоподобия сильно упрощается, если известны значения скрытых переменных.
+
EM-алгоритм состоит из итерационного повторения двух шагов. На E-шаге вычисляется ожидаемое значение (expectation) вектора скрытых переменных <tex>G</tex> по текущему приближению вектора параметров <tex>\Theta</tex>. На М-шаге решается задача максимизации правдоподобия (maximization) и находится следующее приближение вектора <tex>\Theta</tex> по текущим значениям векторов <tex>G</tex> и <tex>\Theta</tex>.
EM-алгоритм состоит из итерационного повторения двух шагов. На E-шаге вычисляется ожидаемое значение (expectation) вектора скрытых переменных <tex>G</tex> по текущему приближению вектора параметров <tex>\Theta</tex>. На М-шаге решается задача максимизации правдоподобия (maximization) и находится следующее приближение вектора <tex>\Theta</tex> по текущим значениям векторов <tex>G</tex> и <tex>\Theta</tex>.
Строка 149: Строка 141:
[[EM-алгоритм с последовательным добавлением компонент]] позволяет решить обе эти проблемы. Идея данного метода заключается в следующем. Имея некоторый набор компонент, можно выделить объекты <tex>x_i</tex>, которые хуже всего описываются смесью - это объекты с наименьшими значениями правдоподобия <tex>p(x_i)</tex>. По этим объектам строится ещё одна компонента. Затем она добавляется в смесь и запускаются EM-итерации, чтобы новая компонента и старые "притёрлись друг к другу". Так продолжается до тех пор, пока все объекты не окажутся покрыты компонентами.
[[EM-алгоритм с последовательным добавлением компонент]] позволяет решить обе эти проблемы. Идея данного метода заключается в следующем. Имея некоторый набор компонент, можно выделить объекты <tex>x_i</tex>, которые хуже всего описываются смесью - это объекты с наименьшими значениями правдоподобия <tex>p(x_i)</tex>. По этим объектам строится ещё одна компонента. Затем она добавляется в смесь и запускаются EM-итерации, чтобы новая компонента и старые "притёрлись друг к другу". Так продолжается до тех пор, пока все объекты не окажутся покрыты компонентами.
-
 
=Сравнение различных подходов=
=Сравнение различных подходов=

Версия 21:50, 5 января 2010

Байесовские алгоритмы классификации основываются на знании априорных вероятностей классов и законов распределения вероятностей признаков в каждом классе. На практике нам известна только обучающая выборка объектов. Будем считать элементы выборки независимыми случайными величинами, имеющими одинаковое распределение. Требуется по выборке оценить плотность этого распределения.

Содержание

Постановка задачи

Требуется оценить плотность распределения p(x) по выборке X_l = \{x_i\}_{i=1}^m независимых случайных векторов, распределенных по этому закону p(x).

Методы решения

Существуют три основных подхода к оцениванию плотности распределения: непараметрический, параметрический и восстановление смесей распределений.

Непараметрическое восстановление плотности

Будем считать, что общий вид функции распределения неизвестен, известны только некоторые свойства - например, функция гладкая, непрерывная. Тогда для оценки плотности применяют непараметрические методы оценивания.

Постановка задачи

Построить функцию \tilde {p}(x), которая аппроксимировала бы неизвестную функцию p(x) в некотором смысле.

Гистограммный метод оценивания

Идея: если p(x) - плотность случайного вектора \xi, то P(\Omega) = \int_{\Omega}{p(x)dx} = p(x_0)V(\Omega), где x_0\in\Omega, V(\Omega) - мера области \Omega. Если X_N = \{x_1, \cdots , x_N\} - выборка, k - число значений выборки в \Omega, то

P(\Omega)\approx \frac {k}{N}.

Поэтому p(x_0)V(\Omega)\approx \frac {k}{N} \Rightarrow p(x_0)\approx \frac {k}{N\cdot V(\Omega)).

Значит, p(x) = \frac {k}{N\cdot V(\Omega)) - оценка плотности.

Построение гистограммы:

  1. найдем ограниченную область A пространства X(пространства объектов), содержащее все векторы из обучающей выборки X_l;
  2. разобьем A на непересекающиеся области A_1, \cdots, A_p;
  3. если k_i - количество элементов обучающей выборки X^l, принадлежащих области A_i, то

\tilde p(x)=\frac{k}{N\cdot V(A_i)}, x\in A_i,

где V(A_i) - мера области A_i.

Оценка \tilde p(x) будет состоятельной при некотором выборе A_i. К сожалению, нет универсального способа выбора областей Ai таких, чтобы оценка была состоятельной.

Методы локального оценивания

Идея: оценить плотность p(x) в точке x_0 с помощью элементов обучающей выборки, попавших в некоторую окрестность x_0.

Пусть X_N = \{x_1, ... , x_N\} - последотельность выборок независимых случайных векторов, \Omega _N - последовательность областей, содержащих точку x, k_N - число выборочных значений выборки X_N, попавших в область \Omega _N.

Теорема. Если функция p(x) непрерывна в точке x_0, все области \Omega _N содержат точку x_0 и удовлетворяют условиям

  1. \lim _{N \rightarrow \infty} V(\Omega _N) = 0;
  2. \lim _{N \rightarrow \infty} N\cdot V(\Omega _N) = \infty,

то функция \tilde p(x) = \frac {k_N}{N\cdot V(\Omega _N)}, x\in \Omega _N будет несмещенной, асимптотически эффективной и состоятельной оценкой плотности p(x) в точке x_0.

Существуют два основных подхода к выбору областей, содержащих точку x_0:

  1. метод парзеновского окна. \Omega _N предполагаются регулярными областями, размеры которых удовлетворяют условиям теоремы, исходя из этого определяется число k_N.
  2. метод k ближайших соседей. Фиксируется не области \Omega _N, а число k_N, затем для точки x_0 определяется регулярная область, содержащая k_N ближайших к x_0 точек.

Метод оценивания с помощью аппроксимации функции плотности

Идея: функция p(x) аппроксимируется с помощью системы базисных функций \{\phi _j\}_{j=1}^{\infty} - оценка \tilde p(x) ищется в виде

\tilde p(x) = \sum _{j = 1}^{\infty} c_j\phi _j(x). (1)

Коэффициенты c_j выбираются таким образом, чтобы погрешность аппроксимации была минимальной, т.е.

\parallel p(x) - \tilde p(x)\parallel \rightarrow \min.

Реально вместо бесконечного ряда (1) рассматривается конечная сумма первых l членов.

Как правило, рассматривают ортогональную систему базисных функций, при этом используют многочлены Лежандра, Чебышева, Эрмита, Лагранжа, Лагерра и т.п.

Параметрическое восстановление плотности

Если общий вид функции плотности распределения случайного вектора ξ известен в том смысле, что точный вид функции полностью определяется набором параметров, которые можно оценить по обучающей выборке, то применяют параметрические методы оценивания плотности.

Постановка задачи

Известен общий вид функции плотности распределения p(x) = \phi (x; a) случайного вектора \xi, зависящий от вектора параметров a. Требуется по обучающей выборке X_l = \{x_1, \cdots , x_l} значений вектора \xi получить оценку \tilde a вектора a.

Метод максимального правдоподобия

Метод максимального правдоподобия предложен Р.Фишером в 1912г.

Идея: найти такой вектор параметров \tilde a, что

p(X_l) = \prod _{i = 1}^{l}p(x_i) = \prod _{i = 1}^{l}\phi(x_i; a)\rightarrow \max.

Пример:

Пусть X = R^n, а плотность p(x) имеет вид многомерного нормального распределения:

p(x) = N(x; \mu, \Sigma) = \frac {\exp \{-\frac{1}{2}(x - \mu)^T \Sigma ^{-1}(x - \mu) \} } {sqrt{(2\pi ^n) \det \Sigma } }

Тогда оценки параметров \mu и \Sigma по методу максимального правдоподобия по выборке X_l имеют следующий вид

\tilde \mu = \frac {1}{l}\sum _{i = 1}^{l}x_i;

\tilde \Sigma = \frac {1}{l}\sum _{i = 1}^{l}(x_i - \tilde \mu)(x_i - \tilde \mu)^T.

Метод моментов

Идея: если p(x) = \phi(x|a) - плотность распределения случайного вектора \xi, то моменты m-го порядка равны (считаем, что X = R^n):

E[\xi ^m](a) = \int _{R^n} x^m p(x)dx = \int _{R^n} x^m \phi(x|a)dx.

Оценку \tilde E[\xi^m] можно найти по выборке X_l = \{x_1, \cdots , x_l\}:

\tilde E[\xi^m]=\frac{1}{N}\sum_{j=1}^{N}x_j^m

Оценку \tilde a можно найти из системы уравнений:

E[\xi^m](a) = \tilde E[\xi^m] \Longleftrightarrow \int _{R^n} x^m\phi (x|a)dx = \frac{1}{N}\sum_{j=1}^{N}x_j^m.

Если зависимоть E[\xi^m](a) - непрерывна, то \tilde a - состоятельная оценка.

Восстановление смесей распределений

Если "форма" классов имеет достаточно сложный вид, не "поддающийся" описанию одним распределением, то применяют методы восстановления смесей распрелений - описывают класс несколькими распределениями.

Предположим, что плотность распределения p(x) имеет вид смеси k распределений:

p(x) = \sum _{j = 1}^{k}\omega _j p_j(x), \sum _{j = 1}^{k}\omega _j = 1, \omega _j \ge 0.

где p_j(x) - плотность распределения j-й компоненты смеси, \omega _j - её априорная вероятность. Функции правдоподобия принадлежат параметрическому семейству распределений \phi (x; \theta) и отличаются только значениями параметра, p_j(x) = \phi (x; \theta ).

Постановка задачи

Известна выборка X_m - независимых случайных наблюдений из смеси p(x), известны число k и функция \phi. Требуется найти оценку параметров \Theta = (\omega _1, \cdots ,\omega _k, \theta _1, \cdots , \theta _k).

EM-алгоритм

Идея: искусственно вводится вектор скрытых переменных G, обладающий следующими свойствами:

  1. он может быть вычислен, если известны значения вектора параметров \Theta;
  2. поиск максимума правдоподобия сильно упрощается, если известны значения скрытых переменных.

EM-алгоритм состоит из итерационного повторения двух шагов. На E-шаге вычисляется ожидаемое значение (expectation) вектора скрытых переменных G по текущему приближению вектора параметров \Theta. На М-шаге решается задача максимизации правдоподобия (maximization) и находится следующее приближение вектора \Theta по текущим значениям векторов G и \Theta.

Итерации останавливаются, когда значения функционала Q(\Theta), где

Q(\Theta) = \ln \prod _{i=1}^{m}p(x_i) = \sum _{i = 1}^{m} \ln \sum _{j = 1}^{k} \omega _j p_j(x_i) \rightarrow \max,

или скрытых переменных G перестают существенно изменяться. Удобнее контролировать скрытые переменные, так как они имеют смысл вероятностей и принимают значения из отрезка [0, 1].

"Проблемы", возникающие при реализации EM-алгоритма

  • Проблема выбора начального приближения. Хотя алгоритм EM сходится при достаточно общих предположениях, скорость сходимости может существенно зависеть от "хорошего" выбора начального приближения. Сходимость ухудшается в тех случаях, когда делается попытка поместить несколько компонент в один фактический сгусток распределения, либо разместить компоненту посередине между сгустками.
  • Проблема выбора числа компонент k. До сих пор предполагалось, что число компонент k известно заранее. На практике это, как правило, не так.

EM-алгоритм с последовательным добавлением компонент позволяет решить обе эти проблемы. Идея данного метода заключается в следующем. Имея некоторый набор компонент, можно выделить объекты x_i, которые хуже всего описываются смесью - это объекты с наименьшими значениями правдоподобия p(x_i). По этим объектам строится ещё одна компонента. Затем она добавляется в смесь и запускаются EM-итерации, чтобы новая компонента и старые "притёрлись друг к другу". Так продолжается до тех пор, пока все объекты не окажутся покрыты компонентами.

Сравнение различных подходов

Были рассмотрены три подхода к задаче оценивания плотности распределения: непараметрический, параметрический и разделение смесей. Каждый из них применяется при определенных априорных знаниях о плотности распределения. Параметрические методы восстановления используются, если вид функции распределения известен с точностью до набора параметров, которые оцениваются по обучающей выборке. Непараметрические методы уже не требуют знания функции распределения с точностью до параметров, а только некоторых свойств функции, например, непрерывность или гладкость. Если же форма классов имеет достаточно "сложный" вид, не поддающийся описанию одним распределением, то применяют методы разделения смесей, когда предполагается, что внутри класса плотность распределения представляет собой смесь нескольких распределений.

Несмотря на то, что, казалось бы, все подходы имеют разные области применимости и используют разные методы обучения можно выделить и черты сходства между ними. Непараметрические оценки плотности можно рассматривать как предельный частный случай смеси распределений, в которой каждому обучающему объекту x_i соответствует ровно одна компонента с априорной вероятностью \omega _j = \frac {1}{m} и сферической плотностью с центром в точке x_i. С другой стороны, параметрический подход также является крайним случаем смеси - когда берётся только одна компонента. Таким образом, все три подхода отличаются, в первую очередь, количеством аддитивных компонент в модели распределения: 1 \ll k \ll m. Это приводит к качественным различиям в методах обучения. Требования к форме компонент ослабляются по мере увеличения их числа. Восстановление смеси из произвольного числа компонент k является, по всей видимости, наиболее общим подходом в байесовской классификации.

Литература

http://lepskiy.ucoz.ru/_2_pass.pdf

Машинное обучение (курс лекций, К.В.Воронцов)



Данная статья является непроверенным учебным заданием.
Студент: Участник:ihoho
Преподаватель: Участник:Константин Воронцов
Срок: 31 декабря 2009

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

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


Личные инструменты