このデータ サイエンスの間違いに注意し、30 時間以上の無駄な作業を回避しましょう...

このデータ サイエンスの間違いに注意し、30 時間以上の無駄な作業を回避しましょう...

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discovery)から転載したものです。

[[389352]]

以下のモデルは、画像認識コンテストで数日間にわたってトレーニングされました。これは比較的単純なモデルであり、その AUC は当初 0.9 でした。これは、AUC を 0 から 1 の間に保つというコンペティションの要件を満たしていました。それ以外は、コンペティションに対してあまり期待していませんでした。そのため、重みを評価して通常どおりモデルをトレーニングしたところ、次のような結果に驚きました。

当時の大会のリアルタイムランキングでは、1位のチームのAUC値は0.965で、私の実効AUC値は0.9968に達していました。私は受賞まであと一歩のところまで来ていました。100チーム以上を大きく引き離していたので、私にとっては信じられないことでした。この日、ディープラーニングの神様が私を啓蒙してくれたようで、重みの初期化において、最適化の超能力を持つのと同じくらい強力な、このような素晴らしい結果を達成することができました。

結果は信じられないほど良好です。モデルによって示されたデータを信じたいと思っていましたが、まだ少し疑問が残っていました。最初はデータのサブセットで、次にデータ全体で、モデルの予測を何度も評価しました。結果は良好で、検証スコアはほぼ完璧でした。

そこで私は、勝利への近道を見つけたと確信し、1位を獲得する準備ができました。興奮しながら、テストデータに対するモデルの予測をすぐに提出しました。ボーナスはあなたの指先にあります。

そしてその試合のスコアは衝撃的だった。

0.5ポイント。ランダムな予想を提出したり、コンテストで提供されたサンプルファイルを提出するだけでも、0.5 ポイントを獲得できます。私が得た魔法のようなひらめきは、単なる推測に過ぎませんでした。

結果が出た後、何が悪かったのかを突き止めようと30時間以上かけてデータを確認し、すっかり疲れ果ててしまいました。予測に問題があるはずです。ファイルが正しく転送されなかった可能性があります。

しかし、この30時間は無駄になってしまいました。結果を修正するために一生懸命努力しましたが、予測値は依然として低いままでした。

何が悪かったのでしょうか?

答えは「データ侵害」です。データ侵害は単純な概念ですが、私はまさにそれに陥ってしまいました。モデルのトレーニング中、プログラミングに問題はなく、モデルはテストデータに従って正しくトレーニングされていました。問題は簡単には見つからない場所で発生しました。

簡単に言えば、データ漏洩はモデルが予期しない状況に遭遇したときに発生します。コンテストでは、複数のセッションでモデルをトレーニングしました。つまり、前回のセッションからモデルの重みをロードし、モデルをトレーニングして、パフォーマンスが最も優れた重みを保存します。計算時間の制約により、トレーニングは複数のセッションで実行されました。

ただし、各セッションでは、データをトレーニング セットと検証セットにランダムに分割するコードを含め、コード全体を再実行するため、トレーニング セットは各トレーニングで同じではありません。これを回避するには、トレーニング/検証セットを分割するシードを設定することができますが、これは私が事前に(まったく)行わなかったことです。

トレーニングデータは毎回異なりますが、モデルの重み(学習した内容)は渡されます。したがって、十分なトレーニングの後、モデルはデータセット全体に公開されます。

このようなことは何度も起こっています。機械学習モデルは本質的に不活性であり、学習をあきらめてデータを記憶するだけであり、感情のないネットワークでは非常に簡単なことです。したがって、モデルは、これまで見たことのないデータに直面すると無力になります。

モデルは以前のトレーニングですでに検証データを見ていたので、ほぼ完璧なスコア 0.9968 を取得できました。そのため、私はこれがモデル自体の能力であると誤って信じてしまいました。モデルの初期のパフォーマンスを振り返り、検証スコアがトレーニング スコアよりも高かった理由を考えてみると、これは実はかなり奇妙でまれな現象であることがわかります。

したがって、誰もがその後の練習のたびにこの重要な教訓を心に留めておく必要があります。結果が信じられないほど完璧である場合、結果に何か問題がある可能性が高いです。 (このアプローチは、データ侵害を特定する上で特に重要です。)

これはデータ侵害であり、他の種類の侵害には次のようなものがあります。

  • 前処理。データを分割する前に処理すると、情報漏洩につながる可能性があります。たとえば、データセット全体の平均などの方法を使用する場合、トレーニング セットには検証セットに関するデータが含まれ、その逆も同様です。
  • 時間。予測問題に時間が関係する場合、単純なランダムなトレーニング/検証分割は機能しません。つまり、A と B に基づいて C を予測したい場合は、[C, A] → B ではなく、[A, B] → C でモデルをトレーニングする必要があります。これは、後のデータ ポイント C の値を知っていることで、モデルが前のデータ ポイント B を予測できるためです。

物事が完璧になりすぎる前によく考えるのは良い習慣ですが、微妙な詳細にも注意を払うことも大切です。たとえば、スコアの増加は大きいかもしれませんが、必ずしも異常ではありません。その一方で、テスト データで予測を行うときにモデルのパフォーマンスが低下する可能性があります。

実際のところ、最善の方法は、データを任意の方法で分割する目的を意識して、トレーニング/検証/テスト セットに分割し、早い段階で実行することです。さらに、シードを設定することは強力な安全策となります。

よりオープンなレベルでは、データ漏洩は有益な場合があります。データ漏洩は、モデルが本来見るべきではないデータを見た場合には良いことですが、モデルが見たデータは一般化能力の向上と学習に役立ちます。

たとえば、Kaggle のランキング システム。このシステムは、パブリック リーダーボードとプライベート リーダーボードで構成されています。コンテストが終了するまで、ユーザーはすべてのトレーニング コンテンツとテスト コンテンツの一部にアクセスできます (このシステムではコンテンツの 25% にアクセスでき、公開リーダーボードでの順位を決定するために使用されます)。ただし、競技終了後は、テスト コンテンツの残りの 75% を使用してモデルを評価し、最終的なプライベート リーダーボード ランキングを決定します。

ただし、この 25% のテスト コンテンツを使用してプライベート リーダーボードのスコアを向上させることができた場合、これはデータ漏洩とみなされます。

Kaggle のコンペティションでは、残りの 25% の知識に基づいて、テスト データの 75% に対して何らかの前処理を実行することが比較的一般的です。たとえば、PCA を使用してサイズを縮小できます。一般的に、データが多いほど良くなるため、これによりモデルのパフォーマンスが向上します。

データ接続性を向上させる方法の探求を決してやめるべきではありません。原則として、複雑なイベントを純粋に悪い (または良い) と分類すべきではありません。

要約すると、データ サイエンティストはモデルにさらに多くのデータを提供するよう努める必要がありますが、用途の異なるデータを区別する必要があります。さらに、希望が打ち砕かれないように、ネガティブにプログラミングする必要があります。結局のところ、最悪の結果を予想することによってのみ、問題に冷静に対処し、成功に直面したときに歓喜することができるのです。

<<:  アダプティブコンピューティングがAI製品化の課題にどのように対処するか

>>:  中国の人工知能は世界の潮流をリードできるか?

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

機械学習があなたの好きな音楽を発見する方法: パーソナライズされた音楽推奨の背後にある科学

今週の月曜日も、他の月曜日と同様に、Spotify の 1 億人を超えるユーザー全員に新しいプレイリ...

...

GPT-4 を搭載した初のヒューマノイドロボット!プログラミングは不要 + ゼロショット学習、口頭フィードバックに基づいて動作を調整可能

事前のプログラミングやトレーニングなしで GPT-4 を使用してヒューマノイド ロボットを制御すると...

なぜ機械学習エンジニアになりたいのですか?それは情熱や熱のせいでしょうか?

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...

本番環境のMLを再現できない場合は、ワークフローに問題がある可能性があります。

機械学習コミュニティでは研究の再現性に関する議論が活発化していますが、こうした議論は主に学術的な環境...

...

人工知能の今後の発展はどうなるのでしょうか?

汎用人工知能の任務は、ユビキタスな視覚と聴覚を制御することです。「認識」を例にとると、汎用人工知能の...

【ビッグコーヒーがやってくるエピソード5】ビッグデータミドルプラットフォームの構築方法

今回、「ビッグネームがやってくる」のライブ放送にゲストとして参加したのは、iResearch CTO...

データから洞察まで、IBMは企業の人工知能への取り組みを加速します

[51CTO.com からのオリジナル記事] インテリジェンス + の時代では、データは企業の中核資...

860万の超軽量中国語と英語のOCRモデルをオープンソース化し、ワンストップでトレーニングと展開が可能

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

ロボットにあなたのことをもっと理解させるにはどうすればいいでしょうか?

[[361286]]自然言語処理技術は人工知能技術の重要な分野です。自然言語処理技術自体が成熟する...

「AI+医療」の強力な発展の勢いが医療革命を引き起こしている

「AI+ヘルスケア」は現在最も注目されている人工知能の応用シナリオの1つであり、人工知能技術は医療・...

人工知能が再び大学入試に挑戦:AIはエッセイの書き手と比べて何点取れるのか?

今年も大学入試の季節がやってきました。現在、大学入試は受験生にとっての一大イベントであるだけでなく、...