• 沒有找到結果。

第三章 研究方法

3.1 限制型利基柏拉圖基因演算法

本研究利用基因演算法進行特徵選取的工作,希望在滿足一定分類準確率之下,找 出各種不同的特徵數,使具有最佳之分類準確率。圖3.1 顯示本研究所提方法的基本架 構,其中重要的步驟包括如何進行染色體編碼與計算染色體相對應特徵組合的分類錯誤 率,如何決定準確率限制,如何進行柏拉圖及競爭式選取,以及如何選擇所需解等。以 下將進行更詳盡的說明。

染色體編碼

圖3.1 特徵選取基本流程 3.1.1 染色體編碼

本研究使用最簡單的編碼規則,每種特徵組合將被編碼成由0 與 1 所構成的字串,

一條染色體即代表一種特種組合。每條染色體的字串長度將與總特徵數相同,字串中第 k 位置的數字若為 0,代表進行資料分析時,第 k 項特徵將不會被考慮,反之若為 1,則

代表第 k 項特徵將納入考量。其基因型(genotype)與表現型(phenotype)之間的關係如圖 3.2 所示。

計算染色體相對應的使用屬性個數及 分類錯誤率

選取適當的染色體,進行交配及突變產 生子代

產生親代染色體集合

挑選適合的特徵組合 是 滿足條件 否

圖3.2 染色體編碼方式

3.1.2 分類準確率之計算

根據染色體所代表的特徵組合將原始資料進行特徵選取後,為了判斷此特徵組合的 優劣,計算其分類準確率是必須的。在本研究中,使用最近歐氏距離分類器(1-NN)作為 評斷分類準確率的工具。於計算訓練資料(training data set)的分類準確率時,訓練資料中 的每一樣本,其預測類別將由在訓練資料中,在歐氏距離上與其最為相近的訓練樣本之 真實類別決定。在計算測試資料(testing data set)之分類準確率時,測試資料中的每一樣 本,其預測類別亦由在訓練資料中之歐氏距離最近樣本決定。

間的折衷解,讓使用者自行決定要採取哪一種設定。有鑑於此,本研究採用Horn 所提 出的利基柏拉圖基因演算法(niched pareto genetic algorithm)來處理基因演算法中,染色 體評分及選取的部分。不過當考慮大量的特徵數時,為了避免基因演算法持續朝減少特

3.1.4 交配及突變

在基因演算法產生子代的過程中,所謂的交配,代表染色體間資訊的交換。本研究 採用單點交配法,其操作方法為在染色體上隨機選取一點為交配點(crossover point),然 後根據此交配點,將第一條染色體的後半段,接上第二條染色體的前半段;第二條染色 體的後半段,接上第一條染色體的前半段。例如有兩條親代染色體 100100 與 010110,

若選擇第二個位置為交配點,則產生的兩條子代染色體分別為 100110 與 010100。

基因演算法的突變操作,可使染色體本身,具有更多樣的發展空間。本方法採用單 點突變法,其操作方法為在染色體上隨機選取一點為突變點(mutation point),如果該位 置的字元為0,則將之變為 1,反之,若該位置的字元為 1,則將之變為 0,例如現有一 染色體為100100,若選擇第三點為突變點,所產生的新染色體將為 101100。

3.1.5 分類準確率限制之決定

利基柏拉圖基因演算法的優點在於透過利基數的限制,使染色體能保持多樣性,藉 由不同的染色體之間的交配,使後代染色體更有機會產生更優秀的解。當加上分類準確 率之限制後,等於限制了基因演算法的搜尋方向,變相的使染色體的多樣性降低了。故 若是分類準確率設得太高,一種可能是因無法搜尋到準確率如此高的解,而使得此限制 如同虛設。另一種可能是使染色體收斂到極少數幾個特定的族群上,使得染色體之間多 樣性大幅的降低,而限制了染色體透過交配以找到更優秀解的能力。

在本研究中,最小準確率之限制採用每一世代計算一次的方法。於每次世代交替產 生新的親代集合後,取染色體群集中,分類準確率較差的染色體之平均數為下一世代挑 選時的最小準確率限制值。如此將可使準確率限制依當時族群中的分類準確率表現狀 況,進行調整。然而要選取後百分之幾的染色體作為計算準確率限制的基準,在本研究 的嘗試中,建議採用5%~10%之間。

圖3.3 為限制型利基基因演算法之詳細操作流程圖。

染色體編碼

圖3.3 限制型利基柏拉圖基因演算法

產生第一代染色體 根據染色體,決定特徵組合

計算特徵組合的使用屬性個數及分類 錯誤率(訓練組)

根據每條染色體相對應的屬性數及錯誤 率,利用柏拉圖及競爭式選擇法,選取適 當的染色體

染色體經過交配及突變操作後,產 生子代

子代數與親 代數相同

達到預定的 世代交替數

為每條染色體計算使用特徵 數及分類錯誤率(訓練組)

原始資料

訓練資料

測試資料

為每條染色體計算分類錯 誤率(測試組)

計算準確率限制(Cm)

綜合使用特徵個數及分類 錯誤率等因素,挑選適合 的特徵組合

相關文件