サイト内の現在位置

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

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

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

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

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

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

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

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


clustering_for_column