Эта статья является основной записью «Wu Enda Machine Learning».
Рекомендации по применению машинного обучения
Когда мы используем обученную модель для прогнозирования неизвестных данных и обнаруживаем большую ошибку, что мы можем делать дальше? Обычно у нас есть следующие варианты:
- получить больше обучающих образцов
- попробуй уменьшить количество функций
- попробуй получить больше возможностей
- Попробуйте добавить полиномиальные функции
- попытаться уменьшить степень регуляризации
- попробуй увеличить регуляризацию
Итак, как выбрать? через некоторыедиагностика машинного обученияпринять решение.
избегать переоснащения
Чтобы проверить, является ли алгоритм переоснащением, мы разделили данные наобучающий набор, тестовый набор и набор перекрестной проверкиНапример, вы можете использовать 60 % данных в качестве обучающего набора, 20 % данных в качестве тестового набора и 20 % данных в качестве набора для перекрестной проверки. Во время обучения вы можете выбрать Модель:
- Используйте тренировочный набор для обучения 10 моделей
- Рассчитайте ошибку перекрестной проверки (значение функции стоимости) в наборе перекрестной проверки с 10 моделями.
- Выберите модель с наименьшим значением функции стоимости
- Используйте модель, выбранную на шаге 3, для расчета ошибки обобщения (значение функции стоимости) на тестовом наборе.
Диагностическая систематическая ошибка и дисперсия
При запуске алгоритма обучения, если производительность алгоритма не идеальна, вероятно, возможны две ситуации: либо смещение относительно велико, либо относительно велика дисперсия. Другими словами, то, что происходит, является либо проблемой недообучения, либо переобучения. Итак, какой из двух случаев связан со смещением, который связан с дисперсией, или он связан с обоими?
Понимание смещения и дисперсии:Ууху. Call.com/question/20…
Обычно мы помогаем анализировать, нанося на один и тот же график ошибку функции стоимости в обучающем наборе и набор перекрестной проверки в зависимости от степени полинома.Высокое смещение или высокая дисперсия:
выше:
- Когда ошибка обучающего набора и ошибка набора перекрестной проверки аппроксимируются: смещение/недообучение
- Когда ошибка набора перекрестной проверки намного больше, чем ошибка обучающего набора: дисперсия/переобучение
Регуляризация и смещение/дисперсия
Как правило, мы выбираем следующие методы:
- Предположим, мы случайным образом выбираем 12, используя обучающую выборку для обучения 12 моделей с разной степенью регуляризации
- Ошибка перекрестной проверки, рассчитанная для набора перекрестной проверки с 12 моделями.
- Выберите модель, которая дает наименьшую ошибку перекрестной проверки.
- Используйте модель, выбранную на шаге 3, для вычисления ошибки обобщения в тестовом наборе и, наконец, выберите модель с наименьшей ошибкой z.
Использование кривых обучения для решения проблем смещения/дисперсии
Мы можем наблюдать, находится ли текущая обучающая модель в проблеме смещения или дисперсии, постоянно увеличивая размер обучающей выборки:
Модель обучения выше находится вВысокое смещение/недообучениеВ этом случае добавление данных в обучающую выборку может не помочь.
Модель обучения выше находится вВысокая дисперсия/переоснащение, добавление дополнительных данных в обучающий набор может повысить производительность алгоритма.
Нейронные сети
Использование нейронной сети меньшего размера, как и в случае с меньшим количеством параметров, подвержено высокому смещению и недообучению, но с меньшими вычислительными затратами.Использование более крупной нейронной сети, аналогично случаю с большим количеством параметров, вероятно, приведет к высокой дисперсии и Подгонка, хотя вычислительные затраты относительно высоки, может быть скорректирована с помощью регуляризации, чтобы лучше адаптироваться к данным. Обычно выбор более крупной нейронной сети и использование регуляризации будет работать лучше, чем использование нейронной сети меньшего размера. Для выбора количества скрытых слоев в нейронной сети количество слоев обычно постепенно увеличивается от одного слоя.Чтобы сделать лучший выбор, данные можно разделить на обучающие наборы, наборы перекрестной проверки и тестовые наборы Нейронная сеть обучается по количеству нейронных сетей, а затем выбирается нейронная сеть с наименьшей стоимостью в наборе кросс-валидации.
Суммировать
- Получите больше обучающих выборок — устраните высокую дисперсию
- Попробуйте уменьшить количество функций, чтобы решить проблему высокой дисперсии.
- попытайтесь получить больше функций - устраните высокое смещение
- Попробуйте добавить полиномиальные функции, чтобы устранить высокое смещение
- Попробуйте уменьшить степень регуляризации λ, чтобы устранить высокое смещение.
- Попробуйте увеличить регуляризацию λ, чтобы справиться с высокой дисперсией.
Проектирование системы машинного обучения
Рекомендуемый способ построения алгоритма обучения:
- Начните с простого алгоритма, который можно быстро реализовать, внедрите алгоритм и протестируйте его с данными перекрестной проверки.
- Нарисуйте кривую обучения и решите, следует ли добавить больше данных, добавить больше функций или другие варианты.
- Выполните анализ ошибок: вручную изучите образцы в наборе перекрестной проверки, которые приводят к ошибкам прогнозирования в нашем алгоритме, чтобы увидеть, есть ли в этих образцах какая-то систематическая тенденция.
Анализ ошибок Анализ ошибок
Точность и отзыв
Мы можем разделить результаты, предсказанные нашим алгоритмом, на четыре случая:
- правильное утверждение(True Positive,TP): предсказано верно, фактическое верно
- правильный отрицательный(True Negative,TN): предсказано ложно, на самом деле ложно
- ложный положительный результат(False Positive,FP): прогнозируемый истинный, фактический ложный
- ложноотрицательный(False Negative,FN): предсказано неверно, на самом деле верно
но:
Точность =
вспомнить =
Проблема искаженных классов
Перекос классов возникает, когда в нашем обучающем наборе очень много выборок одного и того же класса, а выборок из других классов мало или совсем нет.
Например, мы хотим использовать алгоритм, чтобы предсказать, является ли рак злокачественным, и в нашей обучающей выборке только 0,5% случаев являются злокачественными. Предположим, мы пишем необученный алгоритм, который предсказывает, что опухоль доброкачественная во всех случаях, с ошибкой всего 0,5%. Однако алгоритм нейронной сети, который мы получили в результате обучения, имеет погрешность в 1%. В настоящее время размер ошибки нельзя рассматривать как основу для суждения о влиянии алгоритма.
чтобы избежатьпроблема перекоса, нам нужно обеспечить относительный баланс между точностью и отзывом.
Например, среди всех пациентов, у которых мы предсказывали наличие злокачественных опухолей, чем выше процент пациентов, у которых действительно были злокачественные опухоли, тем лучше, чем наш прогноз.отзыватьотносительно высок.
Если мы хотим, чтобы предсказание было верным (опухоль злокачественная), только если мы очень уверены, т.е.точность, мы можем использовать большее пороговое значение, чем 0,5, например 0,7, 0,9. При этом мы уменьшим количество ложно прогнозируемых пациентов со злокачественными новообразованиями, одновременно увеличив количество неудачно прогнозируемых злокачественных новообразований.
Если мы хотим улучшитьотзывать, насколько это возможно, чтобы все пациенты с возможными злокачественными опухолями могли быть дополнительно обследованы и диагностированы, мы можем использовать порог меньше 0,5, например 0,3.
Мы можем построить график взаимосвязи между отзывом и точностью при различных пороговых значениях, и форма кривой зависит от данных:
Итак, как выбрать порог?Значение F1(F1 Score), а его формула расчета:
количество тренировочных сетов
Если у вас много данных и вы обучаете алгоритм обучения со многими параметрами, увеличение количества обучающих наборов может обеспечить высокую производительность алгоритма обучения.