Метод релевантных векторов
Материал из MachineLearning.
Строка 50: | Строка 50: | ||
== Обсуждение метода == | == Обсуждение метода == | ||
- | [[Image:RVM.jpg|thumb|left| | + | [[Image:RVM.jpg|thumb|left|500px|Пример работы регрессии релевантных векторов для зашумленной функции sinc(''x'')<br />Объекты, отвечающие релевантным базисным функциям, обведены ]] |
*На практике процесс обучения обычно требует 20-50 итераций. На каждой итерации вычисляется <tex>\mathbf{\omega}_{MP}</tex> (это требует обращения матрицы порядка <tex>m\times m</tex>), а также пересчитываются значения <tex>\mathbf{\alpha},\,\beta</tex>(пратктически не требует времени). Как следствие, скорость обучения падает примерно в 20-50 раз по сравнению с [[линейная регрессия (пример)|линейной регрессией]]. | *На практике процесс обучения обычно требует 20-50 итераций. На каждой итерации вычисляется <tex>\mathbf{\omega}_{MP}</tex> (это требует обращения матрицы порядка <tex>m\times m</tex>), а также пересчитываются значения <tex>\mathbf{\alpha},\,\beta</tex>(пратктически не требует времени). Как следствие, скорость обучения падает примерно в 20-50 раз по сравнению с [[линейная регрессия (пример)|линейной регрессией]]. | ||
*При использовании [[Функция ядра|ядровых функций]] в качестве обобщенных признаков необходимо проводить скользящий контроль для различных значений параметров ядра. В этом случае время обучения возрастает еще в несколько раз. | *При использовании [[Функция ядра|ядровых функций]] в качестве обобщенных признаков необходимо проводить скользящий контроль для различных значений параметров ядра. В этом случае время обучения возрастает еще в несколько раз. |
Версия 17:26, 7 января 2010
![]() | Данная статья является непроверенным учебным заданием.
До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |
![]() | Статья в настоящий момент дорабатывается. Dimaleks 20:09, 7 января 2010 (MSK) |
Метод релевантных векторов (RVM, Relevance vector machine) — алгоритм восстановления регрессии, основанный на Байесовском подходе. В методе используется обобщенная линейная модель с введенной регуляризацией, которая, в Байесовкой интерпретации, равносильна введению априорных распределений на вектор параметров. Главной особенностью является то, что все параметры регуляризируются независимо.
Содержание |
Решаемая задача
- Имеется выборка
, где вектор признаков
, а целевая переменная
. Требуется для нового объекта
предсказать значение целевой переменной
- Предполагается, что
, где
, а
Подход к решению
- Следуя байесовскому подходу, воспользуемся методом максимума апостериорной плотности:
- Для получения разреженного решения введем в качестве априорного распределения на параметры
нормальное распределение с диагональной матрицей ковариации с различными элементами на диагонали:
- Здесь
. Такое априорное распределение соответствует независимой регуляризации вдоль каждого веса
со своим параметром регуляризации
- Для обучения модели (настройки параметров
) воспользуемся идеей максимизации обоснованности:
Оптимизация обоснованности
- Заметив, что обоснованность является сверткой двух нормальных распределений, можно представить подынтегральную функцию по формуле Тейлора в точке максимума правдоподобия. Обозначив
после некоторых преобразований получим:
- Обозначив, для удобства,
, и "в лоб" раскрывая предыдущее выражение, получим:
-
,
-
- где
— матрица обобщенных признаков.
- Теперь, приравнивая нулю производные обоснованности по
, получим итерационные формулы для пересчета параметров:
- Здесь
- Параметр
можно интерпретировать как степень, в которой соотвутствующий вес
определяется данными или регуляризацией. Если
велико, то вес
существенно предопределен априорным распределением,
и
. С другой стороны, для малых значений
значение веса
полностью определяется данными,
.
Принятие решения
- Зная значения
можно вычислить апостериорное распределение целевой переменной:
Обсуждение метода
- На практике процесс обучения обычно требует 20-50 итераций. На каждой итерации вычисляется
(это требует обращения матрицы порядка
), а также пересчитываются значения
(пратктически не требует времени). Как следствие, скорость обучения падает примерно в 20-50 раз по сравнению с линейной регрессией.
- При использовании ядровых функций в качестве обобщенных признаков необходимо проводить скользящий контроль для различных значений параметров ядра. В этом случае время обучения возрастает еще в несколько раз.
- На выходе алгоритма получается разреженное решение, т. е. только небольшое подмножество исходной выборки входит в решающее правило.
- Кроме значения целевой переменной, алгоритм выдает также и дисперсию прогноза.
Псевдокод алгоритма RVM
Вход: Обучающая выборка , матрица обобщенных признаков
Выход: Параметры решающего правила:
- Инициализация:
- для
повторять
- для
повторять
- если
или
то
- иначе
- если
- Инициализация: