Pfi last seminar

7,075
-1

Published on

Clustering Libraryなど
PFIインターン総括

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,075
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
17
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Pfi last seminar

  1. 1. こんな成果発表で大丈夫か? 大丈夫だ、問題ない。 PFI Seminar インターン成果発表 大岩秀和 @kisa12012 1
  2. 2. 自己紹介  大岩秀和  M1@東京大学  専門:機械学習、自然言語処理  学部では、金融統計の分析  Twitter : @kisa12012  はてな : id:kisa12012  http://d.hatena.ne.jp/kisa12012/  メンター  @tkng  @jnishi 2
  3. 3. 目次  クラスタリングライブラリ –Coala–  KMeans++/XMeans/Nearest Neightbor Clustering  精度/速度評価実験  XMeansによるクラスタの階層化  Sedueクラスタリングデモ  距離計算ライブラリデモ  記事カテゴリ抽出  エントロピーベースによるカテゴリ単語抽出  記事カテゴリ単語抽出デモ  傍論  plda  Confidence Weighted 3
  4. 4. クラスタリングライブラリ –Coala–  クラスタリングとは…  非常に多くのデータをいくつかのグループに分ける操作  主なクラスタリング手法  Hierarchical Clustering  Partitional Clustering  EM Algorithm  Spectrul Clustering  Self-Organization mapping  LDA(Latent Dirichlet Allocation) 4
  5. 5. 実装したクラスタリング手法  KMeans++  KMeansの初期値の取り方を改良  初期値同士がなるべく離れるように配置する  XMeans  自動的に最適なクラスタ数を調整  各クラスタについて、KMeansを用いて再帰的に分割を行う  クラスタを分割するかしないかは、BIC等の情報量基準を用いる  Nearest Neighbor Clustering  logN個のデータをサンプリング  サンプリングしたデータに対して、KMeans++を用いてクラスタリング  その他のデータは、サンプリングされたデータのうち、一番近いデータと 同じクラスタに所属させる(ボロノイ図に従う)  その他、数種類のParsing手法やScoring手法を実装 5
  6. 6. 速度評価実験 Wikipediaの文書をクラスタリング。特徴ベクトルの次元数は10000 10000 1000 100 KMeans KMeans++ 10 XMeans 1 NNC 0.1 0.01 データ : 1225 データ : 10000 データ : 10000 (second) クラスタ : 10 クラスタ : 10 クラスタ : 20 KMeans 1.534 174.437 1848.243 KMeans++ 0.658 125.953 98.091 XMeans 0.110 330.067 338.483 NNC 0.031 1.520 1.910 6
  7. 7. 精度評価実験(1/3)  クラスタリングは評価が難しい…  Ex.「アップル」でクラスタリングした場合… これは上手くクラスタリング 出来ているのだろうか…? 7
  8. 8. 精度評価実験(2/3)  クラスタリングは評価が難しい…  幾つかのクエリーに対して各手法の精度を細かく調査した  Kmeans / KMeans++ / NNC は一長一短  KMeansは、クラスタ間のデータ数の不均衡に弱い  KMeans++ は、外れ値に弱い  NNC も外れ値に弱い  今回実験したデータに対しては、XMeansが万能  速度面を除けば、XMeansが一番パフォーマンスがよい  セントロイドからのコサイン類似度の和をスコアとして算出 KMeans KMeans++ XMeans NNC 平均スコア 11.5 11.4 19.9 7.5 大きい 方が良い  ただし、上記のスコアは人間の直感と必ずしも一致しない 8
  9. 9. 精度評価実験(3/3)  クラスタリングが上手くいかないケース  ほぼ全てのデータが、同ジャンルの場合  外れ値(どのジャンルにも属しないデータ)が非常に多い場合  上記のケースでも、XMeansはわりと良い性能を示す 9
  10. 10. XMeansによるクラスタ階層化  XMeansは、データのクラスタ リングを行いながら、クラスタ 数を最適な数に自動的に調 節してくれる手法  分割途中のクラスタの情報を 保持しておけば、クラスタを階 層的に表現することが可能 Cluster A Cluster X ClusterY 10
  11. 11. Sedueクラスタリングデモ Sedueの検索結果に対して、クラスタリングを行うデモを作成 検索条件等を cgiに渡す Sedueに 検索を投げる html 検索条件等 の入力 検索結果を Sedue 受け取る SedueDemo.cgi 検索結果を APIに渡す クラスタリング Clustering 結果を受け取る API html javascript JSON形式で 結果の 結果を渡す 表示 11
  12. 12. Sedueクラスタリングデモ実演 http://192.168.0.20/~oiwa/index.html 12
  13. 13. 距離計算ライブラリ  距離計算クラス  ベクトル2つ(スパースでもよい)を引数にとり、計算結果を返す  サポートしている計算  Euclid Distance  Manhattan Distance  Chebyshev Distance  Cosine Similarity  Jaccard Coefficient  Dice Coefficient  Simpson Coefficient 13
  14. 14. 距離計算ライブラリデモ  距離計算ライブラリの各種計算方法で算出される値が、人間 の直感とどれくらい一致するのか、調べたい  クラスタリング等にはどの距離/類似度手法を用いると精度 が上がるのか、検証したい  データセットが変更された時に、計算方法も同時に変更した ほうが良いかどうか、調査したい  Wikipediaの2記事のタイトルを入れる事で、各手法での距 離/類似度の計算をするデモを作成 様々な手法で比較 レッドブル ユンケル 14
  15. 15. 距離計算ライブラリデモ実演 条件を cgiに渡す タイトル html 名を渡す 条件の 本文を Sedue 入力 受け取る Document 本文を Metric.cgi APIに渡す 結果を Metric 直接結果 受け取る API を表示 今回の実験データでは、Cosine Similarityが 直感と一致するケースが多かった 15
  16. 16. 記事カテゴリ抽出 キーワードの  問題意識 抽出が上手く いかない  各記事を上手く表現するカテゴリ単語を抽出  Wikipediaの各記事に対して、A(記事) is B(カテゴリ単語)の関係 を抽出する  Wikipediaでは、一文目にタイトルの定義が入る事が多い  辞書ベースではなく、エントロピーベースで、適切なカテゴリ単語を自動 的に抽出してくれるのではないか…?  カテゴリ単語を抽出できれば、カテゴリツリーが構築できるのでは…? スポーツ 野球 サッカー 16
  17. 17. エントロピーベースの記事カテゴリ抽出 Unsupervised Segmentation of Chinese Text by use of Branching Entropy [Z. Jin and K. Takana-Ishii, 2006]  基本概念  Suffix(接尾辞)を見て、Prefix(接頭辞)にくる文字が予測できるか? ? ポーツ選手 スポーツ選手 ? スポーツ選手 ?  Prefixの不確かさをエントロピーで計り、エントロピーが前のエ ントロピーより大きくなるまで記事カテゴリの文字数を増やす  エントロピー:Prefixに来る単語の種類が豊富/出現確率が均等な ほど値が大きくなる 次の文字に 単語の切れ エントロピー が高い 何が来るか 目である可 わからない 能性が高い 17
  18. 18. 記事カテゴリ抽出デモ Sedueの検索結果に対して、記事カテゴリ抽出デモを作成 Wikipedia/News記事/blog記事を約50MBずつ混ぜたデータを用 いて、4Gramまでのエントロピーを計算 検索を html 実行 検索条件 等の入力 検索結果を Sedue 受け取る Hyponymy Extraction 検索結果を .cgi APIに渡す Hyponymy キーワードを Extraction 受け取る API html javaScript 結果の JSON形式 表示 でキーワード を渡す 18
  19. 19. 記事カテゴリ抽出デモ実演  ボトルネックはエントロピーを保持するためのメモリ容量  データ数を増やせば精度は向上するが、線形には上がらない  性質の異なるデータを混ぜる方が精度は上がりやすい http://192.168.0.20/~oiwa/category 19
  20. 20. 傍論(1/2) LDA(潜在的ディリクレ配分法) http://code.google.com/p/plda/  LDA(潜在的ディリクレ過程)を実装したコードであるpldaでクラスタリング  Gibbs SamplingによるLDA  MPIによる並列計算も可能  文書を単語の集合と考えて、単語単位にトピックを割り当てる  Sedue検索結果に対して実験  小規模データに対しては、KMeans等に対して性能は劣る模様 Topic 0 Topic 1 栄養ドリンク イタリア カフェイン サポーター レッドブル インテル ユンケル チャンピオン カツジン ズリーグ タイ王国生まれの 清涼飲料水… 20
  21. 21. 傍論(2/2) Multi-Class CWを実装 Multi-Class Confidence Weighted Algorithms [K. Crammer et al. 2009]  特に自然言語系のタスクに対して精度の高い分類手法 経済 〇〇監督が 解任され… スポーツ 政治  重みベクトルにガウス分布を導入し、出現頻度の低い特徴には大 きな更新幅を与えるアルゴリズムを実現 既存手法 MCCW 1.5 1 1 確 0.5 0.5 率 0 0 値 0.2 0.5 0.8 -1 -0.7 -0.4 -0.1 -1 0 1 重みベクトルの値 21
  22. 22. まとめ  Clustering Library –Coala–  KMeans++ / XMeans / NNC  精度/速度評価実験  XMeansによるクラスタ階層化  Sedueクラスタリングデモ  距離計算ライブラリデモ  記事カテゴリ抽出  エントロピーベースによる記事カテゴリ単語抽出  記事カテゴリ単語抽出デモ  その他  plda / Confidence Weighted 23
  23. 23. ご清聴ありがとうございました
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×