見出し画像

Predictの前処理での変数選択と遺伝的アルゴリズム

予測モデルを作成する際には、使用する説明変数の数と学習データ・レコード数の関係は
         説明変数の数 << 学習データ・レコード数
でなくてはいけない理由(「次元の呪い」)を以前のコラムで解説を行ったことがありました。

では、利用可能な説明変数のうち、有効な最小の変数セットを選択する方法はあるのでしょうか?

一般に、組み合わせ最適化問題を高速に実行するアルゴリズムとしては、「遺伝的アルゴリズム」あるいは、英語表現のGenetic Algorithmの頭文字をとって「GA」と呼ばれるものが知られています。

これは、配送計画などの組み合わせ最適化問題によく使用されています。

GAの基本フローは以下となります:

1.初期集団の生成
    ランダムに、親となるデータを発生させます。(※Predictではデータ変換
 後の全変数の中からランダムにサブセットを選択)

2.適応度の評価
    「適応条件」を満足しているか評価します。(※Predictでは回帰モデルを
  作成して予測性能を評価)

3.選択
    評価の高い親のグループを選択します。

4.交叉
    親同士のそれぞれの一部を組み合わせて、その親たちに似ている
 (※有力な変数の組み合わせを換える)     データを作成します。

5.突然変異
    外的要因を持ち込むため、一部「遺伝子」変化を加えます。

6.終了条件判定
    世代数の上限等、イテレーションの終了条件が満たされなければ
    2へ(次世代へ)

ニューラルワークスPredictでは、ネットワークの構造の最適化の前に、各説明変数毎に複数のデータ変換を施し、多くのデータ変換候補からの選択処理としてGAを適用する(選択されたデータ変換=1,選択しないデータ変換=0)ことで、有効な最小セットのデータ変換の組み合わせを高速に抽出します。

なお、適応度の評価には、ロジスティック回帰モデル(パラメータの設定によってはニューラルネットワーク)を構築し、相関係数等で評価しています。

ニューラルワークスPredictは、このように生物が持つ優れた学習機能や遺伝・進化の過程の仕組みをフルに活用した統合解析ツールなのです。

弊社では、データ分析プロジェクトにまつわる様々なご相談に、過去20年以上に渡るプロジェクト経験に基づき、ご支援しています。

社内セミナーの企画等、お気軽にご相談いただければ幸いです。

この記事が気に入ったらサポートをしてみませんか?