Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив2 от преподавателя. / Оценка качества работы к лассификаторов.doc
Скачиваний:
22
Добавлен:
15.09.2014
Размер:
181.76 Кб
Скачать

Способы разделения данных на тренировочный и тестовый наборы

Метод удерживания (Holdout)

В случае, когда объем данных доступных для тренировки и проверки классификатора достаточно велик, часть данных можно попридержать до тестирования, и не использовать для тренировки. Таким образом весь набор данных разделяется на две непересекающиеся части случайным образом - тренировочный набор и тестовый набор (такой метод называется метод удерживания - holdout). Обучение производится на тренировочном, проверка на тестовом наборах. Обычно, для тестирования отводится от 1/10 до 1/3 всего доступного набора данных. Для увеличения надежности подобная процедура удержания части данных производится несколько раз, и результат усредняется (repeated holdout).

Для некоторых классификаторов предусмотрена (или возможна) двухступенчатая тренировка (вспомните примеры из прошлого раздела). Тогда разделение можно произвести на три части - тренировочный, тестовый и верификационный наборы (validation set). Верификационный набор используется для настройки параметров классификатора, например - для выбора оптимального соотношения nTP и nFP.

Стратификация (Stratification)

Если в доступных данных объекты одного класса встречаются значительно чаще объектов другого класса (один класс доминирует над другим), то при случайном разделении данных на тренировочный/тестовый наборы может возникнуть неприятная ситуация. В тренировочный (или тестовый) набор может попасть слишком мало экземпляров второго класса (теоретически - вообще ни одного). Понятно, что в таком случае успешное обучение вряд ли возможно. Чтобы избежать подобной ситуации прибегают к процедуре стратификации - при разделении на тестовый и тренировочной наборы данные каждого класса разделяют в нужной пропорции и затем из полученных четырех наборов составляют тестовый и тренировочный. Это позволяет добиться достаточной представительности каждого класса, как на этапе тренировки, так и при проверке.

Перекрестная проверка (Cross-validation)

Для того чтобы избежать пересечения тестовых наборов, которое возможно при использовании метода Repeated holdout, используется метод перекрестной проверки (cross-validation). Он заключается в разделении всего набора данных на k подмножеств (иногда с учетом стратификации). Затем k раз производится тренировка по k-1 наборам и проверка по одному оставшемуся - см.  Рисунок 2.

Рисунок Рисунок 2 Перекрестная проверка

Результаты, полученные на каждой из k итераций, усредняются для получения финального результата. Как показывают многочисленные тестирования, 10 итераций обычно оказывается достаточно, поэтому k обычно принимается равным 10 (tenfold cross-validation). Для еще более точной оценки уровня ошибок иногда производится десятикратная перекрестная проверка (ten tenfold cross validation).

Вариантом перекрестной проверки является проверка <без одного> - leave-one-out. Фактически он является перекрестной проверкой для случае k равному N (количество данных). Этот вариант часто используется для проверки гипотез. К плюсам метода стоит отнести тренировку по максимуму данных, отсутствие случайности, которая присутствует при использовании holdout и перекрестной проверки. Минусами являются невозможность стратификации, а также очень высокая вычислительная сложность.