独居見守り用one-class SVMの論文を読む

ランニングできず 英語できず

(1) 独居見守り用one-class SVMの論文を読む

「One-Class SVM を用いた高齢者異常検出モニタリングシステム」

 https://www.msi.co.jp/userconf/2013/pdf/muc13_CR12_1.pdf

  オープンポーズを利用したヘルスケア用システムとして独居老人の異常検知One-Class SVMの論文を読みました。そこでこの論文中の(1)~(2)式の説明をしたいと思います。

 下図の様に超平面で分布を分離し、各々の集団をSVMで引き離せば明確になります。

この図の場合は少し広いですが裾野が異常先となります。

f:id:mabonki0725:20171006210957p:plain

 

 上図を翻って考え、逆に分布をある関数で高次元の非線形関数で写像し、切断面は線形でもよい事になります。one-class SVMの定式化はこのアイデアで出来ています。 

       f:id:mabonki0725:20171006213737p:plain

     PRMLの(7.22)に示す様に重なり合う(ソフトマージン)を使うと拘束条件付の最適化問題になります。

    \min_{w,\rho,\xi} \ \ \frac{1}{2} {||w||}^2 - \rho + \frac{1}{\nu} \frac{1}{N} \sum_{i=1}^N \xi_i ①式

         s.t. \ \ \ \lt w.\phi(x) \gt  \le \rho - \xi_i  

        ここで

   wは最適化対象の重みで分離を最大にします

            \rhoは線形切断面

            \phi(x)カーネルで高次元で写像する関数です

            \lt w.\phi(x) \gt = \sum_{i=1}^N w_i \cdot \phi(x_i)

 ①式はラグランジュ関数問題を適用できるので、各々を微分して解を求めます。

         \mathcal{L}(w,\rho,\xi) = \frac{1}{2} {||w||}^2 - \rho + \frac{1}{\nu} \frac{1}{N} \sum_{i=1}^N \xi_i 

             - \sum_{i=1}^N \alpha_i \{\lt w,\phi(x_i) \gt - \rho + \xi_i \} - \sum_{i=1}^N \gamma_i \xi_i ②式

 ②式を各々で微分すると

        \frac{\partial \mathcal{L}} {\partial w} = w - \sum_{i=1}^N \alpha_i \phi(x_i) = 0 \ \to \ w=\sum_{i=1}^N \alpha_i\phi(x)    ③式

        \frac{\partial \mathcal{L}}{\partial \rho} = -1 + \sum_{i=1}^N \alpha_i=0 \  \to \ \sum_{i=1}^N \alpha_i = 1

  \frac{\partial \mathcal{L}}{\partial \xi_i} = \frac{1}{\nu N} - \alpha_i - \gamma_i=0

                   \to \  0 \ge \alpha_i \ge \frac{1}{\nu N} \ \ (i=1,2,\dots,N)

   ③式を使ってカーネルトリックを使うと

   \frac{1}{2} {||w||}^2 = -\frac{1}{2} \{\sum_{i=1}^N \alpha_i\phi(x_i)\} \cdot \{\sum_{i=1}^N \alpha_i\phi(x_i)\} = -\frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j k(x_i,x_j)

 

 よって①式微分より最適な\rho\xi_iが求まったので、

    ①のSVMは次の決定できてない\alpha2次計画法問題を解くモデルとなります。

  max_{\alpha} = -\frac{1}{2} \sum_{i=1}^N \sum_{j=1}^N \alpha_i \alpha_j k(x_i,x_j)

        s.t. \ \ \ \sum_{i=1}^N \alpha_i =1

                       0 \ge \alpha_i \ge \frac{1}{\nu N} \ \ (i=1,2,\dots,N)       ④式

 またKKT条件より次が成り立ちます(残念ですが導出できませんでした)

  \alpha_i^* \{ \lt w,\phi(x) \gt - \rho + \xi_i \} = 0

        \left(\frac{1}{\nu N} - \alpha_i^* \right) \xi_i = 0

        但し \alpha_i^*は④式の最適解です

 

   この様な条件を満たすには次が成り立ちます。

   \lt w,\phi(x) \gt - \rho = 0

   よって 超平面境界を適当にx_Bの点に置くと次が求められます。

  \rho = \lt w,\phi(x_B) \gt = \sum_{i=1}^N \alpha_i^* k(x_B,x_i)

 x_Bの点での境界の内外の区分関数f(x)は次の簡単な式となります。

       f(x) = sign\left(\sum_{i=1}^N \alpha_i^* k(x,x_i) - \sum_{i=1}^N \alpha_i^* k(x_B,x_i)\right) ⑤式

 

 実際に⑤式をC言語で計算した結果が下図となります。

 ④式の最適化問題は有効制約法による2次計画法を使いました。

  「2値判別問題における有効制約法」山下寛隆

 上の図の赤点はカーネルで3次元に写像した図で、切断面は線形です。この様にカーネルを使うと分離問題は旨く行くことがわかります。

f:id:mabonki0725:20171006224537p:plain