SlideShare a Scribd company logo
1 of 23
Download to read offline
こんな成果発表で大丈夫か?



                大丈夫だ、問題ない。




              PFI Seminar
           インターン成果発表
                         大岩秀和
                      @kisa12012


                                   1
自己紹介
   大岩秀和
   M1@東京大学
       専門:機械学習、自然言語処理
       学部では、金融統計の分析
   Twitter : @kisa12012
   はてな : id:kisa12012
       http://d.hatena.ne.jp/kisa12012/


   メンター
       @tkng
       @jnishi

                                           2
目次
   クラスタリングライブラリ –Coala–
       KMeans++/XMeans/Nearest Neightbor Clustering
       精度/速度評価実験
       XMeansによるクラスタの階層化
       Sedueクラスタリングデモ
       距離計算ライブラリデモ
   記事カテゴリ抽出
       エントロピーベースによるカテゴリ単語抽出
       記事カテゴリ単語抽出デモ
   傍論
       plda
       Confidence Weighted


                                                       3
クラスタリングライブラリ –Coala–
   クラスタリングとは…
       非常に多くのデータをいくつかのグループに分ける操作


   主なクラスタリング手法
       Hierarchical Clustering
       Partitional Clustering
       EM Algorithm
       Spectrul Clustering
       Self-Organization mapping
       LDA(Latent Dirichlet Allocation)




                                           4
実装したクラスタリング手法
   KMeans++
       KMeansの初期値の取り方を改良
       初期値同士がなるべく離れるように配置する
   XMeans
       自動的に最適なクラスタ数を調整
       各クラスタについて、KMeansを用いて再帰的に分割を行う
       クラスタを分割するかしないかは、BIC等の情報量基準を用いる
   Nearest Neighbor Clustering
       logN個のデータをサンプリング
       サンプリングしたデータに対して、KMeans++を用いてクラスタリング
       その他のデータは、サンプリングされたデータのうち、一番近いデータと
        同じクラスタに所属させる(ボロノイ図に従う)

       その他、数種類のParsing手法やScoring手法を実装
                                              5
速度評価実験
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
精度評価実験(1/3)
   クラスタリングは評価が難しい…
       Ex.「アップル」でクラスタリングした場合…




                          これは上手くクラスタリング
                          出来ているのだろうか…?

                                          7
精度評価実験(2/3)
   クラスタリングは評価が難しい…
       幾つかのクエリーに対して各手法の精度を細かく調査した
   Kmeans / KMeans++ / NNC は一長一短
       KMeansは、クラスタ間のデータ数の不均衡に弱い
       KMeans++ は、外れ値に弱い
       NNC も外れ値に弱い
   今回実験したデータに対しては、XMeansが万能
       速度面を除けば、XMeansが一番パフォーマンスがよい


   セントロイドからのコサイン類似度の和をスコアとして算出
                 KMeans   KMeans++   XMeans   NNC
         平均スコア   11.5     11.4       19.9     7.5    大きい
                                                    方が良い

   ただし、上記のスコアは人間の直感と必ずしも一致しない
                                                       8
精度評価実験(3/3)
   クラスタリングが上手くいかないケース
       ほぼ全てのデータが、同ジャンルの場合
       外れ値(どのジャンルにも属しないデータ)が非常に多い場合


   上記のケースでも、XMeansはわりと良い性能を示す




                                       9
XMeansによるクラスタ階層化
   XMeansは、データのクラスタ
    リングを行いながら、クラスタ
    数を最適な数に自動的に調
    節してくれる手法
   分割途中のクラスタの情報を
    保持しておけば、クラスタを階
    層的に表現することが可能



              Cluster A


      Cluster X           ClusterY



                                     10
Sedueクラスタリングデモ
Sedueの検索結果に対して、クラスタリングを行うデモを作成
                  検索条件等を
                   cgiに渡す                  Sedueに
                                          検索を投げる
        html

検索条件等
 の入力                            検索結果を         Sedue
                                 受け取る


                          SedueDemo.cgi    検索結果を
                                           APIに渡す


                              クラスタリング        Clustering
                              結果を受け取る           API

      html
   javascript
                JSON形式で
 結果の
                 結果を渡す
  表示
                                                          11
Sedueクラスタリングデモ実演
http://192.168.0.20/~oiwa/index.html




                                       12
距離計算ライブラリ
   距離計算クラス
       ベクトル2つ(スパースでもよい)を引数にとり、計算結果を返す
       サポートしている計算
           Euclid Distance
           Manhattan Distance
           Chebyshev Distance
           Cosine Similarity
           Jaccard Coefficient
           Dice Coefficient
           Simpson Coefficient




                                     13
距離計算ライブラリデモ
   距離計算ライブラリの各種計算方法で算出される値が、人間
    の直感とどれくらい一致するのか、調べたい
   クラスタリング等にはどの距離/類似度手法を用いると精度
    が上がるのか、検証したい
   データセットが変更された時に、計算方法も同時に変更した
    ほうが良いかどうか、調査したい

   Wikipediaの2記事のタイトルを入れる事で、各手法での距
    離/類似度の計算をするデモを作成
                  様々な手法で比較

          レッドブル              ユンケル


                                      14
距離計算ライブラリデモ実演
          条件を
         cgiに渡す            タイトル
  html                     名を渡す

条件の
                  本文を        Sedue
 入力
                  受け取る

              Document
                            本文を
              Metric.cgi
                           APIに渡す

                  結果を        Metric
  直接結果            受け取る        API
   を表示




  今回の実験データでは、Cosine Similarityが
  直感と一致するケースが多かった

                                      15
記事カテゴリ抽出
                                        キーワードの
   問題意識                                抽出が上手く
                                        いかない




   各記事を上手く表現するカテゴリ単語を抽出
       Wikipediaの各記事に対して、A(記事) is B(カテゴリ単語)の関係
        を抽出する
       Wikipediaでは、一文目にタイトルの定義が入る事が多い
       辞書ベースではなく、エントロピーベースで、適切なカテゴリ単語を自動
        的に抽出してくれるのではないか…?
       カテゴリ単語を抽出できれば、カテゴリツリーが構築できるのでは…?
                              スポーツ

                         野球      サッカー             16
エントロピーベースの記事カテゴリ抽出
Unsupervised Segmentation of Chinese Text by use of Branching Entropy
                                               [Z. Jin and K. Takana-Ishii, 2006]

   基本概念
       Suffix(接尾辞)を見て、Prefix(接頭辞)にくる文字が予測できるか?

                ? ポーツ選手                スポーツ選手


              ? スポーツ選手                     ?


   Prefixの不確かさをエントロピーで計り、エントロピーが前のエ
    ントロピーより大きくなるまで記事カテゴリの文字数を増やす
       エントロピー:Prefixに来る単語の種類が豊富/出現確率が均等な
        ほど値が大きくなる
                                       次の文字に                  単語の切れ
                      エントロピー
                       が高い             何が来るか                  目である可
                                       わからない                  能性が高い            17
記事カテゴリ抽出デモ
Sedueの検索結果に対して、記事カテゴリ抽出デモを作成
 Wikipedia/News記事/blog記事を約50MBずつ混ぜたデータを用
 いて、4Gramまでのエントロピーを計算
                                    検索を
      html                          実行

 検索条件
 等の入力                     検索結果を         Sedue
                           受け取る

                       Hyponymy
                       Extraction   検索結果を
                          .cgi      APIに渡す
                                      Hyponymy
                         キーワードを       Extraction
                          受け取る           API
      html
   javaScript
 結果の          JSON形式
 表示         でキーワード
                を渡す                                18
記事カテゴリ抽出デモ実演




 ボトルネックはエントロピーを保持するためのメモリ容量
 データ数を増やせば精度は向上するが、線形には上がらない
 性質の異なるデータを混ぜる方が精度は上がりやすい
http://192.168.0.20/~oiwa/category
                                     19
傍論(1/2) LDA(潜在的ディリクレ配分法)
http://code.google.com/p/plda/
   LDA(潜在的ディリクレ過程)を実装したコードであるpldaでクラスタリング
       Gibbs SamplingによるLDA
       MPIによる並列計算も可能
   文書を単語の集合と考えて、単語単位にトピックを割り当てる
   Sedue検索結果に対して実験
   小規模データに対しては、KMeans等に対して性能は劣る模様

                     Topic 0     Topic 1

                    栄養ドリンク        イタリア
                     カフェイン       サポーター
                    レッドブル         インテル
                     ユンケル        チャンピオン
                     カツジン         ズリーグ


                           タイ王国生まれの
                           清涼飲料水…            20
傍論(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
まとめ
   Clustering Library –Coala–
       KMeans++ / XMeans / NNC
       精度/速度評価実験
       XMeansによるクラスタ階層化
       Sedueクラスタリングデモ
       距離計算ライブラリデモ
   記事カテゴリ抽出
       エントロピーベースによる記事カテゴリ単語抽出
       記事カテゴリ単語抽出デモ
   その他
       plda / Confidence Weighted



                                     23
ご清聴ありがとうございました

More Related Content

Viewers also liked

トピックモデル(LDA)によるセグメンテーション
トピックモデル(LDA)によるセグメンテーショントピックモデル(LDA)によるセグメンテーション
トピックモデル(LDA)によるセグメンテーションbusinessanalytics
 
Twitterテキストのトピック分析
Twitterテキストのトピック分析Twitterテキストのトピック分析
Twitterテキストのトピック分析Nobuyuki Kawagashira
 
NIPS2014読み会 NIPS参加報告
NIPS2014読み会 NIPS参加報告NIPS2014読み会 NIPS参加報告
NIPS2014読み会 NIPS参加報告Hidekazu Oiwa
 
160817 ISMB2016読み会
160817 ISMB2016読み会160817 ISMB2016読み会
160817 ISMB2016読み会Haruka Ozaki
 
Scaling up Machine Learning Algorithms for Classification
Scaling up Machine Learning Algorithms for ClassificationScaling up Machine Learning Algorithms for Classification
Scaling up Machine Learning Algorithms for Classificationsmatsus
 
トピックモデル勉強会: 第2章 Latent Dirichlet Allocation
トピックモデル勉強会: 第2章 Latent Dirichlet Allocationトピックモデル勉強会: 第2章 Latent Dirichlet Allocation
トピックモデル勉強会: 第2章 Latent Dirichlet AllocationHaruka Ozaki
 
トピックモデルによる統計的潜在意味解析 2章後半
トピックモデルによる統計的潜在意味解析 2章後半トピックモデルによる統計的潜在意味解析 2章後半
トピックモデルによる統計的潜在意味解析 2章後半Shinya Akiba
 
Online algorithms in Machine Learning
Online algorithms in Machine LearningOnline algorithms in Machine Learning
Online algorithms in Machine LearningAmrinder Arora
 
LDA等のトピックモデル
LDA等のトピックモデルLDA等のトピックモデル
LDA等のトピックモデルMathieu Bertin
 
第二回機械学習アルゴリズム実装会 - LDA
第二回機械学習アルゴリズム実装会 - LDA第二回機械学習アルゴリズム実装会 - LDA
第二回機械学習アルゴリズム実装会 - LDAMasayuki Isobe
 
「トピックモデルによる統計的潜在意味解析」読書会 2章前半
「トピックモデルによる統計的潜在意味解析」読書会 2章前半「トピックモデルによる統計的潜在意味解析」読書会 2章前半
「トピックモデルによる統計的潜在意味解析」読書会 2章前半koba cky
 
SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来Hidekazu Oiwa
 
LDAを用いた教師なし単語分類
LDAを用いた教師なし単語分類LDAを用いた教師なし単語分類
LDAを用いた教師なし単語分類Kouhei Nakaji
 
ラーメンと自然言語処理
ラーメンと自然言語処理ラーメンと自然言語処理
ラーメンと自然言語処理naotaka 1128
 
20150730 トピ本第4回 3.4節
20150730 トピ本第4回 3.4節20150730 トピ本第4回 3.4節
20150730 トピ本第4回 3.4節MOTOGRILL
 
トピックモデルの話
トピックモデルの話トピックモデルの話
トピックモデルの話kogecoo
 

Viewers also liked (20)

IBMModel2
IBMModel2IBMModel2
IBMModel2
 
OnlineClassifiers
OnlineClassifiersOnlineClassifiers
OnlineClassifiers
 
トピックモデル(LDA)によるセグメンテーション
トピックモデル(LDA)によるセグメンテーショントピックモデル(LDA)によるセグメンテーション
トピックモデル(LDA)によるセグメンテーション
 
Twitterテキストのトピック分析
Twitterテキストのトピック分析Twitterテキストのトピック分析
Twitterテキストのトピック分析
 
NIPS2014読み会 NIPS参加報告
NIPS2014読み会 NIPS参加報告NIPS2014読み会 NIPS参加報告
NIPS2014読み会 NIPS参加報告
 
160817 ISMB2016読み会
160817 ISMB2016読み会160817 ISMB2016読み会
160817 ISMB2016読み会
 
Scaling up Machine Learning Algorithms for Classification
Scaling up Machine Learning Algorithms for ClassificationScaling up Machine Learning Algorithms for Classification
Scaling up Machine Learning Algorithms for Classification
 
トピックモデル勉強会: 第2章 Latent Dirichlet Allocation
トピックモデル勉強会: 第2章 Latent Dirichlet Allocationトピックモデル勉強会: 第2章 Latent Dirichlet Allocation
トピックモデル勉強会: 第2章 Latent Dirichlet Allocation
 
トピックモデルによる統計的潜在意味解析 2章後半
トピックモデルによる統計的潜在意味解析 2章後半トピックモデルによる統計的潜在意味解析 2章後半
トピックモデルによる統計的潜在意味解析 2章後半
 
Online algorithms in Machine Learning
Online algorithms in Machine LearningOnline algorithms in Machine Learning
Online algorithms in Machine Learning
 
LDA等のトピックモデル
LDA等のトピックモデルLDA等のトピックモデル
LDA等のトピックモデル
 
第二回機械学習アルゴリズム実装会 - LDA
第二回機械学習アルゴリズム実装会 - LDA第二回機械学習アルゴリズム実装会 - LDA
第二回機械学習アルゴリズム実装会 - LDA
 
「トピックモデルによる統計的潜在意味解析」読書会 2章前半
「トピックモデルによる統計的潜在意味解析」読書会 2章前半「トピックモデルによる統計的潜在意味解析」読書会 2章前半
「トピックモデルによる統計的潜在意味解析」読書会 2章前半
 
SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来SGD+α: 確率的勾配降下法の現在と未来
SGD+α: 確率的勾配降下法の現在と未来
 
LDAを用いた教師なし単語分類
LDAを用いた教師なし単語分類LDAを用いた教師なし単語分類
LDAを用いた教師なし単語分類
 
ラーメンと自然言語処理
ラーメンと自然言語処理ラーメンと自然言語処理
ラーメンと自然言語処理
 
20150730 トピ本第4回 3.4節
20150730 トピ本第4回 3.4節20150730 トピ本第4回 3.4節
20150730 トピ本第4回 3.4節
 
トピックモデルの話
トピックモデルの話トピックモデルの話
トピックモデルの話
 
LDA入門
LDA入門LDA入門
LDA入門
 
自然言語処理
自然言語処理自然言語処理
自然言語処理
 

Similar to Pfi last seminar

Amazon ElastiCache - AWSマイスターシリーズ
Amazon ElastiCache - AWSマイスターシリーズAmazon ElastiCache - AWSマイスターシリーズ
Amazon ElastiCache - AWSマイスターシリーズSORACOM, INC
 
MS COCO Dataset Introduction
MS COCO Dataset IntroductionMS COCO Dataset Introduction
MS COCO Dataset IntroductionShinagawa Seitaro
 
Javaセキュアコーディングセミナー東京第1回 講義
Javaセキュアコーディングセミナー東京第1回 講義Javaセキュアコーディングセミナー東京第1回 講義
Javaセキュアコーディングセミナー東京第1回 講義JPCERT Coordination Center
 
初心者エンジニアの システム構築 失敗談
初心者エンジニアの システム構築 失敗談初心者エンジニアの システム構築 失敗談
初心者エンジニアの システム構築 失敗談Makoto Haruyama
 
ソリューションセッション#3 ビッグデータの3つのVと4つのプロセスを支えるAWS活用法
ソリューションセッション#3 ビッグデータの3つのVと4つのプロセスを支えるAWS活用法 ソリューションセッション#3 ビッグデータの3つのVと4つのプロセスを支えるAWS活用法
ソリューションセッション#3 ビッグデータの3つのVと4つのプロセスを支えるAWS活用法 Amazon Web Services Japan
 
第3回集合知プログラミング勉強会 #TokyoCI グループを見つけ出す
第3回集合知プログラミング勉強会 #TokyoCI グループを見つけ出す第3回集合知プログラミング勉強会 #TokyoCI グループを見つけ出す
第3回集合知プログラミング勉強会 #TokyoCI グループを見つけ出すAtsushi KOMIYA
 
Amazon EC2 HPCインスタンス - AWSマイスターシリーズ
Amazon EC2 HPCインスタンス - AWSマイスターシリーズAmazon EC2 HPCインスタンス - AWSマイスターシリーズ
Amazon EC2 HPCインスタンス - AWSマイスターシリーズAmazon Web Services Japan
 
Pgunconf ゆるいテキスト検索ふたたび - n-gram応用編
Pgunconf ゆるいテキスト検索ふたたび - n-gram応用編Pgunconf ゆるいテキスト検索ふたたび - n-gram応用編
Pgunconf ゆるいテキスト検索ふたたび - n-gram応用編Toshi Harada
 
Jubatusでマルウェア分類
Jubatusでマルウェア分類Jubatusでマルウェア分類
Jubatusでマルウェア分類Shuzo Kashihara
 
20120528 aws meister-reloaded-awssd-kforjava-public
20120528 aws meister-reloaded-awssd-kforjava-public20120528 aws meister-reloaded-awssd-kforjava-public
20120528 aws meister-reloaded-awssd-kforjava-publicAmazon Web Services Japan
 
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンKazuyuki Miyake
 
集合知プログラミング 第6章 ドキュメントとフィルタリング~draft
集合知プログラミング 第6章 ドキュメントとフィルタリング~draft集合知プログラミング 第6章 ドキュメントとフィルタリング~draft
集合知プログラミング 第6章 ドキュメントとフィルタリング~draftKenji Koshikawa
 
JAWSDAYS 2014 ACEに聞け! EMR編
JAWSDAYS 2014 ACEに聞け! EMR編JAWSDAYS 2014 ACEに聞け! EMR編
JAWSDAYS 2014 ACEに聞け! EMR編陽平 山口
 
MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習Preferred Networks
 
[AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜
[AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜[AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜
[AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜Amazon Web Services Japan
 
AWS Elastic MapReduce詳細 -ほぼ週刊AWSマイスターシリーズ第10回-
AWS Elastic MapReduce詳細 -ほぼ週刊AWSマイスターシリーズ第10回-AWS Elastic MapReduce詳細 -ほぼ週刊AWSマイスターシリーズ第10回-
AWS Elastic MapReduce詳細 -ほぼ週刊AWSマイスターシリーズ第10回-SORACOM, INC
 

Similar to Pfi last seminar (20)

Amazon ElastiCache - AWSマイスターシリーズ
Amazon ElastiCache - AWSマイスターシリーズAmazon ElastiCache - AWSマイスターシリーズ
Amazon ElastiCache - AWSマイスターシリーズ
 
20120117 13 meister-elasti_cache-public
20120117 13 meister-elasti_cache-public20120117 13 meister-elasti_cache-public
20120117 13 meister-elasti_cache-public
 
PHP on Cloud
PHP on CloudPHP on Cloud
PHP on Cloud
 
MS COCO Dataset Introduction
MS COCO Dataset IntroductionMS COCO Dataset Introduction
MS COCO Dataset Introduction
 
Javaセキュアコーディングセミナー東京第1回 講義
Javaセキュアコーディングセミナー東京第1回 講義Javaセキュアコーディングセミナー東京第1回 講義
Javaセキュアコーディングセミナー東京第1回 講義
 
Kinesis3 notes
Kinesis3 notesKinesis3 notes
Kinesis3 notes
 
初心者エンジニアの システム構築 失敗談
初心者エンジニアの システム構築 失敗談初心者エンジニアの システム構築 失敗談
初心者エンジニアの システム構築 失敗談
 
ソリューションセッション#3 ビッグデータの3つのVと4つのプロセスを支えるAWS活用法
ソリューションセッション#3 ビッグデータの3つのVと4つのプロセスを支えるAWS活用法 ソリューションセッション#3 ビッグデータの3つのVと4つのプロセスを支えるAWS活用法
ソリューションセッション#3 ビッグデータの3つのVと4つのプロセスを支えるAWS活用法
 
第3回集合知プログラミング勉強会 #TokyoCI グループを見つけ出す
第3回集合知プログラミング勉強会 #TokyoCI グループを見つけ出す第3回集合知プログラミング勉強会 #TokyoCI グループを見つけ出す
第3回集合知プログラミング勉強会 #TokyoCI グループを見つけ出す
 
Amazon EC2 HPCインスタンス - AWSマイスターシリーズ
Amazon EC2 HPCインスタンス - AWSマイスターシリーズAmazon EC2 HPCインスタンス - AWSマイスターシリーズ
Amazon EC2 HPCインスタンス - AWSマイスターシリーズ
 
Pgunconf ゆるいテキスト検索ふたたび - n-gram応用編
Pgunconf ゆるいテキスト検索ふたたび - n-gram応用編Pgunconf ゆるいテキスト検索ふたたび - n-gram応用編
Pgunconf ゆるいテキスト検索ふたたび - n-gram応用編
 
Jubatusでマルウェア分類
Jubatusでマルウェア分類Jubatusでマルウェア分類
Jubatusでマルウェア分類
 
20120528 aws meister-reloaded-awssd-kforjava-public
20120528 aws meister-reloaded-awssd-kforjava-public20120528 aws meister-reloaded-awssd-kforjava-public
20120528 aws meister-reloaded-awssd-kforjava-public
 
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
 
20130326 aws meister-reloaded-windows
20130326 aws meister-reloaded-windows20130326 aws meister-reloaded-windows
20130326 aws meister-reloaded-windows
 
集合知プログラミング 第6章 ドキュメントとフィルタリング~draft
集合知プログラミング 第6章 ドキュメントとフィルタリング~draft集合知プログラミング 第6章 ドキュメントとフィルタリング~draft
集合知プログラミング 第6章 ドキュメントとフィルタリング~draft
 
JAWSDAYS 2014 ACEに聞け! EMR編
JAWSDAYS 2014 ACEに聞け! EMR編JAWSDAYS 2014 ACEに聞け! EMR編
JAWSDAYS 2014 ACEに聞け! EMR編
 
MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習MapReduceによる大規模データを利用した機械学習
MapReduceによる大規模データを利用した機械学習
 
[AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜
[AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜[AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜
[AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜
 
AWS Elastic MapReduce詳細 -ほぼ週刊AWSマイスターシリーズ第10回-
AWS Elastic MapReduce詳細 -ほぼ週刊AWSマイスターシリーズ第10回-AWS Elastic MapReduce詳細 -ほぼ週刊AWSマイスターシリーズ第10回-
AWS Elastic MapReduce詳細 -ほぼ週刊AWSマイスターシリーズ第10回-
 

More from Hidekazu Oiwa

ICML2013読み会 Large-Scale Learning with Less RAM via Randomization
ICML2013読み会 Large-Scale Learning with Less RAM via RandomizationICML2013読み会 Large-Scale Learning with Less RAM via Randomization
ICML2013読み会 Large-Scale Learning with Less RAM via RandomizationHidekazu Oiwa
 
Incentive Compatible Regression Learning (Mathematical Informatics Reading)
Incentive Compatible Regression Learning (Mathematical Informatics Reading)Incentive Compatible Regression Learning (Mathematical Informatics Reading)
Incentive Compatible Regression Learning (Mathematical Informatics Reading)Hidekazu Oiwa
 
PoisoningAttackSVM (ICMLreading2012)
PoisoningAttackSVM (ICMLreading2012)PoisoningAttackSVM (ICMLreading2012)
PoisoningAttackSVM (ICMLreading2012)Hidekazu Oiwa
 

More from Hidekazu Oiwa (8)

ICML2013読み会 Large-Scale Learning with Less RAM via Randomization
ICML2013読み会 Large-Scale Learning with Less RAM via RandomizationICML2013読み会 Large-Scale Learning with Less RAM via Randomization
ICML2013読み会 Large-Scale Learning with Less RAM via Randomization
 
Incentive Compatible Regression Learning (Mathematical Informatics Reading)
Incentive Compatible Regression Learning (Mathematical Informatics Reading)Incentive Compatible Regression Learning (Mathematical Informatics Reading)
Incentive Compatible Regression Learning (Mathematical Informatics Reading)
 
PoisoningAttackSVM (ICMLreading2012)
PoisoningAttackSVM (ICMLreading2012)PoisoningAttackSVM (ICMLreading2012)
PoisoningAttackSVM (ICMLreading2012)
 
FOBOS
FOBOSFOBOS
FOBOS
 
Prml9
Prml9Prml9
Prml9
 
NLPforml5
NLPforml5NLPforml5
NLPforml5
 
PRML5
PRML5PRML5
PRML5
 
Arow
ArowArow
Arow
 

Pfi last seminar

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