Метод релевантных векторов
Материал из 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 раз по сравнению с линейной регрессией.
 - При использовании ядровых функций в качестве обобщенных признаков необходимо проводить скользящий контроль для различных значений параметров ядра. В этом случае время обучения возрастает еще в несколько раз.
 - На выходе алгоритма получается разреженное решение, т. е. только небольшое подмножество исходной выборки входит в решающее правило.
 - Кроме значения целевой переменной, алгоритм выдает также и дисперсию прогноза.
 

