iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 2
1
自我挑戰組

類神經網路搭配啟發式演算法於時間序列之應用系列 第 2

DAY01 - 輻狀基底函數

很高興見到大家,因為看到朋友的分享所以在最後一刻報名了鐵人賽,今天要來分享的是輻狀基底函數類神經網路,在類神經網路世界中蠻常使用縮寫來表示各種模型,所以後面我會以 RBF 代替輻狀基底函數(Radial Basis Function)並以 RBFNN 代替輻狀基底函數類神經網路(RBF Neural Network)你有時候也會看到其他縮寫,例如 RBFN 或是其他稱呼,例如輻狀基底函數(RBF)被稱作徑向基函數。

本文中提及之任何現實有關之人事物皆為虛構,純屬巧合。


輻狀基底函數 RBF

首先很重要的事情就是不要被嚇到了,我知道很多新朋友會怕生澀的數學名詞,我會盡量用簡單的方式說明,讓大家容易上手,當作看國家地理頻道一樣。我們現在手上有一組中華航空(華航)的每十二個月累計營業收入資料:

1991-2016 華航近十二個月累計營業收入

假如我是一個記者,我無意中得知了在過去不知道什麼時間點,中華航空的老闆有透露「營收千億後要做一件事」這個訊息,因此只要營收越接近一千億元,這個訊息中描述的那件事隨後發生的機率就越高,那我們怎麼衡量這個訊息呢?

很簡單,我們只要算【營收數字減一千億的絕對值】,如果營收越接近一千億,這個值就會越小,至少捕捉到營收越接近一千億這件事情。為了方便起見,我們把它做一個倒數,這樣子當營收越接近一千億,這個值會越大,和訊息含量成正比。

訊息含量示意圖

好,我們現在如果把【營收數字減一千億的絕對值的倒數】看成一個函數,這個函數呢,他需要有一個資訊中心點,例如像我們前面提到的營收一千億這個點,然後隨著代入的數字越接近一千億而越高,越遠離一千億而越低,在二維平面上展現就像是一個單峰曲線,而這就是所謂的 輻狀基底函數

輻狀基底函數

所以到這邊,我希望大家對於輻狀基底函數在資料上的應用,心裡要有一個概念,輻狀基底函數就是針對我的輸入值(也就是資料),給定一個中心(資料的關注點)他就會吐給我一個訊息含量(資料接近關注點的程度)

輻狀基底函數的應用


輻狀基底函數類神經網路 RBFNN

聰明人都知道,我一筆資料不可能只關注一個點,我可能會關注很多個點,所以真實情況應該是像這樣:

多個輻狀基底函數

從這張圖就可以看到,假如我有一筆和時間有關的資料,當我在關注不同點的時候,同一個時間給與我的訊息含量就不同,從這點你就會發現當我們如果使用多個 RBF 來分析資料時,我們就能對一個資料拆解出不同的訊息含量,這些訊息含量可能有用,如果你讓他去匹配一個我們想要知道的問題。

舉例來說,剛剛前面的假設華航老闆想要在營收一千億之後,大舉採買新的飛機,這樣子我們可以用營收一千億拆解出來的訊息含量,去匹配買飛機的量,你就會發現在接近營收一千億的時候,買飛機的新聞可能變多、而輻狀基底函數算出來的值也變大,成正比關係,成功匹配。

好,現在問題是你聽不到老闆聲音,但是你查的到很多買飛機的新聞。你可以去模擬各種可能老闆下達指令的營收點,例如你用營收500億、400億去不斷計算,來找出來是否和買飛機匹配,然而如果老闆下的指令很複雜,買飛機不但營收要高,還要現金夠,然後公司負債和資產的比例要是多少多少… 哇,資料維度這麼高,我怎麼可能一個個試?

RBFNN 就正巧能幫你做這件事情,RBFNN 透過先在資料中隨機選取幾個關注點,然後計算出來訊息含量,經過權重加總後得到一個數字,你可以用這個數字和買飛機的數量做匹配,如果有誤差就去修正關注點,透過這個方式,你就能找到老闆下令買飛機前,到你老闆可能關注的財務指標有哪些!

RBFNN流程

到此你應該就明白了,RBFNN 是如何運作,我在此沒有著墨過多關於 RBFNN 其類神經網路模型的基本性質和歷史發展,而會多探討他在時間序列上的應用場景。同時會帶給大家一個觀念,就是有個脈絡去權衡類神經網路模型應用到時間序列上的優缺點,這個基本技巧可以幫助你去選擇正確的類神經網路模型來分析。

現在你可以試著去想看看,RBFNN 如果按照我前面提的這樣子,他在時間序列資料的訊息擷取上面有什麼優點呢?又有什麼缺點呢?你如果想過能明白,我相信你在思考運用其他類神經網路模型的時候就會清楚一些了。


上一篇
前言與目錄
下一篇
DAY2 - 輻狀基底函數的中心點選取方式
系列文
類神經網路搭配啟發式演算法於時間序列之應用27

1 則留言

1
WeiYuan
iT邦新手 4 級 ‧ 2016-12-17 19:18:15

好有趣的題目,只好追蹤了!

謝謝支持,看到你的文章很不錯,一起加油囉~

我要留言

立即登入留言