次元削減とは何ですか?特徴選択と抽出の違いは何ですか?


58

ウィキペディアから、

次元削減または次元削減は、検討中のランダム変数の数を減らすプロセスであり、特徴選択と特徴抽出に分けることができます。

特徴選択と特徴抽出の違いは何ですか?

自然言語処理タスクの次元削減の例は何ですか?

回答:


51

簡単に言えば:

  • 機能選択:元の機能セットのサブセットを選択します。しながら
  • 特徴抽出:元の特徴セットから新しい特徴セットを構築します。

特徴抽出の例:画像の輪郭の抽出、テキストからのダイグラムの抽出、音声テキストの録音からの音素の抽出など。

特徴抽出には、特徴の変換が含まれます。これは、次元削減の過程で一部の情報が失われるため、元に戻せないことがよくあります。


2
これらは両方とも、手動で機能を作成または選択するため、機能エンジニアリングのカテゴリに分類されます。次元削減は、典型的には、基準の変更やデータのいくつかの他の数学的再表現を含む
ragingSloth

1
@ragingSloth、最初のものは間違いなく機能選択であり、機能エンジニアリングではありません。画像とテキスト処理の例は、実際に機能エンジニアリングのように見えるものの
アレクセイGrigorev

私が見つけた方法では、いくつかの特徴抽出では、元の次元をおおよそ再構築できます。ただし、機能の選択については、不要なディメンションを削除したため、再構築は行われません。
ボブ

17

次元削減とは、通常、データ内のすべての分散ではなくほとんどの分散を記述することができる基底または数学的表現を選択することで、関連する情報を保持しながら、表現に必要な情報量を減らします。そこを含むがこれらに限定されないこれを行うための様々な技術がありPCAICAMatrix Feature Factorization。これらは、既存のデータを取得し、最も差別的なコンポーネントに削減します。これらはすべて、より少ない、より差別的な機能でデータセット内のほとんどの情報を表すことができます。

機能選択は、非常に差別的な機能を手動で選択することです。これは、分析よりも機能エンジニアリングと関係があり、データサイエンティストの側で非常に多くの作業が必要です。予測を行う際に、データセットのどの側面が重要であり、どの側面が重要でないかを理解する必要があります。通常、特徴抽出には、既存の特徴の複合である新しい特徴の生成が含まれます。これらの手法はどちらも機能エンジニアリングのカテゴリーに分類されます。通常、フィーチャエンジニアリングは、データセットに存在しない情報を作成し、S / N比を高めるため、最良の結果を取得する場合に重要です。


2
私はほとんど、正確に、機能の選択を手作業で行う必要はなく、自動で行うことができることに同意します。たとえば、Lassoメソッド(en.wikipedia.org/wiki/Least_squares#Lasso_method)を参照してください。
jrouquie 14

私はあなたのDimensionality Reduction条項に同意しますが、Feature Engineering使用法が少し異なります-私が見たものはそれだけ Feature Extractionです:Feature Selection別々に考慮されます。用語の違いにすぎません。
javadba

7

@damienfrancoisの回答のように、機能の選択は機能のサブセットの選択に関するものです。したがって、NLPでは、特定の単語のセットを選択します(NLPでの一般的なことは、各単語が、単語の頻度またはTF / IDFなどに基づく他の重みに等しい値を持つ特徴を表すことです)。

次元削減は、元のフィーチャが表現される新しいフィーチャスペースの導入です。新しいスペースは、元のスペースよりも低い次元です。テキストの場合の例は、テキストを数ビット(16または32など)またはバイトのベクトルに減らすハッシュトリックです。驚くべきことは、スペースのジオメトリが保持されているため(十分なビットが与えられているため)、ドキュメント間の相対距離は元のスペースと同じままなので、バインドされていない(および膨大な数のof)テキストで見つかった寸法。


5

特徴選択とは、統計スコアに基づいていくつかの特徴を選択することですが、特徴抽出では、フーリエ変換を使用した信号の興味深い周波数など、データからいくつかの第2層情報を抽出する手法を使用します。

次元削減とは、データを低次元空間に変換することであり、データはそのユークリッド構造を保持しますが、次元の呪いは受けません。たとえば、各ドキュメントをn次元空間のポイントとしてモデル化でき、nが大きすぎる(おもちゃの例)データセットからいくつかの単語特徴を抽出するとします。この場合、高次元空間の距離の歪みに応じて、多くのアルゴリズムが機能しません。ここで、最も有益な機能を選択するか、PCA、LLEなどの次元削減方法を使用して低次元多様体に変換することにより、次元を削減する必要があります。[x1,...,xn]


私はいくつかのデータ・サイエンスとMLプラットフォームチームで見てきたもの。この1つのベストマッチ可能な回答のうち
javadba

3

Damienの答えを完成させるために、NLPの次元削減の例はトピックモデルです。ここでは、構成トピックの重みを示すベクトルでドキュメントを表します。



2

A1。次元削減とは:行がインスタンスで列が属性(または機能)であるマトリックスのデータを考える場合、次元削減はこのデータマトリックスをより少ない列を持つ新しいマトリックスにマッピングすることです。視覚化のために、各マトリックス列(属性)を特徴空間の次元と考える場合、次元削減は、高次元空間(より多くの列)から低次元サブ空間(より少ない列)へのインスタンスの投影です。 次元削減は部分空間投影です この変換の典型的な目的は、(1)計算の複雑さを軽減しながら、データマトリックスの情報を保持することです。(2)データ内の異なるクラスの分離性を改善します。

A2。特徴選択または特徴抽出としての次元削減:ユビキタスIrisデータセットを使用します。これは、おそらくデータサイエンスの「ハローワールド」です。簡単に説明すると、Irisデータセットには3つのクラスと4つの属性(列)があります。Irisデータセットの次元を4から2に減らすタスクの特徴選択と抽出を説明します。

seabornというPythonのライブラリを使用して、このデータセットのペアワイズ共分散を計算します。コードは次のとおりsns.pairplot(アイリス、色相=「種」、マーカー= [「O」、「S」、「D」])私が手図である アイリスペアプロット 私ができる選択提供する属性(2次元)の対をIrisデータセット内の3つのクラス(種)間の最大の分離。これは機能選択の場合です。

次は特徴抽出です。ここでは、アイリスの4次元の特徴空間を、元の空間と軸が揃っていない新しい2次元の部分空間に投影しています。これらは新しい属性です。通常、元の高次元空間での分布に基づいています。最も一般的な方法は、元の空間で固有ベクトルを計算する主成分分析です。 SVDを使用したPCA 明らかに、固有ベクトルに基づいた部分空間への線形およびグローバル投影のみを使用することに制限されません。非線形投影法も使用できます。ニューラルネットワークを使用した非線形PCAの NNを使​​用した非線形PCA 例を次に示します。最後の例の属性(次元)が抽出されますニューラルネットワークを使用した元の4つの属性から。このpcaメソッドコードを使用して、アイリスデータセットのさまざまな種類のPCAを試すことができます

概要:特徴抽出方法は、特徴選択よりもパフォーマンスが優れているように見える場合がありますが、選択はアプリケーションによって決まります。特徴抽出からの属性は、通常、物理的な解釈を失います。これは、手元のタスクに基づいた問題である場合とそうでない場合があります。たとえば、高価なセンサーを使用して非常に高価なデータ収集タスクを設計しており、属性(さまざまなセンサーの数)を節約する必要がある場合、使用可能なすべてのセンサーを使用して小さなパイロットサンプルを収集し、次に選択するセンサーを選択しますビッグデータ収集タスクにとって最も有益です。


1

scikit-learnとTensorflowを使用したハンズオン機械学習から抽出

  1. データのクリーニング:外れ値を修正または削除します(オプション)。欠損値を埋める(たとえば、ゼロ、平均、中央値など)、または行(または列)をドロップします。
  2. 機能の選択(オプション):タスクに役立つ情報を提供しない属性を削除します。
  3. 必要に応じてフィーチャエンジニアリング:連続フィーチャを離散化します。機能を分解します(たとえば、カテゴリ、日付/時刻など)。有望な特徴の変換(log(x)、sqrt(x)、x ^ 2など)を追加します。機能を有望な新機能に集約します。
  4. 機能のスケーリング:機能を標準化または正規化します。

0

ここでのいくつかの素晴らしい答え、特に@damienfrancoisの答えは一般的なアイデアを非常に簡潔に捉えています。

ただし、リレーショナルデータまたは時系列データの機能エンジニアリングの例は見当たりません。その場合、データサイエンティストは通常​​、関係全体および長期にわたって統計パターンを抽出します。たとえば、eコマースデータベースで今後顧客が何をするかを予測するために、過去の平均購入金額や過去の購入頻度などの数量を抽出することがあります。

このトピックに関する記事をいくつか書いて、いくつかの例を挙げて詳しく説明します:https : //www.featurelabs.com/blog/feature-engineering-vs-feature-selection/


0

特徴抽出と、なぜ特徴選択と次元削減の必要があるのか​​という逆順から始めましょう。

主に分類を目的とする特徴抽出の使用から始めます。分類とは、特定のオブジェクトが属するカテゴリを決定するプロセスです。それには2つのフェーズがありますi)トレーニングフェーズ、データまたはオブジェクトが与えられた場合、それらのプロパティは何らかのプロセス(フィーチャ抽出)を使用して学習されます

データの目的が基礎となるパターンを見つけることであることを考えると、名前が示すように特徴抽出。そのそれぞれのデータに対応する特徴としての用語であるこの基礎パターン。サポートベクターマシン(SVM)などの特徴抽出には、さまざまな方法論が存在します。

さて、特徴抽出は、あるべき特徴を生成するはずです

  • 丈夫
  • 差別的
  • 最適な機能セット

機能の選択:特定のデータセットは、単一の機能または機能セットのいずれかで表すことができます。分類プロセスでは、システムは少なくとも2つのクラスについてトレーニングされます。そのため、トレーニングシステムは単一の機能または一連の機能を生成します。これらの機能には、上記のプロパティが必要です。

問題は、各クラスに機能セットがあり、いくつかの機能間に相関関係がある場合に発生します。これは、それらの相関する特徴のうち、表現に1つまたは少数で十分であることを意味しており、そこから特徴の選択が行われます。また、これらの機能は、機能セットのメモリ要件の増加とともに保存する必要があります。

次に、特徴選択プロセスの一部に過ぎない次元削減が行われます。これは、データを最もよく説明する最適な機能セットを選択するプロセスです。主成分分析、独立成分分析、マトリックス因数分解など、同じための多くの手法があります。


-3

たとえば、...農地がある場合、その土地の特定の1つの領域を選択すると、フィーチャの選択になります。異常を見つけるために各植物で...このため、特徴抽出を検討します。この例では、元の農地は次元削減に対応します。


いいえ、特に空間データとは関係ありません。時間的、時空間的、およびその他の種類のデータにも適用できます。
エマー14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.