Текст книги "Интеллектуальный анализ данных. Учебник"
Автор книги: Сергей Павлов
Жанр: Математика, Наука и Образование
Возрастные ограничения: +18
сообщить о неприемлемом содержимом
Текущая страница: 2 (всего у книги 7 страниц) [доступный отрывок для чтения: 2 страниц]
Кластеризация
Кластеризация – это задача обнаружения групп и структур в данных, которые в той или иной мере «похожи», не используя известные структуры в данных, а обучаясь на том, что уже есть.
В частности, кластеризация используется таким образом, что новые точки данных добавляются только к существующим кластерам, без изменения их формы для соответствия новым данным. Другими словами, кластеры формируются до сбора данных, а не закрепляются после того, как все данные собраны.
Учитывая набор параметров для данных, которые (в основном) являются переменными, и их «коллинеарность», кластеризацию можно рассматривать как иерархический алгоритм для поиска кластеров точек данных, удовлетворяющих набору критериев. Параметры можно сгруппировать в одну из двух категорий: значения параметров, определяющие пространственное расположение кластеров, и значения параметров, определяющие отношения между кластерами.
Учитывая набор параметров для набора данных, кластеризацию можно рассматривать как обнаружение этих кластеров. Какие параметры мы используем для этого? Метод неявной кластеризации, который находит ближайшие кластеры (или, в некоторых версиях, кластеры, более похожие друг на друга) с наименьшими вычислительными затратами, вероятно, является самым простым и наиболее часто используемым методом для этого. При кластеризации мы стремимся к тому, чтобы кластеры были как можно более связаны друг с другом – не имеет значения, делаем ли мы это, проводя больше измерений или используя только определенную технику для сбора данных.
Но в чем разница между кластеризацией и разделением данных на один или несколько наборов данных?
Методы неявной кластеризации и управляемой кластеризации на самом деле очень похожи. Вся разница в том, что мы используем разные параметры, чтобы определить, в каком направлении нам следует разделять данные. Возьмем в качестве примера набор точек на сфере, которые определяют взаимосвязанную сеть. Оба метода направлены на то, чтобы сеть была максимально близка к сети, определяемой двумя ближайшими точками. Это потому, что нам все равно, если мы очень далеко от одного или другого. Итак, используя алгоритм неявной кластеризации (кластерное расстояние), мы разделим сферу на две части, которые определяют очень разные сети: одна будет сетью, определяемой двумя ближайшими точками, а другая будет сетью, определяемой двумя самыми дальними точками. В результате получится две совершенно отдельные сети. Но это нехороший подход, потому что чем дальше мы удаляемся от двух ближайших точек, тем меньше расстояния между точками, тем труднее будет найти связи между ними – так как существует ограниченное количество точек, которые связаны небольшим расстоянием.
С другой стороны, метод контролируемой кластеризации (кластерное расстояние) потребовал бы от нас измерения длины между каждой парой точек, а затем выполнения вычислений, которые делают ближайшие друг к другу сети наименьшим возможным расстоянием. Результатом, вероятно, будут две отдельные сети, которые близки друг к другу, но не совсем одинаковы. Поскольку нам нужно, чтобы две сети были похожи друг на друга, чтобы обнаружить взаимосвязь, вполне вероятно, что этот метод не сработает – вместо этого два кластера будут совершенно разными.
Различие между этими двумя методами сводится к тому, как мы определяем «кластер». Дело в том, что в первом методе (кластерное расстояние) мы определяем кластер как множество точек, принадлежащих сети, аналогичной сети, определяемой двумя ближайшими точками. По этому определению сети всегда будут связаны (они будут находиться на одинаковом расстоянии друг от друга), независимо от того, сколько точек мы включаем в определение. Но во втором методе (управление кластеризацией) мы определяем кластеры как пары точек, которые находятся на одинаковом расстоянии от всех других точек в сети. Это определение может сильно затруднить поиск связанных точек, потому что оно требует, чтобы мы находили каждую точку, аналогичную другим точкам в сети. Тем не менее, это понятный компромисс. Сосредоточившись на поиске кластеров с одинаковым расстоянием друг от друга, мы, вероятно, получим больше полезных данных, поскольку, если мы найдем связи между ними, мы сможем использовать эту информацию, чтобы найти взаимосвязь между ними. Это означает, что у нас больше возможностей найти связи, что облегчит выявление отношений. Определяя кластеры с помощью измерений расстояния, мы гарантируем, что сможем найти взаимосвязь между двумя точками, даже если нет возможности напрямую измерить расстояние между ними. Но это часто приводит к очень малому количеству соединений в данных.
Глядя на пример создания двух наборов данных – один для неявной кластеризации и один для управляемой кластеризации – мы можем легко увидеть разницу между этими двумя методами. В первом примере результаты могут быть одинаковыми в одном случае и разными в другом. Но если метод хорош для поиска интересных взаимосвязей (как это обычно и бывает), он даст нам полезную информацию об общей структуре данных. Однако, если техника плохо выявляет взаимосвязи, то она даст нам очень мало информации.
Допустим, мы разрабатываем систему для определения направления нового продукта и хотим определить похожие продукты. Поскольку невозможно измерить направление продукта вне системы, нам придется найти связи между продуктами на основе информации об их названиях. Если есть хорошее правило, которое мы можем использовать для установления связей между похожими продуктами, тогда эта информация очень полезна, поскольку она позволяет нам находить интересные отношения (путем идентификации похожих продуктов, которые появляются близко друг к другу). Однако, если связь между двумя продуктами не очень очевидна, вполне вероятно, что это просто несвязанная связь – а значит, выбранный нами метод обнаружения признаков может не иметь большого значения. С другой стороны, если связь не очень очевидна, но чрезвычайно полезна (как в приведенном выше примере), то мы можем начать узнавать, как название продукта связано с процессом, через который продукт прошел. Это пример того, как разные методы могут давать очень разные результаты.
В отличие от характеристик разных методов, у вас также есть разные возможные техники. Например, когда я говорю, что моя система использует распознавание изображений, это не обязательно означает, что процесс, через который проходит продукт, использует распознавание изображений. Если есть изображения продукта, которые мы сделали в прошлом, или если мы захватили некоторые входные данные из изображения продукта, полученная система, вероятно, не будет использовать распознавание изображений. Это может быть что-то совершенно другое – что-то гораздо более сложное. Каждый из этих методов способен идентифицировать очень разные вещи. Результат может зависеть от характеристик фактических данных или от используемых данных. Это означает, что недостаточно посмотреть на конкретный тип инструмента – нам также нужно посмотреть, какой тип инструмента будет использоваться для определенного типа процесса. Это пример того, как анализ данных не должен быть сосредоточен только на решаемой проблеме. Скорее всего, система проходит множество различных процессов, поэтому нам нужно посмотреть, как будут использоваться различные инструменты для создания взаимосвязи между двумя точками, а затем решить, какой тип данных рассматривать.
Часто мы будем больше озабочены тем, как будет применяться метод. Например, мы можем захотеть увидеть, какой тип данных, скорее всего, будет полезен для поиска связи. Мы видим, что нет большой разницы в том, как применяется обработка естественного языка. Это означает, что, если мы хотим найти взаимосвязь, обработка естественного языка будет хорошим выбором. Однако обработка естественного языка не решает все возможные отношения. Обработка естественного языка часто полезна, когда мы хотим сделать огромное количество маленьких шагов, но обработка естественного языка ничего не делает, когда мы хотим пойти действительно глубоко. Взгляд на обработку естественного языка позволяет устанавливать связи между данными, чего нельзя сделать при использовании других методов. Это одна из причин, по которой обработка естественного языка может быть полезной, но не необходимой.
Тем не менее, обработка естественного языка часто не находит таких сильных связей, как распознавание изображений, потому что обработка естественного языка фокусируется на более простых данных, тогда как распознавание изображений рассматривает очень сложные данные. В этом случае обработка естественного языка не очень хороша, но все же может быть полезна. Рассмотрение обработки естественного языка не всегда является лучшим способом решения проблемы. Обработка естественного языка может быть полезна, если данные простые, но иногда невозможно работать с очень сложными данными.
Этот пример можно применить ко многим различным типам данных, но обработка естественного языка, как правило, более полезна для данных естественного языка, таких как текстовые файлы. Для более сложных данных (таких как изображения) обработки естественного языка часто бывает недостаточно. Если есть проблема с обработкой естественного языка, важно рассмотреть другие методы, такие как определение слов и определение того, какие данные на самом деле хранятся в изображении. Этот тип данных потребует другой структуры данных, чтобы найти взаимосвязь.
С возрастающей сложностью технологий у нас часто нет времени просматривать данные, которые мы просматриваем. Даже если мы посмотрим на данные, мы можем не найти хорошего решения, потому что у нас есть большое количество вариантов, но не так много времени, чтобы рассмотреть их все. Вот почему во многих компаниях есть специалист по данным, который может принять множество различных решений, а затем решить, что лучше всего подходит для данных
Классификация
Классификация – это задача обобщения известной структуры для применения к новым данным. Например, программа электронной почты может попытаться классифицировать электронное письмо как «законное», или как «спам», или, может быть, как «удаленное администратором», и если она сделает это правильно, то может пометить электронное письмо как актуально для пользователя.
Однако для серверов классификация более сложна, потому что хранение и передача находятся далеко от пользователей. Когда серверы потребляют огромные объемы данных, проблема в другом. Задача сервера состоит в том, чтобы создать хранилище и передать это хранилище, чтобы серверы могли получить к нему доступ. Таким образом, серверы часто могут избежать разглашения особо конфиденциальных данных, если они могут понять смысл данных при их поступлении, в отличие от обширных пулов данных, часто используемых для электронной почты. Проблема классификации отличается, и к ней нужно подходить по-другому, а существующие системы классификации для серверов не предоставляют интуитивно понятного механизма, позволяющего пользователям обрести уверенность в том, что серверы правильно классифицируют их данные.
Этот простой алгоритм полезен для классификации данных в базах данных, содержащих миллионы или миллиарды записей. Алгоритм работает хорошо, при условии, что все отношения в данных достаточно отличаются друг от друга и что данные относительно малы как в столбцах, так и в строках. Это делает классификацию данных полезной в системах с относительно небольшим объемом памяти и небольшим объемом вычислений, и поэтому классификация больших наборов данных остается серьезной нерешенной проблемой.
Простейшим алгоритмом классификации для классификации данных является метод полной корреляции, также известный как метод корреляции. При полной корреляции у вас есть два набора данных, и вы сравниваете данные одного набора с данными другого набора. Это легко сделать для отдельных фрагментов данных. Следующим шагом является вычисление корреляции между двумя наборами данных. Эта корреляция двух наборов данных говорит вам, какой процент данных составляет каждый набор. Таким образом, используя эту корреляцию, вы можете классифицировать данные либо как один набор, либо как другой, указывая на части набора данных, которые происходят из того или иного набора.
Этот простой метод часто хорошо работает для данных, хранящихся в простых базах данных с небольшим объемом данных и низкой скоростью доступа к данным. Например, система базы данных может использовать древовидную структуру для хранения данных, при этом столбцы записи представляют поля в структуре. Эта структура не позволяла ранжировать данные, потому что данные находились бы в двух отдельных строках древовидной структуры. Это делает невозможным осмысление данных, если данные помещаются только в одну древовидную структуру. Если в базе данных есть два дерева данных, вам нужно будет сравнить каждое из двух деревьев. Если бы было большое количество деревьев, сравнение могло бы быть вычислительно затратным.
Следовательно, полная корреляция является плохим методом классификации. Корреляция данных не различает соответствующие части данных, и данные относительно малы как в столбцах, так и в строках. Эти проблемы делают полную корреляцию непригодной для простых систем классификации данных и систем хранения данных. Однако, если данные относительно велики, может применяться полная корреляция. Этот пример полезен для систем хранения данных с относительно высокой вычислительной нагрузкой.
Сочетание метода классификации данных с системой хранения данных повышает как производительность, так и удобство использования. В частности, размер результирующего алгоритма классификации в значительной степени не зависит от размера хранилища данных. Алгоритм подробной классификации вообще не требует много памяти для хранения данных. Часто он достаточно мал, чтобы хранить его в буфере, и многие организации хранят свои системы классификации таким образом. Также характеристики производительности системы хранения данных не зависят от классификатора. Система хранения данных может обрабатывать данные с высокой степенью изменчивости.
Почему системы классификации не так хороши?
Большинство систем хранения данных не имеют хорошего классификатора, а система классификации данных вряд ли со временем станет лучше. Если в вашей системе хранения данных нет хорошего классификатора, у вашей системы классификации возникнут проблемы.
Большинство компаний так не думают о своих системах хранения данных. Вместо этого они предполагают, что систему можно исправить. Они видят в этом то, что со временем можно улучшить, основываясь на будущих усилиях по техническому обслуживанию. Это убеждение также позволяет легко исправить некоторые проблемы, возникающие из-за плохих систем хранения данных. Например, система хранения данных, которая не принимает слишком короткие или неупорядоченные данные, со временем может быть улучшена, если к ее исправлению будет привлечено больше людей.
Суммирование
Суммирование – предоставление более компактного представления набора данных, включая визуализацию структуры данных, полезно для решения более простых задач и поиска данных для статистических закономерностей и выводов. Вы часто можете аппроксимировать эту структуру, моделируя структуру с помощью алгоритма, аналогичного линейному моделированию.
После центральной предельной теоремы эти результаты часто более полезны для теоретических целей. Одно из основных отличий заключается в том, что линейные модели не очень устойчивы к смещениям, а линейная модель часто не обеспечивает мощного, естественного метода моделирования. Прямолинейная модель имеет один член корреляции (который может быть линейным) и нечувствительна к корреляции между многими параметрами. Результатом линейного моделирования часто является то, что многие факторы влияют на один результат. Часто это хорошо, поскольку мы можем легко различать различные явления, разделяя их, но это менее полезно для анализа проблем, в которых коррелируют несколько переменных, таких как цены на товары или измерение результатов опросов.
Есть много других альтернатив линейному моделированию, которые не так устойчивы к смещениям. Например, кубическая статистика часто является простым способом моделирования корреляций в линейных моделях и предоставляет несколько полезных сокращений для анализа характеристик многих параметров. Матрица мощности – это родственный метод, который часто используется в вычислительной биологии для моделирования биологических систем. Линейное моделирование требует сложной математики для его вывода, поэтому часто есть другие способы моделирования лежащих в основе процессов, даже в этих областях.
К сожалению, линейная модель является отличным инструментом для выполнения простого регрессионного анализа в таких ситуациях, как сравнение цен на отдельные элементы в наборе данных или анализ одного результата, поскольку она дает разумные результаты с низкой статистической ошибкой. Некоторые наборы данных также включают относительно простые линейные модели. Поскольку линейная модель может быть распространена, многие приложения вычислительных методов часто основаны на линейных моделях.
Наборы данных, для характеристики которых требуется более сложное моделирование, обычно более полезны для теоретических целей. Примерами этого являются моделирование структур населения путем моделирования взаимодействия нескольких переменных или моделирование финансовых транзакций на финансовом рынке с использованием более сложного способа моделирования взаимодействия между несколькими переменными, такого как ограниченная регрессия.
Во многих областях вычислительной техники и статистики используется «линейное программирование» для определения решения сложных задач, включающих множество переменных.
Параметры линейной модели
Наборы данных используют различные параметры для линейной модели в виде параметров линейной регрессии, переменных линейной модели и вспомогательных параметров. Аналогичным образом параметры используются для указания переменных в линейной модели. Эти параметры можно не указывать, но они могут быть полезны для моделирования большинства проблем.
Обычно задается количество параметров, а затем для каждого из этих параметров задается переменная линейной модели. Количество параметров обычно является хорошим способом описать, сколько групп включают данные.
Параметры обычно моделируются как набор линейных алгебраических уравнений вида (это уравнение представляет собой уравнение с постоянным коэффициентом для каждого параметра). Различные параметры часто моделируются с помощью разных уравнений, как того требует структура данных. Если имеется несколько независимых переменных и одна независимая переменная для каждого параметра, то один набор независимых переменных часто моделируется линейными уравнениями для каждого параметра. Уравнения могут варьироваться для каждого параметра, чтобы помочь смоделировать данные.
Выход линейной модели представляет собой набор коэффициентов постоянного фактора, основанных на переменных и каждом из параметров. Константы могут быть линейными или линейными комбинациями параметров. Матрицы линейных коэффициентов часто не подходят, потому что они полезны для анализа данных линейным способом, а линейная модель часто не подходит. Другой хороший вариант моделирования – использовать расширение линейной модели, называемое многоуровневой линейной моделью.
Линейные модели часто могут иметь дополнительный параметр, основанный на вспомогательной переменной. Вспомогательный параметр может быть смоделирован как матрица линейной модели, но также может быть смоделирован как матрица линейной модели с несколькими допущениями.
Многие линейные модели требуют нескольких параметров линейной регрессии для моделирования сложной проблемы. Поскольку в задаче используется несколько независимых переменных, линейная модель в большинстве ситуаций бесполезна. Часто это происходит потому, что простой линейной модели недостаточно для описания сложного процесса.
Альтернативой является создание линейной модели, но затем использование соответствующего вспомогательного параметра для задания начальных значений параметров. Это позволит использовать линейную модель во многих ситуациях.
Настройки переменных
Как отмечалось выше, переменные обычно задаются для каждого параметра модели. Каждая настройка параметра имеет набор эффектов, основанных на переменной и параметрах. Если начальные значения параметров заданы с помощью линейных уравнений, то линейное уравнение будет описывать набор переменных. Линейное уравнение обычно включает некоторые параметры, которых нет в наборе данных, для моделирования этих параметров.
Настройки переменных часто могут варьироваться в зависимости от того, как представлен набор данных.
Параметры также можно использовать в качестве примера. Каждый параметр можно рассматривать как независимую переменную, и каждая независимая переменная часто считается значением, которое будет определять параметр. Обычно функцию каждого параметра определяют как зависимую переменную, которая будет определять значение параметра. Если параметры включают зависимые переменные, то функции, определенные для параметров, обычно являются функциями с постоянным коэффициентом. Параметры представляют собой набор линейных уравнений для зависимой переменной и часто называются независимыми переменными.
Вы можете установить настройки параметров на основе ваших данных. Как правило, если у вас есть данные для двух независимых переменных, параметры задаются для включения зависимых переменных, чтобы определить параметры. Это создаст линейную модель, использующую только две независимые переменные. Использование параметров для установки зависимых переменных также будет иметь другие последствия для линейной модели. Например, если значения зависимых переменных немного отличаются, то настройки параметров могут быть не совсем линейными.
Если в модели используются зависимые переменные, а набор данных отличается, может потребоваться настроить набор данных, прежде чем использовать параметры для установки параметров. Это может означать добавление или удаление некоторых зависимых переменных. Поскольку зависимые переменные иногда отсутствуют в наборе данных, вам может потребоваться наложить другие ограничения на параметры. Детали настройки параметров для включения зависимых переменных будут различаться в зависимости от типов параметров, используемых в модели.
Набор параметров обычно по умолчанию включает линейную модель. Обычно можно настроить параметры так, чтобы они включали другие модели или включали другой набор параметров. Этот параметр также создаст более сложную модель. Во многих случаях желательно включить в модель все параметры, в том числе и те, которых нет в наборе данных. Это часто может привести к гораздо более простой модели, чем модель, которая включает только параметры набора данных.
В некоторых ситуациях необходимо выполнить математическое моделирование проблемы, чтобы увидеть, можно ли найти решение. В моделях часто используются схожие переменные и параметры. Результаты моделирования также могут быть применимы для многих различных ситуаций. Например, если вы знаете, как наборы данных будут представлены на вычислительном графе, вы можете использовать технику математического моделирования, чтобы найти хорошее представление для данных, чтобы сделать модель более достоверной.
Например, у вас может быть функция, показывающая, сколько вариаций будет существовать в стимуле. Вы можете оценить различные представления данных, чтобы определить, какое из них лучше всего подходит для ваших данных. Как правило, если возможных моделей не так много, то более вероятно, что выбранное представление является правильным. Функция будет меняться в зависимости от данных. Если данные представлены в виде изображений, они будут скорректированы, чтобы включить наиболее распространенные формы. Модель будет корректироваться в зависимости от количества изображений, включенных в набор данных. По мере увеличения количества изображений в наборе данных модель будет корректироваться. Это означает, что у вас, как правило, больше шансов выбрать правильную модель, когда данные не представлены в виде набора характеристик изображения.
Наборы данных на основе графиков могут помочь вам указать модель, которая используется для представления данных. Обычно это представление теории графов. Существует несколько представлений для каждого набора параметров. Различные наборы данных имеют разные теории графов, поэтому вы можете выбрать теорию графов, которая лучше всего соответствует данным для вашего набора данных.
Внимание! Это не конец книги.
Если начало книги вам понравилось, то полную версию можно приобрести у нашего партнёра - распространителя легального контента. Поддержите автора!Правообладателям!
Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.Читателям!
Оплатили, но не знаете что делать дальше?