質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
機械学習

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

Q&A

解決済

2回答

406閲覧

機械学習で適用したいデータを学習データにしてよいのか

kohekoh

総合スコア140

機械学習

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

0グッド

0クリップ

投稿2018/02/27 04:15

ここで質問する内容ではないかもしれませんが
お答えしていただければありがたいです

例えば、Doc2vecで文書間の類似度を測るとします
このとき、類似度が欲しいと思っているデータを学習データにしてしまっていいのですか?
欲しいデータが学習データになっているので過学習になっても問題ないのではとか
思ったりするのですが、どうなんですかね?
そもそもほしいデータを学習データに用いるのがありなのか…
教えていただければ幸いです

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

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

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

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

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

mkgrei

2018/02/27 06:05

欲しいデータの結果が分かっているのに機械学習を使って予測することの目的意識というのはどのようなことでしょうか。そこに依存すると思います。
kohekoh

2018/02/27 06:13

あまり仕組みがわかっていないのですが、Doc2vecで学習させるときに、教師データはないですよね?だから、欲しいデータは結果が分かっていないけど、学習させることはできますよね?すみません。答えになってない気がするのですが、まずほしいデータの結果が分かっているという前提が自分にはわかっていません。という感じでしょうか…
mkgrei

2018/02/27 06:31

失礼しました。doc2vec後に教師あり学習器を添えるのかと思っていました。
guest

回答2

0

ベストアンサー

word2vecを使った文書間の類似度を計算するためには、比較対象の文書aと文書bに含まれる単語群を包含した文書cを用いてモデルを作成する必要があります。そして、このモデルに文書aとbを投入して各々に含まれる単語をベクトル表現に変換して、ベクトル同士の類似度を計算するという手順が考えられます。
したがって、重要なのは文書cから作成されるモデルの性能となります。極端なことをいうと、比較対象の文書がスポーツを扱っているにも関わらず、政治経済の文書でモデルを作ると、計算不能かできても意味のないものになる可能性があります。よって、モデルを作成したら、テスト用文書を作ってモデルの有用性を確認したほうがいいと思います。
以上を質問の文脈に合わせて回答すると以下のようになります。

1.類似度を評価する対象の文書を学習データに含めないほうがいい。
2.doc2vecは教師なし学習なので、過学習という概念はない。ただし、完成したモデルが意味のあるアウトプットをするかどうかの確認は必要

投稿2018/02/28 02:12

R.Shigemori

総合スコア3376

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

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

mkgrei

2018/02/28 02:40

文書Cが重要であることはわかるのですが、対象文書を学習データに含めない方が良いのはなぜでしょうか?
R.Shigemori

2018/02/28 03:38

文書cは文書aおよびbを評価するための基準のようなものなので、含めないほうがいいだろうという考えです。ただし、比較対象の文書を含めてもモデルのパラメーターにそれほど影響しないようであれば含めても問題ないと思います。gensimのword2vecは学習データに含まれない単語は計算できずにエラーとなるので、含めたほうが確実に処理してくれるという利点があることは事実ですが、結果にどのような影響があるかはつかめていません。(それゆえに、含めずに処理しているというのが実態です)
kohekoh

2018/02/28 04:29

モデルのパラメーターに影響するかどうかは実行してみるしかないのですかね?
kohekoh

2018/02/28 05:23

ちなみに処理がうまくいっているかどうかの評価はどうすればよいのでしょうか
mkgrei

2018/02/28 05:38

R.Shigemoriさん、コメントをありがとうございます。 つまり、対象を含めると結果が変わってしまってはモデルに問題がありますし、含めなくても結果があまり変わらないのであれば特に含める意味もないということでしょうか。 確かにそれも納得できます。 教師あり学習をする際でもモデルを評価するために、教師データ・テストデータでわけてハイパーパラメータなどを決めますが、最終モデルを作る際には全部のデータを教師データに入れたほうが性能が出ることが一般的なので、教師なし学習の際も同様という認識でした。 またどうしても気になってしまったので、 https://www.quora.com/Can-overfitting-occur-on-an-unsupervised-learning-algorithm https://datascience.stackexchange.com/questions/17645/is-overfitting-a-problem-in-unsupervised-learning ただの言葉の問題かもしれませんが。
R.Shigemori

2018/02/28 13:10

mkgreiさん 興味深い資料のご紹介、ありがとうございます。 性能を求めるのであれば、含めたほうがいいかもしれません。ただ、今回の場合は性能よりも類似度を評価する対象文書と独立したデータから作成したモデルであるということを重視したほうがいいように思っております。このあたりは分析者のポリシーの問題であって正誤を問うているものではありませんので気にしないでください。
mkgrei

2018/03/01 07:58

R.Shigemoriさん、コメントをありがとうございます。 ポリシーに依存するところが大きいことでしたので、特に自分とは異なる考えを持つ方がどのように考えているのかが気になったので質問させていただきました。 PCAみたいなことをする時はデータが内包するように、調べたいデータを含めてしまいがちかなと思っていて、doc2vecでも同じようなものかと漠然に考えていたので、よく考えてみる機会になりました。
R.Shigemori

2018/03/01 08:44

mkgreiさん モデルの特性からいうと、word2vecは裏側でニューラルネットワークが動くので、与えたデータがモデルにどのように影響するかを予測しがたいことがあると思います。一方、pcaやkmeansは学習処理がわかりやすいほうなこともあり、結果が予測できるので、含めるかどうかの判断がききやすい感じがしています。 もう少しニューラルネットワークに使い慣れていれば、回答も変わるかもしれません。その意味でまだ修行不足ですね
mkgrei

2018/03/01 09:16

確かにニューラルネットワークは使うときに、「えいや」感がありますね。 後は定量的に精度さえ上がってくれれば…
guest

0

https://arxiv.org/pdf/1607.05368.pdf

第一段階としては、欲しいものを含めた教師なし学習する話が来て、のちに欲しいものがパラメータ決定時に含まれていない時の性能を評価しているので、精度を出したいのであれば「入れる」べきです。

投稿2018/02/27 06:34

mkgrei

総合スコア8560

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

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

kohekoh

2018/02/27 07:43

ということは、学習データに欲しいものがはいっているとすると 過学習になっても問題ないんですかね?
mkgrei

2018/02/27 08:17

少し誤解を招きやすいことを上で書いてしまいました。 過学習が「問題」あるかどうかは一概には言えません。 そもそも「過学習」であるかどうかは簡単には知りえません。 学習データに欲しいものが入っているかどうかは関係ありません。 過学習するかどうかはパラメータの数とデータの数にもよります。 教師なし学習ですので、数理モデルの自由度と実データの真の自由度にまずモデルの精度の上限が依存します。 パラメータ2つから生成されるノイズありデータに対して、モデルの自由度が2より大きいのであれば意味のない学習をすることになります。 この際の過学習は必然的なものになります。 自由度が適切に調整されたと仮定しても、ちゃんと学習させることができるのかという別の問題があります。 PCA、KMeansのような簡単なケースで考えてみてください。 また上の論文を読んでみてください。 以上のすべてを踏まえて、正しくデータを準備してパラメータをチューニングできるのであれば「入れても問題ありません」。 また、手法について理解していない(理解する予定もない)として、「入れた際に最も精度が出ます」。
kohekoh

2018/02/27 09:59

もう少し勉強します ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問