英国のAI研究者マイケル・ローンズによる機械学習の5つの大きな落とし穴を避けるための独占ガイド

英国のAI研究者マイケル・ローンズによる機械学習の5つの大きな落とし穴を避けるための独占ガイド

[[416810]]

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式サイトにアクセスして許可を申請してください。

最近、Michael A. Lones 教授は arXiv に論文を投稿しました。この論文では、機械学習の実際の応用における一般的な落とし穴とそれに対応する方法について包括的に説明しており、学術的な機械学習の初心者がすぐに始められるように支援しています。

論文アドレス: https://arxiv.org/pdf/2108.02497.pdf

Michael A. Lones は、エディンバラのヘリオット ワット大学の数学およびコンピュータ サイエンス学部の准教授です。彼の研究対象には、最適化、データ マイニング、医療情報学、システム生物学、非標準コンピューティングなどがあります。

機械学習分野の上級専門家として、マイケルは業界よりも学術界に重点を置いています (業界は複雑すぎるので、人々にお酒を飲むように説得する方法を教えなければなりません、笑)。この論文で共有されている経験は、彼が実践的な機械学習の教育と研究で蓄積してきた知識です。他の一般的な機械学習手法とは異なり、この記事では、機械学習モデルを厳密に評価および比較する方法や、論文で自分の研究をより適切に説明する方法など、学術コミュニティが懸念しているいくつかの重要な問題のみを反映しています。

この記事をより鮮明で読みやすくするために、マイケルは、誰もが「この段落の主なアイデアと記事の主なアイデアを要約する」必要性を回避するために、シンプルで明確な「すべきこととすべきでないこと」の書き方を採用しました。

全体として、この記事は学術研究の文脈における一般的な問題に重点を置いています。たとえば、研究者は論文の中で複数の手法を厳密に議論して比較し、現象から有効な結論を導き出す必要があります。これにより、研究の深みと意味合いが高まります。具体的には、機械学習の 5 つの段階をカバーしています。

  • モデルを構築する前にどのような準備をする必要がありますか?
  • 信頼性の高いモデルを構築する方法
  • モデルを正しく、包括的に、そして堅牢に評価する方法
  • モデルを客観的に比較する方法
  • 現象を要約・分析し、結論を導き、意見を述べる方法

1.モデル構築前の準備

多くの人は、プロジェクトや研究の要件を受け取ると、まるですべてを 1 日で終わらせたいかのように、急いでコードを記述し、モデルをトレーニングし、モデルを評価します。しかし、実際には、ペースを落とす必要があります。まず、プロジェクトの目標についてじっくり考え、要件を細分化し、次に、モデルに入力するデータを注意深く調べ、このデータにパターンがあるかどうかを考える時間を取る必要があります。隠されたルール?それとも制限ですか?

さらに、この分野の研究の進捗状況、これまでにどのような試みがなされてきたか、そしてその結果はどのようなものかを理解するためにも時間を費やす必要があります。こうした事前準備をせずに、ただコードを書き始めると、おそらく同じ結論に陥り、期待に応えられないモデルをトレーニングしてしまい、他の人が陥ったのと同じ落とし穴に陥ってしまうでしょう。これでは時間が無駄になるだけでなく、論文を出版することもできません。

1. 保有するデータの理解にもっと時間を費やす

私たちの研究の目的は論文を発表することです。収集されたデータの品質が高く、ノイズが特に目立たず、収集機器と方法も非常に信頼できる場合は、論文を発表するのがはるかに簡単になります。

たとえば、インターネットからデータセットをダウンロードする場合は、そのソースが信頼できるものであることを確認してください。論文でオープンソースとして公開されている場合は、論文を注意深く読んで、偽の会議や偽のジャーナルに掲載された記事ではなく、より信頼できるソースであることを確認してください。

さらに、論文にデータセットの制限事項が記載されているかどうかも確認しました。多くの論文で引用されているからといって、データセットの品質が良いと決して思い込まないでください。データセットの入手コストが安い、ダウンロードが速い、または作成者にリクエストメールを送信する必要がないという理由だけで、わずかに品質の低いデータを使用する場合もあります。実際、学術界で広く使用されている多くのデータセットにも重大な制限があります。詳細な議論については、[Paullada et al., 2020]の議論を参照してください。

モデルが非常に質の悪いデータセットでトレーニングされた場合、トレーニングされたモデルのパフォーマンスは非常に低くなる可能性があります。これを「Garbage in Garbage out」と呼びます。したがって、プロジェクトの開始時に、データの可用性とそれが意味のあるものであることを確認する必要があります。この点に関しては、探索的なデータ分析を行うことをお勧めします。元のデータセット内の欠落項目や矛盾するデータポイントを発見して対処する方法については、[Cox2017]の研究を参照できます。

怠けないでください。モデルをトレーニングする前にデータを処理するコストは、機械学習プロセス全体の中で最も低く、最も簡単です。少なくとも、なぜ質の悪いデータセットを使用したのかを指導教員や論文査読者と議論し直す必要はありません。

2. テストセットのデータを覗き見しない

生データの品質とパターンを観察することは、機械学習プロセスにおける良い習慣です。結局のところ、基礎を知ることが上部構造を構築するための鍵です。私たちはデータを観察すると、そこから「何かを理解し」、それを事前の知識として頭の中に定着させる傾向があります。これらのパターンと知識は、正しいモデリングとデータ処理に役立ちます。

ただし、このプロセスでは、「テスト不可能な仮定」を行わないように注意してください。これらのテスト不可能な仮定をモデルに組み込む方法によっては、テスト セットにのみ表示される情報がモデルに密かに漏洩する可能性があります。ここで、横を見ないことが重要です。データに基づいていくつかの仮定を立てることはできますが、これらの仮定はトレーニング セットから取得する必要があり、テスト セットを覗き見るべきではありません。

これを確実にするために、初期の探索的分析フェーズでテスト セットを観察して分析することは避けるべきです。そうしないと、意識的または無意識的に、モデルの一般化をテスト不可能な方法で制限する仮定を立ててしまう可能性が高くなります。この問題については、以下で何度か触れますが、テスト セットの情報がトレーニング プロセスに漏れると、機械学習モデルの一般化能力が壊滅的な打撃を受けるからです。

3. データ量が十分であることを確認する

十分なデータがなければ、強力な一般化能力を持つモデルをトレーニングすることは不可能です。複雑でノイズの多いデータからパターンを抽出するのは簡単な作業ではありません。この作業は非常に困難であり、モデルが構築される前に関係性が深く隠されている可能性があります。この相関関係の深さは、データ セット内の有効な情報とノイズの比率、いわゆる信号対雑音比によって完全に決まります。

信号対雑音比が高い場合、つまり有効な情報の割合が高い場合、モデルはこの相関関係を学習するのに必要なデータが少なくなります。しかし、データセットの信号対雑音比が非常に低く、ノイズが大きすぎる場合は、モデルを学習させるために大量のデータが必要になります。しかし、現実には、データ取得のコストが高すぎるため、通常はそれ以上のデータを取得できません。この問題は、機械学習のあらゆる分野で蔓延しています。ここで、限られたデータをより効率的に使用するために、クロス検証が役立ちます。

もちろん、データ量を増やすためにデータ拡張技術([Wong et al., 2016、Shorten and Khoshgoftaar, 2019]を参照)を使用することもできます。この技術は、特にデータセットのカテゴリが不均衡な場合、つまり一部のサブクラスのデータ量が限られている場合に、小規模なデータセットでの機械学習のパフォーマンスを向上させるのに非常に効果的です。クラスの不均衡とは通常、あるカテゴリーのサンプル数が他のカテゴリーのサンプル数よりも少ないことを意味します。関連する研究については、Haixiang et al. [2017]の処理方法を参照してください。

データ量も非常に限られている場合は、機械学習モデルの複雑さを制御し、あまり多くのパラメータを導入しないようにすることも必要です。たとえば、ディープラーニング ネットワークでは、多くの大規模モデルのパラメーターの数が、小さなデータセットのサンプル数を簡単に超える可能性があります。つまり、どのソリューションを使用する場合でも、最も重要なことは、データ量の問題をできるだけ早く発見し、それを軽減するための適切なソリューションを考え出すことです。

4. ドメインの専門家と楽しい会話をする

ドメイン エキスパートの経験は極めて貴重です。彼らは、この分野で解決する必要がある問題を理解し、適切な機能セットと機械学習モデルを選択し、最も必要としている最適なユーザーにモデルを紹介するなど、さまざまな面で役立ちます。

[[416811]]

モデルを構築するときにドメイン専門家の意見を求めないと、プロジェクトは問題点に焦点を当てることができず、最も適切かつ洗練された方法で問題を解決できない可能性が高くなります。よくある例としては、スマート ヘルスやスマート金融システムの分野では、医師が診断や財務上の決定を下すのを支援するためにブラック ボックス アルゴリズムを使用する必要があります。この分野の特殊性により、人命とお金が関係するため、これらのアルゴリズムがどのように結論に達するかを理解する必要があります。

どちらのシナリオでも、ドメイン エキスパートは非常に重要です。これらは、プロジェクトの開始時にデータを理解し、関連性があり予測可能な特徴を指摘するのに役立ちます。プロジェクトの最後には、関連分野のジャーナルに論文を掲載するのにも役立ち、私たちの研究の最も可能性の高いユーザーにリーチする機会が得られます。

5. 分野の現状を真剣に検討する

新たな研究テーマや方向性を発見することは難しく、ほとんどの場合、先人たちが掘り下げたギャップを埋めるだけ(追跡研究)です。したがって、先人たちが行った研究を理解し、彼らの研究計画やアイデア、使用された方法論を学ぶために時間をかけることが非常に重要です。

学問はサークルであり、他の人と同じ分野で研究するのは普通のことです。これは悪いことではありません。なぜなら、学問の進歩は通常、反復的なプロセスであり、研究の進歩はすべて、将来の世代に多くのインスピレーションとガイダンスをもたらすことができるからです。もちろん、新しいアイデアを思いついて、有頂天になって一生懸命取り組む準備ができているときに、突然、誰かがすでに同様の研究を行っていたことに気づくことがあります。私たちはイライラしたり失望したりせずにはいられませんが、彼らの研究が完璧ではなく、他の方向に抜け穴を残している可能性もあります。この時点で、これらの既存の研究が私たちの研究の理由と動機になる可能性があります。

先人たちの研究を無視すると、多くの貴重な情報を見逃してしまう可能性があります。たとえば、誰かがあなたのアイデアを試して、それが信頼できないことを確認し、非常に詳細な説明と議論も提供したとします。実際、この論文はあなたの時間と労力を数年分節約します。あるいは、すでにあなたのアイデアの一部または全部が他の作業で実現されているかもしれませんが、落胆しないでください。その作業に基づいて引き続き一生懸命作業することができます。

したがって、作業を開始する前に、文献調査と要約を行い、レビューを出力して意見を形成することが最善です。レビューが遅すぎると、論文を書くときに、なぜ先人と同じ方法を使って現在のシステムを構築したのかを急いで根気よく説明しなければならないことになるかもしれません。他の人がすでにやっていることは明らかなのに、なぜまたやらなければならないのでしょうか。

6. モデルが実際にどのように実行されるかを考える

なぜ機械学習モデルを構築するのでしょうか?これは真摯な問いであり、その答えはモデル開発プロセスに直接影響します。学術的な研究の多くは、実際に産業界での運用に展開するのではなく、単なる研究です。これは理解できることです。モデルを構築して分析するプロセス自体が、問題に対する非常に有用な洞察を提供できるからです。

しかし、多くの学術研究にとって、最終的な目標は、現実世界に展開して実行できる機械学習モデルを作成することです。このような場合は、できるだけ早く展開の問題を検討する必要があります。たとえば、コンピューティング リソースとストレージ リソース (センサー ノードまたはロボット ハードウェア) が非常に限られている環境にモデルを展開する場合、実行中のプラットフォームのリソースにより、モデルの複雑さがそれほど大きくならない可能性があります。たとえば、アプリケーション シナリオに実行時間に関する厳しい制限があり、数ミリ秒以内にデータ計算を完了する必要がある場合、モデルを選択してプロセスを検証するときにこれを考慮する必要があります。

もう 1 つの考慮事項は、モデルと、それが展開される基盤となるソフトウェア システムを有機的かつ効率的に編成する方法です。このプロセスは、想像するほど単純ではないことがよくあります([Sculley et al., 2015]を参照)。しかし、ML Ops [Tamburri、2020]など、いくつかの新しいアプローチがこれらの困難に対処しようと試みています。

2.信頼性の高いモデルを構築する方法

機械学習モデルを構築するためのコードを書くことは、機械学習開発プロセスの中で最も楽しい部分です。使いやすいドキュメントとフル機能の機械学習パッケージ (またはフレームワーク) をインストールすると、モデルの構築、データの入力、出力結果の確認が簡単になります。場合によってはトレーニング結果が良好でなく、ひどいモデルになってしまうこともあります。この種の問題は、通常、特定して解決するのが難しく、どのリンクで問題が発生したのかを突き止めるのも困難です。

したがって、モデルを体系的かつ規則的かつ追跡可能な方法で構築する必要があります。これにより、元のデータを正しく使用する方法を決定できるだけでなく、モデルを構築するときにさまざまな選択肢を整理するのにも役立ちます。

1. トレーニング中にテストセットのデータが漏洩しないようにする

モデルのパフォーマンスを測定することは、機械学習開発のライフサイクルにおける重要なタスクです。モデルの場合、モデルの一般化度を客観的かつ正確に評価することが非常に重要です。しかし、実際の研究開発では、テスト セットがモデルの構成、トレーニング、または選択のプロセスに漏れてしまうという問題がよく発生します。このような場合、テスト データセットを使用してモデルの能力を客観的に測定することはできません。これは、多くのモデルが強力に見えても、実際の使用時に失敗する一般的な理由でもあります。テスト セット データの漏洩を引き起こす方法は多数ありますが、その中には非常に欺瞞的で無害に見えるものもあります。

たとえば、データの準備中に、生データはデータセット全体の平均と分散を使用してスケーリングまたは正規化されます。しかし実際には、データの前処理にはトレーニング セットの平均と分散のみを使用する必要があります。テスト セットのデータは、平均と分散の計算には使用できません。情報漏洩のその他の一般的なケースとしては、データを分割する前に特徴選択を実行し、同じテスト データセットを使用して複数のモデルの一般化可能性を評価することが挙げられます。

これらの問題を回避するには、プロジェクトの開始時に独立したデータ サブセットを分割し、プロジェクトの終了時にこの独立したデータ サブセットのみを使用して単一モデルの一般化可能性を評価する必要があります。より詳細な議論については、[Cawley and Talbot, 2010]および[Kaufman et al., 2012]を参照してください。

2. さまざまなモデルを試してみる

一般的に言えば、万能なモデルはありません。つまり、速度、モデル サイズ、正確性、精度、再現率などの点で最高の結果を達成できるモデルはありません。 1 つ以上の側面でそれを上回るモデルが存在するはずです。これは「無料ランチなし」法によく反映されています。この定理は、すべての可能な指標と長所と短所を考慮した場合、単一の機械学習方法が他の方法よりも一貫して優れていることはないと述べています[Wolpert、2002]。

したがって、機械学習モデルを設計してトレーニングする際の主な目標は、現在の特定の問題に対して最も効果的で使用可能な機械学習モデルを見つけることです。このプロセスでは、何らかのガイダンスを提供できる事前の知識があるかもしれませんが、ほとんどの場合、暗闇の中で手探りすることしかできません。幸いなことに、現在では高級言語用のツールキットが数多く存在します。

例えば、Python(Scikit-learn [Varoquaux et al., 2015])、R言語(caret [Kuhn, 2015]など)、Julia(MLJ [Blaom et al., 2020]など)などでは、モデルパラメータの検索やハイパーパラメータの調整、比較が簡単に行え、低コストで複数のモデルを生成することができます。

では、なぜそれをしないのでしょうか?いくつかのモデルを試してみて、どれが最も効果的かを見つけてください。 「ただ飯なし」法では、「NIH症候群(ここで発明されたものではない症候群)」を避けることが重要です。これは、技術的または法的要因ではなく、単にどこか他所から来たという理由で、人々が特定の製品、研究結果、または知識を使用したり、購入したり、受け入れたりすることを望まないことを指します。これは一種の傲慢さと偏見として理解できます。それを自分のシステムに組み込むのは、傲慢さやうぬぼれにより、自分が提案していない改善点によってもたらされる改善を無視することを避けるためです。これにより、特定の問題に対する最適なモデルを見逃してしまう可能性があります。

3. 不適切なモデルを使用しない

一部の機械学習ツールの入手が非常に容易なため、モデルの背後にある計算メカニズムやアプリケーションの背景が適切かどうかを無視して、いくつかの実験を実施したりモデルを構築したりするコストは特に低くなります。したがって、データセットに不適切なモデルを適用する可能性があります。たとえば、カテゴリプロパティを持つラベル (男性の場合は 1、女性の場合は 2 など) が、数値的な意味を持つラベル (1 メートルの場合は 1、2 メートルの場合は 2 など) としてモデルに与えられたり、異なる時間での入力間に依存関係がない時系列データが誤ってモデルに入力されたりすることがあります。論文を書くときには、これに特に注意する必要があります。不適切なモデルを選択すると、審査員は非常にプロフェッショナルではないと感じ、理論的に説明することが難しくなるためです。

さらに、不必要に複雑なモデルの使用は避けるべきです。データが限られており、ビジネスに特別な課題がなく、関係性を理解して表現するのが簡単な場合は、ディープラーニングを使用しないことを選択できます。最後に、「このモデル構造は新しい」ことを選択の理由として使用しないでください。古くて成熟したモデルは長い間存在しており、試行錯誤を経ており、その堅牢性と使いやすさは通常、新しいモデルよりも信頼性が高いためです。

4. モデルのハイパーパラメータを必ず最適化する

ハイパーパラメータは、モデルの構成に影響を与える事前設定されたパラメータです。多くのモデルには、サポート ベクター マシンのカーネル関数、ランダム フォレストのツリー、ニューラル ネットワークのアーキテクチャなど、ハイパーパラメータがあります。ほとんどのハイパーパラメータはモデルのパフォーマンスに大きな影響を与える可能性があり、「万能」なソリューションは存在しません。つまり、モデルを最大限に活用するには、特定のデータセットを調整する必要があります。

ランダム検索とグリッド検索は、現在よく使用されているハイパーパラメータ最適化戦略です。これら 2 つの戦略は記述が簡単ですが、ハイパーパラメータの数が多いモデルやトレーニング コストが高いモデルに拡張するのは困難です。したがって、最適な構成を検索するためのよりスマートなツールも探求する必要があります。関連する研究については、[Yang and Shami、2020]を参照してください。さらに、データマイニングパイプラインの他の部分に加えて、AutoMLテクノロジーを使用して、モデルとそのハイパーパラメータの選択を最適化することもできます。関連するレビューについては、[He、2021]らの研究を参照してください。

5. ハイパーパラメータと特徴選択を最適化する際には注意が必要

2018 年に Cai らが行った調査では、特徴選択はモデルトレーニングにおける一般的な段階であることが判明しました。一般的にハイパーパラメータの最適化と特徴選択を実行するための鍵は、それらをモデルのトレーニングの前に実行するのではなく、モデルのトレーニングの一部として扱うことです。しかし実際には、モデルのトレーニングが始まる前にデータセット全体に対して特徴選択を実行することが多く、その結果、テスト セットの情報が事前にトレーニング プロセスに漏れてしまいます。

理想的には、モデルで使用されるハイパーパラメータまたは機能を最適化する場合は、モデルのトレーニングに使用したのとまったく同じデータを使用する必要があります。これを実現するための一般的な手法は、ネストされたクロスバリデーション(二重クロスバリデーションとも呼ばれます)であり、メインのクロスバリデーション ループ内で追加のループとしてハイパーパラメータの最適化と機能選択を実行します。関連する研究については、[Cawley and Talbot, 2010]を参照してください。

3.モデルを合理的に評価する方法

多くの研究者は、研究分野の進歩を促進したり、信頼できる結論を導き出すために、ML モデルに対して不公平な評価を行う可能性があり、これは間違いなく学術的進歩を「濁らせる」ことになります。したがって、実験でデータをどのように使用するか、モデルの真のパフォーマンスをどのように測定するか、そしてモデルの真のパフォーマンスを意味のある有益な方法でどのように報告するかを慎重に検討する必要があります。

[[416812]]

1. 常に適切なテストスイートを使用する

通常、ML モデルの一般化を測定するにはテスト セットを使用します。複雑なモデルがトレーニング データを完全に学習できたとしても、一般化可能な知識を獲得できない場合があるためです。したがって、トレーニング セットでモデルがどの程度うまく機能するかをテストすることはほとんど意味がありません。テスト データセットの合理性を確保することは非常に重要であり、そのためには、より広範囲の対象集団をカバーし、トレーニング データセットと重複しないようにする必要があります。

たとえば、トレーニング セットとテスト セットの両方に晴れた日の写真がある場合、この同一の気象条件のデータは、テスト セットが独立しておらず、より広範囲の気象条件を捉えていないため代表的ではないことを意味します。単一のデバイスを使用してトレーニング データとテスト データを収集する場合にも、同様の状況が頻繁に発生します。モデルが 1 つのデバイスの特性を過剰学習したとしても、他のデバイスには一般化されない可能性が高く、テスト セットで評価しても検出されません。

2. 常に検証セットを使用する

複数のモデルを連続してトレーニングすることは珍しくなく、研究者はモデルのパフォーマンスについて得られた知識を次のモデルの構成の指針として使用することがよくあります。これを実行するときは、テスト データセットではなく、別の検証データセットを使用するようにしてください。検証セットに含まれるサンプルはトレーニングに直接使用されるのではなく、トレーニングをガイドするために使用されます。モデルのパフォーマンスを測定するためにテスト セットを使用する場合、テスト セットはトレーニング プロセスの暗黙的な一部となり、モデルの一般化可能性の独立した測定基準として使用することはできません。モデルは徐々にテスト セットに過剰適合します ([Cawley and Talbot、2010] を参照)。

さらに、独立した検証セットを作成する利点は、いつでもトレーニングを停止できることです。単一のモデルをトレーニングする場合、検証セットを使用してモデルの各反復を測定します。検証スコアが低下し始めた場合は、モデルがトレーニング データに過剰適合し始めたことを示しているため、適切なタイミングでトレーニングを停止できます。

3. モデルを繰り返し評価する

多くの ML モデルは不安定です。モデルを複数回トレーニングしたり、トレーニング データに小さな変更を加えたりすると、モデルのパフォーマンスに大きな変化が生じる可能性があります。したがって、モデルの単一の評価は信頼性が低く、モデルの実際のパフォーマンスを過小評価または過大評価する可能性があります。一般的な解決策は、異なるトレーニング データセットのサブセットを使用してモデルを複数回トレーニングすることです。

交差検証(CV)は最も広く使用されている方法であり、多くのバリエーションが導入されています([Arlot et al.、2010]を参照)。標準的な CV トレーニングは 10 回以上繰り返されます。これに基づいて、CV プロセス全体をさまざまなデータ カテゴリに分割すると、特にデータ カテゴリが少ない場合に、トレーニングの厳しさを大幅に高めることができます。これにより、各クラスが各フォールドで完全に表現されることが保証されます。

さらに、統計テストを使用したモデルの比較を後で容易にするために、推定値の複数の平均と標準偏差に加えて、個々のスコアの記録を保持することをお勧めします。

4. モデルインスタンスを評価するためのデータを確保する

一般的なモデルのパフォーマンス (例: ニューラル ネットワークが問題を解決する能力) を評価することと、特定のモデル インスタンス (例: バックプロパゲーションの 1 回のパスによって生成された特定のニューラル ネットワーク) のパフォーマンスを評価することの間には、重要な違いがあります。一般的に使用されるクロス検証法は、通常、前者には適していますが、後者には適していません。たとえば、10 回のクロス検証で 10 個のモデル インスタンスが生成され、テスト フォールド スコアが最も高いインスタンスが実際に使用されるモデルとして選択されると想定されます。この場合、モデルのパフォーマンスをどのように報告しますか?

テストのスコアはモデルのパフォーマンスの信頼できる指標であると考える人もいるかもしれませんが、実際にはそうではありません。まず、1 つのフォールド内のデータの量は比較的少ないです。第二に、最も高いスコアを獲得するインスタンスは、最も単純なテスト ケースを持つインスタンスである可能性が高く、つまり、代表的でない評価データが含まれています。したがって、モデル インスタンスの一般化可能性を推定する唯一の信頼できる方法は、別のテスト セットを使用することです。したがって、最終的に選択されるモデル インスタンスの偏りのない推定専用の別のデータセットを作成するのが最適です。

5. 不均衡なデータセットに「精度」を使用しない

研究者は、ML モデルを評価するためにどの指標を使用するかについて注意する必要があります。分類モデルの場合、最も一般的に使用されるメトリックは精度です。これは、モデルによって正しく分類されたデータセット内のサンプルの割合です。このアプローチは、分類がバランスが取れている場合、つまりデータセット内の各クラスの例数が同程度である場合にうまく機能します。しかし、データセットのバランスが崩れると、精度が誤解を招く指標になる可能性があります。

たとえば、データ セットでは、サンプルの 90% が同じクラスを表し、10% が別のクラスを表します。常に最初のクラスを出力するバイナリ分類器は、入力が何であっても 90% の精度になりますが、これは意味がありません。この場合、サンプルサイズの不均衡の影響が比較的少ない、コーエンのカッパ係数 (κ) やマシューズ相関係数 (MCC) などの指標を使用する方が適切です。不均衡なデータの処理方法の詳細については、Haixiang et al. [2017]を参照してください。

4.公平な比較モデル

比較モデルは学術研究の基礎です。不公平な比較が行われた場合、その後他の研究者が誤解する可能性があります。したがって、異なるモデルが同じ設定で評価され、複数の角度が検討され、統計テストが適切に使用されるようにすることが重要です。

[[416813]]

1.数字が大きいほど効果は高くなりますか?

一部の学術論文では、通常次のように書かれています。「以前の研究の精度は 94% でしたが、私たちの論文のモデルの精度は 95% に達したので、SOTA です。」しかし、「数字を積み重ねる」モデルは良いモデルではないことを証明する証拠はたくさんあります。たとえば、モデルのトレーニング セットとテスト セットが同じデータの異なる部分から取得される場合、モデルの「数値が良好」である理由は明らかです。

もう 1 つの問題は、モデルを比較する場合、論文では比較対象のモデルに対して同じハイパーパラメータの最適化が設定されていないことが多いことです。たとえば、デフォルト設定のものと、最適化されたパラメータのものとがあります。

したがって、公平を期すために、研究者としては、少なくとも「比較モデル」のパラメータを同じように最適化し、複数の評価を実行して、モデル間のパフォーマンスの違いが有意であるかどうかを判断する必要があります。

2. モデルを比較する際に統計検定を使用する方法

一般に、統計テストはモデル間の違いを比較するための優れたツールです。 2 つのカテゴリがあります。1 つは、2 つの分類器を比較できる対応のあるカイ 2 乗検定 (マクネマー検定) などの比較的単純な機械学習モデルに使用され、もう 1 つはほとんどの状況に適用できます。たとえば、特定の種類のデータをニューラル ネットワークで処理するか、決定木で処理するかを評価する場合、クロス検証、繰り返しサンプリングなどの方法の方が適しています。

さらに、T 分布検定は、モデルによって生成された結果の確率分布を比較する一般的な方法です。実際、データ分布に関する仮定を緩和する Mann-Whitney の U 検定の方が適しています。

その他の方法については、以下を参照してください。

[ラシュカ、2020]

https://arxiv.org/abs/1811.12808

[Carrasco et al., 2020]。

https://linkinghub.elsevier.com/retrieve/pii/S2210650219302639

3. 多重比較をどのように見ますか?

統計的手法を使用して 2 つ以上のモデルを比較する場合、状況は少し複雑になります。これは、複数のペアワイズ テストを使用すると、テスト セットを複数回使用する場合と同様の欠点があり、重要性について過度に楽観的になる可能性があるためです。なぜなら、2 つのモデルに対して統計テストを実行する場合、信頼レベルは通常 95% に設定されるため、20 回のテストのうち 1 回は「混乱を招く」結果が表示されることになります。

単一の比較であれば、この不確実性は許容できる可能性があります。ただし、モデルが複数あり、比較が複数ある場合は、統計的検定の不確実性が蓄積されます。

この現象は多重度効果としても知られており、いわゆる「pハッキング」(通常はサンプルサイズの増加)や、統計的科学的推論よりも小さなp値の探索を重視する「データドレッジング」につながる可能性があります。

この問題に対処するには、多重検定の補正を使用できます。最も一般的なアプローチは、実行されるテストの数に応じて有意性しきい値を下げる Bonferroni 補正です。

さらに、修正方法は他にもあります。以下を参照してください。

[ストライナー、2015]

https://doi.org/10.3945/ajcn.115.113548.

4. ベンチマークには注意する

一部の分野では、ベンチマーク データセットを使用して機械学習モデルを評価することが非常に一般的です。この背後にある考え方は、誰もが同じデータを使用してモデルをトレーニングおよびテストすれば、モデルのパフォーマンスの比較がより透明になるというものです。

ただし、テスト セットへのアクセスが制限されていない場合、誰かがそれをトレーニング セットとして使用し、モデルの過大評価につながります。各人がテスト セットを 1 回しか使用できないように制限されているが、機械学習コミュニティ全体ではテスト セットを複数回使用すると、いくつかの問題を回避できません。

実際、同じテスト セットで複数のモデルを評価すると、パフォーマンスが最も優れたモデルが過剰適合している可能性があり、SOTA の結論を導き出すことが不可能になります。

調査を行う際には、ベンチマーク データセットのテスト結果を慎重に解釈し、パフォーマンスの小さな改善が重要であると想定しないようにする必要があります。

統計的検定に関する詳しい説明については、以下を参照してください。

[Paullada et al., 2020]

https://www.sciencedirect.com/science/article/abs/pii/s2210650219302639?via%3dihub

5。組み合わせモデルを検討してください

機械学習は、複数選択の質問ではなく、質問の組み合わせである場合があります。さまざまなモデルを組み合わせることで、パフォーマンスが大幅に向上する可能性があります。組み合わせにより、1つのモデルが別のモデルの弱点を補うことができます。この組み合わせは、アカデミアのアンサンブル学習と呼ばれます。

アンサンブル学習は、既存の訓練されたモデルから形成されるか、さまざまなモデルの選択を作成するために、ベースモデルの一部としてトレーニングされます。

さまざまな基本モデルを組み合わせる方法を検討する際に、アンサンブル学習は、投票や複雑な方法など、機械学習モデルを使用してアンサンブルモデルの出力を集約するなどの複雑な方法を使用できます。この複雑なアプローチは、しばしばスタッキングと呼ばれます。

アンサンブル学習の方法については、参照してください。

[Dong et al。、2020]

https://doi.org/10.1007/S11704-019-8208-Z

5.仕事の結論を説明する方法

学術研究の目的は、誇示することではなく、知識にわずかな貢献をすることです。したがって、何が機能し、何が機能しないかなど、作業の完全な説明が必要です。機械学習はしばしばトレードオフに関するものです。

1。透明で、透明で、透明!

まず第一に、仕事は可能な限り透明であり、他の人に「あなたの肩に立つ」機会を与えるべきです。たとえば、簡単な方法でモデルを共有することをお勧めします。たとえば、紙にすべての実験を実装できる場合は、このスクリプトを共有してください。

また、これにより、より慎重に研究を行うことが強制され、クリーナーコードを作成し、実験を注意深く文書化することができます。機械学習コミュニティで再現性がますます議論されていることに言及する価値があるので、将来的に不透明な作業は公開されないかもしれません。

機械学習研究の再現性を改善する方法:

[Pineau et al。、2020]

https://arxiv.org/abs/2003.12206

2。結論をさまざまな方法で提示します

複数のデータセットを使用したテストは、モデルを評価および比較する際の厳密なアプローチです。これは、単一のデータセットの欠点を克服し、モデルの完全な説明に貢献するのに役立ちます。

さらに、データセット上のモデルのパフォーマンスを報告するために複数のインジケーターを使用すると、異なる観点からモデルのパフォーマンスを説明することもできます。たとえば、モデルを精度で測定することにした場合、クラスの不均衡に敏感ではないメトリックを追加することは素晴らしいことです。精度、リコール、感度、または特異性などの部分的なメトリックを使用する場合、モデルのエラー率をより完全に反映するメトリックも含まれています。

さらに、明確で明確なメトリックは、モデルの解釈にも有益です。たとえば、AUCが報告されている場合、これがROC曲線の下の領域かPR曲線の領域かを指定してください。

インジケータの議論については、[Blagec et al。、2020]を参照してください。

https://arxiv.org/abs/2008.02577

3。データサポートされた引数

他の研究者を誤解させることを避けるために、無効な結論を出さないでください。一般的な間違いは、論文ステートメントの背後にあるトレーニングとテストデータを持たないことです。モデルが特定のデータセットでうまく機能するからといって、他のデータセットでうまく機能するわけではありません。

したがって、実験的研究から推測できるものには常に制限があります。重要な理由の1つは、バイアスのサンプリングです。つまり、データは現実世界を十分に表現していません。さらに、データ間に重複がある場合があり、非独立データもモデルにバイアスを引き起こす可能性があります。

したがって、あなたの発見をやりすぎて、彼らの限界に気づかないでください。

機械学習コミュニティデータセットの調査:

[Paullada et al。、2020]

https://arxiv.org/abs/2012.05345

4.統計テストを注意して使用します

統計的テストは完全ではありません。したがって、肯定的な結果を伴うテストは常にそれが意味があることを意味するわけではなく、負のテスト結果は必ずしもそれが無意味であることを意味するとは限りません。

統計的有意性に加えて、考慮すべきもう1つの質問は、2つのモデルの違いが本当に重要であるかどうかです。十分なサンプルがある場合は、実際のパフォーマンスの違いが無視できる場合でも、大きな違いを見つけることができます。したがって、何かが重要かどうかをよりよく理解するために、効果サイズを測定できます。一般的な方法には、コーエンのD統計、コルモゴロフスミルノフなどが含まれます。

p値の議論については、[Betensky、2019]を参照してください。

https://www.tandfonline.com/doi/full/10.1080/00031305.2018.1529624

5。洞察モデル

訓練されたモデルには、多くの有用な情報が含まれています。しかし、多くの研究者は、モデルが実際に学んだことについての洞察を提供することなく、モデルのパフォーマンスメトリックについてのみ語っています。研究の目的は、他の精度よりもわずかに高い精度を達成することではなく、知識と理解を生み出すことであることを忘れないでください。これを行うことができれば、より良いジャーナルで論文を公開できます。

したがって、モデルを注意深く見て、モデルの出力を理解してみてください。意思決定ツリーなどの比較的単純なモデルの場合、モデルの視覚化を提供することも有益であり、ほとんどのライブラリはこの機能をサポートしています。深いニューラルネットワークなどの複雑なモデルの場合、解釈可能な人工知能(XAI)技術を使用して知識を抽出することを検討してください。モデルが何をしているのかを理解することはほとんどありませんが、常に有用な洞察があります。

データ駆動型の知識認識可能な人工知能研究のレビューは、[Li et al。

https://ieeexplore.ieee.org/document/9050829

概要:心を開いてください

このドキュメントはすべての側面をカバーするものではなく、いくつかの提案には無限の結論があります。ただし、少なくともこの記事にリストされている間違った例のいくつかについて議論することができます。これは、研究の本質でもあります。

機械学習の理論は常に練習に遅れをとっており、今日私たちが正しいと思うことは明日間違っているかもしれません。だから、機械学習を心を開いて扱ってください:仲間の最新の開発に優れていて、あなたが理解していない知識を謙虚に受け入れてください。

<<:  AIが顧客関係管理を改善する3つの方法

>>:  なぜAIは東京オリンピックでバレーボールの試合を無料で観戦できるのか?

ブログ    
ブログ    

推薦する

...

科学者らが世界最小の「カニ」遠隔操作歩行ロボットを公開。ノミよりも小さい

最近、米国ノースウェスタン大学のエンジニアたちが、小さくてかわいいカニの形をした、史上最小の遠隔操作...

1つのモデルで8つの視覚タスクを処理し、1つの文で画像と動画を生成できます。

[[437247]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitA...

...

人工知能によるテキスト検出の実践的有効性に関する議論

AI 支援による記事執筆は今やどこにでもあります。ChatGPT は多くの言語ベースの AI アプリ...

人工知能とセキュリティ:繋がる双子

何十年もの間、セキュリティは重要であると考えられてきましたが、いわゆる「コアビジネス」機能に関与した...

落とし穴を避けよう!ニューラルネットワークの欠点と短所を数え上げよう

最近、ディープラーニングが大々的に宣伝されており、人々はニューラル ネットワークをあらゆる場所で使用...

OpenAIの取締役会が数秒で後悔!ウルトラマン、CEOに復帰要請

たった1日で、OpenAIの取締役会は劇的に変化しました。最新のニュースによると、ウルトラマンがCE...

人工知能はあなたが思っているほど遠いものではないかもしれない

人工知能は偉大で強力だ、多くの人がそう思っていると思います。実際、私たちはコードのスキャンなど、人工...

phind: 開発者に特化したAI検索エンジンの誕生!

みなさんこんにちは、三元です。前回の記事では、AIを使いこなせない人は本当に将来淘汰されていくのか?...

「翼竜」が飛び立ち、その威力を発揮。固定翼ドローンについて、あなたはどのくらい知っていますか?

空を飛ぶ龍、数千マイル離れたところから救援に駆けつける!最近、「翼龍」無人機が飛び立ち、被災地に急行...

...

マスク氏も騙された。AIの虚偽の内容が「リアル」すぎる

イスラエルとパレスチナの紛争が深刻化するにつれ、ソーシャルメディアのプラットフォーム上には現地の情景...

...