機械学習が失敗したらどうするか: 計算学習理論

機械学習が失敗したらどうするか: 計算学習理論

導入

顔認識モデルを構築し、検証セットを使用してテスト セットでの実験のパラメータを調整しているとします。 残念ながら、あなたの実験は期待外れのテスト結果をもたらしました。

[[330663]]

この特定の問題に対する最善の解決策は何か、どうすればわかるのでしょうか?

まず仮説ブースティング問題を理解し、次にこのアルゴリズムから派生した AdaBoost アルゴリズムの結果から、その問題を解決するための実用的な原理を抽出できるかどうかを確認します。

線形予測子

線形回帰

線形回帰は、説明変数または独立変数とスカラー応答変数または従属変数の関係をモデル化します。

この関係は線形予測関数を使用してモデル化されます。

> 線形回帰

回帰の損失関数では、予測とラベルまたはターゲットの実際の結果との差に対して発生するペナルティを定義する必要があります。

平均二乗誤差は、二乗損失関数を使用してこの差を最小限に抑えます。

> 平均二乗誤差

ここで、n は予測の数、Y は予測変数の観測値、Ŷ は予測値です。

一部の学習タスクでは、多項式予測子などの非線形予測子が必要です。

> 多項式回帰タスクのための線形回帰

この問題は、曲線上の各ポイントでのオフセットの二乗の合計 (「残差」) を最小化する最小二乗アルゴリズムを使用して適切な係数のベクトルを見つけることによって、線形回帰問題に簡略化できます。

ロジスティック回帰

ロジスティック回帰では、特定のクラスまたはイベントが [0, 1] の区間に存在する確率をモデル化する方法を学びます。

ロジスティック関数は、任意の実数入力を受け取り、0 から 1 の間の値を出力するシグモイド関数です。

> シグモイド関数

ここで学習が失敗した場合は、バイアスとバイアスのトレードオフに対処するために拡張を試すことができます。

ブースト問題を想定

「弱い学習者のグループから強い学習者を 1 人生み出せるか?」—マイケル・カーンズとレスリー・ガブリエル・ヴァリアント

ブースティングは線形予測子の一般化を使用して次の問題を解決します。

バイアスと分散のトレードオフ

いくつかの用語を定義しましょう:

  • 近似誤差とは、事前の知識における誤差、つまりアルゴリズムが最適な答えを出力する可能性のことです。
  • 推定誤差とは、アルゴリズムが未知のデータに基づいて結果を予測する際の誤差です。

候補モデルが複雑になるほど、近似誤差は小さくなりますが、推定誤差は大きくなります。

ブースティングにより、学習者は、近似誤差が大きい可能性のある単純なモデルから始めて、近似誤差と推定誤差の両方を最小化するモデルに進むことで、このトレードオフを制御できます。

学習の計算複雑性

ブースティングにより、ランダムな推測よりもわずかに優れたパフォーマンスを発揮する弱い学習者や単純なアルゴリズムの精度を向上させることができます。 その考え方は、学習が難しく計算が複雑な学習者に匹敵する効率的な予測子を生成するために、弱い学習者を強い学習者に変換しようとすることです。

アダプティブブースト

AdaBoost (Adaptive Boosting) は、画像内の顔を検出するための単一の仮説への仮説の線形結合で構成される理論的な仮説ブースティング問題に基づくアルゴリズムです。

AdaBoostの擬似コード、

> AdaBoost 疑似コード

指定されたラウンド数の間、AdaBoost アルゴリズムは各仮説の誤差に反比例する重みを割り当てます。 この重みは仮説が正しい場合に更新され、仮説が間違っている例とは対照的に、より低い確率の重みが与えられます。 これは複数のラウンドで実行されるため、後続の各ラウンドでは、弱い学習者は問題のあるサンプルに焦点を当てます。 これにより、すべての弱い仮説の加重合計に基づいて「強力な分類器」が生成されます。

ここで、T はトレーニング ラウンドの数、h は弱学習器の実行時間です。AdaBoost アルゴリズムの実行時間は実質的に O(Th) です。

顔認識のためのAdaBoost

例に戻りましょう。ここでは、24 x 24 ピクセルの画像を取得し、その情報を使用して画像が人間の顔を表しているかどうかを判断する顔認識モデルを構築します。

これら4つの基本的な仮定を表す線形関数を使用します。

> 顔認識の基本仮説

各仮説の機能形式は次のようになります。

  • 軸に沿った長方形 R、最大 24 個の軸に沿った長方形
  • タイプA、B、C、またはD

そして、画像をスカラー値にマッピングします。

学習した関数を計算するには、赤い四角形内にあるピクセルのグレースケール値の合計を計算し、その値を青い四角形内にあるピクセルのグレースケール値の合計から減算します。

まず各画像に対して関数のすべての可能な出力を計算し、次に AdaBoost アルゴリズムを適用することで、弱学習器を実装できます。 これにより、顔領域の強度が増し、予測精度が向上する可能性があります。

モデルの選択と検証

最終的なソリューションには複数のモデルから選択できる段階に達しました。

私たちの特定の問題を解決するための良いモデルは何でしょうか?

サンプルをトレーニング セットとテスト セットに分割して、近似誤差と推定誤差のバランスを見つけることができます。 モデルをトレーニングするときは、トレーニング セットを使用し、独立したテスト セットを使用してモデルを検証し、経験的誤差を取得します。 これにより、トレーニング サンプルを過度に適合させている過剰適合なのか、トレーニング サンプルを十分に適合させていない不足適合なのかを直感的に判断できるようになります。

> 多項式回帰モデルにおけるモデル選択の検証

近似誤差と推定誤差は何に依存するのでしょうか?

まず、いくつかの用語を定義します。

  • 仮説クラスは、機械学習アルゴリズムに選択できるすべての可能な仮説のセットを表します。
  • 分布を、標本空間からの個々の観測値の真の確率を決定する未知の関数として定義しましょう。

近似値の誤差は、分布と仮定のクラスによって異なります。 より多くの仮説クラスを追加したり、他の特徴表現を使用したりすることで、近似誤差を改善できる代替知識が得られる可能性があります。

推定誤差はトレーニング サンプルのサイズによって異なります。 推定誤差を改善するには、十分な数のトレーニング サンプルが必要です。 仮説カテゴリが大きくなるほど、適切な予測子を見つけるのが難しくなるため、一般的に推定誤差が増加します。 AdaBoost アルゴリズムの結果は、すべての弱い仮説の加重合計に基づく「強力な分類器」であり、基本的に仮説クラスの数を減らします。

結論は

線形回帰から適応ブースティングに移行すると、学習パフォーマンスが低い問題を解決することがいかに曖昧であるかの例がわかります。

モデルの選択、検証、学習曲線は、学習が失敗した理由を理解し、解決策を見つけるのに役立つツールです。

以下の原則はわかりやすくまとめられており、「機械学習を理解する: 理論からアルゴリズムまで」から直接引用されています。

1. 学習にパラメータ調整が含まれる場合は、モデル選択曲線をプロットして、パラメータが適切に調整されていることを確認します。

> モデル選択曲線

2. トレーニング エラーが大きすぎる場合は、仮説クラスを拡張するか、完全に変更するか、データの機能表現を変更することを検討します。

3. トレーニング エラーが小さい場合は、学習曲線をプロットし、そこから問題が推定エラーなのか近似エラーなのかを推測します。

> 学習曲線: 推定誤差と近似誤差

4. 近似誤差が十分に小さいと思われる場合は、さらにデータを取得してみます。 これが不可能な場合は、仮説クラスの複雑さを軽減することを検討してください。

5. 近似誤差も大きいと思われる場合は、仮説クラスまたはデータの特徴表現全体を変更してみてください。

<<:  機械学習の仕組み - コード例

>>:  蘇寧のデジタルツインプラットフォームが倉庫の効率向上に貢献

ブログ    
ブログ    

推薦する

...

...

2019年の技術予測: クラウド、ビッグデータ、AI、IoT、ブロックチェーン

[[258103]]テンセントテクノロジーニュース:フォーブスの寄稿者であるスティーブ・ウィルクス氏...

PaddlePaddle を使い始める: 対話システムにおける感情分析から始める

1. 背景人工知能の時代では、さまざまなディープラーニングフレームワークが普及しており、フレームワー...

ロボット開発で人気の言語:不滅のJava、不滅のC/C++、そして新興のPython

プログラミング言語は流行ったり廃れたりするものですが、Java と C/C++ は変わりません。 [...

AIがマーケティングオーディエンスの洞察をどのように変えるのか

[[429813]]人工知能は、企業のマーケティング範囲の拡大に大きく貢献することが証明されています...

...

マイクロソフトがAI開発に関する無料電子書籍をリリース、インテリジェントなチャットボットの構築方法を教える

最近、Microsoft は、Microsoft AI プラットフォームを使用してインテリジェントな...

...

...

「AI論文のオープンソースコードの義務化に反対する理由」

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

「素晴らしい成果物!」ハードウェア AI パフォーマンス テスト用の Python ライブラリがリリースされました

現在、人工知能技術は急速に発展しており、非常に注目を集めています。しかし、数多くの方法があるにもかか...

持続可能な開発の達成において AI はどのような役割を果たすのでしょうか?

長年にわたり、持続可能なエネルギーは科学者にとって大きな関心事である重要な分野でした。人々は、効果的...

...