关于Kernel的思考
學習播客_KLDA(推導得很通俗,下面的推導就是源于此篇博客)
第一部分:按照自己的理解,模仿抄!學習播客來完成一下KLDA的推導。
第二部分:對于Kernel的思考
KLDA:顧名思義,就是把Kernel運用到了LDA上,下面直接推導公式。(原始空間數據$x$,映射之后數據$\phi(x)$)
(1)$J(w) = \frac{w^TS_bw}{s^TS_ww}$ ( we will calculate the $w$ to maximum this formula, and then we finished LDA )
(2)$S_b = (\mu_1-\mu_2)(\mu_1-\mu_2)^T$
(3)$S_w = \sum\limits_{i=1}^{2} \sum\limits_{j=1}^{n_i}x_{ij}$ ( $x_{ij}$ means $x$$\in$$X_i$, and it's the jth element )
(4)$\mu_i = \frac{1}{n} \sum\limits_{i=1}^{n} x_i$
(5)$w=\sum\limits_{i=1}^{n} \alpha\phi(x_i)$
Kernel:$K(x,x_i) = (\phi(x)·\phi(x_i))$ ( which has a specific formula )
問題出現了,我們需要的是最大化(1)來完成LDA,那么就涉及到$w$的計算,而在線性的LDA中,我們已經得出了$w$的結果,即:$S_w^{-1}S_b$。現在,我們希望通過核函數來解決,將線性不可分(可以非線性可分)的低維數據,映射到高維空間從而實現線性可分。那么核函數有什么用?我們觀察一下核函數:
Kernel:$K(x,x_i) = (\phi(x)·\phi(x_i))$,這個式子的本質不就是計算$\phi(x)$·$\phi(x_i)$么?那么只要求出映射變化$\phi$,就可以輕松解決這個問題。緊接著出現了新的問題,如何求出$\phi$?答案是——很難,或者說沒有價值。因為我們是將低維的數據升維,而很多數據的維度本來就遠遠高于3維,然后再生個維,$\phi$的維度可以說是非常的高,計算將會耗費大量的時間,而我們回顧我們定義的核函數,我們發現它是顯示的,你套用哪個,公式就是哪個,而$\phi$是隱式的。那我們是不是可以通過避開求解$\phi$,而只求$K(x,x_i)$的值,來做同樣的事情?答案是肯定的。
那么,如何求解?我們知道$K(x,x_i)$求的是內積,觀察(1)至(5),想要湊出形如$x·x_i$的項,只有結合(4)(5)了,結合之后:
$$w^T\mu = \sum\limits_{i=1}^{n} \alpha\phi(x_i) * \frac{1}{n} \sum\limits_{i=1}^{n} x_i = \alpha^TM_i$$ ( where $M=K(x,x_i)$, means $M_i$ is a matrix which has the elements of caculation after K )
接下來呢?看看我們的目標)$J(w) = \frac{w^TS_bw}{s^TS_ww}$,再觀察$\mu_i = \frac{1}{n} \sum\limits_{i=1}^{n} x_i$,是不是乘進去就有了我們上一步得到的$w^T\mu$?那我們的目標,就可以進一步表示成:分子/分母!
分子部分:$w^TS_bw$ -> $\alpha^TM\alpha$,為什么就剩下一個$\alpha$?因為兩個隱式映射$\phi$被我們揉進了核函數K,這里的M和上面的M意思相同。
分母部分:分母就是暴力乘進去,乘開在這里僅看其中一個類
$$ w^T \sum\limits_{i=1}^{n} \phi(x_i)-\mu w $$ $\Longrightarrow$
$$\sum\limits_{i=1}^{n} (w^T\phi(x_i)w-w^T \mu w)$$ $\Longrightarrow$
$$\sum\limits_{i=1}^{n} w^T\phi(x_i)w-w^T \frac{1}{n} \sum\limits_{i=1}^{n} \phi(x_i) w$$ ( where $w = \sum\limits_{i=1}^{n} \alpha\phi(x_i)$)
然后剩下的就可以用核函數的形式表示了,以便看得較為簡潔(同理,揉進去),分母即為:$\alpha^TN\alpha$,這里的N就是把除了$\alpha$的部分做一個變量代換,保持美觀整潔。
此時,我們發現,映射變化$\phi$,早就不出現在式子中了,取而代之的是有著明確公式的核函數K(M,N中都含有K),這就是為何說求$\phi$其實沒有價值的原因,因為它難算還會被替代,如果好算肯定就算它了。那么我們的目標呢?
$$J(w)=\frac{w^TS_bw}{w^TS_ww}$$ $\Longrightarrow$
$$J(\alpha)=\frac{\alpha^T M \alpha}{\alpha^T N \alpha}$$ ( the answer $\alpha=$ the eig_vector of $N^{-1}M$ who has the maximum eig_value )
關于核函數的思考:核函數,我更喜歡它的另一個名字:核技巧,感覺這個更像核做的事情。因為函數的映射其實不是核做的,是隱式的$\phi$做的,而又因為$\phi$的維數可以巨高,導致我們沒有辦法或者不值得去計算它,從而我們考慮將目標求值變形,構造出$(\phi(x)·\phi(x_i))$項,進而運用核技巧完成操作。現在疑惑在于,核技巧之多,如何選擇?將在思考后補上。
轉載于:https://www.cnblogs.com/FormerAutumn/p/10946840.html
總結
以上是生活随笔為你收集整理的关于Kernel的思考的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简历避免采坑总结——为什么你的简历杳无音
- 下一篇: HGOI20190707 题解