Академический Документы
Профессиональный Документы
Культура Документы
x(2)
x(5)
x(3)
? ?
x(1)
x(6)
x(4)
Рис. 12.1: Метод ближайшего соседа Рис. 12.2: Метод ближайших соседей (k = 6)
Для повышения надежности можно принимать решение по более чем одной точке. В этом и состоит ме-
тод ближайших соседей: объект относится к тому классу, к которому принадлежит большинство из его k
ближайших соседей. Еще больше повысить надежность можно правильным образом определив веса в мето-
де ближайших соседей. Веса могут зависеть как от номера соседа w(x(i) ) = w(i), так и от расстояния до
него w(x(i) ) = w(d(x, x(i) )).
Во взвешенном kN N объект x относится к тому классу, взвешенная сумма по объектам из множества k
ближайших соседей для которого больше:
k
X
a(x) = argmaxy∈Y
x(i) = y w(x(i) ).
i=1
1 X
µy = xi .
`y i:y =y
i
1
?
После этого центроидный классификатор относит каждый новый объект x к тому классу, центр которого
находится ближе всего в пространстве признаков к признаковому описанию нового объекта:
Следует обратить внимание на выбор весовой функции, поскольку это сильно влияет на качество решения.
Например, если в качестве веса в задаче регрессии использовать величину, обратную к расстоянию, то
в результате получится переобученная модель. Это связано с тем, что, если объект уже есть в обучающей
выборке, то он будет входить в сумму практически с бесконечным весом и алгоритм вернет для него то же
значение, что и было в обучающей выборке.
2
12.2. Настройка параметров в kNN
Данный раздел посвящен вопросу подбора параметров в методе ближайших соседей так, чтобы качество
работы алгоритма было наилучшим. К числу параметров относятся: количество соседей, весовые функции,
метрика и так далее.
Проверять качество работы алгоритма с выбранными параметрами лучше не на обучающей выборке, а на
отложенной. Также можно использовать кросс-валидацию.
Рис. 12.5: Зависимость ошибки классификации от количества соседей в kNN для объектов из тестовой и
обучающей выборок.
Если оценивать качество работы алгоритма по объектам из обучающей выборки, то, как это показывает
график, оптимальное значение k будет равно 1. При этом значении k алгоритм совсем не ошибается на объ-
ектах обучающей выборки. Действительно, при классификации объекта из обучающей выборки, ближайшим
к нему объектом из обучающей выборки будет он сам. Именно поэтому качество алгоритма нужно всегда
проверять на тестовой выборке.
В общем зависимость от k следующая: сначала качество на контроле становится все лучше с ростом k, а
затем качество начинает ухудшаться.
Выбирать следует такое значение k, при котором достигается наилучшая оценка качества работы алго-
ритма на контроле.
3
12.2.2. Веса соседей как функция от номера
Если используется взвешенный kNN, то необходимо задать весовую функцию. Такая функция не должна
возрастать с ростом номера объекта. Простейший вариант — это w(x) = 1. При выборе весовой функции
всегда следует сначала пробовать его перед тем, как рассматривать более сложные варианты.
Если выбор w(x) = 1 не дает желаемых результатов, можно попробовать определить веса как функцию
от номера соседа:
• w(i) = q i , 0<q<1
• w(i) = 1i , w(i) = i+a ,
1
w(i) = 1
(i+a)b
• w(i) = 1 − i−1
k (не очень удачный вариант).
Функция, которая линейно зависит от номера соседа, не является хорошим выбором. Например, в случае
k = 4, если 1 и 4 соседи некоторого объекта x принадлежат к первому классу, а 2 и 3 — ко второму, алгоритм
не сможет классифицировать этот объект. Это, конечно, не значит, что эта функция вовсе не применима на
практике, но эту её особенность следует учитывать.
• w(d) = q d , 0<q<1
Существует более общий подход к придумыванию функции весов, зависящих от расстояний, который основан
на использовании так называемых ядер. Но этот подход сейчас не будет обсуждаться.
• Манхэттенская метрика:
n
X
ρ(x, y) = |xi − yi |
i=1
n
! q1
X
q
ρ(x, y) = |xi − yi | .
i=1
4
Наглядно демонстрируют структуру метрики изображения единичных окружностей в ней.
q=3 q=∞
q
=
2
q=1
Рис. 12.7: Изображения единичной окружности, то есть множества точек, удаленных на расстояние 1 от
начала координат, в различных метриках.
Причем косинусная мера — не расстояние, а функция близости, то есть такая функция, которая тем больше,
чем больше объекты друг на друга похожи.
В рекомендательных системах используется коэффициент корреляции r. Он также может быть использо-
ван как функция близости и похож на косинусную меру:
Pn
((xi − x̄)(yi − ȳ))
r = pPn i=1 pPn
2 2
i=1 (xi − x̄) i=1 (yi − ȳ)
Конечно, существует и много других функций близости, которые в разной степени учитывают разные раз-
личия между векторами:
• Скалярное произведение:
P
xi yi
P
• Коэффициент Дайса: P2 2 xP i yi
xi + yi2
P
xi yi
• Косинусная мера: qP q
x2i
P 2
yi
P
• Коэффициент Жаккара: P x2i yiP
x2i +
P
yi − xi yi
5
12.4.1. Небольшие отличия в большом числе координат
Пусть даны три точки, радиус-векторы которых:
x1 = (a1 , a2 , ..., aN ),
x2 = (a1 + ε, a2 + ε, ..., aN + ε),
x3 = (a1 , a2 + ∆, ..., aN ).
Всего в этом пространстве 2N различных векторов, а значит размер обучающей выборки, необходимый, чтобы
покрыть все возможные комбинации эти признаков будет также порядка 2N .
Другими словами, количество необходимых данных с ростом размерности пространства экспоненциально
увеличивается.
У данного факта есть красивая геометрическая иллюстрация. Пусть в N -мерном пространстве дан куб с
ребром 1 и меньший куб, длина ребер которого равна ` < 1. Меньший куб вложен в больший таким образом,
что они имеют общую вершину и их грани попарно параллельны. Доля объема меньшего куба от объема
большего выражается формулой:
v
= `N → 0, N → ∞,
V
где v и V — объемы меньшего и большего кубов соответственно.
Пусть ` = 12 . Если ставится задача описать положение какой-либо точки из большого куба с точностью до
размеров маленького, то при увеличении размерности пространства и сохранении линейных размеров кубов
количество требуемых для этого данных растет экспоненциально.
6
Пила Улица Вязов Ванильное небо 1+1
Маша 5 4 1 2
Юля 5 2
Вова 3 5
Коля 3 4 5
Петя 4
Ваня 5 3 3
указываются усредненные с учетом весовых коэффициентов оценки фильмов этих наиболее похожих на него
пользователей.
Описанный выше прогноз называется user-based. Аналогично можно рассмотреть item-based подход, где
сначала выбирается интересующий фильм, ищутся похожие на него фильмы и так далее. Далее для опреде-
ленности речь будет идти только про user-based подход.
где r̄i = N1i a ri,a — средние оценки i-го пользователя, Ni — количество просмотренных им фильмов. Сум-
P
мирование ведется только по тем фильмам, которые смотрели оба пользователя.
Если количество пользователей в системе велико, достаточно производить суммирование только по k бли-
жайших соседей к пользователю, для которого дается оценка:
P
j∈kN N (i) (rj,a − r̄j )wi,j
r̂i,a = r̄i + P .
j∈kN N (i) |wi,j |
a(x) = sign(hw, xi − w0 ),
L(Mi ) = max{0, 1 − Mi } = (1 − Mi )+
7
и L2 -регуляризатор:
`
X
L(Mi ) + γkwk2 → min .
| {z } | {z } w
i=1
Функция потерь Квадратичный регуляризатор
Но на самом деле метод был придуман не из общего вида линейных классификаторов и не из обобщения с
функциями потерь и регуляризаторами. Он был придуман из других довольно простых соображений.
При этом гиперплоскость может быть проведена не единственным образом и возникает задача отыскания
оптимальной разделяющей гиперплоскости.
Пусть разделяющая гиперплоскость существует и задается уравнением hw, xi − w0 = 0. Можно выбрать
две параллельные ей и расположенные по разные стороны от нее гиперплоскости так, чтобы между ними
не было объектов выборки, а расстояние между ними было максимальным. В таком случае каждая из двух
получившихся граничных плоскостей будет «приставлена» к соотвествующему классу.
x+
x−
Поскольку уравнение плоскости можно умножать на ненулевое число без изменения соответствующей
плоскости, всегда можно выбрать (отнормировать) w и w0 таким образом, чтобы уравнения граничных плос-
костей имели вид:
hw, xi − w0 = ±1.
8
Это условие нормировки можно также сформулировать следующим образом:
min yi (hw, xi − w0 ) = 1.
i=1,...,`
На каждой из двух граничных плоскостей будет лежать как минимиум один объект из соответствующого
ей класса (иначе расстояние между плоскостями можно увеличить). Пусть x+ и x− — два таких вектора,
лежащие на построенных плоскостях и принадлежащие соответствующим классам.
Тогда для ширины разделяющей полосы будет справедливо выражение (как это следует из аналитической
геометрии):
w 2
(x+ − x− ), =
kwk kwk
Правая часть равенства получена в предположении, что используется описанная выше нормировка.
Теперь можно поставить задачу построения такой разделяющей гиперплоскости, что расстояние между
соответствующими ей граничными плоскостями будет максимальным:
(
hw, wi → min,
yi (hw, xi − w0 ) ≥ 1, i = 1, ..., `.
Множитель 1/2 был введен для удобства, а C задает размер штрафа за ошибки.
является оптимизационной задачей в методе опорных векторов (SVM) и непосредственно связана с задачей
линейной классификации. Действительно, поскольку Mi = yi (hw, xi − w0 ) — отступ на i-ом объекте выборки:
yi (hw, xi − w0 ) ≥ 1 − ξi =⇒ ξi ≥ 1 − Mi .
9
а ее решением будет ξi = max{0, 1 − Mi } = (1 − Mi )+ .
Теперь можно вернуться к общей задаче минимизации и переписать ее виде:
`
X 1
Q(w, w0 ) = (1 − Mi (w, w0 ))+ + kwk2 → min .
i=1
2C w,w0
Последнее выражение называется безусловной оптимизационной задачей в SVN. В такой формулировке от-
четливо видно и функцию потерь, и L2 регуляризатор.
x2
√ x22
ϕ : (x1 , x2 ) → x21 , 2x1 x2 , x22
x1 b2
a2
x21
√
2x1 x2
Не обязательно задавать это отображение явно, так как в SVM везде фигурирует только скалярное про-
изведение вида hw, xi.
Пусть ϕ(x) — спрямляющее отображение, тогда, чтобы записать SVM в спрямляющем пространстве, необ-
ходимо во всех формулах сделать следующие подстановки:
Тогда метод SVM может быть сформулирован в исходном пространстве, если в качестве скалярного произ-
ведения использовать, возможно, нелинейную симметричную функцию
и таким образом получать нелинейную разделяющую поверхность. Эта идея называется в англоязычной
литературе kernel trick.
10
12.7.2. Линейное ядро
В простейшем случае ядро совпадает со скалярным произведением:
K(w, x) = hw, xi.
Следует отметить, что линейное ядро в некоторых задачах — самый лучший выбор, например в задачах
классификации текстов, и не стоит выкидывать его из рассмотрения.
11
Полиномиальное ядро получается, если в качестве спрямляемого пространство выступает пространство
многочленов не выше определенной степени.
Поскольку радиальное ядро выражается через евклидово расстояние, будут проявляться основные про-
блемы метрических алгоритмов, в том числе проклятие размерности. Именно поэтому не стоит применять
это ядро, если признаков действительно очень-очень много.
Но так или иначе, оно позволяет строить очень сложные границы классов. Спрямляющее пространство,
которое соответствует данному ядру, является бесконечномерным.
12