MỤC LỤC
TRANG
LỜI C ẢM ƠN 5
LỜI MỞ ĐẦU 6
CHưƠNG I : TỔNG QUAN THUYẾT VỀ PHÂN CỤM DỮ LIỆU 7
1. Phân cụm dữ liệu 7
1.1 Định nghĩa về phân cụm dữ liệu 7
1.2 Một số ví dụ về phân cụm dữ liệu 7
2. Một số kiểu dữ liệu 10
2.1 Dữ liệu Categorical 10
2.2 Dữ liệu nhị phân 13
2.3 Dữ liệu giao dịch 14
2.4 Dữ liệu Symbolic 15
2.5 Chuỗi thời gian(Time Series) 16
3. Phép Biến đổi và Chuẩn hóa dữ liệu 16
3.1 Phép chuẩn hóa dữ liệu 17
3.2 Biến đổi dữ liệu 21
3.2.1 Phân tích thành phần chính 21
3.2.2 SVD 23
3.2.3 Phép biến đổi Karhunen-Loève 24
CHưƠNG II. CÁC THUẬT TOÁN PHÂN CỤM DỮ LIỆU 28
1. Thuật toán phân cụm dữ liệu dựa vào phân cụm phân cấp 28
1.1 Thuật toán BIRCH 28
1.2 Thuật toán CURE 30
1.3 Thuật toán ANGNES 32
1.4 Thuật toán DIANA 33
1.5 Thuật toán ROCK 33
1.6 Thuật toán Chameleon 34
2. Thuật toán phân cụm dữ liệu mờ 35
2.1 Thuật toán FCM 36
2.2 Thuật toán εFCM 37
3. Thuật toán phân cụm dữ liệu dựa vào cụm trung tâm 37
3.1 . Thuật toán K – MEANS 37
3.2 Thuật toán PAM 41
3.3 Thuật toán CLARA 42
3.4 Thuật toán CLARANS 44
4. Thuật toán phân cụm dữ liệu dựa vào tìm kiếm 46
4.1 Thuật toán di truyền (GAS) 46
4.2 J- Means 48
5. Thuật toán phân cụm dữ liệu dựa vào lưới 49
5.1 STING 49
5.2. Thuật toán CLIQUE 51
5.3. Thuật toán WaveCluster 52
6. Thuật toán phân cụm dữ liệu dựa vào mật độ 53
6.1 Thuật toán DBSCAN 53
6.2. Thuật toán OPTICS 57
6.3. Thuật toán DENCLUDE 58
7. Thuật toán phân cụm dữ liệu dựa trên mẫu 60
7.1 Thuật toán EM 60
7.2 Thuật toán COBWEB 61
CHưƠNG III :ỨNG DỤNG CỦA PHÂN CỤM DỮ LIỆU 62
1. Phân đoạn ảnh 62
1.1. Định nghĩa Phân đoạn ảnh 63
1.2 Phân đoạn ảnh dựa vào phân cụm dữ liệu 65
2. Nhận dạng đối tượng và ký tự 71
2.1 Nhận dạng đối tượng 71
2.2 Nhận dạng ký tự. 75
3. Truy hồi thông tin 76
3.1 Biểu diễn mẫu 78
3.2 Phép đo tương tự 79
3.3 Một giải thuật cho phân cụm dữ liệu sách 80
4. Khai phá dữ liệu 81
4.1 Khai phá dữ liệu bằng Phương pháp tiếp cận. 82
4.2 Khai phá dữ liệu có cấu trúc lớn. 83
4.3 Khai phá dữ liệu trong Cơ sở dữ liệu địa chất. 84
4.4 Tóm tắt 86
KẾT LUẬN ,HưỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 90
PHỤ LỤC 91
TÀI LIỆU THAM KHẢO
100 trang |
Chia sẻ: maiphuongdc | Lượt xem: 5342 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Luận văn Phương pháp phân cụm và ứng dụng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
đề xuất bởi Holland (1975)
là một họ tính toán mô hình lấy cảm hứng từ tương tự của sự tiến hóa và di
truyền dân số. Gas vốn song song và đặc biệt thích hợp cho việc giải quyết
vấn đề tối ưu hóa phức tạp.Filho et al. (1994) trình bày một cuộc khảo sát của
khí cùng với một GA đơn giản viết bằng C ngôn ngữ.
Thông thường, chỉ có hai thành phần chính của GAS được vấn đề phụ
thuộc: các vấn đề mã hóa và chức năng đánh giá (ví dụ, khách quan chức
năng). Ngay cả đối với cùng một vấn đề, có thể sử dụng mã hóa khác nhau.
Ví dụ, trong các k-có nghĩa là thuật toán di truyền, Krishna và Narasimha
(1999) làm việc string-of-group-số mã hóa, trong khi Maulik và
Bandyopadhyay (2000) được mã hóa các chuỗi sao cho mỗi chuỗi là một
chuỗi các thực số đại diện cho các trung tâm cụm.
Trong GAS, các tham số của không gian tìm kiếm được mã hoá trong
các hình thức gọi là chuỗi nhiễm sắc thể. AGA maintains dân (set) của N
chuỗi mã hoá cho một số dân số cố định kích thước N và tiến hóa qua các thế
hệ. Trong mỗi thế hệ, ba nhà khai thác di truyền, nghĩa là, tự nhiên, lựa chọn,
xuyên chéo , và đột biến, được áp dụng cho dân số hiện nay để sản xuất một
số dân mới. Mỗi chuỗi trong dân số liên kết với một giá trị thể dục tùy thuộc
vào giá trị của hàm mục tiêu. Dựa trên nguyên tắc sống còn của các lắp rắp ,
-47-
một chuỗi vài trong số dân hiện hành được lựa chọn và từng được phân công
một số bản sao, và sau đó một thế hệ mới của dây đang mang lại bằng cách áp
dụng chéo và đột biến để các chuỗi được chọn.
Nói chung, một GA điển hình có những năm thành phần cơ bản: mã
hóa, khởi tạo, lựa chọn, crossover, và đột biến. Mã hóa là phụ thuộc vào vấn
đề dưới xem xét. Trong giai đoạn khởi, dân số (set) của chuỗi sẽ được ngẫu
nhiên tạo ra. Sau giai đoạn khởi, có một lặp của các thế hệ. Số lượng của các
thế hệ được xác định bởi người sử dụng. Trong khí, chuỗi tốt nhất thu được
cho đến nay được lưu trữ trong một vị trí riêng biệt bên ngoài dân số và sản
lượng cuối cùng là chuỗi tốt nhất trong số tất cả có thể có chuỗi kiểm tra trong
toàn bộ quá trình.
Murthy và Chowdhury (1996) đề xuất một GA trong một nỗ lực để đạt
được tối ưu giải pháp cho các vấn đề clustering. Trong thuật toán này, các
chức năng đánh giá được xác định như là tổng của bình phương khoảng cách
Euclide của các điểm dữ liệu từ các cụm tương ứng của họ trung tâm. Ngoài
ra, đơn điểm chéo (Michalewicz, 1992), nghĩa là, các nhà điều hành chéo giữa
hai dây, được thực hiện tại một vị trí, và các chiến lược elitist, nghĩa là, các
chuỗi hay nhất được mang từ trước đến dân số kế tiếp, được sử dụng.
Tseng và Yang (2001) đề xuất một cách tiếp cận di truyền được gọi là
clustering đến tự động phân nhóm vấn đề. Clustering là phù hợp với phân
nhóm dữ liệu với nhỏ gọn cụm hình cầu, và số cụm có thể được kiểm soát
gián tiếp bởi một tham số w. Thuật toán sẽ sản xuất một số lượng lớn các cụm
nhỏ gọn với một giá trị nhỏ của w và nó sẽ sản xuất một số lượng nhỏ hơn của
cụm lỏng hơn với một giá trị lớn của w. A di truyền phân nhóm dựa trên thuật
toán nhằm tìm ra các cụm nonspherical đã được đề xuất bởi Tseng và Yang
(2000).
Garai và Chaudhuri (2004) đề xuất một phân nhóm di truyền được
hướng dẫn theo cấp bậc thuật toán mà có thể tìm thấy tùy tiện có hình cụm.
Thuật toán này bao gồm hai giai đoạn. Lúc đầu, tập dữ liệu gốc là bị phân hủy
thành một số nhóm phân mảnh để lây lan trong quá trình GAsearch ở giai
đoạn thứ hai trong toàn bộ không gian. Sau đó, các thứ bậc Cụm trộn thuật
toán (HCMA) được sử dụng. Trong quá trình sát nhập, một kỹ thuật gọi là các
-48-
cluster liền kề kiểm tra thuật toán (ACCA) được sử dụng để thử nghiệm kề
của hai cụm phân đoạn để họ có thể được sáp nhập vào một nhóm.
Krishna và Narasimha (1999) và Bandyopadhyay và Maulik (2002) đề
xuất hai thuật toán phân nhóm khác nhau dựa trên GAS và k phổ biến có
nghĩa là thuật toán. Trong di truyền k-có nghĩa là thuật toán (GKA), Krishna
và Narasimha (1999) được sử dụng k-có nghĩa là nhà điều hành thay vì các
nhà điều hành chéo để tăng tốc độ hội tụ, trong khi ở kga-clustering,
Bandyopadhyay và Maulik (2002) được sử dụng các nhà điều hành crossover-
đơn điểm.
Cowgill et al. (1999) đề xuất một thuật toán-based clustering di truyền
được gọi là COWCLUS. Trong COWCLUS, chức năng đánh giá là tỷ lệ
phương sai (VR) được định nghĩa trong điều kiện cô lập cụm bên ngoài và
tính đồng nhất cụm nội bộ. Mục tiêu của thuật toán là để tìm các phân vùng
với VR tối đa.
4.2 J- Means
Cho
1 2, , , nD x x x
là một tập đối tượng và SD được hiểu là tất cả các
phần của D.
2
1
min
D D
i
k
i
P S
i x C
x z
Nơi k là số lượng cụm ,
.
được hiểu là Euclidean chuẩn tắc, và zi là
tâm của cụm Ci
1
i
i
x Ci
Z x
C
Với i = 1, 2,…k
Thuật toán J-mean :
Bước 1 (khởi) Hãy để PD = (C1, C2,. . . , Ck) là một phân vùng ban đầu của
D, zi là trọng tâm của cụm Ci, và fopt được mục tiêu hiện chức năng giá trị;
S2 (điểm chiếm đóng) Tìm điểm trống, nghĩa là, điểm trong D không trùng
với một cụm trọng tâm trong một dung sai nhỏ;
-49-
S3 (Bước khu phố) Tìm phân vùng tốt nhất
DP
và mục tiêu tương ứngchức
năng giá trị
f
trong các khu phố nhảy của giải pháp hiện tại PD:
S31 (khai phá láng giềng) Đối với mỗi j (j = 1, 2,..., N), lặp lại sau bước
sau: (a) tái định cư. Thêm một cụm mới centroid Z k+1 tại một số điểm
trống xj vị trí và tìm thấy những chỉ số i của trọng tâm tốt nhất để xóa; cho
vij biểu sự thay đổi trong giá trị hàm mục tiêu; (b) Giữ tốt nhất. Giữ đôi chỉ
số i và j nơi vij là tối thiểu;
S32 (chuyển hay thay thế) Nếu trọng tâm zi’ bởi xj và cập nhật các thành
viên nhóm cho phù hợp để có được P phân vùng mới
DP
; đặt
' ': opt i jf f v
S4 (Chấm dứt hoặc di chuyển) Nếu
optf f
, dừng; nếu không, di chuyển
đến láng giềng tốt nhất Giải pháp
DP
; đặt
DP
là giải pháp hiện hành và quay
về bước S2.
5. Thuật toán phân cụm dữ liệu dựa vào lƣới
5.1 STING
STING là kỹ thuật phân cụm đa phân giải dựa trên lưới, trong đó vùng
không gian dữ liệu được phân rã thành số hữu hạn các cells chữ nhât, điều này
có ý nghĩa là các cells lưới được hình thành từ các cells lưới con để thực hiện
phân cụm. Có nhiều mức của các cells chữ nhật tương ứng với các mức khác
nhau của phân giải trong cấu trúc lưới, và các cells này hình thành cấu trúc
phân cấp : mỗi cells ở mức cao được phân hoạch thành các số các cells nhỏ ở
mức thấp hơn tiếp theo trong cấu trúc phân cấp. Các điểm dữ liệu được nạp từ
CSDL, giá trị của các tham số thống kê cho các thuộc tính của đối tượng dữ
liệu trong mỗi ô lưới được tính toán từ dữ liệu và lưu trữ thông qua các tham
số thống kê ở các cell mức thấp hơn (điều này giống với cây CF). Các giá trị
của các tham số thống kê gồm : số trung bình – mean, số tối đa – max, số tối
thiểu – min, số đếm –count , độ lệch chuẩn –s,…
Các đối tượng dữ liệu lần lượt được chèn vào lưới và các tham số thống
kê ở trên được tính trực tiếp thông qua các đối tượng dữ liệu này. Các truy
vấn không gian được thực hiện bằng cách xét các cells thích hợp tại mỗi mức
-50-
phân cấp. Một truy vấn không gian được xác định như là một thông tin khôi
phục lại của dữ liệu không gian và các quan hệ của chúng. STING có khả
năng mở rộng cao , nhưng do sử dụng phương pháp đa phân giải nên nó phụ
thuộc chặt chẽ vào trọng tâm của mức thấp nhất. Đa phân giải là khả năng
phân rã tập dữ liệu thành các mức chi tiết khác nhau. Khi hòa nhập các cells
của cấu trúc lưới để hình thành các cụm, nó không xem xét quan hệ không
gian giữa các nút của mức con không được hòa nhập phù hợp( do chúng chỉ
tương ứng với các cha của nó) và hình dạng của các cụm dữ liệu khám phá là
isothetic, tất cả ranh giới của các cụm có các biên ngang và dọc, theo biên của
các cells và không có đường biên chéo được phát hiện ra.
Các lợi thế của cách tiếp cận này so với các phương pháp phân cụm dữ
liêu khác :
- Tính toán dựa trên lưới là truy vấn độc lập vi thông tin thống kê được
bảo quản trong mỗi cells đại diện nên chỉ cần thông tin tóm tắt của dữ liệu
trong cells chứ không phải là dữ liệu thực tế và không phụ thuộc vào câu truy vấn.
- Cấu trúc dữ liệu lưới thuận tiện cho quá trình xử lý song song và cập
nhật liên tục.
- Duyệt toàn bộ CSDL một lần để tính toán các đại lượng thống kê cho
mỗi cells, nên nó hiệu quả và do đó độ phức tạp thời gian để tạo các cụm xấp
xỉ O(n), trong đó n là tổng số các đối tượng. Sau khi xây dựng cấu trúc phân
cấp, thời gian xử lý cho các truy vấn là O(g), trong đó g là tổng số cells lưới ở
mức thấp (g<<n)
Các hạn chế của thuật toán này :
- Trong khi sử dụng cách tiếp cận đa phân giải để thực hiện phân tích
cụm chất lượng của phân cụm STING hoàn toàn phụ thuộc vào tính chất hộp
ở mức thấp nhất của cấu trúc lưới. Nếu tính chất hộp là mịn, dẫn đến chi phí
thời gian xử lý tăng, tính toán trở nên phức tạp và nếu mức dưới cùng là quá
thô thì nó có thể làm giảm bớt chất lượng và độ chính xác của phân tích cụm.
Thuật toán STING :
1. Xác định tầng để bắt đầu
2. Với mỗi cái của tầng này, tính toán khoảng tin cậy (hoặc ước lượng
khoảng) của xác suất mà cells này liên quan tới truy vấn
3. Từ khoảng tin cậy của tính toán trên,gán nhãn cho là có liên quan hoặc
-51-
không liên quan.
4. Nếu lớp này là lớp cuối cùng , chuyển sang Bước 6; nếu khác thì chuyển
sang Bước 5
5. Duyệt xuống dưới của cấu trúc cây phân cấp một mức. Chuyển sang
Bước 2 cho các cells mà hình thành các cells liên quan của lớp có mức cao
hơn.
6. Nếu đặc tả được câu truy vấn, chuyển sang bước 8; nếu không thì
chuyển sang bước 7.
7. Truy lục lại dữ liệu vào trong các cells liên quan và thực hiện xử lý. Trả
lại kết quả phù hợp yêu cầu của truy vấn. Chuyển sang Bước 9.
8. Tìm thấy các miền có các cells liên quan. Trả lại miền mà phù hợp với
yêu cầu của truy vấn. Chuyển sang bước 9
9. Dừng
5.2. Thuật toán CLIQUE
Trong không gian đa chiều, các cụm có thể tồn tại trong tập con của các
chiều hay còn gọi là không gian con. Thuật toán CLIQUE là thuật toán hữu
ích cho PCDL không gian đa chiều trong các CSDL lớn thành các không gian
con. Thuật toán này bao gồm các bước :
- Cho n là tập lớn của các điểm dữ liệu đa chiều; không gian dữ liệu
thường là không giống nhau bởi các điểm dữ liệu. Phương pháp này xác định
những vùng gần, thưa và “đặc” trong không gian dữ liệu nhất định, bằng cách
đó phát hiện ra toàn thể phân bố mẫu của tập dữ liệu.
- Một đơn vị là dày đặc nếu phần nhỏ của tất cả các điểm dữ liệu chứa
trong nó vượt quá tham số mẫu đưa vào. Trong thuật toán CLIQUE, cụm
được định nghĩa là tập tối đa liên thông các đơn vị dày đặc.
Các đặc trƣng của CLINQUE
- Tự động tìm kiếm không gian con của không gian đa chiều, sao cho
mật độ đặc của các cụm tồn tại trong không gian con.
- Mẫn cảm với thứ tự của dữ liệu vào và không phù hợp với bất kỳ quy
tắc phân bố dữ liệu nào.
- Phương pháp này tỷ lệ tuyến tính với kích thước vào và có tính biến
đổi tốt khi số chiều của dữ liệu tăng.
-52-
Nó phân hoạch tập dữ liệu thành các hình hộp chữ nhật và tìm các hình
hộp chữ nhật đặc, nghĩa là các hình hộp này chứa một số các đối tượng dữ
liệu trong số các đối tượng láng giếng cho trước. Hợp các hình hộp này tạo
thành các cụm dữ liệu. Tuy nhiên , CLINQUE được bắt đầu bằng cách tiếp
cận đơn giản do đó chính xác của kết quả phân cụm có thể bị ảnh hưởng dẫn
tới chất lượng của các phương pháp này có thể giảm.
Phương pháp bắt đầu nhận dạng các cells đặc đơn chiều trong không
gian dữ liệu và tim kiếm phân bố của dữ liệu, tiếp đến CLINQUE lần lượt tìm
các hình chữ nhật 2 chiều, 3 chiều,…., cho đến khi hình hộp chữ nhật đặc k
chiều được tìm thấy, độ phức tạp tính toán của CLIQUE là O(n)
5.3. Thuật toán WaveCluster
Thuật toán WaveCluster là phương pháp gần giống với STING, tuy
nhiên thuật toán sử dụng phép biến đổi dạng sóng đẻ tìm ô đặc trong không
gian. Đầu tiên kỹ thuật này tóm tắt dữ liệu bằng việc tận dụng cấu trúc dạng
lưới đa chiều lên trên không gian dữ liệu. Tiếp theo nó sử dụng phép biến đổi
dạng sóng để biến đổi không gian có đặc trưng gốc, tìm kiếm ô đặc trong
không gian đã được biến đổi. Phương pháp này là phức tạp với các phương
pháp khác chính là ở phép biến đổi.
Ở đây, mỗi cells lưới tóm tắt thông tin các điểm của một nhóm ánh xạ
vào trong cells. Đây là thông tin tiêu biểu thích hợp đưa vào bộ nhớ chính để
sử dụng phép biến đổi dạng sóng đa phân giải và tiếp theo là phân tích cụm.
Một phép biến đổi dạng sóng là kỹ thuật dựa trên cơ sở xử lý tín hiệu và xử lý
ảnh bằng phân tích tín hiệu với tần số xuất hiện trong bộ nhớ chính. Bằng việc
thực hiện một loạt các phép biến đổi ngược phức tạp cho nhóm này,nó cho
phép các cụm trong dữ liệu trở thành rõ ràng hơn. Các cụm này có thể được
xác định bằng tìm kiếm ô đặc trong vùng mới.
Phương pháp này phức tạp, nhưng lại có những lợi thế :
- Cung cấp cụm không giám sát, khử nhiễu các thông tin bên ngoài biên
của cụm. Theo cách đó, vùng đặc trong không gian đặc trưng gốc hút các
điểm ở gần và ngăn chặn các điểm ở xa. Vì vậy, các cụm tự động nổi bật và
làm sạch khu vực xung quanh nó, do đó các kết quả tự động loại phần tử
ngoại lai.
-53-
- Đa phân giải là thuộc tính hỗ trợ dò tìm các cụm có các mức biến đổi
chính xác.
- Thực hiện nhanh với độ phức tạp của thuật toán là O(n), trong đó n là
số đối tượng trong CSDL. Thuật toán có thể thích hợp với xử lý song song.
- Xử lý tập dữ liệu lớn có hiệu quả, khám phá các cụm có hình dạng bất
kỳ, xử lý phần tử ngoại lai, mẫn cảm với thứ tự vào, và không phụ thuộc vào
các tham số vào như số các cụm hoặc bán kính láng giềng.
6. Thuật toán phân cụm dữ liệu dựa vào mật độ
6.1 Thuật toán DBSCAN
Thuật toán DBSCAN thích nghi với mật độ dầy để phân cụm và khám
phá ra các cụm có hình dạng bất kỳ trong không gian CSDL có nhiễu. Nó có
định nghĩa cụm là tập tối đa các điểm liên thông mật độ.
Phân cụm dựa vào mật độ là tập các đối tương liên thông mật độ mà tối
đa về liên lạc mật độ; mỗi đối tượng không được chứa trong cụm là được xem
xét nhiễu. Trên thực tế DBSCAN tìm kiếm cho các cụm bằng cách kiểm tra
các đối tượng mà có số đối tượng láng giềng nhỏ hơn một ngưỡng tối thiểu,
tức là có tối thiểu MinPts đối tượng và mối đối tượng trong cụm tồn tại một
đối tượng khác trong cụm giống nhau với khoảng cách nhỏ một ngưỡng Eps.
Tìm tất cả các đối tượng mà các láng giềng của nó thuộc về lớp các đối tượng
đã xác định ở trên, một cụm được xác định bằng một tập tất cả các đối tượng
liên thông mật độ các láng giềng của nó. DBSCAN lặp lại tìm kiếm ngay khi
các đối tượng liên lạc mật độ từ các đối tượng trung tâm, nó có thể bao gồm
việc kết hợp một số cụm có mật độ liên lạc. Quá trình kết thúc khi không tìm
được điểm mới nào có thể thêm vào bất cứ cụm nào.
DBSCAN có thể tìm ra các cụm với hình thù bất kỳ, trong khi đo 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ố Eps và MinPts trong thuật toán
để kiểm soát mật độ của các cụm . DBSCAN bắt đầu với một điểm tùy ý và
xây dựng mật độ láng giềng có thể được đối với Eps và MinPts, Vì vậy,
DBSCAN yêu cầu người dùng xác định bán kính Eps của láng giềng và số các
láng giềng tối thiểu MinPts, các tham số này khó mà xác định được tối ưu,
thông thường nó được xác định bằng phép chọn ngẫu nhiên hoặc theo kinh
-54-
nghiệm. Độ phức tạp của DBSCAN là O(n2), nhưng nếu áp dụng chỉ số không
gian để giúp xác định các láng giềng của một đối tượng dữ liệu thì độ phức
của DBSCAN được cải tiến là O(nlogn). Thuật toán DBSCAN có thể áp dụng
cho các tập dữ liệu không gian lớn đa chiều, khoảng cách Eucle có thể áp
dụng cho tập dữ liệu không gián lớn đa chiều, khoảng cách Eclide được sử
dụng để đo sự tương tự giữa các đối tượng nhưng không hiệu quả đối với dữ
liệu đa chiều [10][15]
- Định nghĩa 1 : Lân cận với ngưỡng Eps của một điểm p ký hiệu
NEps(p) được xác định như sau : NEps(p)={q D} khoảng cách dist(p,q) Eps.
D là tập dữ liệu cho trước.
Một điểm p muốn nằm trong một cụm C nào đó thì NEps(p) phải có tối thiểu
MinPts điểm. Số điểm tối thiểu được chọn là bao nhiêu cũng là bài toán khó
vì nếu số điểm tối thiểu lớn thì chỉ những điểm nằm thực sự trong cụm C mới
đạt đủ tiêu chuẩn, trong khi đó những điểm nằm ngoài biên của cụm không
thể đạt được điều đó. Ngược lại, nếu số điểm tối thiểu là nhỏ thì mọi điểm sẽ
rơi vào một cụm.
Theo định nghĩa trên, chỉ những điểm nằm trong cụm mới thỏa mãn
điều kiện là điểm thuộc vào cụm. Những điểm nằm ở biên của cụm thì không
thỏa mãn điều kiện đó, bởi vì thông thường thì lân cận với ngưỡng Eps của
điểm biên thì bé hơn lân cận với ngưỡng của Eps của điểm nhân.
Để tránh được điều này, có thể đưa ra một tiêu chuẩn khác để định
nghĩa một điểm thuộc vào một cụm như sau : Nếu một điểm p muốn thuộc
một cụm C phải tồn tại một điểm thuộc một cụm như sau: Nếu một điểm p
muốn thuộc một cụm C phải tồn tại một điểm q mà p
NEps (q) và số điểm
trong p
NEps (q) phải lớn hơn điểm tối thiểu. Điều này dẫn ba phép đo được
sử dụng để mô tả thuộc tính cảu các điểm dữ liệu, là mật độ liên lạc trực tiếp,
mật độ liên lạc và mật độ liên lạc và mật độ liên thông được định nghĩa như
sau :
- Định nghĩa 2 : Mật độ liên lạc trực tiếp
Một điểm p được gọi là liên lạc trực tiếp từ điểm q với ngưỡng Eps nếu :
1. p
NEps (q)
2.
EspN q MinPts
(điều kiện nhân), điểm q gọi là điểm nhân.
-55-
Có thể thấy liên lạc trực tiếp là một hàm phản xạ và đối xứng với hai điểm
nhân và bất đối xứng nếu một trong hai điểm đó không phải là điểm nhân.
- Định nghĩa 3 : Mật độ liên lạc
Một điểm p được gọi là liên lạc từ một điểm q theo tham số Eps và MinPts
nếu tồn tại một dãy p = p1, p2,…, pn = q thỏa mãn pi+1 là có thêm liên lạc trực
tiếp từ pi với
1 1i n
Hai điểm biên của một cụm C có thể không liên lạc được với nhau bởi vì
cả hai đều không thỏa mãn điều kiện nhân.
- Định nghĩa 4 : Mật độ liên thông
Một điểm p được gọi là liên thông với điểm q theo tham số Eps và MinPts
nếu tồn tại một điểm O mà cả hai điểm p, q đều có thể liên lạc được theo
tham số Eps và MinPts. Mật độ liên thông có tính chất đối xứng và phản xạ.
- Định nghĩa 5 : Cụm
Giả sử D là một tập cá điểm dữ liệu. Một tập con C khác rỗng của D được gọi
là một cụm theo Eps và MinPts nếu thỏa mãn hai điều kiện :
1. Với
,p q D
, nếu
p C
và q có thể liên lạc được từ p theo Eps và
MinPts thì
q C
2. Với
,p q C
,p liên thông với q theo Eps và MinPts.
- Định nghĩa 6 : Nhiễu
Giả sử C1, C2, …. , Ck là các cụm trong tập dữ liệu D theo tham số Eps
và MinPts, điểm dữ liệu nhiễu là điểm dữ liệu không thuộc vào cụm nào trong
các cụm C1, C2, …. , Ck, tức là N ={p/ với mọi I = 1,…,k Ci}.
Với hai tham số Eps và MinPts cho trước, có thể khám phá các cụm
theo hai bước :
- Bước 1 : Chọn một điểm bất kỳ từ tập dữ liệu ban đầu thỏa mãn điều
kiện nhân.
- Bước 2 : Lấy tất cả các điểm liên lạc với điểm nhân đã chọn để tạo
thành cụm.
Bổ đề 1 : Giả sử p là một điểm trong D,
Es ( )pN p MinPts
tập O ={o/o
D và có thể liên lạc từ p theo Eps và MinPts} là một cụm theo Eps và MinPts.
Như vậy, cụm C không hoàn toàn là duy nhất, tuy nhiên, mỗi điểm
trong C liên lạc từ bất cứ một điểm nhân nào của C, vì vậy C chứa đúng một
số điểm liên thông với điểm nhân tùy ý.
-56-
Bổ đề 2 : Giả sử C là một cum theo Eps và MinPts, p là một điểm bất
kỳ trong C với
Es ( )pN p MinPts
. Khi đó, C trùng với tập O ={o/o
D và o có
thể liên lạc từ p theo Eps và MinPts}.
Thuật toán : DBSCAN khởi tạo điểm p tùy ý và lấy tất cả các điểm liên
lạc mật độ từ p tới Eps và MinPts. Nếu p là điểm nhân thì thủ tục trên tạo ra
một cụm theo Eps và MinPts ( bổ đề 2), nếu p là một điểm biên, không có
điểm nào liên lạc mật độ từ p và DBSCAN sẽ đi thăm điểm tiếp theo của tập
dữ liệu.
Nếu sử dụng giá trị toàn cục Eps và Minpts, DBSCAN có thể hòa nhập
hai cụm ( Định nghĩa 5) thành một cụm nếu mật độ của hai cụm gần bằng
nhau. Giả sử khoảng cách giữa hai tập dữ liệu S1 và S2 được định nghĩa là
dist(S1, S2) = min{dist(p, q) {p
S1 và p
S2}.
Thuật toán DBSCAN
--------------main Module----------------
DBSCAN(SetOfPoints, Eps, MinOts)
//SetOfPoints is UNCLASSIFIED
Clusterid:=NextId(NOISE);
FOR i FROM 1 TO SetOfPoints.size DO
Point := SetOfPoints.get(i);
IF PointClId = UNCLASSIFIED THEN
IF ExpandCluster (SetOfPoints, Point, ClusterId, Eps, MinPts ) THEN
ClusterId.= nextld(ClusterId)
END IF
END IF
END FOR
FOR END; I/DBSCAN
--------ExpandCluster Procedure -------
ExpandClusster(SetOfPoints, Points, ClId, Eps, MinPts): Boolean; seeds:=
SetOfPoints.regionQuery(Point, E ps) IF seeds.size < MinPts THEN // no
core point
SetOfPoints.changeclId(Point, NOISE), RETURN False;
ELSE //all points in seeds are density-reachable from Point
SetOfPoints.changeClId(seeds, ClId); seeds.delete(Point); WHILE
-57-
seeds Empty DO
currentP:= seeds.firstO; result:=
SetOfPoints.regionQuery(CurrentP, Eps);
IF result.size >= MinPts THEN
FOR i FROM 1 to result.size 00 resultpP:= result.get(i); IF
resultp.ClId IN {UNCLASSIFIED, NOISE) THEN
IF resultp.ClId = UNCLASSIFIED THEN
seeds.append(resultP);
END IF
SetOfPoints.changeC1Id(resultP, C1Id),
ENDIF; //UNCLASSIFIED or NOISE
END FOR;
END IF ;// result.size >= Minpts
Seed.delete(CurrentP)
END WHILE ;//seeds Empty
RETURN True;
END IF;
END ;//ExpandCluster
Trong đó SetOfPoints hoặc là tập dữ liệu ban đầu hoặc là cụm được
khám phá từ bước trước, C1Id (ClusterId) là nhãn đánh dấu phần tử dữ liệu
nhiễu có thể thay đổi nếu chúng có thể liên lạc mật độ từ một điểm khác trong
CSDL, điều này chỉ xảy ra đối với các điểm biên của dữ liệu. hàm
SetOfPoints.get(i) trả về phần tử thứ I của SetofPoints. Thủ tục
SetOfPoints.regionQuery(Point, Eps) trả về một danh sách các điểm dữ liệu
lân cận với điểm Point trong ngưỡng Eps từ tập dữ liệu SetOfPoint. Trừ một
số trường hợp ngoại lệ, kết quả của DBSCAN là độc lập với thứ tự duyệt các
đối tượng dữ liệu. Eps và MinPts là hai tham số toàn cục được xác định bằng
thủ công hoặc theo kinh nghiệm. Tham số Eps được đưa vào là nhỏ so với
kích thước của không gian dữ liệu, thì độ phức tạp tính toán trung bình của
mỗi truy vấn là O(logn).
6.2. Thuật toán OPTICS
Thuật toán này là mở rộng của DBSCAN, tuy nhiên nó cải tiến bằng
cách giảm bớt các tham số đầu vào. Thuật toán này không phân cụm các điểm
-58-
dữ liệu mà thực hiện tính toán và sắp xếp trên các điểm dữ liệu theo thứ tự
tăng dần nhằm tự động PCDL và phân tích cụm tương tác hơn là đưa ra phân
cụm một tập dữ liệu rõ ràng. Đây là thứ tự mô tả cấu trúc phân dữ liệu cụm
dựa trên mật độ của dữ liệu, nó chứa thông tin tương ứng với phân cụm dựa
trên mật độ từ một dãy các tham số được thiết lập và tạo thứ tự của các đối
tượng trong CSDL, đồng thời lưu trữ khoản cách lõi và khoảng cách liên lạc
phù hợp của mỗi đối tượng. Hơn nữa, thuật toán được đề xuất rút ra các cụm
dựa trên thứ tự thông tin. Như vậy thông tin đủ cho trích ra tất cả các cụm dựa
trên mật độ khoảng cách bất kỳ
mà nhỏ hơn khoảng cách
được sử dụng
trong sinh thứ tự.
Việc sắp xếp thứ tự được xác định bởi hai thuộc tính riêng của các điểm
dữ liệu đó là khoảng cách nhân và khoảng cách liên lạc. Các phép đo này
chính là kích thước mà có liên quan đến quá trình của thuật toán DBSCAN,
tuy nhiên, chúng được sử dụng để xác định thứ tự của các điểm dữ liệu đã
được xắp xếp. Thứ tự dựa tren cơ sở các điểm dữ liệu mà có khoảng cách
nhân nhỏ nhất và tăng dần độ lớn. Điều duy nhất về phương pháp này là
người sử dụng không phải xác định giá trị
hoặc MinPts phù hợp.
Thuật toán này có thể phân cụm các đối tượng đã cho với các tham số
đầu vào như
và MinPts, nhưng nó vẫn cho phép người sử dụng tùy ý lựa
chon các giá trị tham số mà sẽ dãn đến khám phá các cụm chấp nhận được.
Các thiết lập tham số thường dựa theo kinh nghiệm tập hợp và khó xác định,
đặc biệt là với các tập dữ liệu đa chiều.
Tuy nhiên, nó cũng có độ phức tạp thời gian thực hiện như DBSCAN
bởi vì có cấu trúc tương đương với DBSCAN : O(nlogn)- n là kích thước của
tập dữ liệu. Thứ tự cụm của tập dữ liệu có thể được biểu diễn bằng đồ thị, và
được minh họa trong hình sau, có thể thấy ba cụm, giá trị
quyết định số cụm
6.3. Thuật toán DENCLUDE
DENCLUDE đưa ra cách tiếp cận khác với các thuật toán phân cụm
dựa trên mật độ trước đó, cách tiếp cận này xem xét mô hình được sử dụng
một công thức toán để mô tả mỗi điểm dữ liệu sẽ ảnh hưởng trong mô hình
như thế nào được gọi là hàm ảnh hưởng có thể xem như một h
Các file đính kèm theo tài liệu này:
- 15LV09_CNTTNguyenTrungSon.pdf