SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
学習ベクトルの量子化

        東京大学 三好雄也



1
はじめに



かなり参考にさせて頂きました http://www.slideshare.net/sleipnir002/08-09-k-lvq
                                               問題があれば削除します




 2
量子化とは
       量子化(Quantization)
           ある連続量を、データ量削減のために、最も近い不連続値(代表ベクト
            ル、セントロイド)に置き換える(近似、情報圧縮)すること。(精度は落
            ちます。)
           画像圧縮に用いられたりするようです。




    3
学習ベクトルの量子化のイメージ 1
       入力データを代表ベクトルによって分割近似するという点で
        はk-meansと目的を同じくする。
       入力データに近い代表ベクトルによって判別を行う点ではk-
        近傍法と関連がある。
       何はともあれ、代表ベクトルをいかに配置するかが鍵

                          代表ベクトルによる
         入力データとラベル
                           入力空間の分割




    4
学習ベクトルの量子化のイメージ 2

       入力データに近い代表ベクトルによって判別を行う点ではk-
        近傍法と関連がある。
                          代表ベクトルによる
         入力データとラベル
                           入力空間の分割




    5
学習ベクトルの量子化の学習プロセス
代表データの初期値の決定プロセス
1.           学習データをk-近傍法によって判別
2.           判別の誤りのないデータからランダムで選ぶ


学習プロセス
1.           時刻tにおいて1つのデータ(テスト点)を選択
2.           代表ベクトルの更新

        時刻tで選ばれたデータ (x(t),y(t))
            x:特徴量、y:ラベル
        時刻tにおける代表データ 𝑚1 (t)
            代表データのラベル 𝑙 𝑖 (t), i=1,2,…k


     6
学習アルゴリズム


       学習アルゴリズムとしては以下のものがある
1.      LVQ1
2.      LVQ2.1
3.      LVQ3
4.      OLVQ1(Optimized-learning rate LVQ1)




    7
LVQ1 -1

       テスト点(x(t),y(t))が入力される
       テスト点から最も近い代表ベクトルを c とする
                         c = 𝑎𝑟𝑔𝑚𝑖𝑛 𝑖 𝑥 − 𝑚 𝑖

       このとき
          y(t)= 𝑙 𝑐 (t) → 𝑚 𝑐 (t+1) = 𝑚 𝑐 (t) + α(t)(x(t)- 𝑚 𝑐 (t))
          y(t)≠ 𝑙 𝑐 (t) → 𝑚 𝑐 (t+1) = 𝑚 𝑐 (t)-α(t)(x(t)- 𝑚 𝑐 (t))
                                               ただし、 0 < α(t) < 1
               i≠c   → 𝑚 𝑖 (t+1) = 𝑚 𝑖 (t)
    8
LVQ1 -2

       y(t)= 𝑙 𝑐 (t) → 𝑚 𝑖 (t)をx(t)に近づける
       y(t)≠ 𝑙 𝑐 (t) → 𝑚 𝑖 (t)をx(t)から遠ざける




    9
LVQ2.1 -1


    LVQ1は1つの代表ベクトルしか更新しなかったが、2つの代表
     ベクトルに対して更新を行うアルゴリズムがLVQ2.1

更新の対象
 ラベルが違うがテスト点から最も近い代表ベクトル 𝑚 𝑖 (t)
 ラベルが同じでテスト点から最も近い代表ベクトル 𝑚 𝑗 (t)




    10
LVQ2.1 -2
           1−𝑤              𝑑𝑖 𝑑 𝑗
    s   =       とし、min(       ,     ) > s なら、以下の更新を行う
           1+𝑤              𝑑 𝑗 𝑑𝑖

            𝑚 𝑖 (t+1) = 𝑚 𝑖 (t)-α(t)(x(t)- 𝑚 𝑖 (t)) → 遠ざける
            𝑚 𝑗 (t+1) = 𝑚 𝑗 (t) + α(t)(x(t)- 𝑚 𝑗 (t)) → 近づける

                                                           𝑑𝑗         1−𝑤
                                     左図の場合、                     >s=         となる
                  𝑑𝑗                                       𝑑𝑖         1+𝑤
                       𝑑𝑖

                                            𝑑𝑖       𝑑𝑗
                 𝑚𝑗    𝑚𝑖            min(        ,        )≦1であり、 𝑑 𝑗 と𝑑 𝑗 が近
                                            𝑑𝑗       𝑑𝑖
                                     いほど、更新が行われやすくなる。

    11
LVQ3
    LVQ1とLVQ2.1を融合したようなもの
    テスト点から近い2つ代表ベクトルを順に𝑚 𝑖 (t), 𝑚 𝑗 (t)とし、以
     下のどちらかの条件を満たした場合に更新を行う。
1.       li (t) , lj (t)がともにy(t)と同じ

            𝑚ℎ (t+1)= 𝑚ℎ (t)+εα(t)(x(t)-𝑚ℎ (t)) ,h=i,j →近づける
2.       li (t)≠y(t), lj (t)=y(t)、かつLVQ2.1と同じ条件(テスト点が窓
         に入る)の場合
            𝑚 𝑖 (t+1) = 𝑚 𝑖 (t)-α(t)(x(t)- 𝑚 𝑖 (t)) → 遠ざける
            𝑚 𝑗 (t+1) = 𝑚 𝑗 (t) + α(t)(x(t)- 𝑚 𝑗 (t)) → 近づける

    12
OLVQ1 -1
    LVQ1における α(t) の最適化 → 学習の収束特性の改善
    y(t)とli (t)との関係を示す変数を導入する

                           +1, i=c かつ y(t) = li (t)
                𝑠i (t) =   -1, i=c かつ y(t) ≠ li (t)
                            0, i ≠ c

         y(t)= 𝑙 𝑐 (t) → 𝑚 𝑐 (t+1) = 𝑚 𝑐 (t) + α(t)(x(t)- 𝑚 𝑐 (t))
         y(t)≠ 𝑙 𝑐 (t) → 𝑚 𝑐 (t+1) = 𝑚 𝑐 (t)-α(t)(x(t)- 𝑚 𝑐 (t))
            i ≠ c → 𝑚 𝑖 (t+1) = 𝑚 𝑖 (t)

         ⇔ mi (t+1) = mi (t) + 𝑠i (t)αi (t)(x(t)- 𝑚 𝑖 (t))

    13
OLVQ1 -2
mi (t+1) = mi (t) + 𝑠i (t)αi (t)(x(t)- 𝑚 𝑖 (t))
               = (1-𝑠i (t)αi (t)) 𝑚 𝑖 (t) + 𝑠i (t)αi (t)x(t)
さらに展開していくと、
      mi (t+1) = (1-𝑠i (t)αi (t))(1-𝑠 𝑖 (t-1)αi (t-1))𝑚 𝑖 (t)
                  + (1-𝑠i (t)αi (t))𝑠 𝑖 (t-1)αi (t-1)x(t-1)
                  + 𝑠i (t)αi (t) x(t)
𝑠i (t)𝑠i (t-1)=0のとき、 x(t-1) と x(t) の係数の絶対値が等し
いとし、さらに、 𝑠i =1, 0< α <1 を考慮すると、最終的に
                                     αi(𝑡−1)
                       αi (𝑡) =
                                  1+si (𝑡)αi (𝑡−1)

 14
問題点




1.    初期値依存
2.    学習データによる学習の順番にも結果が依存する




 15
学習ベクトル -入力データ in R
          library(class) ; library(mlbench)
          dim <- 2 # 入力空間の次元 ; n <- 300 # 学習データ数

          smpl <- mlbench.corners(n, d=dim, sd=0.25)
          x <- smpl$x ; y <- smpl$classes

          size <- 8 # 代表ベクトルの数 ; k <- 1 # 初期化
          cd <- lvqinit(x,y, size=size, k=k) ; cd3 <- lvq3(x,y,cd)

          # 学習前後の判別境界
          gsize <- 100 # グリッドのサイズ
          x1 <- seq(min(x[,1]), max(x[,1]), length=gsize)
          x2 <- seq(min(x[,2]), max(x[,2]), length=gsize)

          xtest <- as.matrix(expand.grid(x1,x2))
          yest <- lvqtest(cd, xtest)
          yest3 <- lvqtest(cd3, xtest)
          cntr <- matrix(match(yest, levels(factor(yest))), gsize, gsize)
          cntr3 <- matrix(match(yest3, levels(factor(yest3))), gsize, gsize)

          plot(x, col=y, pch=20+as.numeric(y), xlab="x1", ylab="x2",
          main="Initial Codebook")
          # 代表ベクトル
          points(cd3$x, col=cd3$cl, bg=cd$cl,
          pch=20+as.numeric(cd$cl),cex=2)
16
学習ベクトル -学習前と学習後




# 学習前の境界を表示                                         # 学習後
for(i in 1:max(cntr)) contour(x1, x2, cntr==i,      plot(x, col=y, pch=20+as.numeric(y), xlab="x1",
levels=0.5, lwd=2, lty=1, drawlabels=F, add=TRUE)   ylab="x2", main="LVQ3")
                                                    points(cd3$x, col=cd3$cl, bg=cd$cl,
                                                    pch=20+as.numeric(cd$cl),cex=2)
                                                    for(i in
                                                    1:max(cntr3))contour(x1,x2,cntr==i,levels=0.5,l
 17                                                 wd=2,lty=1, drawlabels=F, add=TRUE)

Contenu connexe

Tendances

【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings  (EMNLP 2021)【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings  (EMNLP 2021)
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)Deep Learning JP
 
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...Deep Learning JP
 
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer近年のHierarchical Vision Transformer
近年のHierarchical Vision TransformerYusuke Uchida
 
Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化Yusuke Fujimoto
 
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and EditingDeep Learning JP
 
【メタサーベイ】Neural Fields
【メタサーベイ】Neural Fields【メタサーベイ】Neural Fields
【メタサーベイ】Neural Fieldscvpaper. challenge
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)Takao Yamanaka
 
2014 3 13(テンソル分解の基礎)
2014 3 13(テンソル分解の基礎)2014 3 13(テンソル分解の基礎)
2014 3 13(テンソル分解の基礎)Tatsuya Yokota
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向Motokawa Tetsuya
 
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~SSII
 
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -tmtm otm
 
3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向Kensho Hara
 
モデル高速化百選
モデル高速化百選モデル高速化百選
モデル高速化百選Yusuke Uchida
 
強化学習その3
強化学習その3強化学習その3
強化学習その3nishio
 
【DL輪読会】A Path Towards Autonomous Machine Intelligence
【DL輪読会】A Path Towards Autonomous Machine Intelligence【DL輪読会】A Path Towards Autonomous Machine Intelligence
【DL輪読会】A Path Towards Autonomous Machine IntelligenceDeep Learning JP
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門tmtm otm
 
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data  (NeurIPS 2021) 表形式デー...[DL輪読会]Revisiting Deep Learning Models for Tabular Data  (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...Deep Learning JP
 
Bayesian Neural Networks : Survey
Bayesian Neural Networks : SurveyBayesian Neural Networks : Survey
Bayesian Neural Networks : Surveytmtm otm
 
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 Ken'ichi Matsui
 
感覚運動随伴性、予測符号化、そして自由エネルギー原理 (Sensory-Motor Contingency, Predictive Coding and ...
感覚運動随伴性、予測符号化、そして自由エネルギー原理 (Sensory-Motor Contingency, Predictive Coding and ...感覚運動随伴性、予測符号化、そして自由エネルギー原理 (Sensory-Motor Contingency, Predictive Coding and ...
感覚運動随伴性、予測符号化、そして自由エネルギー原理 (Sensory-Motor Contingency, Predictive Coding and ...Masatoshi Yoshida
 

Tendances (20)

【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings  (EMNLP 2021)【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings  (EMNLP 2021)
【DL輪読会】SimCSE: Simple Contrastive Learning of Sentence Embeddings (EMNLP 2021)
 
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
 
近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer近年のHierarchical Vision Transformer
近年のHierarchical Vision Transformer
 
Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化Tensor コアを使った PyTorch の高速化
Tensor コアを使った PyTorch の高速化
 
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
 
【メタサーベイ】Neural Fields
【メタサーベイ】Neural Fields【メタサーベイ】Neural Fields
【メタサーベイ】Neural Fields
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
 
2014 3 13(テンソル分解の基礎)
2014 3 13(テンソル分解の基礎)2014 3 13(テンソル分解の基礎)
2014 3 13(テンソル分解の基礎)
 
Optimizer入門&最新動向
Optimizer入門&最新動向Optimizer入門&最新動向
Optimizer入門&最新動向
 
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
SSII2019OS: 深層学習にかかる時間を短くしてみませんか? ~分散学習の勧め~
 
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -深層学習の不確実性 - Uncertainty in Deep Neural Networks -
深層学習の不確実性 - Uncertainty in Deep Neural Networks -
 
3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向3D CNNによる人物行動認識の動向
3D CNNによる人物行動認識の動向
 
モデル高速化百選
モデル高速化百選モデル高速化百選
モデル高速化百選
 
強化学習その3
強化学習その3強化学習その3
強化学習その3
 
【DL輪読会】A Path Towards Autonomous Machine Intelligence
【DL輪読会】A Path Towards Autonomous Machine Intelligence【DL輪読会】A Path Towards Autonomous Machine Intelligence
【DL輪読会】A Path Towards Autonomous Machine Intelligence
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
 
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data  (NeurIPS 2021) 表形式デー...[DL輪読会]Revisiting Deep Learning Models for Tabular Data  (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
 
Bayesian Neural Networks : Survey
Bayesian Neural Networks : SurveyBayesian Neural Networks : Survey
Bayesian Neural Networks : Survey
 
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料 「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
「内積が見えると統計学も見える」第5回 プログラマのための数学勉強会 発表資料
 
感覚運動随伴性、予測符号化、そして自由エネルギー原理 (Sensory-Motor Contingency, Predictive Coding and ...
感覚運動随伴性、予測符号化、そして自由エネルギー原理 (Sensory-Motor Contingency, Predictive Coding and ...感覚運動随伴性、予測符号化、そして自由エネルギー原理 (Sensory-Motor Contingency, Predictive Coding and ...
感覚運動随伴性、予測符号化、そして自由エネルギー原理 (Sensory-Motor Contingency, Predictive Coding and ...
 

En vedette

パターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvqパターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvqsleipnir002
 
パターン認識 第10章 決定木
パターン認識 第10章 決定木 パターン認識 第10章 決定木
パターン認識 第10章 決定木 Miyoshi Yuya
 
パターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズムパターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズムMiyoshi Yuya
 
Rによる分類木 入門
Rによる分類木 入門Rによる分類木 入門
Rによる分類木 入門Hiro47
 
SVMについて
SVMについてSVMについて
SVMについてmknh1122
 
ベイズ統計入門
ベイズ統計入門ベイズ統計入門
ベイズ統計入門Miyoshi Yuya
 
最近傍探索と直積量子化(Nearest neighbor search and Product Quantization)
最近傍探索と直積量子化(Nearest neighbor search and Product Quantization)最近傍探索と直積量子化(Nearest neighbor search and Product Quantization)
最近傍探索と直積量子化(Nearest neighbor search and Product Quantization)Nguyen Tuan
 
K-means hashing (CVPR'13) とハッシング周り
K-means hashing (CVPR'13) とハッシング周りK-means hashing (CVPR'13) とハッシング周り
K-means hashing (CVPR'13) とハッシング周りYusuke Uchida
 
異常検知と変化検知 9章 部分空間法による変化点検知
異常検知と変化検知 9章 部分空間法による変化点検知異常検知と変化検知 9章 部分空間法による変化点検知
異常検知と変化検知 9章 部分空間法による変化点検知hagino 3000
 
はじめてのパターン認識 第5章 k最近傍法(k_nn法)
はじめてのパターン認識 第5章 k最近傍法(k_nn法)はじめてのパターン認識 第5章 k最近傍法(k_nn法)
はじめてのパターン認識 第5章 k最近傍法(k_nn法)Motoya Wakiyama
 
パターン認識 第01章-判別能力の評価
パターン認識 第01章-判別能力の評価パターン認識 第01章-判別能力の評価
パターン認識 第01章-判別能力の評価sleipnir002
 
Rによる主成分分析 入門
Rによる主成分分析 入門Rによる主成分分析 入門
Rによる主成分分析 入門Hiro47
 
Hdmits fpgax6-v0
Hdmits fpgax6-v0Hdmits fpgax6-v0
Hdmits fpgax6-v0aomtoku
 
Synthesijer fpgax 20150201
Synthesijer fpgax 20150201Synthesijer fpgax 20150201
Synthesijer fpgax 20150201Takefumi MIYOSHI
 
FPGA+Synthesijerでヴォコーダを作ってみた
FPGA+Synthesijerでヴォコーダを作ってみたFPGA+Synthesijerでヴォコーダを作ってみた
FPGA+Synthesijerでヴォコーダを作ってみたRyota Suzuki
 
5分で分かる自己組織化マップ
5分で分かる自己組織化マップ5分で分かる自己組織化マップ
5分で分かる自己組織化マップDaisuke Takai
 
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6Kentaro Ebisawa
 
FPGAX6_hayashi
FPGAX6_hayashiFPGAX6_hayashi
FPGAX6_hayashi愛美 林
 

En vedette (20)

パターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvqパターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvq
 
パターン認識 第10章 決定木
パターン認識 第10章 決定木 パターン認識 第10章 決定木
パターン認識 第10章 決定木
 
パターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズムパターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズム
 
Rによる分類木 入門
Rによる分類木 入門Rによる分類木 入門
Rによる分類木 入門
 
SVMについて
SVMについてSVMについて
SVMについて
 
ベイズ統計入門
ベイズ統計入門ベイズ統計入門
ベイズ統計入門
 
決定木学習
決定木学習決定木学習
決定木学習
 
最近傍探索と直積量子化(Nearest neighbor search and Product Quantization)
最近傍探索と直積量子化(Nearest neighbor search and Product Quantization)最近傍探索と直積量子化(Nearest neighbor search and Product Quantization)
最近傍探索と直積量子化(Nearest neighbor search and Product Quantization)
 
K-means hashing (CVPR'13) とハッシング周り
K-means hashing (CVPR'13) とハッシング周りK-means hashing (CVPR'13) とハッシング周り
K-means hashing (CVPR'13) とハッシング周り
 
異常検知と変化検知 9章 部分空間法による変化点検知
異常検知と変化検知 9章 部分空間法による変化点検知異常検知と変化検知 9章 部分空間法による変化点検知
異常検知と変化検知 9章 部分空間法による変化点検知
 
はじめてのパターン認識 第5章 k最近傍法(k_nn法)
はじめてのパターン認識 第5章 k最近傍法(k_nn法)はじめてのパターン認識 第5章 k最近傍法(k_nn法)
はじめてのパターン認識 第5章 k最近傍法(k_nn法)
 
パターン認識 第01章-判別能力の評価
パターン認識 第01章-判別能力の評価パターン認識 第01章-判別能力の評価
パターン認識 第01章-判別能力の評価
 
Rによる主成分分析 入門
Rによる主成分分析 入門Rによる主成分分析 入門
Rによる主成分分析 入門
 
Hdmits fpgax6-v0
Hdmits fpgax6-v0Hdmits fpgax6-v0
Hdmits fpgax6-v0
 
Synthesijer fpgax 20150201
Synthesijer fpgax 20150201Synthesijer fpgax 20150201
Synthesijer fpgax 20150201
 
FPGA+Synthesijerでヴォコーダを作ってみた
FPGA+Synthesijerでヴォコーダを作ってみたFPGA+Synthesijerでヴォコーダを作ってみた
FPGA+Synthesijerでヴォコーダを作ってみた
 
5分で分かる自己組織化マップ
5分で分かる自己組織化マップ5分で分かる自己組織化マップ
5分で分かる自己組織化マップ
 
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
FPGAで作るOpenFlow Switch (FPGAエクストリーム・コンピューティング 第6回) FPGAX#6
 
Extreme Learning Machine
Extreme Learning MachineExtreme Learning Machine
Extreme Learning Machine
 
FPGAX6_hayashi
FPGAX6_hayashiFPGAX6_hayashi
FPGAX6_hayashi
 

Similaire à パターン認識第9章 学習ベクトル量子化

線形識別モデル
線形識別モデル線形識別モデル
線形識別モデル貴之 八木
 
2022年度秋学期 応用数学(解析) 第7回 2階線形微分方程式(1) (2022. 11. 10)
2022年度秋学期 応用数学(解析) 第7回 2階線形微分方程式(1) (2022. 11. 10) 2022年度秋学期 応用数学(解析) 第7回 2階線形微分方程式(1) (2022. 11. 10)
2022年度秋学期 応用数学(解析) 第7回 2階線形微分方程式(1) (2022. 11. 10) Akira Asano
 
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1hirokazutanaka
 
070 統計的推測 母集団と推定
070 統計的推測 母集団と推定070 統計的推測 母集団と推定
070 統計的推測 母集団と推定t2tarumi
 
ユークリッド距離以外の距離で教師無しクラスタリング
ユークリッド距離以外の距離で教師無しクラスタリングユークリッド距離以外の距離で教師無しクラスタリング
ユークリッド距離以外の距離で教師無しクラスタリングMaruyama Tetsutaro
 
NN, CNN, and Image Analysis
NN, CNN, and Image AnalysisNN, CNN, and Image Analysis
NN, CNN, and Image AnalysisYuki Shimada
 
PRML 4.1 Discriminant Function
PRML 4.1 Discriminant FunctionPRML 4.1 Discriminant Function
PRML 4.1 Discriminant FunctionShintaro Takemura
 
パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)Yukara Ikemiya
 
社内機械学習勉強会 #5
社内機械学習勉強会 #5社内機械学習勉強会 #5
社内機械学習勉強会 #5shingo suzuki
 
2022年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2022. 10. 20)
2022年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2022. 10. 20) 2022年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2022. 10. 20)
2022年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2022. 10. 20) Akira Asano
 
第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知Chika Inoshita
 
topology of musical data
topology of musical datatopology of musical data
topology of musical dataTatsuki SHIMIZU
 
公開鍵暗号2: NP困難性
公開鍵暗号2: NP困難性公開鍵暗号2: NP困難性
公開鍵暗号2: NP困難性Joe Suzuki
 
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1hirokazutanaka
 

Similaire à パターン認識第9章 学習ベクトル量子化 (20)

Prml07
Prml07Prml07
Prml07
 
C07
C07C07
C07
 
線形識別モデル
線形識別モデル線形識別モデル
線形識別モデル
 
2022年度秋学期 応用数学(解析) 第7回 2階線形微分方程式(1) (2022. 11. 10)
2022年度秋学期 応用数学(解析) 第7回 2階線形微分方程式(1) (2022. 11. 10) 2022年度秋学期 応用数学(解析) 第7回 2階線形微分方程式(1) (2022. 11. 10)
2022年度秋学期 応用数学(解析) 第7回 2階線形微分方程式(1) (2022. 11. 10)
 
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
 
070 統計的推測 母集団と推定
070 統計的推測 母集団と推定070 統計的推測 母集団と推定
070 統計的推測 母集団と推定
 
ユークリッド距離以外の距離で教師無しクラスタリング
ユークリッド距離以外の距離で教師無しクラスタリングユークリッド距離以外の距離で教師無しクラスタリング
ユークリッド距離以外の距離で教師無しクラスタリング
 
NN, CNN, and Image Analysis
NN, CNN, and Image AnalysisNN, CNN, and Image Analysis
NN, CNN, and Image Analysis
 
PRML 4.1 Discriminant Function
PRML 4.1 Discriminant FunctionPRML 4.1 Discriminant Function
PRML 4.1 Discriminant Function
 
パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)パターン認識と機械学習6章(カーネル法)
パターン認識と機械学習6章(カーネル法)
 
NLPforml5
NLPforml5NLPforml5
NLPforml5
 
Prml sec6
Prml sec6Prml sec6
Prml sec6
 
社内機械学習勉強会 #5
社内機械学習勉強会 #5社内機械学習勉強会 #5
社内機械学習勉強会 #5
 
2022年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2022. 10. 20)
2022年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2022. 10. 20) 2022年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2022. 10. 20)
2022年度秋学期 応用数学(解析) 第5回 微分方程式とは・変数分離形 (2022. 10. 20)
 
第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知第8章 ガウス過程回帰による異常検知
第8章 ガウス過程回帰による異常検知
 
topology of musical data
topology of musical datatopology of musical data
topology of musical data
 
JSIAM_2019_9_4
JSIAM_2019_9_4JSIAM_2019_9_4
JSIAM_2019_9_4
 
公開鍵暗号2: NP困難性
公開鍵暗号2: NP困難性公開鍵暗号2: NP困難性
公開鍵暗号2: NP困難性
 
主成分分析
主成分分析主成分分析
主成分分析
 
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
 

Dernier

生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料Takayuki Itoh
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2Tokyo Institute of Technology
 
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラムKochi Eng Camp
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024koheioishi1
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationYukiTerazawa
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ssusere0a682
 
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料Tokyo Institute of Technology
 
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~Kochi Eng Camp
 

Dernier (8)

生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
2024年度 東京工業大学 工学院 機械系 大学院 修士課程 入試 説明会 資料
 
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
次世代機の製品コンセプトを描く ~未来の機械を創造してみよう~
 

パターン認識第9章 学習ベクトル量子化

  • 1. 学習ベクトルの量子化 東京大学 三好雄也 1
  • 3. 量子化とは  量子化(Quantization)  ある連続量を、データ量削減のために、最も近い不連続値(代表ベクト ル、セントロイド)に置き換える(近似、情報圧縮)すること。(精度は落 ちます。)  画像圧縮に用いられたりするようです。 3
  • 4. 学習ベクトルの量子化のイメージ 1  入力データを代表ベクトルによって分割近似するという点で はk-meansと目的を同じくする。  入力データに近い代表ベクトルによって判別を行う点ではk- 近傍法と関連がある。  何はともあれ、代表ベクトルをいかに配置するかが鍵 代表ベクトルによる 入力データとラベル 入力空間の分割 4
  • 5. 学習ベクトルの量子化のイメージ 2  入力データに近い代表ベクトルによって判別を行う点ではk- 近傍法と関連がある。 代表ベクトルによる 入力データとラベル 入力空間の分割 5
  • 6. 学習ベクトルの量子化の学習プロセス 代表データの初期値の決定プロセス 1. 学習データをk-近傍法によって判別 2. 判別の誤りのないデータからランダムで選ぶ 学習プロセス 1. 時刻tにおいて1つのデータ(テスト点)を選択 2. 代表ベクトルの更新  時刻tで選ばれたデータ (x(t),y(t))  x:特徴量、y:ラベル  時刻tにおける代表データ 𝑚1 (t)  代表データのラベル 𝑙 𝑖 (t), i=1,2,…k 6
  • 7. 学習アルゴリズム  学習アルゴリズムとしては以下のものがある 1. LVQ1 2. LVQ2.1 3. LVQ3 4. OLVQ1(Optimized-learning rate LVQ1) 7
  • 8. LVQ1 -1  テスト点(x(t),y(t))が入力される  テスト点から最も近い代表ベクトルを c とする c = 𝑎𝑟𝑔𝑚𝑖𝑛 𝑖 𝑥 − 𝑚 𝑖  このとき y(t)= 𝑙 𝑐 (t) → 𝑚 𝑐 (t+1) = 𝑚 𝑐 (t) + α(t)(x(t)- 𝑚 𝑐 (t)) y(t)≠ 𝑙 𝑐 (t) → 𝑚 𝑐 (t+1) = 𝑚 𝑐 (t)-α(t)(x(t)- 𝑚 𝑐 (t)) ただし、 0 < α(t) < 1 i≠c → 𝑚 𝑖 (t+1) = 𝑚 𝑖 (t) 8
  • 9. LVQ1 -2  y(t)= 𝑙 𝑐 (t) → 𝑚 𝑖 (t)をx(t)に近づける  y(t)≠ 𝑙 𝑐 (t) → 𝑚 𝑖 (t)をx(t)から遠ざける 9
  • 10. LVQ2.1 -1  LVQ1は1つの代表ベクトルしか更新しなかったが、2つの代表 ベクトルに対して更新を行うアルゴリズムがLVQ2.1 更新の対象  ラベルが違うがテスト点から最も近い代表ベクトル 𝑚 𝑖 (t)  ラベルが同じでテスト点から最も近い代表ベクトル 𝑚 𝑗 (t) 10
  • 11. LVQ2.1 -2 1−𝑤 𝑑𝑖 𝑑 𝑗  s = とし、min( , ) > s なら、以下の更新を行う 1+𝑤 𝑑 𝑗 𝑑𝑖 𝑚 𝑖 (t+1) = 𝑚 𝑖 (t)-α(t)(x(t)- 𝑚 𝑖 (t)) → 遠ざける 𝑚 𝑗 (t+1) = 𝑚 𝑗 (t) + α(t)(x(t)- 𝑚 𝑗 (t)) → 近づける 𝑑𝑗 1−𝑤 左図の場合、 >s= となる 𝑑𝑗 𝑑𝑖 1+𝑤 𝑑𝑖 𝑑𝑖 𝑑𝑗 𝑚𝑗 𝑚𝑖 min( , )≦1であり、 𝑑 𝑗 と𝑑 𝑗 が近 𝑑𝑗 𝑑𝑖 いほど、更新が行われやすくなる。 11
  • 12. LVQ3  LVQ1とLVQ2.1を融合したようなもの  テスト点から近い2つ代表ベクトルを順に𝑚 𝑖 (t), 𝑚 𝑗 (t)とし、以 下のどちらかの条件を満たした場合に更新を行う。 1. li (t) , lj (t)がともにy(t)と同じ 𝑚ℎ (t+1)= 𝑚ℎ (t)+εα(t)(x(t)-𝑚ℎ (t)) ,h=i,j →近づける 2. li (t)≠y(t), lj (t)=y(t)、かつLVQ2.1と同じ条件(テスト点が窓 に入る)の場合 𝑚 𝑖 (t+1) = 𝑚 𝑖 (t)-α(t)(x(t)- 𝑚 𝑖 (t)) → 遠ざける 𝑚 𝑗 (t+1) = 𝑚 𝑗 (t) + α(t)(x(t)- 𝑚 𝑗 (t)) → 近づける 12
  • 13. OLVQ1 -1  LVQ1における α(t) の最適化 → 学習の収束特性の改善  y(t)とli (t)との関係を示す変数を導入する +1, i=c かつ y(t) = li (t) 𝑠i (t) = -1, i=c かつ y(t) ≠ li (t) 0, i ≠ c y(t)= 𝑙 𝑐 (t) → 𝑚 𝑐 (t+1) = 𝑚 𝑐 (t) + α(t)(x(t)- 𝑚 𝑐 (t)) y(t)≠ 𝑙 𝑐 (t) → 𝑚 𝑐 (t+1) = 𝑚 𝑐 (t)-α(t)(x(t)- 𝑚 𝑐 (t)) i ≠ c → 𝑚 𝑖 (t+1) = 𝑚 𝑖 (t) ⇔ mi (t+1) = mi (t) + 𝑠i (t)αi (t)(x(t)- 𝑚 𝑖 (t)) 13
  • 14. OLVQ1 -2 mi (t+1) = mi (t) + 𝑠i (t)αi (t)(x(t)- 𝑚 𝑖 (t)) = (1-𝑠i (t)αi (t)) 𝑚 𝑖 (t) + 𝑠i (t)αi (t)x(t) さらに展開していくと、 mi (t+1) = (1-𝑠i (t)αi (t))(1-𝑠 𝑖 (t-1)αi (t-1))𝑚 𝑖 (t) + (1-𝑠i (t)αi (t))𝑠 𝑖 (t-1)αi (t-1)x(t-1) + 𝑠i (t)αi (t) x(t) 𝑠i (t)𝑠i (t-1)=0のとき、 x(t-1) と x(t) の係数の絶対値が等し いとし、さらに、 𝑠i =1, 0< α <1 を考慮すると、最終的に αi(𝑡−1) αi (𝑡) = 1+si (𝑡)αi (𝑡−1) 14
  • 15. 問題点 1. 初期値依存 2. 学習データによる学習の順番にも結果が依存する 15
  • 16. 学習ベクトル -入力データ in R library(class) ; library(mlbench) dim <- 2 # 入力空間の次元 ; n <- 300 # 学習データ数 smpl <- mlbench.corners(n, d=dim, sd=0.25) x <- smpl$x ; y <- smpl$classes size <- 8 # 代表ベクトルの数 ; k <- 1 # 初期化 cd <- lvqinit(x,y, size=size, k=k) ; cd3 <- lvq3(x,y,cd) # 学習前後の判別境界 gsize <- 100 # グリッドのサイズ x1 <- seq(min(x[,1]), max(x[,1]), length=gsize) x2 <- seq(min(x[,2]), max(x[,2]), length=gsize) xtest <- as.matrix(expand.grid(x1,x2)) yest <- lvqtest(cd, xtest) yest3 <- lvqtest(cd3, xtest) cntr <- matrix(match(yest, levels(factor(yest))), gsize, gsize) cntr3 <- matrix(match(yest3, levels(factor(yest3))), gsize, gsize) plot(x, col=y, pch=20+as.numeric(y), xlab="x1", ylab="x2", main="Initial Codebook") # 代表ベクトル points(cd3$x, col=cd3$cl, bg=cd$cl, pch=20+as.numeric(cd$cl),cex=2) 16
  • 17. 学習ベクトル -学習前と学習後 # 学習前の境界を表示 # 学習後 for(i in 1:max(cntr)) contour(x1, x2, cntr==i, plot(x, col=y, pch=20+as.numeric(y), xlab="x1", levels=0.5, lwd=2, lty=1, drawlabels=F, add=TRUE) ylab="x2", main="LVQ3") points(cd3$x, col=cd3$cl, bg=cd$cl, pch=20+as.numeric(cd$cl),cex=2) for(i in 1:max(cntr3))contour(x1,x2,cntr==i,levels=0.5,l 17 wd=2,lty=1, drawlabels=F, add=TRUE)