SlideShare a Scribd company logo
1 of 65
Kerasを用いた
株価騰落予測の試み
2017/11/16
石垣哲郎
TensorFlow User Group #6
1
本プレゼンは、日経平均の過去データ
から未来日(翌営業日および5営業日
後)における騰落およびその度合いを、
Kerasを用いた錬金術的手法によって
求めてみた、その結果についてのご紹
介です。
2
発表者自己紹介
氏名:石垣 哲郎
1986年4月 日本電気株式会社入社
2015年11月 日本インサイトテクノロジー株
式会社入社
TensorflowやKERASは仕事ではなく、もっぱらオフ
タイムに触っています。
3
Kerasとは
Kerasは,Pythonで書かれた,TensorFlowまたはCNTK,Theano上で実
行可能な高水準のニューラルネットワークライブラリです. Kerasは,
迅速な実験を可能にすることに重点を置いて開発されました. アイデ
アから結果に到達するまでのリードタイムをできるだけ小さくすること
が,良い研究をするための鍵になります.
次のような場合で深層学習ライブラリが必要なら,Kerasを使用してく
ださい:
• 容易に素早くプロトタイプの作成が可能(ユーザーフレンドリー,モジュール性,および拡
張性による)
• CNNとRNNの両方,およびこれらの2つの組み合わせをサポート
• CPUとGPU上でシームレスな動作
(Kerasドキュメンテーションより) 4
Kerasによるモデル構成
KerasのSequentialモデルを用い、各メソッドを積み上げて構成した。
以下はKerasドキュメンテーションに掲載されていた、LSTMの例。
from keras.models import Sequential
from keras.layers import Dense, Dropout
from keras.layers import Embedding
from keras.layers import LSTM
model = Sequential()
model.add(Embedding(max_features, output_dim=256))
model.add(LSTM(128))
model.add(Dropout(0.5))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy',
optimizer='rmsprop',
metrics=['accuracy'])
model.fit(x_train, y_train, batch_size=16, epochs=10)
score = model.evaluate(x_test, y_test, batch_size=16)
addメソッドを1行記述するだけ
で、簡単に層追加が出来る!
5
6
class Prediction :
def __init__(self,maxlen,n_hidden,n_in,n_out):
self.maxlen=maxlen
self.n_hidden=n_hidden
self.n_in=n_in
self.n_out=n_out
def create_model(self):
model = Sequential()
model.add(LSTM(self.n_hidden, batch_input_shape=(None, self.maxlen, self.n_in),
activation='tanh', recurrent_activation='hard_sigmoid', use_bias=True,
kernel_initializer=glorot_uniform(seed=20170719),
recurrent_initializer=orthogonal(gain=1.0, seed=20170719),
bias_initializer='zeros',
unit_forget_bias=True,
kernel_regularizer=None,
recurrent_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
kernel_constraint=None,
recurrent_constraint=None,
bias_constraint=None,
dropout=0.5,
recurrent_dropout=0.5))
実際に使ったコード(1/2)
7
model.add(Dropout(0.5,noise_shape=None, seed=None))
model.add(Dense(self.n_out,activation=None, use_bias=True,
kernel_initializer=glorot_uniform(seed=20170719),
bias_initializer='zeros',
kernel_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
kernel_constraint=None,
bias_constraint=None))
model.add(Activation("softmax"))
model.compile(loss=“categorical_crossentropy”,optimizer=“RMSprop”,
metrics=['categorical_accuracy'])
return model
# 学習
def train(self, x_train, t_train,batch_size,epochs) :
early_stopping = EarlyStopping(patience=10, verbose=1)
model = self.create_model()
model.fit(x_train, t_train, batch_size=batch_size, epochs=epochs,verbose=1,
shuffle=True,callbacks=[early_stopping],validation_split=0.1)
return model
実際に使ったコード(2/2)
モデルの説明
• 系列データ
 日経平均(始値、高値、安値、終値)、NYダウ終値、ドル円相
場(6種類)
• ネットワーク:LSTM
• 出力:翌営業日の日経平均終値を、以下の4分類の確率
(softmax)で予測
 1%以上上昇、1%未満の上昇、-1%以内の下落、-1%以
上の下落
8
系列データ項目選択の理由
• NYダウおよびドル円相場は、明らかに日経平均と相関
がある
 日経平均は前日のNYダウの値動きに連動することが多い
 円安になると日経平均は上がり、円高になると逆に下がる
• ろうそくチャートの形状(ひげの長さ等)が投資判断に使
われることがある
始値
終値
安値
高値
9
系列データの加工
値をそのまま使うのではなく、対数を取った上で前日との差分を算出
する
※人間は大きさの評価を対数目盛での大小比較で行っている(ex.音程(ドレミ)、音量(dB)、マ
グニチュード)
※ブラックショールズ方程式は株価の対数値の挙動に対する方程式
Date Open High Low Close
1986/9/3 18,694 18,694 18,393 18,505
1986/9/4 18,515 18,624 18,514 18,560
Date Open High Low Close
1986/9/3 9.835958 9.835958 9.819725 9.825796
1986/9/4 9.826336 9.832206 9.826282 9.828764
Date Open High Low Close
1986/9/4 -0.00962 -0.00375 0.006557 0.002968
Date Open High Low Close
1986/9/4 -0.96214 -0.37515 0.655705 0.296776
元データ 自然対数
前日差分 100倍
※100倍しているのは値を見やすくするため
10
系列データの範囲
ドル円のデータが2002年までしかさかのぼれなかったので、以下の2
種類を用意した。
• パターン1:ドル円データ有。日経平均(始値、高値、安値、終値)
+NYダウ終値+ドル円(6種類)
2002/4/2~2017/7/20
• パターン2:ドル円データなし。日経平均(始値、高値、安値、終
値)+NYダウ終値(5種類)
1986/9/4~2017/7/20
11
系列データのイメージ
D ate O pen H igh Low C lose N YD O W JPY
1986/9/3
1986/9/4 -0.962140 -0.375155 0.655705 0.296776 2.019516
1986/9/5 0.307386 0.823490 0.312787 1.151747 -1.045181
1986/9/8 1.097765 0.180899 -0.145486 -1.194860 -0.586530
1986/9/9 -1.286398 -1.472623 -0.605767 -0.421326 -0.238551
1986/9/10 -0.324202 0.532646 0.216767 0.781823 -0.246571
1986/9/11 0.744099 0.171563 0.405176 -0.311996 -4.717693
1986/9/12 -0.328231 -0.612543 -3.338485 -2.509542 -1.924260
1986/9/15 0.000000 0.000000 3.370829 2.471821 0.502510
1986/9/16 -2.549195 -2.549195 -6.083012 -6.060104 0.618147
1986/9/17 -3.465108 -2.615883 -0.707001 -0.724141 -0.515231
1986/9/18 -0.827638 -0.569153 -0.051929 0.810000 0.269786
1986/9/19 0.953482 0.523740 0.953482 0.257136 -0.652000
1986/9/22 0.194175 0.537955 0.194175 1.038926 1.732274
1986/9/23 0.000000 -1.021749 0.000000 -1.016102 0.242818
2002/3/12 -0.657073 -1.016866 -1.416011 -2.652212 0.198737
2002/3/13 -2.695109 -1.166167 -1.668140 -1.668140 -1.234981
2002/3/14 -0.663859 -1.759540 -0.597998 1.335818 0.145488
2002/3/15 1.066830 1.208182 1.666095 0.682176 0.852961
2002/3/18 1.293378 0.681052 -0.523212 -1.292918 -0.278315
2002/3/19 -1.267592 0.028499 1.041638 2.528475 0.542122
2002/3/20 2.015356 0.348329 -0.814408 -2.281785 -1.264916
2002/3/22 -3.202856 -2.691734 -1.555618 -1.588887 -0.706196
2002/3/25 -1.069226 -1.230661 -1.416454 -0.743077 -1.410015
2002/3/26 -1.106807 1.270158 -0.017194 -0.473274 0.694845
2002/3/27 0.333396 -0.899719 0.227146 1.027542 0.707884
2002/3/28 0.548272 -0.639374 0.451160 0.083248 -0.220536
2002/3/29 0.324658 0.363974 -1.940692 -2.756854 0.000000
2002/4/1 -2.175671 -2.139566 -0.157136 0.034097 -0.397178
2002/4/2 0.330442 0.614694 0.382816 1.581363 -0.473877 0.037545
2002/4/3 -0.351609 2.288794 -0.068799 1.736102 -1.125401 0.000000
2002/4/4 2.898319 0.523068 2.627234 -0.188849 0.360976 -0.075103
2002/4/5 -0.560168 -1.081832 -0.302587 -0.384861 0.355684 -0.602865
2002/4/8 -0.397750 0.149193 -0.325877 0.153377 -0.219871 -0.568506
2002/4/9 0.143079 -0.586404 -1.359372 -2.122262 -0.395060 0.000000
2002/4/10 -2.214962 -0.618197 -0.544804 0.932166 1.681022 -0.648239
2002/4/11 1.807425 0.243214 0.851982 -0.637676 -2.000770 0.305577
2002/4/12 -1.981531 -1.763593 -2.278781 -1.667040 0.144747 0.342662
2002/4/15 -0.508706 0.143123 0.418442 1.577563 -0.957886 0.492892
2002/4/16 1.328029 1.849789 1.806500 1.862362 2.036359 -0.265101
2002/4/17 2.318947 1.731428 2.328957 1.721725 -0.784914 -0.684934
2002/4/18 0.672095 0.786434 0.710390 0.277001 -0.151767 -0.267635
2002/4/19 -0.098139 -0.950713 -0.860192 -0.551989 0.506590 -0.383583
2002/4/22 0.577864 2.053832 1.467743 1.804586 -1.183532 0.153610
2002/4/23 0.673616 0.406654 0.187014 0.129509 -0.466630 -0.307456
2017/7/10 1.070908 0.737169 0.834409 0.759266 -0.027183 0.729834
2017/7/11 0.017038 0.362627 0.237647 0.568572 0.002573 0.087573
2017/7/12 0.315144 -0.237111 -0.047393 -0.481958 0.573205 -0.456221
2017/7/13 0.198731 0.152524 0.005530 0.007113 0.097245 -0.396494
2017/7/14 -0.095992 -0.099787 0.196402 0.094726 0.391984 0.229277
2017/7/18 -0.415138 -0.409398 -0.791968 -0.592987 -0.291628 -0.973631
2017/7/19 -0.517571 -0.243448 0.020652 0.104692 0.305537 -0.392122
2017/7/20 0.380438 0.620304 0.425072 0.616106 -0.133961 -0.071460
2017/7/21 0.214063 -0.108106 0.247692 -0.222838 -0.146829 0.116097
パターン1
パターン2
1986/9/4~
2017/7/20
2002/4/2~
2017/7/20
12
学習データの作成
D ate O pen H igh Low C lose N YD O W JPY
2002/4/2 0.330442 0.614694 0.382816 1.581363 -0.473877 0.037545
2002/4/3 -0.351609 2.288794 -0.068799 1.736102 -1.125401 0.000000
2002/4/4 2.898319 0.523068 2.627234 -0.188849 0.360976 -0.075103
2002/4/5 -0.560168 -1.081832 -0.302587 -0.384861 0.355684 -0.602865
2002/4/8 -0.397750 0.149193 -0.325877 0.153377 -0.219871 -0.568506
2002/4/9 0.143079 -0.586404 -1.359372 -2.122262 -0.395060 0.000000
2002/4/10 -2.214962 -0.618197 -0.544804 0.932166 1.681022 -0.648239
2002/4/11 1.807425 0.243214 0.851982 -0.637676 -2.000770 0.305577
2002/4/12 -1.981531 -1.763593 -2.278781 -1.667040 0.144747 0.342662
2002/4/15 -0.508706 0.143123 0.418442 1.577563 -0.957886 0.492892
2002/4/16 1.328029 1.849789 1.806500 1.862362 2.036359 -0.265101
2002/4/17 2.318947 1.731428 2.328957 1.721725 -0.784914 -0.684934
2002/4/18 0.672095 0.786434 0.710390 0.277001 -0.151767 -0.267635
2002/4/19 -0.098139 -0.950713 -0.860192 -0.551989 0.506590 -0.383583
2002/4/22 0.577864 2.053832 1.467743 1.804586 -1.183532 0.153610
2002/4/23 0.673616 0.406654 0.187014 0.129509 -0.466630 -0.307456
2002/4/24 0.993406 -0.040135 0.748699 -0.546358 -0.584609 0.269076
2002/4/25 -0.491360 -0.852524 -0.693773 -0.207191 0.046148 -0.616097
2002/4/26 -0.084974 -0.196038 -1.028144 -0.925661 -1.246795 -0.542217
2002/4/30 -1.285683 -1.173299 -0.208945 -0.424154 0.357558 -0.311163
2002/5/1 0.065181 0.369140 0.763033 0.522884 1.133782 0.194590
2002/5/2 0.601309 0.156890 -0.084348 -0.015411 0.319979 -0.898268
2002/5/7 -0.948180 -0.874728 -2.351594 -2.055167 -2.562514 -0.353704
2002/5/8 -1.256454 0.630839 0.934919 1.792857 3.056344 0.940446
2002/5/9 2.412085 1.253694 2.297867 0.972190 -1.034836 0.544537
2002/5/10 -0.855211 -1.201731 -0.835454 -0.882303 -0.976114 -0.194137
2002/5/13 -0.528505 -0.984338 -1.877657 -1.698131 1.693245 -1.054903
2002/5/14 -0.194805 0.293544 0.241356 0.169569 1.847184 0.470220
2002/5/15 0.300466 1.605529 1.307917 2.493953 -0.530236 0.429101
2002/5/16 1.600902 0.455944 0.806940 0.818772 0.443487 -0.507318
2002/5/17 1.267783 1.516874 2.039072 0.921145 0.618830 -0.039131
2002/5/20 0.569171 0.134142 0.157009 0.077791 -1.200836 -1.458729
2002/5/21 -0.709620 -0.994467 -0.601743 -0.468177 -1.217510 0.000000
2002/5/22 -0.306898 1.164468 0.015214 1.353548 0.514914 -1.601315
2002/5/23 1.966586 0.472249 1.433294 0.149271 0.571321 0.402739
2002/5/24 0.100517 0.029610 -0.791187 -0.029799 -1.100586 0.481156
2002/5/27 -0.316979 0.481313 0.923542 0.000579 0.000000 -0.120072
2002/5/28 -0.278964 -1.091481 -0.529483 -0.336809 -1.221569 0.000000
2002/5/29 -0.880607 -0.524792 -0.785017 -0.698475 -0.588207 -0.120216
0.330442 0.614694 0.382816 1.581363 -0.473877 0.037545
-0.351609 2.288794 -0.068799 1.736102 -1.125401 0.000000
2.898319 0.523068 2.627234 -0.188849 0.360976 -0.075103
-0.560168 -1.081832 -0.302587 -0.384861 0.355684 -0.602865
-0.397750 0.149193 -0.325877 0.153377 -0.219871 -0.568506
0.143079 -0.586404 -1.359372 -2.122262 -0.395060 0.000000
-2.214962 -0.618197 -0.544804 0.932166 1.681022 -0.648239
1.807425 0.243214 0.851982 -0.637676 -2.000770 0.305577
-1.981531 -1.763593 -2.278781 -1.667040 0.144747 0.342662
-0.508706 0.143123 0.418442 1.577563 -0.957886 0.492892
-0.351609 2.288794 -0.068799 1.736102 -1.125401 0.000000
2.898319 0.523068 2.627234 -0.188849 0.360976 -0.075103
-0.560168 -1.081832 -0.302587 -0.384861 0.355684 -0.602865
-0.397750 0.149193 -0.325877 0.153377 -0.219871 -0.568506
0.143079 -0.586404 -1.359372 -2.122262 -0.395060 0.000000
-2.214962 -0.618197 -0.544804 0.932166 1.681022 -0.648239
1.807425 0.243214 0.851982 -0.637676 -2.000770 0.305577
-1.981531 -1.763593 -2.278781 -1.667040 0.144747 0.342662
-0.508706 0.143123 0.418442 1.577563 -0.957886 0.492892
1.328029 1.849789 1.806500 1.862362 2.036359 -0.265101
2.898319 0.523068 2.627234 -0.188849 0.360976 -0.075103
-0.560168 -1.081832 -0.302587 -0.384861 0.355684 -0.602865
-0.397750 0.149193 -0.325877 0.153377 -0.219871 -0.568506
0.143079 -0.586404 -1.359372 -2.122262 -0.395060 0.000000
-2.214962 -0.618197 -0.544804 0.932166 1.681022 -0.648239
1.807425 0.243214 0.851982 -0.637676 -2.000770 0.305577
-1.981531 -1.763593 -2.278781 -1.667040 0.144747 0.342662
-0.508706 0.143123 0.418442 1.577563 -0.957886 0.492892
1.328029 1.849789 1.806500 1.862362 2.036359 -0.265101
2.318947 1.731428 2.328957 1.721725 -0.784914 -0.684934
-0.560168 -1.081832 -0.302587 -0.384861 0.355684 -0.602865
-0.397750 0.149193 -0.325877 0.153377 -0.219871 -0.568506
0.143079 -0.586404 -1.359372 -2.122262 -0.395060 0.000000
-2.214962 -0.618197 -0.544804 0.932166 1.681022 -0.648239
1.807425 0.243214 0.851982 -0.637676 -2.000770 0.305577
-1.981531 -1.763593 -2.278781 -1.667040 0.144747 0.342662
-0.508706 0.143123 0.418442 1.577563 -0.957886 0.492892
1.328029 1.849789 1.806500 1.862362 2.036359 -0.265101
2.318947 1.731428 2.328957 1.721725 -0.784914 -0.684934
0.672095 0.786434 0.710390 0.277001 -0.151767 -0.267635
系列データを入力系列数(Input_length)ずつ切り出してテンソルに整形する
N
・・・
(N-Input_length+1, Input_length, 6)
次元テンソル
13
出力次元について
• 騰落予測だけでは、応用上の有用性はあまりないので、どれくら
い増減するかも予測できるようにしたい
• sinカーブの予測と同じやり方で、終値の増減値それ自体を予測
することも可能だが、使用に耐える精度が得られる可能性は低い
次ページへつつく
14
出力次元について
r
+1%-1% 0% 1σ-1σ
①
+1%≦r
②
0%≦r<+1%
③
-1%≦r<0%
④
r<-1%
• ±1%という値は、切れの良さと発生頻度の多さ(0.66σ)
から選択した。なお、増減率rの平均はほぼ0である
• そこで、終値の増減率を、±1%という値を閾値として以下の4カテ
ゴリに分類することによって、前ページの懸案解決を意図した。増
減率をrとするとき、
① r≧+1%
② +1%>r≧0%
③ 0%>r≧-1%
④ -1%>r
15
ラベルデータの作成
「翌日」の終値を閾値(log(101/100)×100=0.995033085)に従って分
類し、ラベル付けする。
D ate O pen H igh Low C lose N YD O W
1986/9/3
1986/9/4 -0.962140 -0.375155 0.655705 0.296776 2.019516
1986/9/5 0.307386 0.823490 0.312787 1.151747 -1.045181
1986/9/8 1.097765 0.180899 -0.145486 -1.194860 -0.586530
1986/9/9 -1.286398 -1.472623 -0.605767 -0.421326 -0.238551
1986/9/10 -0.324202 0.532646 0.216767 0.781823 -0.246571
1986/9/11 0.744099 0.171563 0.405176 -0.311996 -4.717693
1986/9/12 -0.328231 -0.612543 -3.338485 -2.509542 -1.924260
1986/9/15 0.000000 0.000000 3.370829 2.471821 0.502510
1986/9/16 -2.549195 -2.549195 -6.083012 -6.060104 0.618147
1986/9/17 -3.465108 -2.615883 -0.707001 -0.724141 -0.515231
1986/9/18 -0.827638 -0.569153 -0.051929 0.810000 0.269786
1986/9/19 0.953482 0.523740 0.953482 0.257136 -0.652000
1986/9/22 0.194175 0.537955 0.194175 1.038926 1.732274
D ate >=1% >=0% >=-1% -1%>
1986/9/3
1986/9/4 1 0 0 0
1986/9/5 0 0 0 1
1986/9/8 0 0 1 0
1986/9/9 0 1 0 0
1986/9/10 0 0 1 0
1986/9/11 0 0 0 1
1986/9/12 1 0 0 0
1986/9/15 0 0 0 1
1986/9/16 0 0 1 0
1986/9/17 0 1 0 0
1986/9/18 0 1 0 0
1986/9/19 1 0 0 0
1986/9/22 0 0 0 1
16
訓練データ、評価データ、テストデータの構成
• 初期状態では、学習データおよびラベルデータは時間の昇順(つ
まり古い順)に並べてある
• これを9:1に分割し、新しいほうの1割をテストデータに使用する
• 古いほうの9割はシャッフルし、その1割を評価データに充て、残り
を訓練データに使用した
17
訓練データ、評価データ、テストデータの構成
データ構成のイメージ
学習
データ
ラベル
データ
旧 新
9:1
シャッフル
9:1
訓練データ 評価データ テストデー
タ
18
乱数生成に対するseed指定
• 重み行列の初期値用の乱数には、seed指定により、毎回同じ値が
生成されるようにした
• Dropoutに対しては、seedを指定すると学習性能が悪くなったので、
seed指定はしていない。
19
学習の打ち切り方法
過学習を防ぐため、fitメソッドのcallbacks引数にEarlyStoppingを指定
して、学習を停止するようにした
EarlyStoppingとは
学習に伴い損失関数は減少するが、評価データを使って算出した損失
val_lossは却って増加することがある。このような場合に学習を止める仕組
み。
fitメソッドで以下のように設定する
earlystopping=keras.callbacks.EarlyStopping( patience=0, verbose=1)
fit(self, x, y, batch_size=32,
epochs=10, verbose=1,
callbacks=[earlystopping],
validation_split=0.0, validation_data=None,
shuffle=True, class_weight=None,
sample_weight=None, initial_epoch=0)
20
パターン1データ(JPYあり、レコード量が少な
いほう)での結果
評価対象パラメータ
パラメータ 説明 デフォルト
値
units 出力の次元数 -
Input_length 入力系列の長さ -
• kernel_regularizer
• recurrent_regularizer
• bias_regularizer
• activity_regularizer
出力テンソルに対する正則化の有無 無し
• kernel_constraint
• recurrent_constraint
• recurrent_constraint
出力テンソルに対する制約の有無 無し
• Dropout
• recurrent_dropout
ドロップアウトの比率 0
lr Optimizer(RMSprop)の学習率 0.001
21
パターン1データでの結果
LSTMの固定パラメータ
• input_dim(入力次元数):6(日経平均(始値、高値、安値、終値)、NYダウ終値、ドル
円)
• use_bias:True
• bias_initializer: (biasベクトルのInitializer):’zeros’
• unit_forget_bias: True
その他の固定パラメータ
• optimizer: ‘RMSprop‘
• ミニバッチのサイズ:10
• patience(EarlyStopping): 0
上記以外のパラメータはすべてデフォルト
22
パターン1データでの結果
入力系列数80、出力次元400の場合のグラフ
23
パターン1データでの結果
units
input_
length
test loss
test
accuracy
準正解率(騰
落)
200 80 1.28646299 0.32520326 0.56097561
400 80 1.28687992 0.39837399 0.60162602
units(出力次元)
• 入力系列数は80固定で評価した。
• 80という数字にfeatureしたのは、「75日移動平均」という株価指標
があるため。
• 出力次元数が大きいほうが良い結果が出る。
• 結果は載せていないが、出力次元が400以上の場合も実験してみ
た。しかし、400を超えて大きくしても、計算コストの割に精度は良く
ならなかった。
※準正解率:単純な騰落予想(上がるか/下がるか)の正解率。正解が「1%超値
上がり」の場合において、推測結果「1%未満の値上がり」は不正解だが、騰落
予測の観点からは正解なので、これをカウントした正解率 24
パターン1データでの結果
Input_
length
units test loss
test
accuracy
準正解率(騰
落)
20 100 1.29075358 0.29457365 0.51162791
40 200 1.30860280 0.35433072 0.60629921
80 400 1.28687992 0.39837399 0.60162602
入力系列数と出力次元
• 入力系列数と出力次元を連動して変化させた。
• 入力系列が長すぎるとかく乱要因になるのではと考えたが、値が大
きいほうが良い結果が得られた。
25
パターン1データでの結果
Dropout
recurrent_dr
opout
test loss
test
accuracy
準正解率(騰
落)
0.7 1.29998663 0.34959351 0.50406504
0.5 1.28687992 0.39837399 0.60162602
0.3 1.26966589 0.34146343 0.51219512
ドロップアウト
ドロップアウトは、大きすぎても小さすぎても良い結果は得られなかっ
た
26
パターン1データでの結果
lr test loss
test
accuracy
準正解率(騰
落)
0.0005 1.30964265 0.30894310 0.52032520
0.0001 1.29191087 0.34959351 0.51219512
0.001 1.28687992 0.39837399 0.60162602
lr(学習率)
学習率0.001はoptimizer ‘RMSprop‘のデフォルト値である。
学習率を小さくすれば、より高い精度に追い込めると考えたが、そうで
はなかった。
27
パターン1データでの結果
Regularizer
• 過学習を防ぐために、損失関数に重み行列のノルムを付け加えて
学習を実施する、「正則化」という手法があるが、Regularizerとはそ
のノルム項目
• 重み行列のノルムには、以下の3種類がある
 L2:いわゆるL2ノルム
 L1:いわゆるL1ノルム。各要素の絶対値の和
 L0:非零要素の数
• Regularizerの指定値は、ノルムにかける係数
• 今回の試行では、L2ノルム決め打ちで評価を行った
28
パターン1データでの結果
regularizers test loss
test
accuracy
準正解率(騰
落)
0.1 1.59390535 0.09756098 0.49593496
0.01 1.40690100 0.38211383 0.50406504
0.001 1.34301223 0.34959351 0.52845528
無し 1.28687992 0.39837399 0.60162602
Regularizer(L2正則)
今回の問題に関してはRegularizerを使用しないほうが、良い結果が得
られた
29
パターン1データでの結果
制約
• Kerasには、学習の過程で重み行列の要素の値が野放図に大きくな
ることを避けるための、「制約(constraints)」というパラメータがある。
• 制約には以下の3種類がある。
 maxnorm(max_value=2, axis=0): 最大値ノルム制約
 non_neg(): 非負値制約
 unit_norm(): ノルム正規化制約,行列の最後のaxisのノルムで
正規化
• 今回の試行では、maxnorm決め打ちで、max_valueの値をいろいろ
変化させて、その効果を見た。
30
パターン1データでの結果
max_value
(maxnorm)
test loss
test
accuracy
準正解率(騰
落)
2 1.29055099 0.40650407 0.60162602
1 1.28116846 0.41463416 0.54471545
0.5 1.27496684 0.40650408 0.49593496
無し 1.28687992 0.39837399 0.60162602
制約(maxnorm)
正解率がわずかに改善しているが、準正解率は同等か、かえって悪く
なった。損失関数と正解率の双方が改善しているパターンは無かった
ので、制約は使用しないことにした。
31
パターン1データでの結果
Stacked LSTM
KerasではLSTMを簡単に多段に積むことができるので、効果を試し
てみた。
32
パターン1データでの結果
Stacked LSTMのグラフ(スタック数=3)
Stacked LSTM
33
パターン1データでの結果
スタック数 test loss
test
accuracy
準正解率(騰
落)
4 1.34761956 0.30081302 0.47967480
3 1.32311327 0.37398375 0.51219512
2 1.31537145 0.34959351 0.48780488
1 1.28687992 0.39837399 0.60162602
Stacked LSTM
実は効果を期待していたが、スタックをたくさん積めばいいというわけ
ではなかった
34
パターン1データでの結果
ここまでの結果をまとめると以下の通り。以下のパラメータの場合に、
最も良い結果を得られた。
パラメータ 説明 設定値
units 出力の次元数 400
Input_length 入力系列の長さ 80
• kernel_regularizer
• recurrent_regularizer
• bias_regularizer
• activity_regularizer
出力テンソルに対する正則化の
有無
無し(デフォルト値)
• kernel_constraint
• recurrent_constraint
• recurrent_constraint
出力テンソルに対する制約の有
無
無し(デフォルト値)
• Dropout
• recurrent_dropout
ドロップアウトの比率 0.5
lr Optimizer(RMSprop)の学習率 0.001(デフォルト値)
Stacked LSTM LSTMの多段構成 無し
35
パターン2データ(JPY無し、レコード数の多い
ほう)での結果
使用したデータ以外のパラメータは同一条件で、比較を実施した
データ test loss
test
accuracy
準正解率(騰
落)
パターン2 1.26204092 0.34840426 0.53324468
パターン1 1.28687992 0.39837399 0.60162602
パターン2はレコード数がパターン1の2倍あるにもかかわらず、精度
はパターン1のほうが良い。
36
入力データの拡充
ここまで評価したところで、ネット上の成果を検索したところ、株価の対
数値を使用した事例が既に存在した。
http://qiita.com/akiraak/items/b27a5616a94cd64a8653 0 - Google の
サンプルコードを動かしてみる
その事例では、NYダウ、FTSE、DAX指数、ハンセン指数、日経平均、
NASDAQ、SP500、上海総合指数の8指数の終値をもとに翌営業日の
SP500騰落を予測していた。(MLP(多層パーセプトロン)、入力系列数
は3日分)
37
入力データの拡充
そこで、この事例に倣って、入力データに以下の指数を追加した。
DAX指数、ハンセン指数、TOPIX、NASDAQ、SP500、上海総合指数
(FTSEは過去データを入手できなかったので、代わりにTOPIXを追加した)
これにより、入力次元数input_dimは以下の12となる
① 日経平均(始値)
② 日経平均(高値)
③ 日経平均(安値)
④ 日経平均(終値)
⑤ NYダウ
⑥ DAX指数
⑦ ハンセン指数
⑧ TOPIX
⑨ NASDAQ
⑩ SP500
⑪ 上海総合指数
⑫ ドル円
38
入力データの拡充
最適パラメータの選択方法
各パラメータの評価結果として得られる以下の各数字を尺度とし
て評価する。一番良い結果が出た尺度が最も多いパラメータを
最適パラメータとして選択する。
尺度 意味 評価軸
test loss テストデータに対する損失 小さいほうが良い
test accuracy テストデータに対する正解率 大きいほうが良い
準正解率(騰落) テストデータに対する騰落予測の正解率 大きいほうが良い
正解数 テストデータに対する予測の正解数 大きいほうが良い
的中率 テストデータに対して正解を予測したもののうち、
実際に正解だった数
大きいほうが良い
※正解率、的中率は、±1%越え選択肢の結果を評価対象とする
※最良尺度数が同数の場合は、「的中率」の優先度を下げて評価する
39
入力データの拡充
正解率と的中率
正解率=正解数/実分布数
的中率=正解数/予測数
実分布 予測
正解=実分布∩予測
上図の例の場合、正解率=4/12=0.33、的中率=4/7=0.57
40
拡充データでの結果
入力系列数と出力次元(1)
• 入力系列数(input_length)が80、60、40、20、10、5の場合に
ついて、評価を実施した。
• 出力次元(units)は入力系列数×入力次元(=12)×0.9で算出
41
1%以上 0%以上 -1%以上 -1%未満
実分布 61 133 119 55
予測結果 94 32 237 5
正解数 30 13 92 1
的中率 0.31915 0.40625 0.38819 0.20000
実分布 62 133 119 56
予測結果 5 355 0 10
正解数 4 130 0 5
的中率 0.80000 0.36620 0.00000 0.50000
実分布 62 134 119 57
予測結果 28 218 121 5
正解数 14 92 49 1
的中率 0.50000 0.42202 0.40496 0.20000
実分布 62 134 120 58
予測結果 50 23 289 12
正解数 25 13 106 4
的中率 0.50000 0.56522 0.36678 0.33333
実分布 62 134 120 59
予測結果 65 133 145 32
正解数 26 61 62 15
的中率 0.40000 0.45865 0.42759 0.46875
実分布 62 134 120 59
予測結果 47 189 104 35
正解数 18 80 44 16
的中率 0.38298 0.42328 0.42308 0.45714
80 400 1.28688 0.39837 0.60163
5 54 1.24710 0.42133 0.61067
10 108 1.25481 0.43733 0.60000
0.36957 0.60326
60 648 1.32041 0.37568 0.53243
80 864 1.28486
40 432 1.26887 0.41935 0.61290
分類別正解input_
length
units test loss
test
accuracy
準正解率
(騰落)
20 216 1.25308 0.39572 0.57487
拡充データでの結果
入力系列数と出力次元(2)
※各列ごとに、最も結果の良いセルを着色してある
データパターン1の結果
42
入力系列数と出力次元(3)
• データの種類が多いと、精度が若干改善する(でも思ったほ
どではない)
• 入力系列数が40以下のほうが良い結果が出ている。一番結
果が良かったのは入力系列数=5の場合
拡充データでの結果
43
Patience(EarlyStopping)
1%以上 0%以上 -1%以上 -1%未満
実分布 62 134 120 59
予測結果 47 189 104 35
正解数 18 80 44 16
的中率 0.38298 0.42328 0.42308 0.45714
実分布 62 134 120 59
予測結果 36 167 128 34
正解数 20 71 55 13
的中率 0.55556 0.42515 0.42969 0.38235
実分布 62 134 120 59
予測結果 54 163 120 38
正解数 24 73 54 17
的中率 0.44444 0.44785 0.45000 0.44737
実分布 62 134 120 59
予測結果 42 191 111 31
正解数 20 81 47 12
的中率 0.47619 0.42408 0.42342 0.38710
実分布 62 134 120 59
予測結果 54 102 186 33
正解数 26 46 72 14
的中率 0.48148 0.45098 0.38710 0.42424
5 20 1.22939 0.42133 0.6053354
5 15 1.23979 0.42667 0.6186754
5 10 1.24373 0.44800 0.6346754
5 5 1.23869 0.42400 0.6293354
5 0 1.24710 0.42133 0.6106754
分類別正解input_
length
Patien-
ce
test loss
test
accuracy
準正解率
(騰落)
units
Patience=10の時が最も結果が良い。
拡充データでの結果
44
1%以上 0%以上 -1%以上 -1%未満
実分布 62 134 120 59
予測結果 54 163 120 38
正解数 24 73 54 17
的中率 0.44444 0.44785 0.45 0.44737
実分布 62 134 120 59
予測結果 47 187 95 46
正解数 24 81 43 18
的中率 0.51064 0.43316 0.45263 0.39130
実分布 62 134 120 58
予測結果 63 167 101 43
正解数 29 81 49 17
的中率 0.46032 0.48503 0.48515 0.39535
実分布 62 134 119 57
予測結果 74 153 80 65
正解数 30 74 37 20
的中率 0.40541 0.48366 0.46250 0.30769
5 10 1.24373 0.44800 0.6346754
40 10 1.24741 0.43280 0.65323432
20 10 1.22429 0.47059 0.63102216
10 10 1.22348 0.44267 0.61067108
分類別正解input_
length
Patien-
ce
test loss
test
accuracy
準正解率
(騰落)
units
入力系列数=40のときが最も結果が良い。
入力系列数再評価(Patience=10)
拡充データでの結果
45
最も結果が良かったパラメータ値は以下の通り。これ以外のパラメー
タはパターン1と同じ
パラメータ 説明 設定値
units 出力の次元数 432
Input_length 入力系列の長さ 40
patience val_lossの値が改善しなくなったとき
の、学習打ち切りの閾値
10
拡充データでの結果
46
MLPとの比較
ネット上の事例に倣って、MLPでのやり方を今回のデータパターンに
適用し、MLPとLSTMの比較を行った。
ネット上の事例のモデルは以下の通り。
ネット上の事例のMLPモデル
入力次元24
(8種類×3日)
25次元
出力次元2
50次元
① NYダウ
② FTSE
③ DAX指数
④ ハンセン指数
⑤ 日経平均
⑥ NASDAQ
⑦ SP500
⑧ 上海総合指数
入力データの種類
47
入力対象日数=3、5、10の場合について評価した。図は入力対象日
数3のモデル。
入力次元36
(12種類×3日)
108次元
54次元
出力次元4
MLPとの比較
① 日経平均(始値)
② 日経平均(高値)
③ 日経平均(安値)
④ 日経平均(終値)
⑤ NYダウ
⑥ DAX指数
⑦ ハンセン指数
⑧ TOPIX
⑨ NASDAQ
⑩ SP500
⑪ 上海総合指数
⑫ ドル円
入力データの種類
今回実施のMLPモデル
48
MLPとの比較
LSTM固有パラメータ以外の以下のパラメータは、LSTM試行時の値に
合わせた
• dropout:0.5
• patience:10
パラメータ設定
49
グラフ
MLPとの比較
50
1%以上 0%以上 -1%以上 -1%未満
実分布 63 134 120 59
予測結果 38 238 75 25
正解数 19 102 30 10
的中率 0.50000 0.42857 0.40000 0.40000
実分布 62 134 120 59
予測結果 30 208 116 21
正解数 16 84 49 8
的中率 0.53333 0.40385 0.42241 0.38095
実分布 62 134 120 59
予測結果 30 249 69 27
正解数 14 97 26 10
的中率 0.46667 0.38956 0.37681 0.37037
実分布 62 134 119 57
予測結果 74 153 80 65
正解数 30 74 37 20
的中率 0.40541 0.48366 0.46250 0.30769
LSTM 40 1.24741 0.43280 0.6532312 432 -
MLP - 1.36357 0.39200 0.5760012×10 360 180
MLP - 1.28784 0.41867 0.5946712×5 180 90
MLP - 1.28752 0.42819 0.6196812×3 108 54
分類別正解
モデル
input_
length
test loss
test
accuracy
準正解率
(騰落)
input units1 units2
意外なことに、入力対象日数が大きいほど精度が下がる。また、LST
Mのほうが良い結果を得られる。
MLPとの比較
※units1は1段目denseのunits、units2は2段目denseのunitsである。LSTMのunitsは
units1の欄に記載してある。
51
5営業日後の株価騰落予測
• 翌営業日の騰落予想では、応用上の意義はあまり大きくない。そ
こで、より未来の予測が可能かどうか、評価を実施する。
• 手法は翌日予測と同じ。正解データを5営業日後の値に入れ替え
て、学習を実施する。使用データは拡充データ(入力次元12、期
間は2002/4/2~2017/7/20)。
• ただし、5日後だと増減の振れ幅が大きくなるので、出力分類を
±3%以上の増減とそれ以外の4種類とした。±3%というのは、約
0.93σである。
• 5日という期間設定にあまり意味はない。あまりに先の未来にする
と予測精度が出ないだろうと考えたのと、切れの良さから選択し
た。
52
5営業日後の株価騰落予測
パラメータ設定は、以下のこれまでの結果を使用する。Input_lengthお
よびunitsを変化させて、推定精度の変化を見る。これら以外のパラ
メータはデフォルトのままとする。
パラメータ 説明 設定値
• Dropout
• recurrent_dropout
ドロップアウトの比率 0.5
patience val_lossの値が改善しなくなったとき
の、学習打ち切りの閾値
10
Stacked LSTM LSTMの多段構成 無し
53
5営業日後の株価騰落予測
3%以上 0%以上 -3%以上 -3%未満
実分布 49 156 130 32
予測結果 7 174 174 12
正解数 5 83 69 5
的中率 0.71429 0.47701 0.39655 0.41667
実分布 49 157 131 32
予測結果 19 305 37 8
正解数 11 137 12 3
的中率 0.57895 0.44918 0.32432 0.37500
実分布 49 157 131 34
予測結果 13 317 34 7
正解数 9 146 17 2
的中率 0.69231 0.46057 0.50000 0.28571
実分布 49 157 132 35
予測結果 8 336 23 6
正解数 5 149 10 2
的中率 0.62500 0.44345 0.43478 0.33333
実分布 49 157 132 36
予測結果 7 308 51 8
正解数 4 137 20 7
的中率 0.57143 0.44481 0.39216 0.87500
実分布 49 157 132 37
予測結果 5 347 17 6
正解数 4 148 5 2
的中率 0.80000 0.42651 0.29412 0.33333
10 108 1.15433 0.44920 0.56417
20 216 1.17978 0.44504 0.56568
40 432 1.17119 0.46900 0.57412
60 648 1.16467 0.44173 0.55014
80 864 1.18140 0.44142 0.56948
分類別正解input_
length
units test loss
test
accuracy
準正解率
(騰落)
5 54 1.18270 0.42400 0.54133
54
5営業日後の株価騰落予測
考察
• lossおよびaccuracyは翌日予想よりやや良い数字が出ているが、
よく見ると、「+1%>r≧0%(rは増減率)」への1点張りで数字を稼い
でいることがわかる。
• 準正解率(騰落)は翌日予測より悪い結果が出た。
• 一番良い結果が出たのは、入力系列=10のパターン。
55
5営業日後の株価騰落予測
±3%超予測時の正解率
• 予測が±3%超の時の的中率が結構よい。6割を超えているケー
スもある。
• ±3%超の予測が出たとき、6割の確率でそれが実現するというの
だから、5日後の予測であることを考えると、結構驚きの結果であ
る。
• 次ページに、正解率が6割を超えたケースをマーキングした表を
示す。
56
5営業日後の株価騰落予測
3%以上 0%以上 -3%以上 -3%未満
実分布 49 156 130 32
予測結果 7 174 174 12
正解数 5 83 69 5
的中率 0.71429 0.47701 0.39655 0.41667
実分布 49 157 131 32
予測結果 19 305 37 8
正解数 11 137 12 3
的中率 0.57895 0.44918 0.32432 0.37500
実分布 49 157 131 34
予測結果 13 317 34 7
正解数 9 146 17 2
的中率 0.69231 0.46057 0.50000 0.28571
実分布 49 157 132 35
予測結果 8 336 23 6
正解数 5 149 10 2
的中率 0.62500 0.44345 0.43478 0.33333
実分布 49 157 132 36
予測結果 7 308 51 8
正解数 4 137 20 7
的中率 0.57143 0.44481 0.39216 0.87500
実分布 49 157 132 37
予測結果 5 347 17 6
正解数 4 148 5 2
的中率 0.80000 0.42651 0.29412 0.33333
10 108 1.15433 0.44920 0.56417
20 216 1.17978 0.44504 0.56568
40 432 1.17119 0.46900 0.57412
60 648 1.16467 0.44173 0.55014
80 864 1.18140 0.44142 0.56948
分類別正解input_
length
units val_loss 正解率
準正解率
(騰落)
5 54 1.18270 0.42400 0.54133
±3%超予測時の的中率が6割を超えたケース
57
5営業日後の株価騰落予測
80 60 40 20 10 5
2016/1/21 +3%超増 ○ ○ ○ ○ ○ 5
2016/1/22 +3%超増 ○ ○ 2
2016/1/26 +3%超増 ○ ○ ○ ○ 4
2016/1/29 -3%超減 ○ 1 マイナス金利政策決定
2016/2/1 -3%超減 ○ ○ ○ 3
2016/2/2 -3%超減 ○ ○ ○ ○ ○ ○ 6
2016/2/3 -3%超減 ○ ○ 2
2016/2/4 -3%超減 ○ ○ 2
2016/2/5 -3%超減 ○ ○ ○ ○ ○ 5
2016/2/8 -3%超減 ○ ○ 2
2016/2/10 +3%超増 ○ ○ 2
2016/2/12 +3%超増 ○ ○ ○ ○ 4
2016/3/1 +3%超増 ○ ○ ○ ○ 4
2016/4/8 +3%超増 ○ 1
2016/4/12 +3%超増 ○ 1
2016/4/18 +3%超増 ○ 1
2016/5/2 +3%超増 ○ ○ ○ ○ ○ ○ 6
2016/6/16 +3%超増 ○ ○ ○ 3
2016/7/8 +3%超増 ○ ○ ○ 3
2016/11/9 +3%超増 ○ ○ 2 米国大統領選挙
input_length
正解date 的中数 当日の出来事
input_length別の的中状況
同じロジック、同じデータを使っているのに、入力系列数が違うだけ
で正解日の予測にこれほどばらつきが出るのは意外であった
58
5営業日後の株価騰落予測
モデルごとの予測がばらついたが、複数モデルの予測が一致した
場合には正解率が高まるか、検証した。
予測が一致したモデルの数ごとの的中率は、以下の通り。予想通
り、複数のモデルの予測結果が一致した場合は的中する可能性が
高い。
予測一致数 予測数 正解数 不正解数 的中率
1 17 4 13 23.5%
2 11 6 5 54.5%
3 5 3 2 60.0%
4 5 3 2 60.0%
5 4 2 2 50.0%
6 2 2 0 100.0%
±3%超予測時の正解率
①複数モデルの予測が一致した場合の正解率
59
5営業日後の株価騰落予測
最も成績が良かった、input_length=10のモデルと、他のモデルの
予測が一致した場合の正解率は、以下の通り。7割以上の高率に
なっている。
±3%超予測時の正解率
②input_length=10モデルと他のモデルの予測が一致した
場合の正解率
モデル 一致数 正解数 不正解数 正解率
input_length=80 9 7 2 0.777778
input_length=60 9 7 2 0.777778
input_length=40 6 5 1 0.833333
input_length=20 7 5 2 0.714286
input_length=5 6 5 1 0.833333
上記のいずれか 12 10 2 0.833333
60
5営業日後の株価騰落予測
±3%超予測「全会一致」時のチャート
①2016/2/2 -3%減
(2016/2/2終値17750.68、2016/2/9終値16085.44、下落率9.4%)
15000
15500
16000
16500
17000
17500
18000
18500
19000
19500
20000
61
5営業日後の株価騰落予測
±3%超予測「全会一致」時のチャート
②2016/5/2 +3%増
(2016/5/2終値16147.38、2016/5/12終値16646.34、上昇率3.1%)
14000
14500
15000
15500
16000
16500
17000
17500
18000
62
5営業日後の株価騰落予測
考察
• 正解率自体は、翌日予測に比べて遜色ない。しかし、一番確率が
高そうな選択肢に集中的にbetして数字を稼いでいるだけで、応
用上の意味はあまり高くない。
• 準正解率(騰落)は、翌日予測の結果より悪い。
• ±3%超増減の予測が出ることは少ないが、その予測が出たとき
の的中率は高い。
• ±3%超増減予測を複数モデルが一致して出した時の的中率は、
さらに高くなる。
63
まとめ
• LSTMを使って翌営業日の株価騰落予想を実施する場合、入力
系列数=40、出力次元=432、dropout=0.5、patience=10と設定する
ときに、最も良い予測ができた。このときの正解率は約43%、単純
騰落予想正解率は約65%。
• 学習データは時系列方向にデータを増やすよりも、データの種類
を増やしたほうが効果があった。
• 5営業日先の騰落予想では、入力系列数=10、出力次元=108、
dropout=0.5、patience=10と設定するときに、最も良い予測ができ
た。そのときの正解率は翌営業日予測と同程度。ただし、特定の
選択肢に集中的にbetして数字を稼いでいるだけなので、応用上
の意味はあまり高くない。
• 5営業日先の騰落予想において、±3%超増減の予測が出ること
は少ないが、これが出たときの的中率は高い。複数のモデルが
一致して予測した場合は、的中率はさらに高くなる。
64
ご清聴
ありがとうございまし
た
65

More Related Content

What's hot

[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...Deep Learning JP
 
NLPにおけるAttention~Seq2Seq から BERTまで~
NLPにおけるAttention~Seq2Seq から BERTまで~NLPにおけるAttention~Seq2Seq から BERTまで~
NLPにおけるAttention~Seq2Seq から BERTまで~Takuya Ono
 
強化学習における好奇心
強化学習における好奇心強化学習における好奇心
強化学習における好奇心Shota Imai
 
SolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみようSolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみようShinsuke Sugaya
 
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII
 
[DL輪読会]Attention Is All You Need
[DL輪読会]Attention Is All You Need[DL輪読会]Attention Is All You Need
[DL輪読会]Attention Is All You NeedDeep Learning JP
 
【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習cvpaper. challenge
 
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AIChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AIShota Imai
 
深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)Masahiro Suzuki
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)Takao Yamanaka
 
初めてのグラフカット
初めてのグラフカット初めてのグラフカット
初めてのグラフカットTsubasa Hirakawa
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定Akira Masuda
 
DeBERTaV3: Improving DeBERTa using ELECTRA-Style Pre-Training with Gradient-D...
DeBERTaV3: Improving DeBERTa using ELECTRA-Style Pre-Training with Gradient-D...DeBERTaV3: Improving DeBERTa using ELECTRA-Style Pre-Training with Gradient-D...
DeBERTaV3: Improving DeBERTa using ELECTRA-Style Pre-Training with Gradient-D...harmonylab
 
Ponanzaにおける強化学習とディープラーニングの応用
Ponanzaにおける強化学習とディープラーニングの応用Ponanzaにおける強化学習とディープラーニングの応用
Ponanzaにおける強化学習とディープラーニングの応用HEROZ-JAPAN
 
実務と論文で学ぶジョブレコメンデーション最前線2022
実務と論文で学ぶジョブレコメンデーション最前線2022実務と論文で学ぶジョブレコメンデーション最前線2022
実務と論文で学ぶジョブレコメンデーション最前線2022Teruyuki Sakaue
 
4 データ間の距離と類似度
4 データ間の距離と類似度4 データ間の距離と類似度
4 データ間の距離と類似度Seiichi Uchida
 
最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向ohken
 
分散学習のあれこれ~データパラレルからモデルパラレルまで~
分散学習のあれこれ~データパラレルからモデルパラレルまで~分散学習のあれこれ~データパラレルからモデルパラレルまで~
分散学習のあれこれ~データパラレルからモデルパラレルまで~Hideki Tsunashima
 

What's hot (20)

[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
[DL輪読会]Set Transformer: A Framework for Attention-based Permutation-Invariant...
 
NLPにおけるAttention~Seq2Seq から BERTまで~
NLPにおけるAttention~Seq2Seq から BERTまで~NLPにおけるAttention~Seq2Seq から BERTまで~
NLPにおけるAttention~Seq2Seq から BERTまで~
 
強化学習における好奇心
強化学習における好奇心強化学習における好奇心
強化学習における好奇心
 
深層強化学習と実装例
深層強化学習と実装例深層強化学習と実装例
深層強化学習と実装例
 
SolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみようSolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみよう
 
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
 
[DL輪読会]Attention Is All You Need
[DL輪読会]Attention Is All You Need[DL輪読会]Attention Is All You Need
[DL輪読会]Attention Is All You Need
 
【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習
 
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AIChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
 
深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
 
初めてのグラフカット
初めてのグラフカット初めてのグラフカット
初めてのグラフカット
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
 
Data-Centric AIの紹介
Data-Centric AIの紹介Data-Centric AIの紹介
Data-Centric AIの紹介
 
DeBERTaV3: Improving DeBERTa using ELECTRA-Style Pre-Training with Gradient-D...
DeBERTaV3: Improving DeBERTa using ELECTRA-Style Pre-Training with Gradient-D...DeBERTaV3: Improving DeBERTa using ELECTRA-Style Pre-Training with Gradient-D...
DeBERTaV3: Improving DeBERTa using ELECTRA-Style Pre-Training with Gradient-D...
 
Ponanzaにおける強化学習とディープラーニングの応用
Ponanzaにおける強化学習とディープラーニングの応用Ponanzaにおける強化学習とディープラーニングの応用
Ponanzaにおける強化学習とディープラーニングの応用
 
実務と論文で学ぶジョブレコメンデーション最前線2022
実務と論文で学ぶジョブレコメンデーション最前線2022実務と論文で学ぶジョブレコメンデーション最前線2022
実務と論文で学ぶジョブレコメンデーション最前線2022
 
4 データ間の距離と類似度
4 データ間の距離と類似度4 データ間の距離と類似度
4 データ間の距離と類似度
 
最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向
 
分散学習のあれこれ~データパラレルからモデルパラレルまで~
分散学習のあれこれ~データパラレルからモデルパラレルまで~分散学習のあれこれ~データパラレルからモデルパラレルまで~
分散学習のあれこれ~データパラレルからモデルパラレルまで~
 

Viewers also liked

Kerasを用いた3次元検索エンジン@TFUG
Kerasを用いた3次元検索エンジン@TFUGKerasを用いた3次元検索エンジン@TFUG
Kerasを用いた3次元検索エンジン@TFUGOgushi Masaya
 
Deep dive into deeplearn.js
Deep dive into deeplearn.jsDeep dive into deeplearn.js
Deep dive into deeplearn.jsKai Sasaki
 
Mbed OS 5の本を書いてみた
Mbed OS 5の本を書いてみたMbed OS 5の本を書いてみた
Mbed OS 5の本を書いてみたJunichi Katsu
 
GitLabを16万8千光年ワープさせた話(改)
GitLabを16万8千光年ワープさせた話(改)GitLabを16万8千光年ワープさせた話(改)
GitLabを16万8千光年ワープさせた話(改)Wataru NOGUCHI
 
Efficient estimation of word representations in vector space
Efficient estimation of word representations in vector spaceEfficient estimation of word representations in vector space
Efficient estimation of word representations in vector spacetetsuo ishigaki
 
Alibaba Cloud Serverless
Alibaba Cloud ServerlessAlibaba Cloud Serverless
Alibaba Cloud Serverless真吾 吉田
 
僕たちはなぜ「学ぶ」のだろうか? ~高専出身教職勢による教育学入門~ Share ver.
僕たちはなぜ「学ぶ」のだろうか? ~高専出身教職勢による教育学入門~ Share ver.僕たちはなぜ「学ぶ」のだろうか? ~高専出身教職勢による教育学入門~ Share ver.
僕たちはなぜ「学ぶ」のだろうか? ~高専出身教職勢による教育学入門~ Share ver.ShotaSatuma
 
Scalable Automatic Machine Learning in H2O
Scalable Automatic Machine Learning in H2OScalable Automatic Machine Learning in H2O
Scalable Automatic Machine Learning in H2OSri Ambati
 
Dll講演資料 2017616
Dll講演資料 2017616Dll講演資料 2017616
Dll講演資料 2017616NORIKO HOSAKA
 
Optimizing Presto Connector on Cloud Storage
Optimizing Presto Connector on Cloud StorageOptimizing Presto Connector on Cloud Storage
Optimizing Presto Connector on Cloud StorageKai Sasaki
 
GOCON Autumn (Story of our own Monitoring Agent in golang)
GOCON Autumn (Story of our own Monitoring Agent in golang)GOCON Autumn (Story of our own Monitoring Agent in golang)
GOCON Autumn (Story of our own Monitoring Agent in golang)Huy Do
 
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!Yasuyuki Ogawa
 
一年目がWatsonを調べてみた Discovery編
一年目がWatsonを調べてみた Discovery編一年目がWatsonを調べてみた Discovery編
一年目がWatsonを調べてみた Discovery編Jin Hirokawa
 
Watson Build Challengeに参加してみた
Watson Build Challengeに参加してみたWatson Build Challengeに参加してみた
Watson Build Challengeに参加してみたWataru Koyama
 
現在のDNNにおける未解決問題
現在のDNNにおける未解決問題現在のDNNにおける未解決問題
現在のDNNにおける未解決問題Daisuke Okanohara
 
人と向き合うプロトタイピング
人と向き合うプロトタイピング人と向き合うプロトタイピング
人と向き合うプロトタイピングwariemon
 
20171105 go con2017_lt
20171105 go con2017_lt20171105 go con2017_lt
20171105 go con2017_ltKeigo Suda
 
Gocon2017:Goのロギング周りの考察
Gocon2017:Goのロギング周りの考察Gocon2017:Goのロギング周りの考察
Gocon2017:Goのロギング周りの考察貴仁 大和屋
 

Viewers also liked (20)

Kerasを用いた3次元検索エンジン@TFUG
Kerasを用いた3次元検索エンジン@TFUGKerasを用いた3次元検索エンジン@TFUG
Kerasを用いた3次元検索エンジン@TFUG
 
Deep dive into deeplearn.js
Deep dive into deeplearn.jsDeep dive into deeplearn.js
Deep dive into deeplearn.js
 
Mbed OS 5の本を書いてみた
Mbed OS 5の本を書いてみたMbed OS 5の本を書いてみた
Mbed OS 5の本を書いてみた
 
GitLabを16万8千光年ワープさせた話(改)
GitLabを16万8千光年ワープさせた話(改)GitLabを16万8千光年ワープさせた話(改)
GitLabを16万8千光年ワープさせた話(改)
 
GitLab Prometheus
GitLab PrometheusGitLab Prometheus
GitLab Prometheus
 
Efficient estimation of word representations in vector space
Efficient estimation of word representations in vector spaceEfficient estimation of word representations in vector space
Efficient estimation of word representations in vector space
 
Alibaba Cloud Serverless
Alibaba Cloud ServerlessAlibaba Cloud Serverless
Alibaba Cloud Serverless
 
僕たちはなぜ「学ぶ」のだろうか? ~高専出身教職勢による教育学入門~ Share ver.
僕たちはなぜ「学ぶ」のだろうか? ~高専出身教職勢による教育学入門~ Share ver.僕たちはなぜ「学ぶ」のだろうか? ~高専出身教職勢による教育学入門~ Share ver.
僕たちはなぜ「学ぶ」のだろうか? ~高専出身教職勢による教育学入門~ Share ver.
 
Scalable Automatic Machine Learning in H2O
Scalable Automatic Machine Learning in H2OScalable Automatic Machine Learning in H2O
Scalable Automatic Machine Learning in H2O
 
Dll講演資料 2017616
Dll講演資料 2017616Dll講演資料 2017616
Dll講演資料 2017616
 
Optimizing Presto Connector on Cloud Storage
Optimizing Presto Connector on Cloud StorageOptimizing Presto Connector on Cloud Storage
Optimizing Presto Connector on Cloud Storage
 
GOCON Autumn (Story of our own Monitoring Agent in golang)
GOCON Autumn (Story of our own Monitoring Agent in golang)GOCON Autumn (Story of our own Monitoring Agent in golang)
GOCON Autumn (Story of our own Monitoring Agent in golang)
 
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
 
Lightning Network入門
Lightning Network入門Lightning Network入門
Lightning Network入門
 
一年目がWatsonを調べてみた Discovery編
一年目がWatsonを調べてみた Discovery編一年目がWatsonを調べてみた Discovery編
一年目がWatsonを調べてみた Discovery編
 
Watson Build Challengeに参加してみた
Watson Build Challengeに参加してみたWatson Build Challengeに参加してみた
Watson Build Challengeに参加してみた
 
現在のDNNにおける未解決問題
現在のDNNにおける未解決問題現在のDNNにおける未解決問題
現在のDNNにおける未解決問題
 
人と向き合うプロトタイピング
人と向き合うプロトタイピング人と向き合うプロトタイピング
人と向き合うプロトタイピング
 
20171105 go con2017_lt
20171105 go con2017_lt20171105 go con2017_lt
20171105 go con2017_lt
 
Gocon2017:Goのロギング周りの考察
Gocon2017:Goのロギング周りの考察Gocon2017:Goのロギング周りの考察
Gocon2017:Goのロギング周りの考察
 

Similar to Stock prediction

データマイニングの話詰め合わせ
データマイニングの話詰め合わせデータマイニングの話詰め合わせ
データマイニングの話詰め合わせTokoroten Nakayama
 
高品質と省エネを両立させる日本ならではのデータセンター作り〜「石狩データセンター」の事例を元に〜(第2回データセンター構築運用展【秋】)
高品質と省エネを両立させる日本ならではのデータセンター作り〜「石狩データセンター」の事例を元に〜(第2回データセンター構築運用展【秋】)高品質と省エネを両立させる日本ならではのデータセンター作り〜「石狩データセンター」の事例を元に〜(第2回データセンター構築運用展【秋】)
高品質と省エネを両立させる日本ならではのデータセンター作り〜「石狩データセンター」の事例を元に〜(第2回データセンター構築運用展【秋】)さくらインターネット株式会社
 
A Hacking Toolset for Big Tabular Files -- JAPAN.PM 2021
A Hacking Toolset for Big Tabular Files -- JAPAN.PM 2021A Hacking Toolset for Big Tabular Files -- JAPAN.PM 2021
A Hacking Toolset for Big Tabular Files -- JAPAN.PM 2021Toshiyuki Shimono
 
How the future prediction affects on the evolution of technologies
How the future prediction affects on the evolution of technologiesHow the future prediction affects on the evolution of technologies
How the future prediction affects on the evolution of technologies坂本 真里
 
離散一般化ベータ分布を仮定した研究分野マッピングの導出
離散一般化ベータ分布を仮定した研究分野マッピングの導出離散一般化ベータ分布を仮定した研究分野マッピングの導出
離散一般化ベータ分布を仮定した研究分野マッピングの導出National Institute of Informatics
 
ftp.jaist.ac.jpの低レイヤーの話 on 第九回 カーネル/VM探検隊
ftp.jaist.ac.jpの低レイヤーの話 on 第九回 カーネル/VM探検隊ftp.jaist.ac.jpの低レイヤーの話 on 第九回 カーネル/VM探検隊
ftp.jaist.ac.jpの低レイヤーの話 on 第九回 カーネル/VM探検隊Kazuhiro Fujieda
 

Similar to Stock prediction (11)

データマイニングの話詰め合わせ
データマイニングの話詰め合わせデータマイニングの話詰め合わせ
データマイニングの話詰め合わせ
 
高品質と省エネを両立させる日本ならではのデータセンター作り〜「石狩データセンター」の事例を元に〜(第2回データセンター構築運用展【秋】)
高品質と省エネを両立させる日本ならではのデータセンター作り〜「石狩データセンター」の事例を元に〜(第2回データセンター構築運用展【秋】)高品質と省エネを両立させる日本ならではのデータセンター作り〜「石狩データセンター」の事例を元に〜(第2回データセンター構築運用展【秋】)
高品質と省エネを両立させる日本ならではのデータセンター作り〜「石狩データセンター」の事例を元に〜(第2回データセンター構築運用展【秋】)
 
Report 131211
Report 131211Report 131211
Report 131211
 
Report 131211
Report 131211Report 131211
Report 131211
 
Report 131211
Report 131211Report 131211
Report 131211
 
Report 131211
Report 131211Report 131211
Report 131211
 
Report lmsd 131210
Report lmsd 131210Report lmsd 131210
Report lmsd 131210
 
A Hacking Toolset for Big Tabular Files -- JAPAN.PM 2021
A Hacking Toolset for Big Tabular Files -- JAPAN.PM 2021A Hacking Toolset for Big Tabular Files -- JAPAN.PM 2021
A Hacking Toolset for Big Tabular Files -- JAPAN.PM 2021
 
How the future prediction affects on the evolution of technologies
How the future prediction affects on the evolution of technologiesHow the future prediction affects on the evolution of technologies
How the future prediction affects on the evolution of technologies
 
離散一般化ベータ分布を仮定した研究分野マッピングの導出
離散一般化ベータ分布を仮定した研究分野マッピングの導出離散一般化ベータ分布を仮定した研究分野マッピングの導出
離散一般化ベータ分布を仮定した研究分野マッピングの導出
 
ftp.jaist.ac.jpの低レイヤーの話 on 第九回 カーネル/VM探検隊
ftp.jaist.ac.jpの低レイヤーの話 on 第九回 カーネル/VM探検隊ftp.jaist.ac.jpの低レイヤーの話 on 第九回 カーネル/VM探検隊
ftp.jaist.ac.jpの低レイヤーの話 on 第九回 カーネル/VM探検隊
 

Stock prediction