2016-6-27_22-25-6_No-00

みなさんは、見える化手法・可視化手法の性能を評価するときどうしてますか?見える化・可視化に使ったデータセットの、見える化・可視化したときの誤差は小さくなるの、当たり前ですよね。工夫が必要なんです。

クロスバリデーション

一番多い方法はクロスバリデーションではないでしょうか。

まずデータセットをいくつかのサブデータセットに分けます。たとえば、5個に分け、それぞれのサブデータセットをA、B、C、D、Eとしましょう。次に、A以外のB、C、D、Eのみ用いて見える化・可視化したマップを作ります。そこで得られたマップを用いたときの、Aのサンプルを見える化・可視化したときの誤差を計算します。ここで一旦マップを削除します。次は、B以外のA、C、D、Eのみ用いてマップを作り、そのマップを用いたときのBのサンプルの誤差を計算します。これを、C、D、Eについても同様に行うことで、すべてのサンプルに対してマップの誤差が得られます。

そして、誤差を用いてRoot-Mean-Squared Error (RMSE) やMean Absolute Error (MAE) を計算して、その大小でマップの性能を評価するのです。

クロスバリデーションのデメリット

クロスバリデーションのデメリットは2つあります。

  1. 時間がかかる
  2. データ数 (サンプル数) が小さいときに適切に評価できない

です。順に説明します。

1. 時間がかかる

上の例でいうと、5回もマップを作らなきゃいけません。単純に考えて5倍時間がかかります。サンプル数が多いときなんて、かなりの時間になります。さらに、見える化・可視化のハイパーパラメータを設定するときなんて、ハイパーパラメータの値ごとに5回もマップを作らなきゃいけないんです。日が暮れちゃいます。

2. データ数 (サンプル数) が小さいときに適切に評価できない

データ数 (サンプル数) が小さいときは、時間もかからないからハッピーって思うかもしれません。ハッピーではないんです。別の問題があります

クロスバリデーションで、たとえばデータセットを5分割するわけですから、サンプル数が少ないのに、さらに4/5になってしまいます。このように少ないサンプル数で作ったマップなんて不安定です。もともとサンプル数が少ないのですから、しっかりと全サンプル用いて作ったマップで評価したいのです。

近いサンプルの間の中点をつかいましょう!

というわけで、クロスバリデーションはやめましょう!かわりに、近いサンプルの間の中点をつかいましょう!具体的に説明します。

あるサンプルについて、それと距離が近い順にいくつかサンプルを選びます。10個くらいがよいでしょう。対象のサンプルと選ばれたサンプルとの間で、平均を計算して中点とすれば、10の中点が得られます。これを仮想的なサンプル (仮想中点サンプル) とします。これをすべてのサンプルで計算して、最後に重複する仮想中点サンプルを除きます。

このようにして得られた仮想中点サンプルのセットを用いてマップの誤差を計算します。具体的には、RMSEやMAEを計算するわけです。こうすれば、全サンプルでマップを作ることができますし (もちろん仮想中点サンプルのセットはマップ作成には使いません)、一回マップを作るだけでOKです。

たとえば、いろいろとハイパーパラメータの値を変えながら中点サンプルセットのRMSEやMEAを計算して、それが一番小さいときのハイパーパラメータの値を用いる、といったことをします。

まとめ

見える化・可視化のときに、近いサンプルの間での中点 (仮想中点サンプル) を用いることでマップのよさを評価する方法を紹介しました。

みなさんも適切にマップを評価することで、適切に見える化・可視化してください!

ご案内。

オススメ記事セレクション。

twitterでも発信中。

フォローしていただけると嬉しいです。


無料メルマガでブログにない情報を配信中。

無料メルマガの登録はこちら