私たちが行う多くの機械学習プロジェクトでは、k最近傍分類子から始めます。通常、すべての距離を計算するのに十分な時間があるため、これは理想的な開始分類子であり、パラメーターの数は制限されています(k、距離メトリック、および重み付け)。
ただし、プロジェクトの後半で別の分類器に切り替える余地がないため、これにはknn分類器を使用するという効果があります。新しい分類子を試す正当な理由は何でしょうか。明らかなのはメモリと時間の制約ですが、別の分類子が実際に精度を改善できるケースはありますか?
私たちが行う多くの機械学習プロジェクトでは、k最近傍分類子から始めます。通常、すべての距離を計算するのに十分な時間があるため、これは理想的な開始分類子であり、パラメーターの数は制限されています(k、距離メトリック、および重み付け)。
ただし、プロジェクトの後半で別の分類器に切り替える余地がないため、これにはknn分類器を使用するという効果があります。新しい分類子を試す正当な理由は何でしょうか。明らかなのはメモリと時間の制約ですが、別の分類子が実際に精度を改善できるケースはありますか?
回答:
k-NNは非常に限定的な意味で一般化します。単純に事前平滑度(または連続性の仮定)を使用します。この仮定は、特徴空間で近接しているパターンが同じクラスに属している可能性が高いことを意味します。パターン分布の機能的な規則性は、k-NNでは回復できません。
したがって、特に高次元の特徴空間の場合は非常に大きくなる可能性がある、代表的なトレーニングサンプルが必要です。さらに悪いことに、これらのサンプルは利用できない場合があります。したがって、不変条件を学習することはできません。パターンがラベルを変更せずにいくつかの変換を受ける可能性があり、トレーニングサンプルに許容されるすべての方法で変換されたパターンが含まれていない場合、k-NNはトレーニング中に提示されなかった変換パターンを認識しません。これは、k-NNを実行する前に不変形式で表されていない場合など、シフトまたは回転した画像に当てはまります。k-NNは無関係な機能から抽象化することさえできません。
別のやや人工的な例は次のとおりです。定期的に配布される異なるクラスに属するパターンを想像してみてください(たとえば、正弦に従って-それが0未満の場合、パターンは1つのクラスに属し、それより大きい場合、パターンは別のクラスに属します)。トレーニングセットは有限です。したがって、それは有限の領域に配置されます。この領域外では、認識エラーは50%になります。この場合、パフォーマンスが大幅に向上する周期基底関数を使用したロジスティック回帰を想像できます。他の方法では、パターン分布の他の規則性を学習し、十分に推定できます。
したがって、利用可能なデータセットが代表的ではないと疑い、パターンのいくつかの変換に対する不変性が達成されるべきである場合、これは事実であり、k-NNを超えて移動する必要があります。
計算の複雑さによって制約を受ける場合、決定木(Quinal、1986)は(特に、フレームワークがDTモデルから多数のif
ステートメントへの直接変換を提供する場合(Accord.NETのように)、打ち勝つことは困難です)。
高次元データの場合、k-NNの基準となる距離の概念は価値がなくなります(Kriegel、Kröger、Zimek、2009)(また: Wikipediaの記事)。そのため、SVM (Corter、Vapnik、1995)やRandom Forests (Breiman、2001)などの他の分類子は、パフォーマンスが向上する可能性があります。
参照: