Japan

関連リンク

関連リンク

関連リンク

関連リンク

サイト内の現在位置

クラスタリングとt-SNE(次元削減)における学習時間の短縮(scikit-learn比較)

no.014 Frovedis機械学習 教師なし学習編2021.9.17

 教師なし学習とは、その名が示す通り正解を示す指標が存在しないデータセットを用いて、そこから何かの情報を引き出す学習の総称です。教師あり学習では入力データに対応する出力(正解)データがセットになっているおかげで、学習モデルによる推論の正しさを検証することができました。しかし、教師なし学習では正解不正解を示す物差しが存在しないため、学習モデルが適切な推論結果を出しているか、判断することは一般的に困難である、という特徴を持ちます。

 ここで、前回からの流れを把握していただくために次の図を掲載します。

Frovedis機械学習アルゴリズム_教師なし

 教師なし学習の用途は2つに大別されます。一つ目はデータセットの特徴に応じてグループに分けるクラスタリングです。例えば個々のニュース記事に含まれる単語の類似性をもとにして、政治、経済、スポーツなどに記事のグループ分けを行うといった用途です。各グループの名称は教師なし学習が自動的に付与しないため、人による判断で個々にラベリングする必要があります。また、グループ分けされた結果の確からしさも人による判断が求められます。

 そして二つ目はデータの次元削減と呼ばれるもので、高次元の特徴量を持つデータセットを低次元に変換します。これにより、データが持つ特徴を視覚的に分かりやすく示すことができます。高次元の特徴量を持つデータセットは、その特徴をグラフ化して把握することは容易ではありません。そのため、高次元の特徴量から特徴を決める上で重要な変数の作成や、高次元空間でのデータ間の距離をもとに低次元空間でのデータに変換するなどの次元削減が有用です。

 今回の教師なし学習アルゴリズムサンプルには、あらかじめニュース記事を単語分割したうえでword2vecを用いてベクトル化したデータセットを使用します。そして、はじめにk-means クラスタリングを用いてニュース記事に含まれる単語のグループ分けを行います。t-SNEによるデータ特徴量の視覚化を実施した後、DBSCANアルゴリズムで再びクラスタリングを行います。この際、それぞれの学習アルゴリズムにおける学習に要する時間を、Frovedisとscikit-learnで計測します。


clustering_for_column

 k-meansでグループ分けされた単語群は、世界経済、貿易、金融市場、企業情報など、関連性がありそうな8つのまとまりになっていることが分かります。一方、DBSCANでは、どの記事にも含まれていそうな単語グループが大きく二つ作られています。クラスタリングアルゴリズムはデータ分布形状によってそのグループへの分けられ方が大きく変化することが分かります。

 以下のテーブルに各学習に要した時間比較をまとめました。特にt-SNEにおいて学習時間に大きな差が生じています。更には、Frovedisではmethod="exact"を指定することで、より正確な計算を行っているのに対して(計算量が増えて時間がかかる)、scikit-learnは近似により計算量を減らすmethod='barnes_hut'を使っています。今回のデータセットサイズでは、scikit-learnで近似計算を選択しなければおよそ5時間要しましたが、これでは実用的といいがたいでしょう。

学習アルゴリズム Frovedis (秒) scikit-learn(秒) Frovedisでの高速化
t-SNE 18.73 198.75 10.6倍
k-means 0.08 0.68 8.5倍
DBSCAN 0.20 5.83 29.2倍

 繰り返しになりますが、データセットの分布形状に対してクラスタリングアルゴリズムには向き不向きがあります。どのアルゴリズムが分析対象に向いているか複数のパラメータを組み合わせての学習を繰り返すことは多くの場合、時間を要するものです。SX-Aurora TSUBASAとFrovedisを利用することで機械学習においてこうした負担を削減できます。

関連リンク

最新資料/カタログはこちらからダウンロード

ご紹介資料、各種カタログをダウンロードいただけます。

My NEC登録が必要です

My NEC登録が必要です

Escキーで閉じる 閉じる