Введение

Структурированные данные в науке о данных и машинном обучении представлены в виде электронных таблиц и таблиц. Вы видите строки и столбцы данных в базах данных SQL, файлах CSV или JSON, кадрах данных Pandas и других форматах. Однако мы считаем, что эти точки данных отделены друг от друга.

Традиционный способ работы со структурированными данными в машинном обучении — последовательный. Вы должны подумать о разработке какой-либо модели после того, как у вас будут данные и у вас будет достаточно времени для проведения исследовательского анализа данных (EDA) и очистки данных.

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

Какой бы ни была ваша конечная цель, вам следует подумать о разработке вектора или встраивания, где вы сможете преобразовать свои данные в числовой ввод для своей модели. Возможно, вам потребуется закодировать столбец значений «Истина / Ложь» в 1 и 0. Или, возможно, есть текст, который необходимо каким-то образом векторизовать с помощью методов обработки естественного языка (NLP).

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

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

Краткий обзор традиционного машинного обучения

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

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

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

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

Однако есть еще один веский аргумент в пользу того, почему векторы признаков так желательны. Рассмотрение каждой выборки данных (измерения) как отдельной точки в n-мерном пространстве позволяет использовать испытанный линейный алгебраический аппарат, который сотни лет применялся в технике из других областей.

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

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

Важнейшая роль графиков в машинном обучении

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

Граф — это тип структуры данных, состоящий из вершин и ребер. Он служит математической основой для изучения парных отношений между предметами и вещами.

Граф обычно определяется как G = (V, E), где V — набор узлов, а E — связи между ними. Матрицы смежности, или А, часто используются для представления графов. Размерность A имеет N узлов, если граф имеет N узлов (NxN).

Для дальнейшего объяснения узлов в сети люди иногда предлагают другую матрицу признаков. Если каждый узел имеет F признаков, то X — это размер матрицы признаков (NxF).

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

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

Граф нейронной сети

Итак, что такое графовая нейронная сеть (GNN)? Это нейронная сеть, которая работает с графическими данными, напрямую манипулируя ими. GNN были в центре внимания исследований в течение последнего десятилетия.

Способность графовых нейронных сетей (GNN) оценивать данные о структуре графа в последнее время вызывает большой интерес.

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

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

Вы можете использовать GNN, чтобы сделать следующее:

1. Классификация узлов

2. Прогнозирование ссылок

3. Классификация графиков

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

Моделирование данных для графического представления

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

Заключение

GNN — это самое последнее достижение в области машинного обучения. Это позволяет нам исследовать и отказаться от традиционных способов решения и анализа структурированных данных.

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

Вам нужна помощь в использовании GNN для анализа структурированных данных? Свяжитесь со мной по адресу [email protected], и я свяжусь с вами.