Phương pháp phân cụm và ứng dụng
Trang 1Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC
1 PGS TS VŨ ĐỨC THI
Thái Nguyên – 2009
Trang 2Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC
1 PGS TS VŨ ĐỨC THI
Thái Nguyên – 2009
Trang 31 Thuật toán phân cụm dữ liệu dựa vào phân cụm phân cấp 28
Trang 42 Thuật toán phân cụm dữ liệu mờ 35
3 Thuật toán phân cụm dữ liệu dựa vào cụm trung tâm 37
Trang 52.2 Nhận dạng ký tự 75
Trang 7LỜI MỞ ĐẦU
Trong những năm gần đây, sự phát triển mạnh mẽ của CNTT đã làm cho khả năng thu thập và lưu trữ thông tin của các hệ thống thông tin tăng nhanh một cách chóng mặt Bên cạnh đó, việc tin học hóa một cách ồ ạt và nhanh chóng các hoạt động sản xuất, kinh doanh cũng như nhiều lĩnh vực hoạt động khác đã tạo ra cho chúng ta một lượng dữ liệu lưu trữ khổng lồ Hàng triệu CSDL đã được sử dụng trong các hoạt động sản xuất, kinh doanh, quản lý , trong đó có nhiều CSDL cực lớn cỡ Gigabyte, thậm chí là Terabyte
Sự bùng nổ này đã dẫn tới một yêu cầu cấp thiết là cần có những kỹ thuật và công cụ mới để tự động chuyển đổi lượng dữ liệu khổng lồ kia thành các tri thức có ích Từ đó, các kỹ thuật khai phá dữ liệu đã trở thành một lĩnh vực thời sự của nền CNTT thế giới hiện nay nói chung và Việt Nam nói riêng Khai phá dữ liệu đang được áp dụng một cách rộng rãi trong nhiều lĩnh vực kinh doanh và đời sống khác nhau: marketing, tài chính, ngân hàng và bảo hiểm, khoa học, y tế, an ninh, internet… Rất nhiều tổ chức và công ty lớn trên thế giới đã áp dụng kỹ thuật khai phá dữ liệu vào các hoạt động sản xuất kinh doanh của mình và thu được những lợi ích to lớn
Các kỹ thuật khai phá dữ liệu thường được chia thành 2 nhóm chính:
- Kỹ thuật khai phá dữ liệu mô tả: có nhiệm vụ mô tả về các tính
chất hoặc các đặc tính chung của dữ liệu trong CSDL hiện có
- Kỹ thuật khai phá dữ liệu dự đoán: có nhiệm vụ đưa ra các dự đoán dựa vào các suy diễn trên dữ liệu hiện thời
Bản luận văn này trình bày một số vấn đề về Phân cụm dữ liệu, một trong những kỹ thuật cơ bản để Khai phá dữ liệu Đây là hướng nghiên cứu
có triển vọng chỉ ra những sơ lược trong việc hiểu và khai thác CSDL khổng
lồ, khám phá thông tin hữu ích ẩn trong dữ liệu; hiểu được ý nghĩa thực tế của dữ liệu
Luận văn được trình bày trong 3 chương và phần phụ lục :
Chương 1 : Trình bày tổng quan lý thuyết về Phân cụm dữ liệu, các kiểu dữ
liệu, Phép biến đổi và chuẩn hóa dữ liệu
Chương 2 : Giới thiệu, phân tích, đánh giá các thuật toán dùng để phân cụm
dữ liệu
Chương 3 : Trình bày một số ứng dụng tiêu biểu của phân cụm dữ liệu
Kết luận : Tóm tắt các vấn đề được tìm hiểu trong luận văn và các vấn đề liên
quan trong luận văn, đưa ra phương hướng nghiên cứu tiếp theo
Trang 8CHƯƠNG I : TỔNG QUAN LÝ THUYẾT VỀ PHÂN CỤM DỮ LIỆU
1 Phân cụm dữ liệu
1.1 Định nghĩa về phân cụm dữ liệu
Phân cụm dữ liệu(Data Clustering) hay phân cụm, cũng có thể gọi là phân tích cụm, phân tích phân đoạn, phân tích phân loại, là quá trình nhóm một tập các đối tượng thực thể hay trừu tượng thành lớp các đối tượng tương
tự Một cụm là một tập hợp các đối tượng dữ liệu mà các phần tử của nó tương tự nhau cùng trong một cụm và phi tương tự với các đối tượng trong các cụm khác Một cụm các đối tượng dữ liệu có thể xem như là một nhóm trong nhiều ứng dụng
1.2 Một số ví dụ về phân cụm dữ liệu
1.2.1 Phân cụm dữ liệu phục vụ cho biểu diễn dữ liệu gene
Phân cụm là một trong những phân tích được sử dụng thường xuyên nhất trong biểu diễn dữ liệu gene (Yeung et al., 2003; Eisen at al., 1998) Dữ
liệu biểu diễn gene là một tâp hợp các phép đo được lấy từ DNA microarray (còn gọi là DNA chip hay gene chip) là một tấm thủy tinh hoặc nhựa trên đó
có gắn các đoạn DNA thành các hàng siêu nhỏ Các nhà nghiên cứu sử dụng các con chip như vậy để sàng lọc các mẫu sinh học nhằm kiểm tra sự có mặt hàng loạt trình tự cùng một lúc Các đoạn DNA gắn trên chip được gọi là probe (mẫu dò) Trên mỗi điểm của chip có hàng ngàn phân tử probe với trình
tự giống nhau Một tập hợp dữ liệu biểu diễn gene có thể được biểu diễn thành một ma trận giá trị thực :
,
2 1
2 22
21
1 12
n
d d
x x
x
x x
x
x x
x D
- d là số lượng mẫu hay điều kiện thử
- xij là thước đo biểu diễn mức gen i trong mẫu j
Trang 9Bởi vì các biểu ma trận gốc chứa nhiễu, giá trị sai lệch, hệ thống biến thể,
do đó tiền xử lý là đòi hỏi cần thiết trước khi thực hiện phân cụm
Hình 1 Tác vụ của Khai phá dữ liệu
Dữ liệu biểu diễn gen có thể được phân cụm theo hai cách Cách thứ nhất
là nhóm các các mẫu gen giống nhau, ví dụ như gom các dòng của ma trận D Cách khác là nhóm các mẫu khác nhau trên các hồ sơ tương ứng, ví dụ như gom các cột của ma trận D
1.2.2 Phân cụm dữ liệu phục trong sức khỏe tâm lý
Phân cụm dữ liệu áp dụng trong nhiều lĩnh vực sức khỏe tâm lý, bao gồm cả việc thúc đẩy và duy trì sức khỏe, cải thiện cho hệ thống chăm sóc sức khỏe, và công tác phòng chống bệnh tật và người khuyết tật (Clatworthy et al., 2005) Trong sự phát triển hệ thống chăm sóc sức khỏe, phân cụm dữ liệu được sử dụng để xác định các nhóm của người dân mà có thể được hưởng lợi
từ các dịch vụ cụ thể (Hodges và Wotring, 2000) Trong thúc đẩy y tế, nhóm phân tích được sử dụng để lựa chọn nhắm mục tiêu vào nhóm sẽ có khả năng đem lại lợi ích cho sức khỏe cụ thể từ các chiến dịch quảng bá và tạo điều kiện thuận lợi cho sự phát triển của quảng cáo Ngoài ra, phân cụm dữ liệu
Khai phá dữ liệu
Khai phá dữ liệu trực tiếp
Khai phá dữ liệu gián tiếp
Phân loại Ước lượng
Dự đoán
Phân cụm Luật kết hợp Diễn giải và trực quan hóa
Trang 10được sử dụng để xác định các nhóm dân cư bị rủi ro do phát triển y tế và các điều kiện những người có nguy cơ nghèo
1.2.3 Phân cụm dữ liệu đối với hoạt đông nghiên cứu thị trường
Trong nghiên cứu thị trường, phân cụm dữ liệu được sử dụng để phân đoạn thị trường và xác định mục tiêu thị trường (Chrisoppher, 1969; Saunders, 1980, Frank and Green, 1968) Trong phân đoạn thị trường, phân cụm dữ liệu thường được dùng để phân chia thị trường thành nhưng cụm mang ý nghĩa, chẳng han như chia ra đối tượng nam giới từ 21-30 tuổi và nam giới ngoài 51 tuổi, đối tượng nam giới ngoài 51 tuổi thường không có khuynh hướng mua các sản phẩm mới
1.2.4 Phân cụm dữ liệu đối với hoạt động Phân đoạn ảnh
Phân đoạn ảnh là việc phân tích mức xám hay mầu của ảnh thành các lát đồng nhất (Comaniciu and Meer, 2002) Trong phân đoạn ảnh, phân cụm
dữ liệu thường được sử dụng để phát hiện biên của đối tượng trong ảnh
Phân cụm dữ liệu là một công cụ thiết yếu của khai phá dữ liệu, khai phá dữ liệu là quá trình khám phá và phân tích một khối lượng lớn dữ liệu để lấy được các thông tin hữu ích (Berry and Linoff, 2000) Phân cụm dữ liệu cũng là một vấn đề cơ bản trong nhận dạng mẫu (pattern recognition) Hình 1.1 đưa ra một danh sách giản lược các tác vụ đa dạng của khai phá dữ liệu và chứng tỏ vai trò của phân cụm dữ liệu trong khai phá dữ liệu
Nhìn chung, Thông tin hữu dụng có thể được khám phá từ một khối lượng lớn dữ liệu thông qua phương tiện tự động hay bán tự động (Berry and Linoff, 2000) Trong khai phá dữ liệu gián tiếp, không có biến nào được chọn
ra như một biến đích, và mục tiêu là để khám phá ra một vài mối quan hệ giữa tất cả các biến Trong khi đó đối với khai phá dữ liệu gián tiếp một vài biến lại được chọn ra như các biến đích Phân cụm dữ liệu là khai phá dữ liệu gián tiếp, bởi vì trong khai phá dữ liệu, ta không đảm bảo chắc chắn chính xác cụm dữ liệu mà chúng ta đang tìm kiếm, đóng vai trò gì trong việc hình thành các cụm dữ liệu đó, và nó làm như thế nào
Vấn đề phân cụm dữ liệu đã được quan tâm một cách rộng rãi, mặc dù chưa có định nghĩa đồng bộ về phân cụm dữ liệu và có thể sẽ không bao giờ
là một và đi đến thống nhất.(Estivill-Castro,2002; Dubes, 1987; Fraley and Raftery, 1998) Nói một cách đại khái là : Phân cụm dữ liệu, có nghĩa là ta
Trang 11cho một tập dữ liệu và một phương pháp tương tự, chúng ta nhóm dữ liệu lại chẳng hạn như điểm dữ liệu trong cùng một nhóm giống nhau và điểm dữ liệu trong các nhóm khác nhau về sự không đồng dạng Rõ ràng là vấn đề này được bắt gặp trong nhiều ứng dụng, chẳng hạn như khai phá văn bản, biểu diễn gen, phân loại khách hàng, xử lý ảnh…
2 Một số kiểu dữ liệu
Thuật toán phân cụm dữ liệu có nhất rất nhiều liên kết với các loại dữ liệu Vì vậy, sự hiểu biết về quy mô, bình thường hoá, và gần nhau là rất quan trọng trong việc giải thích các kết quả của thuật toán phân cụm dữ liệu Kiểu
dữ liệu nói đến mức độ lượng tử hóa trong dữ liệu (Jain và Dubes, 1988; Anderberg, 1973) - một thuộc tính duy nhất có thể được gõ như nhị phân, rời rạc, hoặc liên tục thuộc tính nhị phân có chính xác hai giá trị, như là đúng hoặc sai Thuộc tính rời rạc có một số hữu hạn các giá trị có thể, vì thế các loại nhị phân là một trường hợp đặc biệt của các loại rời rạc (xem hình 2)
Dữ liệu quy mô, mà chỉ ra tầm quan trọng tương đối của các con số, cũng là một vấn đề quan trọng trong phân cụm dữ liệu Vậy liệu có thể được chia thành quy mô định lượng và quy mô định tính quy mô định lượng bao gồm quy mô danh nghĩa và quy mô giới hạn; quy mô định tính bao gồm quy
mô khoảng và quy mô khoảng tỷ lệ (hình 3) các kiểu dữ liệu sẽ được xem xét trong phần này
2.1 Dữ liệu Categorical
Thuộc tính Categorical cũng được gọi là thuộc tính danh nghĩa, thuộc tính này đơn giản là sử dụng như tên, chẳng hạn như các thương hiệu xe và tên của các chi nhánh ngân hàng Chúng ta xem xét các dữ liệu tập hợp với một số hữu hạn các điểm dữ liệu, một thuộc tính trên danh nghĩa của các điểm
dữ liệu trong tập dữ liệu có thể chỉ có một số hữu hạn các giá trị; như vậy, các loại danh nghĩa cũng là một trường hợp đặc biệt của kiểu rời rạc
Trang 12Hình 2 Biểu đồ các dạng dữ liệu
Hình 3 Biểu đồ quy mô dữ liệu
Trong phần này, chúng ta sẽ giới thiệu các bảng biểu tượng và bảng tần
số và ký hiệu một số bộ dữ liệu Categorical
Bảng 1 Mẫu ví dụ của tập dữ liệu Categorical
Cho D x1, x2 , xn là một tập dữ liệu tuyệt đối với khoảng cách
n, được mô tả bởi d thuộc tính Categorical v1, v2,…vd Đặt DOM(vj) thuộc
Trang 13miền thuộc tính vj Trong tập dữ liệu Categorical đã cho trong bảng 2.1, ví dụ miền của v1 và v4 là DOM(v1) = {A, B} và DOM(v4) ={A, C, D}, tách biệt
Cho một tập dữ liệu Categorical D, giả sử rằng
vj Aj Aj Ajn j
DOM 1, 2, , với j = 1, 2, … ,d Gọi Ajl
j n
l
1 là trạng thái thuộc tính Categorical vj đã cho trong tập dữ liệu D Một bảng Ts của tập
dữ liệu được định nghĩa
Nơi sj (1l d)là vecto định nghĩa là T
jn j
bộ dữ liệu trong bảng 1, cả hai bảng 2 và Bảng 3 là bảng biểu tượng của nó
Bảng tần số được tính theo một bảng biểu tượng và nó đã chính xác cùng kích thước như bảng biểu tượng Đặt C là một cụm Sau đó, bảng tần số
Tf (C) của các cụm C được định nghĩa là
D C B
D C A
D C
A B
A B A
Bảng 3 : Bảng biểu tượng của bộ dữ liệu trong bảng 1
D C B
D C A
A C
D A
B B A
Nơi fjr(C) (1 jd,1rn j)là số điểm dữ liệu trong cụm C mà giá trị
Ajr tại mảng thứ j, v.v
Trang 14Nơi xj là giá trị bộ phận j của x
Đối với một bảng biểu tượng cho trước của bộ dữ liệu, bảng tần số của mỗi cụm là duy nhất lên đến rằng bảng biểu tượng Ví dụ, đối với bộ dữ liệu trong bảng 2.1, cho C được một cụm, trong đó C = (x1, x2, x3) Sau đó, nếu sử dụng các biểu tượng trình bày trong bảng 2 bảng tần số tương ứng cho các nhóm C được cho trong bảng 2.4 Nhưng nếu sử dụng bảng biểu tượng trình bày trong Bảng 2.3, sau đó là bảng tần số cho các nhóm C được cho trong bảng 2.5
Để có được bộ dữ liệu Categorical D, chúng ta thấy rằng Tf(D) là một bảng tính toán tần số trên cơ sở dữ liệu toàn bộ thiết lập Giả sử D là phân vùng không chồng chéo vào k cụm C1, C2, , Ck Sau đó chúng ta có
Một thuộc tính nhị phân là một thuộc tính có hai giá trị chính xác nhất
có thể, chẳng hạn như "Đúng" hay "Sai" Lưu ý rằng các biến nhị phân có thể được chia thành hai loại: biến nhị phân Đối xứng và các biến nhị phân bất đối xứng Trong một biến nhị phân đối xứng, hai giá trị có quan trọng không kém nhau Một ví dụ là "nam-nữ" Biến nhị phân đối xứng là một biến danh nghĩa Trong một biến không đối xứng, một trong những giá trị của nó mang tầm quan trọng hơn biến khác Ví dụ, "có" là viết tắt của sự hiện diện của một thuộc tính nhất định và "không" nghĩa là sự vắng mặt của một thuộc tính nhất định
Một vecto nhị phân x với kích thước d được định nghĩa là (x1, x2,…,
xd)(Zhang and Srihari 2003), nơi x i 0 , 1 1 idlà giá trị thành phần j của x Vecto khối nhị phân I của kích thước d là một vecto nhị phân với mỗi giá trị nhập vào bằng 1 Việc bổ xung một vecto nhị phân x được định nghĩa là
x
I
x , nơi I là một đơn vị vecto nhị phân có cùng kích thước như x
Xét hai vecto nhị phân x và y trong không gian d, và cho S ij x,y
i,j 0 , 1 biểu thị số lần xuất hiện của i trong x và j trong y tương ứng, ví dụ
x y k x i
S , : và y j,k 1 , 2 , ,d (2.6)
Trang 15x y
1 1 1
0 0 3
0 0
3 0
3 0 3
Bảng5: Bảng tính toán tần số từ bảng biểu tượng trong bảng 3
1 1 1
0 0 3
3 0
0 3
0 0 3
2.3 Dữ liệu giao dịch
Cho một tập hợp các phần tử I = (I1, I2, , Im), một giao dịch là một tập hợp con của I (Yang et al, 2002b.; Wang et al, 1999a.; Xiao và Dunham, 2001) Một tập dữ liệu giao dịch là một tập hợp các giao dịch, ví dụ
t :t I,i 1 , 2 , n.
D i i Giao dịch có thể được đại diện bởi vector nhị phân, trong đó mỗi mục biểu thị các có hay không có mục tương ứng Ví dụ, chúng
ta có thể đại diện cho một giao dịch ti do véc tơ nhị phân (bi1, bi2, , bim.), nơi
bij = 1 nếu IJ ∈ ti và bij = 0 nếu Ij ti Từ điểm này, các dữ liệu giao dịch là
Trang 16một trường hợp đặc biệt của dữ liệu nhị phân Ví dụ phổ biến nhất của dữ liệu giao dịch là thị trường dữ liệu trong giỏ hàng Trong một thị trường thiết lập dữ liệu trong giỏ hàng, giao dịch có chứa một tập hợp con của tập tổng số mặt hàng mà có thể được mua Ví dụ, sau đây là hai giao dịch: (táo, bánh), (táo, món ăn, trứng, cá,) Nói chung, nhiều giao dịch được thực hiện các mục thưa thớt phân phối Ví dụ, một khách hàng chỉ có thể mua một số mặt hàng từ một cửa hàng với hàng nghìn mặt hàng Như đã chỉ ra bởi Wang
et al (1999a), cho các giao dịch được thực hiện các mục thưa thớt phân phối, cặp tương tự là không cần thiết, cũng không đủ để đánh giá xem một cụm giao dịch là tương tự
2.4 Dữ liệu Symbolic
Dữ liệu Categorical và dữ liệu nhị phân là loại dữ liệu cổ điển, và dữ liệu symbolic là một phần mở rộng của các kiểu dữ liệu cổ điển Trong bộ dữ liệu thông thường, các đối tượng đang được coi là cá nhân (lần đầu các đối tượng tự) (Malerba et al, 2001.), trong khi đó tại tập dữ liệu symbolic , các đối tượng là nhiều hơn "thống nhất" do có nghĩa là các mối quan hệ Như vậy, các
dữ liệu symbolic được nhiều hơn hoặc ít hơn đồng nhất hoặc các nhóm của các cá nhân (thứ hai đối tượng tự)
(Malerba et al, 2001.) Malerba et al (2001) được xác định một dữ liệu symbolic được thiết lập để một lớp hoặc nhóm của các cá nhân mô tả bởi một
số thiết lập giá trị hoặc biến phương thức Biến A được gọi là giá trị thiết lập nếu nó đóng vai trò giá trị của nó trong thiết lập miền của nó Một biến phương thức là một thiết lập giá trị biến với một biện pháp hoặc phân phối một (tần số, xác suất, hoặc trọng lượng) kết hợp với mỗi đối tượng
Gowda và Diday (1992) tóm tắt sự khác biệt giữa dữ liệu symbolic và
dữ liệu thông thường như sau:
• Tất cả các đối tượng trong một dữ liệu symbolic có thể không được định nghĩa về các biến tương tự
• Mỗi biến có thể mất nhiều hơn một giá trị hoặc thậm chí khoảng một giá trị
• Các biến trong một dữ liệu symbolic phức tạp có thể mất giá trị bao gồm một hoặc nhiều đối tượng cơ bản
Trang 17• Các mô tả của một đối tượng tượng trưng có thể phụ thuộc vào mối quan hệ hiện tại giữa các đối tượng khác
• Các giá trị các biến mất có thể cho thấy tần suất xuất hiện, khả năng tương đối, mức độ quan trọng của các giá trị, vv
Dữ liệu Symbolic có thể được tổng hợp từ các dữ liệu khác thường vì
lý do đó là riêng tư Trong số liệu điều tra dân số, ví dụ, các dữ liệu được tạo sẵn ở dạng tổng hợp để đảm bảo rằng các nhà phân tích dữ liệu không thể xác định một cá nhân hay một doanh nghiệp duy nhất thành lập
2.5 Chuỗi thời gian(Time Series)
Chuỗi thời gian là những hình thức đơn giản nhất của dữ liệu tạm thời Chính xác, một chuỗi thời gian là một chuỗi của số thực đại diện cho các phép
đo của một biến thực tế tại các khoảng thời gian bằng (Gunopulos và Das, 2000) Ví dụ, giá cổ phiếu các phong trào, nhiệt độ tại một điểm nào đó, và khối lượng bán hàng theo thời gian tất cả đo là các chuỗi thời gian
Một chuỗi thời gian là rời rạc nếu biến được xác định trên một tập hữu hạn các điểm thời gian Nhiều nhất của chuỗi thời gian gặp phải trong phân tích cụm là thời gian rời rạc Khi một biến được định nghĩa ở tất cả các điểm trong thời gian, sau đó là chuỗi thời gian là liên tục
Nói chung, một chuỗi thời gian có thể được coi là một hỗn hợp của bốn thành phần sau (Kendall và Ord, 1990):
1 Một xu hướng, ví dụ., các phong trào lâu dài;
2 Biến động về xu hướng đều đặn hơn hoặc ít hơn;
3 Một thành phần theo mùa;
4 Một hiệu ứng dư hoặc ngẫu nhiên
3 Phép biến đổi và chuẩn hóa dữ liệu
Trong nhiều ứng dụng của phân cụm dữ liệu, dữ liệu thô, hoặc đo đạc thực tế, không được sử dụng trực tiếp, trừ khi một mô hình xác suất cho các thế hệ khuôn mẫu có sẵn (Jain và Dubes, 1988) Việc chuẩn bị cho việc phân cụm dữ liệu yêu cầu một số loại chuyển đổi, chẳng hạn như biến đổi và chuẩn hóa dữ liệu Một số phương pháp biến đổi dữ liệu thường được sử dụng
để phân cụm dữ liệu sẽ được thảo luận trong phần Một số phương pháp chuẩn hoá dữ liệu được trình bày trong Phần 4.1
Trang 18Để thuận tiện hãy cho * *
2
* 1
*
, , ,x x n x
D biểu thị tập dữ liệu thô d-chiều
Từ đó ma trận dữ liệu là một ma trân n x d được cho bởi
* 1
* 2
* 22
* 21
* 1
* 12
* 11
n
d
d T
n
x x
x
x x
x
x x
x x
3.1 Phép chuẩn hóa dữ liệu
Chuẩn hoá làm cho dữ liệu giảm kích thước đi Nó có ích để xác định tiêu chuẩn hoá chỉ số Sau chuẩn hóa, tất cả các kiến thức về vị trí và quy mô của các dữ liệu gốc có thể bị mất Nó là cần thiết để chuẩn hóa các biến trong trường hợp các biện pháp không giống nhau, chẳng hạn như khoảng cách Euclide, là nhạy cảm với những khác biệt trong độ lớn hoặc quy mô của các biến đầu vào (Milligan và Cooper, 1988) Các phương pháp tiếp cận các chuẩn hoá của các biến bản chất của hai loại: Chuẩn hóa toàn cục và chuẩn hoá trong cụm
Chuẩn hóa hóa toàn cục làm chuẩn các biến trên tất cả các yếu tố trong các tập dữ liệu Trong vòng-cụm tiêu chuẩn hoá dùng để chỉ tiêu chuẩn hóa xảy ra trong các cụm biến mỗi ngày Một số hình thức tiêu chuẩn hoá có thể được sử dụng trong các chuẩn hóa toàn cục và chuẩn hóa trong phạm vi rất tốt, nhưng một số hình thức chuẩn hoá chỉ có thể được sử dụng trong chuẩn hoá toàn cục
Không thể trực tiếp chuẩn hóa các biến trong các cụm trong phân cụm, bởi vì các cụm không được biết trước khi chuẩn hóa Để khắc phục khó khăn này, khác phương pháp phải được thực hiện Tổng thể và Klett (1972) đề xuất một cách tiếp cận lặp rằng các cụm thu được đầu tiên dựa trên số ước lượng tổng thể và sau đó sử dụng các cụm để giúp xác định các biến bên trong nhóm chênh lệch đối với chuẩn hoá trong một phân cụm thứ hai
Để chuẩn hóa dữ liệu thô được đưa ra trong phương trình (4,1), ta có thể trừ một thước đo vị trí và phân chia một biện pháp quy mô cho mỗi biến
Đó là,
j ij ij
M
L x
*
Trang 19nơi x ij biểu thị giá trị đã được chuẩn hóa, L jlà vị trí đo, và M j là quy mô đo
Chúng tôi có thể có được phương pháp tiêu chuẩn hoá khác nhau bằng cách chọn khác nhau LJ và MJ trong phương trình (4,2) Một số phương pháp chuẩn hoá nổi tiếng trung bình, tiêu chuẩn độ lệch, phạm vi, Huber của dự toán, dự toán biweight Tukey's, và Andrew ước tính của sóng
Bảng 4,1 cho một số hình thức tiêu chuẩn hoá, nơi *
1
* 1
*
ij n i ij n i
*
*
*
)(
* * *
* 1
j
j ij ij
ij
x x x
Z x
Trang 20sẽ được được nhóm cho một cluster Điều này tạo ra một kết quả phân nhóm rất gây hiểu nhầm
Bảng 4.1 Một vài phép chuẩn hóa dữ liệu, nơi *
* 2 2
1
j n j
j
ij ij ij
x x Z x
được định nghĩa trong biểu thức (4.3c)
Biến đổi bởi Z2 sẽ có một phương sai của 1 Kể từ khi có điểm số không được trung tâm bằng cách trừ đi có nghĩa là, các thông tin vị trí giữa các điểm vẫn còn Như vậy, chuẩn hóa Z2 sẽ không phải chịu những vấn đề của sự mất thông tin về các Cụm centroids
Phương pháp chuẩn hoá thứ ba trình bày trong Milligan và Cooper (1988) là sử dụng điểm tối đa về biến:
*
1
*
* 3
max ij
n i
ij ij
ij
x
x x
Z x
Trang 21Một X biến đổi bởi Z3 sẽ có một ý nghĩa
để gần 0 Z3 có vẻ là có ý nghĩa chỉ khi biến này là một biện pháp trong một phạm vi tỷ lệ (Milligan và Cooper, 1988)
Hai quy chuẩn có liên quan đến việc sử dụng phạm vi của biến đã được trình bày trong (Milligan và Cooper, 1988):
**
* 4
j
ij ij ij
R
x x Z
*
* 5
j
ij n i ij ij ij
R
x x
x Z
)
max(
) min(
X X
hai Z4 và Z5 dễ phải sự hiện diện của Outliers
Một tiêu chuẩn hoá trên cơ sở bình thường hóa với tổng của các quan sát trình bày trong (Milligan và Cooper, 1988) được định nghĩa là
ij ij
ij
x
x x
Trang 22Một cách tiếp cận rất khác nhau của chuẩn hoá mà bao gồm việc chuyển đổi các điểm đến đánh giá cao được trình bày trong (Milligan và Cooper, 1988) và được định nghĩa là
* * ,
7 ij ij
Nơi Rank(X) là cấp chỉ định cho X
Một biến chuyển bởi Z7 sẽ có một ý nghĩa của
2 1
1 2
n Việc chuyển đổi cấp bậc làm giảm tác động của
Outliers trong dữ liệu
Conover và Iman (1981) đề xuất bốn loại chuyển đổi cấp bậc Hạng nhất chuyển đổi trình bày được xếp hạng từ nhỏ đến lớn nhất, với điểm
số nhỏ nhất có hạng nhất, điểm thứ hai nhỏ nhất có thứ hạng hai, vv Cấp bậc trung bình được chỉ định trong trường hợp quan hệ
3.2 Biến đổi dữ liệu
Biến đổi Dữ liệu có gì đó để làm gì với dữ liệu chuẩn hoá, nhưng nó là phức tạp hơn hơn so với chuẩn hoá dữ liệu Chuẩn hoá dữ liệu tập trung vào các biến, nhưng Biến đổi dữ liệu tập trung vào các dữ liệu toàn bộ thiết lập Theo Chuẩn hoá dữ liệu như vậy, có thể được được xem như là một trường hợp đặc biệt của Biến đổi dữ liệu i Trong phần này, trình bày một số dữ liệu
kỹ thuật Biến đổi có thể được sử dụng trong phân cụm dữ liệu
3.2.1 Phân tích thành phần chính
Mục đích chính của phân tích thành phần chính (PCA) (Ding và He, 2004; Jolliffe, 2002) là giảm chiều cao của một chiều đặt dữ liệu bao gồm một lượng lớn số biến tương quan và đồng thời giữ lại càng nhiều càng tốt của biến đổi hiện diện trong tập dữ liệu Các thành phần chính (PC) là các biến mới được không tương quan và ra lệnh như vậy là người đầu tiên giữ lại vài phần lớn các biến thể hiện diện trong tất cả các bản gốc biến
Các PC được định nghĩa như sau Cho vv1,v2, ,v d là một vectơ của
d ngẫu nhiên biến, nơi ’ là hoạt động transpose Bước đầu tiên là tìm một hàm tuyến tính mộta1v của các yếu tố của v có tối đa các phương sai, mà a1 là
một vectơ d-chiều a ,a , ,a do đó,
Trang 23i v a v
a
1 1 '
1
Sau khi tìm a1v,a2v, ,aj 1v, chúng tôi tìm một hàm tuyến tính aj v không
tương quan với a1v,a2v, ,aj 1v và có phương sai tối đa Sau đó chúng ta sẽ tìm thấy d chức năng như vậy tuyến tính sau khi bước d Biến bắt nguồn thứ j
PC Nhìn chung, hầu hết các biến thể trong v sẽ được chiếm bởi các PC vài lần đầu tiên
Để tìm mẫu của PC, chúng ta cần phải biết ma trận hiệp phương sai
của v Trong hầu hết các trường hợp thực tế, ma trận hiệp phương sai
chưa được biết, và nó sẽ được thay thế bằng một mẫu
ma trận hiệp phương sai Đối với j = 1, 2, , d, nó có thể được cho thấy thứ
j PC được cho bởi zj = aj v, nơi aj là một eigenvector của tương ứng với các thứ giá trị j lớn nhất λj
Trong thực tế, ở bước đầu tiên, z1 = aj v có thể tìm thấy bằng cách giải
quyết tối ưu hoá vấn đề sau đây:
Maximize var a1v a1a 1,
Nơi var a1v được tính như sau
' 1
1 ' 1
Vì là giá trị riêng của và a1 là vecto đặc trưng đồng vị
,
1 ' 1 1 '
1a aa
a
Trang 24a1 là vecto đặc trưng đồng vị với giá trị riêng lớn nhất của Trong thực tế nó có thể được biểu diễn là một PC thứ j là aj v , nơi aj là một vecto
đặc trưng của tương ứng với thứ j lớn nhất giá trị riêng j (Jolliffe, 2002)
Trong (Dinh và He, 2004), PCA là làm việc để giảm chiều của dữ liệu thiết lập và sau đó thuật toán K-means được áp dụng trong không gian con PCA
Các ví dụ khác của PCA áp dụng trong phân tích cụm dữ liệu có thể được tìm thấy trong (Yeung và Ruzzo, 2001) Trình diễn PCA là tương đương với giá trị thực hiện phân hủy từ (SVD) trên các hiệp phương sai ma trận của
dữ liệu ORCLUS sử dụng SVD (Kanth et al, 1998) kỹ thuật Để tìm hiểu tùy tiện theo định hướng không gian con với phân cụm dữ liệu tốt
Cho D x1,x2,,x n là một số dữ liệu được đặt trong một không
gian d-chiều Sau đó, D có thể được đại diện bởi một n x n ma trận X là
d n ij
Trang 25Các cột của ma trận V là vecto đặc trưng của ma trận hiệp phương sai
C của X; chính xác
T T
T
V V X
X n
C 1 (4.12)
Kể từ khi C là ma trận chéo đối diện d × d, nó có d là số tự nhiên vecto đặc trưng trực giao Mà không mất tổng quát, để cho các giá trị riêng của C giảm : λ1 ≥ λ2 ≥ … ≥ λd Hãy σj (j = 1,2 , , d) là độ lệch chuẩn của cột thứ j của X, nghĩa là,
j
j
1 1
n T T
e e e
X X e X
T T
n X
Kể từ khi V là một ma trận trực giao, từ phương trình (4,13), các giá trị
từ có liên quan đến các giá trị riêng bởi
, 2 , 1
, 2
d j
n
s j j Các vecto đặc trưng chiếm các máy tính của X, và các tính năng không tương quan sẽ được thu được do chuyển đổi Y X e nV PCA chọn các tính năng với giá trị riêng cao nhất
3.2.3 Phép biến đổi Karhunen-Loève
Các phép biến đổi Karhunen-Loève (KL) có liên quan với các giải thích cấu trúc dữ liệu thông qua một số tuyến tính kết hợp của các biến Giống như PCA, phép biến đổi KL cũng là cách tối ưu cho dự án d- chiều điểm để giảm điểm chiều sao cho sai số của dự án (tức là tổng của khoảng cách bình phương (SSD)) là tối thiểu (Fukunaga, 1990)
Trang 26Cho D x1,x2,,x n là một tập dữ liệu không gian d chiều, và X là
đồng vị ma trận d x d nghĩa là X x ij ndvới x ij là giá trị j thành phân của xi
, 1
j i for
j i for
T j
i
hay T I dd,Nơi I ddlà ma trận đơn vị I dd
Sau đó , từ phương trình (4.14), bộ phận của yj có thể được tính toán bằng
, , , 2 , 1
x
y i i hoặc
có thể gần đúng X tốt Xấp xỉ có thể được thu được bằng cách thay thế các thành phần của yj với hằng chọn trước (Fukunaga, 1990, trang 402):
, )
j ij
Trang 27hoặc ˆ ( ) ( 1 , ) ,
1 1
T m
T m
nơi Y ( m1 , )là ma trận n x m có được bằng cột m đầu tiên của Y, có nghia
là Y(1, m) y ij nm, và một ma trậnn (md)với (i, j) nhập từ bi,m+j
Mà không mất tổng quát, chúng ta giả định rằng chỉ có các thành phần
m đầu tiên của mỗi yj được tính toán Sau đó, các lỗi của các kết quả là xấp xỉ
, ) (
) ( ˆ )
T j ij ij i
T m
B d m Y m X
) ( )
m j
ij
ij b y
Với mỗi lựa chọn điều kiện hằng số bij, Ta nhận được giá trị 2 ( )
m
Lựa chọn tối ưu cho bij là một trong 2(m)nhỏ nhất Từ phương trình (4.15) Lựa chọn tối ưu cho bij, là
2 ) (
2
ij ij ij
b y E m
Trang 28Cho x là ma trận hiệp phương sai của X, do đó chúng ta có
) ( ) (X E X T X E X
T n T
T n T
x E
x E x
x X
E X
E x
1 1
(
) ( ).
( 1
i i n
i
T i
m j
ij
ij b y E m
1 1
2 2
) (
m j
j i i T i i T
n
i
i i T i i T
Trang 29CHƯƠNG II CÁC THUẬT TOÁN PHÂN CỤM DỮ LIỆU
1 Thuật toán phân cum dữ liệu dựa vào phân cụm phân cấp
1.1 Thuật toán BIRCH
Thuật toán phân cụm khác cho tập dữ liệu lớn, được gọi là BIRCH Ý tưởng của thuật toán là không cần lưu toàn bộ các đối tượng dữ liệu của các cụm trong bộ nhớ mà chỉ lưu các đại lượng thống kê Thuật toán đưa ra hai khái niệm mới để theo dõi các cụm hình thành , phân cụm đặc trưng là tóm tắt thông tin về một cụm và cây phân cụm đặc trưng(cây CF) là cây cân bằng được sử dụng lưu trữ cụm đặc trưng( được sử dụng để mô tả cụm tóm tắt) Trước tiên được gọi là cụm đặc trưng, là một bộ ba(n, LS, SS), trong đó n là
số các điểm trong phân hoạch cụm con, LS là tổng số các giá trị thuộc tích và
SS là tổng bình phương của các điểm đó Đặc trưng tiếp theo là cây CF, mà đơn giản là cây cân bằng mà lưu bộ ba này Có thể chứng mình rằng, các đại lượng thống kê chuẩn, như là độ đo khoảng cách, có thể xác định từ cây CF Hình 4.10 dưới đây biểu thị một ví dụ về cây CF Có thể thấy rừng, tất cả các nút trong cây lưu tổng các đặc trưng cụm CF, các nút con, trong khi đó các nút là lưu trữ các đặc trưng của các cụm dữ liệu
Cây CF chứa các nút trong và nút là, nút trong là nút chứa các nút con
và nút lá thì không có con Nút trong lưu trữ các tổng đặc trưng cụm(CF) của các nút con của nó Một cây (CF) được đặc trưng bởi hai tham số :
- Yếu tố nhánh (Braching Factor – B) : Nhằm xác định tối đa các nút con của một nút lá trong của cây
- Ngưỡng(Threshold – T) : khoảng cách tối đa giữa bất kỳ một cặp đối tượng trong nút lá của cây, khoảng cách này còn gọi là đường kính của các cụm con được lưu tại các nút lá
Hai tham số này có ảnh hưởng đến kích thước của cây CF thuật toán BIRCH thực hiện gồm hai giai đoạn:
Giai đoạn 1 : BIRCH quét tất cả các đối tượng trong CSDL để xây
dựng cây CF khởi tọa, mà được lưu trữ trong bộ nhớ Trong giai đoạn này , các đối tượng lần lượt được chèn vào nút lá gần nhất của cây CF(nút lá của cây đóng vai trò là cụm con), sau khi chèn xong thì tất cả các nút trong cây
CF được cập nhật thông tin Nếu đường kính của cụm con sau khi chèn là lớn
Trang 30hơn ngưỡng T, thì nút lá được tách Quá trình lặp lại cho đến khi tất cả các đối tượng trong cây chỉ được đọc một lần, để lưu toàn bộ cây CF trong bộ nhớ thì cần phải điều chỉnh kích thước của cây CF thông qua điều chỉnh ngưỡng T
Giai đoạn 2 : BIRCH lựa chọn một thuật toán phân cụm(như thuật toán
phân cụm phân hoạch) để thực hiện phân cụm cho các nút lá của cây CF
Hình 4.10 : Cây CF sử dụng trong BIRCH
Thuật toán BIRCH thực hiện qua các bước cơ bản như sau :
1 Các đối tượng dữ liệu lần lượt được chèn vào cây C, sau khi chèn hết các đối tượng thì thu được cây CF khởi tạo Một đối tượng được chèn vào nút
là gần nhất tạo thành cụm con Nếu đường kính của cụm con này lớn hơn T thì nút lá được tách ra Khi một đối tượng thích hợp được chèn vào nút lá, tất cả các nút trỏ tới gốc của cây được cập nhật với thông tin cần thiết
2 Nếu cây CF hiện thời không có đủ bộ nhớ trong khi tiến hành xây dựng một cây CF nhỏ hơn: Kích thước của cây CF được điều khiển bởi tham số
F và vì vậy việc chọn một giá trị lớn hơn cho nó sẽ hòa nhập một số cụm con thành một cụm, điều này làm cho cây CF nhỏ hơn Bước này không cần yêu cầu đọc dữ liệu lại từ đầu nhưng vẫn đảm bảo hiệu chỉnh cây dữ liệu nhỏ hơn
3 Thực hiện phân cụm: Các nút lá cây CF lưu trữ các đại lượng thống kê
Trang 31của các cụm con Trong bước này, BIRCH sử dụng các đại lượng thống kê này để áp dụng một số kỹ thuật phân cụm, ví dụ K-means và tạo ra một khởi tạo cho phân cụm
4 Phân phối lại các đối tượng dữ liệu bằng cách dùng các đối tượng trọng tâm cho các cụm được khám phá từ bước 3: Đây là một bước tùy chọn để duyệt lại tập dữ liệu và gán lại nhãn cho các đối tượng dữ liệu tới các trọng tâm gần nhất Bước này nhằm để gán nhãn cho các dữ liệu khởi tạo và loại
bỏ các đối tượng ngoại lai
Với cấu trúc cây CF được sử dụng, BIRCH có tốc độ thực hiện PCDL nhanh và có thể áp dụng đối với tập CDSL lớn, BIRCH cũng có hiệu quả khi
áp dụng với tập dữ liệu tăng trưởng theo thời gian BIRCH thực hiện tính toán khá tốt, độ phức tạp tính toán của BIRCH là tuyến tính tỷ lệ với số các đối tượng, do BIRCH chỉ duyệt toàn bộ dữ liệu một lần với một lần quét thêm tùy chọn( thực hiện phân cụm lại các nút lá cây của CF), có thể được đo trong thời gian O(n) với n là số đối tượng dữ liệu thuật toán này kết hợp các cụm gần nhau và xây dựng lại cây CF, tuy nhiên mỗi nút trong cây CF có thể chỉ lưu trữ một số hữu hạn bởi kích thước của nó BIRCH vẫn có một hạn chê : thuật toán này có thể không xử lý tốt nếu các cụm không có hình dạng cầu, bởi vì nó sử dụng khái niệm bán kính hoặc đường kính để kiểm soát ranh giới các cụm và chất lượng của các cụm được khám phá không được tốt Nếu BIRCH sử dụng khoảng cách Eucle, nó thực hiện tốt chỉ với các dữ liệu số, mặt khác tham số vào T có ảnh hưởng rất lớn tới kích thước tự nhiên của cụm Việc ép các đối tượng dữ lieeujlamf cho các đối tượng của cụm có thể là đối tượng kết thúc của cụm khác, trong khi các đối tượng gần nhau có thể bị hút bởi các cụm khác nếu chúng được biểu diễn cho thuật toán theo một thứ
tự khác BIRCH không thích hợp với dữ liệu đa chiều
1.2 Thuật toán CURE
Trong khi hầu hết các thuật toán thực hiện phân cụm với các cụm hình cầu và kích thước tương tự, như vậy là không hiệu quả khi xuất hiện các phần
tử ngoại lai Thuật toán này định nghĩa một số cố định các điểm đại diễn nằm rải rác trong toàn bộ không gian dữ liệu và được chọn để mô tả các cụm được hình thành Các điểm này được tạo ra bởi trước hết lựa chọn các đối tượng
Trang 32nằm rải rác trong cụm và sau đó “ co lại” hoặc di chuyển chúng về trung tâm cụm bằng nhân tố co cụm Quá trình này được lặp lại và như vậy trong quá trình này, có thể đo tỷ lệ gia tăng của cụm Tại mỗi bước của thuật toán, hai cụm có cặp các điểm đại diện gần nhau(mỗi điểm trong cặp thuộc về mỗi cụm khác nhau) được hòa nhập
Như vậy, có nhiều hơn một điểm đại diện mỗi cụm cho phép CURE khám phá được các cụm có hình dạng không phải là hình cầu Việc co lại các cụm có tác dụng làm giảm tác động của các phần tử ngoại lai Như vậy, thuật toán này có khả năng xử lý tốt trong trường hợp có các phần tử ngoại lại và làm cho hiệu quả với những hình dạng không phải là hình cầu và kích thước
độ rộng biến đổi Hơn nữa, nó tỷ lệ tốt với CSDL lớn mà không làm giảm chất lượng phân cụm Hình 3.14 dưới đây là ví dụ về quá trình xử lý của CURE
Hình 3.14 : Cụm dữ liệu khai phá bởi thuật toán CURE
Để xử lý được các CSDL lớn, CURE sử dụng ngẫu nhiên và phân hoạch, một mẫu là được xác định ngẫu nhiên trước khi được phân hoạch, và sau đó được tiến hành phân cụm trên mỗi phân hoạch, như vậy mỗi phân hoạch là từng phần đã được phân cụm, các cụm thu hoạch, như vậy mỗi phân hoach là từng phần đã được phân cụm, các cụm thu được lại được phân cụm lần thứ hai để thu được các cụm con mong muốn, nhưng mẫu ngẫu nhiên không nhất thiết đưa ra một mô tả tốt cho toàn bộ tập dữ liệu
Trang 33Thuật toán CURE được thực hiện qua các bước cơ bản sau :
1 Chọn một mẫu ngẫu nhiên từ tập dữ liệu ban đầu
2 Phân hoạch mẫu này thành nhiều nhóm dữ liệu có kích thước bằng nhau : ý tưởng ở đây là phân hoạch mẫu thành p nhóm dữ liệu bằng nhau, kích thước của mỗi phân hoạch là n’/p(n’ là kích thước mẫu)
3 Phân cụm các điểm của mỗi nhóm : Thực hiện PCDL cho các nhóm cho đến khi mỗi nhóm được phân thành n’/pq(với q>1)
4 Loại bỏ các phần tử ngoại lai : Trước hết, khi các cụm được hình thành cho đến khi số các cụm giảm xuống một phần so với số các cụm ban đầu Sau đó, trong trường hợp các phần tử ngoại lai được lấy mẫu cùng với quá trình pha khởi tạo mẫu dữ liệu, thuật toán
sẽ tự động loại bỏ các nhóm nhỏ
5 Phân cụm các cụm không gian : các đối tượng đại diện cho các cụm di chuyển về hướng trung tâm cụm, nghĩa là chúng được thay thế bởi các đối tượng gần trung tâm hơn
6 Đánh dấu dữ liệu với các nhãn tương ứng
Độ phức tạp tính toán của thuật toán CURE là O(n2
log(n)) CURE là thuật toán tin cậy trong việc khám phá ra các cụm với hình thù bất kỳ và có thể áp dụng tốt đối với dữ liệu có phần tử ngoại lai và trên các tập dữ liệu hai chiều Tuy nhiên, nó lại rất nhạy cảm với các tham số như số các đối tượng đại diện, tỉ lệ co của các phần tử đại diện
1.3 Thuật toán ANGNES
Phương pháp phân hoạch ANGNES là kỹ thuật kiểu tích tụ ANGNES bắt đầu ở ngoài với mỗi đối tượng dữ liệu trong các cụm riêng lẻ Các cụm được hòa nhập theo một số loại của cơ sở luật, cho đến khi chỉ có một cụm ở đỉnh của phân cấp, hoặc gặp điều kiện dừng Hình dạng này của phân cụm phân cấp cũng liên quan đến tiếp cận bottom-up bắt đầu ở dưới với các nút lá trong mỗi cụm riêng lẻ và duyệt lên trên phân cấp tới nút gốc, nơi tìm thấy cụm đơn cuối cùng với tất cả các đối tượng dữ liệu được chứa trong cụm đó
Trang 341.4 Thuật toán DIANA
DIANA thực hiện đối lập với AGNES DIANA bắt đầu với tất cả các đối tượng dữ liệu được chứa trong một cụm lớn và chia tách lặp lại, theo phân loại giống nhau dựa trên luật, cho đến khi mỗi đối tượng dữ liệu của cụm lớn được chia tách hết Hình dang của cụm phân cấp cùng liên quan đế tiếp cận top-down bắt đầu tại mức đỉnh nút gốc, với tất cả các đối tượng dữ liệu, trong một cụm, và duyệt xuống các nút lá dưới cùng nơi tất cả các đối tượng dữ liệu từng cái được chứa trong cụm của chính mình
Trong mỗi phương pháp của hai phương pháp, có thể số các cụm dẫn tới các mức khác nhau trong phân cấp bằng cách duyệt lên hoặc xuống cây Mỗi mức có thể khác nhau số các cụm và tất nhiên kết quả cũng khác nhau Một hạn chế lớn của cách tiếp cận này là các cụm được hòa nhập hoặc phân chia một lần, không thể quay lại quyết định đó, cho dù hòa nhập hoặc phân chia không phải là thích hợp ở mức đó
1.5 Thuật toán ROCK
-Main module - Procedure cluster(S,k)
10 for each x q[u] q[v] do {
11 link[x, w]:=link[x, u]+ link[x, v]
12 delete(q[x], u); delete(q[x], v)
13 insert(q[x], w, g(x, w); insert(q[x], w, g(x, w)
14 update(Q, x, q[x])
15 }
Trang 351 Compute nbrlist[i] for every point i in S
2 Set link[i,j] to be zero all i,j
1.6 Thuật toán Chameleon
Phương pháp Chameleon một cách tiếp cận khác trong việc sử dụng mô hình động để xác định các cụm nào được hình thành Bước đầu tiên của Chameleon là xây dựng một đồ thị mật độ thưa và sau đó ứng dụng một thuật toán phân hoạch đồ thị để PCDL với số lớn của các cụm con Tiếp theo, Chameleon thực hiện tích tụ phân cụm phân cấp, như AGNES, bằng hòa nhập các cụm con nhỏ theo hai phép đo, mối quan hệ liên thông và mối quan
hệ gần nhau của các nhóm con Do đó, thuật toán không phụ thuộc vào người
sử dụng các tham số như K-means và có thể thích nghi
Thuật toán này khảo sát mô hình động trong phân cụm phân cấp Trong
đó, hai cụm được hòa nhập nêu giữa hai cụm có liên quan mật thiết tới quan
hệ kết và gần nhau của các đối tượng trong các cụm Quá trình hòa nhập dễ dàng khám phá các cụm tự nhiên và đồng nhất, ứng dụng cho tất cả các kiểu
dữ liệu miễn là hàm tương tự được xác định
Trang 36Nó khắc phục được nhược điểm các phương pháp CURE và ROCK Lý
do là CURE và lược đồ liên quan lờ đi thông tin về liên kết của các đối tượng trong hai cụm khác nhau, trong khi ROCK lược đồ liên quan lờ đi thông tin
về gần nhau của hai cụm mà lại chú trọng quá về liên kết
CURE sử dụng thuật toán phân hoạch đồ thị để phân cụm các đối tượng
dữ liệu vào trong một số lớn một cách tương đối nhỏ của các cụm con Chameleon sử dụng thuật toán phân cụm phân cấp để tìm các cụm xác thực bằng cách lặp nhiều lần kết hợp hoặc hòa nhập các cụm con Để xác định các cặp của nhiều cụm con tương tự, phải tính toán cả hai liên kết và gần nhau của các cụm, đặc biệt các đặc trưng bên trong của các cụm đang được hòa nhập
Như vậy, nó không phụ thuộc vào mô hình tĩnh và có thể từ động thích nghi với đặc trưng bên trong của các cụm đang được hòa nhập Nó có khả năng hơn để khám phá các cụm có hình thù bất kỳ có chất lượng cao hơn CURE và DBSCAN nhưng chi phí xử lý dữ liệu đa chiều phụ thuộc vào O(n2
) thời gian cho n các đối tượng trong trường hợp xấu nhất
2 Thuật toán phân cụm dữ liệu mờ
Phân cụm dữ liệu mờ (FCM) là phương pháp phân cụm dữ liệu cho phép mỗi điểm dữ liệu thuộc về hai hoặc nhiều cụm thông qua bậc thành viên Ruspini(1969) giới thiệu khái quát khái niệm phân hoạch mờ để mô tả cấu trúc cụm của tập dữ liệu và đề xuất một thuật toán để tính toán tối ưu phân hoạch mờ Dunn(19730 mở rộng phương pháp phân cụm và đã phát triển thuật toán phân cụm mờ Ý tưởng của thuật toán là xây dựng một phương pháp phân cụm mờ dựa trên tối thiểu hóa hàm mục tiêu Bezdek(1981) cải tiến và tổng quát hóa hàm mục tiêu mờ bằng cách đưa ra trọng số mũ m để xây dựng thuật toán phân cụm mờ Fuzzy C-means(FCM), và được chứng minh độ hội tụ của các thuật toán là cực tiểu cục bộ
Thuật toán FCM đã được áp dụng thành công trong giải quyết một số lớn các bài toán PCDL như trong nhận dạng mẫu, xử lý ảnh, y học,… Tuy nhiên, nhược điểm lớn nhất của FCM là nhạy cảm với nhiễu và phần tử ngoại lai trong dữ liệu, nghĩa là các trung tâm cụm có thể nằm xa so với trung tâm thực của cụm Đã có nhiều phương pháp đề xuất cải tiến cho nhược điểm trên của thuật toán FCM bao gồm : phân cụm dựa trên xác suất (Kellet, 1993),
Trang 37phân cụm nhiễu mờ ( Dave, 1991), phân cụm dựa trên toán tử Lp, Norm(Kerten, 1999) và thuật toán Insensitive Fuzzy C-means(PCM )
ij k ij
ij u u trong đó là chuẩn kết thúc giữa 0
và 1, trong khi k là các bước lặp Thủ tục này hội tụ tới cực tiểu cục bộ hay điểm yên ngựa của Jm(u, V) Thuật toán FCM tính toán ma trận phân hoạch U
và kích thước của các cụm để thu được các mô hình mờ từ ma trận này
Các bước thực hiện của thuật toán FCM như sau:
Input : Số cụm c và tham số mũ m cho hàm mục tiêu J;
Output : c cụm dữ liệu sao cho hàm mục tiêu trong (1) đạt giá trị cực tiểu; Begin
1 Nhập tham số c (1<c<n) m1 , Khởi tạo mà trận
, , , j c j
j j
v v v
3 Until
F j j
Việc chọn các tham số cụm rất ảnh hưởng đến kết quả phân cụm, tham
số này thường được chọn theo phép ngẫu nhiên hoặc theo Heuristic
Đối với m 1 thì thuật toán K-means trở thành thuật toán rõ Đối với
Trang 38Chưa có quy tắc nào nhằm lựa chọn tham số m đảm bảo việc phân cụm hiệu quả, thông thường chọn m = 2
Độ phức tạp của thuật toán FCM tương đương với độ phức tạp của thuật toán K-means trong trường hợp số đối tượng của tập dữ liệu cần phân cụm là rất lớn Tóm lại, thuật toán phân cụm mờ FCM là một mở rộng của thuật toán K-means nhằm để khám phá ra các cụm chồng lên nhau, tuy nhiên, FCM vẫn chứa đựng các nhược điểm của thuật toán K-means trong việc xử lý đối với các phần tử ngoại lai và nhiễu trong dữ liệu Thuật toán εFCM được trình bày dưới đây là một mở rộng của thuật toán FCM nhằm khắc phục các nhược điểm này
2.2 Thuật toán εFCM
Input : Số cụm c và các tham số m, ε cho hàm mục tiêu J;
Output : Các cụm dữ liệu sao cho hàm mục tiêu trong (2) đạt giá trị cực
, , , j c j
j j
v v v
V
3 Until
F U
u(j 1) (j) ;
4 Trình diễn các cụm kết quả;
End
3 Thuật toán phân cụm dữ liệu dựa vào cụm trung tâm
3.1 Thuật toán K – means
K- means là thuật toán phân cụm mà định nghĩa các cụm bởi trung tâm của các phương tử Phương pháp này dựa trên độ đo khoảng cách của các đối tượng dữ liệu trong cụm Nó được xem như là trung tâm của cụm Như vậy,
nó cần khởi tạo một tập trung tâm các trung tâm cụm ban đầu, và thông qua
đó nó lặp lại các bước gồm gán mỗi đối tượng tới cụm mà trung tầm gần, và tính toán tại trung tâm của mỗi cụm trên cơ sở gán mới cho các đối tượng Quá trình này dừng khi các trung tâm hội tụ
Trang 39Hình 3.2 : Các thiết lập để xác định danh giới các cụm ban đầu
Trong phương pháp K-means, chọn một giá trị k và sau đó chọn ngẫu nhiên k trung tâm của các đối tượng dữ liệu Tính toán khoảng cách giữa đối tượng dữ liệu trung bình mỗi cùm để tìm kiếm phần tử nào là tương tự và thêm vào cụm đó Từ khoảng cách này có thể tính toán trung bình mới của cụm và lặp lại quá trình cho đến khi mỗi các đối tượng dữ liệu là một bộ phận của các cụm k
Mục đích của thuật toán K-means là sinh k cụm dữ liệu {C1, C2,…, Ck}
từ một tập dữ liệu chứa n đối tượng trong không gian d chiều Xi = {xi1,
xi2,…xid}, i = 1n, sao cho hàm tiêu chuẩn :
E D x m
đạt giá trị tối thiểu,
Trong đó : Mi là trọng tâm của cụm Ci, D là khoảng cách giữa hai đối tượng
Trọng tâm của cụm là một vecto, trong đó giá trị của mỗi phần tử của
nó là trung cộng của các thành phần tương ứng của các đối tượng vecto dữ liệu trong cụm đang xét Tham số đầu vào của thuật toán là số cụm k, và tham
số đầu ra của thuật toán là các trọng tâm của các cụm dữ liệu Độ đo khoảng cách D giữa các đối tượng dữ liệu thường được sử dụng là khoảng cách Euclide vì đây là mô hình khoảng cách nên dễ lấy đạo hàm và xác định các cực trị tối thiểu Hàm tiêu chuẩn và độ đo khoảng cách có thể được xác định
cụ thể hơn tùy ý vào ứng dụng hoặc quan điểm của người dùng
Trang 40Hình 3.3 Tính toán trọng tâm của các cụm mới
Các bước cơ bản của thuật toán K – means