正規化と機能のスケーリングはどのようにそしてなぜ機能しますか?


61

多くの機械学習アルゴリズムは、平均相殺と共分散等化でより良く機能することがわかります。たとえば、ニューラルネットワークはより速く収束する傾向があり、K-Meansは通常、前処理された機能を使用してより良いクラスタリングを提供します。これらの前処理ステップの背後にある直感がパフォーマンスの向上につながるとは思いません。誰かがこれを私に説明できますか?

回答:


25

すべてのデータを同じスケールで取得する場合です。異なる機能のスケールが大幅に異なる場合、学習能力に影響を与える可能性があります(使用する方法によって異なります) 。標準化された機能値を保証することにより、すべての機能が暗黙的に等しく表現に重み付けされます。


3
「これは学習能力に衝撃を与えます」とはどういう意味ですか?
チャーリーパーカー

14
これは本当に良い説明ではありません。真の理解を得るには、少なくともレベルを深く説明する必要があります。
ゼルフィアカルツスタール16

私は私の論文への参照を必要としてください
X-RW

40

機械学習での前処理がやや非常に暗い芸術であることは事実です。いくつかの前処理ステップがそれを機能させるために不可欠である理由は、論文にあまり書かれていません。それがすべての場合に理解されているかどうかもわかりません。物事をより複雑にするために、それは使用する方法と問題の領域に大きく依存します。

例えば、いくつかの方法はアフィン変換不変です。ニューラルネットワークがあり、アフィン変換をデータに適用するだけの場合、ネットワークは理論的には何も失いません。ただし、実際には、入力が中央にあり白である場合、ニューラルネットワークが最適に機能します。これは、共分散が対角であり、平均がゼロベクトルであることを意味します。なぜそれが物事を改善するのですか?それは、ニューラルネットの最適化がより優雅に機能するからです。なぜなら、隠された活性化関数はそれほど速く飽和せず、学習の初期段階でゼロに近い勾配を与えないからです。

K-Meansなどの他の方法では、前処理によってまったく異なるソリューションが得られる場合があります。これは、アフィン変換はメトリック空間の変化を意味するためです。2つのサンプル間のユークリッド距離は、その変換後に異なります。

一日の終わりには、データに対して何をしているのかを理解する必要があります。たとえば、コンピュータービジョンのホワイトニングとサンプルごとの正規化は、人間の脳がビジョンパイプラインで行うことです。


17

入力正規化がANNおよびk-meansに役立つ理由に関するいくつかのアイデア、参考文献、およびプロット:

K-means

K-meansクラスタリングは、空間のすべての方向で「等方性」であるため、多かれ少なかれ丸い(細長い)クラスターを生成する傾向があります。この状況では、分散を等しくないままにすることは、分散が小さい変数により多くの重みを付けることと同等です。

Matlabの例:

X = [randn(100,2)+ones(100,2);...
     randn(100,2)-ones(100,2)];

% Introduce denormalization
% X(:, 2) = X(:, 2) * 1000 + 500;

opts = statset('Display','final');

[idx,ctrs] = kmeans(X,2,...
                    'Distance','city',...
                    'Replicates',5,...
                    'Options',opts);

plot(X(idx==1,1),X(idx==1,2),'r.','MarkerSize',12)
hold on
plot(X(idx==2,1),X(idx==2,2),'b.','MarkerSize',12)
plot(ctrs(:,1),ctrs(:,2),'kx',...
     'MarkerSize',12,'LineWidth',2)
plot(ctrs(:,1),ctrs(:,2),'ko',...
     'MarkerSize',12,'LineWidth',2)
legend('Cluster 1','Cluster 2','Centroids',...
       'Location','NW')
title('K-means with normalization')

ここに画像の説明を入力してください

ここに画像の説明を入力してください

(FYI:データセットがクラスタ化されているかクラスタ化されていないかを検出する方法(つまり、1つの単一クラスタを形成する方法

分散クラスタリング

比較分析は、分散クラスタリングの結果が正規化手順のタイプに依存することを示しています。

人工ニューラルネットワーク(入力)

MLPのように、入力変数が線形に結合される場合、少なくとも理論的には、入力を標準化することが厳密に必要になることはめったにありません。その理由は、対応する重みとバイアスを変更することで、入力ベクトルの再スケーリングを効果的に取り消すことができ、以前とまったく同じ出力が得られるためです。ただし、入力を標準化することでトレーニングを高速化し、ローカルの最適化で立ち往生する可能性を減らすことができるさまざまな実際的な理由があります。また、標準化された入力を使用して、重量減衰とベイズ推定をより便利に行うことができます。

人工ニューラルネットワーク(入力/出力)

データに対してこれらのことを行う必要がありますか?答えは、それは依存します。

入力変数またはターゲット変数を標準化すると、最適化問題の数値条件(ftp://ftp.sas.com/pub/neural/illcond/illcond.htmlを参照)を改善し、さまざまなデフォルトを保証することにより、トレーニングプロセスの動作が改善される傾向があり ます。初期化と終了に関係する値が適切です。ターゲットの標準化も目的関数に影響を与える可能性があります。

ケースの標準化は情報を破棄するため、注意してアプローチする必要があります。その情報が無関係である場合、ケースの標準化は非常に役立ちます。その情報が重要な場合、ケースの標準化は悲惨なものになる可能性があります。


興味深いことに、測定単位を変更すると、Kaufman、Leonard、およびPeter J. Rousseeuw ..という非常に異なるクラスタリング構造が表示される場合があります。「データ内のグループの検索:クラスター分析の概要」。(2005)。

一部のアプリケーションでは、測定単位を変更すると、非常に異なるクラスタリング構造が表示される場合があります。たとえば、4人の架空の人の年齢(年単位)と身長(センチメートル単位)を表3に示し、図3にプロットします。{A、B)と{C、0)は、十分に分離された2つのクラスターです。 。一方、高さがフィートで表される場合、表4と図4が得られます。ここで、明らかなクラスターは{A、C}と{B、D}になります。各被験者が別のコンパニオンを受け取っているため、このパーティションは最初のパーティションとはまったく異なります。(年齢が数日で測定されていた場合、図4はさらに平坦化されていました。)

測定単位の選択へのこの依存を回避するために、データを標準化するオプションがあります。これにより、元の測定値が単位なし変数に変換されます。

ここに画像の説明を入力してください ここに画像の説明を入力してください

カウフマン等。興味深い考慮事項(11ページ)を続けます。

哲学的な観点から、標準化は実際に問題を解決しません。実際、測定単位の選択により、変数の相対的な重みが生じます。変数を小さな単位で表現すると、その変数の範囲が広くなり、結果の構造に大きな影響を与えます。他方では、客観性を達成することを期待して、すべての変数に同じ重みを与えようとする試みを標準化します。そのため、事前知識を持たない開業医が使用する場合があります。ただし、特定のアプリケーションでは、一部の変数が本質的に他の変数よりも重要であり、重みの割り当ては主題の知識に基づいている必要があります(たとえば、Abrahamowicz、1985を参照)。一方、変数のスケールに依存しないクラスタリング手法を考案する試みがありました(Friedman and Rubin、1967)。Hardy and Rasson(1982)の提案は、クラスターの凸包の総体積を最小化するパーティションを検索することです。原則として、このような方法はデータの線形変換に関して不変ですが、残念ながらその実装用のアルゴリズムは存在しません(2次元に制限される近似を除く)。したがって、標準化のジレンマは現在避けられないようであり、この本で説明されているプログラムはユーザーに選択を任せています。Hardy and Rasson(1982)の提案は、クラスターの凸包の総体積を最小化するパーティションを検索することです。原則として、このような方法はデータの線形変換に関して不変ですが、残念ながらその実装用のアルゴリズムは存在しません(2次元に制限される近似を除く)。したがって、標準化のジレンマは現在避けられないようであり、この本で説明されているプログラムはユーザーに選択を任せています。Hardy and Rasson(1982)の提案は、クラスターの凸包の総体積を最小化するパーティションを検索することです。原則として、このような方法はデータの線形変換に関して不変ですが、残念ながらその実装用のアルゴリズムは存在しません(2次元に制限される近似を除く)。したがって、標準化のジレンマは現在避けられないようであり、この本で説明されているプログラムはユーザーに選択を任せています。



5

次の2つの問題があります。

a)適切な関数、例えばk-meansの学習:入力スケールは基本的に類似性を指定するため、見つかったクラスターはスケーリングに依存します。正則化-例:l2重み正則化-各重みは「同等に小さい」と仮定します-データが「適切に」スケーリングされない場合、これは当てはまりません

b)勾配降下法による最適化(例:ほとんどのニューラルネットワーク)。勾配降下の場合、学習率を選択する必要があります...しかし、良い学習率(少なくとも1番目の隠れ層)は入力スケーリングに依存します。これらの重みの割合(より速く到達するため)、および大規模な入力のvv ... 1つの学習率のみを使用するため、入力を再スケーリングします。(そして、同じ理由で白くすること、すなわち装飾を施すことも重要です)



1

このホワイトペーパーはk-meansについてのみ説明していますが、データ前処理の要件を非常にうまく説明および証明しています。

標準化は、さまざまなダイナミックレンジの機能または属性の値を特定の範囲に標準化するための、データマイニングの中心的な前処理ステップです。本稿では、従来のK-meansアルゴリズムの3つの標準化手法の性能を分析しました。感染症データセットの結果を比較することにより、zスコア標準化法によって得られた結果は、最小-最大および10進スケーリング標準化法よりも効果的かつ効率的であることがわかりました。

...大きなサイズまたは大きな可変性を持ついくつかの機能がある場合、これらの種類の機能はクラスタリング結果に強く影響します。この場合、データの標準化は、データセットの変動性をスケーリングまたは制御するための重要な前処理タスクになります。

...次元特徴の範囲の数値は測定単位に依存するため、特徴は無次元である必要があり、したがって、測定単位の選択はクラスタリングの結果を大幅に変更する可能性があります。したがって、データセットの正規化を行わずにユークリッド距離のような距離測定を使用しないでください。

ソース: http : //maxwellsci.com/print/rjaset/v6-3299-3303.pdf


1

前処理は、解決しようとしている分類問題に関連しないデータの機能を削除するため、しばしば機能します。たとえば、異なるスピーカーからの音声データを分類することを考えてください。ラウドネス(振幅)の変動は無関係かもしれませんが、周波数スペクトルは本当に重要な側面です。したがって、この場合、振幅の正規化はほとんどのMLアルゴリズムにとって非常に役立ちます。なぜなら、無関係なデータの側面が削除され、ニューラルネットワークがスプリアスパターンに過剰適合するからです。


1

これは、分類器を学習するときに、値が大きいフィーチャが値が小さいフィーチャの効果を覆い隠さないようにするためだけに行われると思います。これは、値の小さいフィーチャがクラスの分離可能性に実際に寄与する場合、特に重要になります。たとえば、フィーチャのミクロレベルで存在し、数百万のオーダーの他のフィーチャがある場合、ロジスティック回帰のような分類器は決定境界の学習が困難になりますまた、アルゴリズムの収束を改善します。したがって、これらをアルゴリズムにコーディングするとき、私たちはチャンスを取りません。このように機能の寄与(重み)を学習することは、分類器にとってはるかに簡単です。Kについてもtrueは、ユークリッドノルムを使用する場合を意味します(スケールによる混乱)。一部のアルゴリズムは、正規化することなく機能します。

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