четверг, 16 августа 2018 г.

Уменьшение потери: итеративный подход

В этом посте мы рассмотрим как модель машинного обучения итеративно уменьшает потерю.

Итеративное обучение может напоминать игру горячо-холодно, в которой при поиске спрятанного предмета используются команды горячо и холодно для указания близости либо удаленности искомого предмета. Спрятанный предмет в нашем случае это наилучшая модель. Мы начинаем угадывать с крайних значений (значение w1 (свойство) равно нулю) и ожидаем когда система ответит какова потеря в этом случае. Затем пробуем следующее значение (значение w1 равно 0.5) и смотрим какова потеря - потеря меньше, значит мы ближе к искомой конфигурации модели. Играя в такую игру правильно, обычно становится все теплее. Главная сложность в такой игре - найти наилучшую модель наиболее эффективно.

Итеративные стратегии преобладают в машинном обучении, преимущественно потому что они хорошо масштабируются на больших наборах данных.

Пройдем по одному циклу итерации в обучении модели.

На первом этапе модель принимает одно или больше свойств как ввод и возвращает одно предсказание (y') как вывод. Для простоты предположим модель, которая принимает одно свойство и возвращает одно предсказание:

y′ = b + w1x1

Какие начальные значения должны мы установить для b и w1? Для задач линейной регрессии, получается так, что стартовые значения не важны. Мы можем взять случайные значения, но мы просто возьмем следующие тривиальные значения:

b = 0
w1 = 0

Предположим, что первое значение свойства равно 10. Подставив значение этого свойства в функцию предсказания, получим:

y' = 0 + 0(10)
y' = 0

Далее переходим к вычислению потери. Предположим мы используем квадратичную функцию потери. Функция потери принимает два входных значения.

y' - предсказание, сделанное моделью для свойств x.

y - правильная метка, соотвествующая свойствам x.

В конце цикла итерации мы переходим к вычислению обновлений параметров. Здесь система машинного обучения проверяет значение функции потери и генерирует новые значения для b и w1. Просто предположим, на данный момент, что система загадочным образом генерирует значения и затем переоценивает все свойства по всем меткам и выводит новое значение функции потери, которое приводит к получению нового значения свойств. Так обучение продолжает итерации до тех пор, пока алгоритм не выявит параметры модели с наименьшей возможной потерей. Обычно, итерации ведут до тех пор, пока потеря перестает изменяться или изменяется крайне медленно. Когда это происходит, говорят что модель приближена(сведена) (к своей идеальной конфигурации).

Главное

Модель машинного обучения тренируется, начиная с изначального предположения весов и смещений, и итеративно регулирует (приближает) эти предположения до тех пор, пока не выявит веса и смещения с наименьшей возможной потерей.