1. Введение
Когда люди судят о проблемах объективного мира, они часто основывают свои суждения на прошлом.Опытчтобы вести себя. Например, почему вы думаете, что завтра будет хороший день, когда вы видите слегка мокрую дорогу, чувствуете ветер и видите закат? Это потому, что мы видели много подобных ситуаций в нашем жизненном опыте.Посмотрев вышеперечисленные характеристики в первый день, на следующий день обычно хорошая погода.Можете ли вы сказать, что это спелая дыня? Поскольку мы ели и видели много арбузов, мы можем делать довольно правильные выводы, основываясь на характеристиках цвета, корня и удара. Можно видеть, что мы можем делать эффективные суждения, потому что мы накопили большой опыт иЭффективные решения могут быть приняты в новых ситуациях благодаря использованию опыта.
Таким образом, мы, люди, используем описанный выше опыт, могут ли помочь компьютеры?
Машинное обучение — это именно та дисциплина, которая посвящена изучению того, как использовать опыт для повышения производительности самой системы за счет вычислительных средств.В компьютерных системах «опыт» обычно существует в виде «данных», поэтому основное содержание исследований в области машинного обученияАлгоритмы создания «моделей» из данных на компьютере или «алгоритмы обучения».С помощью алгоритма обучения мы снабжаем его эмпирическими данными, и он может создать модель на основе этих данных; при столкновении с новой ситуацией (например, при виде неразрезанного арбуза) модель предоставит нам соответствующие суждения (например, хороший дыня). Если информатика — это изучение «алгоритмов», то аналогичным образом можно сказать, что машинное обучение — это изучение «алгоритмов обучения».
2 Оценка и выбор модели
2.1 Эмпирическая ошибка и переобучение
Обычно мы относим долю неправильно классифицированных выборок к общему количеству выборок как «частоту ошибок», то есть, если есть выборки в (точность), то есть «точность = 1 — частота ошибок». В более общем смысле мы называем разницу между фактическим прогнозируемым результатом периода обучения и фактическим результатом выборки «ошибкой».Ошибка обучаемого на обучающем наборе называется «ошибкой обучения» или «эмпирической ошибкой», а ошибка на новых выборках называется «ошибкой обобщения».Очевидно, нам нужен учащийся с наименьшей ошибкой обобщения. Однако мы не знаем заранее, как будет выглядеть новая выборка, и на самом деле мы можем попытаться минимизировать эмпирическую ошибку. Во многих случаях мы можем обучить учащегося с небольшой эмпирической ошибкой, который хорошо работает на обучающем наборе, например, даже правильно классифицируя все обучающие образцы, т. е. частота ошибок классификации равна нулю, а точность классификации составляет 100%, но это тот ученик, которого мы хотим? К сожалению, такие ученики не очень хороши в большинстве случаев.
На самом деле нам нужен учащийся, который хорошо работает на новых примерах. Для этого нужно как можно больше узнать из обучающих выборок, применимых ко всем потенциальным выборкам.«Универсальный закон», чтобы сделать правильные выводы при встрече с новыми образцами. Однако, когда учащийся усваивает обучающие образцы «слишком хорошо»,Вполне вероятно, что некоторые характеристики самих обучающих выборок рассматривались как общие свойства, которыми будут обладать все потенциальные выборки, что приведет к снижению способности к обобщению.Это явление называется в машинном обучении"переоснащение". Противоположностью «переобучения» является «недообучение», что означает, что общие свойства обучающих выборок изучены недостаточно хорошо.
Существует много факторов, которые могут привести к переоснащению, наиболее распространенным из которых является то, что способность к обучению слишком сильна, чтобы выучить менее общие признаки, содержащиеся в обучающих выборках, в то время как недостаточное приспособление обычно происходит из-за плохой способности к обучению, вызванной. Недостаточное обучение легче преодолеть, например, расширение ветвей в деревьях решений, увеличение количества периодов обучения в обучении нейронной сети и т. д., в то время как переоснащение вызывает проблемы. Переобучение является ключевым препятствием, с которым сталкивается машинное обучение, и различные алгоритмы обучения должны иметь некоторые меры против переобучения; однако следует признать, что переобучения нельзя полностью избежать, и все, что мы можем сделать, это «смягчить» или уменьшить его риск. Этот момент можно примерно понять так: задачи, с которыми сталкивается машинное обучение, обычно являются NP-сложными или даже более сложными, и эффективный алгоритм обучения должен быть завершен за полиномиальное время, может быть получено оптимальное решение, а это означает, что мы конструктивно доказываем тот «P = NP», поэтому просто верьте, что «PNP», переобучение неизбежно.
В реальных задачах у нас часто есть много алгоритмов обучения на выбор, и даже для одного и того же алгоритма обучения при использовании разного сопоставления параметров будут генерироваться разные модели. Итак, какой алгоритм обучения мы должны выбрать и какие параметры конфигурации мы должны использовать? Вот что такое машинное обучение"выбор модели"проблема. Идеальным решением, конечно, является оценка ошибки обобщения моделей-кандидатов и выбор модели с наименьшей ошибкой обобщения. Однако, как обсуждалось выше, мы не можем напрямую получить ошибку обобщения, а ошибка обучения не подходит в качестве эталона из-за наличия переобучения Итак, как проводить оценку и выбор модели в реальности?
2.2 Метод оценки
В общем, мы можем оценить ошибку обобщения учащегося с помощью экспериментальных тестов, а затем сделать выбор. Для этого нужно использовать"тестовый набор"проверить способность учащегося различать новые образцы, а затем использовать"ошибка тестирования"как приближение ошибки обобщения. Обычно мы предполагаем, что тестовая выборка также отбирается независимо и идентично истинному распределению выборки. Однако следует отметить, что тестовая выборка должна быть максимально взаимоисключающей с обучающей выборкой, то есть тестовые выборки не должны попадать в обучающую выборку как можно чаще и не использовались в процессе обучения.
Почему тестовые образцы не должны появляться в обучающей выборке как можно чаще? Чтобы понять это, рассмотрим следующий сценарий: учитель дает учащимся 10 вопросов для практики, и учитель использует те же 10 вопросов, что и тестовые вопросы во время теста.Могут ли результаты теста эффективно отражать, хорошо ли усвоили учащиеся или нет? Шерстяная ткань? Ответ — нет, могут быть некоторые студенты, которые могут ответить только на эти 10 вопросов и получить высокие оценки. Возвращаясь к нашему вопросу, мы надеемся получить модель с сильными характеристиками обобщения, например, мы надеемся, что студенты смогут хорошо усвоить курс и иметь возможность «выводить другие вещи» о знаниях, которые они изучили; обучающие образцы эквивалентно практике для студентов Практика вопросов, процесс тестирования эквивалентен экзамену. Очевидно, что если для обучения использовать тестовые образцы, результат будет слишком «оптимистичным». предполагаемые результаты.
Однако у нас есть только один, содержащийнабор примеров, необходимо обучать и тестировать, как мы можем это сделать? Ответ: поВыполняется соответствующая обработка для создания обучающего набора из него.и тестовый набор. Несколько распространенных практик описаны ниже.
2.2.1 Метод откладывания
Метод «удержания» напрямую преобразует набор данных Разделить на два взаимоисключающих набора, один из которых используется в качестве тренировочного набора, другой в качестве тестового наборат.е.. вПосле обучения модели используйтеоценить его тестовую ошибку как оценку ошибки обобщения.
Возьмем в качестве примера задачу бинарной классификации, предположим,содержит 1000 образцов, разделенных на содержит 700 образцов,содержит 300 образцов, сПосле обучения, если модельВ неправильной классификации 90 образцов, тогда частота ошибок , соответственно, точность.
Следует отметить, что обучениеРазделение тестового набора должно максимально поддерживать согласованность распределения данных и избегать влияния на конечный результат из-за внесения дополнительных смещений в процесс разделения данных. Если вы посмотрите на процесс разделения набора данных с точки зрения выборки, способ выборки, который сохраняет пропорцию классов, часто называют «стратифицированной выборкой». Например,Стратифицированная выборка для полученияобучающий набор образцови содержитОбразец тестового набораесли Содержит 500 положительных примеров и 500 отрицательных примеров, затем стратифицированная выборка должен содержать 350 положительных примеров, 350 отрицательных примеров и то содержит 150 положительных примеров и 150 отрицательных примеров; если ,Доля категорий выборки в выборке сильно различается, тогда оценка ошибки будет обусловлена обучениемСмещение из-за различий в распределении тестовых данных.
Еще одна проблема, о которой следует помнить, заключается в том, что даже на данной тренировкеПосле коэффициента выборки тестового набора существует еще много способов разделить исходный набор данных.разделить. Например, в приведенном выше примере вы можете поставитьОтсортируйте образцы по , а затем поместите первые 350 положительных примеров в обучающий набор, вы также можете поместить в обучающий набор последние 350 положительных примеров, ... Эти разные деления приведут к разным наборам обучающих тестов и, соответственно, результаты оценки модели будут различаться. Поэтому результаты оценки, полученные при однократном применении метода расстановки, часто не являются устойчивыми и надежными.При использовании метода расстановки обычно используют несколько случайных делений, повторяют экспериментальную оценку и берут среднее значение как результат оценки метода выкладки. Например, выполняется 100 случайных делений, каждый раз генерируя тренировочнуюТестовый набор используется для экспериментальной оценки, и 100 результатов получаются после 100 прогонов, а метод задержки возвращает среднее значение этих 100 результатов.
Кроме того, мы хотим оценить использование Производительность обученной модели, но метод откладывания должен разделить обучениеТестовая выборка, что приводит к неловкой ситуации: если обучающая выборкасодержит подавляющее большинство выборок, обученная модель может быть ближе кОбученная модель, но из-заотносительно невелика, результаты оценки могут быть нестабильными и точными; если набор тестовСодержит больше образцов, обучающий наборсРазница еще больше, оцениваемая модель отличается отОбученные модели могут сильно отличаться друг от друга, что снижает достоверность результатов оценки. Идеального решения этой проблемы не существует, и общепринятой практикой являетсяобразцы используются для обучения, а оставшиеся образцы используются для тестирования.
2.2.2 Метод перекрестной проверки
«Перекрестная проверка» (перекрестная проверка) в первую очередьразделен наВзаимоисключающие подмножества одинакового размера, т.е.. каждое подмножествоСохраняйте распределение данных как можно более последовательным, т. е. от полученный методом стратифицированной выборки. Затем каждый раз, когда вы используетеОбъединение подмножеств используется в качестве обучающего набора, а оставшееся подмножество используется в качестве тестового набора; таким образом, мы можем получитьустановить обучающий тестовый набор так, чтобывремя обучения и тестирования, окончательный результат - этоСреднее значение результатов теста. Очевидно, что стабильность и достоверность результатов, оцениваемых методом перекрестной проверки, в значительной степени зависит отЗначение , чтобы подчеркнуть этот момент, метод перекрестной проверки обычно называют «Свернуть перекрестную проверку» (- кратная перекрестная проверка). Чаще всего используется значение 10, что называется 10-кратной перекрестной проверкой; другие часто используемые значенияЗначения 5, 20 и т.д.
Аналогично методу удержания, набор данныхразделен наЕсть также много способов разделить подмножества. Чтобы уменьшить различия, вносимые различными подразделениями выборки,Перекрестная проверка фолда обычно повторяется случайным образом с использованием разных разделов.раз, окончательный результат оценки таковвремяСреднее значение результатов кратной перекрестной проверки, например «10-кратная 10-кратная перекрестная проверка», является обычным явлением.
Гипотетический набор данныхсодержитобразцы, если, получается частный случай метода перекрестной проверки:Оставить один выход (LOO). Очевидно, что на метод исключения одной выборки не влияет способ деления случайных выборок, поскольку существует только один способ разделить выборки на подмножества.Каждое подмножество содержит одну выборку, а метод исключения одного использует меньше обучающий набор, чем исходный набор данных.В большинстве случаев модель, которая фактически оценивается в методе исключения одного, совпадает с моделью, которая, как ожидается, будет оцениваться.Обученные модели очень похожи. Таким образом, результаты оценки метода исключения одного часто считаются более точными. Однако у метода исключения есть и свои недостатки: когда набор данных относительно велик, обучениеВычислительные накладные расходы модели могут быть непосильными (например, если набор данных содержит 1 миллион выборок, необходимо обучить 1 миллион моделей), и это даже без учета параметров алгоритма. Кроме того, исключающие оценки не всегда могут быть более точными, чем другие методы оценки; теорема об отсутствии бесплатного обеда также применима к экспериментальным методам оценки.
2.2.3 Метод самопомощи
То, что мы хотим оценить, это использоватьобученная модель. Однако в методе исключения и методе перекрестной проверки, поскольку часть выборок зарезервирована для тестирования, обучающая выборка, используемая фактической моделью оценки, меньше, чеммала, что неизбежно приведет к некоторому смещению оценок из-за разных размеров обучающей выборки. На метод исключения меньше влияет изменение размера обучающей выборки, но вычислительная сложность слишком высока. Есть ли способ уменьшить влияние различных размеров обучающей выборки и в то же время более эффективно выполнять экспериментальную оценку?
Лучшим решением является «самозагрузка», которая напрямую основана на выборке начальной загрузки. Данный содержитнабор образцов, мы сэмплируем его для создания набора данных: случайным образом изВыберите образец из , скопируйте его в, а затем поместить образец обратно в начальный набор данных, да, образец может быть еще собран в следующем образце; этот процесс повторяетсяраз, мы получаемНабор данных выборок, который является результатом начальной выборки. Очевидно,Некоторые образцы будут впоявляется много раз в образце, в то время как другая часть образца не появляется. Можно сделать простую оценку, образец находится вВероятность не попасть в подвыборку равна, возьмите лимит, чтобы получить:
То есть путем самовыборки исходный набор данных ообразцов, отсутствующих в выборочном наборе данныхсередина. Таким образом, мы можем поставитьиспользуется в качестве тренировочного набора,используется в качестве тестового набора, так что и модель, которая фактически оценивается, и модель, которая, как ожидается, будет оценена, используютобучающих выборок, в то время как у нас все еще есть общий объем данных околоОбразцы, не вошедшие в обучающую выборку, используются для тестирования. Такие результаты испытаний также известны как «оценки вне пакета».
Метод начальной загрузки трудно эффективно разделить обучение, когда набор данных мал.Это полезно для тестовых наборов; кроме того, бутстреп может генерировать несколько разных обучающих наборов из исходного набора данных, что очень полезно для таких методов, как ансамблевое обучение. Однако набор данных, созданный методом начальной загрузки, меняет распределение исходного набора данных, что приводит к систематической ошибке оценки. Поэтому, когда исходный набор данных достаточен, чаще используются методы исключения и перекрестной проверки.
2.2.4 Настройка окончательной модели
Большинство алгоритмов обучения имеют некоторые параметры, которые необходимо установить, и производительность изученных моделей часто значительно различается в зависимости от конфигурации параметров. Следовательно, во время оценки и выбора модели, в дополнение к выбору применимого алгоритма обучения, также необходимо установить параметры алгоритма, что обычно называют «настройкой параметров» или «настройкой параметров» для краткости.
Здесь следует отметить одну вещь: многие параметры алгоритма обучения принимают значения в диапазоне действительных чисел, поэтому невозможно обучить модель для каждой конфигурации параметров. Обычной практикой на практике является выбор диапазона и изменение размера шага для каждого параметра, например, вв диапазонеэто размер шага, на самом деле нужно оценить 5 значений параметра-кандидата, и, наконец, выбранное значение генерируется из этих 5 значений-кандидатов. Очевидно, что выбранные таким образом значения параметров часто не являются «оптимальными», но это результат компромисса между вычислительными затратами и оценкой производительности, благодаря которому процесс обучения становится возможным. На самом деле, даже после таких компромиссов настройка часто бывает сложной. Можно сделать простую оценку: если предположить, что алгоритм имеет 3 параметра, каждый параметр рассматривает только 5 значений-кандидатов, так что для каждого набора обученияВ тестовом наборе естьМодель необходимо исследовать; многие мощные алгоритмы обучения имеют большое количество параметров, которые необходимо установить, что приведет к огромному проекту настройки параметров, так что во многих прикладных задачах настройка параметров часто оказывает ключевое влияние на окончательную модель. производительности. (Машинное обучение часто включает в себя два типа параметров: один — это параметры алгоритма, также известные как «гиперпараметры», число которых часто находится в пределах 10; другой — это параметры модели, число которых может быть большим, например как большое «глубокое обучение» Модель даже имеет десятки миллиардов параметров; разница между двумя параметрами заключается в том, что первый обычно генерирует модель, вручную устанавливая несколько значений-кандидатов параметров, а второй генерирует несколько моделей-кандидатов посредством обучения, например, нейронная сеть останавливает обучение на разные эпохи).
Данный содержитнабор образцов, в процессе оценки и выбора модели нам нужно отложить часть данных для оценки и тестирования, фактически мы используем только часть данных для обучения модели. Следовательно, после завершения выбора модели алгоритм обучения и конфигурация параметров были выбраны, и в это время следует использовать набор данных.Переобучите модель. В этой модели используются всеОбразец, это модель, которую мы, наконец, представляем пользователю.
Кроме того, следует отметить, что мы обычно ссылаемся на данные, с которыми обученная модель сталкивается в реальном использовании, как на тестовые данные (проверочный набор). Например, при изучении эффективности обобщения различных алгоритмов мы используемтестовый набороценить обобщающую способность модели в реальном использовании, а обучающие данные делятся наОбучающий наборинабор проверки, для выбора модели и настройки параметров на основе производительности на проверочном наборе.