Виды ансамблей — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Бутстрэп)
(Бутстрэп: Откат к предыдущей версии.)
Строка 21: Строка 21:
  
 
== Бутстрэп ==
 
== Бутстрэп ==
Метод бутстрэпа (англ. ''bootstrap'') — один из первых и самых простых видов ансамблей, который позволяет оценивать многие статистики сложных распределений. Этот алгоритм применяется для классификации многомерных объектов. Рассматриваемый алгоритм помогает добиться качественной классификации в условиях, когда разделить объекты на группы на всем пространстве параметров не представляется возможным.  
+
Метод бутстрэпа (англ. ''bootstrap'') — один из первых и самых простых видов ансамблей, который позволяет оценивать многие статистики сложных распределений и  заключается в следующем. Пусть имеется выборка <tex>X</tex> размера <tex>N</tex>. Равномерно возьмем из выборки <tex>N</tex> объектов с возвращением. Это означает, что мы будем <tex>N</tex> раз равновероятно выбирать произвольный объект выборки, причем каждый раз мы выбираем из всех исходных <tex>N</tex> объектов. Отметим, что из-за возвращения среди них окажутся повторы. <br>Обозначим новую выборку через <tex>X_1</tex>. Повторяя процедуру <tex>M</tex> раз, сгенерируем <tex>M</tex> подвыборок <tex>X_1 ... X_M</tex>. Теперь мы имеем достаточно большое число выборок и можем оценивать различные статистики исходного распределения.
 
 
Пусть имеется выборка <tex>X</tex> размера <tex>N</tex>. Количество классификаторов <tex>M</tex>
 
 
 
Алгоритм классификации в технологии бэггинг на подпространствах:
 
<ul>
 
<li> Равномерно берется из выборки <tex>N</tex> объектов с возвращением. Это означает, что <tex>N</tex> раз выбирается произвольный объект выборки (считается, что каждый объект «достается» с одинаковой вероятностью), причем каждый раз из всех исходных объектов. Повторяется данная процедура <tex>M</tex> раз, получая для каждого классификатора свою выборку.
 
<li> Производится независимое обучения каждого элементарного классификатора (каждого алгоритма, определенного на своем подпространстве).
 
<li> Производится классификация основной выборки на каждом из подпространств (также независимо).
 
<li> Принимается окончательное решение о принадлежности объекта одному из классов. Это можно сделать несколькими разными способами, подробнее описано ниже.
 
</ul>
 
 
 
 
 
Окончательное решение о принадлежности объекта классу может приниматься, например, одним из следующих методов:
 
<ul>
 
<li> Консенсус: если все элементарные классификаторы присвоили объекту одну и ту же метку, то относим объект к выбранному классу.
 
<li> Простое большинство: консенсус достижим очень редко, поэтому чаще всего используют метод простого большинства. Здесь объекту присваивается метка того класса, который определило для него большинство элементарных классификаторов.
 
<li> Взвешивание классификаторов: если классификаторов четное количество, то голосов может получиться поровну, еще возможно, что для эксперты одна из групп параметров важна в большей степени, тогда прибегают к взвешиванию классификаторов. То есть при голосовании голос классификатора умножается на его вес.  
 
</ul>
 
  
 
== Бэггинг ==
 
== Бэггинг ==
 
Рассмотрим, следующий вид ансамбля — бэггинг (англ. ''bootstrap aggregation''). Пусть имеется обучающая выборка <tex>X</tex>. С помощью бутстрэпа сгенерируем из неё выборки <tex>X_1 ... X_M</tex>. Теперь на каждой выборке обучим свой классификатор <tex>a_i(x)</tex>. Итоговый классификатор будет усреднять ответы всех этих алгоритмов <tex>a(x) = \frac{1}{M} \sum\limits_{i = 1}^{M} a_i(x)</tex>.
 
Рассмотрим, следующий вид ансамбля — бэггинг (англ. ''bootstrap aggregation''). Пусть имеется обучающая выборка <tex>X</tex>. С помощью бутстрэпа сгенерируем из неё выборки <tex>X_1 ... X_M</tex>. Теперь на каждой выборке обучим свой классификатор <tex>a_i(x)</tex>. Итоговый классификатор будет усреднять ответы всех этих алгоритмов <tex>a(x) = \frac{1}{M} \sum\limits_{i = 1}^{M} a_i(x)</tex>.

Версия 14:28, 30 января 2019

Ансамбль

Рассмотрим задачу классификации на K классов: [math]Y = \{1, 2, ..., K\}[/math]
Пусть имеется M классификатор ("экспертов"): [math] f_1, f_2, ..., f_M [/math]
[math] f_m : X \leftarrow Y, f_m \in F, m = (1 ... M) [/math]

Тогда давайте посмотрим новый классификатор на основе данных:

Простое голосование: [math] f(x) = \max \limits_{k = 1 .. K} \sum \limits_{i = 1}^M I(f_i(x) = k) [/math]
Взвешенное голосование: [math] f(x) = \max \limits_{k = 1 .. K} \sum \limits_{i = 1}^M \alpha_i I(f_i(x) = k), \sum \limits_i \alpha_i = 1, \alpha_i \gt 0[/math]

Вероятность ошибки

Пусть [math]M[/math] - количество присяжный, [math]p[/math] - вероятность правильного решения одного эксперта, [math]R[/math] - вероятность правильного решения всего жюри, [math]m[/math] - минимальное большинство членов жюри [math] = floor(N / 2) + 1 [/math]

Тогда [math] R = \sum \limits_{i = m}^M C_M^i p ^ i (1 - p) ^ {M - i} [/math]

https://yadi.sk/i/4GVy9FPDJnL-cQ https://yadi.sk/i/Tjwyk4Bkc2Ck3g

Бутстрэп

Метод бутстрэпа (англ. bootstrap) — один из первых и самых простых видов ансамблей, который позволяет оценивать многие статистики сложных распределений и заключается в следующем. Пусть имеется выборка [math]X[/math] размера [math]N[/math]. Равномерно возьмем из выборки [math]N[/math] объектов с возвращением. Это означает, что мы будем [math]N[/math] раз равновероятно выбирать произвольный объект выборки, причем каждый раз мы выбираем из всех исходных [math]N[/math] объектов. Отметим, что из-за возвращения среди них окажутся повторы.
Обозначим новую выборку через [math]X_1[/math]. Повторяя процедуру [math]M[/math] раз, сгенерируем [math]M[/math] подвыборок [math]X_1 ... X_M[/math]. Теперь мы имеем достаточно большое число выборок и можем оценивать различные статистики исходного распределения.

Бэггинг

Рассмотрим, следующий вид ансамбля — бэггинг (англ. bootstrap aggregation). Пусть имеется обучающая выборка [math]X[/math]. С помощью бутстрэпа сгенерируем из неё выборки [math]X_1 ... X_M[/math]. Теперь на каждой выборке обучим свой классификатор [math]a_i(x)[/math]. Итоговый классификатор будет усреднять ответы всех этих алгоритмов [math]a(x) = \frac{1}{M} \sum\limits_{i = 1}^{M} a_i(x)[/math].