🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

3回答

5063閲覧

特徴量を追加すると精度が悪化してしまう

shuke

総合スコア6

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/01/14 12:19

前提・実現したいこと

LSTMを理解するために複数の特徴量から将来の株価を予測しようとしています。

発生している問題・エラーメッセージ

その際予測に使えそうな特徴量を加えた予測結果の精度が, その特徴量を加えなかった結果より悪化していました。 原因としてどのようなことが考えられるでしょうか。 素人質問で恐縮なのですが, LSTMをはじめとした機械学習では特徴量の重みづけを変えていく際, 無相関の特徴量を自然に無視していくので, このような現象は起こらないのではと考えご質問させていただきました。

該当のソースコード

Python

1ソースコード

試したこと

新たな特徴量を追加した際
パラメータチューニングを行い,過学習や学習不足は抑えているつもりです。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

株価予測の難しさ等はfourteenlength様で言及されていますので、質問者様の疑問点に直接回答します。

機械学習では、無関係な特徴量を追加すると精度が落ちるのが、むしろ一般的です。理由としては、quickquip様の解説通りの次元の呪いが働いています。つまり、無関係な(すなわち探索が行き来しても無駄な)次元が増えてしまうと、無関係な局所最適値がたくさんできてしまい、全体最適値に近づく可能性が減ってしまうのです。

無関係な特徴量を追加しても精度が落ちにくいアルゴリズムは「特殊」な部類であり、そのように特徴を表現しています。

参考: GBDTの仕組みと手順を図と具体例で直感的に理解する
GBDTのメリット・良さ: 不要な特徴量を追加しても精度が落ちにくい

逆に、LSTMを含むニューラルネットワークは精度が落ちる代表例です。
そのため、「特徴量選択」という工程が重要です。

参考: 特徴選択とは?機械学習の予測精度を改善させる必殺技「特徴選択」を理解しよう

私自身は、個々の特徴量を採用するしないについて、True/Falseを選択するハイパーパラメータとして管理して、それをoptunaのようなハイパーパラメータチューニングライブラリで最適化し、最適と思われる特徴量選択を自動的に求めるようなことをしています。

投稿2021/01/30 03:17

編集2021/01/30 03:23
toast-uz

総合スコア3266

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

俗に言う次元の呪いみたいなことですよね。ご承知であれば蛇足ですが

情報学広場:情報処理学会電子図書館
情報学広場:情報処理学会電子図書館


ニューラルネットだと次元圧縮のような作用が中に入っていて

無相関の特徴量を自然に無視していく

というようなことが起きて、次元の呪いを(昔の手法に比べたら)回避してくれるはずという期待はしてしまいますよね。

ですが、依然として

加えた特徴量と相関があるかのように見えるデータだけが学習データにたまたま集まってしまっていて、加えた特徴量を重視するような学習がなされてしまう。評価用データの方には相関がないので性能は下がる

とか、

学習データの出所が大別して2種類(AとBとしましょう)あって、AもBも加えた特徴量と強い相関関係があるが逆方向になっていてノイズとして働いて学習がうまくいかない。他の学習データが揃っていけば本当は相関がないと学習できるはず

とか、一般論として"起きそうな話"は想像できます。

(この2つは要するに"データが足りない"なわけですが)


そういったことは考慮済みかもしれませんが、情報を伏せて質問されても"一般論として起きそうな話"が集まってくるだけであまりいい質問とは思えません。(逆にそういうことを期待しているのでしょうか)

投稿2021/01/15 00:16

編集2021/01/15 00:58
quickquip

総合スコア11231

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shuke

2021/01/15 17:15 編集

はじめまして,丁寧なご回答ありがとうございます。 次元の呪いについても情報学広場という貴重な情報源についても存じ上げませんでした。 次元の呪いは学習データ,評価用データ間の属性の偏りや学習データ不足が要因でLSTMをはじめとした機械学習モデルにおいても起きうるということだと理解しました。 これらの要因が生じない工夫を講じようと思います,貴重なご意見誠にありがとうございます。 また,一般的な情報しか提供していなかったためにご回答もしづらかったと思います,大変申し訳ございません。素人ながら共同研究という形でこの分析をやっており,また質問自体も初めてでしたので,どこまで開示していいか分からず抽象的な聞き方をしてしまいました。重ね重ねお詫びいたします。 今後は状況を把握できる程度に具体的な内容を具備した質問をしようと思いました,今後ともよろしくお願いいたします。
guest

0

機械学習では特徴量の重みづけを変えていく際,
無相関の特徴量を自然に無視していくので,
このような現象は起こらないでは

初めて見る面白い表現だと思いました、確かに「与えられたデータの中では」こういうことをやっていると思います。

パラメータチューニングを行い,過学習や学習不足は抑えているつもりです。

こういう手法は良いと思いますが、データ量が足りないのだと思います。


株価を本気で推定しようとすると、株価の推移だけでは多分どこまで行っても「後追い」を超えられないと思います。恐らく、株価の推移に加えて、ニュースや市場の感情(?)のような非構造データも使っての推定が必要な気がします。

投稿2021/01/14 21:54

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shuke

2021/01/15 17:20

ご回答ありがとうございます。 最低限の知識は一通り学んだ気でいたのですが手を動かしてみると思い通りの結果を得られず,このような表現をしてしまいました。やはり特徴量を加えるだけでなく十分なデータ量を確保することが重要だということを実感しました,ご指摘誠にありがとうございます。 なるほど,VAR等がある中でLSTMを利用する意義を考えていたのですが,例に挙げていただいたような特徴量を大量に試せることが大きいのかなと思うに至ったので,参考にさせていただきたいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問