これからの「お金」の話をしよう

(旧 システムトレードのススメ)

機械学習の手法

f:id:uki-profit:20170814143641j:plain

AI投資の話が続いていますが、ご容赦下さい(そろそろ終わりにしたいと思います)。

最近はシステムトレーダーの方で機械学習を使っている方、もしくは手を出そうとしている方が増えてきているのでは、と思います。本コラムでは主だった機械学習の手法についてまとめてみたいと思います。なお、以下の内容は様々な解釈が存在するので一例として考えていただくほうがよいと思います。

wikiによると機械学習という言葉のそもそもの定義は、「明示的にプログラムしなくても学習する能力をコンピュータに与える研究分野」となっています。しかし私は、そもそもの語源は機械学習(machine learning)ではなく、機械的学習(mechanical learning)ではなかったのかなぁ、と思います。つまり機械による学習ではなく、予めプロセスを定義し固定した機械的な反復学習ということです。まあ人工知能や機械学習の括りは曖昧であるため、どのような解釈でも良いのかもしれません。

 

さて、ファイナンスデータの分析手法はざっくり以下のようにまとめることができます。統計的な手法と計算的な手法に分類されます。

 (1)統計的手法(パラメトリック)

・ロジスティック回帰(要するにGLM)

・主成分分析(PCA)

・判別分析(LDAなど)

(2)統計的手法(ノンパラメトリック)

・決定木(ランダムフォレストは集団学習ですがモデルの分類上ここに属します)

・最近傍法(k-NN)

※ここでいうノンパラとは、本来の意味である「分布のパラメータを仮定しない」という意味です。要するに母集団がどのような分布であるか全く気にしない手法です。

(3)ソフトコンピューティング

・NN(ディープラーニングはモデルの分類上ここに属します)

・SVM

・ファジー

・進化的手法(GAなど)

・ベイズ的確率手法

 

一般的に言われるAIとは、(3)のソフトコンピューティングの手法を指します。ソフトコンピューティングとは統計モデルがなくとも無理やり数値計算でモデルに当てはめるもので、人工知能(AI)というよりも計算知能(CI)という呼び方がよく当てはまります。一方で、機械学習とは「機械による数値的な学習」という解釈ができますので、(1)や(2)も数値計算を扱っていれば機械学習と呼ぶことができると思います。

 

さてこれらを見て「この中で最も優れた手法は何なのか」という疑問が浮かびます。当然ながらこの答えは「何をしたいのか、その目的や用途による」ということになります。従ってもう少し具体的に言うと、

 『株価の値動きを予測するために最も適した手法はどれなのか?』

このあたりは識者の方としっかりとディスカッションしたい内容ですね。実はこれ、私の中では結論が1つ出ています。ただし、あくまでも「私の中では」ということであり、それが正解というわけでは全くありません。

「自分はこの手法を使っているよ」というコメントをお待ちしております(そのような懐の広い方は稀だと思います。私も自分の手法はシークレットです)。

せっかく始めたのにノウハウを公開されると困る、という方もいらっしゃると思いますので、機械学習について触れるのはここまでにするつもりです。