DeepWalk: поведение и как его реализовать
Шпаргалка по быстрому анализу и оценке отношений в графовых сетях при помощи Python, Networkx и Gensim.При помощи графовых структур данных можно представлять сложные взаимодействия, и работа с ними открыла новые пути анализа и классификации сущностей – смотря, как они влияют друг на друга. Притом, что такой анализ – очень мощное средство для нахождения различных структур внутри сообществ, в них не хватает возможностей запрограммировать аспекты графа как входную информацию для традиционных алгоритмов машинного обучения. Алгоритм DeepWalk [1] позволяет схватывать взаимодействия, содержащиеся в графе и программировать их в простых нейронных сетях как векторные представления, которые далее могут потребляться вышеупомянутыми алгоритмами машинного обучения. В Интернете много простых вводных статей, позволяющих познакомиться с алгоритмом DeepWalk, однако не хватает таких, в которых приводился бы код и сообщались бы детали реализации подобных систем. Под такими деталями я понимаю параметризацию модели, соображения о развертывании и обработку невидимых данных.
В этой короткой статье мы в общем виде рассмотрим графовые сети, Word2Vec / Skip-Gram, а также процесс DeepWalk. В качестве иллюстрации приведу пример с многоклассовой классификацией, на котором демонстрируется ход алгоритма. Рассмотрим различные конфигурации параметров и обратим внимание, как они влияют на производительность алгоритма. В заключение обрисую некоторые моменты, связанные с развертыванием и обработкой невидимых данных внутри системы.

















