Резюме видеоурока и некоторый самодополняемый контент направлены на максимальное понимание принципа.
Эта статья продолжает обновлять адрес:Личный блог Интервью по машинному обучению Основы и расширения - 01
набор для обучения/разработки/тестирования
Tips
- Соотношение опыта обучения/разработки/тестирования 6:3:1
- Когда количество данных превышает один миллион, тестовому набору требуется всего около 1 Вт (то есть ему не нужно расти строго пропорционально)
- Строго гарантировать стратифицированную выборку
Смещение / отклонение
В случае игнорирования шума ошибку обобщения можно разложить на две части: смещение и дисперсию.
- Смещение: степень, в которой ожидаемый прогноз алгоритма обучения отклоняется от фактического результата, также известная как подходящая способность.
- Дисперсия: он измеряет изменение эффективности обучения, вызванное изменениями в обучающем наборе того же размера, то есть фиксирует влияние возмущений данных.
--- Отрывок из "Машинное обучение", Чжоу Чжихуа
Ссылаться на:Understanding the Bias-Variance Tradeoff
Классификатор
Train set error | 1% | 15% | 15% | 0.5% |
---|---|---|---|---|
Dev set error | 10% | 16% | 30% | 1% |
status | high variance | high bias | high bias & high variance | low bias & low variance |
- Смещение: частота ошибок прогнозирования модели (чем выше точность в обучающем наборе, тем больше смещение).
- Дисперсия: способность модели к обобщению (разрыв между производительностью в наборе для разработки и наборе для обучения, чем больше разрыв, тем больше дисперсия)
Высокий уровень смещения означает, что классификационный эффект модели плохой, а высокий уровень дисперсии означает, что модель имеет тенденцию к переоснащению и не может хорошо обобщать.
Обычно мы используем эти два параметра для настройки нашей нейронной сети таким образом, некоторые из которых обсуждаются далее в этой статье.
Исчезновение градиента и взрыв градиента
Недообучение и переоснащение
Пример простого классификатораСлева направо на рисунке выше показаны три случая недообучения, правильного подгонки и переобучения.
переоснащение
Как возникает переобучение?
- Основная причина: слишком много параметров, слишком высокая сложность модели и относительно мало данных или относительно больше шума.
Весь процесс обучения на самом деле представляет собой компромисс между сложностью модели и переоснащением, как показано ниже.
Как бороться с переобучением? В одном из моих предыдущих переводов упоминалось:перевод
Как бороться с переобучением?
Сочетая смещение и дисперсию, упомянутые выше, мы имеем следующий опыт:
Это:
- Увеличить количество обучающих данных — самое эффективное решение
- Перекрестная проверка — обычно используется при недостаточном количестве данных.
- Ранняя остановка - досрочное завершение тренировочного процесса
- Регуляризация(
regulation
) - в основном регуляризация L1 и L2 - использовать
Dropout
- Произвольно инициализировать веса некоторых нейронов до нуля
Cross Validation
Возвращаясь к перекрестной проверке, по методу сегментации перекрестная проверка делится на следующие три типа:
простая перекрестная проверка
Так называемая простота по сравнению с другими методами перекрестной проверки. Во-первых, мы случайным образом делим выборочные данные на две части (например: 70% обучающий набор, 30% тестовый набор), затем используем обучающий набор для обучения модели и проверяем модель и параметры на тестовом наборе. Затем мы перемешиваем образцы, повторно выбираем обучающий набор и тестовый набор и продолжаем обучать данные и тестировать модель. Наконец, мы выбираем функцию потерь для оценки оптимальной модели и параметров.
S-кратная перекрестная проверка
Также известная как (S-Folder Cross Validation), в отличие от первого метода, S-кратная перекрестная проверка случайным образом разделит данные выборки на S частей тестового набора. Когда этот раунд завершен, копии S-1 выбираются случайным образом для обучающих данных. После нескольких раундов (менее S) выбирается функция потерь для оценки оптимальной модели и параметров.
перекрестная проверка без исключения
Также известный как (Перекрестная проверка с исключением), это частный случай второго случая, В настоящее время S равно количеству выборок N, поэтому для N выборок для обучения выбирается N-1 выборок. данные каждый раз, оставляя одну выборку, чтобы проверить, являются ли предсказания модели хорошими или плохими. Этот метод в основном используется, когда размер выборки очень мал.
Ранняя остановка
Чтобы получить хорошо работающую нейронную сеть, во время обучения сети требуется множество решений об используемых настройках (гиперпараметрах). Одним из гиперпараметров является количество эпох обучения: то есть, сколько раз набор данных должен быть полностью пройден (по одной эпохе за раз)); если количество эпох слишком велико, может произойти переобучение (т. е. сеть подходит «шум» в обучающих данных, а не в сигнале).
за ранней остановкойпринципНа самом деле понять не сложно:
- Разделите данные на обучающие и тестовые наборы
-
После каждой эпохи (или после каждых N эпох):
- Оцените производительность сети с помощью тестового набора
- Если сеть работает лучше, чем предыдущая лучшая модель: сохраните копию сети для текущей эпохи.
-
Используйте модель с наилучшей тестовой производительностью в качестве окончательной сетевой модели.
Оптимальной моделью является модель, сохраненная в момент времени вертикальной пунктирной линии, то есть модель с наибольшей точностью при обработке тестового набора.
Среди них условиями остановки могут быть следующие три
- Когда веса обновляются ниже определенного порога
- Прогнозируемая частота ошибок ниже определенного порога
- Достичь заданного количества итераций
Регуляризация
Регуляризация — это реализация стратегии минимизации структурного риска, заключающаяся в добавлении регуляризатора или штрафного члена к эмпирическому риску.
В целом контролируемое обучение можно рассматривать как минимизацию следующей целевой функции:
- Функция: Английский есть
regulation
, буквально означает настроить коррекцию, то есть настроить переоснащение на приведенном выше рисунке. - Общие типы: L0, L1, L2
L0 норма
Норма L0 представляет количество всех ненулевых элементов в векторе
определение:
L1 норма
L2 норма
определение:L2
Норма относится к сумме квадратов элементов вектора, а затем извлекается квадратный корень. Мы минимизируем член правила ||W||2 нормы L2, который может сделать каждый элемент W очень маленьким и близким к 0, но, в отличие от нормы L1, делает его не равным 0, а близким к 0 .
- Как норма L2 уменьшает переоснащение?
сделать несколько нейронных узловw
уменьшает вес до нуля, тем самым упрощая сеть, иизображение 3конвертировано вРисунок 1,оказатьсяvariance
уменьшать,bias
Увеличивать.
Разница между парадигмой L1/L2
Скорость снижения
Ограничения пространства модели
Видео объяснение:2:30
Задача оптимизации: поставитьw
Решение ограничено желтой областью, при этом потери опыта минимальны.
Это также делает L2 относительно стабильным, а L1 может давать более разреженные решения.
Dropout
Отсев относится к тому, что веса некоторых узлов скрытого слоя в сети случайным образом не работают во время обучения модели. Те узлы, которые не работают, могут временно считаться не частью структуры сети, но их веса должны быть сохранены (просто временно не обновлены) , потому что, возможно, придется работать снова при следующем вводе образца.
Experiment in Keras
Эксперименты на наборе данных CIFAR-10
Презентация результатов:
Анализ: Наилучший эффект наблюдается при отсеве равном 0,2.
Код:Github
демо
демонстрация кода
Простой код нейронной сети в 100 кодах: pycharm
Интуитивное объяснение того, что делает функция активации:Зная ответ: XOR
Визуальная демонстрация
Ссылка на сайт:TensorFlow
использованная литература
- Ууху. Call.com/question/20…
- blog.CSDN.net/Zou Xiaoyun09/art…
- Лиам0205. Что/2017/03/25/…
- Scott.fort Mann-ROE.com/docs/bias VA…
- Методы регуляризации: регуляризация L1 и L2, увеличение набора данных, отсев
- Ууху. Call.com/question/26…
- woo woo woo.cn блог на.com/pi этого человека/afraid/59…
- Исчезновение градиента и взрыв градиента