SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
学習ベクトルの量子化

        東京大学 三好雄也



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)

Weitere ähnliche Inhalte

Was ist angesagt?

変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
Takao Yamanaka
 
PRML上巻勉強会 at 東京大学 資料 第1章前半
PRML上巻勉強会 at 東京大学 資料 第1章前半PRML上巻勉強会 at 東京大学 資料 第1章前半
PRML上巻勉強会 at 東京大学 資料 第1章前半
Ohsawa Goodfellow
 

Was ist angesagt? (20)

ブースティング入門
ブースティング入門ブースティング入門
ブースティング入門
 
異常検知と変化検知 9章 部分空間法による変化点検知
異常検知と変化検知 9章 部分空間法による変化点検知異常検知と変化検知 9章 部分空間法による変化点検知
異常検知と変化検知 9章 部分空間法による変化点検知
 
深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習深層生成モデルを用いたマルチモーダル学習
深層生成モデルを用いたマルチモーダル学習
 
Variational AutoEncoder
Variational AutoEncoderVariational AutoEncoder
Variational AutoEncoder
 
計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
 
画像生成・生成モデル メタサーベイ
画像生成・生成モデル メタサーベイ画像生成・生成モデル メタサーベイ
画像生成・生成モデル メタサーベイ
 
マルチモーダル深層学習の研究動向
マルチモーダル深層学習の研究動向マルチモーダル深層学習の研究動向
マルチモーダル深層学習の研究動向
 
PRML上巻勉強会 at 東京大学 資料 第1章前半
PRML上巻勉強会 at 東京大学 資料 第1章前半PRML上巻勉強会 at 東京大学 資料 第1章前半
PRML上巻勉強会 at 東京大学 資料 第1章前半
 
距離とクラスタリング
距離とクラスタリング距離とクラスタリング
距離とクラスタリング
 
関西CVPRML勉強会2018 岡本大和 Unsupervised Feature Learning Via Non-Parametric Instanc...
関西CVPRML勉強会2018 岡本大和 Unsupervised Feature Learning Via Non-Parametric Instanc...関西CVPRML勉強会2018 岡本大和 Unsupervised Feature Learning Via Non-Parametric Instanc...
関西CVPRML勉強会2018 岡本大和 Unsupervised Feature Learning Via Non-Parametric Instanc...
 
画像処理基礎
画像処理基礎画像処理基礎
画像処理基礎
 
[DL輪読会]Deep Learning 第2章 線形代数
[DL輪読会]Deep Learning 第2章 線形代数[DL輪読会]Deep Learning 第2章 線形代数
[DL輪読会]Deep Learning 第2章 線形代数
 
[DL輪読会]Neural Ordinary Differential Equations
[DL輪読会]Neural Ordinary Differential Equations[DL輪読会]Neural Ordinary Differential Equations
[DL輪読会]Neural Ordinary Differential Equations
 
GAN(と強化学習との関係)
GAN(と強化学習との関係)GAN(と強化学習との関係)
GAN(と強化学習との関係)
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
 
「統計的学習理論」第1章
「統計的学習理論」第1章「統計的学習理論」第1章
「統計的学習理論」第1章
 
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
【DL輪読会】The Forward-Forward Algorithm: Some Preliminary
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方
 
強化学習における好奇心
強化学習における好奇心強化学習における好奇心
強化学習における好奇心
 

Andere mochten auch

パターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvqパターン認識 08 09 k-近傍法 lvq
パターン認識 08 09 k-近傍法 lvq
sleipnir002
 
パターン認識 第10章 決定木
パターン認識 第10章 決定木 パターン認識 第10章 決定木
パターン認識 第10章 決定木
Miyoshi Yuya
 
パターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズムパターン認識 第12章 正則化とパス追跡アルゴリズム
パターン認識 第12章 正則化とパス追跡アルゴリズム
Miyoshi Yuya
 
ベイズ統計入門
ベイズ統計入門ベイズ統計入門
ベイズ統計入門
Miyoshi Yuya
 
はじめてのパターン認識 第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
 

Andere mochten auch (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) とハッシング周り
 
はじめてのパターン認識 第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
 
ウェーブレット変換の基礎と応用事例:連続ウェーブレット変換を中心に
ウェーブレット変換の基礎と応用事例:連続ウェーブレット変換を中心にウェーブレット変換の基礎と応用事例:連続ウェーブレット変換を中心に
ウェーブレット変換の基礎と応用事例:連続ウェーブレット変換を中心に
 

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

070 統計的推測 母集団と推定
070 統計的推測 母集団と推定070 統計的推測 母集団と推定
070 統計的推測 母集団と推定
t2tarumi
 

Ähnlich wie パターン認識第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
 

Kürzlich hochgeladen

Kürzlich hochgeladen (6)

ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
世界を変えるクレーンを生み出そう! 高知エンジニアリングキャンプ2024プログラム
 
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
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)