• 沒有找到結果。

使用基因規劃與小波轉換增進符號式迴歸引擎之效能

N/A
N/A
Protected

Academic year: 2021

Share "使用基因規劃與小波轉換增進符號式迴歸引擎之效能"

Copied!
81
0
0

加載中.... (立即查看全文)

全文

(1)國立高雄大學電機工程學系(研究所) 計算機組 碩士論文 使用基因規劃與小波轉換增進符號式迴歸引擎之效能 Performance improvement of symbolic regression using the techniques of genetic programming and wavelet transformation. 研究生:陳彥合 撰 指導教授:吳志宏. 中華民國九十九年七月.

(2) 使用基因規劃與小波轉換增進符號式迴歸引擎之效能 指導教授:吳志宏教授 國立高雄大學電機工程研究所 學生:陳彥合 國立高雄大學電機工程研究所. 摘要 迴歸分析(Regression Analysis)是一種數學方式,其目的是找出資料中變數與 變數之間的關係。透過迴歸分析可以解釋變數之間的關聯性,甚至可以進一步預 測未知資料。迴歸分析中的複迴歸是一個非常困難的問題,由於依變數 (Dependent Variable)和自變數(Independent Variable)是一對多的關係,因此計算量 非 常 龐 大 。 基 於 基 因 規 劃 (Genetic Programming) 的 符 號 式 迴 歸 (Symbolic Regression)可以找出複迴歸的迴歸方程式,但是需要花費大量的計算時間。為了 加速演化的過程,本論文提出以基因規劃與小波轉換(Wavelet Regression)為基礎 的符號式迴歸引擎,先使用小波迴歸來尋找資料的趨勢,再以基因規劃找出更精 準的迴歸公式,藉此增進迴歸引擎的效能。實驗以數學測試方程式以及實際的複 迴歸問題來進行測試,實驗結果顯示本方法確實可以找出精準的迴歸方程式。 關鍵字:迴歸分析、小波迴歸、基因規劃、符號式迴歸. i.

(3) Performance improvement of symbolic regression using the techniques of genetic programming and wavelet transformation Advisor: Dr. CHIH-HUNG WU Department of Electrical Engineering National University of Kaohsiung Student: YAN-HE CHEN Department of Electrical Engineering National University of Kaohsiung. ABSTRACT Regression analysis is a technique for investigating and modeling the relationships between variables. Regression techniques can be applied to variable explanations and output predictions. Symbolic regression based on genetic programming (SRGP) is a machine learning method which employs the evolutionary strategy on the generation of tree-based functional expressions. Usually, SRGP takes a very time to converge to optimal regression models because regression models are generated randomly. This study employs wavelet regression as a new initialization strategy to improve the efficiency of SRGP. Initial regression models are obtained by fast wavelet regression. Though such models are not accurate than complete wavelet regression, they can be served as efficient and reasonable prototypes to be used in the evolutionary process. The experiments results show that our method can improve the performance of SRGP and obtain better regression functions. Keyword: Regression Analysis, Wavelet Regression, Genetic Programming, Symbolic Regression. ii.

(4) 目錄 摘要.................................................................................................................................i ABSTRACT...................................................................................................................ii 目錄.............................................................................................................................. iii 表目錄............................................................................................................................v 圖目錄...........................................................................................................................vi 第一章、 緒論..............................................................................................................1 1.1 研究背景與動機.............................................................................................1 1.1.1 迴歸分析(Regression Analysis) ..........................................................1 1.1.2 研究動機..............................................................................................2 1.2 研究架構.........................................................................................................3 1.3 論文架構.........................................................................................................4 第二章、 背景知識與相關文獻..................................................................................6 2.1 基因演算法(Genetic Algorithm, GA) ............................................................6 2.2 以基因規劃為基礎的符號式迴歸.................................................................8 2.3 小波轉換 (Wavelet Transform, WT) ........................................................... 11 2.3.1 小波(Wavelet)與母小波(Mother Wavelet) .......................................12 2.3.2 尺度(Scaling)與位置(Location) ........................................................13 2.3.3 連續(CWT)與離散小波轉換(DWT) ................................................14 2.3.4 小波迴歸 (Wavelet Regression) .......................................................20 2.4 文獻探討.......................................................................................................21 第三章、 演算法概念................................................................................................23 3.1 問題定義.......................................................................................................23 3.2 小波迴歸 (Wavelet Regression) ..................................................................24 3.3 以基因演算法為基礎的符號式迴歸引擎 (SRGP)....................................26 3.3.1 適應度函式 (Fitness Function) ........................................................27 3.3.2 選擇策略 (Selection) ........................................................................28 3.3.3 重新策略 (Restart)............................................................................29 3.4 演算法流程...................................................................................................30 第四章、 實驗............................................................................................................32 4.1 實驗 A...........................................................................................................32 4.1.1 資料收集............................................................................................32 4.1.2 實驗設計............................................................................................39 4.1.3 實驗結果............................................................................................40 4.2 實驗 B...........................................................................................................63 4.2.1 資料收集與實驗設計........................................................................63 iii.

(5) 4.2.2 實驗結果............................................................................................65 第五章、 結論與討論................................................................................................69 參考文獻.....................................................................................................................lxx. iv.

(6) 表目錄 表 表 表 表 表 表 表 表 表. 4.1-1 九個測試方程式 ..........................................................................................32 4.1-2 Wavelet Regression 參數 .............................................................................39 4.1-3 SRGP 參數 ...................................................................................................39 4.1-4 Mean Absolute Error ....................................................................................46 4.1-5 MSE ..............................................................................................................48 4.2-1 Wavelet Regression 參數 .............................................................................64 4.2-2 SRGP 參數 ...................................................................................................64 4.2-3 東距 TE 結果 .................................................................................................65 4.2-4 北距 TN 結果.................................................................................................65. 表 4.2-5 驗證階段結果 ..............................................................................................68. v.

(7) 圖目錄 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖. 1.2-1 研究架構 ........................................................................................................4 2.1-1 基因演算法 ....................................................................................................7 2.2-1 交配 ................................................................................................................9 2.2-2 樹資料突變 ..................................................................................................10 2.2-3 樹結構突變 ..................................................................................................10 2.3-1 各種母小波 ..................................................................................................12 2.3-2 小波係數 ......................................................................................................13 2.3-3 小波 ..............................................................................................................14 2.3-4 原始訊號 .....................................................................................................16 2.3-5 當 a = 1,母小波在各位子上的情況........................................................16 2.3-6 當 a = 1,b = 0.5 時....................................................................................16 2.3-7 當 a = 0.5,母小波在各位子上的情況.....................................................17 2.3-8 當 a = 1,b = 1.25 和 b = 1.75 時 ..............................................................17 2.3-9 CWT 逆轉換結果 ........................................................................................17 2.3-10 原始訊號 ...................................................................................................18 2.3-11 當 m = -2,母小波在各位子上的情況....................................................19 2.3-12 當 m = -4,母小波在各位子上的情況....................................................19 2.3-13 DWT 逆轉換結果,挑選 m = -2、n = 0 和 m = -4、n = 1....................19. 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖. 3.2-1 小波迴歸流程 ..............................................................................................25 3.3-1 SRGP 流程 ...................................................................................................27 3.4-1 符號式迴歸引擎流程 ..................................................................................30 4.1-1 Two-Peak Trap..............................................................................................34 4.1-2 Central Two-Peak Trap .................................................................................34 4.1-3 Five-Uneven-Peak Trap................................................................................35 4.1-4 Equal Maxima...............................................................................................35 4.1-5 Decreasing Maxima......................................................................................36 4.1-6 Uneven Maxima ...........................................................................................36 4.1-7 Uneven Decreasing Maxima ........................................................................37 4.1-8 Doppler .........................................................................................................37 4.1-9 Exponential Line...........................................................................................38 4.1-10 Two-Peak Trap 的迴歸結果.......................................................................41 4.1-11 Central-Two Peak 的迴歸結果 ..................................................................42 4.1-12 Five Uneven-Peak Trap 的迴歸結果 .........................................................42 4.1-13 Equal Maxima 的迴歸結果........................................................................43 4.1-14 Uneven Maxima 的迴歸結果 ....................................................................43 vi.

(8) 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖 圖. 4.1-15 Decreasing Maxima 的迴歸結果...............................................................44 4.1-16 Uneven Decreasing Maxima 的迴歸結果 .................................................44 4.1-17 Doppler 的迴歸結果 ..................................................................................45 4.1-18 Exponential Line 的迴歸結果....................................................................45 4.1-19 Two-Peak Trap 的迴歸結果.......................................................................50 4.1-20 Central-Two Peak 的迴歸結果 ..................................................................52 4.1-21 Five Uneven-Peak Trap 的迴歸結果 .........................................................53 4.1-22 Equal Maxima 的迴歸結果........................................................................54 4.1-23 Uneven Maxima 的迴歸結果 ....................................................................56 4.1-24 Decreasing Maxima 的迴歸結果...............................................................57 4.1-25 Uneven Decreasing Maxima 的迴歸結果 .................................................58 4.1-26 Doppler 的迴歸結果 ..................................................................................60 4.1-27 Exponential Line 的迴歸結果....................................................................61 4.2-1 蘭嶼 GPS 資料............................................................................................63 4.2-2 蘭嶼作標轉換迴歸結果 .............................................................................65 4.2-3 東距迴歸結果 .............................................................................................66 4.2-4 北距迴歸結果 .............................................................................................67 4.2-5 導航驗證結果 ..............................................................................................68. vii.

(9) 第一章、緒論 1.1 研究背景與動機 1.1.1 迴歸分析(Regression Analysis) 迴歸分析(Regression Analysis)是一種在統計學中很常見的方法,可以用來 找尋變數之間的關係,藉此解釋變數之間的相依性,以及預測資料未來的趨 勢。解釋變數(Explanation)是指我們可以從樣本之中計算出迴歸方程式,以了 解自變數(Independent Variable,或是控制變數 Control Variable)對於依變數 (Dependent Variable,或稱為反應變數 Response Variable)的影響。舉例來說, 若是我們分析水庫集水區的降雨量和水庫進水量的資料所得到的迴歸方程 式,便可以了解水庫進水量和降雨量多寡是成正比的影響。至於預測(Prediction) 方面,則是應用迴歸方程式,算自變數的變動會帶給依變數多大的改變,可以 使預測資料未來的變化。 迴 歸 分 析 可 以 分 為 簡 單 迴 歸 (Simple Regression) 和 複 迴 歸 (Multiple Regression)。簡單迴歸是探討一個依變數 y 和一個自變數 x 之間的關係;而複 迴歸則是探討一個或多個依變數和多個自變數 xi, i=1,2,…,n,間的關係。以線性 迴歸為例,簡單迴歸和複迴歸的數學表示式如下。. y = a0 + a1 x + ε. Eq. ( 1 ). y = a0 + a1 x1 + a2 x2 + L + an xn + ε. Eq. ( 2 ). 在上式之中,a0 為常數、ai, i=1,2,…,n,為迴歸係數、而ε為誤差。迴歸方法的 目的便是希望可以使得誤差值ε可以最小化。 實際解決迴歸問題的時候,有兩種設計概念常被使用:參數迴歸 (Parametric Regression)和無參數迴歸(Nonparametric Regression)。在參數迴歸之 中,迴歸函式被假設為下列的形式, f (⋅) = f (⋅ ;α ) ,其中 α = {a1 ,L ,an } 。因此 1.

(10) 參數迴歸可以視為尋找最合適的參數。參數迴歸是一種非常有效的迴歸分析, 它是先假設 f (⋅) 函式的存在,只有參數需要調整而已。典型的參數迴歸方法有 線性迴歸(Linear regression) [ 19 ]、Errors-in-variables models [ 5 ][ 32 ]、Curve fitting [ 25 ]等。無參數迴歸和參數迴歸相反,它並不需要任何預設的結構,典 型的無參數迴歸方法像是 orthogonal series estimator [ 37 ]、kernel estimator [ 31 ] 和 smoothing spline [ 33 ]等。. 1.1.2 研究動機 簡單問題的迴歸分析可以使用 Linear Regression、Curve Fitting、或是 Smoothing Spline 等方法快速得到滿意的結果。但是複雜的、且非線性的問題 並不然。在複迴歸之中,依變數和應變數並非是簡單的一對一的關係,隨著依 變數的增加會使得迴歸公式更加的複雜。因此要使用參數迴歸來解決複迴歸的 問題時,會無法找到合適的假設函式。而非參數迴歸的方法也是難以從依變數 之中找到合適的公式。 由於迴歸分析是找出自變數和依變數兩者之間誤差最小的數學模型,因此 可以被視為一種最佳化的問題。近代處理複雜的、非線性的問題,常常引用軟 式計算(Soft-computing), 人工智慧(Artificial Intelligence), 機器學習(Machine Learning)等非解析數學的技術來進行最佳化的動作。本論文使用的是基因規劃 (Genetic Programming, GP);GP 是由基因演算法(Genetic Algorithm)變化而來。 GP 以樹狀結構來表示數學公式,再依照 “適者生存"的法則演化出符合問題 最好的解答。以 GP 為基礎的符號式迴歸(Symbolic Regression)引擎可以用來尋 找誤差最小的迴歸公式。但是在尋找最佳的迴歸公式的過程之中,想要從隨機 的算式演化成符合資料趨勢的最佳迴歸公式,往往必須花費大量的時間。在找 到符合資料趨勢的公式之後,迴歸引擎又需要花費另外的計算時間以找尋更詳 細的公式。因此,若是能夠在演化的一開始便給予資料的趨勢而不是隨機產 2.

(11) 生,便可以免去大量的計算時間,讓計算能量都花費在縮短迴歸公式的誤差。 小波迴歸(Wavelet Regression) [ 14 ][ 15 ]是利用小波分析(Wavelet Analysis) [ 24 ]找出資料集的大方向趨勢和小地方細節,再進行逆轉換組合成迴歸公 式。小波分析可以視為是特定的母小波和資料集之間旋積(Convolution)關係。 若是母小波和資料之間沒有太大的關聯性,則小波轉換之後所得的係數會越趨 近於零;相反的,若是兩者之間的趨勢越相近則轉換後的係數則越大。將低於 預設門檻值的轉換係數捨棄掉後進行逆轉換運算便可得到小波迴歸公式。小波 迴歸的優勢是可以快速的找出相近的資料趨勢,但是要得到較低的誤差,勢必 會讓迴歸公式變為非常的複雜。 綜合上述兩種迴歸方法的特色,本研究發現符號式迴歸是以 GP 來演化出 誤差最小的迴歸方程式,但是會花費大量的計算時間在染色體的演化過程之 中。小波迴歸則是透過小波轉換來分析資料並透過逆轉換以及門檻值設定來得 到迴歸公式,門檻值設定寬鬆的迴歸公式所得到結果誤差比較小但複雜度高, 而門檻值設定嚴苛所得到的公式複雜度雖然小但是誤差卻高。 因此本論文提出結合小波迴歸和基因規劃技術的符號式迴歸引擎,先使用 小波迴歸找出簡單卻可以代表資料大方向趨勢的公式,同時,這條迴歸公式是 可以寫成符號式數學式子。最後再透過基因規劃進一步的演化出更精確的迴歸 公式。最後我們以數學測試方程式和實際的複迴歸問題作為測試,來驗證此迴 歸引擎的可行性。. 1.2 研究架構 本文研究如下圖所示,主要分為研究目的、相關研究、迴歸引擎設計、實 驗分析與結論。 z. 研究目的:包含相關的研究背景、問題定義,搜集與迴歸分析、小波迴 歸和基因規劃等相關資料及文獻,問題定義為如何加速以基因規劃為基 3.

(12) z. z z z. 礎的迴歸引擎。 相關研究:蒐集與本研究相關研究與相關技術文獻,包含迴歸分析、連 續小波轉換、離散小波轉換、小波迴歸、基因演算法、基因規劃、符號 式迴歸等。 迴歸引擎設計:設計一個以小波迴歸和基因規劃為基礎的符號式迴歸引 擎。 實驗分析:比較不同資料集、不同實驗參數等各種情況下的實際效能分 析。 結論:為依實驗分析結果,探討符號式迴歸引擎的效能,並建議未來研 究方向。. 研究背景. 研究目的. 問題定義. 迴歸分析. 相關研究. 連續小波 轉換. 迴歸引擎. 離散小波 轉換. 實驗. 基因 演算法 基因規劃. 符號式 迴歸. 小波迴歸 結論. 圖 1.2-1 研究架構. 1.3 論文架構 本論文架構如下:第一章說明研究背景與動機。第二章簡述背景知識與相 4.

(13) 關文獻。第三章提出迴歸引擎的設計與規劃,以及所使用的演算法設計。第四 章實驗與分析,說明實驗設計、資料蒐集、實驗的結果與小結。第五章說明研 究的結果、以及未來可能的方向。. 5.

(14) 第二章、背景知識與相關文獻 本 章 簡 述 基 因 演 算 法 (Genetic Algorithm, GA) 、 基 因 規 劃 (Genetic Programming, GP)、符號式迴歸(Symbolic Regression, SR)、小波轉換(Wavelet Transformation, WT)並討論幾篇重要相關研究。. 2.1 基因演算法(Genetic Algorithm, GA) 在 1975 年代 John Holland 在其著作 “Adaptation in Natural and Artificial Systems”之中,定義了基因演算法的數學基礎,也就是大家所熟知的 Holland's Schema 理論 [ 48 ]。如今基因演算法被廣泛應用在各領域之中。例如,物理學 之中的 VLSI 佈局、液晶、雷射技術等,在工程方面的控制、類神經網路、模 糊理論、航空、太空軌道等,其他還有像是影像處理、醫學、機器人學、建築 等領域之應用。 基因演算法是一種搜尋最佳解的工具,是解決最佳化問題的一個好方法。 基因演算法的基本流程,如下面所示: z. 編碼(Encode):將問題的解答以一長串數字或是字元所組成的序列。. z. 初始化(Initialization):隨機產生一定數量的個體,有時候操作者也可以 干預隨機產生的過程,讓第一代的族群就擁有著部份優化的個體。. z. 評估(Fitness):經由適應性函式(Fitness Function)的評估,來分辨個體的 好壞。. z. 挑選(Selection):適應性越高的個體越有機會被挑選出來進行繁衍的動 作 。 常 見 挑 選 的 方 式 有 輪 盤 式 (Roulette Wheel Selection) 、 競 爭 式 (Tournament Selection)。. z. 交配(Crossover):交配是從族群之中,挑選出適應性較高的兩個個體作 為父母,互相交換染色體產生出新的個體出來。 6.

(15) z. 突變(Mutation):突變的操作是隨機挑選一個或數個個體之中的基因,以 亂數的方式變更基因的數值。突變的策略可以確保族群在演化的過程 中,可以跳出區域最佳解的泥沼之中。. z. 淘汰(Natural Selection):透過適應性函式評估新的個體,弱勢的個體將 會被淘汰掉。保留下較好的個體行程新的一個世代。. z. 終止條件(Termination):終止的條件主要有三種:第一種,適應值達到 特定標準。第二種,演化到一定代數。第三種條件,族群演化達到收斂 的穩定狀態。. 基因演算法透過編碼、初始化、評估、挑選、交配、突變、淘汰等步驟,依據 「適者生存、物競天擇」的法則,演化出一代比一代更適合的解答。演算法的 流程如下圖所示。 染色體編碼 初始化 選擇. 適應度評估. 交配. 產生下一代. 突變. 淘汰. 產生新一代. NO. 滿足終 止條件 YES 輸出最佳解 圖 2.1-1 基因演算法. 7.

(16) 2.2 以基因規劃為基礎的符號式迴歸 基因規劃或稱為遺傳規劃和基因演算法一樣是受到自然界中生物演化的 啟發而發展出來的。基因規劃的提出是為了解決讓電腦自行設計電腦程式的問 題。傳統的程式設計就如同工業設計一般,所有的動作、指令、結果都是依循 著程式設計師精心規劃設計出來的。電腦在運作的時候,就依照著既定明確的 條件及指令去運算出結果。而基因規劃的提出,就是希望電腦可以在不明確的 條件之下,依然可以完成自己該做的事情。換句話說,人們使用基因規劃的時 候只需要告訴電腦需要完成甚麼,而不是告訴電腦該怎麼做。 基因規劃的歷史可以追朔到 1960 年代到 1970 年代,那個時候演化式計算 (Evolutionary Computing)的研究廣泛的被接受,諸如像是演化式策略(Evolution Strategies)、基因演算法(Genetic Algorithm)等。在 1985 年,學者 Nichael L. Cramer 提出了第一個基因規劃的架構[ 49 ]。而在 1992 年 John R. Koza 的著作 中更詳盡了介紹基因規劃 [ 28 ]。至此,基因規劃便被應用在各種不同的領域 之中,並且有著傑出的表現,尤其是量子運算、電子設計、遊戲比賽、排序、 搜尋等等。 以下簡敘 GP 的重要步驟與機制: z. 樹狀結構:傳統上基因規劃是以樹狀結構來表示染色體,這是由於樹狀 結構很容易以遞迴(Recursive)來計算。這條算式樹之中的節點可以分為 有子樹的中間節點(Inner-node)和沒有任何子樹的葉節點(Leaf),每個中 間 節 點 就 是 一 個 運 算 子 (Operator) , 而 每 個 葉 節 點 則 是 一 個 運 算 元 (Operand)。Koza 教授一開始是使用 Lisp 語言[ 28 ]來實做基因規劃。在 基因規劃之中染色體是有其限制,毫無控制的染色體可能會造成迴歸方 程式變為一條不合理的數學運算式。舉例來說,假設我們有一條染色體 為 “3 + 5”,經過突變的運算之後式子可能變為一條不合理的數學方程 式,例如 “* + 5”。因此在染色體的編碼上,我們必須為此定義特殊的 8.

(17) 結構與規則。近年來,其他非樹狀結構的基因規劃方法也相繼被提出, 線性基因規劃(Linear Genetic Programming)便是使用串列(Link List)來做 為染色體的結構。這類的線性結構適合傳統循序式的程式語言,例如 Basic、C、Fortran。 z. 交配策略:首先選擇兩條染色體作為父母親,從父樹和母樹之中各挑選 一個樹節點作為交配點,每點樹節點被挑選的機率都是相同的,之後再 將該節點以及其子樹一同交換。原先在父樹的子樹會被連接到母樹上, 母樹的子樹則連接到父樹之上。以下圖 2.2-1 為例,灰色的樹節點代表 交配點。經過交配運算之後會得到兩條新的子樹。. 父樹. 3. × 4. 母樹. +. x. x. × -. +. 4. x. x. 交配點 互相交換 交配點之 下的子樹 子樹 1. 子樹 2 +. 4. × 3 x 4 圖 2.2-1 交配. 9. -. +. ×. x x. x.

(18) z. 突變策略 (Mutation):突變的方式有資料突變以及結構突變兩種方式。 資料突變是從染色體之中隨機挑選一個樹節點,並且改變樹節點內的資 料。資料突變特別注意運算樹的運算規則,若突變的節點是個運算子, 則突變前後都必定是個運算子,反之亦然。下圖 2.2-2 為資料突變的例 子,圖(a)為運算子的突變、圖(b)為運算元的突變。而結構突變是隨機挑 選一個樹節點作為突變點,該節點以下的子樹以另外一顆隨機產生的子 樹作為取代。下圖 2.2-3 為一結構突變的例子。. × x. × x. - x. 3. ÷ x. 3. (a) × x. × 5. - x. 3. - x. 3. (b) 圖 2.2-2 樹資料突變 + A. + -. B. A A. * -. A 圖 2.2-3 樹結構突變 10. B B.

(19) 基 於 基 因 規 劃 的 符 號 式 迴 歸 (Symbolic Regression based on Genetic Programming, SRGP)主要的運作方式是將數學方程式用樹狀資料結構表示為 染色體,在樹狀結構中可以分為中間節點的運算子以及葉節點的運算元。運算 子和運算元都是依據問題由使用者去定義的,例如運算子可能為加、減、乘、 除、sin、cos 等運算;運算元可能為常數或是變數等。在經由基因規劃的演化 策略:選擇、交配、突變等各種策略來產生新的子代,最後在經過適應值的計 算來淘汰較差的結果,最後演化成最佳的解答。. 2.3 小波轉換 (Wavelet Transform, WT) 小波轉換(Wavelet Transform, WT) [ 50 ]是一種數學方法,可以將原始訊號 解析成數個離散、不連續的段落,藉此可以同時檢查隱藏在訊號的時間和頻率 之中的訊息。透過小波轉換來分析資料的方式,被稱之為小波分析(Wavelets Analysis) [ 24 ]。小波轉換的基本概念是用已知的數學函式模型來描述所欲處 r r r r 理的問題。假設 D ( x ) 為欲分析的問題, f ( x ) 為一已知函式,若能將 D ( x ) 以 f (x ). 加以描述,我們便可以用來分析的特性,如 Eq. ( 3 ) 所示。 r r T( x ) = F(D ( x ),f ( x )). Eq. ( 3 ). 類似的概念我們可以追朔到 1800 早期的傅利葉級數(Fourier Series),當時 Joseph Fourier 就表示他可以使用 sines 和 cosines 來表示成其他的數學函式 [ 51 ]。小波分析已經被證實在訊號的分析上是一個有效且實用的方法。如今 被廣泛應用在各種不同的問題及領域上,例如:氣象、財務指標、心率監測、 地震波去噪、影像壓縮等等。 r Eq. ( 3 )中的 F(⋅) 包含描述 f (x ) 的構造與設定參數。如傅利葉級數與牛頓 r 數列的級數或積分結構,與頻率等參數。小波轉換中的 f ( x ) 稱為一小波。小. 波轉換則是透過改變小波的大小和不同的位置來分析資料。然而改變小波的大 小這件事情,在小波轉換之中扮演著非常特殊的角色。小波轉換的演算法就是. 11.

(20) 透過改變小波的大小來分析資料。假設我們使用較大維度來分析整體訊號,我 們可以了解到整個訊號的趨勢以及較為特殊的特徵。相反的,若是我們使用比 較小的維度來分析,則會得到訊號的細節和細微的特徵。. 2.3.1 小波(Wavelet)與母小波(Mother Wavelet) 小波(Wavelet)是一個數學方程式,像是一個波(Wave)的一小部份。換句話 說,小波是一個沿某一方向運動的函式形狀的其中一小段區域。事實上,用「區 域的波」來形容小波會更加的合適與精準。小波分析主要是使用一個基礎的小 波稱為母小波(Mother Wavelet) 來進行資料分析。母小波並非是隨意的方程 式,它必須滿足以下數學條件: z. 一個母小波ψ (t ) 必須有有限的能量(finite energy) ∞. E = ∫ ψ (t ) dt < ∞ 2. Eq. ( 4 ). -∞. z. 同時,母小波 ϕ (t ) 要符合 zero mean 的條件 ∞. ∫ ψ (t )dt = 0. Eq. ( 5 ). -∞. 圖 2.3-1 是一些母小波的例子以及它們的方程式。從數學上的定義來講,小波 轉換即是小波函式和訊號的旋積(Convolution)關係。. ⎧ 1 0 ≤ t < 1/ 2, ⎪ ψ (t ) = ⎨-1 1/ 2 ≤ t < 1, ⎪ 0 otherwise. ⎩. Haar Wavelet. ψ (t ) =. -t. 2. ⎛ t ⎞ 2σ 2 ⎜⎜1- 2 ⎟⎟e σ ⎠ 3σ π ⎝ 2. 2. 1 4. Mexican Hat Wavelet 圖 2.3-1 各種母小波 12. 3 ⎛ - σ2 2 ψ (t ) = ⎜1 + e -σ -2e 4 ⎜ ⎝. ⎞ ⎟ ⎟ ⎠. 1 ⎛ iσσ − σ2 ⎜e − e 2 ⎜ ⎝. ⎞ ⎟ ⎟ ⎠. -. 1. *π 4e. 1 − t2 2. Morlet Wavelet. -. 1 2.

(21) 2.3.2 尺度(Scaling)與位置(Location) r Eq. ( 3 )中的 F(⋅) 需要調整 f (x ) 的結構,在小波轉換中的操作主要是兩種. 方式:透過縮放操作 (Dilation) 來伸展或壓縮母小波的尺度 (Scaling) 來改變外 型 , 以 及 藉 由 平 移 (Translation) 將 母 小 波 移 到 訊 號 中 各 種 不 同 的 位 子. (Location)。我們可以透過下式來操作母小波,依據參數 a 來伸縮母小波、參 數 b 來移動母小波的位子。. ψ a,b (t ) =. ⎛ t-b ⎞ ψ⎜ ⎟ a ⎝ a ⎠. 1. Eq. ( 6 ). 圖 2.3-3 秀出小波在各種不同的位子以及伸展和壓縮。圖 2.3-3 (a) 以. Mexican Hat Wavelet 為例,當 b 分別為-5、0、5 不同的位置上。圖 2.3-3 (b) 則是不同的尺度的例子,a 分別為 0.5、1、2 的情況,a 值越大母小波便被拉 的越扁平。將轉換後的小波係數呈現在二維座標空間圖可以讓使用者了解訊號 和小波之間的關係,如下圖所示。. 圖 2.3-2 小波係數. 13.

(22) b = -5 b=0 b=5. (a) 不同位子的小波 ( a = 1 ) a = 0.5 a=1 a=2. (b) 各種不同尺度的小波 ( b = 0 ) 圖 2.3-3 小波 如果小波在特定的位子和伸縮情況下和原訊號的形狀相似,那我們就可以 得到很高的轉換數據;反之,所得到的轉換數據就會很低。這些轉換後的數據 稱為小波係數(Wavelet coefficients)。這樣子的程序以在不同的位子和不同的伸 縮比例重複進行運算,如此的步驟就是小波轉換。. 2.3.3 連續(CWT)與離散小波轉換(DWT) 連續小波轉換(Continuous Wavelet Transform, CWT)如同 Eq. ( 7 )所示,x(t ) 是要分析的訊號資料。 ψ (t ) 是選定的一個母小波。. T(a,b) =. ⎛ t-b ⎞ x(t )ψ ⎜ ⎟dt ∫ a ⎝ a ⎠. 1. ∞. -∞. 14. Eq. ( 7 ).

(23) 在 Eq. ( 7 )之中,參數 b 代表著母小波的位移情況,參數 a 則會改變母小波的 比例尺。在連續小波轉換之中 a 和 b 的值都是連續的數值,以 Eq. ( 7 )分別用 不同的 a、b 進行運算得到小波係數。. x(t ) =. 1 Cg. ∞. ∫ ∫. ∞. -∞ 0. T(a,b)ψ a,b (t ). dadb a2. Eq. ( 8 ). 如同傅立葉轉換(Fourier Transform),小波轉換也一樣也有反轉換(Inverse. Wavelet Transform),數學公式的定義如 Eq. ( 8 )所示。Eq. ( 8 )計算小波係數的 總之後便可以獲得原本的訊號 x(t ) 。若是在計算係數總和的時候,只使用部分 數值較高的小波係數,那所獲得的訊號資料將只保留重要的資訊,我們可以視 為是將原始訊號之中較不重要的雜訊濾除。 下圖是一個連續的訊號的例子,我們使用 Mexican Hat 母小波來進行連續 小波轉換分析這個原始訊號。首先我們令參數 a 從 1 到 0 以及參數 b 從 0 到 3, 分別用母小波和訊號作小波轉換的計算。圖 2.3-5 是當 a = 1,母小波位於 b 為 0、1、2、3 的位子上。雖然 b 為一個連續的數值,但在此僅列出四個位子 最為例子。經過運算之後可以發現 Mexican Hat 母小波在 a = 1、b = 0.5 的時候 和原始訊號非常相似,如圖 2.3-6 所示。圖 2.3-7 之中為 a = 0.5,b 分別為 0、. 1、2、3 的位子時的情況。圖 2.3-8 是 a = 0.5 的時候,母小波在位子 1.25 時 會和原始訊號相似。另外 b = 1.75 的時候,雖然母小波和原始資料非常相似, 但是他們的方向卻是相反的,因此我們只要將母小波反向亦可得到相似的結 果。小波轉換會重複的改變 a 和 b 的值進行運算,直到所有的 a 與 b 都計算完 畢。最後再將相似值很高的 a 與 b 挑出來進行逆轉換,就可以得到和原始訊號 相似的趨勢,如圖 2.3-9 所示。. 15.

(24) 2.5 2 1.5 1 0.5 0. 原始資料. -0.5 -1 -1.5 -2 -2.5 0. 0.5. 1. 1.5. 2. 2.5. 3. 圖 2.3-4 原始訊號 2.5 2 1.5 1. 原始資料. 0.5. b=0. 0. b=1. -0.5. b=2 b=3. -1 -1.5 -2 -2.5 0. 0.5. 1. 1.5. 2. 2.5. 3. 圖 2.3-5 當 a = 1,母小波在各位子上的情況 2.5 2 1.5 1 0.5 原始資料. 0. b = 0.5. -0.5 -1 -1.5 -2 -2.5 0. 0.5. 1. 1.5. 2. 圖 2.3-6 當 a = 1,b = 0.5 時. 16. 2.5. 3.

(25) 2.5 2 1.5 1. 原始資料. 0.5. b=0. 0. b=1. -0.5. b=2 b=3. -1 -1.5 -2 -2.5 0. 0.5. 1. 1.5. 2. 2.5. 3. 圖 2.3-7 當 a = 0.5,母小波在各位子上的情況 2.5 2 1.5 1 0.5. 原始資料. 0. b = 1.25. -0.5. b = 1.75. -1 -1.5 -2 -2.5 0. 0.5. 1. 1.5. 2. 2.5. 3. 圖 2.3-8 當 a = 1,b = 1.25 和 b = 1.75 時 3 2 1 原始資料. 0. CWT. -1 -2 -3 0. 0.5. 1. 1.5. 2. 2.5. 3. 圖 2.3-9 CWT 逆轉換結果 在連續小波轉換之中使用的參數是連續性的數據,而在離散小波轉換之中. (Discrete Wavelet Transform, DWT)是使用離散的參數。離散的伸縮度稱為階層 17.

(26) (Level),而離散的位置則稱為取樣(Sample)。為了簡化對參數 a 和 b 取樣的複 雜度,一般而言會對 a 進行對數離散(Logarithmic Discretization)的運算。經過 轉換的離散小波運算如下列 Eq. ( 9 )所示。. 1. Tm,n (t ) =. a0. ⎛ t-nb0 ( ) x t ψ ∫-∞ ⎜⎜ a m ⎝ 0 ∞. m. ⎞ ⎟dt ⎟ ⎠. Eq. ( 9 ). 藉由式子中的整數 m 和 n 來控制母小波的尺度和位置;a0 和 b0 都是一個 固定的數值,a0 必定要大於 1,而 b0 則必須是一個正數。Tm,n 是依據一組特 定的伸縮和位移參數 m 和 n 所計算出來的小波係數。 離散小波轉換的反轉換和連續小波轉換類似,不同的地方在於 m 和 n 是 離散的數據,因此加總的總和便是原始的 x(t)。Eq. ( 10 )是 DWT 的反轉換。. x(t ) =. 1 Cg. ∑∑ T (t )ψ (t ) m,n. Eq. ( 10 ). m,n. 下圖 2.3-10 是一個離散小波轉換的例子。在這個例子之中以 a0 為 2、b0 為 1、Mexican Hat 為母小波,母小波在各尺度和各位子的情況如圖 2.3-11 和 圖 2.3-12 所示。最後再將選擇較高的小波係數作反轉換計算,所得到的結果 如圖 2.3-13 所示 4 3 2 1 原始資料 0 -1 -2 -3 0. 0.5. 1. 1.5. 2. 圖 2.3-10 原始訊號. 18. 2.5. 3.

(27) 4 3 2. 原始資料 n=0. 1. n=1 0. n=2 n=3. -1 -2 -3 0. 0.5. 1. 1.5. 2. 2.5. 3. 圖 2.3-11 當 m = -2,母小波在各位子上的情況 4 3 2. 原始資料 n=0. 1. n=1 0. n=2 n=3. -1 -2 -3 0. 0.5. 1. 1.5. 2. 2.5. 3. 圖 2.3-12 當 m = -4,母小波在各位子上的情況 4 3 2 1. 原始資料 DWT. 0 -1 -2 -3 0. 0.5. 1. 1.5. 2. 2.5. 3. 圖 2.3-13 DWT 逆轉換結果,挑選 m = -2、n = 0 和 m = -4、n = 1. 19.

(28) 2.3.4 小波迴歸 (Wavelet Regression) 小波迴歸 (Wavelet Regression) 的計算,是先令φ和ψ假設為父波 (Father. Wavelet) 和母波 (Mother Wavelet) ,而我們可以得到任何一個平方可積函數 ( Square Integrable Function ) f 將可以被表現成下列所示的算式。. f (x ) =. ∞. ∞. ∞. ∑ c φ (x ) + ∑ ∑ d. k = -∞. 0 ,k. j = 0 k =-∞. j,k. ϕ j,k (x ). Eq. ( 11 ). 為 了 計 算 時 的 方 便 , 在 此 令 父 波 為 φ ( x ) = 21/ 2 φ (2 x-k ) 且 母 波 為. ϕ j,k ( x ) = 2 j/ 2 ϕ (2 j x-k ) 。如此便可以分別得到伸縮係數(Scaling Coefficients) c0,k 和細節係數(Detail Coefficients) dj,k。因此,我們將非線性的小波迴歸公式依據. Eq. ( 7 )修改為下列所示。 J. J-1 2 -1 ) S ) f ( x ) = ∑ c0 ,k φ k ( x ) + ∑ ∑ d j,k ϕ j,k (x ) 2 J -1. Eq. ( 12 ). j =0 k =0. k =1. ) ) c 0 ,k = ∑i y i φ k (i/n ) 為 伸 縮 係 數 , 細 節 係 數 則 是 d j,k = ∑i y i ϕ j,k (i/n ) , 而. ( ). (. ). )S ) ) d j,k = sgn d j,k max 0, d j,k -λ 代表了細節係數是否有通過門檻值λ。在逆轉換的 時候我們不需要將每一個小波係數都列入計算,小波係數表示了母小波和資料 之間的關連度,越接近零的小波係數表示母小波和資料關聯度越小。逆轉換的 時候,我們可以省略這些較無關的係數,得到較為精簡的結果。這個過程亦被 稱為去噪(Denoises)。在去噪的過程中,捨棄的係數多寡會影響到逆轉換的結 果。若是捨棄的係數過少,可以得到較精準的結果但是相對的算式就會比較複 雜的;若是捨棄的係數過多,得到的算式較精簡但是誤差也比較高。 由於在本論文之中小波迴歸的目的是要找到資料的趨勢,因此設定較高的 門檻值可以得到較精簡的算式。Eq. ( 13 )是小波迴歸所得到的迴歸方程式。λ. 20.

(29) 為小波係數的門檻值。. ⎛ x-nb ⎞ f ( x ) = ∑∑ sgn (Tm,n )max Tm,n -λλ0 ψ ⎜⎜ m 0 ⎟⎟ m n ⎝ a0 ⎠. (. ). Eq. ( 13 ). 2.4 文獻探討 許多的學者提出了各種不同的方法以解決迴歸問題,諸如 [ 1 ] [ 18 ][ 41 ]. [ 47 ]。這些應用廣泛的使用了像是有限向量回歸(Support Vector Regression) [ 3 ][ 35 ]、類神經網路(Artificial Neural Networks) [ 20 ][ 35 ]、線性迴歸(Linear Regression) [ 29 ][ 30 ][ 45 ]等方法。然而這些方法所找出來的迴歸公式,都會 因為問題的不同而導致迴歸公式的精準度和成效而有所不同。為了解決複雜的 複迴歸問題,演化式計算例如基因演算法或是基因規劃便適合從大量且多維度 的資料之中尋找出合適的迴歸公式。 近年來有許多的學者提出了以基因演算法為基礎的方法來解決迴歸分析 的問題。在 2001 年,學者 Ferreira 提出了 “Gene Expression Programming”的方 法[ 4 ],他用陣列代替了樹狀結構來表示方程式的數學式子。C. Zhou 等人延 伸了 Ferreira 的方法,提出了基於 GEP 的分類方法 [ 6 ]。學者 Gustafson 在 2005 年的時候,提出了一個更精準的基因規劃方法,他是藉由改進交配的運作來尋 找更精準的迴歸公式 [ 40 ]。學者 Costa 則提出了一個新的選擇方法叫做(μ+ λ)-G [ 17 ]。而學者 Chou 將基於基因規劃的符號式迴歸引擎應用在全球定 位系統的座標軸轉換上,得到的實驗結果顯示基因演算法的確可以解決實際的 迴歸問題 [ 21 ]。 在 1994 和 1995 年,學者 Donoho 和 Johnstone 提出了使用小波轉換試圖 從一堆參雜著雜訊的資料之中尋找出迴歸公式 [ 14 ][ 15 ]。在他們的研究之 中,他們藉由設定小波係數的門檻值減少雜訊的影響,並且門檻值的設定是動. 21.

(30) 態的依照資料情況而有所調整。當迴歸問題的公式是平順且有一些不連續以及 斷點的時候,Donoho 和 Johnstone 所提出的方法非常合適。 然而 Dononho 和 Johnstone 所提出的方法,在處理資料的邊界時會有些不 足。因此為了克服這個問題,許多的學者提出了解決的方法,最常見的方式便 是加上許多的限制來處理邊界的問題,如學者 Oh 等人 [ 22 ][ 23 ][ 34 ][ 43 ] 提出了多項式小波迴歸(Polynomial Wavelet Regression)的方法來解決迴歸公式 的邊界,Oh 的方式是基於小波迴歸的結果再加上低次方的多項式數學式組合 成新的迴歸公式,藉此解決小波迴歸在處理資料邊界問題。. 2004 的時候學者 Castano 和 Kunoth 提出了以 spline-wavelet 為基礎的迴歸 方法用來解決在不規則分布在空間的資料的迴歸問題 [ 13 ]。Castano 使用. coarse-to-fine 的方式以及選擇每一層級最好的係數組成迴歸公式,藉此來減少 組合的小波數量,最後再透過最小平方 (Least Squares) 來降低資料資間的誤 差。在 2005 年以及 2006 年 Castano 和 Kunoth 更近一步提出改進方法,使得. Castano 和 Kunoth 的方法可以更進一步處理離群資料(outliers)的問題 [ 11 ] [ 12 ]。. 22.

(31) 第三章、演算法概念 3.1 問題定義 迴歸分析是希望從一堆散佈在空間中的資料點之中找到一條方程式,讓所 有的資料點都被這個方程式所描述,或是資料點到方程式之間的距離總和可以 最小。 基因規劃(Genetic Programming)可以將數學算式編碼成樹狀結構,並且透 過基因演算法的方式演化出各種不同的算式,透過計算原始資料點之間的誤差 相比,可以找出一條誤差度最小的多項式(Polynomial)。多項式是由多個變數. (Variables)和常數(Constants)所組成的,有無窮多種的組合。因此透過基因規劃 尋找迴歸公式時,需要花費大量的計算時間才可以找到符合原始資料的多項 式。換句話說,基因規劃需要長時間的計算才可以讓演化收斂。 小波轉換(Wavelet Transform)是使用母小波(Mother Wavelet)來分析原始訊 號的各種不同頻率,藉由改變母小波的尺度(Scaling)和位子(Location)找出最相 似的部份。計算出來的小波係數(Wavelet Coefficients)數值越高表示母小波在該 尺度以及該位子和原始資料較為相近。若將小波係數進行反轉換的計算,則可 以得到原始的資料。當進行反轉換的時候,排除數值較低的小波係數,我們可 以得到相似的值且誤差不會太高,同時我們也可以找出一條迴歸公式。小波迴 歸在計算的時間上會比基因規劃快上許多,但是小波迴歸會受到原始資料、母 小波以及所設定的挑選門檻等等因素所限制,可能導致小波迴歸所找出的迴歸 公式誤差較為大。 由於小波轉換容易受到資料以及母波的挑選影響,而基因規劃是由隨機方 式出發,需要花費大量的時間讓算式樹從隨機算式演化為合適的算式樹。因 此,本論文提出結合小波轉換和基因規劃兩種方法來增進符號式迴歸引擎的效 能。先透過小波分析找出原始資料的趨勢,再使用基因規劃對迴歸公式進行算. 23.

(32) 式樹的結構微調,讓誤差達到最小,找出最合適的迴歸公式。. 3.2 小波迴歸 (Wavelet Regression) 傳統上,小波轉換是處理訊號的時間和頻率之間的關係,是一維度的資 料。但是複迴歸問題的資料並不是只有一維度,因此我們必須修改小波轉換公 式,讓它可以處理多維度的資料。在高維度的之中的小波轉換,可以很簡單的 將 Eq. ( 6 ) 之中的 t 和 b 延伸為座標向量 (Coordinate Vector) T 和 B , TD = {t1 ,t 2 ,L ,t D } 、 B D = {b1 ,b2 ,L ,bD },且 TD = t1 + t 2 + L + t D 。為了維持 2. 2. 2. D 維度之中的轉換時小波的能量不變,我們將小波轉換的比重修正為 1/a D/ 2 。 因此,多維度的小波公式從 Eq. ( 6 )修改為 Eq. ( 14 ),其中 D 代表資料的維度。. ψ a,b (t ) =. 1 a D/ 2. ⎛ TD -B D ψ ⎜⎜ ⎝ a. ⎞ ⎟ ⎟ ⎠. Eq. ( 14 ). 由於迴歸資料為離散的資料而非連續的訊號資料,因此我們使用離散小波 轉換(DWT)而非連續小波轉換(CWT)。在離散小波轉換之中,伸縮度參數 a 和 位移參數 b 會以對數離散(Logarithmic Discretization)進行簡化,離散簡化後的 小波如 Eq. ( 15 )所示。. ψ m,n (t ) =. 1 a0. m. ⎛ t-nb ψ ⎜⎜ m0 ⎝ a0. ⎞ ⎟ ⎟ ⎠. Eq. ( 15 ). 在 Eq. ( 15 )之中,a0 是一個事先定義好的縮放值,b0 也是事先定義好的位 移值的座標向量。m 為伸縮程度的等級(Level),其中 m ≥ 1 ,m 越大則母小波 就會被壓縮的越扁,便可以得到原始資料之中較細節的部份。n 則為位移的取 樣數(Sample)。當迴歸資料的維度大於 1 維時,位移的取樣數量會隨著 n 的 D 次方增長。在 D 維度的資料之中,位子取樣即為 nD。D 維度的離散小波轉換 公式如下式。. 24.

(33) Tm,n = ∑ x(T ). ⎛ T-B ⎜ m ψ m/ 2 ⎜a a0 ⎝ 0 1. ⎞ ⎟ ⎟ ⎠. Eq. ( 16 ). 由於我們希望小波迴歸所找出來的趨勢是可以以 GP 進行演化的,因此母 小波在挑選上必須是可以寫成符號式式子。下面 Eq. ( 17 )是一個符號式子的母 小波例子,墨西哥帽小波(Mexican Hat Wavelet)的公式。. ( ). ψ (t ) = 1-t 2 e -t. 2. /2. Eq. ( 17 ). 在本方法之中,先使用小波轉換來分析迴歸資料,得到原始資料的特徵之 後,再使用逆小波轉換的運算,將雜訊去除,如此可以得到一條以母小波構成 的數學函式。小波迴歸的演算法如下所示。. Step 1. 選擇母小波以及設定參數,伸縮程度的層級 m、位移的取樣數 n、 門檻值。 Step 2. 使用小波轉換分析資料。使用母小波在每一個層級 m 和取樣位 子 n 與資料進行運算,使用 Eq. ( 9 )計算出小波係數。 Step 3. 分析每一層所有位子的小波係數,若是係數的絕對值沒超過門檻 值的係數通通歸零。 Step 4. 使用 Eq. ( 10 )進行逆小波轉換將小波係數轉換為小波迴歸公式。 Step 5. 以符號式數學式輸出小波迴歸公式。 第一步為初始化,在初始化階段必須選擇所要採用的母小波以及設定各種 參數。第二步驟為小波轉換,使用母小波分析原始資料。第三步驟將低於門檻 值的小波係數歸零。第四步驟再使用母小波進行逆轉換。最後將所得小波迴歸 公式輸出到檔案之中。下圖 3.2-1 為小波迴歸的完整演算法流程。. 初 始 化. 小 波 轉 換. 門 檻 值 選 擇. 逆 小 波 轉 換. 圖 3.2-1 小波迴歸流程. 25. 輸 出 公 式.

(34) 3.3 以基因演算法為基礎的符號式迴歸引擎 (SRGP) SRGP 是使用演化計算 (Evolutionary Computing) 中的基因規劃 (Genetic Programming)來解決尋找迴歸公式的問題。SRGP 的演算法如下所示: Step 1. Step 2. Step 3. Step 4. Step 5. Step 6. Step 7. Step 8. Step 9.. Step 10.. 初始化。設定各種參數,以及產生第一個世代的族群。其中一 條染色體為小波迴歸所計算出來的資料趨勢。 使用適應度函式計算每一條染色體的適應度。 使用 Tournament Selection 選擇兩條染色體做為親代。 使用單點式交配法(One Point Crossover)產生新的子代 計算族群之中每一條染色體的每一個基因節點是否突變。若是 突變,則 1/2 機率為資料突變,另外 1/2 機率為結構突變。 計算每一條染色體的適應度 從父代和子代之中挑出最好的前 50%的染色體保留,其餘的染 色體捨棄不用 判斷是否達到終止條件,若是達到條件則跳到 Step 10.輸出結 果,若是未達到條件則進行 Step 9. Restart 判斷前面數代的適應值是否趨於收斂,若是收斂則保留最好的 一條染色體其餘的全部以亂數重新產生。若是沒有收斂則重複. Step 3. 停止執行並且輸出結果,最好的染色體即為所尋找的結果。. 演算法一開始會將小波迴歸所得到迴歸公式產生出第一條染色體,剩下的染色 體則會會以亂數的方式產生。這個步驟被稱為初始化。亂數產生的染色體會依 照適應度函式進行評估,經由評估之後,適應值較高的個體具有較高的機會可 以繁衍下一代。透過選擇配偶的階段,會挑選出適應值比較高的個體進行交配 的程序。交配後會產生新的個體,稱之為子代。產生出來的子代會有很低的機 會染色體會和父代截然不同,這個步驟叫做突變。透過交配和突變族群會有新 的個體的出現,這些新個體將會進行適應度的計算來評估是否是屬於優良的個 體。父代和子代中最優秀的個體將會被保留下來,其他的則會被淘汰掉。最後 這一群新的族群我們稱之為下一個世代,演算法到此會判斷是否有達到演化的 目標,若是達到目標將會把最好的個體輸出即為解答。相反的,若是未達到演 化的目標,演算法將會重複的進行擇偶、交配、突變、淘汰等步驟直到滿足條. 26.

(35) 件為止。整個 SRGP 的流程如下圖所示。. 初始化 選擇配偶. 族群重新. 適應度計算 交配 突變. 未達成 目標?. 適應度計算 達成 適者生存 輸出結果 圖 3.3-1 SRGP 流程. 3.3.1 適應度函式 (Fitness Function) SRGP 是將數學運算式經過適當編碼成為算式樹,以算式樹作為解迴歸方 程式問題的染色體,透過基因規劃的運算來演化出最好的解答。但是在演化的 過程之中要決定一條染色體的好壞,我們需要定義適應度函式(Fitness Function) 來幫忙評估染色體的好壞。 迴歸分析就是希望找出依變數(Response Variables)與自變數(Predictors)之 間關係的模型,讓這模型帶入自變數之後所算出的值可以和因變數之間的誤差 越小越好。我們考慮下面的 Eq. ( 18 ),xi 為自變數(Predictor)、yi 為因變數. (Response Variables)、f()為迴歸方程式。我們的目標就是要找出 f(xi)且 yi 和 f(xi) 之間的誤差趨進為零。因此我們定義適應度函式為迴歸方程式與因變數之間的 誤差,如 Eq. ( 19 )所示。. yi = f (xi ) where i = 0, 1, K , n. 27. Eq. ( 18 ).

(36) n. fitness = ∑ yi -f ( xi ). Eq. ( 19 ). i =0. 在演化過程之中,無所限制的演化會導致算式樹無限的擴張。如此會造成 計算上的龐大負擔,而且算式樹中會有不少的節點是屬於內含子(Intron),而 這些內含子對於迴歸方程式的計算是毫無意義的。例如算式 “ x + 0 ” 之中的. “ + 0 ” 的運算便是屬於內含子,無論有沒有這段基因碼都不會影響算式的結 果。這些內含子在計算時會消耗大量計算時間和記憶體空間,因此我們必須額 外限制算式樹的節點數量,讓演化的過程之中可以得到較精簡的迴歸方程式。 當一條染色體的樹節點越多代表這條染色體的適應分數將越差,而樹節點越少 的染色體則適應分數將會越好。所以適應函式從由 Eq. ( 19 )修改為 Eq.( 20 )。 其中 ω1 和 ω 2 為比重係數,若是 ω1 比重越高表示演化方向會注重迴歸方程式的 誤差;若 ω 2 比重越高表示演化方向則會朝向樹節點較少的算式樹演化。n(t)定 義如 Eq. ( 21 )所示,node(t)為樹節點個數、max_treenode 為定義好的最大節點 個數,。 n. fitness = ω1 ∑ yi -f ( xi ) + ω2 n(t ). Eq.( 20 ). n(t ) = node(t )/max_treenode. Eq. ( 21 ). i =0. 3.3.2 選擇策略 (Selection) 演化式計算是受到達爾文的法則 “適者生存不適者淘汰”所啟發而發展出 來的演算法, “擇優”是演化式計算之中非常重要的一環。挑出當代最強的個 體保留其優良的基因,讓演化的過程一代還比一代優良。因此如何適當的挑選 優良的個體是一件非常重要的事情。 傳統的基因演算法是採用輪盤法,每條染色體被挑選出來交配的機率和其 適應度成正比,越好的染色體被挑選的機率變越高。但是許多的研究指出每次. 28.

(37) 挑選只挑選最好的染色體,收斂的速度非常快速,導致族群演化過於早熟,搜 尋解答時容易陷入了區域最佳解的問題之中。為了避免演化過於早熟陷入區域 最佳解的問題之中,本論文採用 tournament 策略。選擇交配的染色體的時候並 非以當代最佳的染色體為父代,而是以 “相較”優良的染色體近行交配運算。. Tournament 選擇策略會先從整個族群之中隨機挑選出 n 條染色體,預設 n 值為 2。再從這些挑選出來的染色體之中找出最好的一條暫時保留。重複挑選 的動作得到第二條染色體。最後才將這兩條染色體進行交配的運算。由於從族 群之中挑選 n 條染色體時,每一條的染色體被挑選的機率是一樣的,因此所挑 選出來交配的染色體是相較下較為優良的個體。如此,族群在演化的過程中, 收斂不會進入早熟的狀態因而導致陷入區域最佳解的問題之中。 在演化的過程之中,除了交配時會需要進行選擇的動作之外,在族群產生 新的子代時也要進行選擇的動作來保留最好的個體。雖然演化整體趨勢是偏向 優化,但是新產生出來的子代不一定都會比父代還要優良。因此在世代交替的 時候,本論文採用菁英法則保留父代之中最好的一條,而非依照傳統的基因演 算法子代完全替代父代。. 3.3.3 重新策略 (Restart) 當演化過程之中,隨著演化代數的增加族群會漸趨穩定,這時候族群內的 基因大多數都是相似的。當族群進入穩定的時後,有可能代表演化找到了最佳 的解答,但是也有可能代表陷入了區域最佳解(Local Optimal)的問題之中。因 此,我們在演算法之中加入了族群重新(Restart)的策略。當族群演化過程之中, 族群的適應值趨於穩定的時候便使用族群重新策略。保留最好的染色體其他的 染色體都已亂數重新產生,讓族群之中加入新的基因。. 29.

(38) 3.4 演算法流程 由於小波迴歸可以快速的找出迴歸資料的趨勢,基因規劃可以找出資料的 細節。因此本論文提出結合小波迴歸與基因迴歸兩種方法,來增進符號式迴歸 引擎的效能。演算法可以分為兩大部分:小波迴歸與基因規劃。透過小波迴歸 找出資料的趨勢作為基因規劃的初始個體,再透過基因規劃來演化迴歸公式, 更加的縮減迴歸公式的誤差值,並且避免資料過於適應(Over Fitting)的問題。 下圖 3.4-1 是符號式迴歸引擎的流程,首先迴歸資料會先以小波迴歸進行 分析找出資料的整體趨勢。找出來的資料趨勢會再一步使用基因規劃演化迴歸 公式的細節,讓迴歸公式可以更加的精準而且可以避免過於適應的問題。. 迴歸資料. 符號式迴歸引擎 小波迴歸 迴歸資料趨勢 基因規劃. f(x). 迴歸公式. 圖 3.4-1 符號式迴歸引擎流程 符號式迴歸引擎演算法的主要步驟如下:. Step 1. Step 2. Step 3. Step 4.. 讀取資料並且計算資料維度和資料數量。 使用小波迴歸尋找資料趨勢並且將算式輸出成符號算式。 以小波迴歸找出的趨勢作為基因規劃的最初的父代,使用基 因規劃進行演化。 輸出基因規劃找出的迴歸公式. 30.

(39) 我們所提出的迴歸引擎可以分為四大步驟。第一步,讀取資料並且計算資料的 維度以及資料的數量,由於資料維度以及資料數量都會引響到後面的小波迴歸 和基因規劃的計算,因此必須先行記算。第二步驟,使用小波迴歸尋找資料的 趨勢,關於小波迴歸詳細的流程我們在 3.2 之中已經有詳細的敘述。由於小波 迴歸找出來的迴歸公式將會被後面的基因規劃的步驟使用,因此要特別注意小 波迴歸找出來的結果一定必須為符號式子。第三步驟為基因規劃的部份,基因 規劃會以小波迴歸所找出來的迴歸公式作為初始的父代再進行演化。最後基因 規劃所找出的迴歸公式及為符號式迴歸引擎所得到的結果。. 31.

(40) 第四章、實驗 4.1 實驗 A 4.1.1 資料收集 為了測試 WR 和 SRGP 的可行性,在實驗 A 之中我們已九個測試方程式 來進行測試,並且以高斯亂數分別加上 5%、10%、20%強度的雜訊。 表 4.1-1 九個測試方程式 測試方程式. 1 Two-Peak Trap 2 Central Two-Peak Trap. 方程式. ⎧(160 / 15) * (15 - x) if x < 15 f (x ) = ⎨ ⎩ (200 / 5) * (x- 15) otherwise if x < 10 ⎧(160 / 10) * x ⎪ f(x) = ⎨(200 / 5) * (20 - c) if x > 15 ⎪(160 / 5) * (15 - c) otherwise ⎩. 3 Fully Uneven-Peak Trap. ⎧80 * (2.5 - x) ⎪64 * (x- 2.5) ⎪ ⎪64 * (7.5 - x) ⎪ ⎪28 * (x- 7.5) f(x) = ⎨ ⎪28 * (17.5 - x) ⎪32 * (x- 17.5) ⎪ ⎪32 * (27.5 - x) ⎪80 * (x- 27.5) ⎩. 4 Equal Maxima. f(x) = sin 6 (5 πx). 5 Decreasing Maxima. 6 Uneven Maxima 7 Uneven Decreasing Maxima. if 0 ≤ x < 2.5 if 2.5 ≤ x < 5.0 if 5.0 ≤ x < 7.5 if 7.5 ≤ x < 12.5 if 12.5 ≤ x < 17.5 if 17.5 ≤ x < 22.5 if 22.5 ≤ x < 27.5 if 27.5 ≤ x < 30. 2 ⎛ ⎛ x- 0.1 ⎞ ⎞⎟ 6 ⎜ f(x) = exp - 2 log(2)* ⎜ ⎟ ⎟ * sin (5 πx ) ⎜ ⎝ 0.8 ⎠ ⎠ ⎝. f(x) = sin 6 (5 π(x 3 / 4 - 0.05)) 2 ⎛ ⎛ x - 0.008 ⎞ ⎞⎟ 6 3/4 ⎜ f(x) = exp - 2log(2 )* ⎜ ⎟ ⎟ * sin (5π (x - 0.05)) ⎜ 0.854 ⎝ ⎠ ⎠ ⎝. 8 Doppler. f (x ) = x (1 - x ). 9 Exponential Line. f (x ) =. 1/ 2. (. sin (2 π(1 + ε ) / (x + ε )), ε = 0.05. (. 1 (4 x- 0.4) + 2 exp - 16(4 x- 0.3)2 4. 32. )).

(41) z. Two-Peak Trap:由於 Two-Peak Trap 是由兩段數學運算式所組成的方程 式,因此是一種難以找出最佳迴歸公式的問題。Two-Peak Trap 的 x 介於. 0 到 20 之間,而 f ( x ) 則介於 0~200。資料點數為 973 筆。 z. Central Two-Peak Trap:類似 Two-Peak Trap,Central Two-Peak Trap 函式 也是由數段運算式組成,不同點在於區域最大值是在中間而非在資料邊 界。x 介於 0 到 20 之間,而 f ( x ) 則介於 0~200,資料點數為 1185 筆。. z. Fully Uneven-Peak Trap:學者 Deb 和 Goldberg 提出了另一個 Trap 方程 式來表示一個更複雜的方程式。Fully Uneven-Peak Trap 的 x 介於 0 到 30 之間,而 f (x ) 則介於 0~200。資料點數為 973 筆。. z. Equal Maxima:Equal Maxima 方程式有五個相同間距的最大值,而且這 些最大值都相等。x 的值介於 0 到 1 之間, f ( x ) 的值也是介於 0 到 1。 資料總數為 1070。. z. Decreasing Maxima:Decreasing Maxima 方程式和 Equal Maxima 方程式 很相似,但是 f ( x ) 最大值會隨著 x 的值增加而成指數遞減。x 和 f ( x ) 都 介於 0 到 1 之間。資料總數為 1323。. z. Uneven Maxima:Uneven Maxima 方程式也是和 Equal Maxima 方程式相 似,但是 Uneven Maxima 的最大值之間的距離不是相同的。資料數 1373。. z. Uneven Decreasing Maxima:Uneven Decreasing Maxima 方程式像是結合 了 Decreasing Maxima 和 Uneven Maxima。 f ( x ) 最大值之間的距離並不 相同,而且最大值也會隨 x 遞減。資料筆數 2151 筆。. z. Doppler:Doppler 方程式是以 sin 波為基礎,擺盪的幅度隨著 x 值增加 而降低,複雜度不低的一個方程式。x 的值介於 0 到 1 之間, f ( x ) 的值 則在正負 0.125 之間,資料數 1024 筆。. z. Exponential Line:Exponential Line 是以一條線性方程式為基礎,但是在 33.

(42) 中間的區段加上指數讓方程式更加複雜。x 的值介於 0 到 1 之間 f ( x ) 則 介於 0 到 0.925。資料筆數 683 筆。 Two-Peak Trap. Two-Peak Trap with Noise 5%. 250. 250. 200. 200. 150. 150. 100. 100 50. 50. 0. 0 0. 2. 4. 6. 8. 10. 12. 14. 16. 18. -50. 20. 2. 4. 6. 8. 10. 12. 14. 16. (a) Two-Peak Trap. (b) Two-Peak Trap 加上 5%雜訊. Two-Peak Trap with Noise 10%. Two-Peak Trap with Noise 20%. 250. 250. 200. 200. 150. 150. 100. 100. 50. 50. 0 -50. 0. 18. 20. 18. 20. 18. 20. 0 0. 2. 4. 6. 8. 10. 12. 14. 16. 18. 20. -50. 0. 2. 4. 6. 8. 10. 12. 14. 16. (d) Two-Peak Trap 加上 20%雜訊 (c) Two-Peak Trap 加上 10%雜訊 圖 4.1-1 Two-Peak Trap. Central Two-Peak Trap. Central Two-Peak Trap with Noise 5%. 250. 250. 200. 200. 150. 150. 100. 100 50. 50. 0. 0 0. 2. 4. 6. 8. 10. 12. 14. 16. 18. -50. 20. 0. 2. 4. 6. 10. 12. 14. 16. (b) Central Two-Peak Trap 加上 5%雜訊. (a) Central Two-Peak Trap Central Two-Peak Trap with Noise 10%. Central Two-Peak Trap with Noise 20%. 250. 250. 200. 200. 150. 150. 100. 100. 50. 50. 0 -50. 8. 0 0. 2. 4. 6. 8. 10. 12. 14. 16. 18. 20. -50. 0. 2. 4. 6. 8. 10. 12. 14. 16. 18. (d) Central Two-Peak Trap 加上 20%雜訊 (c) Central Two-Peak Trap 加上 10%雜訊 圖 4.1-2 Central Two-Peak Trap 34. 20.

(43) Five-Uneven-Peak Trap. Five-Uneven-Peak Trap with Noise 5%. 250. 250. 200. 200. 150. 150. 100. 100 50. 50. 0. 0 0. 5. 10. 15. 20. 25. -50. 30. 5. 10. 15. 20. 25. 30. (a) Five Uneven-Peak Trap. (b) Five Uneven-Peak Trap 加上 5%雜訊. Five-Uneven-Peak Trap with Noise 10%. Five-Uneven-Peak Trap with Noise 20%. 250. 250. 200. 200. 150. 150. 100. 100. 50. 50. 0 -50. 0. 0 0. 5. 10. 15. 20. 25. 30. -50. 0. 5. 10. 15. 20. 25. 30. (c) Five Uneven-Peak Trap 加上 10%雜訊 (d) Five Uneven-Peak Trap 加上 20%雜訊 圖 4.1-3 Five-Uneven-Peak Trap. Equal Maxima. Equal Maxima with Noise 5% 1.2. 1.2 1. 1. 0.8. 0.8. 0.6. 0.6. 0.4. 0.4. 0.2. 0.2 0. 0 0. 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. -0.2 0. 1. 0.1. 0.2. 0.3. 0.5. 0.6. 0.7. 0.8. 0.9. 1. 0.9. 1. (b) Equal Maxima 加上 5%雜訊. (a) Equal Maxima Equal Maxima with Noise 10%. Equal Maxima with Noise 20%. 1.2. 1.4. 1. 1.2 1. 0.8. 0.8. 0.6. 0.6. 0.4. 0.4 0.2. 0.2. 0. 0 -0.2 0. 0.4. -0.2 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. -0.4. (d) Equal Maxima 加上 20%雜訊 (c) Equal Maxima 加上 10%雜訊 圖 4.1-4 Equal Maxima. 35.

(44) Decreasing Maxima. Decreasing Maxima with Noise 5% 1.2. 1.2 1. 1. 0.8. 0.8. 0.6. 0.6. 0.4. 0.4. 0.2. 0.2 0. 0 0. 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. -0.2 0. 1. 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. (b) Decreasing Maxima 加上 5%雜訊. (a) Decreasing Maxima Decreasing Maxima with Noise 10%. Decreasing Maxima with Noise 20%. 1.2. 1.2. 1. 1. 0.8. 0.8 0.6. 0.6. 0.4. 0.4. 0.2. 0.2. 0. 0. -0.2 0. -0.2 0. 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. -0.4. (d) Decreasing Maxima 加上 20%雜訊 (c) Decreasing Maxima 加上 10%雜訊 圖 4.1-5 Decreasing Maxima. Unevern Maxiam. Unevern Maxiam with Noise 5% 1.2. 1.2 1. 1. 0.8. 0.8. 0.6. 0.6. 0.4. 0.4. 0.2. 0.2 0. 0 0. 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. -0.2 0. 1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. (a) Uneven Maxima. (b) Uneven Maxima 加上 5%雜訊. Unevern Maxiam with Noise 10%. Unevern Maxiam with Noise 20%. 1.2. 1.4. 1. 1.2. 1. 1. 0.8. 0.8. 0.6. 0.6. 0.4. 0.4 0.2. 0.2. 0. 0 -0.2 0. 0.1. -0.2 0 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. -0.4. (d) Uneven Maxima 加上 20%雜訊 (c) Uneven Maxima 加上 10%雜訊 圖 4.1-6 Uneven Maxima. 36. 1.

(45) Uneven Decreasing Maxima. Uneven Decreasing Maxima with Noise 5% 1.2. 1.2 1. 1. 0.8. 0.8. 0.6. 0.6. 0.4. 0.4. 0.2. 0.2 0. 0 0. 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. -0.2 0. 1. 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. (a) Uneven Decreasing Maxima. (b) Uneven Decreasing Maxima 加上 5%雜訊. Uneven Decreasing Maxima with Noise 10%. Uneven Decreasing Maxima with Noise 20%. 1.2. 1.4. 1. 1.2 1. 0.8. 0.8. 0.6. 0.6. 0.4. 0.4 0.2. 0.2. 0. 0. -0.2 0. -0.2 0. 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. -0.4. (d) Uneven Decreasing Maxima 加上 20%雜訊 (c) Uneven Decreasing Maxima 加上 10%雜訊 圖 4.1-7 Uneven Decreasing Maxima. Doppler with Noise 5%. Doppler 0.15. 0.15 0.1. 0.1. 0.05. 0.05 0. 0 -0.05. 0. 0.2. 0.4. 0.6. 0.8. 0. 1. 0.2. 0.4. 0.6. 0.8. 1. -0.05. -0.1. -0.1. -0.15. -0.15. (a) Doppler. (b) Doppler 加上 5%雜訊. Doppler with Noise 10%. Doppler with Noise 20% 0.15. 0.15. 0.1. 0.1. 0.05. 0.05. 0 0. 0 0. 0.2. 0.4. 0.6. 0.8. 0.2. 0.4. 0.6. 0.8. -0.05. 1. -0.05. -0.1. -0.1. -0.15. -0.15. -0.2. (c) Doppler 加上 10%雜訊. (d) Doppler 加上 20%雜訊 圖 4.1-8 Doppler. 37. 1.

(46) Exponential Line. Exponential Line with Noise 5 %. 1. 1. 0.9. 0.9. 0.8. 0.8. 0.7. 0.7. 0.6. 0.6. 0.5. 0.5. 0.4. 0.4. 0.3. 0.3. 0.2. 0.2. 0.1. 0.1 0. 0 0. 0.2. 0.4. 0.6. 0.8. 0. 1. 0.2. 0.4. 0.6. 0.8. (a) Exponential Line. (b) Exponential Line 加上 5%雜訊. Exponential Line with Noise 10 %. Exponential Line with Noise 20 %. 1. 1.2. 1 0.9. 1. 0.8 0.7. 0.8. 0.6 0.6. 0.5 0.4. 0.4. 0.3 0.2. 0.2. 0.1 0. 0 0. 0.2. 0.4. 0.6. 0.8. 0. 1. 0.2. 0.4. 0.6. 0.8. (d) Exponential Line 加上 20%雜訊 (c) Exponential Line 加上 10%雜訊 圖 4.1-9 Exponential Line. 38. 1.

(47) 4.1.2 實驗設計 為了確認結合 WR 和 SRGP 的迴歸引擎是可以應用在迴歸問題上,我們 使用人造的數學資料來進行測試。在 WR 的部份所使用的參數如表 4.1-2 所 示。我們所選用的母小波為 Mexican Hat,伸縮度的等級上我們設為 7 層,每 一層都分別在 65 個位子上進行小波轉換。門檻值的選擇是保留每一層最好的 前三個,其他的都無條件捨去。SRGP 的參數設定則如表所示。族群各數有 16 條染色體,突變機率為 0.1,最多執行 10000 代。每個染色體最大樹節點各數 為 1023 個。所使用的運算子為 {+,-,*,÷, sin, cos, pow}。 表 4.1-2 Wavelet Regression 參數 WR 參數. 設定值. 母小波. 墨西哥帽. a0. 2. b0 位子取樣. 0.015625 65. 7 門檻值選擇 前三名係數 伸縮程度. 表 4.1-3 SRGP 參數 SRGP 參數. 設定值. 停止條件 1. Fitness(⋅) ≥ 1.0. 停止條件 2 停止條件 3. Max. Generation = 15000 1000 代 Fitness Value 毫無改進. 族群大小. 100. 突變機率. 0.01. 最大樹節點各數 1023 適應度比重 ω1 0.8 適應度比重 ω 2 運算子. 0.2 {+,-,*,÷, sin, cos, pow}. 我們以未加入 WR 的 SRGP 以及傳統的 Linear Regression 作為實驗比較的 對象,分別比較 Mean Absolute Error (MAE)和 Mean Square Error (MSE)。對於. SRGP 在額外比較收斂的曲線圖。. 39.

(48) 4.1.3 實驗結果 z. Two-Peak Trap:從實驗結果來看,在 Two-Peak Trap 之中,本論文所提 出的迴歸引擎的確可以很順利的找到迴歸公式,而且即使有雜訊的存在 也不會受到雜訊的影響。. z. Central Two-Peak Trap:Central Two-Peak Trap 和 Two-Peak Trap 的結果 一樣,迴歸引擎都可以找出非常合適的迴歸公式。不過由於問題較. Two-Peak Trap 來的複雜,因此我們在轉折的地方開始有較明顯的誤差, 但是這誤差還在合理的範圍之內。 z. Five Uneven-Peak Trap:在 Five Uneven-Peak Trap 之中,迴歸引擎可以 找出趨進的迴歸公式,但是在轉折的部份誤差較為前兩個實驗大。. z. Equal Maxima:從實驗的結果來看,迴歸引擎可以找到相似的迴歸公 式。但是同樣的在轉折的細節部份,所得到的誤差會比較大。. z. Uneven Maxima:Uneven Maxima 和 Equal Maxima 的結果相似。最大值 的間隔不同並不會影響迴歸引擎所找出的迴歸公式。不過相同的,在轉 折的部份誤差都會較大。. z. Decreasing Maxima:迴歸公式大致上符合原始資料,但是在第四、第五 個最大值的部分有較大的誤差,這是因為小波迴歸在尋找趨勢的時候是 每一個層級選三個最好的係數,剛好挑到的前三個係數剛好是前三個最 大值,而基因規劃演化的時候又陷入區域最佳解無法找到更好的結果, 因此第四和第五個結果就比較不理想。在雜訊 10%和 20%的時候,第四 和第五個誤差就較小,便是因為演化過程的時候跳出了區域最佳解。. z. Uneven Decreasing Maxima:在 Uneven Decreasing Maxima 之中所找的 迴歸公式在第四和第五個最大值的部份誤差並不大,除了雜訊 10%的實 驗的第四個最大值有比較大的誤差之外,其他的三個實驗結果誤差都並. 40.

(49) 不高。從此實驗和 Decreasing Maxima 相較,更可以確定小波迴歸所計 算出的資料趨勢會影響基因規劃尋找的結果。 z. Doppler:Doppler 的實驗之中在前段的部份迴歸公式有較高的誤差。仔 細觀察原始資料我們可以發現在前段的部分資料介於-0.05~0.05 之中, 因此迴歸公式找出來趨近 0 的公式也只有 0.05 的誤差,因此迴歸引擎又 陷入了區域最佳解的問題之中。. z. Exponential Line:Exponential Line 的結果之中我們可以看到,一樣在轉 折的部份迴歸公式的誤差較大。在 5%雜訊之中的結果較不理想,但在 其他的實驗資料之中誤差並不像 5%雜訊的資料大,因此我們可以推斷 在 5%雜訊的實驗之中,迴歸引擎又陷入了區域最佳解的問題。. Two-Peak Trap. Two-Peak Trap with Noise 5%. 250. 250. 200. 200. 150. Y. 100. f(x). 150 f(x). 50. 50. 0. 0 0. 100. 200. 300. 400. 500. 600. 700. 800. 900. 1000. -50. 0. 100. 200. 300. 400. 500. 600. 700. 800. (a) Two-Peak Trap 的迴歸結果. (b) 5%雜訊的迴歸結果. Two-Peak Trap with Noise 10%. Two-Peak Trap with Noise 20%. 250. 250. 200. 200. 150. 900. 1000. 150 Y. 100. Y. 100. f(x). 50. f(x). 50. 0 -50. Y. 100. 0 0. 100. 200. 300. 400. 500. 600. 700. 800. 900. 1000. -50. 0. 100. 200. 300. 400. 500. 600. 700. 800. (c) 10%雜訊的迴歸結果 (d) 20%雜訊的迴歸結果 圖 4.1-10 Two-Peak Trap 的迴歸結果. 41. 900. 1000.

(50) Central Two-Peak Trap. Central Two-Peak Trap 5%. 250. 250. 200. 200. 150. 150 Y. 100 50. Y. 100. f(x). f(x). 50. 0. 0. -50 0. 200. 400. 600. 800. 1000. 1200. -50 0. 200. 400. 600. 800. 1000. (a) Central Two-Peak Trap 的迴歸結果. (b) 5%雜訊的迴歸結果. Central Two-Peak Trap 10%. Central Two-Peak Trap 20%. 250. 250. 200. 200. 150. 1200. 150 Y. 100 50. Y. 100. f(x). f(x). 50. 0. 0. -50 0. 200. 400. 600. 800. 1000. 1200. -50 0. 200. 400. 600. 800. 1000. 1200. (d) 20%雜訊的迴歸結果 (c) 10%雜訊的迴歸結果 圖 4.1-11 Central-Two Peak 的迴歸結果. Five Uneven-Peak Trap with Noises 5%. Five Uneven-Peak Trap 250. 250. 200. 200. 150. Y. 100. f(x). 150 f(x). 50. 50. 0. 0 0. 200. 400. 600. 800. 1000. -50. 0. 200. 400. 600. 800. 1000. (a) Five Uneven-Peak Trap 的迴歸結果. (b) 5%雜訊的迴歸結果. Five Uneven-Peak Trap with Noises 10%. Five Uneven-Peak Trap with Noises 20%. 250. 250. 200. 200. 150. 1200. 150. Y. 100. Y. 100. f(x). f(x) 50. 50. 0. 0 -50. Y. 100. 0. 200. 400. 600. 800. 1000. 1200. -50. 0. 200. 400. 600. 800. 1000. (d) 20%雜訊的迴歸結果 (c) 10%雜訊的迴歸結果 圖 4.1-12 Five Uneven-Peak Trap 的迴歸結果. 42. 1200.

(51) Equal Mixma. Equal Mixma with Noises 5%. 1.2 1 0.8 0.6. 0.8 Y. 0.4 0.2 0 -0.2 0. Y. f(x). 200. 400. 600. f(x). 0.3. -0.2 0. 800. 200. 400. 600. 800. (a) Equal Maxima 的迴歸結果. (b) 5%雜訊的迴歸結果. Equal Mixma with Noises 10%. Equal Mixma with Noises 20%. 0.8. 0.8 Y. Y. f(x). 0.3. -0.2 0. 200. 400. 600. f(x). 0.3. -0.2 0. 800. 200. 400. 600. 800. (d) 20%雜訊的迴歸結果 (c) 10%雜訊的迴歸結果 圖 4.1-13 Equal Maxima 的迴歸結果. Uneven Maxima. Uneven Maxima with Noises 5%. 1.4. 1.2. 1.2. 1. 1. 0.8. 0.8 0.6 0.4. Y. 0.6. Y. f(x). 0.4. f(x). 0.2. 0.2. 0. 0 -0.2 0. 200. 400. 600. 800. 1000. 1200. -0.2 0. 1400. 600. 800. 1000. 1200. (b) 5%雜訊的迴歸結果. Uneven Maxima with Noises 10%. P8 20% 1.4 1.2 1 0.8 0.6 0.4 0.2 0 -0.2 0 -0.4. 1 0.8 0.6. Y f(x). 0.4 0.2 0 0. 400. (a) Uneven Maxima 的迴歸結果. 1.2. -0.2. 200. 200. 400. 600. 800. 1000. 1200. 1400. Y f(x). 200. 400. 600. 800. 1000. 1200. (d) 20%雜訊的迴歸結果 (c) 10%雜訊的迴歸結果 圖 4.1-14 Uneven Maxima 的迴歸結果. 43. 1400. 1400.

(52) Decreasing Maxima. Decreasing Maxima with Noises 5%. 1.2. 1.2. 1. 1. 0.8. 0.8. 0.6 0.4 0.2. Y. 0.6. Y. f(x). 0.4. f(x). 0.2. 0 -0.2 0. 200. 400. 600. 800. 1000. 1200. 0. 1400. -0.2 0. -0.4. 400. 600. 800. 1000. 1200. (a) Decreasing Maxima 的迴歸結果. (b) 5%雜訊的迴歸結果. Decreasing Maxima with Noises 10%. Decreasing Maxima with Noises 20%. 1400. 1.2. 1.2. 1. 1. 0.8. 0.8 0.6. Y. 0.4. f(x). 0.6. Y. 0.4. f(x). 0.2. 0.2. 0. 0 -0.2 0. 200. -0.2 0. 200. 400. 600. 800. 1000. 1200. 1400. 200. 400. 600. 800. 1000. 1200. 1400. -0.4. (d) 20%雜訊的迴歸結果 (c) 10%雜訊的迴歸結果 圖 4.1-15 Decreasing Maxima 的迴歸結果. Uneven Decreasing Maxima. Uneven Decreasing Maxima with Noises 5%. 1.2. 1.2. 1. 1. 0.8. 0.8. 0.6. Y. 0.6. Y. 0.4. f(x). 0.4. f(x). 0.2. 0.2. 0 -0.2 0. 0 500. 1000. 1500. 2000. -0.2 0. 500. 1000. 1500. 2000. (a) Uneven Decreasing Maxima 的迴歸結果. (b)加上 5%雜訊的迴歸結果. Uneven Decreasing Maxima with Noises 10%. Uneven Decreasing Maxima with Noises 20% 1.4 1.2. 1.2 1. 1 0.8 0.6. 0.8 0.6. Y. 0.4. f(x). 0.2 0 -0.2 0. 500. 1000. 1500. Y. 0.4 0.2 0 -0.2 0 -0.4. 2000. f(x). 500. 1000. 1500. 2000. (d)加上 20%雜訊的迴歸結果 (c)加上 10%雜訊的迴歸結果 圖 4.1-16 Uneven Decreasing Maxima 的迴歸結果. 44.

參考文獻

相關文件

實務上在應用 SPSS 軟體 run 完主 成分分析後,應該進一步進行因素 轉軸,在社會科學研究中,varimax 法為最常使用的,varimax

接收機端的多路徑測量誤差是GPS主 要誤差的原因之一。GPS信號在到達 地球沒有進到接收機之前,除了主要 傳送路徑之外,會產生許多鄰近目標 反射的路徑。接收機接收的首先是直

在於是否在「知道」與「能做」之外,還 能「識」。而識的媒介與深度,仍然以實

 把有着相同符號的圖畫書編 成小單元,歸類施教,引導 學生認識符號的共通點,辨 別其中的細微差異,建構文 學鑑賞能力.

‧ 「種籽」計畫名稱及編號 : 善用社區資源促進 常識科的探究式學習 (KP0107). ‧

(approximation)依次的進行分解,因此能夠將一個原始輸入訊號分 解成許多較低解析(lower resolution)的成分,這個過程如 Figure 3.4.1 所示,在小波轉換中此過程被稱為

The peak detector and loop filter form a feedback circuit that monitors the peak amplitude, A out, of the output signal V out and adjusts the VGA gain until the measured

4.1 多因子變異數分析 多因子變異數分析 多因子變異數分析 多因子變異數分析與線性迴歸 與線性迴歸 與線性迴歸 與線性迴歸 4.1.1 統計軟體 統計軟體 統計軟體 統計軟體 SPSS 簡介 簡介