• 沒有找到結果。

應用自我建構類神經網路於線上分析處理索引之研究

N/A
N/A
Protected

Academic year: 2021

Share "應用自我建構類神經網路於線上分析處理索引之研究"

Copied!
8
0
0

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

全文

(1)應用自我建構類神經網路於線上分析處理索引之研究 Apply the SOFM to the On Line Analysis Processing (OLAP) 孫光天 國立台南師範學院資訊教育研究所 ktsun@ipx.ntntc.edu.tw. 摘要 線 上 分 析 處 理 (On Line Analysis Processing, OLAP) 的索引為資料倉儲研究之 重點,它比一般索引架構更著重於範圍查詢效 率,尤其是對不同範圍資料的整合性查詢,更 是大家熱烈討論與研究之主題。目前一般常用 技術,例如:R*a tree 和 X-tree 則是適用於 OLAP 高維度資料的索引架構,並已有很好的 查詢效率。本研究目的則是利用類神經網路中 自我組織映射網路 (SOFM) 的區域密集性 (locality) 的特性,將 OLAP 的大量高維度資料 加以有效率的群聚後,再運用 X-tree 技術,使 範圍查詢時能減少樹的搜尋層數,並提高資料 的儲存空間使用率,以進一步提升 OLAP 的範 圍查詢效率,經多種不同維度之模擬實驗後顯 示,本研究技術可大量減少查詢次數,驗證本 文所提方法有極佳的效能。 關鍵字:線上分析處理、自我組織映射網路、 R*a 樹、X-樹。. 一、簡介 資料倉儲 (Data Warehouse) 是針對決策 支援系統的需求所發展出來的資料庫觀念,其 資料常經由線上分析處理 (On Line Analysis Processing, OLAP) 提供資訊,做為管理者決 策時的參考[2]。OLAP 查詢主要是針對大數 量 的 資 料 , 提 供 不 同 的 範 圍 查 詢 (region query)。大部分的 OLAP 查詢可以被視為對一 維或多維資料方格 (data cube) 的部分匹配查 詢 (partial match queries),其需要有效率的獲 取對應範圍的資料[14]。目前多維空間資料的 索引方式,比較常見的有 R tree [6]、R+ tree [15]、Packed R-tree [13]、Grid files [10]、 Bitmap index[11]、R*a tree [7]、X tree [5]、K-D-B tree[12] 等。其中 R tree 是一項 針對多維空間資料而設計的方法,適用於維度. 張鈺玟 國立台南師範學院 資訊教育研究所 ywchang@ipx.ntntc.edu.tw 高、區域密度大且更新頻繁的情況,能對稱性 的處理所有維度,並可應用在索引 OLAP 資 料。由於 R tree 對於區域的分割為非規則性的 切割,且每一個節點所涵蓋的區域範圍,必涵 蓋所有子節點所包含的區域,而任二個節點所 代表的區域可能產生重疊 (overlap),造成在點 的查詢上,R tree 可能產生多條的查詢路徑, 使查詢的效率降低,因此在 R tree 的相關索 引法中,影響查詢效率的因素有二,一是重疊 的區域範圍,二是節點涵蓋的矩形範圍,如何 使重疊的區域範圍與節點涵蓋的矩形範圍達 到 最小, 便成 為改善 查詢 效率的 主要 關鍵 [1,3,4]。 由於 R*a tree 與 X tree 是適用於 OLAP 高 維度資料的索引架構,X tree 是改進 R tree 中間節點重疊情形的一種樹狀索引架構,能提 高 R tree 的範圍查詢效能,然而就均勻分配 的資料而言,X tree 資料節點的空間使用率僅 66% [5],就儲存空間的使用度而言,尚有改 進的空間。另一方面,類神經網路技術 [9,16] 中,屬於非監督式 (unsupervised) 類神經學習 網路模式的自我建構網路 (Self Organizing Feature Mapping, SOFM)[8] 具有能將大量資 料藉由類神經網路訓練模式加以組織,將特徵 相近的資料聚類在一起的特性,因此本研究的 目的在於利用 SOFM 將 OLAP 的大量高維度資料 加以有效率的聚類,運用於 X-tree 葉節點層的 建構上,並於中間節點增加一個存放特徵值的 欄位,將其所屬的子節點存放的鍵值加以總 合,使範圍查詢時能減少樹的搜尋層數,並依 據 SOFM 能使資料具有區域密集 (locality) 的 特性,以提升 OLAP 範圍查詢的節點存取效 率。. 二、自我組織映射網路於線上分析處 理索引之技術 本研究採用 Xa tree [1] 的資料結構,即 採用 X tree 的分裂方法,並於中間節點增加一 存放特徵值的欄位,做為高維度資料索引時中 間節點的主要架構。本研究首先利用 SOFM 將 OLAP 的 大 量 高 維 度 資 料 加 以 有 效 率 的 組.

(2) 織,藉由 SOFM 將資料值相近的節點聚類, 使資料具有區域密集 (locality) 的特性,並考 慮資料的儲存空間使用率,運用於葉節點層的 建立上。之後,由經過 SOFM 組織後的葉節 點層開始,採用 X tree 中間節點的分裂方法, 往上建構整個樹狀索引結構,以期提升葉節點 的資料佔滿率,減少葉節點的數目,使資料集 中於較少數的節點,藉以改進現行 X tree 在 葉節點僅 66% 的儲存空間使用率之問題。 Kohonen 所提出的 SOFM 演算法,可將 任意維度的輸入資料分佈狀況映射到一個二 維的輸出層上。由於 SOFM 訓練資料後的結 果,輸出單元的分佈將會反應輸入資料的分 佈,因此當多維空間的資料映射到一個一維的 輸出層時,在多維空間中距離很近的資料,將 對應到同一輸出節點;且歸類到鄰近輸出節點 的資料,應較歸到其它距離較遠的輸出節點的 資料,在多維樣本空間中的距離來的近,為達 到這個目的,我們在輸出單元 (output node) 呈 現上,採用一維環狀陣列 (ring) 的方式。在 SOFM 演算法中,更新輸入單元與各輸出單元 間 weight 值的計算,則加上一修正量,此 weight 修正量的計算與輸出單元和 winner 間 的距離有關,即輸出層使用環狀陣列的方式, 將影響到 weight 值在 SOFM 訓練 (training) 過 程中的修正。由於環狀陣列中任二個節點,彼 此間具有二種距離算法的特性,因此我們取其 中較小者做為二個節點間的距離。 針對 SOFM 演算法須預先限制輸出節點個 數的限制,我們採用下列公式計算輸出節點的 個數,亦即未來建樹時的葉節點數目: M = (data# / data _ capacity * full _ rate) + 1. (1). 其 中 , data# 為 資 料 筆 數 , datanode_capacity 為 葉 節 點 的 分 支 容 量 , full_rate 指葉節點的平均佔滿率。此公式的意 義為將資料總數除以每個葉節點預計佔滿的 分支數再加一,用以衡量 SOFM 歸類的輸出 節點數目,做為未來建樹時的葉節點數目。歸 類到同一輸出節點的資料,日後將分配到同一 葉節點的分支。在經過 SOFM 對建樹資料進 行 locality 特性的組織後,方才以資料所歸屬 的輸出節點在陣列中的索引值,由小而大排 序,而歸屬到同一輸出節點的資料,則按照資 料與其歸屬的輸出節點 weight 間誤差平方值 的差距,由小而大排序,以此順序做為插入資 料到葉節點的依據。 由於在 SOFM 的演算法中,僅限制了輸 出節點的數目,對分配到輸出節點的資料數目 並無限制,因此可能造成歸類到同一輸出節點 的資料數目大於葉節點的最大分支容量,亦即 發生節點滿溢 (overflow) 的問題。有關插入. 資料到葉節點與 overflow 處理的方法如圖 1 所示,圖 2 為整個 SOFM 於 OLAP 之處理程 序。 Step 1. 計算葉節點的資料數目。 M = (data# / data _ capacity * full _ rate) + 1. 其中,M 為葉節點數目,data# 為資料筆 數,datanode_capacity 為葉節點的分支 容量,full_rate 指葉節點的平均佔滿率。 Step 2. 呼叫 SOFM 函數,取得一按照輸出節 點在陣列中的 index、與 winner 的 weight 誤差平方值由小到大排序的 data 陣列。 Step 3. 按 Step2 傳回的資料順序,在不造成 overflow 的情況下,依序插入葉節點。 Step 4. 將經過 Step3 後仍未分配的資料, 依序分配到與 winner 距離為 1、2、3、….. 等葉節點中,直到發現一個節點有空位, 即插入資料。 圖 1、將 SOFM 訓練資料插入葉節點演算法 為為驗證本方法的可行性,本研究以 C++ 語言來實作,作業系統為 Windows98,記憶體 大小為 128MB RAM。我們將以二維、三維、 四維、五維、六維、八維、十維、十二維等不 同維度,以電腦亂數產生均勻分佈 (uniform distribution) 的亂數資料十萬筆,其中每個維 度的資料值於正規化後皆在 [0, 1],以進行樹 狀索引結構的建構和效能評估。本研究將藉由 實作樹狀結構的程式,分析本研究的方法(以 下簡稱 SOFM X-tree)、R* tree、X tree、R*a tree 和 Xa tree 等四種不同的樹狀索引結構,以便 研究其在大量資料範圍查詢上的效果。我們以 範圍查詢的效率作為效能分析的項目。在範圍 查詢的效能表現上,我們將在上述八種不同維 度的情形下,進行範圍大至整個資料庫,小至 資料庫空間的十分之一,共十種不同資料庫範 圍大小的範圍查詢各十次。實驗結果將記錄節 點存取次數的數據結果,節點存取次數的數據 係在不同資料庫範圍大小的範圍查詢下,進行 十次隨機查詢後的平均值。. 三、效能評估 本研究採用建樹狀況及進行範圍查詢時 的節點存取次數,作為效能評估的項目。在建 樹狀況的呈現上,我們記錄了由葉節點層到樹 根為止的樹高層數、內部節點數、葉節點數、 內部節點的最大分支容量及葉節點的最大分 支容量。.

(3) (一)輸入資料建樹狀況 表 1 ~表 8 為不同維度且資料為均勻(任意). Step 1. 初始化鍵值。 初始化從 N 個輸入單元到 M 個輸出單元 的在樣本空間中的位置,亦即 weight 值,並定義鄰近區域 (neighborhood) 的 起始半徑值 R,N 為建樹資料的維度, M 為葉節點的數目。 Step 2. 輸入資料。 輸入輸入單元 Xi(t),亦即輸入在單位時 間 t 時的第 i 筆資料。 Step 3. 計算輸入的資料與所有輸出節點 weight 的誤差平方值。 計算介於輸入資料與每個輸出單元 j 的 weight 誤差平方值 dj。. d. N −1. j. =∑ i=0. 樹別 SOFM X-tree (葉節點平 均佔滿率 0.85) Xa tree Ra tree X tree R tree. 樹別. ij. = Min{d , ∀j ∈ Output _ Layer} j. SOFM X-tree (葉節點平 均佔滿率 0.8) Xa tree Ra tree X tree R tree. . . W ij (t + 1) = W ij (t ) + eta *  X i (t ) −W ij (t )  * e. − (r _ from _ win / R). ∀j ∈ NBj * (t ),0 ≤ i ≤ N − 1. 其中 eta 是單位時間 t 內的學習速率, r_from_win 為輸出單元 j*與其它輸出. 3. 17. 695. 72. 170. 3 3 3 3. 18 18 18 18. 887 887 887 887. 72 72 72 72. 170 170 170 170. 樹高 內部節 葉節 內部節 葉節 (層) 點數 點數 點量 點量 3. 29. 991. 56. 127. 3 3 3 3. 33 33 33 33. 1193 1193 1193 1193. 56 56 56 56. 127 127 127 127. 表 3、四維十萬筆資料建樹狀況 樹別. Step 5. 更新輸入資料 Xi(t) 到輸出單元 j*及其 鄰近區域的鍵值。 從輸入單元到輸出單元 j*及鄰近區域的 weight 值都被更新。. 樹高 內部節 葉節 內部節 葉節 (層) 點數 點數 點量 點量. 表 2、三維十萬筆資料建樹狀況. 2. i. Step 4. 從 Step3 中,找出與輸入資料 Xi(t) 具 最小 weight 誤差平方值的輸出單元,又 稱為優勝單元 (winner),亦即選擇輸出 單元 j*,此節點具有與 Xi(t) 最小的 weight 誤差平方值 dj*。 j*. 表 1、二維十萬筆資料建樹狀況. (X (t ) −W (t )). 其中 Wij (t) 是從輸入資料 i 到輸出單元 j 於單位時間 t 的 weight 值。. d. 分佈時,建樹的相關資料。. d. j*. 樹高 內部節 葉節 內部節 葉節 (層) 點數 點數 點量 點量. = Min{d , ∀j ∈ Output _ Layer } j. SOFM X-tree (葉節點平 均佔滿率 0.9) Xa tree Ra tree X tree R tree. 3. 28. 1099. 46. 102. 3 4 3 4. 5 51 5 51. 1499 1475 1499 1475. 46 46 46 46. 102 102 102 102. 單元間的距離,R 為鄰近半徑 (0 < eta < 1) 。 Step 6. 更新鄰近半徑並檢查是否收斂。. R(t +1) = R(t ) * R_ rate 其 中 R_rate 為 鄰 近 半 徑 縮 小 因 子 (R_rate < 1) 。檢查半徑是否已達最小 值,否則將鄰近區域縮小,並回到 Step2,進一步修改 weight 值,直到鄰 近區域的半徑縮到最小值(R_min≅ 0)。 圖 2、利用 SOFM 訓練建 Xa 樹資料之演算法. 表 4、五維十萬筆資料建樹狀況 樹別 SOFM X-tree (葉節點平 均佔滿率 0.85) Xa tree Ra tree X tree R tree. 樹高 內部節 葉節 內部節 葉節 (層) 點數 點數 點量 點量 3. 7. 1316. 39. 85. 3 4 3 4. 14 74 14 74. 1789 1817 1789 1817. 39 39 39 39. 85 85 85 85.

(4) SOFM X-tree)的節點存取次數為分子的效. 表 5、六維十萬筆資料建樹狀況 樹別 SOFM X-tree (葉節點平 均佔滿率 1) Xa tree Ra tree X tree R tree. 樹高 內部節 葉節 內部節 葉節 (層) 點數 點數 點量 點量 2. 1. 1389. 33. 72. 4 4 4 4. 87 107 87 107. 2121 2135 2121 2135. 33 33 33 33. 72 72 72 72. 能改進因子(improve ratio),以瞭解 SOFM X-tree 改進 Xa tree 節點存取次數的百分比。 效能改進因子的計算公式如下: improve _ ratio =. Xa _ tree _ access #− SOFMx _ tree _ access # Xa _ tree _ access #. (2) 其中,SOFMx_tree_access# 係指 SOFM X-tree. 表 6、八維十萬筆資料建樹狀況. SOFM X-tree (葉節點平 均佔滿率 0.85) Xa tree Ra tree X tree R tree. 樹高 內部節 葉節 內部節 葉節 (層) 點數 點數 點量 點量. 範圍查詢的節點存取次數,Xa_tree_access# 為 Xa tree 範圍查詢的節點存取次數。圖 3 為 二維十萬筆時,資料訊練次數與能量函數之關. 2. 1. 1786. 26. 56. 4 4 4 4. 107 168 107 168. 2737 2734 2737 2734. 26 26 26 26. 56 56 56 56. 係。 12000 10000. 能量函數. 樹別. 8000 6000 4000 2000. 樹別 SOFM X-tree (葉節點平 均佔滿率 1) Xa tree Ra tree X tree R tree. 3. 4. 2174. 22. 46. 4 4 4 4. 185 258 185 258. 3332 3354 3332 3354. 22 22 22 22. 46 46 46 46. 35. 33. 31. 29. 27. 25. 23. 21. 19. 17. 15. 13. 9. 11. 7. 5. 1. 樹高 內部節 葉節 內部節 葉節 (層) 點數 點數 點量 點量. 3. 0. 表 7、十維十萬筆資料建樹狀況. SOFM訓練次數 (以二十次為單位). 圖 3 、 SOFM X-tree 葉 節 點 平 均 佔 滿 率 為 0.85,在二維十萬筆均勻分佈亂數資料時,訓 練次數及能量函數之關係. 表 9 ~ 表 16 與圖 4 ~圖 11 為不同維度時,不 同搜尋範圍與存取次數之關係。. 表 8、十二維十萬筆資料建樹狀況 樹別 SOFM X-tree (葉節點平 均佔滿率 1) Xa tree Ra tree X tree R tree. 樹高 內部節 葉節 內部節 葉節 (層) 點數 點數 點量 點量. 表 9、五種樹狀結構在二維十萬筆均勻分佈亂 數資料,不同範圍查詢與節點存取次數比較. 3. 8. 2565. 18. 39. 5 5 5 5. 314 397 314 397. 3993 3975 3993 3975. 18 18 18 18. 39 39 39 39. (二)範圍查詢效能評估 本節記錄了二維到十二維中,八種不同維度下 十萬筆均勻(任意)分佈的亂數資料,在範圍 查詢時的節點存取次數。此外,我們並計算以 另四種樹狀結構中,整體表現較佳的 Xa tree 的節點存取次數為分母,以(Xa tree 減去. data search R* range 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1. 904 867 774 684 593 497 402 306 211 114. X. R*a. Xa. 904 867 774 684 593 497 402 306 211 114. 1 126 120 114 107 98 89 76 62 45. 1 126 120 114 107 98 89 76 62 45. SOFM X-tree 葉節點平 均佔滿率 0.85 1.0 120.7 113.0 107.2 100.6 92.7 83.9 72.0 57.4 40.5. improve ratio (%). 0 + 4.21 + 5.83 + 5.96 + 5.98 + 5.41 + 5.73 + 5.26 + 7.42 + 10.00.

(5) 0.5 0.4 0.3 0.2 0.1. 1000. R*-tree. 節點存取次數. 800. X-tree. 600 400. R*a-tree. 200. Xa-tree. 0. 1417 1225 995 745 455. 0.9. 0.8. 0.7. 0.6. 0.5. 0.4. 0.3. 0.2. 1119 970 786 594 361. 924.0 871.2 710.1 548.9 346.6. + 17.43 + 10.19 + 9.65 + 7.59 + 3.99. 0.1. 資料搜尋範圍. 節點存取次數. 2000. 圖 4、五種樹狀結構二維十萬筆均勻分佈亂數 資料範圍查詢節點存取次數比較. R*-tree. 1500 X-tree. 1000 R*a-tree. 500 Xa-tree. 表 10、五種樹狀結構在三維十萬筆均勻分佈. 0 1. 亂數資料,不同範圍查詢與節點存取次數比較 data search R* range 1225 1224 1202 1131 1010 827 708 560 397 230. X. 1225 1224 1202 1131 1010 827 708 560 397 230. R*a. 1 610 614 592 536 470 414 349 272 176. Xa. 1 610 614 592 536 470 414 349 272 176. SOFM X-tree 葉節點平 均佔滿率 0.8 1.0 468.6 498.2 515.8 466.6 423.4 373.4 303.9 235.8 153.3. 1400 1200 1000 800 600 400 200 0. improve ratio (%). 圖 6、五種樹狀結構四維十萬筆均勻分佈亂數 資料範圍查詢節點存取次數比較. 0 + 23.18 + 18.86 + 12.87 + 12.95 + 9.91 + 9.81 + 12.92 + 13.31 + 12.90. 表 12、五種樹狀結構在五維十萬筆均勻分佈 亂數資料,不同範圍查詢與節點存取次數比較 data search R* range 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1. X-tree R*a-tree. 0.2. 0.4. 0.6. 0.8. Xa-tree. 資料搜尋範圍. SOFM x_tree. 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1. 資料搜尋範圍. R*-tree. 1. 節點存取次數. 1185 1049 874 594 433. SOFM x_tree 1. 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1. 1382 1168 923 678 407. SOFM x_tree. 1890 1890 1890 1890 1889 1881 1803 1617 1340 903. X. R*a. Xa. 1802 1802 1802 1802 1801 1783 1680 1448 1202 757. 1 1717 1797 1818 1828 1825 1775 1583 1319 895. 1 1602 1679 1702 1711 1702 1641 1442 1173 744. SOFM X-tree 葉節點平 均佔滿率 0.85 1.0 1169.9 1210.7 1227.8 1240.3 1249.4 1262.1 1261.5 1107.2 737.9. improve ratio (%). 0 + 26.97 + 27.89 + 27.86 + 27.51 + 26.59 + 23.09 + 12.48 + 5.61 + 0.82. 圖 5、五種樹狀結構三維十萬筆均勻分佈亂數 2000. 資料範圍查詢節點存取次數比較. 表 11、五種樹狀結構在四維十萬筆均勻分佈 亂數資料,不同範圍查詢與節點存取次數比較 data search R* range 1 0.9 0.8 0.7 0.6. 1525 1525 1524 1491 1382. X. 1503 1503 1503 1502 1491. R*a. 1 1193 1234 1248 1246. Xa. 1 1140 1180 1192 1190. SOFM X-tree 葉節點平 均佔滿率 0.9 1.0 841.9 866.5 881.8 901.3. improve ratio (%). 節點存取次數. R*-tree. 1500 X-tree. 1000. R*a-tree. 500. Xa-tree. 0. SOFM x_tree. 1. 0.9. 0.8. 0.7. 0.6. 0.5. 0.4. 0.3. 0.2. 0.1. 資料搜尋範圍. 圖 7、五種樹狀結構五維十萬筆均勻分佈亂數 0 + 26.15 + 26.57 + 26.02 + 24.26. 資料範圍查詢節點存取次數比較.

(6) 3500. 亂數資料,不同範圍查詢與節點存取次數比較. 3000 2500. data search R* range 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1. 2241 2241 2241 2241 2241 2239 2216 2112 1911 1570. X. 2207 2207 2207 2207 2207 2205 2184 2080 1890 1547. R*a. 1 2112 2208 2227 2234 2235 2213 2110 1910 1570. Xa. 1 2074 2171 2191 2198 2199 2213 2077 1800 1545. SOFM X-tree 葉節點平 均佔滿率 0.85 1.0 1318.1 1359.4 1369.6 1375.6 1379.5 1382.6 1384.8 1385.5 1326.0. improve ratio (%). R*-tree X-tree. 2000 1500 1000 500. R*a-tree Xa-tree. 0 1. 0 + 36.45 + 37.38 + 37.49 + 37.42 + 37.27 +37.52 + 33.33 + 23.03 + 14.17. 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1. 圖 9、五種樹狀結構八維十萬筆均勻分佈亂數 資料範圍查詢節點存取次數比較. 表 15、五種樹狀結構在十維十萬筆均勻分佈 亂數資料,不同範圍查詢與節點存取次數比較 X. R*a. Xa. 3516 3516 3516 3516 3516 3516 3516 3515 3514 3504. 1 3212 3562 3604 3610 3610 3610 3610 3607 3590. 1 3254 3487 3511 3515 3515 3516 3515 3514 3504. R*-tree. 2000 1500. X-tree. 1000. R*a-tree. 500. Xa-tree. 0. SOFM x_tree 1. 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1. 資料搜尋範圍. 圖 8、五種樹狀結構六維十萬筆均勻分佈亂數. SOFM x_tree. 資料搜尋範圍. data search R* range. 2500. 節點存取次數. 節點存取次數. 表 13、五種樹狀結構在六維十萬筆均勻分佈. 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1. 3611 3611 3611 3611 3611 3611 3611 3610 3607 3590. SOFM X-tree 葉節點平 均佔滿率 0.85 1.0 2115.2 2168.2 2172.9 2173.4 2173.9 2174.0 2174.0 2174.0 2174.0. improve ratio (%). 0 + 35.00 + 37.82 + 38.11 + 38.17 + 38.15 + 38.17 + 38.17 + 38.13 + 37.96. 表 14、五種樹狀結構在八維十萬筆均勻分佈 亂數資料,不同範圍查詢與節點存取次數比較 data search R* range 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1. 2901 2901 2901 2901 2901 2901 2900 2898 2882 2812. X. 2869 2869 2869 2869 2869 2869 2869 2861 2861 2817. R*a. 1 2732 2876 2877 2900 2900 2900 2868 2860 2812. Xa. 1 2864 2853 2866 2868 2868 2868 2868 2831 2817. SOFM X-tree 葉節點平 均佔滿率 0.85 1.0 1735.9 1777.2 1782.4 1784.7 1785.9 1785.9 1785.9 1786.0 1786.0. improve ratio (%). 節點存取次數. 資料範圍查詢節點存取次數比較 4000 3500 3000 2500 2000 1500 1000 500 0. R*-tree. X-tree R*a-tree. Xa-tree. 1. 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1. SOFM x_tree. 資料搜尋範圍. 0 + 35.32 + 37.71 + 37.81 + 37.77 + 37.73 + 37.73 + 37.73 + 36.91 + 36.60. 圖 10、五種樹狀結構十維十萬筆均勻分佈亂 數資料範圍查詢節點存取次數比較.

(7) 表 16、五種樹狀結構在十二維十萬筆均勻分 佈亂數資料,不同範圍查詢與節點存取次數比 較 data search R* range 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1. 4371 4371 4371 4371 4371 4371 4371 4371 4370 4366. X. R*a. Xa. 4306 4306 4306 4306 4306 4306 4306 4305 4305 4303. 1 3860 4219 4358 4369 4370 4370 4370 4370 4366. 1 3922 4245 4296 4304 4305 4305 4305 4305 4303. SOFM X-tree 葉節點平 均佔滿率 0.85 1.0 2493.8 2562.6 2564.7 2565.0 2565.0 2565.0 2565.0 2565.0 2565.0. improve ratio (%). 0 + 36.42 + 39.63 + 40.30 + 40.40 + 40.42 + 40.42 + 40.42 + 40.42 + 40.39. 節點存取次數. 5000 R*-tree. 4000 3000. X-tree. 2000. R*a-tree. 1000. Xa-tree. 0. SOFM x_tree. 1. 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1. 資料搜尋範圍. 圖 11、五種樹狀結構十二維十萬筆均勻分佈 亂數資料範圍查詢節點存取次數比較. 四、討論與結論 歸納本研究實驗結果,我們發現運用 SOFM 改良 Xa tree 架構的方法,在均勻分佈 的情況下,於高維度(六維以上)的情況下效 果明顯較 R* tree、R*a tree、X tree 及 Xa tree 等四種樹狀結構佳;而在五維以下的中低維度 情況下,於大範圍搜尋時效果仍較其它四種方 法為佳,小範圍搜尋時,效果仍優於另四種方 法。 就低維度資料而言,由於在低維度的情 況下,X tree 較複雜的分裂方法及 supernode 未能發揮效用,使得 X tree 與 R* tree 的樹 狀結構相近。而 R*a tree 及 Xa tree 在中間 節點加入一記錄子節點特徵值的欄位,能使範 圍查詢上更有效率,尤其是查詢的範圍愈大, 記錄子節點的特徵值欄位愈能支援範圍查詢 時的需求。而本研究利用 SOFM 改良 Xa tree 架 構的樹狀結構,因此同樣具有利於大範圍查詢 的優勢。然而隨著葉節點平均佔滿率的提高,. 亦即平均每個葉節點的儲存空間使用率愈高 的情況下,中間節點與葉節點的數目顯著下 降,雖然有利於提升範圍查詢的節點存取效 率,但由於節點 overflow 的情況亦因葉節點 平均佔滿率的提高而增加,造成 overlap 的情 形遞增,而低維度下的分支容量較高維度大, 且 overlap 的情形尚不如高維度情形嚴重,因 此 X tree 的 supernode 機制不易發生,使得 本研究之 SOFM X-tree 在低維度、範圍小時, 查詢上的節點存取次數仍優於 R*a 及 Xa tree 方法。 在高維度情況下,由於隨著維度愈高、 overlap 的情形愈嚴重,雖然 X tree 具有將 嚴重 overlap 的中間節點合併成 supernode 的 機制,但整體而言,X tree 儲存空間的使用 率仍維持在 66%,且節點的分裂亦會使節點的 空間使用率下降。而本研究運用 SOFM 改良 Xa tree 的樹狀結構,隨著葉節點平均佔滿率的 提高,亦即平均每個葉節點的儲存空間使用率 愈高的情況下,中間節點與葉節點的數目顯著 下降,雖然葉節點的平均佔滿率愈高造成節點 overflow 的情況增加,使 overlap 的情形遞 增,但由於 X tree 的 supernode 機制將高度 重疊的中間節點合併,甚至形成一大型中間節 點而降低樹高層數,例如六維以上、葉節點平 均佔滿率 0.8 以上的資料,平均而言能較另四 種樹狀結構壓低一至二層的樹高,因此在愈高 維度的情況下,本研究之 SOFM x_tree 在範圍 查詢上的效能愈佳。 整體而言,本研究將 SOFM 修改為 ring 架構輸出,再將其對應至 OLAP 索引搜尋問 題,可有效減少節點數目、壓低樹高層數的策 略,達到減少範圍查詢時節點存取次數的目 的,對資料倉儲之索引,將有很大的貢獻。. 致謝 本研究經費由國科會專案補助,計劃編 號:NSC 90-2520-S-024-006-,特此致謝。. 參考文獻 [1] 陳科學,“適用於關聯式線上分析處理資 料的索引架構之設計與研究”,國立台 南師範學院資訊教育研究所碩士論文, 台南:國立台南師範學院,2000。 [2] 郭義中,“遺傳演算法於資料倉儲中構建 資料方體之應用”,私立義守大學資訊 工程系碩士論文,高雄:私立義守大學, 1999。 [3] 蔡宗達,“交錯式二元樹之多維資料索引 架構”,私立淡江大學資訊管理系碩士 論文,台北:私立淡江大學,1997。.

(8) [4] Beckmann, N., Kriegel, H. P., Schneider, R., and Seeger, B., “The R*-tree: An efficient and robust assess method for points and rectangles”, Proceedings of ACM SIGMOD International Conference on Management of Data, pp. 322-331, Atlantic City, NJ, 1990. [5] Berchtold, S., Keim, D. A., & Kriegel, H. P., “The X-tree: An index structure for high dimensional data”, Proceedings of 22th Internal Conference on Very Large Data Base, pp.28-39, Mumbai (Bombay), India, 1996. [6] Guttman, A. (1984), “R-trees: A dynamic index structure for spatial searching”, Proceedings of ACM - SIGMOD International Conference on Management of Data, pp. 47-57, Boston, MA, 1984. [7] Jurgens, M. and Lenz, H. J., “The R* a tree : An improved R* tree with materialized data for supporting range queries on OLAP data”, DEXA Workshop, 186-191, 1998. [8] Kohonen, T., “Self-Organization and Associative Memory”, Springer Verlaog, Berlin, 1980. [9] Lippmann, R. P., “An introduction to computing with neural nets”, IEEE ASSP Magazine , 4, 4-22, 1987.. [10] Nievergelt, J., Hinterberger, H., and Sevcik, K. C., “The Grid File: An adaptable, symmetric multikey file structure”, ACM Transaction on Database systems, 9(1), 38-71, 1984. [11] Neil, P. O. and Graefe, G., “Multi - table joins through bitmapped join indices”, SIGMOD Record, 24(3), 8-11, 1995. [12] Robinson, J. T., “The K-D-B tree: A search structure for large multidimensional dynamic indexes”, Proceedings of ACM SIGMOD Conference, pp. 10-18, Ann Arbor, Michigan, 1981. [13] Roussopoulos, N. and Leifker, D., “Direct spatial search on pictorial databases using Packed R-trees”, Proceedings of ACM SIGMOD International Conference on Management of Data, pp.17-31, 1985. [14] Sarawagi, S., “Indexing OLAP Data”, IEEE Bulletin on Data Engineering, 20(1), pp. 36-43, 1997. [15] Sellis, T., Roussopoulos, N., and Falousos, C., “The R+ tree: A dynamic index for multi-dimensional objects”, Proceedings of 13th International Conference on Very Large Data Base, pp. 507-518, Brighton, England, 1987. [16] Sun, K. T., & Fu, H. C., “A hybrid neural network model for solving optimization problem”, IEEE Transactions on Computers, 42(2), pp. 218-227, 1993..

(9)

參考文獻

相關文件

一、 在高度 2 公尺以上處所進行作業時,應於該處所架設 施工架等方法設置工作台。.. 二、 在高度

Web of Science Core Collection(簡稱 WOS)為引用文獻索引資料庫,可同時檢索 Science Citation Index Expanded(簡稱 SCIE,即通稱的 SCI)、 Social Sciences Citation

• 有效溝通建立在教師能從家長的肢體語言觀察情緒資訊,從回應中 思考當時情境下最好的處理策略,緊張時刻時,非口語線索也可作

畫分語言範疇(language categories),分析學者由於對語言的研究,發現

國立高雄師範大學數學教育研究所碩士論文。全國博碩士論文資訊網 全國博碩士論文資訊網 全國博碩士論文資訊網,

分類法,以此分類法評價高中數學教師的數學教學知識,探討其所展現的 SOTO 認知層次及其 發展的主要特徵。本研究採用質為主、量為輔的個案研究法,並參照自 Learning

電機工程學系暨研究所( EE ) 光電工程學研究所(GIPO) 電信工程學研究所(GICE) 電子工程學研究所(GIEE) 資訊工程學系暨研究所(CS IE )

蔣松原,1998,應用 應用 應用 應用模糊理論 模糊理論 模糊理論