2016-06-07_17h02_43

いろんな人が、回帰モデルやクラス分類モデルを構築したり、構築したモデルを使ったりするのを見るときに、
もっと教師なしデータセットを使ったらいいのに!!
と、いつも思っています。

そもそも教師ありデータとは、目的変数の値をもっているサンプルのことです。逆に教師なしデータは、目的変数の値をもっていないサンプルです。基本的に回帰分析やクラス分類のときには、教師なしデータは、教師ありデータから構築されたモデルに入力して、目的変数の値を推定することにしか使われていませんでした。それを、教師なしデータを、もっと積極的に活用しましょう、ということです。

教師なしデータを活用できるのは、次の3つのときです。

  • 教師ありデータを見える化・可視化するとき
  • 回帰モデル・クラス分類モデルを構築するとき
  • モデルの適用領域を設定するとき

順に説明します。

教師ありデータを見える化・可視化するとき

データセットがあったら、基本的にはまず主成分分析 (Principal Component Analysis, PCA) で見える化・可視化します。もちろんPCAでなくてもカーネルPCAでもSOMでもGTMでも見える化・可視化手法ならかまいません。ただ、どの手法を用いたとしても見える化・可視化に用いるデータセットとして、教師ありデータセットしか使われません。それ以外の教師なしデータセットを使うときでも、教師データセットを見える化・可視化したあとに、同じ二次元マップに教師なしデータをプロットさせるくらいです。

わたしが言いたいのは、
教師ありデータセットだけでなく教師なしデータセットもあわせたデータセットを、見える化・可視化しましょう
ということです。教師なしデータもあったほうがデータの分布も広がりますので、より広い範囲を見える化・可視化できます。

また、特に教師ありデータセットのサンプル数が小さいとき、せっかく新しい変数を導入したとしても、どのサンプルも同じ値をもってしまうと標準偏差が0になるため、前処理でその変数が削除されてしまいます。

さらに、教師ありデータセットで見える化・可視化して、そのモデルに教師なしデータセットを入力するだけでは、教師なしデータの見える化・可視化するときの誤差が大きくなってしまい、あまり意味がありません。

教師ありデータのみならず教師なしデータを使えるときは、両方同時に使って見える化・可視化するようにしましょう

回帰モデル・クラス分類モデルを構築するとき

回帰モデルやクラス分類モデルは基本的に教師ありデータセットを使用して作られます。しかし、教師なしデータセットも活用することでよりよいモデルが得られる可能性があります。

まず、データセットにはノイズが含まれています。ここでいうノイズは、単に測定ノイズやセンサーノイズのことではなく、もう少し広く目的変数を推定するときに不要な情報という意味です。理想的には、このようなノイズが0の状態で回帰モデル・クラス分類モデルを構築できることが望ましいといえます。ただ、ノイズ0はありえないにしても、なるべくノイズを減らす試みがなされてきました。たとえばPCAはデータセットから、データの分散が大きくなるように主成分軸を計算します。少数の主成分軸のみ使用することで、それ以外の情報をノイズとみなしています。このようにしてノイズを減らしているわけです。

しかし、特にサンプル数が小さいときに、適切に主成分軸を計算できない可能性があります。そこで、PCAを行うときに教師ありデータセットだけでなく教師なしデータセットも使用すればよいのです。データ数が増えるためより適切に主成分軸を計算できます。

その後に回帰モデル・クラス分類モデルを構築するときは、教師ありデータのみ使います。つまり、教師ありデータのスコアと目的変数との間で回帰分析やクラス分類を行います

これはPCAだけでなく他の低次元化手法 (可視化・見える化する手法) でもOKです。教師ありデータセットにおける説明変数のデータセットに、教師なしデータセットを追加して可視化・見える化手法を実行し、得られた低次元空間において、教師ありデータセットのみ用いて回帰分析やクラス分類を行います

モデルの適用領域を設定するとき

モデルの適用領域は基本的に教師ありデータセットのみを用いて設定されます。しかし、教師なしデータとして目的変数の値を推定したいデータも一緒に、PCAなどの低次元化手法を用いて次元を削減してから、その空間においてモデルの適用領域を設定するようにしましょう。こうすることで、モデルを構築するときに使用するデータセットと、予測用のサンプルとを同時に低次元空間で議論できます。次元の呪いも避けられますし、高次元空間より低次元空間のほうがサンプル間の類似度をより適切に評価できます。

まとめ

以上のように

  • 教師ありデータを見える化・可視化するとき
  • 回帰モデル・クラス分類モデルを構築するとき
  • モデルの適用領域を設定するとき

は、教師なしデータがあるときは積極的に利用するようにしましょう。そのほうが理論的に妥当ですし、実際に安定した結果を得ることができます。