Когда в то же пространство помещают новую книгу, ее можно отнести к бестселлерам или небестселлерам в зависимости от того, с какой стороны от границы она окажется.
Алгоритм NSC концептуально близок к KNN и SVM. Он начинает работу с определения позиции всех книг в пространстве параметров, а затем находит математические центры множества всех бестселлеров и множества всех небестселлеров – «центроиды». Затем используется пороговый параметр, чтобы их сжать. Неизвестная книга классифицируется на основании того, к какому из сжатых центроидов она окажется ближе[262].
На основании 2799 параметров лучшая из наших трех моделей (KNN) смогла правильно отличить бестселлер от небестселлера в 90 % случаев[263]. Худшая из трех моделей (SVM) угадывала правильно только в 70 % случаев. У NSC показатель был примерно посередине – 79 %, но NSC значительно превосходит KNN в удобстве интерпретирования результата, предоставляя массу интересных данных о том, какие параметры оказались наиболее полезными в выявлении различий между двумя классами книг. В среднем точность трех методов была равна 80 %, и мы использовали все три для «коллективного» предсказания судьбы каждой из книг в нашем корпусе текстов.
Вас, вероятно, интересует, как мы вывели эти процентные соотношения. Мы начали с двух групп книг – бестселлеров и небестселлеров. Мы наблюдали за работой модели на этих двух множествах. Для этого мы сначала обучили модель на случайно выбранном подмножестве книг. Компьютер использовал эту выборку, чтобы понять, какие параметры отличают бестселлеры от небестселлеров. Затем мы заставили компьютер классифицировать на основании полученной информации все книги, которые не использовались на этапе обучения. Компьютер сделал прогноз по поводу каждой из них. Обратите внимание, что на этой стадии компьютеру не была известна подлинная судьба текстов. Затем мы сравнили прогноз компьютера с реальной судьбой книги. Этот процесс (называемый перекрестной валидацией) придал нам уверенность в успехе проекта. Мы использовали два подхода. Для первого (так называемой десятикратной перекрестной валидации) компьютер выбирал случайным образом 10 % бестселлеров и 10 % небестселлеров и изымал их из множества. Затем модель обучалась на оставшихся книгах, и качество обучения проверялось классификацией первоначально изъятой выборки. Процесс случайного выбора книг и построения модели повторяется снова и снова, и после каждой валидации точность предсказания регистрируется. Затем рассчитывается средняя точность предсказания по всем попыткам[264].
Второй метод перекрестной валидации называется «за вычетом одной». Как ясно из названия, он состоит в том, что из корпуса текстов единовременно изымается только одна книга. Затем строится модель на основе всех оставшихся. Изъятая книга предъявляется модели для вынесения вердикта. Вердикт регистрируется. Затем из корпуса текстов изымается другая книга, и процесс повторяется до тех пор, пока все книги в корпусе не будут по очереди изъяты и классифицированы[265]. Это долгий процесс, требующий необычайной аккуратности; правду сказать, работа по построению и испытанию модели вообще была гораздо более кропотливой, чем может показаться по краткому описанию. Поскольку небестселлеров в нашей коллекции было намного больше, чем бестселлеров, мы проводили два типа экспериментов.
В некоторых из них количество книг было сбалансировано так, чтобы уравнять число представителей каждого класса. В таких экспериментах модель случайным образом выбирала подмножество небестселлеров из всех небестселлеров нашей коллекции. Таким образом, модель обучалась на множестве, в котором было поровну бестселлеров и небестселлеров. Этот подход позволяет гарантировать, что при случайном выборе книга может с равной вероятностью оказаться тем и другим.
Кроме экспериментов, в которых контролировалось число книг каждого класса, мы реализовали процедуру «контроля авторов», гарантирующую, что чересчур плодовитые писатели не получат несправедливого преимущества. При работе с методом «за вычетом одной» мы конфигурировали эксперимент так, чтобы в обучающих данных не было других книг того же автора. Если бы не это, авторы серий, такие как Гришэм, Паттерсон и Стил, получили бы фору. Но при таком дизайне эксперимента их шансы были равны шансам любого другого писателя.