Оценка точности гипотез, полученных путем обучения

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

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

440 Часть II. Применение языка Prolog в области искусственного интеллекта



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

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

Дальнейшим развитием метода проведения повторных испытаний такого типа яв­ляется к кратная перекрестная проверка (k-fold cross-validation). При использова­нии этого метода все обучающее множество случайным образом разбивается на к подмножеств. После этого обучение и испытание повторяются для каждого из этих подмножеств следующим образом: i-e подмножество удаляется из данных, остальная часть данных используется в качестве обучающего множества, после чего i-e под­множество применяется для испытания логически выведенной гипотезы. Получен­ные таким образом к результатов оценки точности усредняются, и вычисляется их дисперсия. Конкретного метода выбора значения к не существует, но в эксперимен­тах по машинному обучению чаще всего применяется значение к - 10.

Особый случай перекрестной проверки возникает, если подмножества содержат только по одному элементу. В каждой итерации обучение осуществляется по всем данным, кроме одного примера, а логически выведенные гипотезы проверяются на оставшемся примере. Такая форма перекрестной проверки называется исключением одного примера (leave-one-out). Она является оправданной, если количество доступ­ных данных особенно мало.