機械学習はお告げではない
機械学習でできること!と聞いて、株価のデータ解析と予測に鼻息荒く読んだ通りにコピペして(ま、手で打ったけど)、笑えちゃうくらいに外した件。
コピペで予測が当たったら、投資会社いらない。
機械学習は、平たく言えば、アルゴリズムの集合体で、理論の妥当性の探求、説明変数の多いモデルにおける説明変数の重要度分析、変数と結果の因果関係、モデルの複雑性回避のために、多すぎる説明変数を合理的に圧縮、またはビッグデータを検索してパターンを発見することができます。
機械学習のアルゴリズムは、特に方向性を故意に指示されることなく、複雑なパターンを、多数の説明変数で構成される高次元空間で学習を行うのです。
こんなお利口なのに、なぜ、予測が笑っちゃうほど外れたのか。
機械学習が使えないわけではありません。
これが、いわゆる過学習、オーバーフィッティングと呼ばれ、サンプルを使って学習したモデルが、学習に使わなかったデータサンプルでは性能に著しい乖離を見せる現象です。
学習に使うサンプルを訓練データ、学習後のテストに使うデータをテストデータと呼びますが、過学習はこのどちらにでも発生します。
例えば、訓練データに雑音が混じっている場合、この雑音も説明してしまうようなモデルを選択してしまうと、本来は無意味なはずの雑音に意味を持たせてしまい、結果、テストデータでの性能が落ちます。
それでは、とバックテストで、テストデータを使い、微調整を繰り返すと、それはテストデータでの過学習を招くのです。
機械学習には、モデルを選択するにあたり、そのデータの特性をよく知っていることが重要です。
データによる機械学習の結果を持って、理論の整合性を論じるために必要なのが質の良いデータです。
機械学習に飛び込む前に、まずデータ加工から始めましょう。