機械学習やパターン認識において、特徴とはデータセットの個々の測定可能な特性または特徴のことです。[ 1 ]パターン認識、分類、回帰タスクの効果的なアルゴリズムを作成するには、情報量が多く、識別力があり、独立した特徴を選択することが重要です。特徴は通常数値ですが、構文パターン認識では、ワンホットエンコーディングなどの前処理ステップの後、文字列やグラフなどの他のタイプが使用されます。「特徴」の概念は、線形回帰などの統計的手法で使用される説明変数の概念と関連しています。
特徴量エンジニアリングでは、数値特徴量とカテゴリ特徴量の2種類が一般的に使用されます。
数値特徴量とは、尺度で測定可能な連続値のことです。数値特徴量の例としては、年齢、身長、体重、収入などが挙げられます。数値特徴量は、機械学習アルゴリズムに直接組み込むことができます。
カテゴリカル特徴量とは、カテゴリに分類できる離散的な値のことです。カテゴリカル特徴量の例としては、性別、色、郵便番号などが挙げられます。カテゴリカル特徴量は、機械学習アルゴリズムで使用する前に、通常は数値特徴量に変換する必要があります。この変換には、ワンホットエンコーディング、ラベルエンコーディング、順序エンコーディングなど、さまざまな手法が用いられます。
特徴量エンジニアリングで使用される特徴量の種類は、使用する機械学習アルゴリズムによって異なります。決定木などの一部の機械学習アルゴリズムは、数値特徴量とカテゴリ特徴量の両方を扱うことができます。一方、線形回帰などの他の機械学習アルゴリズムは、数値特徴量のみを扱うことができます。
数値的な特徴は、特徴ベクトルによって簡潔に表現できます。二値分類を実現する一つの方法は、特徴ベクトルを入力として線形予測関数(パーセプトロンに関連するもの)を用いることです。この方法は、特徴ベクトルと重みベクトルとのスカラー積を計算し、その結果が閾値を超える観測値を分類するというものです。
特徴ベクトルからの分類アルゴリズムには、最近傍分類、ニューラルネットワーク、ベイズアプローチなどの統計的手法が含まれる。
文字認識においては、水平方向および垂直方向の黒ピクセル数をカウントするヒストグラム、内部の穴の数、ストローク検出など、さまざまな特徴量が用いられる。
音声認識において、音素を認識するための特徴には、ノイズ比、音の長さ、相対パワー、フィルタ一致、対数メル尺度スペクトルベクトル、および音声信号の周波数特性を表すメル周波数ケプストラム係数などが含まれる。[ 2 ]
スパム検出アルゴリズムでは、特定のメールヘッダーの有無、メールの構造、言語、特定の用語の出現頻度、テキストの文法的な正しさなどが特徴として挙げられる。
コンピュータビジョンでは、エッジや物体など、多数の特徴を捉えることができる。
パターン認識や機械学習において、特徴ベクトルとは、ある対象を表す数値特徴のn次元ベクトルです。機械学習の多くのアルゴリズムでは、対象を数値で表現する必要があります。これは、数値表現を用いることで処理や統計分析が容易になるためです。画像を表現する場合、特徴値は画像のピクセルに対応することがありますが、テキストを表現する場合は、テキスト中の単語の出現頻度が特徴となることがあります。特徴ベクトルは、線形回帰などの統計的手法で使用される説明変数のベクトルに相当します。特徴ベクトルは、予測を行うためのスコアを決定するために使用される線形予測関数を構築するために、ドット積を用いて重みと結合されることがよくあります。
これらのベクトルに関連付けられたベクトル空間は、しばしば特徴空間と呼ばれます。特徴空間の次元を削減するために、いくつかの次元削減手法を用いることができます。
より高レベルの特徴は、既に利用可能な特徴から取得して特徴ベクトルに追加できます。たとえば、病気の研究では、「年齢」という特徴が有用であり、年齢 = 「死亡年」マイナス「生年」として定義されます。このプロセスは特徴構築と呼ばれます。[ 3 ] [ 4 ]特徴構築とは、既存の特徴のセットに一連の構成演算子を適用して新しい特徴を構築することです。このような構成演算子の例には、等号条件のチェック {=、≠}、算術演算子 {+、−、×、/}、配列演算子 {max(S)、min(S)、average(S)}、およびその他のより高度な演算子が含まれます。たとえば、何らかの条件 C を満たす特徴ベクトル S の特徴の数をカウントする count(S、C) [ 5 ]や、たとえば、何らかの受容デバイスによって一般化された他の認識クラスまでの距離などです。特徴構築は、特に高次元問題において、精度と構造の理解の両方を向上させる強力なツールとして長らく考えられてきた。[ 6 ]応用例としては、音声からの疾患や感情の認識の研究などが挙げられる。[ 7 ]
初期の特徴セットは冗長で大きすぎる場合があり、推定や最適化が困難または非効率的になることがあります。そのため、機械学習やパターン認識の多くのアプリケーションでは、学習を容易にし、汎化性能と解釈性を向上させるために、特徴のサブセットを選択するか、新しい縮小された特徴セットを構築することが予備的なステップとなります。 [ 8 ]
特徴抽出や特徴選択は、芸術と科学の融合であり、それを行うシステムを開発することを特徴エンジニアリングと呼びます。特徴エンジニアリングには、複数の可能性を試行錯誤し、自動化技術とドメインエキスパートの直感や知識を組み合わせることが必要です。このプロセスを自動化するのが特徴学習であり、機械は学習のために特徴を用いるだけでなく、特徴そのものを学習します。