第二章 背景知識
2.2 人工免疫系統
一般的工程最佳化設計問題都很複雜,很難用人力去達成運算的工作,所以 利用計算機來處理運算的工作是必須的。在處理問題時,都要先瞭解問題並分析 問題。分析問題是要將問題的輸出、輸入清楚地定義出來,有了輸出輸入才有辦 法針對不同的目標值作處理。分析完問題之後,就需要一個有效的演算法快速地 求得問題的最佳解,本節將介紹人工免疫系統用來搜尋最佳設計解。圖2.3為人 工免疫系統流程圖。
抗原辨識
初始抗體產生
計算親合度
抗體產生刺激和抑制
群體更新
是否滿足條件
結束
否
是
圖 2.3 人工免疫系統流程圖。
(1) 抗原辨識:
輸入目標函數(抗原)和各種約束作為人工免疫網路演算法則的抗原。
(2) 初始抗體群產生:
刺激記憶細胞產生初始抗體群,清除過去出現過的抗原,並從包含較佳 抗體(較佳解)的數據中選取一些抗體。初始通常為隨機產生,編碼方式主要 有二進制編碼(binary code)、實數編碼(real code)、灰色編碼(gray code)等。
(3) 計算親合度(affinity):
抗體之間和抗體對抗原之間的相互作用是利用親合度來描述,能與抗原
抗體的基因都相同時,則E Nj( )=0。
2.3 共生式人工免疫系統
共生式人工免疫演算法為 Halavati[10]於 2009 年基於原始人工免疫演算法架 構所提出,跟原始人工免疫演算法整體上並無太大差異,僅在共生式人工免疫演 算法提出了抗體基元的概念,類似於基因演算法中合作式的想法[12][13]。
原始人工免疫演算法過程中是將一個抗體視為一個完整的解,在演化尋找最 佳解的過程中,每個抗體與抗體之間是為競爭的關係。例如,一個抗體同時代表 解的兩種特徵,而利用這種抗體表示法,當抗體親和力好的部分被親和力差的部 分環繞時,那整個抗體會呈現低親和力,也代表會有較小的機率被選擇、複製,
結果使得對演化有利的部分慢慢消失。而共生式人工免疫演算法提出的概念就是 將一個抗體視為多個抗體基元組合而成,將每種特徵分出來,然後再個別去進行 演化。圖 2.5、圖 2.6 為完整的共生式人工免疫系統流程圖。
隨機產生一個空的抗體組合並稱作現階段抗體組合
抗體組合是否完整?
產生一個空的集合並稱作可用集合然後填入與現階 段抗體組合無衝突的抗體基元並至少有一個未在現
階段抗體組合中被指定的抗體基元
可用集合是否 為空?
隨機產生數個與現階段抗體組合 中不同的抗體基元 隨機選可用集合中的抗體基元
並將抗體基元加入現階段抗體 組合
否 是
否 回到抗體組合並離開
是
圖 2.5 產生抗體集合演算法。
抗原辨識
計算親合度
抗體產生刺激和抑制
群體更新
是否滿足條件
結束
否
是
利用上圖演算法產生 抗體集合
圖 2.6 共生式人工免疫系統流程圖。
2.4 資料探勘
資料探勘(data mining)是用來擷取所需資訊一種有效的方法[14],這些資訊藏 於大量的資料庫中,透過資料探勘可找出使用者所需要且有價值的潛藏規則。資 料探勘可視為資料庫知識發掘(knowledge discovery in database)的一部分,其中知 識發掘的過程包括資料選取、前置處理、轉換、資料探勘及解釋與評估。若資料 庫本身具有足夠的完整性,則所得到的結果將會是重要的知識。資料探勘運用分 類、群集分析、關連性、序列分析、機器自我學習及其它統計方法,從資料庫中 找出隱藏、未知且有用的資訊。
資料探勘可分成五種模式,分類(classification)、趨勢分析(trend analysis)、
分群(clustering)、關聯(association)及循序特徵(sequence pattern)。
1.
分類:根據一些變數的數值做計算,再依照結果作分類。例如可將全部垃圾 資料分為可燃不可燃,以這些完成分類的資料,研究可燃垃圾與不可燃垃圾 的性質和特徵,這就是從歷史資料中所得到的知識,再利用這些擷取到的知 識,去對未來的資料做預測。2.
趨勢分析:以現今所得到的資訊,來預測未來的數值。例如工廠利用去年的 訂單和員工請假頻率,來衡量今年需要雇請多少員工,或是將去年與今年員 工數做比較,找出其中的差異性。3.
分群:是將資料分組,其目的是找出各組之間的差異及同組中成員的相似性,使群組內差異小,群組外差異大。例如百貨公司將商品以使用客戶年齡層、
性別、消費能力,分不同樓層區塊擺放,這種分群可使百貨公司更易於統計 客戶的需求,也增加客戶的便利性。
4.
關聯:是要在同一個交易中找出隱含其它項目之存在的項目,找出某一事件 或是資料中會同時出現的部分。例如客人買了餅乾和糖果,則在這情況下,多數客人喜歡也買汽水,透過這種關聯性,商家將糖果、餅乾及汽水,放置 在同一個區塊,且只針對餅乾和糖果做特價,則可達到將三種商品一起賣出 的效果,達到銷售目的。
5.
循序特徵:與關聯關係密切,最大的不同是循序特徵中相關項目是以時間加 以區分。例如客人買了餅乾和糖果,在這種情況下,兩天後客人會再來買汽 水的機率。資料探勘流程圖如圖 2.7 所式,各步驟解釋如下:
資料庫
選取指定探勘資料
篩選探勘資料
資料探勘
探勘結果
圖 2.7 資料探勘流程圖。
1. 建立資料庫:要執行資料探勘第一步驟就是須有一個完整且大量的資料庫,
這個資料庫中未必所有項目都是使用者所需要,也未必每一筆資料都無瑕疵,
因此在使用前應先做前處理。
2. 選取指定探勘資料:資料庫並未必僅依照使用者當下需求所建立,因此許多 種類的資訊是不必要的,探勘的資料可能不會是整個資料庫的全部,需要的 僅是其中一個資料庫的一部份,或是數個資料庫裡的一部分資料。
3. 篩選探勘資料:篩選出較好的資料,刪除一些不必要的內容,例如資料重複、
資料錯誤、或資料無效…等,目的使探勘過程減少計算量以及確保資料的完 整性。
4. 資料探勘:種類如上述資料探勘五種模式,分類、趨勢分析、分群、關聯及 循序特徵等。
5. 探勘結果分析:藉由資料探勘,找出隱藏的特徵或關聯性。
資料探勘憑著可預測未來的趨勢,可對使用者提出有用的建議,但唯有好的 資料庫及前置處理,才是資料探勘最重要的一步。
2.4.1
發掘關聯式規則
發掘關聯式規則(mining association rule)最早是 1993 年由 Agrawal[9][10]
等人所提出,主要用來找出項目間的關聯性,例如用於賣場商品販售上,可找出 各商品間販賣的關係,像是買牙刷的人有多少機率會買牙膏、買洗髮精的人有少 機率會買潤髮乳等。文獻[15]-[18]提及關聯法則於市場應用的重要性。
支持度(support)和信任度(confidence)是發掘關聯式規則最重要的兩個指標,
若以賣場為例,兩者表示如(2.7)式、(2.8)式,支持度(X→ Y)表示同時購買商品 X 跟 Y 的機率,而信任度(X→ Y)代表當顧客購買商品 X 時,同時會購買商品 Y 的 機率,由這兩種指標可以了解顧客的購買習慣,可成為賣場商品做促銷時所需重 要資訊。
使用上,首先須設定最小支持度(minimum support)以及最小信任度的門檻 (minimum confidence),利用這兩個指標為使用者做篩選。發掘關聯式規則有兩 個步驟:步驟一,找出所有頻繁項目。步驟二,由步驟一所得到的頻繁項目,產 生高關聯性的規則。
支持度=
xsy
→ = (同時包含 X 跟 Y 的銷售紀錄) (總交易紀錄). (2.7)
信任度=
xcy
→ = ( 同時包含 X 跟 Y 的銷售紀錄) (包含 X 的銷售紀錄) (2.8) 如圖 2.8 所示,為一簡單範例,交易項目包含{A, B, C, D, E, F}六項,而超過 最小支持度的項目總共有{A}、{D}、{E}、{F}、{A, D}、{A, E}、{D, E}及{A, D,
E}等 7 項。
2.4.2
頻繁樣式成長演算法
排序,即為圖 2.10 中左邊的表格,上步驟結束後,建立標頭索引表(header table),索引表的建立僅依存在項目出現的次數加以排序,目的是在找出頻繁項樹中每個 項目的第一個節點,由圖 2.10 左表及標頭索引表,建立頻繁項樹,且每個相同 項目以虛線連接,如圖 2.10 所示。
標頭索引表
2.5 模糊類神經網路
模糊系統目前已經廣泛的應用在自動控制系統以及信號處理等方面,尤其近 年來對於控制器的設計有著十分重要的貢獻,模糊系統已經慢慢有成為設計控制 器的理想工具的趨勢。由於模糊系統可應用的範圍非常的廣泛,因此有時亦稱之 為模糊專家系統(fuzzy expert system)。其模仿人類對於事物描述方式具有模糊性 的觀念,因此模糊系統的優點即是不需要完整精確的數學模型。
另一方面其結合人類的知識於系統的設計上。而模糊化的好處是可以提供較 好的推廣性、錯誤容忍度、以及更適合應用於真實世界中各種非線性系統。以下 章節 2.5.1 將介紹模糊系統的架構;2.5.2 則說明模糊系統結合類神經網路來建構 模糊化類神經網路。
2.5.1 模糊系統
首先我們討論模糊模型對於信息的陳述方法依照模糊規則的不同概略可以 分為兩種的類型;第一類模型是由學者 Mamdani[20]所發展出來,一般稱之為 linguistic 模型,其模糊規則是屬於語意式的模糊規則(linguistic fuzzy rule),其數 學模型可以表示為:
1 1 2 2
: If is and is , , and m is m, then ,
r x A x A … x A y =c (2.9)
此處 (r =1, 2, …, )R 代表第個模糊規則,A1, , , (A2 … Am =1, 2, , )… R 為歸屬 函數(membership functions),歸屬函數屬於模糊化機構方塊內,模糊化機構的功 能就是將明確的資料轉換為適當的模糊範圍來表示,而此機構會因為模糊系統功 用的不同,而使用各種不同的模糊化歸屬函數,通常以高斯式歸屬函數、梯形歸 屬函數或三角型歸屬函數表示,當然還有其它各種可以妥善表達分布的歸屬函數。
而X =[ , , , ]x1 x2 … xn 為輸入變數, y表示第條模糊規則的輸出變數。
第二類模型是由學者 Takagi 以及 Sugeno[21]所提出,一般稱之為 TSK 模型。
它可以描述一般動或靜態的非線性系統,利用模糊化分割(fuzzy partition)將輸入 空間視為線性分割的拓展,其模糊規則屬於函數式模糊規則,可描述為:
1 1 2 2 0 1 1
: , , , n n n n,
r If x is A and x is A … and x is A then y =a +a x + +… a x (2.10)
其中 y表示第條模糊規則的輸出變數,a ii( =0, 1, …, )n 為實數參數。此種模 型可處理非線性系統,其做法是將整個輸入空間切割為數個可用線性系統描述的
其中 y表示第條模糊規則的輸出變數,a ii( =0, 1, …, )n 為實數參數。此種模 型可處理非線性系統,其做法是將整個輸入空間切割為數個可用線性系統描述的