Метод релевантных векторов
Материал из MachineLearning.
Строка 1: | Строка 1: | ||
{{Задание|Dimaleks|Константин Воронцов|{{дата|10|1|2009}}, а сейчас {{дата}}}} | {{Задание|Dimaleks|Константин Воронцов|{{дата|10|1|2009}}, а сейчас {{дата}}}} | ||
- | {{UnderConstruction|[[Участник:Dimaleks|Dimaleks]] | + | {{UnderConstruction|[[Участник:Dimaleks|Dimaleks]] 19:06, 7 января 2010 (MSK)}} |
'''Метод релевантных векторов (RVM, Relevance vector machine)''' — алгоритм восстановления [[регрессия|регрессии]], основанный на Байесовском подходе. В методе используется обобщенная линейная модель с введенной регуляризацией, которая, в Байесовкой интерпретации, равносильна введению априорных распределений на вектор параметров. Главной особенностью является то, что все параметры регуляризируются независимо. | '''Метод релевантных векторов (RVM, Relevance vector machine)''' — алгоритм восстановления [[регрессия|регрессии]], основанный на Байесовском подходе. В методе используется обобщенная линейная модель с введенной регуляризацией, которая, в Байесовкой интерпретации, равносильна введению априорных распределений на вектор параметров. Главной особенностью является то, что все параметры регуляризируются независимо. | ||
Строка 19: | Строка 19: | ||
::<tex>p(\mathbf{\omega} |\mathbf{\alpha}) = \mathfrak{N}(0,A^{-1})</tex> | ::<tex>p(\mathbf{\omega} |\mathbf{\alpha}) = \mathfrak{N}(0,A^{-1})</tex> | ||
- | :Здесь <tex>A=\mbox{diag}\,(\alpha_1,\ldots,\alpha_m)</tex>. Такое априорное распределение соответствует независимой регуляризации вдоль каждого веса <tex>\omega_i </tex> со своим параметром регуляризации <tex>\alpha_i \ge 0 </tex> | + | :Здесь <tex>A=\mbox{diag}\,(\alpha_1,\ldots,\alpha_m)</tex>. Такое априорное распределение соответствует независимой регуляризации вдоль каждого веса <tex>\omega_i </tex> со своим параметром регуляризации <tex>\alpha_i \ge 0 </tex> |
*Для обучения модели (настройки параметров <tex>\mathbf{\omega} ,\sigma </tex>) воспользуемся идеей максимизации обоснованности: | *Для обучения модели (настройки параметров <tex>\mathbf{\omega} ,\sigma </tex>) воспользуемся идеей максимизации обоснованности: | ||
Строка 35: | Строка 35: | ||
: где <tex>\Phi</tex> — матрица объектов-признаков. | : где <tex>\Phi</tex> — матрица объектов-признаков. | ||
+ | *Теперь, приравнивая нулю производные обоснованности по <tex>\mathbf{\alpha},\,\beta</tex>, получим итерационные формулы для пересчета параметров: | ||
+ | |||
+ | ::<tex>\alpha_i^{new} = \frac{\gamma_i}{\omega^2_{MP,i}</tex> | ||
+ | ::<tex>\gamma_i = \alpha_i^{old}\Sigma_{ii}</tex> | ||
+ | ::<tex>\beta_i^{new} = \frac{\textstyle{n-\sum_{i=1}^m\gamma_i}}{\left\parallel \mathbf{t} - \Phi\mathbf{\omega} \right\parallel^2}{\omega^2_{MP,i}</tex> | ||
+ | |||
+ | :Здесь <tex>\Sigma = \left( \beta\Phi^T\Phi+A\right)^{-1}\mbox{, }\; \mathbf{\omega}_{MP} = \beta\Sigma\Phi^T\mathbf{t}</tex> | ||
+ | *Параметр <tex>\gamma_i</tex> можно интерпретировать как степень, в которой соотвутствующий вес <tex>\omega_i</tex> определяется данными или регуляризацией. Если <tex>\alpha_i</tex> велико, то вес <tex>\omega_i</tex> существенно предопределен априорным распределением, <tex>\textstyle \Sigma_{ii} \simeq \alpha_i^{-1}</tex> и <tex>\gamma_i \simeq 0</tex>. С другой стороны, для малых значений <tex>\alpha_i</tex> значение веса <tex>\omega_i</tex> полностью определяется данными, <tex>\gamma_i \simeq 0</tex>. | ||
+ | |||
+ | == Принятие решения == | ||
+ | *Зная значения <tex>\mathbf{\alpha}_{MP},\,\sigma^2_{MP}</tex> можно вычислить апостериорное распределение целевой переменной: | ||
+ | |||
+ | ::<tex>p(t_* |\mathbf{x}_*, X) = \int p(t_* |\mathbf{x}_*, \mathbf{\omega}, \sigma^2_{MP})p(\mathbf{\omega} |X, \mathbf{\alpha}_{MP}, \sigma^2_{MP})d\mathbf{\omega} = \mathfrak{N}(t_*|\mathbf{\omega}^T_{MP} \mathbf{\phi}(\mathbf{x}_*),\,\sigma^2_{MP} + \mathbf{\phi}(\mathbf{x}_*)^T \Sigma \mathbf{\phi}(\mathbf{x}_*))</tex> | ||
+ | |||
+ | == Обсуждение метода == | ||
+ | *На практике процесс обучения обычно требует 20-50 итераций. На каждой итерации вычисляется <tex>\mathbf{\omega}_{MP}</tex> (это требует обращения матрицы порядка <tex>m\times m</tex>), а также пересчитываются значения <tex>\mathbf{\alpha},\,\beta</tex>(пратктически не требует времени). Как следствие, скорость обучения падает примерно в 20-50 раз по сравнению с [[линейная регрессия (пример)|линейной регрессией]]. | ||
+ | *При использовании [[Функция ядра|ядровых функций]] в качестве обобщенных признаков необходимо проводить скользящий контроль для различных значений параметров ядра. В этом случае время обучения возрастает еще в несколько раз. | ||
+ | *На выходе алгоритма получается разреженное решение, т. е. только небольшое подмножество исходной выборки входит в решающее правило. | ||
+ | *Кроме значения целевой переменной, алгоритм выдает также и дисперсию прогноза. |
Версия 16:06, 7 января 2010
![]() | Данная статья является непроверенным учебным заданием.
До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |
![]() | Статья в настоящий момент дорабатывается. Dimaleks 19:06, 7 января 2010 (MSK) |
Метод релевантных векторов (RVM, Relevance vector machine) — алгоритм восстановления регрессии, основанный на Байесовском подходе. В методе используется обобщенная линейная модель с введенной регуляризацией, которая, в Байесовкой интерпретации, равносильна введению априорных распределений на вектор параметров. Главной особенностью является то, что все параметры регуляризируются независимо.
Содержание |
Решаемая задача
- Имеется выборка
, где вектор признаков
, а целевая переменная
. Требуется для нового объекта
предсказать значение целевой переменной
- Предполагается, что
, где
, а
Подход к решению
- Следуя байесовскому подходу, воспользуемся методом максимума апостериорной плотности:
- Для получения разреженного решения введем в качестве априорного распределения на параметры
нормальное распределение с диагональной матрицей ковариации с различными элементами на диагонали:
- Здесь
. Такое априорное распределение соответствует независимой регуляризации вдоль каждого веса
со своим параметром регуляризации
- Для обучения модели (настройки параметров
) воспользуемся идеей максимизации обоснованности:
Оптимизация обоснованности
- Заметив, что обоснованность является сверткой двух нормальных распределений, можно представить подынтегральную функцию по формуле Тейлора в точке максимума правдоподобия. Обозначив
после некоторых преобразований получим:
- Обозначив, для удобства,
, и "в лоб" раскрывая предыдущее выражение, получим:
-
,
-
- где
— матрица объектов-признаков.
- Теперь, приравнивая нулю производные обоснованности по
, получим итерационные формулы для пересчета параметров:
- Здесь
- Параметр
можно интерпретировать как степень, в которой соотвутствующий вес
определяется данными или регуляризацией. Если
велико, то вес
существенно предопределен априорным распределением,
и
. С другой стороны, для малых значений
значение веса
полностью определяется данными,
.
Принятие решения
- Зная значения
можно вычислить апостериорное распределение целевой переменной:
Обсуждение метода
- На практике процесс обучения обычно требует 20-50 итераций. На каждой итерации вычисляется
(это требует обращения матрицы порядка
), а также пересчитываются значения
(пратктически не требует времени). Как следствие, скорость обучения падает примерно в 20-50 раз по сравнению с линейной регрессией.
- При использовании ядровых функций в качестве обобщенных признаков необходимо проводить скользящий контроль для различных значений параметров ядра. В этом случае время обучения возрастает еще в несколько раз.
- На выходе алгоритма получается разреженное решение, т. е. только небольшое подмножество исходной выборки входит в решающее правило.
- Кроме значения целевой переменной, алгоритм выдает также и дисперсию прогноза.