Эндрю Нг Машинное обучение: дисперсия и предвзятость
В течение последних нескольких недель мы узналиконтролируемое обучениесерединаЛинейная регрессия,логистическая регрессия,Нейронные сети( Нажмите, чтобы ввести примечания ). При рассмотрении курсовой работы все образцы данных использовались для обучения модели. При проверке модели нужно только сравнить результаты данных модели с правильными результатами, чтобы увидеть правильную скорость. Правилен ли этот метод обучения? Можно ли использовать показатель точности в качестве критерия оценки модели? На этой неделе вы узнаете, как оценивать наши модели и как применять правильные и эффективные стратегии улучшения.
нажмитеВидео курсаВы сможете изучать курсы Нг без перерыва, код Python для курсовой работы выложен на Github, нажмитекод курсаВы можете перейти на Github для просмотра (если у вас нет доступа к Github, вы можете нажатьCodingПроверьте ), ошибки и улучшения в коде приветствуются.
Вот заметки с пятой недели курса машинного обучения Нг.
стратегия улучшения
зафункция предсказания, мы обычно используем следующие средства для улучшения:
- Соберите больше выборочных данных
- Уменьшите количество функций и удалите недоминирующие функции.
- Внедрите более релевантные функции
- Используйте полиномиальные функции
- Уменьшить параметр регуляризации λ" роль="презентация">
- Добавить параметр регуляризации λ" роль="презентация">
Эндрю Нг рассказал всем, что видел, как многие разработчики вслепую использовали стратегии улучшения, тратя много времени и сил, но безрезультатно. Поэтому нам нужна некоторая основа, которая поможет нам выбрать подходящую стратегию.
Разделение набора данных
Для оценки модели мы обычно делим набор данных на три части: 60 %" роль="презентация">изОбучающий набор, 20 %" роль="презентация">изнабор перекрестной проверкии 20 %" роль="презентация">изтестовый набори использоватьошибкаПоскольку модель использует оценку этих наборов,ошибкав виде предыдущегофункция стоимостиТо же самое (функция ошибки линейной регрессии ниже).
Дж с ( θ ) знак равно 1 2 м с ∑ я знак равно 1 м с ( час θ ( Икс с ( я ) ) − у с ( я ) ) 2 ( с знак равно т р а я н , с в , т е с т )" role="презентация">Js(θ)=12msms∑i=1(hθ(x(i)s)−y(i)s)2 (s=train,cv,test)Js(θ)=12ms ∑i=1ms(hθ(xs(i))−ys(i))2 (s=train,cv,test)В разделенном множестве мы используемОбучающий набортренировать параметры θ" роль="презентация">,использоватьнабор перекрестной проверкичтобы выбрать модель (например, сколько полиномиальных функций использовать), используйтетестовый набороценить предсказательную способность модели.
Дисперсия и предвзятость
Когда наша модель работает неудовлетворительно, обычно возникает два типа проблем: одна — проблема с высоким смещением, а другая — проблема с высокой дисперсией. Их определение помогает выбрать правильную оптимизацию, так что давайте посмотримотклонениеидисперсиязначение.
- отклонение: Описывает разрыв между ожидаемым выходом модели и фактическим результатом выборки.
- дисперсия: описывает стабильность вывода модели для заданного значения.
Как и при стрельбе по мишеням, отклонение описывает, не попадает ли наше количество выстрелов в цель, а дисперсия описывает, является ли выстрел точным или нет. Далее давайте рассмотрим различные случаиОбучающий наборинабор перекрестной проверкиизошибкаКривые, чтобы интуитивно понять значение высокого смещения и высокой дисперсии.
заполиномиальная регрессия, когда количество раз невелико, наша ошибка обучающего набора и ошибка перекрестной проверки будут большими; когда количество раз в самый раз, ошибка обучающего набора и ошибка перекрестной проверки очень малы; когда количество раз слишком велико, произойдет переобучение, хотя ошибка обучающего набора мала, ошибка набора перекрестной проверки будет большой (диаграмма взаимосвязи приведена ниже).
Таким образом, мы можем вычислить
Дж
т
р
а
я
н
(
θ
)" роль="презентация">и
Дж
с
в
(
θ
)" роль="презентация">, если они одновременно большие, у вас проблема с высоким смещением, а
Дж
с
в
(
θ
)" роль="презентация">Сравнивать
Дж
т
р
а
я
н
(
θ
)" роль="презентация">Если он намного больше, он столкнется с проблемой высокой дисперсии.
заРегуляризацияПараметры, используя тот же метод анализа, когда параметры относительно малы, он склонен к переоснащению, то есть к проблемам с высокой дисперсией. Однако, когда параметры относительно велики, вероятно возникновение недообучения, то есть проблема высокого отклонения.
кривая обучения
Если вы хотите проверить, работает ли ваш алгоритм обучения, или улучшить его производительность,кривая обученияЭто очень интуитивно понятный и эффективный инструмент.кривая обученияПо горизонтальной оси отложено количество образцов, по вертикальной осиОбучающий наборинабор перекрестной проверкиизошибка. Итак, в начале, из-за небольшого количества образцов,
Дж
т
р
а
я
н
(
θ
)" роль="презентация">почти нет, при этом
Дж
с
в
(
θ
)" роль="презентация">очень большой. По мере увеличения количества образцов
Дж
т
р
а
я
н
(
θ
)" роль="презентация">увеличение, и
Дж
с
в
(
θ
)" роль="презентация">Соответствие лучше, поскольку обучающие данные увеличиваются и, следовательно, уменьшаются. таккривая обученияЭто выглядит так:
В случае больших отклонений
Дж
т
р
а
я
н
(
θ
)" роль="презентация">и
Дж
с
в
(
θ
)" роль="презентация">очень близко, ноошибкаочень большой. В настоящее время слепое увеличение количества выборок не улучшит производительность алгоритма.
В случае высокой дисперсии
Дж
т
р
а
я
н
(
θ
)" роль="презентация">изошибкаменьше,
Дж
с
в
(
θ
)" роль="презентация">Он относительно большой, и сбор большего количества образцов в это время, вероятно, поможет.
Суммировать
С помощью приведенных выше методов анализа мы можем нарисовать сценарии, в которых используется наша стратегия улучшения:
- [Высокая дисперсия] Соберите больше выборочных данных
- [Высокая дисперсия] Уменьшите количество функций и удалите недоминирующие функции.
- [Высокая предвзятость] Внедрите более релевантные функции
- [Высокое смещение] Использовать полиномиальные функции
- [High Bias] Уменьшить параметр регуляризации λ" роль="презентация">
- [Высокая дисперсия] Увеличить параметр регуляризации λ" роль="презентация">
Итак~, на пятой неделе все, спасибо за терпение.
hertzcat
2018-04-21