Нахожу в тесте вопросы, которые в принципе не освещаются в лекции. Нужно гуглить на других ресурсах, чтобы решить тест, или же он всё же должен испытывать знания, полученные в ходе лекции? |
Введение в машинное обучение
1.1.6. Градиентный бустинг деревьев решений
Градиентный бустинг деревьев решений (Gradient Boosting Trees – GBT) [6, 7] – другой
универсальный алгоритм машинного обучения, основанный на использовании ансамбля деревьев
решений. В отличие от случайного леса градиентный бустинг является развитием бустинг-идеи. Алгоритм минимизирует эмпирический риск жадным пошаговым алгоритмом, аналогичным
методу градиентного спуска. Рассмотрим, например, задачу восстановления регрессии
используют. Рассмотрим суммарный штраф на обучающей выборке как функцию от значений
решающего правила f в точках :

Тогда градиент функции L(f) равен

На предварительном этапе алгоритм строит оптимальную константную модель . На m-й
итерации конструируется дерево решений
(небольшой глубины), аппроксимирующее
компоненты вектора антиградиента, вычисленного для текущей модели f. После этого значения в
узлах построенного дерева
перевычисляются, так, чтобы минимизировать суммарную
величину штрафа
Далее осуществляем присваивание
, что и завершает
m-ю итерацию. Здесь v – параметр регуляризации (shrinkage), призванный бороться с возможным
переобучением. Он выбирается из интервала (0,1].
Для решения задачи восстановления регрессии часто используются следующие штрафные функции:
квадратичный штраф

абсолютный штраф

или функция Хьюбера

Заметим, что функция Хьюбера и квадратичный штраф дифференцируемы всюду, тогда как
абсолютный штраф – везде, кроме точек, в которых .
Для задачи классификации с K классами метод остается прежним, только вместо одной функции
f конструируют сразу K функций . В качестве штрафа можно использовать
кросс-энтропию

где

– есть оценка вероятности того, что . Итоговый классификатор определяется как

Более подробное описание алгоритма см. в [6, 7].
Другим популярным методом, использующим идею бустинга, является алгоритм AdaBoost и его модификации [5].
1.2. Кластеризация
В задачах обучения без учителя (unsupervised learning) у объектов не известны выходы, и требуется найти некоторые закономерности в данных. К задачам обучения без учителя относят задачи кластеризации, понижения размерности, визуализации и др. Здесь рассматривается только кластеризация.
Задача кластеризации – это задача разбиения заданного набора объектов на кластеры, т. е. группы близких по своему признаковому описанию объектов. "Похожие" друг на друга объекты должны входить в один кластер, "не похожие" объекты должны попасть в разные кластеры.
Близость ("похожесть") объектов измеряется на основе функции расстояния
1.2.1. Метод центров тяжести
Рассмотрим один из алгоритмов, решающих задачу кластеризации – метод центров тяжестей ( -means). На вход алгоритма поступает набор данных

и натуральное число K – количество кластеров, на которые нужно разбить данные. Алгоритм реализует пошаговую процедуру минимизации

где – центр тяжести объектов, относящихся к k-му кластеру:

При этом не гарантируется нахождение глобального минимума. На предварительном этапе
строится некоторое разбиение входных данных на K групп (например, случайно). Пусть –
номер группы, к которой принадлежит -й объект. В ходе работы алгоритма значения
обновляются. В конце работы алгоритма значения
будут соответствовать разбиению данных
на кластеры. Каждая итерация представляет собой последовательность следующих шагов:
- Вычисляем центр тяжести
объектов в каждой группе.
- Для каждого объекта
находим k, для которого расстояние от
до
т. е.
минимально. Обновляем функцию
положив
.
Итерации завершаются, когда наступает стабилизация значений , либо по достижении
максимального значения числа итераций.
1.2.2. Метод медиан
Метод центров тяжестей работает с явными описаниями объектов
Модификацией этого
метода является метод медиан, или метод срединных точек, ( K–medians, или K–medoids). На
вход этого алгоритма подается число кластеров K и матрица расстояний
, где
. Заметим, что сама функция
может быть не известна.
Алгоритм ничем не отличается от предыдущего, но вместо центра тяжестей, для каждой группы
будем находить медиану, или срединную точку, , где

Каждая итерация представляет собой последовательность следующих шагов:
- Вычисляем медиану
объектов в каждой группе.
- Для каждого объекта
находим
для которого
минимально. Обновляем функцию
положив
.
Как правило, результаты работы алгоритмов центров тяжестей и медиан (если они оба применимы к данным) близки.