Multi-objeceive Fuzzy Genetics-based machine learning with Apache Spark MoGBMLにApache Sparkを適用し,分散計算を行う.
- データ名
- 世代数
- 目的数
- 並列化数(Spark未使用時)
- EMOアルゴリズムの種類(0:NSGAII,1:MOEA/D-WS,2:TCH,3:PBI,4:IPBI,5:AOF)
- 個体群の数
- CrossValidationの分割数
- 繰り返し回数
- 乱数シード値
- マスターノード名(ローカルの場合はlocal[*])
- アプリケーションの表示名
- データ分割数
- 分散計算可否
以下spark使用時のみ 4. Sparkの使用可否 5. HDFSのフォルダ名 6. executorの数 7. 各executorのコア数 8. 試行一回ごとにメモリリセット
多目的ファジィ遺伝的機械学習 (Genetics-based Machine Learning: GBML)とは,ファジィIf-then ルールで構成される識別器における識別精度と複雑性を同時に最適化することにより最適な識別器群を獲得する手法である.
パターン識別問題に対して, If-then 形式のルールを生成し,遺伝的アルゴリズムにより学習を行いファジィ識別器を設計する.このときIf-then ルールにおける条件部ファジィ集合として2 から5 分割までの三角型のファジィ集合を用いる.
ルール集合を1 つの個体とした遺伝的操作に加えて,ルール自体を1 つの個体とした局所探索を行っている.以下にアルゴリズムの手順を示す.
- 初期個体群(ルール集合群)を生成,評価する.
- 各ルール集合に対して交叉,突然変異操作を行い,ルールの組合せを変更し子個体を生成する.
- 生成した子個体の各ルールに対して一定確率で遺伝的操作を行い,ルールを更新する.
- 子個体を評価し,現個体群の更新を行う.
- 終了条件を満たさない場合,Step 2 へ戻る.
- 非劣な個体を選択し,最終的な識別器集合とする.
ファジィ識別器の設計は識別精度と複雑性の2 目的最小化問題として定義される.ここで識別精度は学習用データに対する誤識別率,複雑性は識別器が保持するルール数を示す.
- 個体の評価はパレート優越関係に基づく適応度による個体のランク付けを行う.
- 同一ランクの個体に対しては,多様性を評価するために,注目する個体の両隣に位置する個体間の距離を計算する(混雑距離)
- 個体の更新は,現個体群と子個体を足し合わせた集合に対して,評価の高い順に集合の半数の個体のみを選択する.
- 目的空間上に個体群と同数の重みベクトルを均等に分布させ,各重みベクトルに対して1 つ個体を割り当てる.
- 個体の評価は,各重みベクトルに対して,スカラー化関数により単一目的最適化問題に帰着させ,個体を評価する.
- 個体の更新は,各重みベクトルに対しユークリッド距離で定まる近傍内において,子個体と重みベクトルが保持する個体を比較する.