機械学習で株トレードを目指す(学習実行)

プログラム
スポンサーリンク

データ、モデルの準備ができたらいよいよ学習を実行します。
学習を実施するには「コンパイル」→「学習」という流れが必要です。
SequentialモデルAPI

compile

compileで主に定義するのは「optimizer」「loss」「metrics」の3つです。

optimizer」は最適化手法とも呼ばれます。
使い分けもあるようですが、結構深く入り込まないと違いが実感できないような気がします。
SGDが一番古いようなので、それ以外を選択しておくのがよいかと思います。

loss」は損失関数とも呼ばれます。
機械学習での予想と実際の答えの差を評価する関数の模様です。
機械学習はこの差を小さくするために学習していくので正解率に影響が出てくると思います。
名前に「error」が付くのは数値比較、名前に「crossentropy」が付くのがカテゴリ分類用らしい。

metrics」は評価関数とも呼ばれ、学習結果の評価を行います。
「accuracy」を設定して正解率を表示することが多いでしょうか。

fit

実際に学習を行います。
「データ」「回答」を指定し学習を行います。
「batch_size」にはモデルの最初のレイヤーに指定した入力データの次元を指定します。
fitはモデルをコンパイルした情報を使って学習を行いますので、入力データの指定も同じ形にしないとエラーが表示されます。
「epochs」は学習を行う「回数」を指定します。

fitには「コールバック」を指定することができます。
よく使われるのは「EarlyStopping」でしょうか。

学習した後の処理

あとは「evaluate」で評価して「predict」で実際に予想します。
学習したデータをそのまま使用しても意味が無いので、別のデータを用意して評価を行います。
MNISTのサンプルではデータを分割して学習と評価を行っています。
データを分割しても良いですし別のデータを用意するのもありでしょう。

コメント

タイトルとURLをコピーしました