スキップしてメイン コンテンツに移動

Theorem of SVM part 1

Introduction  

I will explain theorem of SVM.
Please look at my implementation of SVM.
Implement linear SVM
Implement kernel SVM
Today, I will explain about SVM until deriving the objective function.


Overview  
  • Generalized linear model  
  • Explain SVM
  • hard margin  
  • soft margin  



Generalized linear model  

SVM is used generalized linear model. Generalized linear model is following function
$$f(x) = w^T\phi(x) + b$$
b is called bias.
$$0 = w^T\phi(x) + b$$is hyper plane. This hyper plane separate two class of $\phi(x)$.
hyper plance is n-dimensional plane. if n = 1, hyper plane is line. if n = 2, hyper plane is normal plane.
$\phi(x)$ have effect of converting x to data which can be separated by a line.
image of $\phi(x)$ is



the left image has nonlinear data.
right image has linear data.
$\phi(x)$ convert from left image to right image.
I will handle $w^T \phi(x) + b$ as line in feature space.

Next, I will explain the object of SVM

Explain SVM
    the label is 1 or -1 in SVM. Let label is y $\in \{1,-1\}$. Let dataset is X.
    We want to make decisions function which $\forall x \in X$

    $$f(x_i) > 0 \implies y_i = 1 $$
    $$f(x_i) < 0 \implies y_i = -1$$

    Let f(x) is $w^T \phi(x) + b$, I will optimize w and b of parametor.
    However, optimization needs a standard of a good boundary. Its standard is magin. Next, I will explain hard margin.

    Hard margin
      SVM decide a boundary line by a value called margin.
      What is margin? I will explain.

      pick up data which exist nearest from $w^T \phi(x) +b = 0$. Margin is the distance between the data and $w^T \phi(x) +b = 0$.
      Look at following image of margin in 2-dimensional.



      this distance of green line is margin. SVM decide $w^T \phi(x) + b= 0$ to depend on only data which exist nearest from $w^T \phi(x) + b = 0$. This data called sopport vector.

      We decide w and b of the parameter by a maximum margin.

      Let dataset is X, $\forall x_i \in X$, distance between x and $w^T \phi(x) + b = 0$ is
      $$\frac{|w^T \phi(x_i) + b|}{||W||}$$

      Now, Assume linear hyperplane is enabled to complicately classify.


      this image is data which complicately separated hyperplane.

      this image is else data.

      Thus,
      $$f(x_i) > 0 \implies y_i = 1 $$
      $$f(x_i) < 0 \implies y_i = -1$$
      is complitely practical.

      Therefore,
      $$\forall i \in N,~~~~~~~y_i(w^T \phi(x_i) + b) > 0$$

      Therefore
      $$\frac{|w^T \phi(x_i) + b|}{||W||} = \frac{y(w^T \phi(x_i) + b)}{||W||}$$
      Next, Let $i_0$ as follow.

      $$\forall i_0 \in \arg_{n \in N} \min_{x \in X} \frac{|w^T \phi(x_n) + b|}{||W||}$$,
      Let M is
      $$M = y_{i_0}(w^T \phi(x_{i_0}) + b)$$
      Because $\forall i \in N,~y_i(w^T \phi(x_i) + b) > 0$, $M > 0$ is practical.

      M is value of distance between $w^T \phi(x) + b = 0$ and data which exist nearest $w^T \phi(x) + b = 0$

      The objective function in SVM is expressed as follow.

      $$\max_{w,b,M} \frac{M}{||W||}$$ $$~~s.t~~ \forall i \in N ~, y_i(w^T \phi(x_i) + b) \geq M$$

      Here, when $w^{\star}  = \frac{w}{M}, b^{\star}  = \frac{b}{M}$, the objective function is expressed as follow.
      $$\max_{w^{\star},b^{\star}} \frac{1}{||W^{\star}||}$$
      $$~~s.t~~ \forall i \in N, y_i (w^{\star} \phi(x_i) + b^{\star}) \geq 1$$

      I convert this from. because $||W^{\star}|| > 0$,
      $$\max_{w^{\star},b^{\star}} \frac{1}{||W^{\star}||}$$
      $$\iff \min_{w^{\star},b^{\star}}  ||W^{\star}||$$
      $$\iff \min_{w^{\star},b^{\star}}  ||W^{\star}||^2$$

      therefore, the objectice function in SVM is
      $$\min_{w,b}  ||W||^2$$
      $$~~s.t~~ \forall i \in N, y_i (w^T \phi(x_i) + b) \geq 1$$

      I define $W^{\star} = W, b^{\star} = b$ again.

      We assume data is completely separated by a hyperplane. This method is called hard margin.

      However this assumption is strict in the real world, so the soft margin is invented.
      Next, I will explain soft margin.

      Soft margin
        I introduce $\epsilon_i \geq 0$ the objective function.

        I loosen $\forall i \in N, y_i (w^T \phi(x_i) + b) \geq 1$. This condition is rewrited as follow.

        $$ \forall i \in N, y_i (w^T \phi(x_i) + b) \geq 1 - \epsilon_i$$

        if $x_i$ is beyond $w^T \phi(x) + b = 0$, $\epsilon_i > 0$ is practical.

        $x_5$ and $x_8$ and $x_9$ is beyond $w^T \phi(x) + b = 0$.
        This distance of black line is $\epsilon_i$

        I rewrite the objective function.
        $$\min_{w,b}  \frac{1}{2}||W||^2 + C\sum_{i \in N} \epsilon_i$$
        $$~~s.t~~ \forall i \in N, y_i (w^T \phi(x_i) + b) \geq 1 - \epsilon_i ,~~~~\epsilon \geq 0 , \forall i \in N$$

        C is called regulation parameter.
        This parameter is a hyperparameter, so We decide before computing SVM algorithm.
        C has the role which adjusts degree of suppression of misclassification.
        The smaller C is, The smaller effect of $\sum_{i \in N}\epsilon_i$ is. Thus, it is easy to accept misclassification. On the other hand, the bigger C is, The bigger effect of $\sum_{i \in N}\epsilon_i$ is.
        When $C = \infty$, It become hard margin.

        Reference
          https://www.amazon.co.jp/%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB%E3%83%9E%E3%82%B7%E3%83%B3-%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92%E3%83%97%E3%83%AD%E3%83%95%E3%82%A7%E3%83%83%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E7%AB%B9%E5%86%85-%E4%B8%80%E9%83%8E/dp/4061529064

          コメント

          このブログの人気の投稿

          最尤推定

          Introduction English ver 今日は最尤推定について加工と思います。これは統計的推定でよく使われる手法です。最尤推定の例も書こうと思います。初めに尤度の説明をし、そのあとで最尤推定の説明をします。 概要 尤度 最尤推定 最尤推定の問題点 尤度 前提条件から得られる観察データを考えます。この時、えられた観測データに対して前提条件が尤もらしい条件であるかの値を尤度といいます。 なにをゆっているのかわからない人がほとんどだと思います。。。 尤度の例を扱っていきます。 コインを投げることを考えます。このコインは確率Pで表、確率1-Pで裏を出すコインだとします。 例えば、100回コインを投げたとき、全て表だったとします。この時このコインが表が出る確率はかなり1に近いことが予想されます。 ではもし、表が出る確率PがP=0.5だとします。この時、表が100回連続で出る確率は$0.5^{100} = 7.88860e-31$になります。あり得ない確率ですね。これがP=0.5としたときのもっともらしさです。つまり、あまり現実的ではないということです。 もしP=0.99とするとき、100回とも表が出る確率は$0.99^{100} = 0.3666....$となります。つまり、P=0.99としたときの尤度は0.36くらいということです。よって、P=0.5よりかは現実見があることになります。まだまだ低い数字ではありますが。 観測データである、100回表が出るという事象を固定したとき、尤度はPを変数としたP(100回表|P)を尤度関数と呼びます。この関数の値を尤度と呼びます。 尤度が高いほうが尤もらしい値、つまり理にかなっているなと感じることができる値ということになります。 例えば、先ほどの例でゆうと、 P=0.5としたときの尤度は7.88860e-31でした。P=0.99としたときの尤度は0.3666でした。よってP=0.5より、P=0.99のほうが尤もらしい自然な値ということになります。 最尤推定 最尤推定とは得られた観測データからデータが依存している分布のパラメーターを推測するための手法です。 最尤推定では尤度を最大化して、最も尤もらしいパラメーターを求めます。 確率密度関数...

          Implementation of Robbins monro

          Robbins monro の実装 sorry, this page is Japanese only.   今回はRobbins monro の実装をしてみました。 Robbins monroは確率勾配降下法の学習率を入りテーション回数の逆数で割っていくものです。 使っているprogram言語はpython 3です。osはwindowsです。(macほしい...) アルゴリズム 確率勾配降下方とは目的関数の最適解を求めるアルゴリズムです。目的関数をf(X)とすると、手順は以下のようになっています。 初期学習率$n_0$を決めます。訓練データDを用意します。この訓練データは複数の初期値の集まりです。 訓練データから一つ初期値をランダムに取り出し、これを$x_0$とし、最初の予測値とします。 次の式に現在の予測値$x_0$を代入し、新たな予測値$x_{n+1}$を得ます。$$x_{n+1} = x_{n} - \frac{n_0}{n} grad f(X_n)$$ 収束して入れば4へ、収束していなければ2で得られた値$x{n+1}$を新たに$x_n$としてもう一度2を行う。 訓練データを一周していなければ2へ、一周していれば各初期値から得られた解の中から目的関数を最も小さくするものを選ぶ。   実装例 以下の目的関数を最小化させてみましょう。 $$f(x,y) = (x-2)^2 + (y-3)^2 $$ コマンドラインでpythonを実行していきます。 予想通り、(2,3)という解を導き出してくれました。目的関数が簡単だったので、初期値をどの値でとってもばっちり正解にたどり着いてくれました。 CODE 以下にRobbins monroの関数だけ置いておきます。 こちら にすべてのコードを載せています。 def Robbins_monro(function,grad,number_variable_gradient): init_learning_rate = 1.5 stepsize = 1000 init_value = np.array([range(-1000,1020,20) for i in range(number_v...

          heap structure

          Introduction 日本語 ver Today, I will write about heap structure. The heap structure is one of the data structure. My reason of studying heap structure is that I joined seminar of Ritsumeikan Univ. I used this  slide  in seminar of Ritsumeikan Univ. Overview data structure binary tree heap Implementation heap sort Data structure I will explain about data structure before explaining about heap. Data structure is how to keep data. Data structure is selected on the basis of operation which you want to.  Heap belong to data structure called priority queue. priority queue have purpose which  add data pick up minimum data (and remove)  Binary Tree Let, E and V are sets. The element $e \in E$ is called edge. The element $v \in V$ is called node. g:E->V×V is map to V × V from E. (E,V,g) is called graph. For example, The arrows are edge. The circles are node. This is expressed map. It is possible to go to node 3 from 1....