近傍という考え方
近傍(neighborhood)という考え方は最適化アルゴリズムやグラフ学習で広く用いられる
最適化アルゴリズム
cooperative optimizationという考え方がある
具体的なアルゴリズムとしてはParticle Swarm Optimizationなど
粒子群が探索空間を飛び回って目的関数を最小化する
各粒子がベクトルを持ち、そのベクトルを更新する際に近傍(あるいは全体)の最良解の情報を使う
目的:目的関数の最適解を得る
Graph Machine Learning
GNN
各nodeが特徴ベクトルを持ち、それを各ステップで近傍nodeからの情報を使いながら更新する
message passing
GCN: 隣接行列を使って固定の重みで更新する
GraphSAGE: 更新の時にサンプリングされた近傍を使って、集約関数を適用する
GAT: Attentionを導入して近傍からの情報に重みを付ける
目的:グラフ構造やattributeの情報を表現するベクトル(embedding)を得る
共通点
近傍からの情報/メッセージを得て、自身の状態を更新する
違い
PSOのベクトル:最適化問題の次元数
GNNのベクトル(embedding):ユーザが設定する任意の次元
public