こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

機械学習での学習の順番の影響について

エクセルで1000行10列ぐらいのデータがあり、これを教師データとして機械学習をすることを考えます。
1列目が結果で2~10列(9個)が入力データです。学習は1行づつ進めて1000行までやるのですが、1000回学習した結果は学習の順番に依存したものになるのでしょうか。つまり、1,2,3,...1000と学習するのと、1,25,87,871,253,451,19,...と学習するのとの違いです。

時系列解析に特化したRNN,LSTMは出てくる順番をしっかり覚えておくということになりますが、そうでないものは学習する順番は全く関係ないのでしょうか。
パーセプトロンの重み関数とか、発火のパラメータは前の学習結果の差分として算出され、非線形現象に対応するものなのだから、学習の順番(すなわち時系列)の特徴は出るのではないかと思うのですが。
よろしくお願いします。

投稿日時 - 2019-11-06 17:30:35

QNo.9675687

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

影響はないわけではないですが、順番の影響をなくす方法は他にもいろいろあるし、それ以外の影響の方がよっぽど大きいので、気にしなくてもいい場合は多いです。それでも問われますなら、「学習率」とか「エポック」の回数とか、いろいろ見ないと何とも。まぁ、学習率があまり大きくなくて、エポック数がそれなりに多ければ、あんまり気にしなくても大丈夫だと。

まぁ、それを心配するなら、とっととシャッフルした方が早いです。いちおう、簡単なシャッフルの方法を下記に示しますのでご参考まで。

1.ダミーの列に「RAND」関数で、乱数を入れる。
2.いちおう、値を固定する。(列をコピーして、値として貼り付ける)
3.ダミーの列の値でソートする
4.ダミーの列を消す

投稿日時 - 2019-11-06 18:07:32

お礼

回答ありがとうございます。私の希望的な見方としては、”RNNやLSTMを使わなくても学習の順番(すなわち時系列)が結果に影響する可能性がある”、しかもいい方向に。ということです。逆に全く影響しない、と言う結果になるでしょうか。普通の場合は”影響しない方がいい、なぜなら、勉強のさせ方に工夫する必要がないから”、ということになるように思うのですが。エポック数千ですかね。学習率というのはどういうものでしょうか。教師学習をしたデータで再度推定してチェックする。例えば、授業で教えて例題と同じ問題を翌日テストする、というようなことでしょうか。

投稿日時 - 2019-11-07 09:32:41