Dùng kd-tree để tạo các trung tâm cụm khởi động cho thuật toán I-k-Means.

Một phần của tài liệu Khai thác dữ liệu chuỗi thời gian dựa vào rút trích đặc trưng bằng phương pháp điểm giữa và kỹ thuật xén = time series data mining based on feature extraction with middle points and clipping method (Trang 118 - 121)

Means.

Nhƣ đã đề cập ở trên, kd-tree đã đƣợc Redmond và các cộng sự sử dụng để khởi động thuật toán k-Means năm 2007 [93]. Tuy nhiên, việc sử dụng kd-tree để tạo trung tâm cụm khởi động cho k-Means có nhƣợc điểm là nếu số chiều dữ liệu nhỏ thì chất lƣợng gom cụm sẽ thấp, ngƣợc lại nếu số chiều dữ liệu cao thì thời gian tạo trung tâm cụm bằng kd-tree sẽ lâu. Để khắc phục nhƣợc điểm trên, chúng tôi sử dụng kd-tree để khởi động cho thuật toán I-k-Means ở mức phân giải thứ hai vì nó cung cấp một cách

A B C D E F G (0,100) (100,100) (0,0) • E(40,85) B(10,70) • • G(10,60) C(80,15) • • D(25,20) • A(50,50) F(70,85) • (100,0) K0 K1

101

nhanh và hiệu quả để tạo các trung tâm cụm khởi động cho thuật toán này. Phƣơng pháp này đƣợc thực hiện nhƣ sau [93]:

Cho một tập n đối tƣợng {A1, A2, …, An}, trong đó Ai = (Ai1, Ai2, …, AiN). Ta xem nhƣ tất cả các đối tƣợng này đƣợc bao bởi một vùng bao trong không gian N chiều.

Vùng bao này đƣợc định nghĩa bởi các giá trị nhỏ nhất và lớn nhất của các giá trị trong mỗi chiều của mỗi đối tƣợng. Các đối tƣợng đƣợc phân hoạch vào hai vùng bao con bằng cách phân chia các đối tƣợng dọc theo chiều dài nhất của vùng bao cha (mỗi vùng bao định nghĩa một cây con). Sự phân hoạch có thể thực hiện tại giá trị trung vị (median value) hay giá trị trung bình (mean value) của các tọa độ trong chiều dài nhất. Nếu giá trị trung vị đƣợc chọn thì số đối tƣợng trong mỗi vùng bao sau khi đƣợc phân hoạch sẽ xấp xỉ bằng nhau. Ngƣợc lại nếu giá trị trung bình đƣợc chọn thì thuật toán sẽ cần thêm một ít sự tính toán so với trƣờng hợp đầu. Trong thực nghiệm của chúng tôi, giá trị trung vị đƣợc chọn để phân hoạch.

Sự phân hoạch tiếp tục đƣợc thực hiện một cách đệ qui trên mỗi vùng bao con cho đến khi tất các vùng bao con ở mức thấp nhất thỏa một điều kiện nào đó nhƣ chỉ chứa một đối tƣợng hoặc chứa ít hơn một số đối tƣợng nào đó. Các vùng bao ở mức này đƣợc gọi là các vùng bao lá và tiến trình phân hoạch sẽ kết thúc. Hình 5.2 minh họa ba bƣớc trong quá trình phân hoạch các đối tƣợng hai chiều.

Một tính chất đáng quan tâm của kd-tree trong trƣờng hợp chọn giá trị trung vị để phân hoạch là số đối tƣợng trong mỗi vùng bao sau khi đƣợc phân hoạch sẽ xấp xỉ bằng nhau. Vì vậy nếu một vùng bao có mật độ dữ liệu dày đặc hơn một vùng khác thì thể tích vùng bao có mật độ dữ liệu dày đặc hơn sẽ nhỏ hơn. Đây chính là cơ sở cho cách tạo trung tâm cụm khởi động thuật toán I-k-Means.

(a) (b) (c) Hình 5.2 Ba bước trong quá trình phân hoạch các đối tượng hai chiều

(a) Vùng bao tất cả các đối tượng. (b) Hai vùng bao sau khi đã

102

Khi kd-tree đƣợc tạo, ta có thể qui định một cách bất kỳ là một vùng bao lá chứa nhiều nhất n/10k đối tƣợng. Điều này cho phép có xấp xỉ 10 vùng bao cho mỗi cụm. Gọi số vùng bao lá tạo đƣợc là q, thể tích của mỗi vùng bao lá Lj là Vj, và số đối tƣợng trong Lj là Nj. Ta tính mật độ ρj của vùng bao lá Lj theo công thức sau:

ρj = Nj / Vj, với j = 1… q

Khi tính mật độ của vùng bao lá ta cần đảm bảo thể tích vùng bao phải khác zero. Thể tích vùng bao lá có thể bằng zero nếu tất cả các đối tƣợng trong vùng bao có một hay nhiều giá trị tọa độ bằng nhau. Điều này có thể đƣợc khắc phục bằng cách thay thế bề rộng vùng bao dọc theo chiều có bề rộng là zero bằng trung bình của các bề rộng của các chiều có bề rộng lớn hơn zero.

Mật độ ρj của mỗi vùng bao lá đƣợc kết hợp với một điểm trong không gian. Trong thuật toán này, điểm đƣợc chọn là trung bình của các đối tƣợng dữ liệu nằm trong vùng bao lá đó. Gọi điểm này là mj. Nhƣ vậy ta có một danh sách q điểm (m1, …,

mq) trong không gian tƣơng ứng với q giá trị mật độ (ρ1, …, ρq).

Để chọn các trung tâm cụm khởi động cho thuật toán I-k-Means ở mức phân giải thứ hai, ta sẽ chọn k điểm mj từ q trƣờng hợp có thể. Thực hiện nhƣ sau: trung tâm cụm đầu tiên c1 đƣợc chọn là vùng bao lá có mật độ lớn nhất, nghĩa là 1 argmax ( )

j j

m

c  

Để chọn trung tâm cụm c2, ta tính giá trị gj = D(c1, mj). ρj, với D(c1, mj) là khoảng cách từ các mj còn lại so với trung tâm cụm c1. Trung tâm cụm c2 đƣợc chọn là điểm

mj tƣợng ứng giá trị gj lớn nhất. Tƣơng tự, trung tâm cụm c3 đƣợc chọn bằng cách tính công thức (5.2) rồi chọn điểm mj tƣợng ứng giá trị gj lớn nhất.

𝑔𝑗 = 𝑚𝑖𝑛𝑘=1,2 𝑑 𝑐𝑘, 𝑚𝑗 . 𝜌𝑗

Tổng quát, nếu t trung tâm cụm đã đƣợc chọn, trung tâm cụm kế tiếp ct+1 đƣợc chọn là điểm mj tƣơng ứng với giá trị gj lớn nhất, với j = 1,…, q. gj đƣợc tính theo công thức sau:

𝑔𝑗 = 𝑚𝑖𝑛𝑘=1..𝑡 𝑑 𝑐𝑘, 𝑚𝑗 . 𝜌𝑗

Thuật toán dùng kd-tree tạo k trung tâm cụm khởi động cho thuật toán I-k-Means đƣợc trình bày trong Hình 5.3.

(5.1)

(5.2)

103

Thuật toán. Dùng kd-tree tạo trung tâm cụm khởi động cho thuật toán I-k-Means

1. Tạo kd-tree cho tập dữ liệu chuỗi thời gian

2. Tính mật độ ρ’j và trung tâm vùng bao mj của mỗi vùng bao lá Lj, j = 1, …, q, với q là số vùng bao lá.

3. Chọn c1 = mz, với z = argmaxj(ρ’j) 4. Cho t = 2, …, k

- cho j = 1, …, q tính gj = {minr=1,…,t[D(cr, mj)]}. ρ’j . - ct = mz, với z = argmaxj(ρ’j)

5. Bỏ 20% vùng bao lá có mật độ thấp nhất. Quay lại bƣớc 3 và tính k trung tâm cụm lần 2 (c’1, …, c’k)

6. Trả lại (c1, …, ck), (c’1, …, c’k)

Hình 5.3 Thuật toán dùng kd-tree tạo trung tâm cụm ban đầu ( [93]).

Chú ý là trong công thức (5.3) giá trị gj phụ thuộc vào mật độ và vị trí của vùng bao lá. Nhƣ vậy vùng bao có mật độ cao sẽ chiếm ƣu thế hơn và kết quả sẽ đặt nhiều trung tâm cụm khởi động gần các vùng bao có mật độ cao, trong khi bỏ qua các vùng bao có mật độ thấp. Điều này đƣợc giải quyết bằng cách dùng giá trị thứ hạng (rank value) của mật độ thay vì dùng chính giá trị mật độ. Giả sử ta có 100 vùng bao lá, các vùng bao này đƣợc sắp xếp theo giá trị mật độ tính đƣợc bằng công thức (5.1) và lấy thứ tự của vùng bao làm giá trị thứ hạng của mật độ. Nhƣ vậy, vùng bao có mật độ cao nhất sẽ có giá trị thứ hạng là 100 và vùng bao có mật độ thấp nhất sẽ có giá trị thứ hạng là 1. Trong Hình 5.3, ρ’j chính là giá trị thứ hạng của mật độ.

Trƣờng hợp các đối tƣợng nằm ở ngoài xa đƣợc chứa trong vùng bao có mật độ thấp. Nếu khoảng cách giữa các đối tƣợng ở xa và các đối tƣợng trong cơ sở dữ liệu là lớn, có thể sẽ tạo nên giá trị g cao và vùng bao các đối tƣợng này sẽ đƣợc chọn. Để

khắc phục điều này, thuật toán sẽ đƣợc thực hiện hai lần để tạo hai tập trung tâm cụm có thể. Lần đầu dùng tất cả các vùng bao lá, lần thứ hai chỉ dùng 80% vùng bao lá có mật độ cao, bỏ đi 20% vùng bao có mật độ thấp để loại bỏ các đối trƣợng nằm ngoài xa.

Một phần của tài liệu Khai thác dữ liệu chuỗi thời gian dựa vào rút trích đặc trưng bằng phương pháp điểm giữa và kỹ thuật xén = time series data mining based on feature extraction with middle points and clipping method (Trang 118 - 121)