導入 顔認識モデルを構築し、検証セットを使用してテスト セットでの実験のパラメータを調整しているとします。 残念ながら、あなたの実験は期待外れのテスト結果をもたらしました。
この特定の問題に対する最善の解決策は何か、どうすればわかるのでしょうか? まず仮説ブースティング問題を理解し、次にこのアルゴリズムから派生した AdaBoost アルゴリズムの結果から、その問題を解決するための実用的な原理を抽出できるかどうかを確認します。 線形予測子 線形回帰 線形回帰は、説明変数または独立変数とスカラー応答変数または従属変数の関係をモデル化します。 この関係は線形予測関数を使用してモデル化されます。 > 線形回帰 回帰の損失関数では、予測とラベルまたはターゲットの実際の結果との差に対して発生するペナルティを定義する必要があります。 平均二乗誤差は、二乗損失関数を使用してこの差を最小限に抑えます。 > 平均二乗誤差 ここで、n は予測の数、Y は予測変数の観測値、Ŷ は予測値です。 一部の学習タスクでは、多項式予測子などの非線形予測子が必要です。 > 多項式回帰タスクのための線形回帰 この問題は、曲線上の各ポイントでのオフセットの二乗の合計 (「残差」) を最小化する最小二乗アルゴリズムを使用して適切な係数のベクトルを見つけることによって、線形回帰問題に簡略化できます。 ロジスティック回帰 ロジスティック回帰では、特定のクラスまたはイベントが [0, 1] の区間に存在する確率をモデル化する方法を学びます。 ロジスティック関数は、任意の実数入力を受け取り、0 から 1 の間の値を出力するシグモイド関数です。 > シグモイド関数 ここで学習が失敗した場合は、バイアスとバイアスのトレードオフに対処するために拡張を試すことができます。 ブースト問題を想定 「弱い学習者のグループから強い学習者を 1 人生み出せるか?」—マイケル・カーンズとレスリー・ガブリエル・ヴァリアント ブースティングは線形予測子の一般化を使用して次の問題を解決します。 バイアスと分散のトレードオフ いくつかの用語を定義しましょう:
候補モデルが複雑になるほど、近似誤差は小さくなりますが、推定誤差は大きくなります。 ブースティングにより、学習者は、近似誤差が大きい可能性のある単純なモデルから始めて、近似誤差と推定誤差の両方を最小化するモデルに進むことで、このトレードオフを制御できます。 学習の計算複雑性 ブースティングにより、ランダムな推測よりもわずかに優れたパフォーマンスを発揮する弱い学習者や単純なアルゴリズムの精度を向上させることができます。 その考え方は、学習が難しく計算が複雑な学習者に匹敵する効率的な予測子を生成するために、弱い学習者を強い学習者に変換しようとすることです。 アダプティブブースト AdaBoost (Adaptive Boosting) は、画像内の顔を検出するための単一の仮説への仮説の線形結合で構成される理論的な仮説ブースティング問題に基づくアルゴリズムです。 AdaBoostの擬似コード、 > AdaBoost 疑似コード 指定されたラウンド数の間、AdaBoost アルゴリズムは各仮説の誤差に反比例する重みを割り当てます。 この重みは仮説が正しい場合に更新され、仮説が間違っている例とは対照的に、より低い確率の重みが与えられます。 これは複数のラウンドで実行されるため、後続の各ラウンドでは、弱い学習者は問題のあるサンプルに焦点を当てます。 これにより、すべての弱い仮説の加重合計に基づいて「強力な分類器」が生成されます。 ここで、T はトレーニング ラウンドの数、h は弱学習器の実行時間です。AdaBoost アルゴリズムの実行時間は実質的に O(Th) です。 顔認識のためのAdaBoost 例に戻りましょう。ここでは、24 x 24 ピクセルの画像を取得し、その情報を使用して画像が人間の顔を表しているかどうかを判断する顔認識モデルを構築します。 これら4つの基本的な仮定を表す線形関数を使用します。 > 顔認識の基本仮説 各仮説の機能形式は次のようになります。
そして、画像をスカラー値にマッピングします。 学習した関数を計算するには、赤い四角形内にあるピクセルのグレースケール値の合計を計算し、その値を青い四角形内にあるピクセルのグレースケール値の合計から減算します。 まず各画像に対して関数のすべての可能な出力を計算し、次に AdaBoost アルゴリズムを適用することで、弱学習器を実装できます。 これにより、顔領域の強度が増し、予測精度が向上する可能性があります。 モデルの選択と検証 最終的なソリューションには複数のモデルから選択できる段階に達しました。 私たちの特定の問題を解決するための良いモデルは何でしょうか? サンプルをトレーニング セットとテスト セットに分割して、近似誤差と推定誤差のバランスを見つけることができます。 モデルをトレーニングするときは、トレーニング セットを使用し、独立したテスト セットを使用してモデルを検証し、経験的誤差を取得します。 これにより、トレーニング サンプルを過度に適合させている過剰適合なのか、トレーニング サンプルを十分に適合させていない不足適合なのかを直感的に判断できるようになります。 > 多項式回帰モデルにおけるモデル選択の検証 近似誤差と推定誤差は何に依存するのでしょうか? まず、いくつかの用語を定義します。
近似値の誤差は、分布と仮定のクラスによって異なります。 より多くの仮説クラスを追加したり、他の特徴表現を使用したりすることで、近似誤差を改善できる代替知識が得られる可能性があります。 推定誤差はトレーニング サンプルのサイズによって異なります。 推定誤差を改善するには、十分な数のトレーニング サンプルが必要です。 仮説カテゴリが大きくなるほど、適切な予測子を見つけるのが難しくなるため、一般的に推定誤差が増加します。 AdaBoost アルゴリズムの結果は、すべての弱い仮説の加重合計に基づく「強力な分類器」であり、基本的に仮説クラスの数を減らします。 結論は 線形回帰から適応ブースティングに移行すると、学習パフォーマンスが低い問題を解決することがいかに曖昧であるかの例がわかります。 モデルの選択、検証、学習曲線は、学習が失敗した理由を理解し、解決策を見つけるのに役立つツールです。 以下の原則はわかりやすくまとめられており、「機械学習を理解する: 理論からアルゴリズムまで」から直接引用されています。 1. 学習にパラメータ調整が含まれる場合は、モデル選択曲線をプロットして、パラメータが適切に調整されていることを確認します。 > モデル選択曲線 2. トレーニング エラーが大きすぎる場合は、仮説クラスを拡張するか、完全に変更するか、データの機能表現を変更することを検討します。 3. トレーニング エラーが小さい場合は、学習曲線をプロットし、そこから問題が推定エラーなのか近似エラーなのかを推測します。 > 学習曲線: 推定誤差と近似誤差 4. 近似誤差が十分に小さいと思われる場合は、さらにデータを取得してみます。 これが不可能な場合は、仮説クラスの複雑さを軽減することを検討してください。 5. 近似誤差も大きいと思われる場合は、仮説クラスまたはデータの特徴表現全体を変更してみてください。 |
>>: 蘇寧のデジタルツインプラットフォームが倉庫の効率向上に貢献
[[390293]]昨年の初め、Google は論文「Fast Differentiable So...
科学研究、金融、小売から工業、農業まで、ますます多くの業界やビジネス シナリオで、効率の向上とコスト...
たった 900 ドルで四足ロボット犬を DIY できる?スタンフォード学生ロボットクラブの新メンバー...
[[419580]]データから実用的なリアルタイムの洞察を生成するには、企業は人工知能や機械学習の導...
2019年9月に百度、海亮科技、センスタイムなどの企業が世界初の自動運転車の商用ライセンスを取得し...
科学技術の継続的な進歩により、インテリジェント製品は徐々に日常生活に統合され、人工知能は現代の発展の...
この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...
[[358211]] DP と呼ばれる動的プログラミングは、非常に洗練された複雑なアルゴリズムとい...
2月22日のニュース:昨日、権威あるアメリカの科学雑誌「MITテクノロジーレビュー」は、2018年の...
近年、急速に進化する生成型AI技術が広く注目を集めており、多方面に大きな影響を与えると期待されていま...
ディープラーニングは高度に反復的なプロセスです。最適な組み合わせを決定するには、ハイパーパラメータの...
[[434311]]もともと Protobuf の原理を勉強したかったのですが、研究の過程で Pr...