teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

一部修正

2021/09/27 22:39

投稿

toast-uz
toast-uz

スコア3266

answer CHANGED
@@ -4,6 +4,6 @@
4
4
 
5
5
  ただし、記事の例では、やや勘違いがあると思われます。
6
6
 
7
- 記事の例では、tagged_sentsによるタグ付けを、2つの例で示しています。tagged_sentsが与えられた全データをもとになんからの推論でタグを動的生成するのであれば、記事の主張どおりにリークの危険があります。しかしながら、tagged_sentsは、もともとデータに与えられたタグを前提に、タグ付きデータのみ取り出す動作をしのとり、動的生成しているわけではありません。そのため、訓練データとテストデータとを分割する手番とタグを取る手番の順序でリークの危険が発生したりしなかったりする、というのは、記事の執筆者様の勘違いだと思います。
7
+ tagged_sentsが与えられた全データをもとになんからの推論でタグを動的生成するのであれば、記事の主張どおりにリークの危険があります。しかしながら、tagged_sentsは、もともとデータに与えられたタグを前提に、タグ付きデータのみ取り出す動作になっり、タグを動的生成しているわけではありません。そのため、訓練データとテストデータとを分割する手番とタグを取る手番の順序でリークの危険が発生したりしなかったりする、というのは、記事の執筆者様の勘違いだと思います。
8
8
 
9
9
  実際に、2種類の方式でデータを取得して比較してみましたが、中身は同一であるように思いました。

3

一部修正

2021/09/27 22:39

投稿

toast-uz
toast-uz

スコア3266

answer CHANGED
@@ -1,9 +1,9 @@
1
- 機械学習におけるリーケージの危険性は、未知のデータに対して性能が出ないことです。
1
+ まず、一般論として、機械学習におけるリーケージの危険性は、未知のデータに対して性能が出ないことです。
2
2
 
3
3
  機械学習は、未知の説明変数に関して、適切な目的変数を予測をすることを目的とします。そのために既知の説明変数と目的変数の組み合わせを大量に学習します。この時、説明変数から目的変数を予測するのではなく、目的変数の情報を何らかの形で知っていることを前提にした予測モデルを作ってしまうことがあります。これでは、実際の未知の説明変数に対して機能しないモデルになってしまいます。これを、(答えが漏洩してしまっているという意味で)リークと言います。
4
4
 
5
- 記事の例では、tagged_sentsによるタグ付けを、2つの例で示しています。
5
+ ただし、記事の例では、やや勘違があると思われます。
6
6
 
7
- 1つ目は、学習用記事データと、テスト用の記事タとをず完全に分割し、その上で学習データだけつかってタグ付しています。これはリーク正しいやり方場合学習データで高い精度か出れば、テストデータはもちろんのこ、さらに未知のデータでも機械学習性能が発揮されが期待できます。
7
+ 記事の例では、tagged_sentsによるタグ付けを、2つ例で示しています。tagged_sentsが与えられた全データをもになんから推論でタグを動的生成するのであれば、記事の主張どおりにリクの危険がありす。かしながらtagged_sentsは、もともとデータに与えられたタグ前提に、タグ付きデータのみ取り出す動作をしてのとり、動的生成るわけはありませんため訓練データテストデータとを分割する手番とグを取る手番の順序リーク危険が発生したりしなかったりすいうのは、記事の執筆者様の勘違いだと思います。
8
8
 
9
- 2つ目は、全データをもとタグ付けを行い、タグを学習データ分、テストデータ分に切り分けようとしています。これは、タグ付けという動作の中で、テストデータを含む全データを使っす。よって、タグ付けてからデータを切り分けても学習データのに、本来学習時点未知であるべきテストデータの情報も含まれてしまっています。これはリークの可能性がある正くないやり方ですこの場合、学習データ・テストデータで高い精度が発揮できても、さらに未知のデータでは性能が出ない可能性があります。
9
+ 実際に、2種類方式でデータを取得して比較しましたが、中同一であるように思いまし

2

一部修正

2021/09/27 22:37

投稿

toast-uz
toast-uz

スコア3266

answer CHANGED
@@ -1,3 +1,5 @@
1
+ 機械学習におけるリーケージの危険性は、未知のデータに対して性能が出ないことです。
2
+
1
3
  機械学習は、未知の説明変数に関して、適切な目的変数を予測をすることを目的とします。そのために既知の説明変数と目的変数の組み合わせを大量に学習します。この時、説明変数から目的変数を予測するのではなく、目的変数の情報を何らかの形で知っていることを前提にした予測モデルを作ってしまうことがあります。これでは、実際の未知の説明変数に対して機能しないモデルになってしまいます。これを、(答えが漏洩してしまっているという意味で)リークと言います。
2
4
 
3
5
  記事の例では、tagged_sentsによるタグ付けを、2つの例で示しています。

1

一部修正

2021/09/27 11:12

投稿

toast-uz
toast-uz

スコア3266

answer CHANGED
@@ -4,4 +4,4 @@
4
4
 
5
5
  1つ目は、学習用の記事データと、テスト用の記事データとをまず完全に分割し、その上で学習データだけをつかってタグ付けしています。これはリークしない正しいやり方です。この場合、学習データで高い精度か出れば、テストデータはもちろんのこと、さらに未知のデータでも機械学習の性能が発揮されることが期待できます。
6
6
 
7
- 2つ目は、全データをもとにタグ付けを行い、その後で、タグを学習データ分、テストデータ分に切り分けようとしています。これは、タグ付けという動作の中で、未知データを含む全データを使っています。よって、タグ付けしてからデータを切り分けても、学習データの中に、本来は未知であるべきテストデータの情報も含まれてしまっています。これはリークの可能性がある正しくないやり方です。この場合、学習データ・テストデータで高い精度が発揮できても、さらに未知のデータでは性能が出ない可能性があります。
7
+ 2つ目は、全データをもとにタグ付けを行い、その後で、タグを学習データ分、テストデータ分に切り分けようとしています。これは、タグ付けという動作の中で、テストデータを含む全データを使っています。よって、タグ付けしてからデータを切り分けても、学習データの中に、本来は学習時点で未知であるべきテストデータの情報も含まれてしまっています。これはリークの可能性がある正しくないやり方です。この場合、学習データ・テストデータで高い精度が発揮できても、さらに未知のデータでは性能が出ない可能性があります。