学习模型
1.前言
本欄目所涉及的各種機(jī)器學(xué)習(xí)算法大多著重于如何使特定函數(shù)與數(shù)據(jù)集相似。所以在最開(kāi)始的時(shí)候,我先對(duì)各種近似模型進(jìn)行介紹。
2.線性模型
最簡(jiǎn)單的線性模型是Θ*x。Θ表示模型的參數(shù),標(biāo)量,通過(guò)對(duì)這個(gè)參數(shù)進(jìn)行學(xué)習(xí),完成函數(shù)的近似計(jì)算。這個(gè)模型對(duì)于參數(shù)Θ而言是線性的,過(guò)于簡(jiǎn)單,實(shí)際中沒(méi)有太大應(yīng)用價(jià)值。
實(shí)際應(yīng)用中,經(jīng)常會(huì)對(duì)上面的線性模型進(jìn)行相應(yīng)的拓展,使其變成基于參數(shù)的線性模型,這樣就可以使線性模型也能用于表示非線性的輸入輸出了。
在上式中,(xj)是基函數(shù)向量(X)=((x1),(x2),(x3),...,(xb))T的第j個(gè)因子,Θj是參數(shù)向量Θ?=(Θ1,Θ2,Θ3,...,Θb)的第j個(gè)因子。b是指基函數(shù)的個(gè)數(shù)。
我們可以發(fā)現(xiàn),雖然上式依然是基于參數(shù)向量Θ的線性模式,但是,如果把基函數(shù)變成多項(xiàng)式的形式
(X)= (1,(x),(x^2),(x^3),...,(x^b-1))或者變成2m+1的三角多項(xiàng)式形式(X)=(1,sinx,cosx,sin2x,cos2x,...,sinmx,cosmx)。這種線性模型就可以表示非常復(fù)雜的非線性模型了。
3.核模型
在線性模型中,無(wú)論是多項(xiàng)式還是三角多項(xiàng)式,基函數(shù)與訓(xùn)練樣本{(xi,yi)}i=1->n是毫不相關(guān)的。而核模型則會(huì)在基函數(shù)的設(shè)計(jì)時(shí)使用到輸入樣本{xi}i=1->n。
核模型,是以使用被稱為核函數(shù)的二元函數(shù)K(·),以K(x,xj)j=1->n的線性結(jié)合方式家已定義的:
在眾多核函數(shù)中,以高斯核函數(shù)的使用最為廣泛:
在高斯核函數(shù)中,對(duì)各個(gè)輸入樣本{xi}i=1->n進(jìn)行高斯核配置,并把其高度{Θi}i=1->n作為參數(shù)進(jìn)行學(xué)習(xí),具體如下圖所示:
一維的高斯核模型
二維的高斯核模型
因此,在高斯模型中,一般只能在訓(xùn)練集的輸入樣本附近對(duì)函數(shù)進(jìn)行近似。與對(duì)輸入空間的全體函數(shù)進(jìn)行近似的乘法模型不同,在高斯模型中,因?yàn)?span style="color:#ff0000">只能在訓(xùn)練集的輸入樣本附近進(jìn)行近似,所以從某種程度上來(lái)說(shuō)也減輕了維數(shù)災(zāi)難的影響。實(shí)際上,在和模型里,參數(shù)的個(gè)數(shù)不依賴于輸入變量x得維數(shù)d,只有訓(xùn)練樣本n決定。因此,及時(shí)輸入維數(shù)d相當(dāng)大,只要訓(xùn)練樣本數(shù)n不是太大,也會(huì)在普通計(jì)算機(jī)的處理范圍之內(nèi)。而即使訓(xùn)練樣本數(shù)n也很大,我們可以采用“批平均”作為核均值來(lái)進(jìn)行計(jì)算。
核模型的另一個(gè)特征是,當(dāng)輸入樣本x不滿足向量的時(shí)候,也能夠很容易地實(shí)現(xiàn)拓展。目前已經(jīng)有人提出輸入樣本x是字符串、決策樹(shù)或圖表等的函數(shù)。使用這種核函數(shù)進(jìn)行機(jī)器學(xué)習(xí)算法,稱為核映射方法。
4.層級(jí)模型
與參數(shù)相關(guān)的非線性模型稱為非線性模型。如下所示:
上式中,(x;β)是含有參數(shù)向量β得基函數(shù)。與前面的基于參數(shù)的線性模型相似,層級(jí)模型是基于參數(shù)向量α=(α1,,2,,3,...,αb)的線性形式。但是因?yàn)閷蛹?jí)模型的基函數(shù)里也包含參數(shù)向量β,所以層級(jí)模型又是基于參數(shù)向量Θ=(α,β)的線性形式。
基函數(shù)通常使用S型函數(shù):
或者高斯函數(shù):
S型函數(shù)模仿的是人類腦細(xì)胞的輸入輸出函數(shù),因此使用S型函數(shù)的層級(jí)模型也成為人工神經(jīng)網(wǎng)絡(luò)模型。需要注意的是這里用到的高斯函數(shù)!在核函數(shù)中帶寬和均值都是固定的,而在層級(jí)模型中,會(huì)對(duì)帶寬和均值進(jìn)行學(xué)習(xí)。因此,我們一般認(rèn)為層級(jí)模型能夠比核模型更加靈活的對(duì)函數(shù)進(jìn)行近似。
S型函數(shù)
最簡(jiǎn)單的層級(jí)模型就是三層神經(jīng)網(wǎng)絡(luò)的形式:
然而,在層級(jí)模型中,參數(shù)Θ與函數(shù)fΘ并不是一一對(duì)應(yīng)的。例如,在b=2的人工神經(jīng)網(wǎng)絡(luò)模型中:
當(dāng)上式的w1=w2=w,且r1=r2=r時(shí),如果α1+α2是定值的話,就都會(huì)變成同一個(gè)函數(shù):
正是因?yàn)橛羞@樣的特性,人工神經(jīng)網(wǎng)絡(luò)模型也以學(xué)習(xí)過(guò)程異常艱難而著稱。
總結(jié)
- 上一篇: 对抗样本与生成式对抗网络
- 下一篇: 『飞秋』测试驱动开发TDD系列(二)