Phân loại các kiểu dữ liệu

Một phần của tài liệu Nghiên cứu, tìm hiểu một số thuật toán cơ bản về phân nhóm dữ liệu trên cơ sở dữ liệu không gian (Trang 55 - 96)

Cho một CSDL D chứa n đối tƣợng trong không gian k chiều trong đó x, y, z là các đối tƣợng thuộc D: x = (x1, x2,.., xk); y = (y1, y2,.., yk); z = (z1, z2,.., zk), trong đó xi, yi, zi với i = 1…k là các đặc trƣng hoặc thuộc tính tƣơng ứng của các đối tƣợng x, y, z.

Sau đây là các kiểu dữ liệu:

a. Phân loại các kiểu dữ liệu dựa trên kích thƣớc miền

- Thuộc tính liên tục (Continuous Attribute): Nếu miền giá trị của nó là vô hạn không đếm đƣợc

- Thuộc tính rời rạc (DiscretteAttribute): Nếu miền giá trị của nó là tập hữu hạn, đếm đƣợc

- Lớp các thuộc tính nhị phân: Là trƣờng hợp đặc biệt của thuộc tính rời rạc mà miền giá trị của nó chỉ có 2 phần tử đƣợc diễn tả nhƣ: Yes/No hoặc Nam/Nữ, False/true,…

b. Phân loại các kiểu dữ liệu dựa trên hệ đo

Giả sử rằng chúng ta có hai đối tƣợng x, y và các thuộc tính xi, yi tƣơng ứng với thuộc tính thứ i của chúng. Chúng ta có các lớp kiểu dữ liệu nhƣ sau:

- Thuộc tính định danh (Nominal Scale): Đây là dạng thuộc tính khái quát hoá của thuộc tính nhị phân, trong đó miền giá trị là rời rạc không phân biệt thứ tự và có nhiều hơn hai phần tử nghĩa là nếu x và y là hai đối tƣợng thuộc tính thì chỉ có thể xác định là x ≠ y hoặc x = y.

- Thuộc tính có thứ tự (Ordinal Scale): Là thuộc tính định danh có thêm tính thứ tự, nhƣng chúng không đƣợc định lƣợng. Nếu x và y là hai thuộc tính thứ tự thì ta có thể xác định là x ≠ y hoặc x = y hoặc x > y hoặc x < y.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ - Thuộc tính khoảng (Interval Scale): Với thuộc tính khoảng, chúng ta có thể xác định một thuộc tính là đứng trƣớc hoặc đứng sau thuộc tính khác với một khoảng là bao nhiêu. Nếu xi > yi thì ta nói x cách y một khoảng xi - yi tƣơng ứng với thuộc tính thứ i.

- Thuộc tính tỉ lệ (Ratio Scale): Là thuộc tính khoảng nhƣng đƣợc xác định một cách tƣơng đối so với điểm mốc, thí dụ nhƣ thuộc tính chiều cao hoặc cân nặng lấy điểm 0 làm mốc. Trong các thuộc tính dữ liệu trình bày ở trên, thuộc tính định danh và thuộc tính có thứ tự gọi chung là thuộc tính hạng mục (Categorical), thuộc tính khoảng và thuộc tính tỉ lệ đƣợc gọi là thuộc tính số (Numeric).

3.1.2. Độ đo tương tự và phi tương tự

Để phân nhóm, ngƣời ta phải đi tìm cách thích hợp để xác định “khoảng cách” giữa các đối tƣợng, hay là phép đo tƣơng tự dữ liệu. Đây là các hàm để đo sự giống nhau giữa các cặp đối tƣợng dữ liệu, thông thƣờng các hàm này hoặc là để tính độ tƣơng tự (Similar) hoặc là tính độ phi tƣơng tự (Dissimilar) giữa các đối tƣợng dữ liệu.

1. Không gian metric

Tất cả các độ đo dƣới đây đƣợc xác định trong không gian độ đo metric. Một không gian metric là một tập trong đó có xác định các “khoảng cách” giữa từng cặp phần tử, với những tính chất thông thƣờng của khoảng cách hình học. Nghĩa là, một tập X (các phần tử của nó có thể là những đối tƣợng bất kỳ) các đối tƣợng dữ liệu trong CSDL D nhƣ đã đề cập ở trên đƣợc gọi là một không gian metric nếu:

- Với mỗi cặp phần tử x, y thuộc X đều có xác định, theo một quy tắc nào đó, một số thực δ(x, y), đƣợc gọi là khoảng cách giữa x và y.

- Quy tắc nói trên thoả mãn hệ tính chất sau: (i) δ(x, y) > 0 nếu x ≠ y ; (ii) δ(x, y) = 0 nếu x = y; (iii) δ(x, y) = δ(y, x) với mọi x,y; (iv) δ(x, y) ≤ δ(x, z) + δ(z, y)

Hàm δ(x, y) đƣợc gọi là một metric của không gian. Các phần tử của X đƣợc gọi là các điểm của không gian này.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

Hình 3.1: Minh họa số đo chiều rộng, chiều cao một đối tƣợng [14] (phụ thuộc vào scaling khác nhau dẫn đến phân nhóm khác nhau) 2. Thuộc tính khoảng cách

Một thành phần quan trọng trong thuật toán phân nhóm là phép đo khoảng cách giữa hai điểm dữ liệu. Nếu thành phần của vectơ thể hiện dữ liệu thuộc trong cùng một đơn vị giống nhau thì nó tồn tại khoảng cách Euclidean có thể xác định đƣợc nhóm dữ liệu tƣơng tự. Tuy nhiên, không phải lúc nào khoảng cách Euclidean cũng cho kết quả chính xác.

Tuy nhiên chú ý rằng đây không phải vấn đề đồ thị: Vấn đề phát sinh từ công thức toán học đƣợc sử dụng để kết hợp khoảng cách giữa các thành phần đơn đặc tính dữ liệu vectơ vào trong một độ đo khoảng duy nhất mà có thể đƣợc sử dụng cho mục đích phân nhóm: Các công thức khác nhau dẫn tới những nhóm khác nhau.

Các thuật toán cần có các phép đo khoảng cách hoặc độ tƣơng tự giữa hai đối tƣợng để thực hiện phân nhóm. Kiến thức miền phải đƣợc sử dụng để để trình bày rõ ràng phép đo khoảng thích hợp cho mỗi ứng dụng. Hiện nay, phép đo có nhiều mức độ khác nhau tùy theo từng trƣờng hợp.

Sau khi chuẩn hoá, độ đo phi tƣơng tự của hai đối tƣợng dữ liệu x, y đƣợc xác định bằng các metric khoảng cách nhƣ sau:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ d(x, y) = 1/ 1 | | q n q i i i x y

Trong đó x, y là hai đối tƣợng với n là số lƣợng thuộc tính, x = (x1, x2,…xn) và y = (y1, y2,…yn); d là kích thƣớc của dữ liệu.

- Khoảng cách Euclidean đƣợc định nghĩa nhƣ sau:

d(x, y) = 2 1 ( ) n i i i x y

Là khoảng cách giữa hai đối tƣợng trong trƣờng hợp đặc biệt q = 2.

- Khoảng cách Manhattan: d(x, y) = 1 n i i i x y

Là khoảng cách trung bình giữa hai đối tƣợng trong trƣờng hợp đặc biệt q = 1.

- Khoảng cách Chebychev:

d(x, y) = Maxni 1 |xi - yi|

Trong trƣờng hợp q = ∞, hữu ích để định nghĩa các đối tƣợng phi tƣơng tự nếu chúng khác nhau chỉ trong một kích thƣớc biến đổi.

- Bình phƣơng khoảng cách Euclidean.

d(x, y) = 2 1 ( ) n i i i x y (1) Tỉ lệ khác nhau. Giả sử các biến là tuyệt đối

d(x, y) = (Number (xi yi))/i (2)

Khoảng cách Euclidean đƣợc sử dụng phổ biến nhất để đo độ tƣơng tự của khoảng cách Minkowski. Giả sử có hai trƣờng hợp C1 và C2 có các biến liên tục x và y, lấy lần lƣợt các giá trị (x1, y1) và (x2, y2) tƣơng ứng, có thể vẽ đồ thị hai trƣờng hợp trong không gian x - y:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

Hình 3.2: Khoảng cách Euclidean

Tuy nhiên không có nguyên tắc tổng quát để chọn phép đo áp dụng cho bất cứ bài toán nào. Một cách đơn giản để đo độ tƣơng tự giữa các nhóm trong khung tƣơng tự bằng cách thay thế nhóm cho thuộc tính thứ i của đối tƣợng đo chẳng hạn nhƣ khoảng cách Euclidean, khoảng cách Manhattan, hoặc bình phƣơng

Mahalanobis. Ví dụ, Giả sử rằng nhóm A có vectơ trung bình

A = xa1,xa2,...,xan và nhóm B có vectơ trung bình

B= b, xb1,xb2,...,xbn thì cách đo bằng khoảng cách Euclidean giữa hai nhóm có thể đƣợc định nghĩa là: d(A, B) = 1/2 2 1 ( ) n ai bi i x x (3)

Cách tiếp cận khác để khoảng cách giữa phần tử gần nhất hoặc phần tử xa nhất. Cách cận tiếp này sử dụng các thuật toán phân nhóm phân cấp chẳng hạn nhƣ liên kết đơn và liên kết đầy đủ. Vấn đề chính với hai cách tiếp cận này giống nhau là không cảm nhận đƣợc mâu thuẫn định lƣợng và không tính toán cho các yếu tố của các phần tử trong một nhóm.

Cách tiếp cận khác, là trung bình nhóm, có thể sử dụng phép đo tƣơng tự giữa các nhóm. Cách tiếp cận này, sự giống nhau giữa các nhóm đƣợc đo bằng cách lấy giá trị trung bình tất cả các phép đo giữa các đối tƣợng cho từng cặp đối tƣợng trong các nhóm khác nhau. Ví dụ, trung bình phi tƣơng tự giữa nhóm A và B có thể đƣợc định nghĩa là:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ d(A, B) = 1 1 , / x b n n i i i j d x y n (4) Trong đó, n là tổng số các đối tƣợng cùng cặp, n = nx * ny, nx và ny lần lƣợt là số các đối tƣợng trong đối tƣợng xi và yi, d(xi, yi) là phi tƣơng tự của một cặp đối tƣợng xi và yi, xi A, yi B. Hàm phi tƣơng tự có thể dễ dàng chuyển đổi sang hàm tƣơng tự bằng cách thay đổi cho nhau.

3.2. Thuật toán K-MEANS

Thuật toán này dựa trên độ đo khoảng cách của các đối tƣợng dữ liệu đến phần tử là trung tâm của nhóm chứa nó [2].

Hình 3.3: Các thiết lập để xác định ranh giới các nhóm ban đầu

Thuật toán K-means lấy tham số đầu vào là k và phân chia một tập n đối tƣợng vào trong k nhóm để cho kết quả độ tƣơng đồng trong nhóm là cao trong khi độ tƣơng đồng ngoài nhóm là thấp. Độ tƣơng đồng nhóm đƣợc đo khi đánh giá giá trị trung bình của các đối tƣợng trong nhóm, nó có thể đƣợc quan sát nhƣ là “trọng tâm” của nhóm.

Giải thuật xử lý nhƣ sau: Trƣớc tiên nó lựa chọn ngẫu nhiên k đối tƣợng, mỗi đối tƣợng đại diện cho một trung bình nhóm hay tâm nhóm. Đối với những đối tƣợng còn lại, mỗi đối tƣợng sẽ đƣợc ấn định vào một nhóm mà nó giống nhất dựa trên khoảng cách giữa đối tƣợng và trung bình nhóm. Sau đó sẽ tính lại trung bình nhóm mới cho mỗi nhóm. Xử lý này sẽ đƣợc lặp lại cho tới khi hàm tiêu chuẩn hội tụ. Bình phƣơng sai số thƣờng dùng làm hàm tiêu chuẩn hội tụ, định nghĩa nhƣ sau:

E = 2 1 i k i i x C x m

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ Với x là điểm trong không gian đại diện cho đối tƣợng cho trƣớc, mi là trung bình nhóm Ci (x và mi đều là đa chiều). Tiêu chuẩn này cố gắng cho kết quả k nhóm càng đặc biệt, càng riêng biệt càng tốt.

Hình 3.4: Tính toán trọng tâm của các nhóm mới Thuật toán K-Means bao gồm các bƣớc cơ bản sau: Đầu vào: Số nhóm k và hàm E E = 2 1 i k i i x C x m

Đầu ra: Các nhóm C[i] (1 ≤ i ≤ k) với hàm tiêu chuẩn E đạt giá trị tối thiểu

Begin

Bƣớc 1: Khởi tạo

Chọn ngẫu nhiên k tâm mi

1

k j j

m ban đầu trong không gian Rd (d là số chiều của dữ liệu). Mỗi nhóm đƣợc đại diện bằng các tâm của nhóm

Bƣớc 2: Tính toán khoảng cách 1 2 1 n k j i j i D x m

Đối với mỗi điểm xi (1 ≤ i ≤ n), tính toán khoảng cách của nó tới mỗi trọng tâm mj (1 ≤ j ≤ k). Sau đó tìm trọng tâm gần nhất đối với mỗi điểm và nhóm chúng vào các nhóm gần nhất.

Bƣớc 3: Cập nhật lại trọng tâm

Đối với mỗi 1≤ j ≤ k, cập nhật trọng tâm nhóm mj bằng cách xác định trung bình cộng các vectơ đối tƣợng dữ liệu.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ Nhóm các đối tƣợng vào nhóm gần nhất dựa trên trọng tâm của nhóm.

Điều kiện dừng:

Lặp lại các bƣớc 2 và 3 cho đến khi các trọng tâm của nhóm không thay đổi.

End.

Thuật toán K-means đƣợc chứng minh là hội tụ và có độ phức tạp tính toán là O(tkn) với t là số lần lặp, k là số nhóm, n là số đối tƣợng của tập dữ liệu vào. Thông thƣờng k << n và t << n thƣờng kết thúc tại một điểm tối ƣu cục bộ.

Tuy nhiên, nhƣợc điểm của K-means là còn rất nhạy cảm với nhiễu và các phần tử ngoại lai trong dữ liệu. Hơn nữa, chất lƣợng phân nhóm dữ liệu của thuật toán K-means phụ thuộc nhiều vào các tham số đầu vào nhƣ: Số nhóm k và k trọng tâm khởi tạo ban đầu. Trong trƣờng hợp các trọng tâm khởi tạo ban đầu mà quá lệch so với các trọng tâm nhóm tự nhiên thì kết quả phân nhóm của K-means là rất thấp, nghĩa là các nhóm dữ liệu đƣợc khám phá rất lệch so với các nhóm trong thực tế. Trên thực tế chƣa có một giải pháp tối ƣu nào để chọn các tham số đầu vào, giải pháp thƣờng đƣợc sử dụng nhất là thử nghiệm với các giá trị đầu vào k khác nhau rồi sau đó chọn giải pháp tốt nhất.

Đánh giá thuật toán K-Means

Ƣu điểm:

- K-means là có độ phức tạp tính toán O(tkn).

- K-means phân tích phân nhóm đơn giản nên có thể áp dụng đối với tập dữ liệu lớn.

Nhƣợc điểm:

- K-means không khắc phục đƣợc nhiễu và giá trị k phải đƣợc cho bởi ngƣời dùng. - Chỉ thích hợp áp dụng với dữ liệu có thuộc tính số và khám phá ra các nhóm có dạng hình cầu.

Ví dụ: Giả sử có một tập đối tƣợng đƣợc định vị trong hệ trục toạ độ X, Y. Cho: k = 3 tức ngƣời dùng cần phân các đối tƣợng vào trong 3 nhóm.

Theo giải thuật, ta chọn ngẫu nhiên 3 trung tâm nhóm ban đầu (Hình K- means bƣớc 1). Sau đó, mỗi đối tƣợng đƣợc phân vào trong các nhóm đã chọn dựa trên tâm nhóm gần nhất (Hình K-means bƣớc 2).

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/ Cập nhật lại các tâm (Hình K-means bƣớc 3). Đó là giá trị trung bình của mỗi nhóm đƣợc tính toán lại dựa trên các đối tƣợng trong nhóm. Tuỳ theo các tâm mới này, các đối tƣợng đƣợc phân bố lại vào trong các nhóm dựa trên tâm nhóm gần nhất (Hình K-means bƣớc 4).

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

3.3. Giải thuật DBSCAN

Thuật toán DBSCAN (Density-Based Spatial Clustering of Applications with Noise) là một giải thuật phân nhóm dựa trên mật độ, đƣợc phát triển bởi Ester, Kriegel, Sander và Xu năm 1996. Giải thuật này đi tìm các đối tƣợng các miền với mật độ cao vào trong các nhóm và khám phá ra các nhóm có hình dạng bất kỳ trong không gian cơ sở dữ liệu có nhiễu.

Ý tƣởng cơ bản của phân nhóm dựa trên mật độ: Đối với mỗi đối tƣợng của một nhóm, láng giềng trong một bán kính cho trƣớc (ε) (gọi là ε - láng giềng) phải chứa ít nhất một số lƣợng tối thiểu các đối tƣợng (MinPts).

Một đối tƣợng nằm trong một bán kính cho trƣớc (ε) chứa không ít hơn một số lƣợng tối thiểu các đối tƣợng láng giềng (MinPts), đƣợc gọi là đối tƣợng nồng cốt (core object) đối với bán kính (ε) và số lƣợng tối thiểu các điểm (MinPts).

Một đối tƣợng p là mật độ trực tiếp tiến (directly density-reachable) từ đối tƣợng q với bán kính ε và số lƣợng tối thiểu các điểm MinPts trong một tập các đối tƣợng D nếu p trong phạm vi ε láng giềng của q với q chứa ít nhất một số lƣợng tối thiểu điểm MinPts.

Một đối tƣợng p là mật độ tiến (density-reachable) từ đối tƣợng q với bán kính ε và MinPts trong một tập hợp các đối tƣợng D nếu nhƣ có một đối tƣợng

p1, p2, …,pn, p1 = q và pn = p với 1 ≤ i ≤ n, pi D và pi+1 là mật độ trực tiếp tiến từ pi đối với ε và MinPts

Một đối tƣợng p là mật độ liên kết với đối tƣợng q đối với ε và MinPts trong một tập đối tƣợng D nếu nhƣ có một đối tƣợng o D để cả p và q là mật độ tiến từ o đối với ε và MinPts.

DBSCAN có thể tìm ra các nhóm với hình thù bất kỳ, trong khi đó tại cùng một thời điểm ít bị ảnh hƣởng bởi thứ tự của các đối tƣợng dữ liệu nhập vào. Khi có một đối tƣợng đƣợc chèn vào chỉ tác động đến một láng giềng xác định. Mặt khác, DBSCAN sử dụng tham số ε và MinPts trong thuật toán để kiểm soát mật độ của các nhóm. DBSCAN bắt đầu với một điểm tuỳ ý và xây dựng mật độ láng giềng có thể đƣợc đối với ε và MinPts.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn/

Một phần của tài liệu Nghiên cứu, tìm hiểu một số thuật toán cơ bản về phân nhóm dữ liệu trên cơ sở dữ liệu không gian (Trang 55 - 96)

Tải bản đầy đủ (PDF)

(96 trang)