グラフベースの機械学習は、近年大きく進歩しました。グラフベースの手法は、リンク予測、コミュニティ発見、ノード分類など、データ サイエンスにおける多くの一般的な問題に応用できます。問題を解決するには、問題を整理する方法と所有するデータに応じてさまざまな方法があります。この記事では、グラフベースの埋め込みアルゴリズムの概要を説明します。最後に、Python ライブラリ (node2vec など) を使用してグラフ上にさまざまな埋め込みを生成する方法も紹介します。
グラフの埋め込み
グラフレベルの埋め込みは一般的ではなく、各グラフを表す埋め込みベクトルの生成で構成されます。たとえば、複数のサブグラフを含む大きなグラフでは、対応する各サブグラフにグラフ構造を表す埋め込みベクトルがあります。分類問題は、グラフの埋め込みが役立つ一般的なアプリケーションです。この種の問題には、グラフを特定のカテゴリに分類することが含まれます。
Python の実装
Python コードを使用して、必要な次のライブラリを実装します
Pythnotallow=3.9 networkx>=2.5 pandas>=1.2.4 numpy>=1.20.1 node2vec>=0.4.4 karateclub>=1.3.3 matplotlib>=3.3.4
そうでない場合node2vec パッケージがインストールされている場合は、そのドキュメントを参照してください。 karateclub パッケージをインストールします。これも
ノードの埋め込み
import random import networkx as nx import matplotlib.pyplot as plt from node2vec import Node2Vec from node2vec.edges import HadamardEmbedder from karateclub import Graph2Vec plt.style.use("seaborn") # generate barbell network G = nx.barbell_graph( m1 = 13, m2 = 7 ) # node embeddings def run_n2v(G, dimensions=64, walk_length=80, num_walks=10, p=1, q=1, window=10): """ Given a graph G, this method will run the Node2Vec algorithm trained with the appropriate parameters passed in. Args: G (Graph) : The network you want to run node2vec on Returns: This method will return a model Example: G = np.barbell_graph(m1=5, m2=3) mdl = run_n2v(G) """ mdl = Node2Vec( G, dimensions=dimensions, walk_length=walk_length, num_walks=num_walks, p=p, q=q ) mdl = mdl.fit(window=window) return mdl mdl = run_n2v(G) # visualize node embeddings x_coord = [mdl.wv.get_vector(str(x))[0] for x in G.nodes()] y_coord = [mdl.wv.get_vector(str(x))[1] for x in G.nodes()] plt.clf() plt.scatter(x_coord, y_coord) plt.xlabel("Dimension 1") plt.ylabel("Dimension 2") plt.title("2 Dimensional Representation of Node2Vec Algorithm on Barbell Network") plt.show()
上の図は、によって生成された視覚的なノードの埋め込みです。バーベル グラフには、node2vec、ディープ ウォーク、ランダム ウォークなど、ノードの埋め込みを計算するための多くの方法があります。ここではnode2vecが使用されます。
エッジ埋め込み
edges_embs = HadamardEmbedder( keyed_vectors=mdl.wv ) # visualize embeddings coordinates = [ edges_embs[(str(x[0]), str(x[1]))] for x in G.edges() ] plt.clf() plt.scatter(coordinates[0], coordinates[1]) plt.xlabel("Dimension 1") plt.ylabel("Dimension 2") plt.title("2 Dimensional Representation of Edge Embeddings on Barbell Network") plt.show()
バーベル グラフによるエッジ埋め込みの視覚化を表示します。Hammard Embedder のソース コードはここにあります。 (https://github.com/eliorc/node2vec/blob/master/node2vec/edges.py#L91)。
グラフ埋め込み
n_graphs = 10 Graphs = [ nx.fast_gnp_random_graph( n = random.randint(5,15), p = random.uniform(0,1) ) for x in range(n_graphs) ] g_mdl = Graph2Vec(dimensions=2) g_mdl.fit(Graphs) g_emb = g_mdl.get_embedding() x_coord = [vec[0] for vec in g_emb] y_coord = [vec[1] for vec in g_emb] plt.clf() plt.scatter(x_coord, y_coord) plt.xlabel("Dimension 1") plt.ylabel("Dimension 2") plt.title("2 Dimensional Representation of Graph Embeddings on Randomly Generated Networks") plt.show()
これは、ランダムに生成されたグラフのグラフ埋め込み視覚化です。graph2vec アルゴリズムのソース コードは次のとおりです。ここで見つかります。 (https://karateclub.readthedocs.io/en/latest/_modules/karateclub/graph_embedding/graph2vec.html)
概要
埋め込みは、離散グラフをベクトル表現にマッピングする関数です。グラフ データ、ノード エンベディング、エッジ エンベディング、グラフ エンベディングからさまざまな形式のエンベディングを生成できます。 3 種類の埋め込みはすべて、グラフの初期構造と特徴を X 次元の数値にマッピングするベクトル表現を提供します。
以上がグラフ埋め込みの概要: ノード、エッジ、グラフの埋め込み方法と Python の実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

「AI-Ready労働力」という用語は頻繁に使用されますが、サプライチェーン業界ではどういう意味ですか? サプライチェーン管理協会(ASCM)のCEOであるAbe Eshkenaziによると、批評家ができる専門家を意味します

分散型AI革命は静かに勢いを増しています。 今週の金曜日、テキサス州オースティンでは、ビテンサーのエンドゲームサミットは極めて重要な瞬間を示し、理論から実用的な応用に分散したAI(DEAI)を移行します。 派手なコマーシャルとは異なり

エンタープライズAIはデータ統合の課題に直面しています エンタープライズAIの適用は、ビジネスデータを継続的に学習することで正確性と実用性を維持できるシステムを構築する大きな課題に直面しています。 NEMOマイクロサービスは、NVIDIAが「データフライホイール」と呼んでいるものを作成することにより、この問題を解決し、AIシステムがエンタープライズ情報とユーザーインタラクションへの継続的な露出を通じて関連性を維持できるようにします。 この新しく発売されたツールキットには、5つの重要なマイクロサービスが含まれています。 NEMOカスタマイザーは、より高いトレーニングスループットを備えた大規模な言語モデルの微調整を処理します。 NEMO評価者は、カスタムベンチマークのAIモデルの簡素化された評価を提供します。 Nemo Guardrailsは、コンプライアンスと適切性を維持するためにセキュリティ管理を実装しています

AI:芸術とデザインの未来 人工知能(AI)は、前例のない方法で芸術とデザインの分野を変えており、その影響はもはやアマチュアに限定されませんが、より深く影響を与えています。 AIによって生成されたアートワークとデザインスキームは、広告、ソーシャルメディアの画像生成、Webデザインなど、多くのトランザクションデザインアクティビティで従来の素材画像とデザイナーに迅速に置き換えられています。 ただし、プロのアーティストやデザイナーもAIの実用的な価値を見つけています。 AIを補助ツールとして使用して、新しい美的可能性を探求し、さまざまなスタイルをブレンドし、新しい視覚効果を作成します。 AIは、アーティストやデザイナーが繰り返しタスクを自動化し、さまざまなデザイン要素を提案し、創造的な入力を提供するのを支援します。 AIはスタイル転送をサポートします。これは、画像のスタイルを適用することです

最初はビデオ会議プラットフォームで知られていたZoomは、エージェントAIの革新的な使用で職場革命をリードしています。 ZoomのCTOであるXD Huangとの最近の会話は、同社の野心的なビジョンを明らかにしました。 エージェントAIの定義 huang d

AIは教育に革命をもたらしますか? この質問は、教育者と利害関係者の間で深刻な反省を促しています。 AIの教育への統合は、機会と課題の両方をもたらします。 Tech Edvocate NotesのMatthew Lynch、Universitとして

米国における科学的研究と技術の開発は、おそらく予算削減のために課題に直面する可能性があります。 Natureによると、海外の雇用を申請するアメリカの科学者の数は、2024年の同じ期間と比較して、2025年1月から3月まで32%増加しました。以前の世論調査では、調査した研究者の75%がヨーロッパとカナダでの仕事の検索を検討していることが示されました。 NIHとNSFの助成金は過去数か月で終了し、NIHの新しい助成金は今年約23億ドル減少し、3分の1近く減少しました。リークされた予算の提案は、トランプ政権が科学機関の予算を急激に削減していることを検討しており、最大50%の削減の可能性があることを示しています。 基礎研究の分野での混乱は、米国の主要な利点の1つである海外の才能を引き付けることにも影響を与えています。 35

Openaiは、強力なGPT-4.1シリーズを発表しました。実際のアプリケーション向けに設計された3つの高度な言語モデルのファミリー。 この大幅な飛躍は、より速い応答時間、理解の強化、およびTと比較した大幅に削減されたコストを提供します


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ホットトピック









