Когда вы войдете в сферу машинного обучения, появятся несколько двусмысленных терминов. Такие термины, как переоснащение, недостаточное соответствие и компромисс между отклонениями и отклонениями. Эти концепции лежат в основе машинного обучения в целом. В этом посте я объясню эти термины на примере.

Почему нам вообще должно быть до этого дело?

Возможно, модели машинного обучения преследуют одну единственную цель; хорошо обобщать. Я уже упоминал об этом в нескольких предыдущих постах, но никогда не помешает подчеркнуть это.

Обобщение - это способность модели давать разумные выходные наборы входных данных, которых она никогда раньше не видела.

Обычные программы не могут этого сделать, поскольку они могут выдавать выходные данные только роботизированно на те входы, которые им известны. Производительность модели, а также приложения в целом во многом зависит от обобщения модели. Если модель хорошо обобщает, она служит своей цели. Было введено множество методов оценки этой производительности, начиная с самих данных.

Основываясь на этой идее, такие термины, как переоснащение и недостаточное оснащение, относятся к недостаткам, от которых может пострадать производительность модели. Это означает, что знать, «насколько плохи» прогнозы модели, нужно знать, насколько она близка к переобучению или неполному подгонке.

Модель, которая хорошо обобщает, не является ни недостаточной, ни избыточной.

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

Наш пример

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

Обратите внимание: я считаю, что новички в этой области должны иметь больше практического опыта, чем исследований. Поэтому математические детали, такие как задействованные функции и тому подобное, в этом посте затрагиваться не будут. А пока давайте запомним, что ось X - это входное значение, а ось Y - выходное значение в наборе данных.

Если у вас был какой-либо предыдущий опыт обучения модели машинного обучения, вы, вероятно, знаете, что у нас есть несколько вариантов. Однако для простоты давайте выберем в нашем примере Одномерная линейная регрессия. Линейная регрессия позволяет нам сопоставлять числовые входные данные с числовыми выходными данными, подгоняя линию к точкам данных. Этот процесс подгонки линии является средой как переобучения, так и недостаточного.

Учебный этап

Обучение модели линейной регрессии в нашем примере сводится к минимизации общего расстояния (т. Е. Стоимости) между линией, которую мы пытаемся подогнать, и фактическими точками данных. Это проходит через несколько итераций, пока мы не найдем относительно «оптимальную» конфигурацию нашей линии в наборе данных. Это как раз то место, где происходит переоснащение и недообучение.

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

Несмотря на то, что общая стоимость не является минимальной (т.е. существует лучшая конфигурация, в которой линия может давать меньшее расстояние до точек данных), линия выше очень хорошо вписывается в тенденцию, что делает модель надежной. Допустим, мы хотим вывести выходные данные для входного значения, которое в настоящее время не находится в наборе данных (т. Е. Обобщить). Строка выше может дать очень вероятный прогноз для нового ввода, поскольку с точки зрения машинного обучения ожидается, что результаты будут следовать тенденции, наблюдаемой в обучающем наборе.

Переоснащение

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

Возвращаясь к нашему примеру, если мы оставим алгоритм обучения запущенным на долгое время, он, в конце концов, подгонит строку следующим образом:

Выглядит хорошо, правда? Да, но насколько это надежно? Ну не совсем.

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

Переобучение - это случай, когда общая стоимость действительно невелика, но обобщение модели ненадежно. Это связано с тем, что модель «слишком много учится» на обучающем наборе данных.

Это может показаться абсурдным, но зачем нам соглашаться на более высокую стоимость, если мы можем просто найти минимальную? Обобщение.

Чем больше мы оставляем обучение модели, тем выше вероятность переобучения. Нам всегда нужно найти тенденцию, а не подгонять линию ко всем точкам данных. Переобучение (или высокая дисперсия) ведет к скорее плохому, чем хорошему. Какая польза от модели, которая очень хорошо усвоила данные обучения, но все еще не может делать надежные прогнозы для новых входных данных?

Недостаточное оснащение

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

Недостаточная подгонка - это случай, когда модель «недостаточно усвоила» обучающие данные, что приводит к низкому уровню обобщения и ненадежным прогнозам.

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

Компромисс смещения и дисперсии

Итак, какова правильная мера? В зависимости от модели, более желательной является производительность, которая находится между переоборудованием и недостаточной подгонкой. Этот компромисс является наиболее важным аспектом обучения модели машинного обучения. Как мы уже говорили, модели машинного обучения выполняют свою задачу, если хорошо обобщают. Обобщение связано с двумя нежелательными исходами - высокой систематической ошибкой и высокой дисперсией. Ответственность за определение того, страдает ли модель от одного из них, полностью лежит на разработчике модели.