Метод релевантных векторов
Материал из MachineLearning.
 (уточнение, викификация, категория)  | 
			|||
| Строка 1: | Строка 1: | ||
| - | + | '''Метод релевантных векторов (RVM, Relevance vector machine)''' — алгоритм [[классификация|классификации]] и восстановления [[регрессия|регрессии]], основанный на [[байесовский вывод второго уровня|байесовском выводе второго уровня]]. В методе используется [[обобщенная линейная модель]] с введенной [[регуляризация|регуляризацией]], которая, в Байесовкой интерпретации, равносильна введению априорных распределений на вектор параметров. Главной особенностью является то, что все параметры регуляризируются независимо.  | |
| - | + | ||
| - | '''Метод релевантных векторов (RVM, Relevance vector machine)''' — алгоритм восстановления [[регрессия|регрессии]], основанный на   | + | |
== Решаемая задача ==  | == Решаемая задача ==  | ||
| Строка 19: | Строка 17: | ||
:Здесь <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>) воспользуемся идеей максимизации [[обоснованность|обоснованности]]:  | 
::<tex>p(\mathbf{t} |X,\mathbf{\alpha} ,\sigma^2) = \int p(\mathbf{t} |X,\mathbf{\omega}, \sigma^2)p(\mathbf{\omega} |\mathbf{\alpha} )d\mathbf{\omega} \to \max_{\mathbf{\alpha}, \sigma^2}</tex>  | ::<tex>p(\mathbf{t} |X,\mathbf{\alpha} ,\sigma^2) = \int p(\mathbf{t} |X,\mathbf{\omega}, \sigma^2)p(\mathbf{\omega} |\mathbf{\alpha} )d\mathbf{\omega} \to \max_{\mathbf{\alpha}, \sigma^2}</tex>  | ||
| Строка 25: | Строка 23: | ||
== Оптимизация обоснованности ==  | == Оптимизация обоснованности ==  | ||
| - | * Заметив, что обоснованность является сверткой двух нормальных распределений, можно представить подынтегральную функцию по формуле Тейлора в точке максимума правдоподобия. Обозначив <tex>Q(\mathbf{\omega}) = p(\mathbf{t} |X,\mathbf{\omega}, \sigma^2)p(\mathbf{\omega} |\mathbf{\alpha} ) \mbox{, } H = \bigtriangledown\bigtriangledown\,\log Q(\mathbf{\omega}_{MP})</tex>, после некоторых преобразований получим:  | + | * Заметив, что обоснованность является сверткой двух [[нормальное распределение|нормальных распределений]], можно представить подынтегральную функцию по формуле Тейлора в точке максимума правдоподобия. Обозначив <tex>Q(\mathbf{\omega}) = p(\mathbf{t} |X,\mathbf{\omega}, \sigma^2)p(\mathbf{\omega} |\mathbf{\alpha} ) \mbox{, } H = \bigtriangledown\bigtriangledown\,\log Q(\mathbf{\omega}_{MP})</tex>, после некоторых преобразований получим:  | 
:: <tex>\int Q( \mathbf{\omega} )d\mathbf{\omega} = \sqrt{\left(2\pi\right)^m}\frac{Q(\mathbf{\omega} _{MP})}{\sqrt{\det(-H)}}</tex>  | :: <tex>\int Q( \mathbf{\omega} )d\mathbf{\omega} = \sqrt{\left(2\pi\right)^m}\frac{Q(\mathbf{\omega} _{MP})}{\sqrt{\det(-H)}}</tex>  | ||
| Строка 64: | Строка 62: | ||
'''Вход:''' Обучающая выборка <tex>\left{  \mathbf{x}_i ,t_i \right}^l_{i=1}</tex>, матрица обобщенных признаков <tex>\Phi = \left{ \phi_j(\mathbf{x}_j) \right}^{n,m}_{i,j=1}</tex><br />  | '''Вход:''' Обучающая выборка <tex>\left{  \mathbf{x}_i ,t_i \right}^l_{i=1}</tex>, матрица обобщенных признаков <tex>\Phi = \left{ \phi_j(\mathbf{x}_j) \right}^{n,m}_{i,j=1}</tex><br />  | ||
'''Выход:''' Параметры решающего правила: <tex>\mathbf{\omega},\,\Sigma,\,\beta</tex>  | '''Выход:''' Параметры решающего правила: <tex>\mathbf{\omega},\,\Sigma,\,\beta</tex>  | ||
| - | ::Инициализация: <tex>\alpha_i\,:=\,1  | + | ::Инициализация: <tex>\alpha_i\,:=\,1;\;\beta\,:=\,1;\;\mathtt{AlphaBound}\,:=\,10^{12};\; \mathtt{WeightBound}\,:=\,10^{-6};\; \mathtt{NumberOfIterations}\,:=\,50;</tex>  | 
| - | ::'''для''' <tex>k=1,\ldots,NumberOfIterations</tex> '''повторять'''  | + | ::'''для''' <tex>k=1,\ldots,\mathtt{NumberOfIterations}</tex> '''повторять'''  | 
:::<tex>A\,:=\,\mbox{diag}(\alpha_1,\ldots,\alpha_m);</tex>  | :::<tex>A\,:=\,\mbox{diag}(\alpha_1,\ldots,\alpha_m);</tex>  | ||
:::<tex>\Sigma\,:=\,\left( \beta\Phi^T\Phi+A \right)^{-1};</tex>  | :::<tex>\Sigma\,:=\,\left( \beta\Phi^T\Phi+A \right)^{-1};</tex>  | ||
:::<tex>\mathbf{\omega}_{MP}\,:=\,\Sigma\beta\Phi^T \mathbf{t};</tex>  | :::<tex>\mathbf{\omega}_{MP}\,:=\,\Sigma\beta\Phi^T \mathbf{t};</tex>  | ||
:::'''для''' <tex>j=1,\ldots,m</tex> '''повторять'''  | :::'''для''' <tex>j=1,\ldots,m</tex> '''повторять'''  | ||
| - | ::::'''если''' <tex>\omega_{MP,j}\, <\, WeightBound</tex> или <tex>\alpha_j\, > \,AlphaBound</tex>, '''то'''  | + | ::::'''если''' <tex>\omega_{MP,j}\, <\, \mathtt{WeightBound}</tex> или <tex>\alpha_j\, > \,\mathtt{AlphaBound}</tex>, '''то'''  | 
| - | :::::<tex>\omega_{MP,j}\,:=\,0  | + | :::::<tex>\omega_{MP,j}\,:=\,0;\,\,\alpha_j\,:=\,+\infty;\,\,\gamma_j\,:=\,0;</tex>  | 
::::'''иначе'''  | ::::'''иначе'''  | ||
| - | :::::<tex>\gamma_j = \alpha_j^{old}\Sigma_{jj}  | + | :::::<tex>\gamma_j\,:=\,\alpha_j^{old}\Sigma_{jj};\,\,\alpha_j\,:=\,\frac{\gamma_j}{\omega^2_{MP,j}</tex><tex>;</tex>  | 
| - | :::<tex>\beta_i = \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>\beta_i\,:=\,\frac{\textstyle{n-\sum_{i=1}^m\gamma_i}}{{\left\parallel \mathbf{t} - \Phi\mathbf{\omega} \right\parallel}^2}{\omega^2_{MP,i}\,;</tex>  | 
==См. также==  | ==См. также==  | ||
| - | [[  | + | *[[Метод опорных векторов]]  | 
| - | [[  | + | *[[Многомерная линейная регрессия]]  | 
| - | [[  | + | *[[Байесовский классификатор]]  | 
| + | *[[EM-алгоритм]]  | ||
| - | + | ==Литература==  | |
| - | [[Категория:  | + | # ''Tipping M.'' [http://citeseer.ist.psu.edu/tipping00relevance.html The relevance vector machine] // Advances in Neural Information Processing Systems, San Mateo, CA. — Morgan Kaufmann, 2000.   | 
| + | |||
| + | {{ЗаданиеВыполнено|Dimaleks|Константин Воронцов|{{дата|7|1|2009}}, а сейчас {{дата}}}}  | ||
| + | |||
| + | [[Категория:Байесовские методы]]  | ||
| + | [[Категория:Линейные классификаторы]]  | ||
| + | [[Категория:Регрессия]]  | ||
Версия 20:10, 9 января 2010
Метод релевантных векторов (RVM, Relevance vector machine) — алгоритм классификации и восстановления регрессии, основанный на байесовском выводе второго уровня. В методе используется обобщенная линейная модель с введенной регуляризацией, которая, в Байесовкой интерпретации, равносильна введению априорных распределений на вектор параметров. Главной особенностью является то, что все параметры регуляризируются независимо.
Содержание | 
Решаемая задача
- Имеется выборка 
, где вектор признаков
, а целевая переменная
. Требуется для нового объекта
предсказать значение целевой переменной
 - Предполагается, что 
, где
, а
 
Подход к решению
- Следуя байесовскому подходу, воспользуемся методом максимума апостериорной плотности:
 
- Для получения разреженного решения введем в качестве априорного распределения на параметры 
нормальное распределение с диагональной матрицей ковариации с различными элементами на диагонали:
 
- Здесь 
. Такое априорное распределение соответствует независимой регуляризации вдоль каждого веса
со своим параметром регуляризации
 
- Для обучения модели (настройки параметров 
) воспользуемся идеей максимизации обоснованности:
 
Оптимизация обоснованности
-  Заметив, что обоснованность является сверткой двух нормальных распределений, можно представить подынтегральную функцию по формуле Тейлора в точке максимума правдоподобия. Обозначив 
, после некоторых преобразований получим:
 
-  Обозначив, для удобства, 
, и "в лоб" раскрывая предыдущее выражение, получим:
 
-  
,
 
-  
 
-  где 
— матрица обобщенных признаков.
 
- Теперь, приравнивая нулю производные обоснованности по 
, получим итерационные формулы для пересчета параметров:
 
- Здесь 
 
- Параметр 
можно интерпретировать как степень, в которой соответствующий вес
определяется данными или регуляризацией. Если
велико, то вес
существенно предопределен априорным распределением,
и
. С другой стороны, для малых значений
значение веса
полностью определяется данными,
.
 
Принятие решения
- Зная значения 
можно вычислить апостериорное распределение целевой переменной:
 
Обсуждение метода
- На практике процесс обучения обычно требует 20-50 итераций. На каждой итерации вычисляется 
(это требует обращения матрицы порядка
), а также пересчитываются значения
(пратктически не требует времени). Как следствие, скорость обучения падает примерно в 20-50 раз по сравнению с линейной регрессией.
 - При использовании ядровых функций в качестве обобщенных признаков необходимо проводить скользящий контроль для различных значений параметров ядра. В этом случае время обучения возрастает еще в несколько раз.
 - На выходе алгоритма получается разреженное решение, т. е. только небольшое подмножество исходной выборки входит в решающее правило.
 - Кроме значения целевой переменной, алгоритм выдает также и дисперсию прогноза.
 
Псевдокод алгоритма RVM
Вход: Обучающая выборка , матрица обобщенных признаков 
Выход: Параметры решающего правила: 
- Инициализация: 
 - для 
повторять
- для 
повторять
- если 
или
, то
 - иначе
 
 - если 
 
 
- Инициализация: 
 
См. также
Литература
- Tipping M. The relevance vector machine // Advances in Neural Information Processing Systems, San Mateo, CA. — Morgan Kaufmann, 2000.
 
|   |  Данная статья была создана в рамках учебного задания.
 
 См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе.  | 

