Иначе говоря, изменение алгоритма путем применения его к этому новому набору данных – (где исходные данные дополнены большим количеством ошибочно классифицированных копий – позволяет получить новую версию алгоритма, которая будет точнее классифицировать те данные, где ранее допускалась ошибка. Идея состоит в том, чтобы создавать искусственные данные, смещающие «внимание» алгоритма в нужном направлении. Или, по-другому, использовать данные, которые могли бы быть.
Процедура, основанная на этой идее, называется бустингом, или усилением. Когда-то она была революционной, но сегодня широко используется в машинном обучении. На момент написания книги версии алгоритмов бустинга являются лидерами в соревнованиях по машинному обучению, проводимых такими организациями, как Kaggle (например, особенно хорошо показывает себя версия алгоритма, называемая экстремальный градиентный бустинг.)
В то время как бустинг сосредоточен на тех случаях, которые ранее были неверно классифицированы и требуют дополнительного внимания, для определения точности оценок был разработан другой подход к использованию искусственных наборов данных. Речь идет о методе бутстреппинга, изобретенном американским статистиком Брэдом Эфроном. (Надо признать, статистики и специалисты по машинному обучению неплохо поднаторели в придумывании ярких имен, раскрывающих суть концепций.)
Бутстреппинг работает следующим образом. Часто нашей целью является составление общего сводного отчета по некоторой совокупности чисел (скажем, нам может потребоваться среднее значение), но иногда невозможно определить каждое отдельно взятое число. Например, нам нужно узнать средний возраст людей в стране, но людей в стране слишком много, чтобы мы могли опросить их всех. Как мы уже видели ранее, часто само понятие всеохватывающего измерения бессмысленно – мы не можем, к примеру, многократно измерять массу добываемой руды, так как смысл ее добычи в переработке. Решение заключается в том, чтобы сформировать выборку – просто спросить некоторых людей об их возрасте или взвесить несколько партий добытой руды, – а затем использовать среднее значение этой выборки в качестве нашей оценки.
Средние показатели выборки безусловно полезны – они дают нам общее представление о значении, но было бы неразумным ожидать, что они окажутся абсолютно точными. В конце концов, если мы возьмем другую выборку данных, то, вероятно, получим иной результат. Можно, конечно, ожидать, что он не будет слишком отличаться от первого, но рассчитывать на их идентичность не стоит. Это означает, что кроме среднего значения хотелось бы получить оценку степени его точности. Хотелось бы знать, насколько велик разброс средних значений, которые мы получим, сформировав разные выборки, и насколько далеки от истинного значения наши средние показатели выборки.
Чтобы найти показатель дисперсии для средних значений, достаточно использовать несложную статистическую теорию. Однако для других описаний и сводок данных это будет куда сложнее, особенно если наши вычисления выходят далеко за рамки простого определения среднего. Но и здесь синтетические темные данные могут снова прийти нам на помощь.
Если бы мы могли сформировать много выборок (например, как в случае с десятикратным подбрасыванием монеты), проблемы бы не возникло: мы бы просто сделали это, привели нашу модель в соответствие с каждой выборкой и посмотрели бы, насколько различаются результаты. Но, к сожалению, у нас есть только одна выборка.
Идея Брэда Эфрона заключалась в том, чтобы принять единственную имеющуюся у нас выборку за всю совокупность. Затем, продолжая идею извлечения выборки из совокупности, мы могли бы извлечь подвыборку из нашей выборки (каждая подвыборка должна иметь тот же размер, что и исходная выборка, благодаря многократному включению в нее каждого значения). Фактически точно так же, как мы могли бы извлечь много выборок из генеральной совокупности, мы можем извлечь много подвыборок из одной имеющейся у нас выборки. Принципиальная разница состоит в том, что мы действительно можем сформировать такие подвыборки. К каждой из них можно применить соответствующую модель, например оценить среднее значение, а затем посмотреть, насколько сильно различаются эти значения. Базовая идея состоит в том, чтобы смоделировать взаимосвязь между всей совокупностью и фактической имеющейся выборкой с помощью вычисления отношений между выборкой и подвыборкой. Это как если бы мы создавали искусственные копии выборки, раскрывая большое количество данных, которые до сих пор было скрыто. Понятие «бутстреппинг» означает переход от выборки к подвыборке точно так же, как мы перемещаемся от генеральной совокупности к выборке.
Из этих примеров становится очевидной одна вещь: использование искусственных данных для облегчения прогнозирования – задача весьма трудоемкая. Создание копий соседних значений, репликация случаев ошибочной классификации, формирование нескольких (зачастую сотен и более) подвыборок данных исключают несерьезный подход. Или как минимум возможность проделать все это вручную. К счастью, мы живем в мире компьютеров. Они просто созданы для проведения повторяющихся вычислений за доли секунды. Вспомните миллион циклов, в каждом из которых было 10 бросков монеты. Методы создания темных данных для использования их в наших интересах, описанные здесь, во многом являются детищем компьютерного века. Выше я употребил слово «революционный» – это не преувеличение.
Мнимые данные: байесовское априорное распределение
При рассмотрении симулирования мы предполагали, что правильно понимаем базовую структуру, процесс и механизм возникновения данных. Такая уверенность часто неоправданна. Мы можем иметь некоторое представление о процессе, но нам должно очень повезти, чтобы действительно знать все в деталях. Как минимум нам сложно быть уверенными в точных значениях чисел, характеризующих структуру.
Например, я мог бы предположить, что рост британских мужчин соответствует так называемому нормальному распределению, при этом большинство из них имеют средний рост и лишь немногие отличаются очень высоким или очень низким ростом. Однако такое предположение не дает понимания, каков именно этот средний показатель. Я могу быть уверен в том, что он меньше 1,85 м, более уверен в том, что он меньше 1,9 м, еще более уверен в том, что он меньше 1,95 м и абсолютно уверен в том, что средний рост меньше 2 м. Точно так же я могу быть уверен в том, что это значение больше 1,7 м, чуть более уверен, что оно больше 1,65 м, и абсолютно уверен, что оно превосходит 1,5 м. То, что я описываю здесь, – это распределение моих представлений о вероятном значении среднего роста; оно показывает, насколько я убежден, что средний рост находится в том или ином диапазоне.
Сложно сказать, откуда именно взялось такое распределение. Скорее всего, это сочетание опыта личных встреч с людьми разного роста, расплывчатых сведений из исследований на эту тему, о которых я некогда читал, смутных воспоминаний о том, что кто-то когда-то говорил мне об этом. В любом случае это эквивалентно некоему набору данных, которые я не могу зафиксировать, по крайней мере полностью, и установить их значения. Проще говоря, эти данные – темные.