明らかな評価基準がない場合のモデルの評価方法
この疑問はニューラルネットワークモデルの学習を終えた際に起こります。
あなたは、問題を把握し、解法を理解し、正しいデータを得、その内容とフォーマットを理解し、モデル構築に集中するための時間を割き、製品のパラメータの選択し、おどろくほど短い時間でネットワークの学習を終えたに違いありません。
ニューラルワークス Predictあるいはニューラルワークス Professional II/PLUSにより”テストコマンド”を実行し、R相関、平均絶対誤差、平均2乗誤差、あるいは平均分類率のような統計測度を得ているはずです。
そして、次の疑問にぶち当たります-このモデルはどのくらいよいものなのだろうか?R相関が0.88と想定した場合、このモデルはよいモデルなのだろうか?それは驚くほど優れたものなのだろうか?それとも本当は悪いモデルなのだろうか?だれかその違いを教えてくれないだろうか!?もちろん“良い”は相対的で、平均よりも良いという意味です。
確かに、あなたはモデルを繰り返し構築し、最良のモデルを保存し続けます。
20モデルを構築した後、ベストなモデル(それはたとえばR=0.91を示し)を保持することには良い感覚をもつことでしょう。
少なくとも、R=0.91モデルは他のモデルよりも良く、平均よりも良いということを知っていますが、しかしもちろんこれは使用したアルゴリズムや、あるいは使用したパラメータ、あるいはその製品に対して用意したデータの使用方法でということです。
他のアプローチであればもっと良い結果を生じる可能性はないのでしょうか?R=0.91は他のアプローチと比較してどのくらい良いものなのでしょうか?
今から11年前、ある研究によるとモデルの精度と株式市場取引のシミュレーションによる収益の関係は、あったとしても非常に希薄であるということが示されました。
数千のネットワークモデルを学習、そして評価し、64%の精度の傾向予測(上下移動)がもっとも収益があるということが分かりました。78%の精度のものよりもよかったということです。
したがって、目的の使用環境に合わせてモデルを計測することが最も重要であるということです。最終性能評価として、統計性能に依存することはできないということです。
古く悲しいことわざがあります-”82%の株式市場変動の予測精度だったのに、全ての財産を失ったよ”
通常、比較の理由付けのための基準ラインが使用されます。
それはたとえば、“最新モデルは昨年Xドル儲けた”あるいは“原料費にXドル節約できた”、あるいは“我々は常にR相関を評価に使用します“など。
たしかに、より重要な情報をすこし探る必要が通常ありますが、重要なことは、あなたの手持ちの結果と比較するいくつかの基準型をもつことです。
最後の切札として、利潤のような適切な性能測度を使用しない場合、ニューラルネットワークと線形回帰モデルを比較することは非常に役に立ちます。
線形回帰は標準的な統計解析技術であり、加えられた非線形の複雑さが、そのより単純なアプローチからどの程度結果に変更を与えるかを見てみることは、良いことです。
もし、結果がその2つのモデル(ニューラルと線形)で似通っているならば、そのときは線形回帰モデルがおそらく最善の選択です。
線形回帰モデルの構築
ニューラルワークス Predictとニューラルワークス Professional II/PLUSユーザは、ニューラルネットワークと同様に線形回帰モデルを作成することができます。
線形回帰モデルはただ単に、隠れ層がなく、非線形(シグモイド)出力の代わりに線形出力関数を使ったものです。
両者はともに図に描くことができます;両者はともに入力と出力ノードを持ちます;両者はともにバイアスノード(あるいは’a0項’)を持ちます;両者はともに重み(あるいは’係数’)を持ちます。その違いは隠れ層の存在と、隠れ層と(通常)出力層の非線形伝達関数の使用です。
ニューラルネットワークのR、平均二乗誤差、あるいは平均分類率のようなテスト結果と、線形回帰モデルによって得られる値との比較から、いくらかの基準性能測度が得られます。
Professional II/PLUSを使用する場合、まずInstaNet/Back Propergationを選択してください。隠れ層のノード数に0を入力し、’Linear Output’を選択、そしてお手持ちの学習とテストファイルを選択してください。
次に、任意の学習ルールを使用して、Run/Learnを選択し、誤差がこれ以上小さくならなくなるまで学習を行ってください(すなわち、平均2乗誤差あるいは他のグラフが改善を示さなくなるまで)。
別の乱数種と学習ルールにより、R相関のようなスコアを使って、もっと良い評価が得られるかを試してみてください。
Predictユーザはできるだけ公平な比較を行うために、その機能を使用不可にすることができます。
Predictは知性を持ったがごとく、データを学習セットとテストセットに分割し、データ変換を適用し、注意深く変数選択を行い、全体的なソリューションに貢献します。
この重要な意味をもつデータ前処理は、ネットワークの学習に先んじて行われます。
この処理は最終的なPredictのソリューションの重要な部分であり、他の製品や他の回帰分析ツールにはないものです。
したがって、線形回帰モデルに対して、Predictに特有な機能を使用すべきでないでしょう。
我々はPredictのすばらしい処理のおかげで、回帰モデルが通常よりも良く見えることを望みませんので。
さて、Predictにデータを学習セットとテストセットに分割させるのは簡単なので、そうさせましょう。
確かにこの操作は完全にコントロールできますが、しかし実際に行うにはいくつかのステップが必要なので….したがって、Predictに線形回帰モデル構築のためにデフォルトの70%/30%のデータ分割を行わせましょう。
以下の手順に従って、Predict線形回帰モデルを作成してください:
(1) Excelのセル範囲を通常のように指定
(2) ノイズレベルを’クリーンなデータ’に設定
(3) データ変換を’規則的なデータのみ’ に設定
(4) 変数選択を’変数選択しない’に設定
(5) ネットワーク探索レベルを’包括的なネットワーク探索’に設定
(6) ’詳細パラメータ’ボタンをクリック
(7) 隠れ層構造の最大層数に0を入力
(8) 出力層関数には’線形’を選択
(9) OKをクリックしたあと、学習をクリック
Predictはテキスト-->数値変換、明らかな欠陥データ、はずれ値の除去、平均ゼロデータスケール変換等をさらに行いますが、上記機能使用不可設定により、他の方法で生成されたものと似たモデルが作成されるでしょう。
弊社では、データ分析プロジェクトにまつわる様々なご相談に、過去20年以上に渡るプロジェクト経験に基づき、ご支援しています。
社内セミナーの企画等、お気軽にご相談いただければ幸いです。
この記事が気に入ったらサポートをしてみませんか?