Но такая оценка использует всего пару признаков, по которым вы сопоставляетесь с другими случаями из базы данных, и игнорирует множество индивидуальных характеристик, способных повлиять на наш прогноз, например недостаток внимания к своему здоровью или вредные привычки. Поэтому можно применить другую стратегию – найти более похожих на вас людей, скажем с тем же весом, ростом, артериальным давлением, уровнем холестерина, сходной физической активностью, которые курят, пьют, едят столько же, как и вы, и так далее. Предположим, что сопоставляя все больше и больше личных характеристик, мы сузили поиск до двух человек в базе данных, которые почти идеально совпадают с вами. Допустим, один дожил до 80, а второй – нет. Значит ли это, что ваши шансы достичь этого возраста равны 50 %? Эта величина в каком-то смысле имеет меньшее смещение, поскольку выборка вам максимально соответствует, но поскольку в ней всего два человека, оценка менее надежна, то есть у нее больше дисперсия.
Интуитивно понятно, что где-то между этими двумя крайними случаями есть золотая середина, и найти этот баланс трудно, но важно. Методы для устранения переобучения включают регуляризацию, когда поощряются сложные модели, но при этом влияние переменных приближается к нулю. Но, пожалуй, чаще всего используется простая, но мощная идея перекрестной проверки при конструировании алгоритма.
Важно проверять любые прогнозы на независимом тестовом наборе, который не использовался при обучении алгоритма, но мы это можем сделать только после окончания процесса разработки. Это укажет нам на наличие переобучения, но не поможет строить алгоритм. Однако мы можем сымитировать этот независимый тестовый набор, выделив на него, скажем, 10 % из тренировочных данных. Тогда мы отработаем алгоритм на оставшихся 90 %, а протестируем на выделенных 10 %. При этом процедуру можно провести не один раз – в нашем случае десять, ведь мы можем каждый раз брать в качестве тестового набора разные 10 процентов данных, и тогда у нас будет десять повторов – иными словами, десятикратная перекрестная проверка[137].
Все алгоритмы, описанные в данной главе, имеют какие-то настраиваемые параметры, которые предназначены главным образом для контроля сложности итогового алгоритма. Например, стандартная процедура построения дерева классификации – сначала сконструировать очень сложное дерево со множеством ветвей, намеренно сделав его переобученным, а затем обрезать дерево до чего-то более простого и надежного. Такая обрезка контролируется параметром сложности, который можно выбирать с помощью процедуры перекрестной проверки. Для каждой из создающихся при этом десяти выборок строится дерево для каждого из ряда параметров сложности. Затем для каждого значения параметра вычисляется средняя предсказательная эффективность по всем десяти перекрестным проверкам. До определенного момента эта средняя эффективность улучшается, а потом падает – когда деревья становятся слишком сложными. Оптимальное значение для параметра сложности – то, которое дает оптимум при перекрестной проверке, и далее оно используется для построения дерева на всем тренировочном наборе, которое и будет итоговым вариантом.
Десятикратная перекрестная проверка применялась как для выбора параметра сложности для дерева на рис. 6.3, так и для выбора параметров настройки во всех моделях, которые мы рассмотрим далее.
Из главы 5 мы узнали, что суть регрессионной модели – построить простую формулу для предсказания результата. Переменной отклика для ситуации с «Титаником» будет результат типа «да/нет», который указывает, выжил человек или нет, поэтому логистическая регрессия уместна (как и в случае с операциями на сердце у детей, см. рис. 5.2).
В табл. 6.3 приведены результаты подбора для логистической регрессии. При обучении использовался
Таблица 6.3
Коэффициенты для признаков в логистической регрессии для данных о выживании пассажиров «Титаника»: отрицательные коэффициенты понижают шансы на выживание, а положительные – повышают
Для общей оценки выживаемости можно добавлять коэффициенты для признаков конкретного пассажира. Например, Фрэнсис Сомертон начинает с параметра 3,20. Затем вычитается 2,30 за то, что он плыл в третьем классе, и еще 3,86 за обращение «мистер», но потом добавляется 1,43, так как он был мужчиной в третьем классе. Еще 0,38 он теряет, поскольку его семья состоит из одного человека. В итоге его общая оценка составляет –1,91, что переводится в вероятность выживания 13 %, то есть чуть меньше, чем те 16 %, которые давало простое дерево классификации[139].