1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

機械学習をする際必要な手順(その1)

Last updated at Posted at 2018-04-10

##前置き
機械学習を勉強する際に、ネットでいろんな記事を読んで、調べたりするが、そのせいか、知識がごちゃ混ぜになっている。
一旦知識の整理として、そもそも機械学習するにあたって、一般的にどういうステップを踏んでいくのかについて、一通りまとめてみました。
##参考文献
上記の内容は Francois Cholletの「Deep Learning with Python」 を参考に記事を書きました、もっと詳しく知りたい方はこちらの本を読んでください。

##処理する手順
まず処理する手順を大まかに以下の4つの部分となっている
1.課題の把握&データ収集
2.評価
3.特徴エンジニアリング
4.Overfittingへの対応

##1.課題の把握&データ収集
まず、ある課題が与えた時、以下の2点について把握する必要がある
1)入力データ(トレーニングデータ)は何になるのか?
2)その入力データに対して、どういう予測をしたいのか?
####ここで注意して欲しいのは
予測は、適切なトレーニングデータがあることを前提としている。
つまり、
例えば、あなたが映画のレビューを感情ごとに分類(予測)したい場合、トレーニングデータとして、映画のレビューとそれの感情注釈データを持っている必要がある。逆に、映画のレビューしかないと、トレーニングしても、そのレビューの感情について何が正解なのかがわからないので、利用可能なデータがあるかどうかは重要になってくる。
したがって、次の手順に移る前に、あなたは、
1)入力と出力は何か?
2)どういうデータを使って行くか
について把握している必要がある
そして、この手順では、今後の手順に向けて2つの仮説を立てていることに注意して欲しい。
1)あなたの入力を与えることによって、ちゃんと該当する出力を予測できる
2)あなたが使っているデータは十分有益であること、つまり、入出力間の関係を十分に抽出できるようなデータであること
これらの仮説は、モデルを作った後に、検証を行う。
####トレーニングデータの重要性
上述の仮説1)でも言ったように、トレーニングデータを与えることで、ちゃんと他のデータも予測できるということも仮定しているのです。
ただし、現実はその仮定通りにはうまく行かない(当然だw)
ここで説明するため一つ典型的な課題を挙げる
#####「Nonstationary Problems」
この類の問題とは、
例えば、衣類の推薦システムを実装するとしたら
もし、トレーニングの際は8月のデータを使い、最後に推薦システムを冬のデータで生成する。この場合、衣類の買い上げは季節によって一定ではないので、モデルの構築は月によって変える必要がある。
なので一ヶ月のデータだけ使って他の月を予測するのは正しくないのです!
正しいやり方として、
定期的にモデルをリトレーニングし(最近のデータでトレーニング)
あるいは、定常になっている部分を含むデータをトレーニングデータとして使う、例えば、数年分のデータを使うとか。
ここで、忘れてはいけないことは、入力する際、時間もinputとしてモデルに入れましょう!(じゃないと、意味ないです)

##続き
ステップ2の評価 についてははこれから続けて書きます

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?