м (Qbrick переименовал страницу Алгоритм робастной регрессии в Робастная регрессия без оставления перенаправления) |
Метки: Визуальный редактор apiedit |
||
(не показано 14 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
− | {{викифицировать}} |
||
− | |||
== Идея == |
== Идея == |
||
Использование весов для прецедентов с целью снижения влияния "выбросов" в выборке при настройке модели. |
Использование весов для прецедентов с целью снижения влияния "выбросов" в выборке при настройке модели. |
||
== Условные обозначения == |
== Условные обозначения == |
||
+ | {{Рецензия|Имя = Сергей Иванов|Комментарий = В будущем условные обозначения, принятые во всём курсе, надо перенести в статью по машинному обучению в целом - а то как-то громоздко, оставить здесь только то, что специфично для Робастной регрессии.}}<math>N</math> — число объектов в выборке; |
||
− | <math>N</math> — число объектов в выборке. |
||
− | <math>D</math> — размер признакового пространства |
+ | <math>D</math> — размер признакового пространства; |
− | <math>\{(x_i, y_i)\}_{i = 1}^{N}</math> — выборка, <math>x_i \in \mathbb{R}^D, y_i \in \mathbb{R}</math> |
+ | <math>\{(x_i, y_i)\}_{i = 1}^{N}</math> — выборка, <math>x_i \in \mathbb{R}^D, y_i \in \mathbb{R}</math>; |
− | <math>w_i</math> — вес <math>i</math>-го объекта в выборке |
+ | <math>w_i</math> — вес <math>i</math>-го объекта в выборке, <math>i=\overline{1,N}</math>; |
+ | <math>B</math> — размер вектора параметров модели; |
||
− | <math>\mathfrak{L}(y, x, \beta)</math> — функция потерь <math>\mathfrak{L}:\mathbb{R}\times\mathbb{R}^D\times\mathbb{R}^D\rightarrow\mathbb{R}</math> |
||
− | <math> |
+ | <math>\mathfrak{L}(y, x, \beta)</math> — [[Функция потерь (Loss function)|функция потерь]] <math>\mathfrak{L}:\mathbb{R}\times\mathbb{R}^D\times\mathbb{R}^B\rightarrow\mathbb{R}</math>; |
− | <math> |
+ | <math>f(x, \beta)</math> — [[Регрессия|настраиваемая модель]] <math>f: \mathbb{R}^D\times\mathbb{R}^B\rightarrow\mathbb{R}</math>; |
− | <math> |
+ | <math>R(\beta)</math> — [[регуляризация]] <math>R:\mathbb{R}^B\rightarrow\mathbb{R}, \lambda \geq 0</math>; |
− | <math>\ |
+ | <math>K(\cdot)</math> — убывающая функция <math>K: \mathbb{R}\rightarrow\mathbb{R}</math>; |
+ | <math>\beta, \hat{\beta}</math> — вектора параметров модели <math>f</math>, <math>\beta, \hat{\beta} \in \mathbb{R}^B</math>. |
||
− | == Алгоритм == |
||
− | + | == Алгоритм == |
|
+ | === Описание: === |
||
− | * Инициализация: <math>w_1=\dots=w_N=\tfrac{1}{N}</math> |
+ | * Инициализация весов: <math>w_1=\dots=w_N=\tfrac{1}{N}</math> |
* Повторение, пока не выполнено <u>условие останова</u>: |
* Повторение, пока не выполнено <u>условие останова</u>: |
||
− | ** <math>\hat{\beta}=\arg\underset{\beta}{min}\ |
+ | ** <math>\hat{\beta}=\arg\underset{\beta}{min}\left(\sum_{i=1}^{N}w_i\cdot\mathfrak{L}(y_i, x_i, \beta) + \lambda \cdot R(\beta)\right)</math> |
** Для каждого <math>i=\overline{1,N}</math>: |
** Для каждого <math>i=\overline{1,N}</math>: |
||
*** <math>w_i=K(|f(x_i, \hat{\beta}) - y_i|)</math> |
*** <math>w_i=K(|f(x_i, \hat{\beta}) - y_i|)</math> |
||
Строка 34: | Строка 33: | ||
*** <math>w_i=\tfrac{w_i}{\sum_{j=1}^{N}w_j}</math> |
*** <math>w_i=\tfrac{w_i}{\sum_{j=1}^{N}w_j}</math> |
||
− | ==== |
+ | ==== Условие останова: ==== |
− | * |
+ | * цикл выполнился заданное число раз; |
* выполнилось условие сходимости параметров модели. |
* выполнилось условие сходимости параметров модели. |
||
+ | |||
+ | === Суть процесса: === |
||
+ | На каждой итерации внешнего цикла происходит настройка модели (поиск <math>\hat{\beta}</math>). Перед циклом веса объектов были инициализированы одинаково (равны <math>\tfrac{1}{N}</math>). В двух вложенных во внешний цикл циклах содержится реализация идеи использования весов прецедентов с целью снижения влияния "выбросов" в процессе настройки модели. Чем больше значение <math>|f(x_i, \hat{\beta}) - y_i|</math>, тем больше объект <math>x_i</math> похож на выброс. Из убывания функции <math>K</math> следует, что объекты-выбросы будут иметь вес меньше, чем у других объектов выборки. Поэтому большие значения функции потерь <math>\mathfrak{L}</math> на объектах-выбросах будут скомпенсированы небольшими весами у этих объектов в минимизируемом функционале. В результате, в процессе поиска параметров модели влияние "выбросов" будет уменьшаться при очередном поиске <math>\hat{\beta}</math>. С помощью нормировки веса объектов-выбросов будут приближены к 0. Обычно достаточно повторить внешний цикл заданное число раз, например 8. |
||
== Ссылки == |
== Ссылки == |
Текущая версия от 18:10, 11 января 2017
Идея[]
Использование весов для прецедентов с целью снижения влияния "выбросов" в выборке при настройке модели.
Условные обозначения[]
Сергей Иванов: В будущем условные обозначения, принятые во всём курсе, надо перенести в статью по машинному обучению в целом - а то как-то громоздко, оставить здесь только то, что специфично для Робастной регрессии. |
— число объектов в выборке;
— размер признакового пространства;
— выборка, ;
— вес -го объекта в выборке, ;
— размер вектора параметров модели;
— функция потерь ;
— регуляризация ;
— убывающая функция ;
— вектора параметров модели , .
Алгоритм[]
Описание:[]
- Инициализация весов:
- Повторение, пока не выполнено условие останова:
- Для каждого :
- Для каждого :
Условие останова:[]
- цикл выполнился заданное число раз;
- выполнилось условие сходимости параметров модели.
Суть процесса:[]
На каждой итерации внешнего цикла происходит настройка модели (поиск ). Перед циклом веса объектов были инициализированы одинаково (равны ). В двух вложенных во внешний цикл циклах содержится реализация идеи использования весов прецедентов с целью снижения влияния "выбросов" в процессе настройки модели. Чем больше значение , тем больше объект похож на выброс. Из убывания функции следует, что объекты-выбросы будут иметь вес меньше, чем у других объектов выборки. Поэтому большие значения функции потерь на объектах-выбросах будут скомпенсированы небольшими весами у этих объектов в минимизируемом функционале. В результате, в процессе поиска параметров модели влияние "выбросов" будет уменьшаться при очередном поиске . С помощью нормировки веса объектов-выбросов будут приближены к 0. Обычно достаточно повторить внешний цикл заданное число раз, например 8.