Разберись в Data Science — страница 11 из 19

Освойте набор инструментов дата-сайентиста

Скорее всего, взять в руки эту книгу вас побудили такие термины, как машинное обучение, искусственный интеллект и глубокое обучение. В этой части мы собираемся лишить их ореола таинственности.

Сфера данных, как бы мы ее ни назвали, постоянно изменяется. Однако фундаментальные концепции и инструменты существуют на протяжении десятилетий и лежат в основе самых актуальных тенденций, включая анализ текста и изображений. В части III вы найдете высокоуровневое описание этих концепций и методов.

Эта часть состоит из следующих глав:


Глава 8. Ищите скрытые группы.

Глава 9. Освойте модели регрессии.

Глава 10. Освойте модели классификации.

Глава 11. Освойте текстовую аналитику.

Глава 12. Концептуализируйте глубокое обучение.


Вы также узнаете о распространенных ошибках и ловушках, в которые попадают даже опытные аналитики.

Глава 8Ищите скрытые группы

«Если вы проанализируете данные достаточно тщательно, то сможете отыскать послания Бога»

– Дилберт[71]

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

По дороге вы задумываетесь о способе организации такой коллекции. Начать можно с очевидных категорий, например, с музыкальных жанров и поджанров. Также можно сгруппировать музыкальные композиции по периодам, в которые они были выпущены. Эту информацию легко найти на обложке альбома.

Однако, когда вы приезжаете к своему другу, он вручает вам высокую стопку черных виниловых пластинок без обложек.

Ваш друг говорит, что купил эти пластинки на гаражной распродаже и понятия не имеет о жанрах, исполнителях или периодах выхода записанных на них композиций. Вы вынуждены отказаться от своих предвзятых представлений о способах классификации записей, поскольку у вас нет обложек альбомов, на которые вы могли бы опереться при их группировке. Задача категоризации пластинок внезапно оказывается намного сложнее, чем вы предполагали.

Набравшись смелости, вы с другом достаете проигрыватель, прослушиваете альбомы и начинаете группировать их по категориям в зависимости от того, насколько они похожи. По мере прослушивания пластинок вы создаете новые группы, объединяете небольшие группы в одну и иногда переносите пластинку из одной группы в другую после ожесточенных споров о том, к какой группе она «ближе».

В конце концов у вас формируется 10 категорий, каждой из которых вы присваиваете описательное название.

То, что вы с другом только что сделали, называется обучением без учителя или неконтролируемым обучением. Вместо того чтобы опираться на предвзятые представления о данных, вы позволили данным организоваться самостоятельно[72].

Эта глава посвящена обучению без учителя – набору инструментов, предназначенных для обнаружения скрытых закономерностей и групп в наборах данных при отсутствии заранее определенных групп. Эта мощная техника используется в самых разных областях, начиная с распределения клиентов по разным маркетинговым категориям и заканчивая организацией музыкальных композиций на платформах Spotify или Pandora и упорядочиванием фотографий в телефоне.

Обучение без учителя

В основе обучения без учителя или неконтролируемого обучения лежит идея о существовании скрытых групп в совокупности данных. Есть много способов, позволяющих выявить эти интересные закономерности и группы, если таковые действительно существуют. Как главный по данным, вы должны уметь ориентироваться в многочисленных методах обучения без учителя при поиске скрытых групп данных.

Но с чего начать, учитывая пугающе большое количество доступных методов неконтролируемого обучения? К счастью, для применения этих методов вам достаточно базового понимания связанных с ними основных действий. В данном случае речь идет:

– о снижении размерности с помощью анализа главных компонент;

– кластеризации методом k-средних.

В этой главе мы рассмотрим данные методы и разберемся в том, что они означают и как именно позволяют достичь целей по снижению размерности и кластеризации соответственно.

Снижение размерности

Снижение размерности – это процесс, с которым вы уже знакомы. Его примером может служить фотография, которая сводит трехмерный мир к плоскому двухмерному изображению, которое можно носить в кармане.

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

Давайте разберемся, почему это важно. С практической точки зрения в наборах данных с множеством признаков очень сложно разобраться. Их загрузка в компьютер может занимать много времени, и с ними тяжело работать. Из-за этого процесс разведочного анализа данных становится крайне утомительным, а в некоторых случаях – фактически нереализуемым. Например, в биоинформатике размерность набора данных может быть огромной. Каждое наблюдение исследователей может включать экспрессии тысяч генов, многие из которых сильно коррелируют друг с другом (а, следовательно, являются потенциально избыточными).

Снижение размерности данных позволяет сократить время вычислений, устранить избыточность и улучшить визуализацию результатов. Но как именно это можно сделать?

Создание составных признаков

Один из способов снизить размерность набора данных – объединение нескольких столбцов в составной признак. Давайте посмотрим, как это делается, на примере реальных данных о результатах сравнительных тестов 32 автомобилей, опубликованных в журнале Motor Trend за 1974 год. Сравнение этих автомобилей проводилось по 11 признакам, таким как расход топлива в милях на галлон, мощность двигателя в лошадиных силах, вес и другие характеристики автомобиля[73]. Наша задача – создать метрику «эффективности» для ранжирования автомобилей от наиболее до наименее эффективных.


Рис. 8.1. Ранжирование автомобилей на основе различных составных признаков. Обратите внимание на увеличение дисперсии, то есть на то, как автомобили отдаляются друг от друга по мере объединения все большего количества признаков в единое измерение под названием «эффективность»


Очевидная точка отсчета для данного исследования – расход топлива в милях на галлон (М/Г). Результат ранжирования автомобилей по данному показателю находится в левой части диаграммы на рис. 8.1. Как видите, если не считать лучшего и худшего автомобиля с точки зрения расхода топлива, большинство автомобилей оказалось сгруппировано в центре. Можем ли мы добавить дополнительную информацию для дальнейшего разделения данных? Перейдем к средней части диаграммы. Здесь мы создали составной признак: расход топлива минус вес автомобиля[74], М/Г – вес. Обратите внимание: простое объединение двух признаков в один составной обеспечивает гораздо больший разброс.

Теперь давайте сделаем еще один шаг и создадим третью метрику эффективности. Эффективность = М/Г – (Вес + Мощность). (Подобное выражение называется линейной комбинацией.) Эта комбинация столбцов позволила разделить данные сильнее, чем другие признаки. Благодаря большему разбросу она дает нам больше информации об автомобилях, открывая нечто интересное. Как видите, тяжелые, пожирающие бензин автомобили находятся внизу, а легкие и экономичные – вверху. По сути, объединив исходные измерения, мы создали новое измерение данных (эффективность), которое позволяет нам игнорировать три исходных измерения. В этом и заключается суть снижения размерности.

В этом примере мы заранее знали, что объединение расхода топлива, веса и мощности двигателя автомобиля в новую составную переменную позволит обнаружить кое-что интересное в совокупности имеющихся данных. Но что, если вы не знаете, как и какие признаки следует комбинировать? Именно так обстоят дела в случае неконтролируемого обучения, и здесь в игру вступает анализ главных компонент.

Анализ главных компонент

Анализ главных компонент (АГК) – это метод снижения размерности, изобретенный в 1901 году[75] задолго до того, как термины «дата-сайентист» и «машинное обучение» стали частью бизнес-терминологии. АГК до сих пор остается популярной, хотя и зачастую неправильно понимаемой техникой. Мы постараемся устранить эту путаницу и разъяснить, в чем суть данного метода и его полезность.

В отличие от подхода, использованного в примере с автомобилями, алгоритм АГК заранее не знает, какие группы признаков следует объединять в составные признаки, и потому рассматривает все возможности. С помощью особых математических приемов он создает разные конфигурации измерений в поисках линейных комбинаций признаков, обеспечивающих максимальный разброс данных. Лучшие из этих составных признаков называются главными компонентами. Более того, главные компоненты – это новые измерения данных, которые не коррелируют друг с другом. Если бы мы применили данный подход в примере с автомобилями, то помимо измерения «эффективность» мы могли бы выявить и такое измерение, как «производительность».

Вероятно, вы хотите узнать, как можно определить, позволит ли АГК объединить признаки набора данных в значимые группы, образующие главные компоненты. Что именно мы ищем с помощью АГК?

Попробуем ответить на эти вопросы с помощью следующего мысленного эксперимента. Поскольку авторы данной книги не разбираются в автомобилях, в следующем примере будет использоваться другой (гипотетический) набор данных.

Главные компоненты спортивных способностей

Представьте, что вы работаете в спортивном лагере. У вас есть электронная таблица с сотнями строк и 30 столбцами. Каждая строка содержит информацию о физической подготовке спортсмена: количество отжиманий, приседаний и повторений становой тяги, которые он может сделать за одну минуту; за сколько времени он пробегает 40 метров, 100 метров, 1600 метров; показатели жизненно важных функций, такие как пульс в состоянии покоя и артериальное давление; и еще несколько показателей физической подготовки и состояния здоровья. Ваш начальник дал вам расплывчатое задание «обобщить данные», но вы увязли в большом количестве столбцов электронной таблицы. Без сомнения, в ней содержится огромный объем информации. Но нельзя ли свести эти 30 признаков к более разумному количеству, которое можно было бы использовать для обобщения и визуализации имеющихся данных?

Первым делом вы замечаете несколько очевидных закономерностей. Спортсмены, которые могут сделать больше всего отжиманий, как правило, делают больше повторений становой тяги, а те, кто медленно пробегает стометровку, имеют ту же проблему в случае со спринтом на 40 метров. Похоже, что многие признаки коррелируют друг с другом, поскольку измеряют связанные между собой показатели физической подготовки. Эта корреляция заставляет вас задуматься о возможном способе их сжатия в меньшее число не коррелирующих друг с другом измерений, содержащих максимально возможное количество информации из исходных данных. В этом и заключается суть АГК!


Рис. 8.2. Анализ главных компонент позволяет сгруппировать и объединить столбцы набора данных в новые не коррелирующие между собой измерения


На рис. 8.2 в общих чертах представлено то, чего вы пытаетесь достичь. Однако вы не можете с легкостью исследовать корреляции между 30 переменными даже с помощью компьютера. (Для изучения каждой пары признаков потребовалось бы 435 отдельных диаграмм рассеяния[76].) Итак, вы прогоняете данные через алгоритм АГК, чтобы воспользоваться существующими в наборе данных корреляциями, и на выходе получаете два набора данных[77].

На рис. 8.3 показан первый набор. Строки таблицы содержат признаки спортсменов, а столбцы – веса этих признаков и их вклад в главную компоненту. Эти веса отражают важный шаг в процессе АГК, связанный с созданием новых измерений в данных. (Обратите внимание на то, что здесь слово «вес» – специальный термин, который имеет отношение к АГК, а не к поднятию тяжестей.) Мы визуализировали веса, однако имейте в виду, что в числовом выражении они представляют собой меру корреляции, значение которой находится в диапазоне от –1 до 1. Чем ближе ее значение к любому из экстремумов, тем сильнее корреляция и тем выше вклад исходного признака. Итак, вам нужно отыскать интересные закономерности в весах главных компонент (обозначенных на следующем рисунке аббревиатурой ГК). Веса, которые отклоняются далеко от вертикальной нулевой линии, могут рассказать много интересного.


Рис. 8.3. АГК находит оптимальные веса для создания составных признаков, которые представляют собой линейные комбинации других признаков. Иногда вы можете присвоить новому составному признаку описательное название


В первом столбце «Веса для ГК 1» вы видите большие веса для таких признаков, как отжимания, приседания и становая тяга; они, как отмечалось ранее, положительно коррелируют друг с другом. АГК обнаружил это автоматически. Эту комбинацию признаков можно назвать «Сила». Глядя на веса для ГК 2, вы замечаете связь отрицательных столбиков с показателями «Скорости» (низкий пульс в состоянии покоя, медленный бег на 40 метров, медленный бег на 100 метров). Аналогичным образом вы можете дать ГК 3 название «Выносливость», а ГК 4 – «Здоровье».

Раньше у вас было несколько коррелирующих между собой измерений. Однако четыре новых измерения представляют собой четыре составных признака, которые не коррелируют друг с другом. А отсутствие корреляции означает, что каждое новое измерение предоставляет новую, непересекающуюся информацию. По сути, мы разбиваем содержащуюся в наборе данных информацию на отдельные измерения, как указано в строке «% информации для каждой компоненты». Используя всего лишь четыре новых признака, мы можем сохранить 91 % информации, содержащейся в исходном наборе данных.

С помощью весов, указанных на рис. 8.3, 30 исходных показателей физической подготовки каждого спортсмена можно преобразовать в такие главные компоненты, как «Сила», «Скорость», «Выносливость» и «Здоровье», используя линейные комбинации. Например, сила спортсмена рассчитывается по следующей формуле:


Сила = 0,6*(количество отжиманий) + 0,5*(количество повторений становой тяги) + 0,4*(количество приседаний) + (незначительный вклад остальных признаков)


Значения (веса) 0,6, 0,5 и 0,4 – результат АГК. Мы просто решили их визуализировать.

Выполнение этой серии вычислений для всех спортсменов дает нам второй результат применения алгоритма АГК, показанный на рис. 8.4. Это новый набор данных того же размера, что и исходный, только на этот раз максимально возможное количество информации было сосредоточено в первой группе некоррелированных главных компонент (также известных как составные признаки). Обратите внимание на резкое сокращение величины вклада главных компонент, начиная с пятой.


Рис. 8.4. Алгоритм АГК создает новый набор данных того же размера, что и исходный, где столбцы представляют собой составные признаки, называемые главными компонентами


Таким образом, вместо использования 30 переменных для объяснения 100 % информации, содержащейся в исходном наборе данных, набор данных, показанный на рис. 8.4, может объяснить 91 % этой информации с помощью всего лишь четырех признаков. Это позволяет нам проигнорировать 26 столбцов. Вот это понижение размерности! Вооружившись этим набором данных, вы можете выяснить, кто из спортсменов самый сильный, самый быстрый или обладает любой комбинацией этих признаков. Визуализировать и интерпретировать данные стало намного проще.

Анализ главных компонент. Резюме

Давайте сделаем шаг назад, чтобы кое-что прояснить.

Во-первых, когда речь идет о столбце в наборе данных, хорошим синонимом информации является дисперсия (мера разброса). Подумайте об этом так. Предположим, что мы добавили новый столбец в набор данных о спортсменах, показанный на рис. 8.2, под названием «Любимая марка обуви», и каждый спортсмен ответил: «Nike». В таком случае в этом столбце не было бы никаких вариаций, позволяющих отличить одного спортсмена от другого. Нет вариации = нет информации.

Основополагающая идея АГК – взять всю содержащуюся в наборе данных информацию (множество столбцов) и сжать как можно больше этой информации в как можно меньшее количество отдельных измерений (меньшее количество столбцов). Для этого алгоритм определяет, как именно каждое из исходных измерений коррелирует с другими. Корреляция, существующая между многими измерениями, объясняется тем, что они измеряют одну и ту же основополагающую вещь. В этом смысле у нас есть лишь несколько истинных измерений данных, охватывающих большую часть информации, содержащейся в наборе данных. Математика, лежащая в основе АГК, по сути «вращает» измерения, сводя их к меньшему количеству главных компонент и позволяя нам рассматривать их без потери большого количества информации.

Это напоминает процесс фотографирования. Например, вы можете сфотографировать великие пирамиды Египта с бесчисленного количества ракурсов, однако некоторые ракурсы оказываются более информативными, чем другие. Если вы сделаете снимок с помощью дрона сверху, то пирамиды будут выглядеть как квадраты. Если вы сфотографируете их, стоя точно напротив одной из граней, они будут выглядеть как треугольники. На какой угол необходимо повернуть камеру, чтобы зафиксировать максимальное количество информации при сведении трехмерного мира Гизы в двухмерную фотографию, способную произвести впечатление на друзей? Оптимальный ракурс можно найти с помощью АГК.

Потенциальные ловушки

Теперь, когда вы познакомились с основами АГК, мы должны признать, что в реальном мире наборы данных никогда не удается свести к столь же четко различимым главным компонентам, как в примере со спортсменами.

Из-за неупорядоченности данных результирующие главные компоненты зачастую бывают лишены ясного значения и описательных названий. Мы по опыту знаем, что в погоне за броским названием для главной компоненты люди зачастую создают описание несуществующих данных. Как главному по данным, вам не следует принимать уже готовые определения главных компонент. Когда кто-то представляет вам уже названные компоненты, постарайтесь оспорить их определения, выяснив, какие именно уравнения лежат в основе той или иной группировки.

Более того, АГК не сводится к исключению неважных или неинтересных переменных. Мы часто видим, как люди совершают эту ошибку. Главные компоненты генерируются на основе всех исходных признаков. Для этого ничего не удаляется. В примере со спортсменами каждый исходный признак может быть сгруппирован с несколькими другими для получения четырех главных компонент: Сила, Скорость, Выносливость и Здоровье. Помните о том, что набор данных, полученный в результате применения алгоритма АГК, по размеру аналогичен исходному. Аналитик должен сам решить, когда отбрасывать неинформативные компоненты, поскольку одного правильного способа сделать это просто не существует. Это означает, что, когда вам представляют результаты АГК, вам следует выяснить, как именно те, кто его проводил, решили, сколько компонентов стоит оставить.

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

Кластеризация

Группы признаков (столбцы) могут рассказать одну историю, как в случае с АГК, а группы наблюдений (строки) – другую. Именно здесь в игру вступает кластеризация[78].

По нашему опыту, кластеризация – самая интуитивно понятная техника работы с данными, потому что ее название точно отражает ее суть (в отличие от названия «Анализ главных компонент»). Если бы ваш начальник поручил вам разделить спортсменов на группы, вы бы поняли задачу. При анализе данных, представленных на рис. 8.5, у вас возник бы ряд вопросов – например, относительно возможного количества групп и способов их категоризации. Тем не менее у вас было бы от чего оттолкнуться. Например, вы могли бы сформировать одну группу из наиболее сильных и медленно бегающих спортсменов, а другую – из самых слабых и быстрых. Вы могли бы назвать эти группы «Бодибилдеры» и «Бегуны на длинные дистанции».

Потратьте минутку на размышления о том, как бы вы подошли к группировке этих данных и какие решения вам пришлось бы принять в ходе этого процесса. Если бы вам было лень это делать, вы могли бы сказать: «Каждый человек в этой таблице – спортсмен, поэтому есть только одна группа – спортсмены». Или: «Каждый человек образует отдельную группу. Всего есть N групп». И то и другое утверждение абсолютно бесполезно. Однако они позволили вам понять очевидное: количество групп должно быть больше 1, но меньше N.

Еще одно решение, которое вам придется принять самостоятельно, связано с определением степени «похожести» одного спортсмена на другого. Рассмотрим подмножество данных в табл. 8.1. Какие два из этих спортсменов сильнее всего похожи друг на друга?

Вы можете привести аргумент в пользу любой пары. Все зависит от того, по каким критериям вы оцениваете их «схожесть». Спортсмены A и B похожи по количеству отжиманий и пульсу. Спортсмены A и C демонстрируют самые лучшие результаты в беге на 1600 м и количестве отжиманий соответственно. А спортсмены B и C похожи тем, что бегают медленнее всех остальных. Здесь вы можете увидеть то, что хотите. Все зависит от того, какие признаки для вас наиболее важны, а также от того, что вы подразумеваете под понятием «сходство». Процесс неконтролируемого обучения, разумеется, ничего об этом не знает.


Рис. 8.5. Кластеризация – это способ группировки строк набора данных, тогда как АГК позволяет группировать столбцы


Табл. 8.1. Какие из этих двух атлетов больше всего похожи друг на друга?


Этот пример демонстрирует основные проблемы кластеризации: сколько кластеров у нас должно быть? По каким критериям любые два наблюдения могут считаться «похожими»? И как лучше всего группировать такие наблюдения?

Начать можно с кластеризации методом k-средних[79].

Кластеризация методом k-средних

Метод k-средних весьма популярен среди дата-сайентистов. С его помощью вы сообщаете алгоритму необходимое количество кластеров (k), после чего он группирует ваши N строк с данными в k-кластеров. Точки данных внутри кластера находятся «поблизости», в то время как сами кластеры максимально удалены друг от друга.

Запутались? Давайте рассмотрим пример.

Кластеризация точек продаж

Компания хочет распределить свои 200 точек продаж, показанных на рис. 8.6, по шести регионам континентальной части США. Их можно было бы распределить по стандартным географическим регионам (например, Средний Запад, Юг, Северо-Восток и так далее), однако местонахождение магазинов компании вряд ли удалось бы согласовать с этими предопределенными границами. Вместо этого компания попыталась сгруппировать данные с помощью метода k-средних. Набор данных состоит из 200 строк и двух столбцов, в которых указаны значения широты и долготы[80].


Рис. 8.6. 200 торговых точек компании до кластеризации


Цель состоит в нахождении на карте шести новых местоположений, каждое из которых является «центром» кластера. В числовом выражении эта центральная точка, по сути, представляет собой среднее значение всех членов группы (отсюда и название метода k-средних). В данном примере центры кластеров могут быть возможными локациями региональных офисов, и каждый из 200 магазинов может быть привязан к ближайшему офису.

Вот как это работает. Сначала алгоритм выбирает шесть случайных местоположений в качестве потенциальных региональных офисов. Почему случайных? Потому что нужно с чего-то начать. Затем, используя расстояние между точками на нашей карте (что называется «по прямой»), каждый из 200 магазинов назначается тому или иному из шести кластеров в зависимости от того, к какому из стартовых местоположений он ближе всего. Результат показан в левом верхнем углу на рис. 8.7 («Раунд 1»).


Рис. 8.7. Применение метода k-средних для кластеризации розничных магазинов


Каждое число обозначает начальное местоположение и связано с ограничивающим кластер многоугольником. Обратите внимание на то, что в «Раунде 1» местоположение «6» находится далеко от своего кластера, по крайней мере, в этой первой итерации. Также обратите внимание на то, что некоторые выбранные местоположения оказались в океане.

В каждом раунде алгоритма все точки в кластере усредняются для получения центральной точки (называемой «центроидом»), в которую перемещается число. В результате каждый из 200 магазинов может оказаться ближе к другому региональному офису, которому он и переназначается. Процесс продолжается до тех пор, пока точки не перестанут переходить из кластера в кластер. На рис. 8.7 показаны результаты последовательных раундов кластеризации методом k-средних.

Таким образом, компания объединила 200 своих магазинов в шесть кластеров и нашла в каждом из них потенциальное место для расположения регионального офиса.

Итак, алгоритм k-средних пытается выявить в данных естественные кластеры и постепенно стягивает k-случайных начальных точек к центрам этих кластеров.

Потенциальные ловушки

В предыдущем примере мы использовали расстояние «по прямой», однако есть несколько типов формул расстояния, которые можно применить при кластеризации набора негеографических данных. Их обсуждение выходит за рамки этой книги. Кроме того, ни одна из этих формул не является правильной. Тем не менее не стоит полагать, что ваша команда аналитиков использовала самую подходящую, а не самую простую формулу расстояния. Обязательно спросите, какую именно формулу они использовали и почему.

Вам также необходимо учитывать масштаб своих данных. Не следует слепо доверять результатам, потому что математика может сгруппировать по степени «близости» два доминирующих значения. Например, возьмем трех сотрудников, данные о которых приведены в табл. 8.2. Какие два кажутся вам максимально «близкими» друг к другу?


Табл. 8.2. Немасштабированные данные могут сбить алгоритмы кластеризации с толку


При отсутствии должного масштабирования данных значение дохода будет доминировать в большинстве формул расстояния, поскольку разница в его абсолютном значении между любыми двумя точками данных – самая существенная. Это означает, что «расстояние» между людьми А и С будет «меньше», чем между А и В, если судить по уровню дохода. И это несмотря на то, что сотрудники A и B могли бы образовать более предпочтительную группу, состоящую из двух работающих родителей в возрасте более 30 лет, в то время как человек C – новичок, который только что окончил колледж и получил высокооплачиваемую должность в фирме.

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

Иерархическая кластеризация

Прежде чем завершить этот раздел, стоит упомянуть еще об одном популярном алгоритме кластеризации под названием «иерархическая кластеризация». При использовании этого алгоритма количество кластеров не определяется заранее, как в случае с методом k-средних.

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

Подобный способ создания групп «снизу вверх» позволяет произвести иерархическое упорядочение ваших данных. При этом вы сами решаете, на каком уровне иерархии должны находиться конечные группы.

Подведение итогов

В этой главе вы узнали об обучении без учителя, которое часто описывается как способ, позволяющий данным организоваться в группы самостоятельно. Однако, как отмечалось в сноске в начале главы, все не так просто. Способность обнаруживать группы в наборе данных – это большая сила, а, как мы знаем, чем больше сила, тем больше ответственность. Мы надеемся, что вы уловили эту мысль.

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


Табл. 8.3. Обучение без учителя. Резюме


В завершение следует еще раз сказать о том, что при обучении без учителя не бывает ни правильных группировок, ни правильных ответов. На самом деле вы можете считать подобные упражнения продолжением своего исследовательского путешествия по области анализа данных, описанного в главе 5, позволяющие вам взглянуть на данные под другим углом.

Глава 9