Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

Bias-Variance Tradeoff

バイアス・バリアンスのトレードオフは、予測誤差の期待値をバイアス、バリアンス、ノイズに分解し、単純すぎるモデルと複雑すぎるモデルの両方が失敗する理由を説明します。

バイアス・バリアンスのトレードオフは、新しいデータに対するモデルの期待誤差が、モデルの複雑さに対して逆方向に変化する2つの要素に分解されることを表します。バイアスは、実際のパターンを捉えるには単純すぎる仮定による誤差であり、アンダーフィッティングを引き起こします。バリアンスは、特定の訓練データに対する感度による誤差であり、オーバーフィッティングを引き起こします。モデルの柔軟性を高めると、通常はバイアスが低下する一方でバリアンスが上昇するため、合計誤差が最小になるのは中程度の複雑さです。Stuart Geman氏、Elie Bienenstock氏、René Doursat氏は、1992年の論文「Neural Networks and the Bias/Variance Dilemma」でこの概念を機械学習に導入しました。

誤差の分解#

この分解では、同じ種類のモデルを、同じソースから新たに抽出した訓練セットで何度も訓練することを考えます。二乗誤差の場合、入力に対する期待誤差は3つの項に厳密に分解されます。バイアスの二乗は、すべての訓練セットに対する平均予測と真の値との隔たりの二乗です。曲線的な関係に当てはめた線形回帰は、どれだけデータを与えても高いバイアスを維持します。バリアンスは、ある訓練セットから次の訓練セットへ移るときに、各予測がその平均値の周りにどの程度散らばるかを表し、深い決定木や正則化されていない大規模なニューラルネットワークでは高くなります。3つ目の項である既約ノイズは、ラベル自体に含まれるランダム性であり、どのモデルでも取り除けません。

フィッティングを繰り返すことで、両方の項を直接測定できます。このNumPyの例では、正弦波から取得したノイズを含む20点の訓練データセットを1,000個用意し、それぞれに次数1、3、12の多項式を当てはめます。

import numpy as np

rng = np.random.default_rng(0)
x = np.linspace(0, 1, 20)  # 20 training inputs, evenly spaced
x_test = np.linspace(0, 1, 200)
true_curve = np.sin(2 * np.pi * x_test)

for degree in [1, 3, 12]:
    # Fit the same polynomial degree to 1,000 training sets that differ only in their label noise
    predictions = []
    for _ in range(1000):
        y = np.sin(2 * np.pi * x) + rng.normal(0, 0.3, x.size)
        predictions.append(np.polyval(np.polyfit(x, y, degree), x_test))
    predictions = np.array(predictions)

    # Bias^2: squared gap between the average fit and the truth; variance: spread of fits around their average
    bias_sq = np.mean((predictions.mean(axis=0) - true_curve) ** 2)
    variance = np.mean(predictions.var(axis=0))
    print(f"Degree {degree:2d}: bias^2 = {bias_sq:.3f}, variance = {variance:.3f}")

直線のバイアスの二乗は0.205で、バリアンスはわずか0.008です。3次多項式は平均的には正弦波にほぼ完全に一致し、バイアスの二乗が0.005に低下する一方、バリアンスは0.016に倍増します。次数12の多項式は測定可能なバイアスがないものの、各サンプルのノイズに沿って曲がるため、バリアンスは0.074になります。3次多項式の合計誤差が最も低く、どのモデルも既約ノイズによるバリアンス0.09の影響を受けます。

バイアスとバリアンスの診断#

訓練誤差と検証誤差から、どちらの項が支配的かがわかります。両方の誤差が大きければ、バイアスが高いことを示します。訓練誤差が小さく、検証誤差が大幅に大きければ、バリアンスが高いことを示します。訓練データ量に対する両方の誤差をプロットする学習曲線を使えば、この2つのケースを区別できます。バリアンスの高いモデルでは、データ量が増えるにつれて誤差の差が縮まります。一方、バイアスの高いモデルでは、2つの曲線が早い段階で高い誤差のまま収束し、その状態が続きます。Ultralytics YOLOの訓練では、fraction引数を指定すると、訓練スプリットの一部を使って訓練します。たとえばfraction=0.25では、画像の最初の4分の1を使いますが、検証には検証スプリット全体を使います。そのため、カスタムデータセットでYOLO26の実行をデータ割合を増やしながら数回行うことで、学習曲線を描けます。

トレードオフの制御#

バリアンスは、データの追加、データ拡張、重み減衰やドロップアウトなどの正則化、早期停止、そしてバギングやランダムフォレストのように複数モデルの予測を平均することで低下します。バイアスは、モデルの大型化、より豊かな特徴量エンジニアリング、正則化の弱化、訓練時間の延長、さらに、それまでのアンサンブルの誤差を修正するモデルを追加するブースティングによって低下します。ハイパーパラメーター調整と交差検証を使い、ホールドアウトデータ上で2つの項のバランスが取れる設定を選びます。

テスト誤差と複雑さの関係を示す古典的なU字型曲線は、次数が上がる多項式など、固定されたモデル群に当てはまります。過剰パラメーター化されたニューラルネットワークでは、この曲線を超える場合があります。モデルが訓練データのすべてに完全に適合するサイズに近づくにつれてテスト誤差が上昇し、その後さらに大きくなると再び低下します。このパターンは二重降下と呼ばれます。この場合もバイアスとバリアンスの合計が誤差になりますが、パラメーター数に応じてバリアンスが一貫して増加するわけではありません。

統計的バイアスとその他の種類のバイアス#

このトレードオフにおけるバイアスは、あるタスクに対する学習アルゴリズムの性質です。AIにおけるバイアスは人々の集団に対する体系的な不公平を指し、データセットバイアスは、たとえば夜間の交通映像が不足している場合のように、訓練データが実運用環境を正確に反映していない状態を指します。モデルが偏ったデータセットに偏りも含めて正確に適合することはあり得るため、統計的バイアスが低くても公平とは限りません。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう