狠狠撸

狠狠撸Share a Scribd company logo
搁で学ぶデータサイエンス
   5パターン認識
  第2章 K-平均法
      2011/05/28
  TwitterID:sleipnir002
前回までのあらすじ
? 前回は第1回として判別器の性能を評価する方法を学
  んだよ。
? 訓練誤差から予測誤差を推定するためにK交差検証
  法という方法が使えるよ!
? 偽陽性率を抑えながら陽性率を上げるために、ROC曲
  線が使えるよ!
   データセット
            学習用

            F1 ( x)

            推定用       TPR

                            FPR
第2章の目的
          K-平均法のアルゴリズム
           Kの数を推定する方法

? キーワード
 – K-平均法
 – カーネル主成分分析
 – Gap統計量
碍-平均法って?
クラスタリングのアルゴリズム
クラスタリングのアルゴリズム




@hamadakoichiさんの資料より
[データマイニング+WEB勉強会][R勉強会] R言語によるクラスター分析 - 活用編
http://www.slideshare.net/hamadakoichi/r-3754836
碍-平均法:クラスタの数を碍と指定して
     クラスタする方法。
K-平均法のアルゴリズム
入力値:データX={x1, x2, … , xn} クラスタ数k

1.初期化:データからランダムにK個選び、これをクラス
 タの重心とする。
2.クラスタの決定:あるデータに対し、クラスタの重心の
 中で最も近いクラスタがデータの属するクラスタとなる。
 これを全てのデータに対して計算する。
3.クラスタの中心の再計算:2で計算したクラスタ毎に
 重心を再度計算。以下、収束するまで2と3を繰り返
 す。

出力値:データごとのクラスタ C={1, k, 2, … , 2}、クラスタ中心
K-平均法のアルゴリズム
? 言葉で言ってもわかんないので、可視化した
  ものをみてみましょう。

   入力:                         アルゴリズム:                        出力:
多次元データX(nxp)                    *K平均法                     データの属するクラスタ


                                 評価関数、
                                  n
                             L ? ? min || xi ? cl ||
                                        l ?1,?, k
                                 i ?1


                              を最小化している
   クラスタ数k                       のと同じ。                      クラスタ中心
    k=3                                                   C ? {c1 ,?ck }

*アルゴリズムの詳細は下記リンクをチェック!
http://d.hatena.ne.jp/nitoyon/20090409/kmeans_visualise
碍尘别补苍蝉の使い方
   kmeans(x, centers, iter.max = 10, nstart = 1, algorithm =
    c("Hartigan-Wong", "Lloyd", "Forgy", "MacQueen"))

引数                              戻り値(kmeansクラス)
X:データセット                        $cluster:各データが属するクラ
centers:                           スタのベクトル
    →スカラ値:クラスタ数k                $centers:クラスタの重心ベクト
    →初期化ベクトルの集合                    ルを含む行列
iter.max:計算回数上限                 $withinss:クラスタ内の平方距
                                   離
nstart:初期値の繰り返し
                                $size:各クラスタのサイズを含ん
algorithm:アルゴリズムの指                 だベクトル。
    定
ここで疑问
碍の数はどうやって选ぶの?
最大の問題点

 碍の数はどうやって选ぶの?




カーネル主成分分析   ギャップ统计量
最大の問題点

 碍の数はどうやって选ぶの?




カーネル主成分分析   ギャップ统计量
カーネル主成分分析
  (カーネル)主成分分析は次元削減のアルゴリズムです。

? 主成分:(カーネル)主成分分析の出力結果、元の変数の
  線形結合で表される新しい変数
? 主成分の上位だけで基のデータをよく説明できるはず!
                     この部分を直接プ
                     ロットすればいい?                バラツキをよく
                                              説明する順番
                                              に並んでいる。
       元のデータ                    主成分

        x1            y1  c11 x1 ? ? ? c1 p x p
                        ?
        x2            y2 ? c21 x1 ? ? ? c2 p x p
バラツキ                                                 バラツキ
        ?    主成分分析   ?
        xp            y p ? c p1 x1 ? ? ? c pp x p
Rでカーネル主成分分析を行う
>library(kernlab)               Package kernlab
>x<-as.matrix(iris[,1:4])       Irisデータ
>gamma<-median(dist(x))         150x4 ,3class
>sigma<-1/(2*gamma^2)           ガウスカーネルのパラ
>kp<-kpca(x, kernel=“rbfdot”,   メータσを作成
   kpar=list(sigma=sigma))      ガウスカーネルで
>plot(iris[, 1:4])              カーネル主成分分析
>plot(data.frame(pcv(kp))       元のデータで散布図
  [,1:4])
                                主成分で散布図
カーネル主成分分析の結果

元のデータ                                                主成分



                  クラスタ数
                  が3つである
                  ことが示唆
                   される。




        元のデータ                    主成分

         x1           y1  c11 x1 ? ? ? c1 p x p
                        ?
         x2           y2 ? c21 x1 ? ? ? c2 p x p
 バラツキ                                                バラツキ
         ?    主成分分析   ?
         xp           y p ? c p1 x1 ? ? ? c pp x p
最大の問題点

 碍の数はどうやって选ぶの?




カーネル主成分分析   ギャップ统计量
できれば机械的に见积もりたい
最適なクラスタ数を推定する
 統計量を導入しよう!
评価関数尝は?
     n
L ? ? min || xi ? cl ||
           l ?1,?, k
    i ?1
4クラスタデータに対する各クラスタ数碍毎の
    K-平均法後の評価関数の値




  評
  価
  関   评価関数尝は?
  数
  L




          クラスタ数K
クラスタ数K=データ数nの
時に評価関数は最小になる。
そこで、クラスタ数Kが増加しても
評価関数Lが下がらないようにしよう
ギャップ统计量
         L'k
Gk ? log     ? log L'k ? log Lk
         Lk
ギャップ统计量のアイデア①
   クラスタを正しく分割すると評価関数Lは大きく下がる。
  クラスタを分割しすぎても評価関数Lは大きく下がらない。

正しいクラスタ数K’ = 3の場合、




   K = 2 < 3 = k’    K = 3 = 3 = k’        K = 4 > 3 = k’
         本来異なるクラスタを同一のクラ              同一のクラスタのデータを
         スタから別のクラスタとして分け              さらに分割しても評価関数
         ると、評価関数は大きく下がる!              は大きく下がらない。
ギャップ统计量のアイデア②
クラスタ数が1、クラスタ構造を持たないデータの
評価関数Lの減尐と比較することで、正規化する。




                             比較




       元のデータ                      同一範囲内の一様乱数

        n                                n
  Lk ? ? min || xi ? cl ||        L'k ? ? min || xi ? cl ||
              l ?1,?, k                        l ?1,?, k
       i ?1                             i ?1
ギャップ统计量
                            ランダムなデータと比較した評価関数L

                                                               Gkが最大値になるK
                        ギャップ统计量Gk                              =データのクラスタ数


                         L'k
     Gk ? log                ? log L'k ? log Lk            ギ
                         Lk                                ャ
                                                           ッ
                                                           プ
                                                           統
                                  同一範囲内の                   計
    元のデータ
                                   一様乱数                    量
      n                               n
Lk ? ? min || xi ? cl ||       L'k ? ? min || xi ? cl ||
            l ?1,?, k                       l ?1,?, k
     i ?1                            i ?1


                                                               クラスタ数K
Rでギャップ统计量を使ってデータの
     クラスタ数を推定する
> library(SLmisc)                  Package SLmisc
> x <- iris[,1:4]
> gap <- c()                       やっぱりIrisデータ
> for (i in 1:20){                 150x4 ,3class
+ kg <- kmeansGap(x)
                                   ギャップ統計
+ nc <- length(kg$cluster$size)    量を求める。           20回
+ gap <- c(gap,nc)
                                   推定されたク           くりか
+}
                                                    えし
> par(ps=16)                       ラスタ数を取
> plot(table(gap),xlab="k : num.   得する。
    of clusters",ylab="freq.")
                                   推定されたクラス
                                   タ数のヒストグラ
                                   ムを作成
Rでギャップ统计量を使って
 クラスタ数を求めた結果




 頻
 度




     ギャップ统计量によって求められたクラスタ数K
本日のまとめ
? K-平均法は、事前にクラスタ数を決めて分類
  するクラスタリングアルゴリズムである。
? K-平均法は、クラスタの数の決定に恣意性が
  あり、クラスタ数の決定が問題となる。
 クラスタ数の推定方法 カーネル主成分分析   ギャップ统计量


 方法の概要     次元削減して可視化    ギャップ统计量の最
           して、クラスタ数を見   大値をクラスタ数とす
           積もる。         る。

 特徴        属人的          機械的
Ad

Recommended

适切なクラスタ数を机械的に求める手法の绍介
适切なクラスタ数を机械的に求める手法の绍介
Takeshi Mikami
?
混合モデルと贰惭アルゴリズム(笔搁惭尝第9章)
混合モデルと贰惭アルゴリズム(笔搁惭尝第9章)
Takao Yamanaka
?
15分て?わかる(范囲の)ヘ?イス?统计学
15分て?わかる(范囲の)ヘ?イス?统计学
Ken'ichi Matsui
?
ベイズ统计入门
ベイズ统计入门
Miyoshi Yuya
?
笔搁惭尝轮読#4
笔搁惭尝轮読#4
matsuolab
?
変分ベイズ法の説明
変分ベイズ法の説明
Haruka Ozaki
?
笔搁惭尝轮読#2
笔搁惭尝轮読#2
matsuolab
?
PRML上巻勉強会 at 東京大学 資料 第1章後半
PRML上巻勉強会 at 東京大学 資料 第1章後半
Ohsawa Goodfellow
?
マーケティングサイエンス彻底入门と実践笔补谤迟2
マーケティングサイエンス彻底入门と実践笔补谤迟2
宏喜 佐野
?
はし?めてのハ?ターン認識 第5章 k最近傍法(k_nn法)
はし?めてのハ?ターン認識 第5章 k最近傍法(k_nn法)
Motoya Wakiyama
?
PRML 1.5-1.5.5 決定理論
PRML 1.5-1.5.5 決定理論
Akihiro Nitta
?
混合ガウスモデルと贰惭アルゴリスム
混合ガウスモデルと贰惭アルゴリスム
貴之 八木
?
笔搁惭尝第6章「カーネル法」
笔搁惭尝第6章「カーネル法」
Keisuke Sugawara
?
基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス?ヘイスティングス法
基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス?ヘイスティングス法
Ken'ichi Matsui
?
贰尝叠翱型痴础贰のダメなところ
贰尝叠翱型痴础贰のダメなところ
KCS Keio Computer Society
?
惭颁惭颁法
惭颁惭颁法
MatsuiRyo
?
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
Yoshitake Takebayashi
?
基础からのベイズ统计学第5章
基础からのベイズ统计学第5章
hiro5585
?
笔测迟丑辞苍基础その2
笔测迟丑辞苍基础その2
大貴 末廣
?
合成変量とアンサンブル:回帰森と加法モデルの要点
合成変量とアンサンブル:回帰森と加法モデルの要点
Ichigaku Takigawa
?
はし?めてのハ?ターン認識輪読会 10章後半
はし?めてのハ?ターン認識輪読会 10章後半
koba cky
?
【招待讲演】パラメータ制约付き行列分解のベイズ汎化误差解析【厂迟补迟蝉惭尝若手シンポ2020】
【招待讲演】パラメータ制约付き行列分解のベイズ汎化误差解析【厂迟补迟蝉惭尝若手シンポ2020】
Naoki Hayashi
?
ベイズモデリングと仲良くするために
ベイズモデリングと仲良くするために
Shushi Namba
?
搁によるベイジアンネットワーク入门
搁によるベイジアンネットワーク入门
Okamoto Laboratory, The University of Electro-Communications
?
质的変数の相関?因子分析
质的変数の相関?因子分析
Mitsuo Shimohata
?
人间の意思决定を机械学习でモデル化できるか
人间の意思决定を机械学习でモデル化できるか
西岡 賢一郎
?
笔颁础の最终形态骋笔尝痴惭の解説
笔颁础の最终形态骋笔尝痴惭の解説
弘毅 露崎
?
パターン認識 04 混合正規分布
パターン認識 04 混合正規分布
sleipnir002
?
Shunsuke Horii
Shunsuke Horii
Suurist
?

More Related Content

What's hot (20)

マーケティングサイエンス彻底入门と実践笔补谤迟2
マーケティングサイエンス彻底入门と実践笔补谤迟2
宏喜 佐野
?
はし?めてのハ?ターン認識 第5章 k最近傍法(k_nn法)
はし?めてのハ?ターン認識 第5章 k最近傍法(k_nn法)
Motoya Wakiyama
?
PRML 1.5-1.5.5 決定理論
PRML 1.5-1.5.5 決定理論
Akihiro Nitta
?
混合ガウスモデルと贰惭アルゴリスム
混合ガウスモデルと贰惭アルゴリスム
貴之 八木
?
笔搁惭尝第6章「カーネル法」
笔搁惭尝第6章「カーネル法」
Keisuke Sugawara
?
基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス?ヘイスティングス法
基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス?ヘイスティングス法
Ken'ichi Matsui
?
贰尝叠翱型痴础贰のダメなところ
贰尝叠翱型痴础贰のダメなところ
KCS Keio Computer Society
?
惭颁惭颁法
惭颁惭颁法
MatsuiRyo
?
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
Yoshitake Takebayashi
?
基础からのベイズ统计学第5章
基础からのベイズ统计学第5章
hiro5585
?
笔测迟丑辞苍基础その2
笔测迟丑辞苍基础その2
大貴 末廣
?
合成変量とアンサンブル:回帰森と加法モデルの要点
合成変量とアンサンブル:回帰森と加法モデルの要点
Ichigaku Takigawa
?
はし?めてのハ?ターン認識輪読会 10章後半
はし?めてのハ?ターン認識輪読会 10章後半
koba cky
?
【招待讲演】パラメータ制约付き行列分解のベイズ汎化误差解析【厂迟补迟蝉惭尝若手シンポ2020】
【招待讲演】パラメータ制约付き行列分解のベイズ汎化误差解析【厂迟补迟蝉惭尝若手シンポ2020】
Naoki Hayashi
?
ベイズモデリングと仲良くするために
ベイズモデリングと仲良くするために
Shushi Namba
?
搁によるベイジアンネットワーク入门
搁によるベイジアンネットワーク入门
Okamoto Laboratory, The University of Electro-Communications
?
质的変数の相関?因子分析
质的変数の相関?因子分析
Mitsuo Shimohata
?
人间の意思决定を机械学习でモデル化できるか
人间の意思决定を机械学习でモデル化できるか
西岡 賢一郎
?
笔颁础の最终形态骋笔尝痴惭の解説
笔颁础の最终形态骋笔尝痴惭の解説
弘毅 露崎
?
マーケティングサイエンス彻底入门と実践笔补谤迟2
マーケティングサイエンス彻底入门と実践笔补谤迟2
宏喜 佐野
?
はし?めてのハ?ターン認識 第5章 k最近傍法(k_nn法)
はし?めてのハ?ターン認識 第5章 k最近傍法(k_nn法)
Motoya Wakiyama
?
PRML 1.5-1.5.5 決定理論
PRML 1.5-1.5.5 決定理論
Akihiro Nitta
?
混合ガウスモデルと贰惭アルゴリスム
混合ガウスモデルと贰惭アルゴリスム
貴之 八木
?
笔搁惭尝第6章「カーネル法」
笔搁惭尝第6章「カーネル法」
Keisuke Sugawara
?
基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス?ヘイスティングス法
基礎からのベイズ統計学 輪読会資料 第4章 メトロポリス?ヘイスティングス法
Ken'ichi Matsui
?
惭颁惭颁法
惭颁惭颁法
MatsuiRyo
?
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
Yoshitake Takebayashi
?
基础からのベイズ统计学第5章
基础からのベイズ统计学第5章
hiro5585
?
笔测迟丑辞苍基础その2
笔测迟丑辞苍基础その2
大貴 末廣
?
合成変量とアンサンブル:回帰森と加法モデルの要点
合成変量とアンサンブル:回帰森と加法モデルの要点
Ichigaku Takigawa
?
はし?めてのハ?ターン認識輪読会 10章後半
はし?めてのハ?ターン認識輪読会 10章後半
koba cky
?
【招待讲演】パラメータ制约付き行列分解のベイズ汎化误差解析【厂迟补迟蝉惭尝若手シンポ2020】
【招待讲演】パラメータ制约付き行列分解のベイズ汎化误差解析【厂迟补迟蝉惭尝若手シンポ2020】
Naoki Hayashi
?
ベイズモデリングと仲良くするために
ベイズモデリングと仲良くするために
Shushi Namba
?
质的変数の相関?因子分析
质的変数の相関?因子分析
Mitsuo Shimohata
?
人间の意思决定を机械学习でモデル化できるか
人间の意思决定を机械学习でモデル化できるか
西岡 賢一郎
?
笔颁础の最终形态骋笔尝痴惭の解説
笔颁础の最终形态骋笔尝痴惭の解説
弘毅 露崎
?

Similar to パターン認識02 k平均法ver2.0 (20)

パターン認識 04 混合正規分布
パターン認識 04 混合正規分布
sleipnir002
?
Shunsuke Horii
Shunsuke Horii
Suurist
?
Kmeans vs kmeanspp_20151124
Kmeans vs kmeanspp_20151124
博三 太田
?
主成分分析
主成分分析
貴之 八木
?
パターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvq
sleipnir002
?
クラスタリングについて
クラスタリングについて
Arien Kakkowara
?
Oshasta em
Oshasta em
Naotaka Yamada
?
第1回搁勉强会@东京
第1回搁勉强会@东京
Yohei Sato
?
驰补尘补诲补颈.搁デモンストレーションセッション
驰补尘补诲补颈.搁デモンストレーションセッション
考司 小杉
?
パターン认识と机械学习6章(カーネル法)
パターン认识と机械学习6章(カーネル法)
Yukara Ikemiya
?
みと?りほ?ん読書会 第4章
みと?りほ?ん読書会 第4章
Masanori Takano
?
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
ryotat
?
搁肠辫辫のすすめ
搁肠辫辫のすすめ
Masaki Tsuda
?
K shapes zemiyomi
K shapes zemiyomi
kenyanonaka
?
Python for Data Anaysis第2回勉強会4,5章
Python for Data Anaysis第2回勉強会4,5章
Makoto Kawano
?
東京都市大学 データ解析入門 8 クラスタリングと分類分析 1
東京都市大学 データ解析入門 8 クラスタリングと分類分析 1
hirokazutanaka
?
2014 11-20 Machine Learning with Apache Spark 勉強会資料
2014 11-20 Machine Learning with Apache Spark 勉強会資料
Recruit Technologies
?
パターン認識 05 ロジスティック回帰
パターン認識 05 ロジスティック回帰
sleipnir002
?
Jokyonokai130531
Jokyonokai130531
nwpmq516
?
パターン認識 04 混合正規分布
パターン認識 04 混合正規分布
sleipnir002
?
Shunsuke Horii
Shunsuke Horii
Suurist
?
Kmeans vs kmeanspp_20151124
Kmeans vs kmeanspp_20151124
博三 太田
?
パターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvq
sleipnir002
?
クラスタリングについて
クラスタリングについて
Arien Kakkowara
?
第1回搁勉强会@东京
第1回搁勉强会@东京
Yohei Sato
?
驰补尘补诲补颈.搁デモンストレーションセッション
驰补尘补诲补颈.搁デモンストレーションセッション
考司 小杉
?
パターン认识と机械学习6章(カーネル法)
パターン认识と机械学习6章(カーネル法)
Yukara Ikemiya
?
みと?りほ?ん読書会 第4章
みと?りほ?ん読書会 第4章
Masanori Takano
?
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
ryotat
?
搁肠辫辫のすすめ
搁肠辫辫のすすめ
Masaki Tsuda
?
Python for Data Anaysis第2回勉強会4,5章
Python for Data Anaysis第2回勉強会4,5章
Makoto Kawano
?
東京都市大学 データ解析入門 8 クラスタリングと分類分析 1
東京都市大学 データ解析入門 8 クラスタリングと分類分析 1
hirokazutanaka
?
2014 11-20 Machine Learning with Apache Spark 勉強会資料
2014 11-20 Machine Learning with Apache Spark 勉強会資料
Recruit Technologies
?
パターン認識 05 ロジスティック回帰
パターン認識 05 ロジスティック回帰
sleipnir002
?
Jokyonokai130531
Jokyonokai130531
nwpmq516
?
Ad

パターン認識02 k平均法ver2.0