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

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

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

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

Q&A

1回答

1670閲覧

テストデータに応じて訓練データを変えることの是非

Sakutaro_

総合スコア0

機械学習

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

0グッド

0クリップ

投稿2021/10/05 20:06

物性研究(物理学)に機械学習を応用することを考えています。
クラスAとクラスBの2値分類予測において、用意できたクラスAのデータ数は300、クラスBのデータ数300000だとします。
この場合、クラスBの訓練データは300個程度にダウンサンプリングする必要があると思いますが、その際のデータの選び方によって訓練したモデルの性能が大きく異なっている事が分かりました。
今、物理学的知見から、予測対象となるデータ(テストデータ)に応じてどのようなデータをクラスBの訓練データに選ぶべきか分かっています。
テストデータに応じて自動的にクラスBの訓練データを選ぶようなアルゴリズムを組み、テストデータ1つ1つに対して予測モデルを訓練して予測し、性能評価を行ったところ、かなり良い精度が出ました。
未知データに対してもこのクラスB訓練データ選出アルゴリズムを使って訓練データを設定し、予測するつもりです。
このアプローチは正しいでしょうか?
機械学習に関して初心者なので、何か穴があればご教授頂けると有難いです。

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

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

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

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

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

guest

回答1

0

「クラスBの訓練データからのアンダーサンプリングにおいて、(正解ラベルであるクラス情報を持たない)テストデータを用いてサンプリングを変える」ということについては、問題無いです。テストデータにおける正解ラベルを使っていないことがポイントですので。また、未知のテストデータを使っても精度が十分なのであれば、リークしている危険性も少ないものと思います。

不均衡データ学習については、以下の記事が、網羅性や信頼性があり、とても参考になります。アンダーサンプリング以外にもさまざまな手段がありますので、参考にしてください。

【ML Tech RPT. 】第4回 不均衡データ学習 (Learning from Imbalanced Data) を学ぶ(1)
【ML Tech RPT. 】第4回 不均衡データ学習 (Learning from Imbalanced Data) を学ぶ(2)
【ML Tech RPT. 】第4回 不均衡データ学習 (Learning from Imbalanced Data) を学ぶ(3)

(1)の記事には以下の文章があり、テストデータを用いたアンダーサンプリングの最適化手法にも言及していますので、質問者様に直接に参考になるのでは(質問者様の手法とやや違うかもですが、論文化されている手法であれば研究に使いやすいかと・・・)、と思います。

しかしながら、一般的な Undersampling では、学習に有用なデータをサンプリング時に捨てたり、全体のデータ数が不足したりするため、次の二つの問題を引き起こす原因になることに注意する必要があります。一つ目が、学習した分類器の分散が大きくなる問題です。これに対処するためには、UnderBagging [*1] のような平均化戦略を取るのが一般的です。UnderBaggingは、Undersampling を実施してk通りの部分集合を作成し 、各部分集合ごとに分類器を学習し Bagging でアンサンブルする手法です。二つ目が、学習後に得られる事後分布が歪む問題です。これに対処するためには、テスト用のデータの事前分布を用いて事後分布を修正する必要があります。[*2] では、EMアルゴリズムに基づいて事前分布を推定しつつ、事後分布を修正する手法が提案されています。

投稿2021/10/05 22:47

編集2021/10/05 23:06
toast-uz

総合スコア3266

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問