機械学習の問題が絶望的であることを知る方法は?


207

標準的な機械学習シナリオを想像してください:

大規模な多変量データセットに直面しており、それについてかなり曖昧な理解を持っています。あなたがする必要があるのは、あなたが持っているものに基づいていくつかの変数について予測することです。いつものように、データを消去し、記述統計を調べ、いくつかのモデルを実行し、それらを相互検証しますが、何度か試行した後、前後に行って複数のモデルを試しても何も機能しないようで、結果は悲惨です。このような問題に数時間、数日、または数週間費やすことができます...

問題は、いつ停止するかです。データが実際に絶望的であり、すべての派手なモデルがすべてのケースまたは他の些細な解決策の平均結果を予測するよりも良いことをしないことをどのように知っていますか?

もちろん、これは予測可能性の問題ですが、私が知る限り、多変量データの予測可能性を評価するのは困難です。それとも私は間違っていますか?

免責事項:この質問はこの質問に触発され ました。いつモデルを探すのをやめなければなりませんか?それはあまり注目されませんでした。このような質問に対する詳細な回答を参考にしていただければ幸いです。


1
この問題は、実用的な用語(@StephanKolassaが行ったように)または絶対的な用語(特定の条件が満たされた場合に特定のモデルを示すある種の定理で問題を学習できる)で答えることができます。あなたはどれが欲しいですか?
スーパーベスト

3
これは、コンピューターサイエンスの古典的な停止問題に似ていますか?予測モデルを探して入力データDを検索する任意の複雑さのアルゴリズムAがあり、アルゴリズムがデータの「良い」モデルを見つけると停止するとします。AとDに重要な構造を追加しないと、Aが与えられた入力Dを停止するかどうか、Aが最終的に成功するか、永遠に検索を続けるかどうかをどのように確認できるかわかりません。
マシューガン

@Superbest両方にすることができます。追加するものがある場合は、お気軽にお答えください。実生活の多次元ノイズデータの処理に関する説明を含む定理は聞いたことがありませんが、当てはまるものがあれば、その答えを読みたいと思います。
ティム

3
@StephenKolassaの回答に基づいて、この質問をスピンオフできる別の質問は、「どの時点で自分の仕事を主題専門家に戻し、結果(または結果の欠如)について話し合うべきですか?」です。
ロバートデグラーフ

また、関連するスレッド:stats.stackexchange.com/questions/28057/...
月Kukacka

回答:


241

予測可能性

これが予測可能性の問題であることは正しいです。IIFの実務者向けのジャーナルForesightには、予測可能性に関する記事がいくつかあります。(完全開示:私はアソシエイトエディターです。)

問題は、「単純な」ケースでは予測可能性を評価するのがすでに難しいことです。

いくつかの例

次のような時系列があるが、ドイツ語を話さないと仮定します。

卵

4月の大きなピークをどのようにモデル化し、この情報をどのように予測に含めますか?

この時系列が、西暦のイースターの直前にピークを迎えるスイスのスーパーマーケットチェーンでの卵の販売であることを知らない限り、チャンスはありません。さらに、イースターはカレンダーを最大6週間移動するため、イースターの特定の日付を含まない予測(たとえば、これは来年の特定の週に繰り返される季節的なピークであると仮定することで)おそらく非常にオフになります。

同様に、下に青い線があり、2010-02-27の「通常の」パターンとはまったく異なる2010-02-28に起こったことをモデル化したいと仮定します。

ホッケーの試合

繰り返しますが、カナダ人でいっぱいの都市全体がテレビでオリンピックのアイスホッケーの決勝戦を見たときに何が起こるか知らずに、あなたはここで何が起こったのかを理解する機会がまったくなく、あなたはこのようなものがいつ再発するかを予測することはできません。

最後に、これを見てください:

外れ値

これは、現金およびキャリーストアでの毎日の販売の時系列です。(右側には、シンプルなテーブルがあります。282日間の売り上げはゼロで、42日間の売り上げは1 ...で、1日間の売り上げは500でした。)どのアイテムかわかりません。

今日まで、私は500の売り上げでその日に何が起こったのか分かりません。私の推測では、これはどんな商品でも大量に予約注文して集めた顧客です。さて、これを知らなくても、この特定の日の予測は遠いでしょう。逆に、これはイースターの直前に発生したと仮定し、これがイースター効果(おそらくこれらは卵ですか?)である可能性があると信じている愚かなスマートアルゴリズムがあり、幸いにも次のイースターの500ユニットを予測します。ああ、それはうまくいかないかもしれない。

概要

いずれの場合も、データに影響を与える可能性のある要因を十分に深く理解して初めて、予測可能性を十分に理解できることがわかります。問題は、これらの要因を知らない限り、それらを知らないかもしれないことを知らないということです。あたりとして、ドナルド・ラムズフェルド

[T]既知の既知のものです。知っていることはわかっています。また、既知の未知のものがあることも知っています。つまり、わからないこともあるとわかっているということです。しかし、未知の未知の要素もあります。未知の未知の要素です。

イースターやカナダ人のホッケーに対する偏見が私たちにとって未知の未知のものであるなら、私たちは立ち往生しています-そして、私たちは私たちが尋ねる必要のある質問を知らないので、進む道すらありません。

これらに対処する唯一の方法は、ドメインの知識を収集することです。

結論

これから3つの結論を導き出します。

  1. あなたは常にあなたのモデリングと予測してドメイン知識を含める必要があります。
  2. ドメインの知識があっても、ユーザーが受け入れられる予測や予測に十分な情報を取得できる保証はありません。上記の外れ値を参照してください。
  3. 「結果が悲惨」である場合、達成できる以上のものを望んでいる可能性があります。公正なコイントスを予測している場合、50%を超える精度を得る方法はありません。外部の予測精度ベンチマークも信頼しないでください。

ボトムライン

モデルを構築することをお勧めします-停止するタイミングに注意してください:

  1. まだ自分でドメイン名を持っていない場合は、ドメインの知識がある人に相談してください。
  2. 手順1に基づいて、予想されるデータの主な要因(相互作用の可能性を含む)を特定します。
  3. ステップ2に従って強度の降順でドライバーを含め、モデルを繰り返し構築します。相互検証またはホールドアウトサンプルを使用してモデルを評価します。
  4. 予測精度がこれ以上向上しない場合は、手順1に戻って(たとえば、説明できない露骨な予測ミスを特定し、ドメインの専門家と議論することにより)、最後まで到達したことを受け入れます。モデルの機能。事前に分析をタイムボックス化すると役立ちます。

元のモデルがプラトーになった場合、異なるクラスのモデルを試すことを推奨していないことに注意してください。通常、合理的なモデルから始めた場合、より洗練されたものを使用しても大きな利点は得られず、単に「テストセットに過剰適合」する可能性があります。私はこれを頻繁に見ましたが、他の人も同意します。


10
+1は、私が完全に同意するすばらしい答えです。問題は広範であるため、まだ他の回答を期待しているため、私はそれを受け入れていません。
ティム

1
承知しました。私もこれについて他の誰かの視点を見てみたいです!
ステファンKolassa 16

9
If you are forecasting a fair coin toss, then there is no way to get above 50% accuracy.。あなたはそこにすべてを言いました。
ウォルフラット

3
ドメインナレッジを使用すると、最初の2つのケース(イースターまでの時間とテレビ視聴数、後者は独自の予測が必要ですが)に新しい機能を追加して、より良い結果を得ることができます。どちらの場合も状況は絶望的ではありません。本当に興味深い部分は、公正なコインフリップのデータセットから欠落しているドメインの知識を伝える方法です。
カロリスJuodelė16年

4
@KarolisJuodelė:それがまさに私のポイントです。専門家と話さない限り、状況が絶望的であることさえ知ることはできません...そして、時には専門家も私たちを助けることができません。知っています。
ステファンKolassa 16

57

ステファン・コラッサからの答えは素晴らしいですが、経済的な停止条件もしばしばあることを付け加えたいと思います。

  1. 楽しみではなく顧客のためにMLを行っている場合、顧客が喜んで使う金額を調べてください。彼があなたの会社に5000ユーロを支払い、あなたがモデルを見つけるのに1か月を費やした場合、あなたはお金を失うでしょう。些細なことのように聞こえますが、「解決策が必要です!!!!」という考えを見てきました。お金が出たら停止して、顧客に問題を伝えましょう。
  2. 何らかの作業を行った場合、多くの場合、現在のデータセットで何が可能かを感じます。モデルで稼げる金額にそれを適用してみてください。金額が些細な場合や正味の負の場合(たとえば、データを収集する時間やソリューションを開発するためなど)、停止する必要があります。

例として、マシンがいつ故障するかを予測したいお客様がいました。既存のデータを分析し、本質的にノイズが見つかりました。プロセスを掘り下げたところ、最も重要なデータは記録されておらず、収集が非常に困難であることがわかりました。しかし、そのデータがなければ、私たちのモデルは非常に貧弱で、誰もそれを使用できなかったため、缶詰になりました。

私は商業製品に取り組む際に経済学に焦点を当てましたが、このルールは学問や楽しいプロジェクトにも適用されます。そのような状況ではお金はそれほど重要ではありませんが、時間はまだ珍しい商品です。例 アカデミアでは、明確な結果が得られない場合は作業を停止する必要があり、他にも有望なプロジェクトがあります。ただし、そのプロジェクトを削除しないでください。nullまたは「その他のデータが必要」な結果も公開してください。これらも重要です。


1
+1は間違いなく素晴らしいポイントです!この質問に対するすべての答えは「明白」に見えるかもしれませんが、参照のために集められた「明白な」ものをどこにも見たことはありません。
ティム

3
ところで、この停止規則は非ビジネスケースにも適用されます。たとえば、ある種の調査を行う場合、結果にもある程度の抽象的な価値があります。代わりにできたかもしれません。実際、この決定理論的議論はより一般的にすることができます。
ティム

2
「誰もistを使用せず、缶詰にした」は「おそらく誰も使用せず、缶詰にした」に変更する必要があると思います-これはあなたの意図した意味ですか?
シルバーフィッシュ

2
ありがとう。時間だけではなく、時間を違った方法で投資できるという事実もあると思います。あなたの代わりにあなたがあなたの時間を節約したい、他の命を救う薬の研究プロジェクトで仕事ができるだけでなく、公共等の結果から恩恵を受ける
ティム

2
@ChristianSauerエンジニアとしての私の経験では、センサー(ゲージを参照)と有用な目的との不一致の問題は、トランジスタの発明よりも前のことです。
ロバートデグラーフ

9

別の方法があります。自問してみてください -

  1. この特定の変数の可能な限り最高の予測を行うのは誰ですか?」
  2. 機械学習アルゴリズムは、最良の予測よりも良い結果または悪い結果を生成しますか?

たとえば、さまざまなサッカーチームに関連付けられた変数が多数あり、誰が勝つかを予測しようとした場合、ブックメーカーのオッズまたは何らかの形のクラウドソースの予測を見て、機械学習の結果と比較することができますアルゴリズム。あなたが上手いならあなたは限界にいるかもしれませんし、もしそれより悪いなら明らかに改善の余地があります。

改善する能力は、(大まかに)2つのことに依存します。

  1. この特定のタスクで最高の専門家と同じデータを使用していますか?
  2. この特定のタスクで最高の専門家と同じくらい効果的にデータを使用していますか?

私がやろうとしていることに正確に依存しますが、これらの質問に対する答えを使用して、モデルを構築するときに進む方向、特に使用できるデータをさらに抽出して集中するかどうかを進める傾向がありますモデルを改良しようとしています。

私は通常、これを行うための最善の方法は、ドメインの専門家に尋ねることであることにステファンに同意します。


1
実際、あなたの答えは@StephanKolassaの答えと矛盾しています。彼は、予測ベンチマークがかなり誤解を招くことを示唆する文献を参照しています。
ティム

1
@Tim:完全な開示-そのリンクは、私が自分で書いたベンチマークに関する記事に行きました。それにもかかわらず、私は結論に立ちます:私が見たすべての需要予測精度ベンチマークは、リンゴをオレンジと比較する可能性が非常に高いです。したがって、私は外部のベンチマークを見ることに少し懐疑的です。また、この答えはやや疑問を投げかけると思います。MLアルゴリズムが「最もよく知られている」上で改善されたら、それをさらに改善できるかどうか、または絶望のプラトーを達成したかどうかをどのようにして知るのでしょうか。
ステファンKolassa 16

1
私の最新のユースケースはかなり異なっていました。インターネットでの投稿から自分自身を殺す危険にさらされている人を予測しようとしていました。PHQ9など、うつ病の重症度を測定するために使用できるさまざまな心理測定テストがあります。その広く使用されている医療検査として、その有効性と信頼性に関するかなりの研究があります。その論文の信頼性と他の手段は、機械学習から得られる可能性のある結果に関する良い出発点であることがわかりました。
ギャビンポッター

1
もちろん、「最もよく知られている」を改善することについては正しいです。より良いモデルを探し続けるかどうかを判断する方法はありません。しかし、私の経験では、現実世界の状況でこれが発生することはかなりまれです。私がしている仕事のほとんどは、機械学習を使用して専門家の判断を大規模に適用しようとすることであり、この分野の最高の専門家を改善しようとはしていないようです。
ギャビンポッター
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.