Tải bản đầy đủ (.docx) (26 trang)

MỘT SỐ PHƯƠNG PHÁP GOM CỤM DỮ LIỆU -THUẬT TOÁN K-MEANS

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (493.84 KB, 26 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
TIỂU LUẬN MÔN KHAI THÁC DỮ LIỆU
MỘT SỐ PHƯƠNG PHÁP GOM CỤM DỮ LIỆU -
THUẬT TOÁN K-MEANS
Giảng viên hướng dẫn : PGS.TS Đỗ Phúc
Học viên thực hiện : Nguyễn Thị Ngọc Diễm
MSHV : CH1101075
Lớp : Cao học khóa 6
Tp Hồ Chí Minh, tháng 11 năm 2012
Mục lục
Chương 1: TỔNG QUAN VỀ GOM CỤM DỮ LIỆU
1.1 Định nghĩa gom cụm
1.1.1. Định nghĩa
- Gom cụm là kỹ thuật rất quan trọng trong khai phá dữ liệu, nó thuộc lớp
các phương pháp Unsupervised Learning trong Machine Learning. Có rất
nhiều định nghĩa khác nhau về kỹ thuật này, nhưng về bản chất ta có thể
hiểu gom cụm là các qui trình tìm cách nhóm các đối tượng đã cho vào các
cụm, sao cho các đối tượng trong cùng một cụm tương tự nhau và các đối
tượng khác cụm thì không tương tự nhau.
1.1.2. Mục tiêu
- Mục đích của gom cụm là tìm ra bản chất bên trong các nhóm của dữ liệu.
Các thuật toán gom cụm đều sinh ra các cụm. Tuy nhiên, không có tiêu chí
nào là được xem là tốt nhất để đánh hiệu của của phân tích gom cụm, điều
này phụ thuộc vào mục đích của gom cụm như: giảm kích thước dữ liệu,
khám phá thông tin hữu ích, phát hiện giá trị ngoại lai.
1.1.3. Ứng dụng
- Gom 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. Gom cụm dữ liệu cũng là một vấn đề cơ bản
trong nhận dạng mẫu (pattern recognition).


- 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ự. 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. Gom 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.
3
- Vấn đề gom 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ề gom cụm dữ liệu và có thể sẽ không bao giờ là
một và đi đến thống nhất. Nói một cách đại khái là: Gom cụm dữ liệu, có
nghĩa là ta cho 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.
1.1.1.Marketing
- Xác định các nhóm khách hàng (khách hàng tiềm năng, khách hàng giá trị,
phân loại và dự đoán hành vi khách hàng) sử dụng sản phẩm hay dịch vụ
của công ty để giúp công ty có chiến lược kinh doanh hiệu quả hơn. Ví dụ:
Trong nghiên cứu thị trường, gom 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, gom 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.1.2.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, gom cụm dữ
liệu thường được sử dụng để phát hiện biên của đối tượng trong ảnh.
1.1.3.Sinh học
- Phận nhóm động vật và thực vật dựa vào các thuộc tính của chúng.
1.1.4.Trong y tế 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
4
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, gom
cụm dữ liệu đượ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.1.5.Insurance, Finance
- Phân nhóm các đối tượng sử dụng bảo hiểm và các dịch vụ tài chính, dự
đoán xu hướng của khách hàng, phát hiện gian lận tài chính.
1.1.6.Phân cụm Web
- Là phân cụm trên tập các tài liệu được lấy từ Web. Có hai tình huống phân
cụm tài liệu. Tình huống thứ nhất là việc phân cụm trên toàn bộ một CSDL
có sẵn gồm rất nhiều tài liệu Web. Tình huống thứ hai thường được áp
dụng trên một tập tài liệu nhỏ là tập hợp các tài liệu do máy tìm kiếm trả về
theo một truy vấn của người dung.
1.2 Các loại dữ liệu trong gom cụm
- Trong phân cụm, các đối tượng dữ liệu thường được diễn tả dưới dạng các
đặc tính hay còn gọi là thuộc tính ( Khái niệm “các kiểu dữ liệu” và “các

kiểu thuộc tính dữ liệu“ được xem là tương đương với nhau). Các thuộc
tính này là các tham số để giải quyết vấn đề phân cụm và sự lựa chọn chúng
có tác động đáng kể đến kết quả phân cụm. Phân loại các kiểu thuộc tính
khác nhau là vấn đề cần giải quyết đối với hầu hết các tập dữ liệu nhằm
cung cấp các phương tiện thuận lợi để nhận dạng sự khác nhau của các
phần tử dữ liệu. Các thuật toán phân cụm thường sử dụng một trong hai cấu
trúc dữ liệu sau:
5
o Ma trận dữ liệu (Data matrix, object-by-variable structure): là
mảng n hàng, p cột, trong đó p là số thuộc tính của mỗi đối tượng.
Mỗi hàng biểu diễn một đối tượng, các phần tử trong mỗi hàng chỉ
giá trị thuộc tính tương ứng của đối tượng đó. Mảng được cho như
sau:
o Ma trận phi tương tự (Dissimilarity matrix, object-by-object
structure): là mảng n hàng, n cột. Phần tử d(i,j) chứa khoảng cách
hay độ khác biệt giữa các đối tượng i và đối tượng j, d(i,j) là một số
không âm, trong đó nếu d(i,j) xấp xỉ 0 thì hai đối tượng i và j là khá
"gần" nhau, nếu d(i,j) càng lớn thì hai đối tượng i, j khá khác nhau.
Do d(i,j) = d(j,i) = 0 nên ta có thể biểu diễn ma trận phi tương tự như
sau:
- Phần lớn các thuật toán phân cụm sử dụng cấu trúc ma trận phi tương tự.
Do vậy, nếu dữ liệu cần phân cụm được tổ chức dưới dạng ma trận dữ liệu
6
thì cần biến đổi về dạng ma trận phi tương tự trước khi tiến hành phân cụm.
Có hai đặc trưng để phân loại: kích thước miền và hệ đo.
Cho một CSDL D chứa n đối tượng trong không gian k chiều; x, y, z là các
đối tượng thuộc D:
Trong đó với 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. Như vậy sẽ có các kiểu dữ liệu sau:
1.2.1. Biến trị khoảng

- Một thành phần quan trọng trong thuật toán phân cụ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 gom cụm: các công thức khác nhau dẫn
tới những cụ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 gom cụ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.
- Khoảng cách Minkowski được định nghĩa như sau:
Trong đó x, y là hai đối tượng với n là số lượng thuộc tính, và là kích
thước của dữ liệu.
- Khoảng cách Euclidean:
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:
Là khoảng cách giữa hai đối tượng trong trường hợp đặc biệt q=1.
7
- Khoảng cách Chebychev:
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.
- Tính chất của distance(i,j):
o distance (i,j) >= 0
o distance (i,i) = 0
o distance (i,j) = distance (j,i)
o distance (i,j) <= distance (i,h) + distance (h,j)

1.2.2. Biến khoảng tỉ lệ
- Có nhiều cách khác nhau để tính độ tương tự giữa các thuộc tính tỉ lệ. Một
trong những số đó là sử dụng công thức tính logarit cho mỗi thuộc tính
, ví dụ , đóng vai trò như thuộc tính khoảng. Phép biến đổi logarit này thích
hợp trong trường hợp các giá trị của thuộc tính là số mũ.
- Trong thực tế, khi tính độ tương tự dữ liệu, chỉ xem xét một phần các thuộc
tính đặc trưng đối với các kiểu dữ liệu hoặc là đánh trọng số cho tất cả các
thuộc tính dữ liệu. Trong một số trường hợp, loại bỏ đơn vị đo củacác thuộc
tính dữ liệu bằng cách chuẩn hóa chúng, hoặc gán trọng số cho mỗi thuộc
tính giá trị trung bình, độ lệch chuẩn. Các trọng số này có thể sử dụng trong
các độ đo khoảng cách trên, ví dụ với mỗi thuộc tính dữ liệu đã được gán
trọng số tương ứng wi (1 ≤ i ≤ k), độ tương đồng dữ liệu được xác định
như sau:
- Có thể chuyển đổi giữa các mô hình cho các kiểu dữ liệu trên, ví dụ như dữ
liệu kiểu hạng mục có thể chuyển đổi thành dữ liệu nhị phân hoặc ngược
lại. Giải pháp này rất tốn kém về chi phí tính toán, do vậy, cần phải cân
nhắc khi áp dụng cách thức này.
- Tóm lại, tùy từng trường hợp dữ liệu cụ thể mà có thể sử dụng các mô hình
tính độ tương tự khác nhau. Việc xác định độ tương đồng dữ liệu thích hợp,
chính xác đảm bảo khách quan là rất quan trọng, góp phần xây dựng thuật
toán gom cụm dữ liệu có hiệu quả cao trong việc đsảm bảo chất lượng cũng
như chi phí tính toán.
1.2.3. Biến nhị phân
8
- Cho các biến danh nghĩa, “phép đo khoảng cách” là 0 nếu các trường hợp
có cùng giá trị danh nghĩa, và 1 nếu các trường hợp có các giá trị danh
nghĩa khác nhau, hoặc với độ đo tương tự 1 (nếu các trường hợp có cùng
giá trị danh nghĩa) và 0 (nếu không giống nhau).
- Do đó nếu xem xét p biến định danh, có thể đánh giá độ tương tự của các
trường hợp bằng số các biến mà có giá trị giống nhau. Nói chung định

nghĩa với một biến nhị phân mới từ mỗi biến danh nghĩa, bằng việc nhóm
các nhãn danh nghĩa thành hai lớp, một nhãn là 1, nhãn khác là 0. Xây dựng
và xem xét bảng ngẫu nhiên các sự kiện có thể xảy ra và định nghĩa các
thuộc tính của đối tượng i, j bằng các biến số nhị phân 0 và 1. Ví dụ ta có
bảng tham số sau:
j
1 0
i
1 a b a+b
0 c d c+d
a+c b+d p=a+b+c+d
Trong đó:
o a là tổng số các thuộc tính có giá trị 1 trong hai đối tượng i, j
o b là tổng số các thuộc tính có giá trị 1 trong i và giá trị 0 trong j
o c là tổng số các thuộc tính có giá trị 0 trong i và giá trị 1 trong jx
o d là tổng số các thuộc tính có giá trị 0trong hai đối tượng i, j
o p là tổng tất cả các thuộc tính của hai đối tượng i, j
- Giá trị đối xứng: Một thuộc tính nhị phân là đối xứng nếu kết quả là cả hai
đều quan trọng.
- Giá trị bất đối xứng: Một thuộc tính nhị phân là không đối xứng nếu các kết
quả của các trạng thái không quan trọng.
- Các phép đo độ tương tự của các trường hợp với dữ liệu thuộc tính nhị phân
được thực hiện bằng các cách sau:
o Hệ số đối sánh đơn giản: . cả hai đối tượng có vai trò như nhau,
nghĩa là chúng đối xứng và có cùng trọng số.
9
o Hệ số Jaccard (không đối xứng): . Tham số này loại bỏ các đối sánh
0-0.
Ví dụ:
Name Gender Fever Cough Test-1 Test-2 Test-3 Test-4

Jack M Y N P N N N
Marry F Y N P N P N
Jim M Y P N N N N
Ta có thuộc tính Gender đối xứng. Tất cả các thuộc tính còn lại
không đối xứng. Đặt Y và P là 1 và N là 0, ta có bảng tham số cho
Jack và Marry như sau:
Mary
1 0
Jack
1 2 0 2
0 1 3 4
3 3 6
Tương tự ta tính được:
1.2.4. Biến thứ tự
- Thuộc tính thứ tự có 2 loại: rời rạc và liên tục
o Thuộc tính thứ tự rời rạc là thuộc tính danh nghĩa với các giá trị
được sắp xếp một cách có ý ngshĩa.
o Thuộc tính thứ tự liên tục là dữ liệu liên tục trên quy mô không rõ.
Ví dụ: thứ tự của bảng xếp hạng trong một môn thể thao (vàng, bạc,
đồng) là quan trọng hơn giá trị của họ. Được sử dụng để ghi lại các
đánh giá chủ quan của các đặc tính nhất định mà không thể đo lường
một cách khách quan.
- Phép đo độ phi tương tự giữa các đối tượng dữ liệu với thuộc tính thứ tự được thực
hiện như sau: Giả sử i là thuộc tính thứ tự có giá trị ( là kích thước miền giá trị):
10
o Các trạng thái được sắp xếp thứ tự như nhau: [1…], có thể thay thế
mỗi giá trị của thuộc tính bằng giá trị cùng loại với . Ví dụ: Gold,
Silver, Bronze với thứ tự 1, 2, 3.
o Mỗi thuộc tính có thứ tự có các miền giá trị khác nhau, vì vậy phải
chuyển đổi chúng về cùng miền giá trị [0, 1] bằng cách thực hiện

phép biến đổi sau cho mỗi thuộc tính:
Trong đó là cấp bậc của đối tượng thứ i trong biến thứ tự thứ
o Sử dụng công thức tính độ phi tương tự của thuộc tính khoảng đối
với các giá trị , đây cũng chính là độ phi tương tự của thuộc tính có
thứ tự.
1.2.5. Biến định danh
- Dạng biến định danh là mở rộng của biến nhị phân nhưng có thể có nhiều
hơn 2 trạng thái. Ví dụ: Color là một thuộc tính có 4 giá trị: yellow, green,
red, blue.
- Giả sử ta gọi M là số lượng các giá trị của thuộc tính. Độ đo phi tương tự
giữa hai đối tượng i và j được định nghĩa như sau:
Trong đó:
o m là số thuộc tính đối sánh tương ứng trùng nhau
o p là tổng số các thuộc tính
- Biến định danh có thể mã hóa thành biến nhị phân bất đối xứng cho mỗi
giá trị M. Mỗi record được cho bởi một số liệu, thuộc tính giá trị nhị phân
đại diện cho giá trị đó được thiết lập để 1, trong khi các giá trị nhị phân còn
lại được thiết lập là 0.

1.2.6. Biến có kiểu hỗn hợp
- Cơ sở dữ liệu có thể chứa cả sáu loại biến
11
Yellow Green Red Blue
Record 1 0 0 1 0
Record 2 0 1 0 0
Record 3 1 0 0 0
- Có thể dùng công thức được gán trọng để kết hợp các hiệu quả:
Trong đó:
o
o Đóng góp của biến f vào khoảng cách :

 Nếu f là biến kiểu nhị phân hay định danh:
 Nếu F là biến dạng khoảng thì ta sẽ dùng khoảng cách được
chuẩn hóa.
 Nếu f là thứ tụ hay tỉ số đưusọc tỉ lệ theo:
• Tính hạng
• Xử lý theo tỉ lệ khoảsng
Chương 2: CÁC PHƯƠNG PHÁP GOM CỤM DỮ LIỆU
2.1 Phương pháp dựa trên phân hoạch
- Thuật toán phân hoạch là một thuật toán phân cụm có từ rất lâu và khá phổ
biến trước khi xuất hiện lĩnh vực khai phá dữ liệu. Phân cụm không thứ bậc
hoặc phân cụm theo phân hoạch (nonhierarchy or partition clustering) chia
cơ sở dữ liệu bằng cách xác định trước các đối tượng đại diện (đối tượng
nhân) của các cụm. Kế tiếp mỗi đối tượng dữ liệu sẽ được đưa vào cụm mà
khoảng cách từ đối tượng dữ liệu đến đối tượng đại diện của cụm là nhỏ
nhất. Sau mỗi bước thì đối tượng đại diện của mỗi cụm có thể được xác
định lại dựa vào các đối tượng dữ liệu thuộc cụm đó. Mặc dù biểu diễn các
cụm dữ liệu khác nhau, tuy nhiên các thuật toán đều có cách tiếp cận chung
khi tính toán các giải pháp.
- Ý tưởng của phương pháp phân hoạch như sau:
o Cho tập D gồm n đối tượng, và một tham số đầu vào k được xác
định bởi người dùng. Thuật toán phân hoạch sẽ chọn k đối tượng đại
diện cho k cụm (k đối tượng đại diện có thể được chọn ngẫu nhiên
hoặc theo một tiêu chuẩn của người sử dụng). Với một đối tượng dữ
liệu sẽ được đưa vào cụm có đối tượng đại diện gần với q nhất. Sau
12
đó, đối tượng đại diện của mỗi cụm sẽ được tính lại dựa vào những
điểm dữ liệu thuộc cụm đó. Thông thường thì đối tượng đại diện
được xác định sao cho khoảng cách từ đối tượng đại diện đến điểm
xa nhất là nhỏ nhất có thể được.
- Mô hình thuật toán gom cụm phân hoạch

Đầu vào: Số cụm k và CSDL D gồm n đối tượng.
Đầu ra: tập các cụm.
là tập các đối tượng đại diện của k cụm ở lần phân hoạch thứ i.
Partition(D, k);
1. Chọn ngẫu nhiên k tâm bất kỳ . Đặt i= 0.
2. Với mỗi điểm dữ liệu thì tìm đối tượng đại diện gần nhất và đưa
p vào cụm đó.
3. Tính lại đối tượng đại diện của các cụm

dựa vào các điểm dữ
liệu thuộc cụm.
4. Nếu thì dừng lại. Trong trường hợp ngược lại i= i+1 và quay lại
2.
- Với phương pháp này, số cụm được thiết lập là đặc trưng được lựa chọn
trước. Phương pháp phân hoạch thích hợp với bài toán tìm các cụm trong
không gian 2D. Ngoài ra, phương pháp xem xét đến khoảng cách cơ bản
giữa các điểm dữ liệu để xác định chúng có quan hệ gần nhau, hoặc không
gần nhau hay không có quan hệ.
- Nhược điểm của phương pháp này là đòi hỏi phải đưa vào tham số k và
không xử lý trên bộ dữ liệu thuộc cụm có hình dạng phức tạp hoặc mật độ
phân bố dày đặc. Ngoài ra, nếu cơ sở dữ liệu có nhiễu hoặc có đối tượng dữ
liệu quá xa tâm (outline) thì phương pháp gom cụm phân hoạch cùng không
áp dụng được vì trong các trường hợp đó, các đối tượng dữ liệu nhiễu hoặc
các đối tượng dữ liệu xa tâm (outline) sẽ làm tâm của cụm bị lệch đi. Do
đó, không đưa ra được các cụm chính xác. Thêm vào đó, thuật toán có độ
phức tạp tính toán lớn khi cần xác định kết quả tối ưu.
- Các thuật toán trong phương pháp phân hoạch: K-MEANS, PAM
(Partitioning Around Medoids), CLARA (Clustering LARge Application),
CLARANS (Clustering Large Applications based upon RANdomized
Search).

13
2.2 Phương pháp phân cấp
- Phương pháp này xây dựng một phân cấp trên cơ sở các đối tượng dữ liệu
đang xem xét. Nghĩa là sắp xếp một tập dữ liệu đã cho thành một cấu trúc
có dạng hình cây, cây phân cấp này được xây dựng theokỹ thuật đệ quy. Kỹ
thuật này có 2 cách tiếp cận đó là:
o Tiếp cận hội tụ, thường được gọi là tiếp cận Bottom –Up
o Tiếp cận phân chia nhóm, thường được gọi là tiếp cận Top –Down
a. Tiếp cận bottom-up
- Bắt đầu với mỗi đối tượng thành lập một cụm riêng biệt. Sau đó tiến
hành hợp hoặc nhóm các đối tượng theo một vài tiêu chí đó như
khoảng cách giữa trung tâm của 2 nhóm. Thuật toán kết thúc khi tất
cả các nhóm được hợp thành một nhóm (nút gốc của cây) hoặc thỏa
mãn điều kiện dừng. Từ cây mới tạo được, đưa ra các cụm bằng cách
chọn tập các đối tượng tại các nút thoả mãn điều kiện dừng.
b. Tiếp cận top-down
- Xuất phát từ gốc là một cụm với tất cả các đối tượng trong mộtcơ sở
dữ liệu. Tại mỗi bước lặp thì cụm được phân chia thành cụm nhỏ
hơn theo tiêu chí nào đó. Việc phân chia dừng khi mỗi đối tượng là
một cụm hoặc thỏa mãn điều kiện dừng (kết thúc). Điều kiện kết
thúc là điều kiện để xác định một tập các đối tượng tại mỗi nút có
phải là một cụm hay không. Điều kiện kết thúc được đưa vào từ
người sử dụng.
14
- Ưu điểm của phương pháp này: là kết hợp linh hoạt vào mức độ chi tiết,
dễ dàng xử lý với bất kỳ kiểu đo độ tương tự/khoảng cách nào, thích hợp
với mọi kiểu dữ liệu thuộc tính.
- Nhược điểm: là điều kiện để dừng vòng lặp rất mơ hồ, không cụ thể. Mặt
khác, phương pháp không duyệt lại các mức trước khi xây dựng để cải tiến
chất lượng các cụm.

- Phương pháp này gồm có các thuật toán: AGNES (Agglomerative NEsting)
và DIANA (DIvisia ANAlysic), CURE (Clustering Using Representatives),
BIRCH (Balance Iterative Reducing and Clustering using Hierarchies),
CHAMELEON.
2.3 Phương pháp gom cụm dữ liệu mờ
- Trong cuộc sống, chúng ta đã gặp rất nhiều ứng dụng của bài toán gom
cụm. Chẳng hạn như trong ngành bưu điện, hàng ngày bưu điện phải phân
loại thư theo mã nước, trong mã nước lại phân loại theo mã tỉnh/thành phố,
sau đó khi thư về đến bưu điện tỉnh thì bưu điện tỉnh lại phải phân loại thư
theo quận/huyện để gửi đi, đến bưu điện quận/huyện lại phân loại thư theo
xã/phường để gửi thư. Đó chính là một ứng dụng của bài toán gom cụm rõ.
Vậy bài toán gom cụm rõ là gì?
- Ta có thể định nghĩa bài toán gom cụm rõ như sau: Cho tập dữ liệu mẫu X,
ta kiểm tra các điểm dữ liệu xem nó giống với đặc điểm của nhóm nào nhất
thì ta gán điểm dữ liệu đó vào trong nhóm đó. Nhưng trong thực tế không
phải lúc nào bài toán gom cụm rõ cũng áp dụng được. Chẳng hạn, ta có
phép phân loại sau: Những người đi xe máy xịn thì thuộc nhóm người giàu,
những người đi xe máy thường thuộc nhóm người bình dân. Vậy người
nghèo mà đi xe máy xịn thì chúng ta xếp người đó vào nhóm nào? Vì vậy,
chúng ta cần đưa vào khái niệm bài toán gom cụm mờ.
Trong các phương pháp gom cụm đã giới thiệu trong chương trước, mỗi
phương pháp gom cụm phân hoạch một tập dữ liệu ban đầu thành các cụm
dữ liệu có tính tự nhiên và mỗi đối tượng dữ liệu chỉ thuộc về một cụm dữ
liệu, phương pháp này chỉ phù hợp với việc khám phá ra các cụm có mật độ
cao và rời nhau, với đường biên giữa các cụm được xác định tốt. Tuy nhiên,
15
trong thực tế, đường biên giữa các cụm có thể mờ, các cụm có thể chồng
lên nhau, nghĩa là một số các đối tượng dữ liệu thuộc về nhiều các cụm
khác nhau, do đó mô hình này không mô tả được dữ liệu thực. Vì vậy
người ta đã áp dụng lý thuyết về tập mờ trong gom cụm dữ liệu để giải

quyết cho trường hợp này. Cách thức kết hợp này được gọi là Gom cụm
mờ.
- Gom cụm mờ là phương pháp gom cụm dữ liệu mà 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 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 (1973)
mở rộng phương pháp gom cụm và đã phát triển thuật toán gom cụm mờ. Ý
tưởng của thuật toán là xây đựng một phương pháp gom 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ũ để xây dựng thuật toán gom
cụm mờ và được chứng minh độ hội tụ của các thuật toán là cực tiểu cục
bộ.
- Các thuật toán điển hình theo phương pháp gom cụm dữ liệu mờ gồm:
FCM (Fuzzy C-means), Thuật toán εFCM (ε- Insensitive Fuzzy C-means)
2.4 Phương pháp dựa vào lưới
- Phương pháp gom cụm dựa trên lưới thích hợp với dữ liệu nhiều chiều, và
chủ yếu được dùng để gom cụm cho dữ liệu không gian. Phương pháp sử
dụng cấu trúc dữ liệu lưới (grid), bằng cách chia không gian thành số hữu
hạn các ô để hình thành cấu trúc lưới và mọi thao tác gom cụm đều thực
hiện trên đó.
- Ưu điểm là thời gian xử lý nhanh mà không bị ảnh hưởng bởi số các đối
tượng dữ liệu, ngược lại nó phụ thuộc vào số các ô trong mỗi chiều của
không gian được chia
- Cách tiếp cận dựa trên lưới hiệu quả hơn so với phương pháp dựa trên mật
độ và phân cấp, vì chỉ làm việc với từng đối tượng trong từng ô mà không
phải đối tượng dữ liệu, mặt khác phương pháp này không trộn/hòa nhập các
ô như phân cấp.
16
- Các thuật toán điển hình theo phương pháp dựa trên lưới gồm: STING
(STatistical Information Grid), WaveCluster, CLIQUE (CLustering In

QUEst).
2.5 Phương pháp dựa trên mật độ
- Phương pháp dựa trên mật độ gom cụm các đối tượng dữ liệu dựa trên mối
quan hệ của các đối tượng dữ liệu với các điểm lân cận của các điểm dữ
liệu đó. Gom cụmdựa trên mật độ (có điều kiện cụm cục bộ) giống như các
điểm có khả năng liên kết theo mật độ (density-connected). Một cụm được
mở rộng theo hướng bất kỳ mà mật độ dẫn theo, do đó phương pháp này có
khả năng tìm ra các cụm có hình dạng phức tạp. Mặc dù chỉ duyệt tập dữ
liệu một lần nhưng phương pháp này có khả năng loại bỏ phần tử nhiễu và
phần tử ngoại lai. Phương pháp này phù hợp với các đối tượng có trường
dữ liệu kiểu số, dữ liệu thuộc tính chỉ là thuộc tính mô tả thêm cho các đối
tượng không gian.
Phương pháp này có thể tiếp cận theo 2 hướng chính: liên kết dựa trên mật
độ và hàm mật độ.
- Các thuật toán thuộc phương pháp này bao gồm DBSCAN (Density Based
Spatial Clustering of Application with Noise), OPTICS (Ordering Points to
Identify the Clustering Structure), DENCLUE (Density-based
CLUstEring), DBCLASD (Distribution Based Clustering of Large Spatial
Databased).
2.6 Phương pháp dựa trên mô hình
- Phương này cố gắng khám phá các phép xấp xỉ tốt của các tham số mô hình
sao cho khớp với dữ liệu một cách tốt nhất. Chúng có thể sử dụng chiến
lược gom cụm phân hoạch hoặc gom cụm phân cấp, dựa trên cấu trúc hoặc
mô hình mà chúng giả định về tập dữ liệu và cách chúng hiệu chỉnh các mô
hình này để nhận dạng ra các phân hoạch. Phương pháp gom cụm dựa trên
mô hình cố gắng khớp giữa các dữ liệu với mô hình toán học, nó dựa trên
giả định rằng dữ liệu được tạo ra bằng hỗn hợp phân phối xác suất cơ bản.
Các thuật toán gom cụm dựa trên mô hình có hai cách tiếp cận chính: mô
hình thống kê và mạng nơron. Phương pháp này gần giống với phương
pháp gom cụm dựa trên mật độ, vì chúng phát triển các cụm riêng biệt

17
nhằm cải tiến các mô hình đã được xác định trước đó, nhưng đôi khi nó
không bắt đầu với một số cụm cố định và không sử dụng cùng một khái
niệm mật độ cho các cụm.
18
Chương 3: ỨNG DỤNG THUẬT TOÁN K-MEANS VÀO GOM
CỤM DỮ LIỆU
3.1 Thuật toán K-MEANS
3.1.1 Ý tưởng
- Ý tưởng chính của phương pháp này là phân một tập dữ liệu có n phần
tử cho trước thành k nhóm dữ liệu sao cho mỗi phần tử dữ liệu chỉ
thuộc về một nhóm dữ liệu và mỗi nhóm dữ liệu có tối thiểu một phần
tử dữ liệu. Các thuật toán phân hoạch có độ phức tạp rất lớn khi xác
định nghiệm tối ưu toàn cục cho vấn đề gom cụm dữ liệu, vì nó phải
tìm kiếm tất cả các cách phân hoạch có thể được. Chính vì vậy, trên
thực tế người ta thường đi tìm giải pháp tối ưu cục bộ cho vấn đề này
bằng cách sử dụng một hàm tiêu chuẩn để đánh giá chất lượng của các
cụm cũng như để hướng dẫn cho quá trình tìm kiếm phân hoạch dữ
liệu. Với chiến lược này, thông thường người ta bắt đầu khải tạo một
phân hoạch ban đầu cho tập dữ liệu theo phép ngẫu nhiên hoặc theo
heuristic và liên tục tinh chỉnh nó cho đến khi thu được một phân
hoạch mong muốn, thoả mãn các điều kiện ràng buộc cho trước. Các
thuật toán gom cụm phân hoạch cố gắng cải tiến tiêu chuẩn gom cụm
bằng cách tính các giá trị độ đo tương tự giữa các đối tượng dữ liệu và
sắp xếp các giá trị này, sau đó thuật toán lựa chọn một giá trị trong
dãy sắp xếp sao cho hàm tiêu chuẩn đạt giá trị tối thiểu. Như vậy, ý
tưởng chính của thuật toán gom cụm phân hoạch tối ưu cục bộ là sử
dụng chiến lược tham ăn để tìm kiếm nghiệm.
3.1.2 Thuật toán K-MEANS
- Thuật toán gom cụm phân hoạch K-MEANS do MacQueen đề xuất

trong lĩnh vực thống kê năm 1967, mục đích của tuật toán K-MEANS
19
là sinh ra k cụm dữ liệu {C
1
, C
2
, …, C
k
} từ một tập dữ liệu ban đầu
gồm n đối tượng trong không gian d chiều X
i
= (x
i1
, x
i2
, …, x
id
),
),1( ni
=
, sao cho hàm tiêu chuẩn:
∑∑
= ∈
−=
k
i Cx
i
i
mxDE
1

2
)(
đạt cực tiểu. Trong đó:
m
i
là trọng tâm của cụm C
i
, D là khoảng cách giữa hai đối tượng.
- Trọng tâm của một cụm là một vector, trong đó giá trị của mỗi phần
tử của nó là trung bình cộng các thành phần tương ứng của các đối
tượng vector 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, tập CSDL gồm n phần tử và tham số đầu ra của thuật
toán là các trọng tâm của 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, bởi
đây là mô hình khoảng cách 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 tuỳ vào ứng dụng hoặc các quan điểm của người dùng.
Thuật toán K-MEANS bao gồm các bước cơ bản sau:
INPUT: Một CSDL gồm n đối tượng và số cụm cần phân là k.
OUTPUT: Các cụm C
i
(i=1 k) sao cho hàm tiêu chuẩn E đạt giá
trị tối thiểu.
Thuật toán tiến hành 4 bước sau:
Bước 1: Khởi tạo
Chọn k đối tượng m
j
(j=1…k) là trọng tâm ban đầu của k cụm
từ tập dữ liệu đầu vào (việc lựa chọn này có thể ngẫu nhiên
hoặc chọn theo kinh nghiệm chuyên gia).

Bước 2: Tính khoảng cách
Đối với mỗi đối tượng X
i
(1 ≤ i ≤ n), tính khoảng cách của nó
tới mỗi trọng tâm m
j
với j=1,…,k, sau đó tìm trọng tâm gần
nhất đối với mỗi đối tượng.
20
Bước 3: Cập nhật lại trong tâm
Đối với mỗi j=1,…,k, cập nhật trọng tâm cụm m
j
bằng cách
xác định trung bình cộng của các vector đối tượng dữ liệu.
Bước 4: Điều kiện dừng
Lặp lại bước 2 và bước b cho đến khi các trọng tâm của cụm
không thay đổi.
- 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((n.k.d).
τ
.
Τ
flop
). Trong đó, n là số đối tượng dữ liệu, k là
số cụm dữ liệu, d là số chiều của vector đối tượng dữ liệu,
τ
là số vòng
lặp,
Τ
flop

là thời gian để thực hiện để thực hiện một phép tính cơ sở như
phép cộng, trừ, nhân, chia,… Như vậy, do thuật toán K-MEANS phân
tích gom cụm đơn giản nên có thể áp dụng đối với tập dữ liệu lớn.
Tuy nhiên, nhược điểm của thuật toán K-MEANS là chỉ áp dụng với
dữ liệu có thuộc tính số và khám phá ra các cụm có dạng hình cầu,
không những vậy mà thuật toán K-MEANS 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 gom cụ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ố cụ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 của cụm tự nhiên thì kết quả gom
cụm của thuật toán K-MEANS là rất thấp, nghĩa là các cụm dữ liệu
được khám phá rất lệch so với các cụm trong thực tế. Trên thực tế
người ta 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 cụm dữ liệu khác nhau rồi sau đó chọn giải pháp tốt nhất.
3.2 Cài đặt thuật toán K_MEANS
3.2.1 Xây dựng chương trình
- Xây dựng chương trình chạy thử nghiệm thuật toán K-MEANS gom n điểm
ngẫu nhiên vào k cụm.
21
- Chương trình được cài đặt bằng ngôn ngữ C# cho phép phát sinh n điểm
trong gian hai chiều, sau đó người dùng chọn trực tiếp k điểm trọng tâm
ban đầu bằng cách click vào hệ trục tọa độ thể hiện trên giao diện chương
trình.
3.2.2 Giao diện chương trình
- Giao diện chính của chương trình như sau:
-
-
- Nhập

số
lượng điểm vào textbox như hình
dưới. Ví dụ ta nhập vào 60 điểm, sau đó nhấn button Generation để
phát
sinh
60
điểm được biểu diễn bằng chấm tròn
đỏ như hình vẽ:
22
-
- Chọn
số
lượng
trọng tâm bằng cách click chuột trực
tiếp vào hình. Ví dụ bên dưới ta click vào 3 vị trí có dấu hình vuông màu
vàng.
- Ta có kết quả như hình dưới
- Các button First, Pre, Next, Last để hiển
thị kết quả gom cụm ở những lần khác. Ví dụ Thuật toán kmeans cho ví dụ
này chạy tổng cộng 3 bước, và hình sau thể hiện sự gom cụm ở bước thứ 2
và thứ 1 của thuật toán.
23
- Một ví dụ khác cho việc gom cụm 80 điểm ngẫu nhiêu với k=6.
24
Chương 4: KẾT LUẬN
Tiểu luận trình bày tổng quan, lý thuyết về gom cụm dữ liệu, mục tiêu cũng như
ứng dụng của gom cụm vào thực tiễn. Tiếp đó trình bày các kiểu dữ liệu dùng
trong gom cụm bao gồm: các biến trị khoảng, biến nhị phânm biến thứ tự, biến
định danh, biến tỷ lệ và biến hỗn hợp. Tiểu luận còn giới thiệu tổng quát các
phương pháp được dùng trong phân cụm dữ liệu gồm 6 phương pháp là: Phương

pháp dựa trên phân hoạch, phương pháp phân cấp, phương pháp gom cụm dữ liệu
mờ, phương pháp dựa vào lưới, phương pháp dựa trên mật độ, phương pháp dựa
trên mô hình. Cuối cùng là phần giới thiệu chi tiết về thuật toán K_MEANS và cài
đặt thử nghiệm thuật toán K_MEANSs gom n điểm vào k cụm trong hệ trục tọa độ
hai chiều.
25

×