• 沒有找到結果。

第三章 問題定義與方法

3.4 系統方法

3.4.1 分群步驟

本論文採用以最大值所在維度為基礎之分群方式(maximum base),在此 模組中共有三個處理步驟如圖 7 所示:(1)將資料維度重新排列,(2)根據各資 料出現最大值所出現的維度進行分群,(3)計算各群的代表向量。本模組的目 的是將資料集 D 切割分配至 k 個群 G={g1, g2, g3,…gk}中,∀gi∈G gi ⊆D 且

gi

, 且 ∀ gi, gj ∈ G gi∩ gj=

且 g1∪ g2∪ g 3 … ∪ gk= D 。

Grouping

Reorder dimension

Maximum base grouping

Find Leader

圖 7 分群步驟流程圖 1) 資料維度重新排列(Reorder dimension)

在將資料分群前我們先將資料的維度依各維度在資料集的非零資料數 值降冪排列如演算法 1,相當於各維度特徵的 Document Frequency(DF)。以 表 1 為例,各個維度的 DF 值如表 7 所示,重排後維度順序如表 8 為 f1, f3, f2,

f4

表 7 各維度的 DF 值

f1 f2 f3 f4

DF 4 3 4 3

表 8 重新排列後的維度順序 f1 f2 f3 f4

DF 4 4 3 3

2) 以最大值出現維度分群(Maximum base grouping)

Maximum value dimension

{d1,d4}。經過採用維度重新排序後的資料,可以避免因特徵值相同造成分群

Maximum value dimension

同群中資料的最大維度值都出現在同一特徵上,在組合代表向量是用群中所 有資料向量,對一個特徵 f 取所有資料在 f 所出現的最大值當作一個群的代 表 向 量 在 f 上 的 特 徵 值 , gi 的 代 表 向 量 leader(gi) 之 fk 特 徵 值

leader(gi)[fk]=max(di[fk]) ∀di∈gi。由於同一群的最大特徵值集中在特定特徵的 特性,該群的代表向量和資料中各筆資料的實際特徵值差距不至於太大。以 表 9 中之 g1為例,代表向量結果如表 11 所示,將表 9 以最大值出現維度分 群後,各群計算所得之代表向量 leader(gi)結果如表 12 所示。

表 11 群代表向量計算

g1 f1 f3 f2 f4

d5 0.6 0.6 0 0.52

d6 0.5 0.5 0.5 0.5

代表向量 0.6 0.6 0.5 0.52

表 12 各群代表向量

f1 f3 f2 f4

leader(g1) 0.6 0.6 0.5 0.52 leader(g2) 0.45 0 1 0 leader(g3) 0.65 1 0 0

單純採用上述之最大值出現維度分群方法,但利用最大值出現維度的分 群方法群的數量會受資料分佈影響,且有可能群所包含資料個數會差異過大。

為避免上述問題,本研究亦提供調整群數量的方法,並在改變群的數量時盡 量減少群包含資料個數的差異。

1) 增加群個數

若經由最大值出現維度分群方法後群的數量小於指定群數 k,則需要增 加群的數量。增加群的數量時必須考慮各群中資料個數的差異,因此在增加 群數時從擁有最多資料的群進行分割。分割時會先將該群資料以其 1-norm

length 降冪排列,接著將群對半分為兩群,此種調整分群數量的方法並不會 破壞同一群資料的最大值落在相同維度的特性。每次經過此處理步驟後,分 群的數量會增加一,重複進行直到群的數量等於 k。若有至少兩群的資料個 數皆為最多時,則須評估兩群分割後兩群的最大 1-norm length 差異量,1-norm

length 差異量大表示這兩群資料的相似程度較低,利用此種評估可以維持讓 相似資料出現在同群的特性。

2) 減少群個數

若經由最大值出現維度分群後群數量大於 k,則需要將不同群資料合併,

在合併兩群時,除了要考慮群與群間資料個數的差異外,還必須考慮資料群 合併後代表向量改變量。資料在選取兩群合併時應考慮合併後代表向量各維 度值的增加量。由於同一群的資料向量皆是單位化後的向量,且最大值出現

在相同特徵中,會造成合併後代表向量維度值增加幅度較大的情況多發生在 兩群各自的最大特徵中。為了節省在分群合併步驟中的計算成本,本研究在 此利用兩群最大特徵值進行代表向量改變量的估算,例如表 13 中若合併 g1 與 g2兩群時,g1的最大特徵值出現在維度 f1,g2的最大特徵值出現在維度 f2則 合 併 後 代 表 向 量 改 變 估 算 量 考 慮 | leader(g2)[f1] - leader(g1)[f1]| 以 及 |

leader(g1)[f2] - leader(g2)[f2]|,取兩者中較大的值當作兩群合併後代表向量之 改變量估算。此外為了使群大小盡量接近平衡,在合併群與群時我們只考慮 群的資料個數低於群中資料個數平均值平均的群,先找出資料個數最少的群,

計算可以跟其合併後代表向量改變量最小的群進行合併,且須重新計算整體

群中平均資料個數平均值,重複上述步驟直到群的個數為 k。

表 13 代表向量改變量計算

f1 f3 f2 f4

g1代表向量 0.6 0.6 0.5 0.52

g2代表向量 0.45 0 1 0

合併後代表向量 Max(|0.6-0.45|,|0.5-1|)

3.4.2 群內相似配對計算步驟

此步驟的工作為找出由同群間資料彼此配對產生之相似配對(intra-group similar pairs),在計算群內相似配對時是利用反向索引串列[5]。由於分群步 驟中是根據資料最大值所出現的維度進行分群,同群的資料在其餘維度的特

徵值都會小於最大值所出現維度之特徵值,又因向量單位化後長度值為 1,

會造成資料主要分配在少數特定特徵中,剩餘特徵的特徵值都較小,在合併 成代表向量時,代表向量會更接近實際向量,因此在群內相似配對搜尋時使 用反向索引串列所得之向量相似度上限能更接近實際相似度。

本研究在建立反向索引時亦採用該群的代表向量進行字首字尾向量切 分的計算,例如表 2 所示之 Maximum(D)是所有資料各維度的最大值,在計 算群 gi的相似配對時我們將 Maximum(D)改採為 leader(gi),能使建立的反向 索引個數減少,增加使用反向串列索引計算中篩除的效果。以表 14 中 g1料使用 leader(gi)進行索引之建立結果如表 15 所示,將表 15 結果對應表 4 使 用 Maximum(D)建立之索引結果,可發現在表 4 中 d5及 d6共建立了 5 筆索引,

表 15 中 d5及 d6則只需建立 3 筆索引,在計算字尾相似度時更容易篩除不相

似的資料配對,進而增進計算的效率。

此外我們在分群步驟前依據各維度的 DF 值大小排列也可增進反向串列 索引之效果,因為重新排列維度後越後面的維度 DF 值越小,表示此特徵在 較少資料中有非 0 的特徵值,建立索引時是針對字尾向量,由於在字尾向量 相似度為 0 時,即可確定此配對不可能相似,因此重新排列維度會使建立的 字尾向量的反向索引值包含較多只有少數資料出現的特徵索引,在利用索引 計算相似度時較容易篩選出不相似的配對,增加反向索引串列計算效率。

表 14 群內使用反向索引資料

g1 f1 f3 f2 f4

leader(g1) 0.6 0.6 0.5 0.52 d5 0.6 0.6 0 0.52

d6 0.5 0.5 0.5 0.5

表 15 群 g1使用 leader(gi)建立反向索引表 反向索引 f1 {}

f3 {}

f2 {(d6,0.5)}

f4 {(d5,0.52) ,(d6,0.5)}

3.4.3 群候選配對選取步驟

本處理步驟的目的是對資料分群結果,篩除不可能含有相似配對的群配 對,藉此節省這些跨群資料配對的相似計算成本,只列出可能產生相似配對 的群配對。本研究對每一群以該群的代表向量表示,利用反向索引串列輔助 計算出群代表向量的相似度[5],若群代表向量間相似度大於門檻值則為群

配對,表示兩群中的資料可能產生相似配對,若不相似,則篩除兩群中資料 相互組合的配對。

在群配對計算時,本研究會計算群代表值間的實際相似度而不使用相似 度上限進行估計。這是因為群與群之間的計算會遠小於跨群組合的資料配對,

為避免因高估所造成跨群配對組合計算量的大增,群與群間的相似度會精確 採用群代表值間算出的實際相似度而不使用上限估計值。相較於論文[1],

其在估計一筆資料是否與一群中含有相似配對的估算方法如公式 2,是利用 一個向量之最大值替代該向量,接著用一群中最大的 1-norm length 值代表 整群資料,將兩者相乘當成群與群的相似度估算值,雖然都利用相似度上限 估計值計算達到篩選的目的,但計算中可能因相似度上限估計過高而與實際 相似度有很大的落差,造成群配對篩選效果不好。

以表 16 中{d2 ,d3 ,d5 d6}為例,在 k=2,t=0.8 時,使用最大值出現維度分 群的分群方法會產生 g1={d2 ,d3}及 g2={d5 ,d6}兩群,g1的代表向量為[0.45, 0,

1, 0],g2的代表向量為[0.6, 0.6, 0.5, 0.52]。在計算兩群是否含有相似配對時,

計算兩群代表向量的實際相似度 Sim(g1,g2)= 0.45*0.6+0*0.6+1*0.5+0*0.52 =

0.77,因此不需考慮兩群中任意資料配對。

若使用論文[1]之方法會產生 g1={d2 ,d3}及 g2={d5 ,d6}兩群,在估算 d5

是否與 g1 產生相似配對時會使用 d5 的最大值 0.6 與 g1 中最大的 1-norm length 值相乘當成相似度上限,計算後得知 Sim(d5,g1)=0.6*1.35=0.81,判斷

d5與 g1是有可能產生相似配對的,所以必須考慮(d2,d5)及(d3,d5)等兩組配對,

同理以論文[1]之方式計算 Sim(d6, g1)=0.675 判斷 d6 與 g1不可能產生相似配 對,由上述兩個例子可看出使用較準確的相似度估算上限可以有效減少候選

配對產生數量。

表 16 篩除效果示範資料

向量編號 f1 f3 f2 f4 1-norm 長度

d2 0 0 1 0 1

d3 0.45 0 0.9 0 1.35

d5 0.6 0.6 0 0.52 1.72

d6 0.5 0.5 0.5 0.5 2

3.4.4 候選配對選取步驟

此步驟中會將前一步驟中找出可能含有相似配對的群配對,找出跨群的 候選配對。然而若考慮所有群配對間跨群資料的兩兩組合,須考慮的配對數 量會很多,必須針對所有群配對中各群資料進行組合,產生非常大量的候選 配對。所以本研究此步驟提供一個快速的判定方法找出候選配對,在一群資 料中經快速判斷即可以決定該配對是否為候選配對,本步驟將使用以 1-norm

length 為基礎之篩除策略,能有效率的篩除不相似配對。

在計算群配對中可能產生的候選配對時,可以找出兩群中資料所需的

1-norm length 門檻值,若一筆資料 1-norm length 值有大於 1-norm length 門檻 值則此筆資料可能與另一群中的資料組合成相似配對,若 1-norm length 並未 大於 1-norm length 門檻則此筆資料不可能與另一群中任意資料產相相似配對,

利用此種做法可以快速篩除不相似的配對,且一群資料中最大特徵值可以由 前步驟中算出各群之代表向量中得知,當找出一群資料中最大特徵值及相似 度門檻值後,即可利用公式 2 計算群配對欲產生資料候選配對之條件,能快 速對兩群中的資料篩減。以群配對為(g1, g3)為例,考慮兩群中的最大值如表

17,由公式 2 可以計算出若 g3中的資料要和 g1產生相似配對的條件為 Sim(di∈g3, g1)>t,則||di∈g3||1>t/maxw(G1),也就是說 g3中資料想和 g1產生相 似配對的條件為該資料的 1-norm length 值必須大於 1-norm length 門檻 0.8/0.6,

對照表 6 後發現只有 d4之 1-norm length 值大於 1.2,也就是 d1是不可能與 g1 中的資料產生相似配對的,即可篩除 d1 與 g1中的資料產生的(d1, d5) (d1, d6)

對照表 6 後發現只有 d4之 1-norm length 值大於 1.2,也就是 d1是不可能與 g1 中的資料產生相似配對的,即可篩除 d1 與 g1中的資料產生的(d1, d5) (d1, d6)

相關文件