Машинное обучение вики
Qbrick (обсуждение | вклад)
м (Qbrick переименовал страницу Алгоритм робастной регрессии в Робастная регрессия без оставления перенаправления)
Qbrick (обсуждение | вклад)
Метки: Визуальный редактор apiedit
 
(не показано 14 промежуточных версий 3 участников)
Строка 1: Строка 1:
{{викифицировать}}
 
 
 
== Идея ==
 
== Идея ==
 
Использование весов для прецедентов с целью снижения влияния "выбросов" в выборке при настройке модели.
 
Использование весов для прецедентов с целью снижения влияния "выбросов" в выборке при настройке модели.
   
 
== Условные обозначения ==
 
== Условные обозначения ==
  +
{{Рецензия|Имя = Сергей Иванов|Комментарий = В будущем условные обозначения, принятые во всём курсе, надо перенести в статью по машинному обучению в целом - а то как-то громоздко, оставить здесь только то, что специфично для Робастной регрессии.}}<math>N</math> &mdash; число объектов в выборке;
<math>N</math> &mdash; число объектов в выборке.
 
   
<math>D</math> &mdash; размер признакового пространства.
+
<math>D</math> &mdash; размер признакового пространства;
   
<math>\{(x_i, y_i)\}_{i = 1}^{N}</math> &mdash; выборка, <math>x_i \in \mathbb{R}^D, y_i \in \mathbb{R}</math>
+
<math>\{(x_i, y_i)\}_{i = 1}^{N}</math> &mdash; выборка, <math>x_i \in \mathbb{R}^D, y_i \in \mathbb{R}</math>;
   
<math>w_i</math> &mdash; вес <math>i</math>-го объекта в выборке
+
<math>w_i</math> &mdash; вес <math>i</math>-го объекта в выборке, <math>i=\overline{1,N}</math>;
   
  +
<math>B</math> &mdash; размер вектора параметров модели;
<math>\mathfrak{L}(y, x, \beta)</math> &mdash; функция потерь <math>\mathfrak{L}:\mathbb{R}\times\mathbb{R}^D\times\mathbb{R}^D\rightarrow\mathbb{R}</math>
 
   
<math>f(x, \beta)</math> &mdash; настраиваемая модель <math>f: \mathbb{R}^D\times\mathbb{R}^D\rightarrow\mathbb{R}</math>
+
<math>\mathfrak{L}(y, x, \beta)</math> &mdash; [[Функция потерь (Loss function)|функция потерь]] <math>\mathfrak{L}:\mathbb{R}\times\mathbb{R}^D\times\mathbb{R}^B\rightarrow\mathbb{R}</math>;
   
<math>R(\beta)</math> &mdash; регуляризация <math>R:\mathbb{R}^D\rightarrow\mathbb{R}, \lambda \geq 0</math>
+
<math>f(x, \beta)</math> &mdash; [[Регрессия|настраиваемая модель]] <math>f: \mathbb{R}^D\times\mathbb{R}^B\rightarrow\mathbb{R}</math>;
   
<math>K(\cdot)</math> &mdash; невозрастающая неотрицательная функция <math>K: \mathbb{R}\rightarrow\mathbb{R}</math>
+
<math>R(\beta)</math> &mdash; [[регуляризация]] <math>R:\mathbb{R}^B\rightarrow\mathbb{R}, \lambda \geq 0</math>;
   
<math>\beta, \hat{\beta}</math> &mdash; вектора параметров модели <math>f</math>.
+
<math>K(\cdot)</math> &mdash; убывающая функция <math>K: \mathbb{R}\rightarrow\mathbb{R}</math>;
   
  +
<math>\beta, \hat{\beta}</math> &mdash; вектора параметров модели <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}\{\sum_{i=1}^{N}w_i\cdot\mathfrak{L}(y_i, x_i, \beta) + \lambda \cdot R(\beta)\}</math>
+
** <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.

Ссылки[]