X
+
= lim(
X
⏉
X
+
α
I
)
–1
X
⏉
.
α
0
(7.29)
Мы узнаём в уравнении (7.29) линейную регрессию со снижением весов. Точнее,
(7.29) это предел уравнения (7.17), когда коэффициент регуляризации стремится
к нулю. Поэтому псевдообращение можно интерпретировать как стабилизацию не-
доопределенных задач с помощью регуляризации.
7.4. Пополнение набора данных
Самый лучший способ повысить обобщаемость модели машинного обучения – обу-
чить ее на большем объеме данных. Но, конечно же, на практике объем данных ограни-
чен. Один из путей решения проблемы – добавить в обучающий набор искусственно
сгенерированные данные. Для некоторых задач создать такие данные довольно легко.
Проще всего применить этот подход к классификации. Классификатор принимает
сложный многомерный вход
x
и сопоставляет ему идентификатор категории
y
. Это
Пополнение набора данных
209
означает, что для классификатора главное – инвариантность относительно широко-
го спектра преобразований. Мы легко можем сгенерировать новые пары (
x
,
y
) путем
различных преобразований данных
x
, уже имеющихся в обучающем наборе.
Применение этого подхода ко многим другим задачам сталкивается с трудностя-
ми. Например, сложно сгенерировать искусственные данные для задачи оценивания
плотности, пока мы не знаем ее решения.
Пополнение набора данных доказало высокую эффективность в конкретной за-
даче классификации: распознавание объектов. Изображения характеризуются высо-
кой размерностью и огромным количеством факторов изменчивости, многие из ко-
торых легко смоделировать. Такие операции, как сдвиг обучающих изображений на
несколько пикселей в каждом направлении, могут значительно улучшить обобщае-
мость, даже если при проектировании модели уже была заложена частичная инвари-
антность относительно параллельных переносов путем применения методов свертки
и пулинга, описанных в главе 9. Многие другие операции, например поворот или мас-
штабирование изображения, также оказались весьма эффективными.
Но не следует применять преобразования, которые могут изменить правильный
класс. Например, в случае распознавания символов нужно отличать «b» от «d» и «6»
от «9», поэтому в таких задачах отражение относительно вертикальной оси и поворот
на 180 градусов – недопустимые способы пополнения набора данных.
Существуют также преобразования, относительно которых классификаторы
должны быть инвариантными, но выполнить которые не так-то просто. Например,
внеплоскостной поворот невозможно реализовать как простую геометрическую опе-
рацию над входными пикселями.
Пополнение набора данных эффективно также в задачах распознавания речи (Jait-
ly and Hinton, 2013).
Привнесение шума во входные данные нейронной сети (Sietsma and Dow, 1991)
тоже можно рассматривать как вид пополнения данных. Для многих задач классифи-
кации и даже регрессии требуется, чтобы задача была разрешима и тогда, когда дан-
ные немного зашумлены. Однако, как оказалось, нейронные сети не очень устойчивы
к шуму (Tang and Eliasmith, 2010). Один из путей повышения робастности нейрон-
ных сетей – обучать их на данных, к которым добавлен случайный шум. Привнесение
шума – часть некоторых алгоритмов обучения без учителя, например шумоподавляю-
щего автокодировщика (Vincent et al., 2008). Эта идея работает и в случае, когда шум
примешивается к скрытым блокам, что можно расценивать как пополнение набора
данных на нескольких уровнях абстракции. В недавней работе Poole et al. (2014) по-
казано, что этот подход может оказаться весьма эффективным, при условии что вели-
чина шума тщательно подобрана. Прореживание, мощная стратегия регуляризации,
описанная в разделе 7.12, тоже может считаться процессом конструирования новых
входных данных путем
умножения
на шум.
При сравнении результатов эталонных тестов алгоритмов машинного обучения
важно принимать во внимание пополнение набора данных. Зачастую вручную спро-
ектированные схемы пополнения могут кардинально уменьшить ошибку обобщения
метода машинного обучения. Для сравнения качества разных алгоритмов необходи-
мо ставить эксперименты в контролируемых условиях. Сравнивая алгоритм A с ал-
горитмом B, следите за тем, чтобы оба алгоритма оценивались с применением од-
ной и той же схемы пополнения. Предположим, что алгоритм A плохо работает на
непополненном наборе данных, а алгоритм B хорошо работает, когда набор данных
Do'stlaringiz bilan baham: |