KNNでどのタイプのデータ正規化を使用する必要がありますか?


9

正規化には2種類以上あることを知っています。

例えば、

1- zスコアまたはtスコアを使用してデータを変換します。これは通常、標準化と呼ばれます。

2- 0と1の間の値を持つようにデータを再スケーリングします。

正規化が必要かどうかの質問

KNNでどのタイプのデータ正規化を使用する必要がありますか?なぜ?

回答:


11

k-NNの場合、データをと間で正規化することをお勧めします。01

k-NNは、例を比較する手段としてユークリッド距離を使用します。2点間の距離を計算するにはおよび 、ここでは番目の機能の値です。x1=(f11,f12,...,f1M)x2=(f21,f22,...,f2M)f1iix1

d(x1,x2)=(f11f21)2+(f12f22)2+...+(f1Mf2M)2

距離を計算するときにすべてのフィーチャが等しく重要であるためには、フィーチャの値の範囲が同じである必要があります。これは、正規化によってのみ達成できます。

それらが正規化されておらず、たとえば機能の値の範囲が)であるのに対し、の値の範囲は。距離を計算するとき、2番目の項は最初の項よりも倍重要であり、k-NNは最初のものよりも2番目の特徴に多く依存するようになります。正規化により、すべてのフィーチャが同じ範囲の値にマップされることが保証されます。f1[0,1f2[1,10)10

一方、標準化には多くの有用な特性がありますが、機能が同じ範囲にマッピングされていることを保証することはできません。標準化は他の分類器に最適ですが、これはk-NNまたは他の距離ベースの分類器には当てはまりません。


4
ユークリッド距離の代わりに別の距離を使用した場合(たとえば、マンハッタン距離または他の距離で分数距離でも)、あなたの答えは同じですか?また、変数の範囲が互いにほぼ近い場合。
jeza 2018

7
はい、例としてユークリッド距離を示しただけですが、すべての距離メトリックは同じことの影響を受けます。範囲が互いに近接にある場合、それは、メトリックの計算は影響しないだろうというくらい、それはまだだろう。たとえば、および場合、はよりも重要です。言及し忘れたことの1つは、標準化は機能スケーリングを実行しないよりも明らかに優れていることです。単に正規化よりも悪いです。f1[0,1)f2[0,1.2)f220%f1
Djib2011

ああ、なるほど。「単に正規化よりも悪い」!?
jeza
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.