MIX 戦略

Jubatus では 2 種類の MIX 戦略を利用することができる。

  • Linear MIX (linear_mixer): クラスタ内の全サーバで同期的に MIX を実行する戦略である。 クラスタ内のいずれかのサーバが MIX 開始条件を満たすと、クラスタ内から 1 台の MIX マスタサーバが選定される。 MIX マスタは、クラスタ内の全てのサーバから前回の MIX 以降に学習した内容の差分を収集・結合し、その結果を全てのサーバに配信する。
  • Push/Pull MIX (skip_mixer, random_mixer, broadcast_mixer): クラスタ内の各サーバが、各々非同期的に MIX を実行する戦略である。 MIX 開始条件を満たしたサーバは、クラスタ内から MIX 対象サーバを 1 台以上選択し、自身と選択されたサーバ間で前回の MIX 以降に学習した内容を交換する。

Push/Pull MIX には、MIX 対象サーバの選択方法によって、以下の 3 つのバリエーションが存在する:

  • skip_mixer: N 台で構成されるクラスタの場合、自サーバから見て N/2 台先, N/4 台先, N/8 台先, ... のサーバを MIX 対象サーバとして選択する。 サーバの順序は各サーバの IP アドレスおよびポート番号により一意に決定される。
  • random_mixer: クラスタ内のサーバからランダムに 1 台を MIX 対象サーバとして選択する。
  • broadcast_mixer: クラスタ内のすべてのサーバを MIX 対象サーバとして選択する。

MIX 戦略のサポート状況

使用するエンジンおよびアルゴリズムによってサポートされる MIX 戦略が異なる。

エンジン アルゴリズム Linear MIX Push/Pull MIX
Classifier nn
その他  
Regression
 
Recommender nearest_neighbor_recommender
その他  
Nearest Neighbor
Anomaly lof  
light_lof
Clustering
 
Burst
 
Stat
 
Graph
 
Bandit