DATA-SCIENCE

現在の機械学習分野を概観するための基礎知識  ~一般的な分析業務の手順とその留意点~ (2)

ii.データ理解と特徴量の抽出

 データ入手後には、そのデータの性質を理解し、機械が理解できるようなフォーマットに変換する(特徴量を抽出する)フェーズに入ります。この作業が分析業務の中でも最も重要かつ難易度の高いタスクになります。

データの性質理解には、ビジネスモデルとデータ取得システムに関する深い理解や洞察が必要になるケースがほとんどです。実際の業務で良く問題になり、かつ、分析結果にも影響を多分に与える要素の一つが「欠損値」の取り扱いです。データに欠損が生じる原因として考えられる要因は案件によって異なるため、その対処法も千差万別です。欠損値を補完するか否か、という根本的な部分から考えていく必要があります。また、分析アルゴリズムによってはNull値を許さないものも存在するため、分析に関する知識も必要です。

上述のデータ理解は人間が行うので、どのようなデータ構造でもある程度は進めることができます。しかし、その生データが機械も理解できるような形式になっていることは稀で、また、理解できたとしても情報量の過不足が発生し、分析精度が向上しない要因になります。そこで、特徴量を抽出するという作業が発生します。

機械が理解できる形式とは、基本的にはベクトルまたはテンソル形式になります。ここで言うベクトル(またはテンソル)とは、物理学で用いられるような時空間ベクトルとは異なり、単に配列構造をもった数値データのことを指します。例えば購買履歴データの分析であれば、

[(購入日時),(商品ID),(購入店舗ID),(商品価格)]

のようなデータ構造がそれに該当します。データによっては、このベクトルの次元を何千、何万にも肥大化させ、膨大な情報を機械に教えることも可能です。しかし、情報量を多くしていくことで分析精度も単調に上昇していくかというと、答えはNoです。「次元の呪い」と呼ばれる現象により、予測精度はあるところで頭打ちになり、その後は悪化の一途をたどることが分かっています。

次元の呪いとは、データの高次元化が進むほど、分析の予測精度の向上が妨げられる現象を指します。その主な原因は「球面集中現象」と「必要な学習サンプル数の爆発的な増加」に求められます。

 球面集中現象は高次元空間がもつ特有の性質によって引き起こされるもので、3次元で生活する人間の直感や常識とは少し乖離があるかもしれません。この現象は結論から言えば、「高次元球体の体積の大部分は表面に近い薄皮部に集中する」というものです。この問題を考える例として、「オレンジ」と「オレンジの皮」の体積比を考えてみましょう。オレンジは真球であり、以下のスケールであると仮定します。

img1

まずは、オレンジ全体の体積 V_{all} を、オレンジ全体の半径rを用いて求めてみましょう。

V_{all} = \frac{4}{3} \cdot \pi \cdot r^3 \approx 524[cm^3]

次に、オレンジの皮の体積 V_{skin} は全体の体積から「オレンジの実の体積」を差し引いたものなので、皮の厚さdを用いて次のように求められます。

V_{skin} = \frac{4}{3} \cdot \pi \cdot r^3 - \frac{4}{3} \cdot \pi \cdot (r-d)^3 = \frac{4}{3} \cdot \pi \cdot r^3 \{ {1-(1-\frac{d}{r})^3} \} \approx 142[cm^3]

したがって、オレンジ全体の体積に対する皮の体積の割合\delta Vは、

\delta V = \frac{V_{skin}}{V_{all}} =1-(1-\frac{d}{r})^3=0.271

となります。全体の体積の1/4程度がオレンジの皮で占有されている計算です。
 

固定ページ: 1 2 3

この記事をシェアする