Predictの前処理での変数選択と遺伝的アルゴリズム
予測モデルを作成する際には、使用する説明変数の数と学習データ・レコード数の関係は
説明変数の数 << 学習データ・レコード数
でなくてはいけない理由(「次元の呪い」)を以前のコラムで解説を行ったことがありました。
では、利用可能な説明変数のうち、有効な最小の変数セットを選択する方法はあるのでしょうか?
一般に、組み合わせ最適化問題を高速に実行するアルゴリズムとしては、「遺伝的アルゴリズム」あるいは、英語表現のGenetic Algorithmの頭文字をとって「GA」と呼ばれるものが知られています。
これは、配送計画などの組み合わせ最適化問題によく使用されています。
GAの基本フローは以下となります:
1.初期集団の生成
ランダムに、親となるデータを発生させます。(※Predictではデータ変換
後の全変数の中からランダムにサブセットを選択)
2.適応度の評価
「適応条件」を満足しているか評価します。(※Predictでは回帰モデルを
作成して予測性能を評価)
3.選択
評価の高い親のグループを選択します。
4.交叉
親同士のそれぞれの一部を組み合わせて、その親たちに似ている
(※有力な変数の組み合わせを換える) データを作成します。
5.突然変異
外的要因を持ち込むため、一部「遺伝子」変化を加えます。
6.終了条件判定
世代数の上限等、イテレーションの終了条件が満たされなければ
2へ(次世代へ)
ニューラルワークスPredictでは、ネットワークの構造の最適化の前に、各説明変数毎に複数のデータ変換を施し、多くのデータ変換候補からの選択処理としてGAを適用する(選択されたデータ変換=1,選択しないデータ変換=0)ことで、有効な最小セットのデータ変換の組み合わせを高速に抽出します。
なお、適応度の評価には、ロジスティック回帰モデル(パラメータの設定によってはニューラルネットワーク)を構築し、相関係数等で評価しています。
ニューラルワークスPredictは、このように生物が持つ優れた学習機能や遺伝・進化の過程の仕組みをフルに活用した統合解析ツールなのです。
※弊社では、データ分析プロジェクトにまつわる様々なご相談に、過去20年以上に渡るプロジェクト経験に基づき、ご支援しています。社内セミナーの企画等、お気軽にご相談いただければ幸いです。
製品カタログ