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

Tìm hiểu về phương pháp phân cụm cứng và áp dụng vào phân cụm khách hàng

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 (824.92 KB, 36 trang )

MỤC LỤC
LỜI CẢM ƠN
Em xin gửi lời cảm ơn chân thành tới các thầy cô giáo trong khoa Công nghệ
thông tin trường Đại học Công nghệ thông tin và Truyền thông nói chung, bộ môn Hệ
thống thông tin nói riêng và đặc biệt là thầy Trần Mạnh Tuấn đã tận tình truyền đạt,
giảng dạy cho em những kiến thức, kinh nghiệm quý báu trong suốt thời gian vừa qua.
Tuy nhiên do trình độ và hiểu biết của em vẫn còn nhiều hạn chế nên không
tránh khỏi sai sót trong quá trình tìm hiểu và viết bào cáo. Em rất mong nhận được ý
kiến góp ý từ phía thầy cô để em có thể hoàn thành tốt hơn.
Em xin chân thành cảm ơn !
Thái Nguyên, ngày 10/4/2014
Sinh viên thực hiện
Nguyễn Thị Bình
1
LỜI MỞ ĐẦU
Sự phát triển của công nghệ thông tin và việc ứng dụng công nghệ thông tin
trong nhiều lĩnh vực của đời sống, kinh tế xã hội trong nhiều năm qua cũng đồng nghĩa
với lượng dữ liệu đã được các cơ quan thu thập và lưu trữ ngày một tích lũy nhiều lên.
Một vấn đề đặt ra là làm thế nào để tổ chức, khai thác những khối lượng dữ liệu khổng
lồ và đa dạng thành các tri thức có ích? . Khai phá dữ liệu là một lĩnh vực khoa học mới
xuất hiện gần đây nhằm đáp ứng nhu cầu này. Các kết quả nghiên đã thành công với rất
nhiều những ứng dụng trong nhiều lĩnh vực đặc biệt từ việc phân cụm khách hàng.
Trong kinh doanh yếu tố khách hàng quyết định đến sự thành bại của doanh
nghiệp, khi thông tin đang trở thành yếu tố quyết định trong kinh doanh thì vấn đề tìm ra
các thông tin hữu ích trong CSDL khổng lồ ngày càng trở thành mục tiêu quan trọng của
các doanh nghiệp.Vì vậy một trong những giải pháp hữu hiệu nhất nhằm khắc phục các
vấn đề nêu trên là tiến hành triển khai xây dựng một hệ thống khai phá dữ liệu (KPDL),
khai thác quản lý nguồn khách hàng nói trên. Đó là một hệ thống được thiết kế giúp cho
nhân viên chiến lược marketing nắm bắt được nguồn thông tin khách hàng hữu ích và các
chiết xuất được từ CCDL trên sẽ là một nguồn tài liệu hỗ trợ cho nhân viên xây dựng
chiến lươc kinh doanh.Chính vì lý do trên, em đã chọn đề tài “ Tìm hiểu về phương


pháp phân cụm cứng và áp dụng vào phân cụm khách hàng”.
2
CHƯƠNG 1: TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1. Khai phá dữ liệu.
1.1.1. Giới thiệu chungvề khai phá dữ liệu.
Khai phá dữ liệu là quá trình trích lọc, sản sinh ra những thông tin hoặc các
mẫu không hiển nhiên, tiềm ẩn những hữu ích từ những cơ sở dữ liệu lớn.Khai phá dữ
liệu là quá trình chính trong khai phá tri thức từ cơ sở dữ liệu.
Kiến trúc của một hệ thống khai phá dữ liệu có các thành phần như sau:
Hình 1: Kiến trúc một hệ thống khai phá dữ liệu
Trong đó:
• CSDL, kho dữ liệu hoặc lưu trữ thông tin khác: Đây là một hay các tập CSDL, các
kiểu dữ liệu hay các dạng khác nhau của thông tin được lưu trữ. Các kỹ thuật làm sạch
dữ liệu và tích hợp dữ liệu có thể được thực hiện.
• Cơ sở tri thức (Knowledge base): Đây là miền tri thức dùng để kiếm hay đánh giá độ
quan trọng của các mẫu kết quả thu được. Tri thức này có thể bao gồm một sự phân
cấp khái niệm dùng để tổ chức các thuộc tính hay các giá trị thuộc tính ở các mức trừu
tượng khác nhau.
• Công cụ khai thác dữ liệu: Là một hệ thống khai phá dữ liệu cần phải có một tập các
công cụ để phục vụ cho việc khai phá, bao gồm các Modul chức năng để thể hiện công
việc như kết hợp, phân lớp, phân cụm.
3
• Mẫu ước lượng: Là bộ phận tương tác với các Modul khai phá dữ liệu để tập trung vào
việc duyệt tìm các mẫu đang được quan tâm. Nó có thể dùng các ngưỡng về độ quan
tâm để lọc các mẫu đã khám phá được. Cũng có thể Modul đánh giá mẫu được tích
hợp vào Modul khai phá dữ liệu, tùy theo cách cài đặt của phương pháp khai phá dữ
liệu được dùng.
• Dữ liệu thực: Là kết quả cuối cùng của quá trình khai phá, phù hợp với yêu cầu người
sử dụng.
1.1.2. Quá trình khai phá dữ liệu.

Khai phá dữ liệu (KPDL) là một giai đoạn quan trọng trong quá trình khai phá
tri thức (KPTT).Về bản chất, nó là giai đoạn duy nhất tìm ra được thông tin mới, thông
tin tiềm ẩn có trong CSDL chủ yếu phục vụ cho mô tả và dự đoán.
Mô tả dữ liệu là tổng kết hoặc diễn tả những đặc điểm chung của những thuộc
tính dữ liệu trong kho dữ liệu mà con người có thể hiểu được.
Dự đoán là dựa trên những dữ liệu hiện thời để dự đoán những quy luật được
phát hiện từ các mối liên hệ giữa các thuộc tính của dữ liệu trên cơ sở đó chiết xuất ra
các mẫu, dự đoán được những giá trị chưa biết hoặc những giá trị tương lai của các
biến quan tâm.
Quá trình KPDL bao gồm các bước chính được thể hiện trên hình sau:
Hình 2: Quá trình khai phá dữ liệu
Trong đó:
• Xác định nhiệm vụ: Xác định chính xác các vấn đề cần giải quyết.
• Xác định các dữ liệu liên quan: Dùng để xây dựng giải pháp.
• Thu thập và tiền xử lý dữ liệu: Thu thập các dữ liệu liên quan và tiền xử lý chúng sao
cho thuật toán KPDL có thể hiểu được. Đây là một quá trình rất khó khăn, có thể gặp
phải rất nhiều các vướng mắc như: dữ liệu phải được sao ra nhiều bản (nếu được chiết
4
xuất vào các tệp), quản lý tập các dữ liệu, phải lặp đi lặp lại nhiều lần toàn bộ quá trình
(nếu mô hình dữ liệu thay đổi),
• Giải thuật khai phá dữ liệu: Lựa chọn thuật toán KPDL và thực hiện việc KPDL để tìm
được các mẫu có ý nghĩa, các mẫu này được biểu diễn dưới dạng luật kết hợp, cây
quyết định tương ứng với ý nghĩa của nó.
Quá trình xử lý khai phá dữ liệu bắt đầu bằng cách xác định chính xác vấn đề
cần giải quyết.Sau đó sẽ xác định các dữ liệu liên quan dùng để xây dựng giải pháp.
Bước tiếp theo là thu thập các dữ liệu có liên quan và xử lý chúng thành dạng sao cho
giải thuật khai phá dữ liệu có thể hiểu được. Về lý thuyết thì có vẻ rất đơn giản nhưng
khi thực hiện thì đây thực sự là một quá trình rất khó khăn, gặp phải rất nhiều vướng
mắc như: các dữ liệu phải được sao ra nhiều bản (nếu được chiết xuất vào các tệp),
quản lý tập các tệp dữ liệu, phải lặp đi lặp lại nhiều lần toàn bộ quá trình (nếu mô hình

dữ liệu thay đổi), v.v…
Sẽ là quá cồng kềnh với một giải thuật khai phá dữ liệu nếu phải truy nhập vào
toàn bộ nội dung của CSDL và làm những việc như trên. Vả lại, điều này cũng không
cần thiết. Có rất nhiều giải thuật khai phá dữ liệu thực hiện dựa trên những thống kê
tóm tắt khá đơn giản của CSDL, khi mà toàn bộ thông tin trong CSDL là quá dư thừa
đối với mục đích của việc khai phá dữ liệu.
Bước tiếp theo là chọn thuật toán khai phá dữ liệu thích hợp và thực hiện việc
khai phá dữ liệu để tìm được các mẫu có ý nghĩa dưới dạng biểu diễn tương ứng với
các ý nghĩa đó (thường được biểu diễn dưới dạng các luật xếp loại, cây quyết định,
luật sản xuất, biểu thức hồi quy, …).
Đặc điểm của mẫu phải là mới (ít nhất là đối với hệ thống đó). Độ mới có thể
được đo tương ứng với độ thay đổi trong dữ liệu (bằng cách so sánh các giá trị hiện tại
với các giá trị trước đó hoặc các giá trị mong muốn), hoặc bằng tri thức (mối liên hệ
giữa phương pháp tìm mới và phương pháp cũ như thế nào). Thường thì độ mới của
mẫu được đánh giá bằng một hàm logic hoặc một hàm đo độ mới, độ bất ngờ của mẫu.
Ngoài ra, mẫu còn phải có khả năng sử dụng tiềm tàng.Các mẫu này sau khi được xử
lý và diển giải phải dẫn đến những hành động có ích nào đó được đánh giá bằng một
hàm lợi ích.Ví dụ như trong dữ liệu các khoản vay, hàm lợi ích đánh giá khả năng tăng
lợi nhuận từ các khoản vay.Mẫu khai thác được phải có giá trị đối với các dữ liệu mới
với độ chính xác nào đó.
Kỹ thuật khai phá dữ liệu thực chất không có gì mới. Nó là sự kế thừa, kết hợp
5
và mở rộng của các kỹ thuật cơ bản đã được nghiên cứu từ trước như học máy, nhận
dạng, thống kê (hồi quy, xếp loại, phân nhóm), các mô hình đồ thị, các mạng Bayes, trí
tuệ nhân tạo, thu thập tri thức hệ chuyên gia, v.v… Tuy nhiên, với sự kết hợp tài tình
của khai phá dữ liệu, kỹ thuật này có ưu thế hơn hẳn các phương pháp trước đó, đem
lại nhiều triển vọng trong việc ứng dụng phát triển nghiên cứu khoa học cũng như làm
tăng mức lợi nhuận trong các hoạt động kinh doanh.
1.1.3. Các phương pháp khai phá dữ liệu.
Quá trình khai phá dữ liệu là quá trình phát hiện mẫu, trong đó, giải thuật khai

phá dữ liệu tìm kiếm các mẫu đáng quan tâm theo dạng xác định như các luật, cây
phân lớp, quy hồi, phân nhóm, v.v…
Với hai mục đích của khai phá dữ liệu là Mô tả và Dự đoán, người ta thường sử
dụng các phương pháp sau cho khai phá dữ liệu:
• Luật kết hợp (Association rules)
• Phân lớp (Classfication)
• Hồi quy (Regression)
• Trực quan hóa (Visualiztion)
• Phân cụm (Clustering)
• Tổng hợp (Summarization)
• Mô hình ràng buộc (Dependency modeling)
• Biểu diễn mô hình (Model Evaluation)
• Phân tích sự phát triển và độ lệch (Evolution and deviation analyst)
• Phương pháp tìm kiếm (Search Method)
Có nhiều phương pháp khai phá dữ liệu được nghiên cứu ở trên, trong đó có ba
phương pháp được các nhà nghiên cứu sử dụng nhiều nhất đó là: Luật kết hợp, Phân
lớp dữ liệu và Phân cụm dữ liệu.
Phân lớp dữ liệu: Khái niệm phân lớp dữ liệu được Han và Kamber đưa ra năm
2000. Phân lớp dữ liệu là xây dựng một mô hình mà có thể phân các đối tượng thành
những lớp để dự đoán giá trị bị mất tại một số thuộc tính của dữ liệu hay tiên đoán giá
trị của dữ liệu sẽ xuất hiện trong tương lai.
Quá trình phân lớp dữ liệu được thực hiện qua hai bước:
Dựa vào tập hợp dữ liệu huấn luyện, xây dựng một mô hình mô tả những đặc
trưng của những lớp dữ liệu hoặc những khái niệm. Đây là quá trình học có giám sát,
học theo mẫu được cung cấp trước từ những lớp dữ liệu hoặc những khái niệm được
xác định trước, dự đoán giá trị của những đối tượng quan tâm.
Một kỹ thuật phân lớp dữ liệu được Han và Kamber đưa ra là cây quyết
6
định.Mỗi nút của cây đại diện một quyết định dựa vào giá trị thuộc tính tương ứng.
Phân cụm dữ liệu: Phân cụm là kỹ thuật khai phá dữ liệu tương tự như phân

lớp dữ liệu. Tuy nhiên sự phân cụm là quá trình học không giám sát, là quá trình nhóm
những đối tượng vào trong những lớp tương đương nhau và khác với những đối tượng
khác trong các cụm khác. Trong phân cụm đối tượng, những đối tượng được nhóm lại
cùng nhau dựa vào sự giống nhau của chúng.Sự giống nhau giữa những đối tượng
được xác định bởi những chức năng giống nhau. Thông thường sự giống nhau về định
lượng như khoảng cách hoặc độ đo khác được xác định bởi những chuyên gia trong
lĩnh vực.
Luật kết hợp: Khai phá bằng luật kết hợp là tìm ra các mẫu các quan hệ, các
mối tương quan hoặc quan hệ nhân quả phổ biến giữa các đối tượng trong cơ sở dữ
liệu giao dịch, cơ sở dữ liệu quan hệ và các thông tin khác trong kho.
Đầu vào: Là các cơ sở dữ liệu giao dịch.
Đầu ra: Tìm ra các mối quan hệ quan trọng giữa các mục trong cơ sở dữ liệu
giao dịch. Có nghĩa là sự hiện diện của một số mục trong một giao dịch sẽ bao hàm sự
hiện diện của một số các mục khác trong cùng một giao dịch.
1.1.4. Các lĩnh vực ứng dụng của KPDL.
KPDL liên quan đến nhiều ngành, nhiều lĩnh vực như: thống kê, trí tuệ nhân
tạo, cơ sở dữ liệu, thuật toán, tính toán song song và tốc độ cao, thu thập trí thức cho
các hệ chuyên gia, quan sát dữ liệu…
KPDL là một lĩnh vực mới phát triển nhưng thu hút được khá nhiều nhà nghiên
cứu nhờ vào những ứng dụng thực tiễn của nó như:
• Phân tích dữ liệu và hỗ trợ ra quyết định.
• Phân lớp văn bản, tóm tắt văn bản, phân lớp các trang Web và phân cụm ảnh màu.
• Chuẩn đoán triệu chứng, phương pháp trong điều trị y học.
• Tìm kiếm, đối sánh các hệ Gene và thông tin di truyền trong sinh học.
• Phân tích tình hình tài chính, thị trường, dự báo giá cổ phiếu trong tài chính, thị trường
và chứng khoán.
• Phân tích dữ liệu marketing, khách hàng.
• Điều khiển và lập lịch trình.
• Bảo hiểm.
• Giáo dục

1.1.5. Các cơ sở dữ liệu phục vụ cho khai phá dữ liệu.
Dựa vào những kiểu dữ liệu mà kỹ thuật khai phá áp dụng, có thể chia dữ liệu
thành các loại khác nhau:
7
• Cơ sở dữ liệu quan hệ: Đến nay hầu như dữ liệu được lưu trữ dưới dạng cơ sở dữ liệu
quan hệ. Cơ sở dữ liệu quan hệ có cấu trúc cao, dữ liệu được mô tả bởi một tập các
thuộc tính và lưu trong bảng. Khai phá dữ liệu trên cơ sở dữ liệu quan hệ chủ yếu tập
trung khai phá mẫu.
• Cơ sở dữ liệu giao tác: là tập hợp những bản ghi giao dịch, trong đa số các trường hợp
chúng là những bản ghi các dữ liệu hoạt động của doanh nghiệp, tổ chức. Khai phá dữ
liệu trên cơ sở dữ liệu giao tác tập trung vào khai phá luật kết hợp tìm mối tương quan
giữa những mục dữ liệu của bản ghi giao dịch.
• Cơ sở dữ liệu không gian: bao gồm hai phần: dữ liệu quan hệ (hay giao tác) và thông
tin định vị (hoặc thông tin địa lý). Những luật kết hợp trên cơ sở dữ liệu không gian
mô tả mối quan hệ giữa các đặc trưng trong cơ sở dữ liệu không gian. Dạng của luật
kết hợp không gian có dạng X -> Y với X, Y là tập hợp những vị từ không gian.
Những thuật toán khai phá luật kết hợp không gian tương tự như khai phá luật kết hợp
nhưng thêm những vị từ không gian.
• Cơ sở dữ liệu có yếu tố thời gian: Giống như cơ sở dữ liệu có yếu tố không gian, cơ sở
dữ liệu này bao gồm hai phần: Dữ liệu quan hệ (hay giao tác) và Thông tin về thời
gian xuất hiện dữ liệu ở phần một. Những luật kết hợp thời gian có nhiều thông tin hơn
những luật kết hợp cơ bản.
Cơ sở dữ liệu đa phương tiện: số lượng trang Web đang bùng nổ trên thế giới,
thông tin trên Web đang phát triển với tốc độ cao vì vậy việc khai phá thông tin trên
Web (Web mining) đã trở thành một lĩnh vực nghiên cứu chính của khai phá dữ liệu và
đang được quan tâm. Khai phá dữ liệu trên Web được chia thành ba phạm trù chính:
Khai phá cách sử dụng Web (Web usage mining), khai phá cấu trúc Web (Web
structure mining) và khai phá nội dung Web (Web content mining). Khai phá cách
dùng Web tập trung vào việc khai phá thông tin của người truy cập Web
1.1.6. Các cách thức và khó khăn trong khai phá dữ liệu.

Khai phá dữ liệu liên quan đến nhiều ngành, nhiều lĩnh vực trong thực tế, vì vậy
các thách thức và khó khăn ngày càng nhiều, càng lớn hơn. Dưới đây là một số khó
khăn cần được quan tâm và giải quyết:
+ Các cơ sở dữ liệu lớn: Cho đến nay, các cơ sở dữ liệu với hàng trăm trường và
bảng, hàng triệu bản ghi và với kích thước đến gigabytes đã là chuyện bình thường. Cơ
sở dữ liệu có thể lớn về số lượng các bản ghi, về số lượng các thuộc tính trong
CSDL.Hiện nay đã bắt đầu xuất hiện các cơ sở dữ liệu có kích thước tới terabytes.Để
giải quyết vấn đề này, người ta đưa ra một ngưỡng nào đó cho CSDL bằng các cách
như chiết xuất mẫu, xấp xỉ hoặc xử lý song song.
8
+ Kích thước lớn: không chỉ có số lượng bản ghi lớn mà số các trường trong cơ
sở dữ liệu cũng nhiều. Vì vậy mà kích thước của bài toán trở nên lớn hơn. Một tập dữ
liệu có kích thước lớn sinh ra vấn đề làm tăng không gian tìm kiếm mô hình suy diễn.
Hơn nữa, nó cũng làm tăng khả năng một giải thuật khai phá dữ liệu có thể tìm thấy
các mẫu giả.Biện pháp khắc phục là làm giảm kích thước tác động của bài toán và sử
dụng các tri thức biết trước để xác định các biến không phù hợp.
+ Dữ liệu động: Đặc điểm cơ bản của hầu hết các cơ sở dữ liệu là nội dung của
chúng thay đổi liên tục. Dữ liệu có thể thay đổi theo thời gian và việc khai phá dữ liệu
cũng bị ảnh hưởng bởi thời điểm quan sát dữ liệu. Ví dụ trong cơ sở dữ liệu về tình
trạng bệnh nhân, một số giá trị dữ liệu là hằng số, một số khác lại thay đổi liên tục theo
thời gian (ví dụ cân nặng và chiều cao), một số khác lại thay đổi tùy thuộc vào tình
huống và chỉ có giá trị được quan sát mới nhất là đủ (ví dụ nhịp đập của mạch). Vậy
thay đổi dữ liệu nhanh chóng có thể làm cho các mẫu khai thác được trước đó mất giá
trị. Hơn nữa, các biến trong cơ sở dữ liệu của ứng dụng đã cho cũng có thể bị thay đổi,
bị xóa hoặc là tăng lên theo thời gian. Vấn đề này được giải quyết bằng các giải pháp
tăng trưởng để nâng cấp các mẫu và coi những thay đổi như là cơ hội để khai thác
bằng cách sử dụng nó để tìm kiếm các mẫu bị thay đổi.
+ Các trường không phù hợp: Một đặc điểm quan trọng khác là tính không
thích hợp của dữ liệu, nghĩa là mục dữ liệu trở thành không thích hợp với trọng tâm
hiện tại của việc khai thác. Một khía cạnh khác đôi khi cũng liên quan đến độ phù hợp

là tính ứng dụng của một thuộc tính đối với một tập con của cơ sở dữ liệu. Ví dụ
trường số tài khoản Nostro không áp dụng cho các cá nhân.
+ Các giá trị bị thiếu: Sự có mặt hay vắng mặt của giá trị các thuộc tính dữ liệu
phù hợp có thể ảnh hưởng đến việc khai phá dữ liệu. Trong hệ thống tương tác, sự
thiếu vắng dữ liệu quan trọng có thể dẫn đến việc yêu cầu cho giá trị của nó hoặc kiểm
tra để xác định giá trị của nó.Hoặc cũng có thể sự vắng mặt của dữ liệu được coi như
một điều kiện, thuộc tính bị mất có thể được coi như một giá trị trung gian và là giá trị
không biết.
+ Các trường bị thiếu: Một quan sát không đầy đủ cơ sở dữ liệu có thể làm cho
các dữ liệu có giá trị bị xem như có lỗi. Việc quan sát cơ sở dữ liệu phải phát hiện
được toàn bộ các thuộc tính có thể dùng để giải thuật khai phá dữ liệu có thể áp dụng
nhằm giải quyết bài toán. Giả sử ta có các thuộc tính để phân biệt các tình huống đáng
quan tâm.Nếu chúng không làm được điều đó thì có nghĩa là đã có lỗi trong dữ liệu.
Đối với một hệ thống học để chuẩn đoán bệnh sốt rét từ một cơ sở dữ liệu bệnh nhân
9
thì trường hợp các bản ghi của bệnh nhân có triệu chứng giống nhau nhưng lại có các
chuẩn đoán khác nhau là do trong dữ liệu đã bị lỗi. Đây cũng là vấn đề thường xảy ra
trong cơ sở dữ liệu kinh doanh.Các thuộc tính quan trọng có thể sẽ bị thiếu nếu dữ liệu
không được chuẩn bị cho việc khai phá dữ liệu.
+ Độ nhiễu và không chắc chắn: Đối với các thuộc tính đã thích hợp, độ nghiêm
trọng của lỗi phụ thuộc vào kiểu dữ liệu của các giá trị cho phép. Các giá trị của các
thuộc tính khác nhau có thể là các số thực, số nguyên, chuỗi và có thể thuộc vào tập
các giá trị định danh. Các giá trị định danh này có thể sắp xếp theo thứ tự từng phần
hoặc đầy đủ, thậm chí có thể có cấu trúc ngữ nghĩa.
Một yếu tố khác của độ không chắc chắn chính là tính kế thừa hoặc độ chính
xác mà dữ liệu cần có, nói cách khác là độ nhiễu của dữ liệu. Dựa trên việc tính toán
trên các phép đo và phân tích có ưu tiên, mô hình thống kê mô tả tính ngẫu nhiên được
tạo ra và được sử dụng để định nghĩa độ mong muốn và độ dung sai của dữ liệu.
Thường thì các mô hình thống kê được áp dụng theo cách đặc biệt để xác định một
cách chủ quan các thuộc tính để đạt được các thống kê và đánh giá khả năng chấp

nhận của các (hay tổ hợp các) giá trị thuộc tính. Đặc biệt là với dữ liệu kiểu số, sự
đúng đắn của dữ liệu có thể là một yếu tố trong việc khai phá. Ví dụ như trong việc đo
nhiệt độ cơ thể, ta thường cho phép chênh lệch 0.1 độ. Nhưng việc phân tích theo xu
hướng nhạy cảm nhiệt độ của cơ thể lại yêu cầu độ chính xác cao hơn. Để một hệ
thống khai thác có thể liên hệ đến xu hướng này để chuẩn đoán thì lại cần có một độ
nhiễu trong dữ liệu đầu vào.
+ Mối quan hệ phức tạp giữa các trường: các thuộc tính hoặc các giá trị có cấu trúc
phân cấp, các mối quan hệ giữa các thuộc tính và các phương tiện phức tạp để diễn tả tri
thức về nội dung của cơ sở dữ liệu yêu cầu các giải thuật phải có khả năng sử dụng một
cách hiệu quả các thông tin này. Ban đầu, kỹ thuật khai phá dữ liệu chỉ được phát triển
cho các bản ghi có giá trị thuộc tính đơn giản. Tuy nhiên, ngày nay người ta đang tìm cách
phát triển các kỹ thuật nhằm rút ra mối quan hệ giữa các biến này.
Ngoài các vấn đề về cơ sở dữ liệu nói trên, còn có một số vấn đề khác như:
+ “Quá phù hợp” (Overfitting): Khi một giải thuật tìm kiếm các tham số tốt
nhất cho một mô hình nào đó sử dụng một tập dữ liệu hữu hạn, nó có thể sẽ bị tình
trạng “quá độ” dữ liệu (nghĩa là tìm kiếm quá mức cần thiết gây ra hiện tượng chỉ phù
hợp với các dữ liệu đó mà không có khả năng đáp ứng cho các dữ liệu lạ), làm cho mô
hình hoạt động rất kém đối với các dữ liệu thử. Các giải pháp khắc phục bao gồm đánh
10
giá chéo (cross-validation), thực hiện theo nguyên tắc nào đó hoặc sử dụng các biện
pháp thống kê khác.
+ Đánh giá tầm quan trọng thống kê: Vấn đề (liên quan đến overfitting) xảy ra
khi một hệ thống tìm kiếm qua nhiều mô hình. Ví dụ như nếu một hệ thống kiểm tra N
mô hình ở mức độ quan trọng 0,001 thì với dữ liệu ngẫu nhiên trung bình sẽ có
N/1000 mô hình được chấp nhận là quan trọng. Để xử lý vấn đề này, ta có thể sử dụng
phương pháp điều chỉnh thống kê trong kiểm tra như một hàm tìm kiếm, ví dụ như
điều chỉnh Bonferroni đối với các kiểm tra độc lập.
+ Khả năng biểu đạt của mẫu: Trong rất nhiều ứng dụng, điều quan trọng là
những điều khai thác được phải cáng dễ hiểu với con người càng tốt. Vì vậy, các giải
pháp thường bao gồm việc diễn tả dưới dạng đồ họa, xây dựng cấu trúc luật với các đồ

thị có hướng (Gaines), biểu diễn bằng ngôn ngữ tự nhiên (Matheus et al.) và các kỹ
thuật khác nhằm biểi diễn tri thức và dữ liệu.
+ Sự tương tác với người sử dụng và các tri thức sẵn có: Rất nhiều công cụ và
phương pháp khai phá dữ liệu không thực sự tương tác với người dùng và không dễ
dàng kết hợp cùng với các tri thức đã biết trước đó. Việc sử dụng tri thức miền là rất
quan trọng trong khai phá dữ liệu. Đã có nhiều biện pháp nhằm khắc phục vấn đề này
như sử dụng cơ sở dữ liệu suy diễn để phát hiện tri thức, những tri thức này sau đó
được sử dụng để hướng dẫn cho việc tìm kiếm khai phá dữ liệu hoặc sử dụng sự phân
bố và xác suất dữ liệu trước đó như một dạng mã hóa tri thức có sẵn.
11
1.2. Các thuật toán trong phân cụm dữ liệu.
1.2.1. Khái niệm và mục tiêu của phân cụm dữ liệu.
Mục đích chính của phân cụm dữ liệu (PCDL) nhằm khám phá cấu trúc của
mỗi dữ liệu để thành lập các nhóm dữ liệu từ tập dữ liệu lớn, theo đó nó cho phép
người ta đi sâu vào phân tích và nghiên cứu cho từng cụm dữ liệu này nhằm khám phá
và tìm kiếm các thông tin tiềm ẩn, hữu ích phục vụ cho việc ra quyết định. Ví dụ
“Nhóm các khách hàng trong CSDL ngân hàng có vốn các đầu tư vào bất động sản
cao”… Như vậy, PCDL là một phương pháp xử lý thông tin quan trọng và phổ biển,
nó nhằm khám phá mối liên hệ giữa các mẫu dữ liệu bằng cách tổ chức chúng thành
các cụm.
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 đ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. Số các cụm dữ liệu ở đây có thể được xác
định trước theo kinh nghiệm hoặc có thể được tự động xác định. 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.Phân cụm dữ liệu là
một ví dụ của phương pháp học không có thầy.
Trong KPDL, người ta có thể nghiên cứu các phương pháp phân tích cụm có
hiệu quả và hiệu suất cao trong CSDL lớn. Những mục tiêu trước tiên của nghiên cứu

là tập trung vào khả năng mở rộng của các phương pháp phân cụm, tính hiệu quả của
các phương pháp phân cụm với các hình dạng phức tạp, những kĩ thuật cho phân cụm
với nhiều kiểu dữ liệu có kích cỡ lớn và những phương pháp cho PCDL tường minh và
những dữ liệu dạng số hỗn hợp trong CSDL lớn. PCDL được sử dụng rộng rãi trong
nhiều ứng dụng, bao gồm nhận dạng mẫu, phân tích dữ liệu, xử lý ảnh, nghiên cứu thị
trường
Hình 3: Ví dụ phân cụm của tập dữ liệu khách hàng thành 3 cụm
12
Vấn đề thường gặp trong PCDL là hầu hết các dữ liệu cần cho phân cụm đều có
chứa dữ liệu “nhiễu” do quá trình thu thập thiếu chính xác hoặc thiếu đầy đủ, vì cần
phải xây dựng chiến lược cho bước tiền xử lý dữ liệu nhằm khắc phục hoặc loại bỏ
“nhiễu” trước khi bước vào giai đoạn phân tích PCDL. “Nhiễu” ở đây có thể là các đối
tượng dữ liệu không chính xác hoặc các đối tượng dữ liệu khuyết thiếu thông tin về
một số thuộc tính. Một trong các kỹ thuật xử lý nhiễu phổ biến là việc thay thế giá trị
của các thuộc tính của đối tượng “nhiễu” bằng giá trị thuộc tính tương ứng của đối
tượng dữ liệu gần nhất.
Ngoài ra, dò tìm phần tử ngoại lai là một trong những hướng nghiên cứu quan
trọng trong PCDL, chức năng của nó là xác định một nhóm nhỏ các đối tượng dữ liệu
“khác thường” so với các dữ liệu khác trong CSDL - tức là đối tượng dữ liệu không
tuân theo các hành vi hoặc mô hình dữ liệu - nhằm tránh sự ảnh hưởng của chúng tới
quá trình và kết quả của PCDL. Khám phá các phần tử ngoại lai đã được phát triển và
ứng dụng trong viễn thông, dò tìm gian lận thương mại…
Tóm lại, PCDL là một vấn đề khó vì người ta phải đi giải quyết các vấn đề con
cơ bản như sau:
- Biểu diễn dữ liệu.
- Xây dựng hàm tính độ tượng tự.
- Xây dựng các tiêu chuẩn phân cụm.
- Xây dựng mô hình cho cấu trúc cụm dữ liệu.
- Xây dựng thuật toán phân cụm và xác lập các điều kiện khởi tạo.
- Xây dựng các thủ tục biểu diễn và đánh giá kết quả phân cụm.

Theo các nghiên cứu thì đến nay chưa có một phương pháp phân cụm tổng quát
nào có thể giải quyết trọn vẹn cho tất cả các dạng cấu trúc cụm dữ liệu.Hơn nữa, các
phương pháp phân cụm cần có cách thức biểu diễn cấu trúc các cụm dữ liệu khác
nhau, với mỗi cách thức biểu diễn khác nhau sẽ có một thuật toán phân cụm phù
hợp.PCDL đang là vấn đề mở và khó vì người ta cần phải đi giải quyết nhiều vấn đề
cơ bản như đã đề cập ở trên một cách trọn vẹn và phù hợp với nhiều dạng dữ liệu khác
nhau. Đặc biệt đối tượng với dữ liệu hỗn hợp, đang ngày càng tăng trưởng không
ngừng trong các hệ quản trị dữ liệu, đây cũng là một trong những thách thức lớn trong
lĩnh vực KPDL trong những thập kỷ tiếp theo và đặc biệt trong lĩnh vực KPDL
bằng phương pháp phân cụm dữ liệu.
Mục tiêu của phân cụm là xác định được bản chất nhóm trong tập dữ liệu chưa
13
có nhãn.Nó có thể được chỉ ra rằng không có tiêu chuẩn tuyệt đối “tốt” mà có thể
không phụ thuộc vào kết quả phân cụm. Vì vậy nó đòi hỏi người sử dụng phải cung
cấp tiêu chuẩn này, theo cách mà kết quả phân cụm sẽ đáp ứng yêu cầu.
1.2.2. Các ứng dụng của phân cụm dữ liệu.
Phân cụm dữ liệu là một công cụ quan trọng trong một số ứng dụng. Sau đây là
một số ứng dụng của nó:
• Giảm dữ liệu: Giả sử ta có một lượng lớn dữ liệu (N). Phân cụm sẽ nhóm các dữ liệu
này thành m cụm dữ liệu dễ nhận thấy và m << N. Sau đó xử lý mỗi cụm như một đối
tượng đơn.
• Rút ra các giả thuyết: Các giả thuyết này có liên quan đến tính tự nhiên của dữ liệu và
phải được kiểm tra bởi việc dùng một số tập dữ liệu khác.
• Kiểm định giả thuyết: Ta sẽ phân cụm để xét xem có tồn tại một tập dữ liệu nào đó
trong tập dữ liệu thoả mãn các giả thuyết đã cho hay không. Chẳng hạn xem xét giả
thuyết sau đây: “Các công ty lớn đầu tư ra nước ngoài“. Để kiểm tra, ta áp dụng kỹ
thuật phân cụm với một tập đại diện lớn các công ty. Giả sử rằng mỗi công ty được đặc
trưng bởi tầm vóc, các hoạt động ở nước ngoài và khả năng hoàn thành các dự án. Nếu
sau khi phân cụm, một cụm các công ty được hình thành gồm các công ty lớn và có
vốn đầu tư ra nước ngoài (không quan tâm đến khả năng hoàn thành các dự án) thì giả

thuyết đó được củng cố bởi kỹ thuật phân cụm đã thực hiện.
• Dự đoán dựa trên các cụm: Đầu tiên ta sẽ phân cụm một tập dữ liệu thành các cụm
mang đặc điểm của các dạng mà nó chứa. Sau đó, khi có một dạng mới chưa biết ta sẽ
xác định xem nó sẽ có khả năng thuộc về cụm nào nhất và dự đoán được một số đặc
điểm của dạng này nhờ các đặc trưng chung của cả cụm.
Cụ thể hơn, phân cụm dữ liệu đã được áp dụng cho một số ứng dụng điển hình
trong các lĩnh vực sau:
• Thương mại: Trong thương mại, phân cụm có thể giúp các thương nhân khám phá ra
các nhóm khách hàng quan trọng có các đặc trưng tương đồng nhau và đặc tả họ từ các
mẫu mua bán trong cơ sở dữ liệu khách hàng.
• Sinh học: Trong sinh học, phân cụm được sử dụng để xác định các loại sinh vật, phân
loại các Gen với chức năng tương đồng và thu được các cấu trúc trong các mẫu.
• Phân tích dữ liệu không gian: Do sự đồ sộ của dữ liệu không gian như dữ liệu thu được
từ các hình ảnh chụp từ vệ tinh các thiết bị y học hoặc hệ thống thông tin địa lý (GIS),
…làm cho người dùng rất khó để kiểm tra các dữ liệu không gian một cách chi tiết.
14
Phân cụm có thể trợ giúp người dùng tự động phân tích và xử lý các dữ liệu không gian
như nhận dạng và chiết xuất các đặc tính hoặc các mẫu dữ liệu quan tâm có thể tồn tại
trong cơ sở dữ liệu không gian.
• Lập quy hoạch đô thị: Nhận dạng các nhóm nhà theo kiểu và vị trí địa lý, … nhằm
cung cấp thông tin cho quy hoạch đô thị.
• Nghiên cứu trái đất:Phân cụm để theo dõi các tâm động đất nhầm cung cấp thông tin
cho nhận dạng các vùng nguy hiểm.
• Địa lý: Phân lớp các động vật và thực vật và đưa ra đặc trưng của chúng
• Web Mining: Phân cụm có thể khám phá các nhóm tài liệu quan trọng, có
nhiều ý nghĩa trong môi trường Web. Các lớp tài liệu này trợ giúp cho việc khám phá
tri thức từ dữ liệu,…
1.2.3. Các yêu cầu của phân cụm dữ liệu.
Phân cụm là một thách thức trong lĩnh vực nghiên cứu ở chỗ những ứng dụng
tiềm năng của chúng được đưa ra ngay chính trong những yêu cầu đặc biệt của

chúng.Sau đây là những yêu cầu cơ bản của phân cụm trong KPDL.
• Có khả năng mở rộng: Nhiều thuật toán phân cụm làm việc tốt với những tập dữ liệu
nhỏ chứa ít hơn 200 đối tượng, tuy nhiên, một cơ sở dữ liệu lớn có thể chứa tới hàng
triệu đối tượng. Việc phân cụm với một tập dữ liệu lớn có thể làm ảnh hưởng tới kết
quả. Vậy làm cách nào để chúng ta có thể phát triển các thuật toán phân cụm có khả
năng mở rộng cao đối với các cơ sở dữ liệu lớn?
• Khả năng thích nghi với các kiểu thuộc tính khác nhau: Nhiều thuật toán được thiết kế
cho việc phân cụm dữ liệu có kiểu khoảng (kiểu số). Tuy nhiên, nhiều ứng dụng có thể
đòi hỏi việc phân cụm với nhiều kiểu dữ liệu khác nhau, như kiểu nhị phân, kiểu tường
minh (định danh –không thứ tự), và dữ liệu có thứ tự hay dạng hỗn hợp của những
kiểu dữ liệu này.
• Khám phá các cụm với hình dạng bất kỳ: Nhiều thuật toán phân cụm xác định các cụm
dựa trên các phép đo khoảng cách Euclidean và khoảng cách Manhattan. Các thuật
toán dựa trên các phép đo như vậy hướng tới việc tìm kiếm các cụm hình cầu với mật
độ và kích cỡ tương tự nhau. Tuy nhiên, một cụm có thể có bất cứ một hình dạng nào.
Do đó, việc phát triển các thuật toán có thể khám phá ra các cụm có hình dạng bất kỳ
là một việc làm quan trọng.
• Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào: Nhiều thuật toán phân
cụm yêu cầu người dùng đưa vào những tham số nhất định trong phân tích phân cụm
15
(như số lượng các cụm mong muốn). Kết quả của phân cụm thường khá nhạy cảm với
các tham số đầu vào. Nhiều tham số rất khó để xác định, nhất là với các tập dữ liệu có
lượng các đối tượng lớn. Điều này không những gây trở ngại cho người dùng mà còn
làm cho khó có thể điều chỉnh được chất lượng của phân cụm.
• Khả năng thích nghi với dữ liệu nhiễu: Hầu hết những CSDL thực đều chứa đựng dữ
liệu ngoại lai, dữ liệu lỗi, dữ liệu chưa biết hoặc dữ liệu sai. Một số thuật toán phân
cụm nhạy cảm với dữ liệu như vậy và có thể dẫn đến chất lượng phân cụm thấp.
• Ít nhạy cảm với thứ tự của các dữ liệu vào: Một số thuật toán phân cụm nhạy cảm với
thứ tự của dữ liệu vào, ví dụ như với cùng một tập dữ liệu, khi được đưa ra với các thứ
tự khác nhau thì với cùng một thuật toán có thể sinh ra các cụm rất khác nhau. Do đó,

việc quan trọng là phát triển các thuật toán mà ít nhạy cảm với thứ tự vào của dữ liệu.
• Số chiều lớn: Một CSDL hoặc một kho dữ liệu có thể chứa một số chiều hoặc một số
các thuộc tính. Nhiều thuật toán phân cụm áp dụng tốt cho dữ liệu với số chiều thấp,
bao gồm chỉ từ hai đến 3 chiều. Người ta đánh giá việc phân cụm là có chất lượng tốt
nếu nó áp dụng được cho dữ liệu có từ 3 chiều trở lên. Nó là sự thách thức với các đối
tượng dữ liệu cụm trong không gian với số chiều lớn, đặc biệt vì khi xét những không
gian với số chiều lớn có thể rất thưa và có độ nghiêng lớn.
• Phân cụm ràng buộc: Nhiều ứng dụng thực tế có thể cần thực hiện phân cụm dưới các
loại ràng buộc khác nhau. Một nhiệm vụ đặt ra là đi tìm những nhóm dữ liệu có trạng
thái phân cụm tốt và thỏa mãn các ràng buộc.
• Dễ hiểu và dễ sử dụng: Người sử dụng có thể chờ đợi những kết quả phân cụm dễ
hiểu, dễ lý giải và dễ sử dụng. Nghĩa là, sự phân cụm có thể cần được giải thích ý
nghĩa và ứng dụng rõ ràng.
Với những yêu cầu đáng lưu ý này, nghiên cứu của ta về phân tích phân cụm
diễn ra như sau: Đầu tiên, ta nghiên cứu các kiểu dữ liệu khác và cách chúng có thể
gây ảnh hưởng tới các phương pháp phân cụm. Thứ hai, ta đưa ra một cách phân loại
chung trong các phương pháp phân cụm. Sau đó, ta nghiên cứu chi tiết mỗi phương
pháp phân cụm, bao gồm các phương pháp phân hoạch, phân cấp, dựa trên mật độ,
Ta cũng khảo sát sự phân cụm trong không gian đa chiều và các biến thể của các
phương pháp khác.
1.2.4. Một số kỹ thuật tiếp cận trong phân cụm dữ liệu.
Có nhiều cách tiếp cận và các ứng dụng trong thực tế nhưng tất cả đều hướng
tới hai mục tiêu chung đó là chất lượng của các cụm khám phá được và tốc độ thực
hiện các thuật toán. Tuy nhiên có thể phân loại thành từng loại cơ bản dựa trên phân
16
loại các phương pháp. Hiện nay, các kỹ thuật phân cụm có thể phân loại theo các cách
tiếp cận chính sau:
 Phương pháp phân cụm phân hoạch
Kỹ thuật này phân hoạch một tập hợp dữ liệu có n phần tử thành k nhóm cho
đến khi xác định số các cụm được thiết lập.Phương pháp này tốt với việc tìm các cụm

hình cầu trong không gian Euclidean.
Phương pháp này cũng phụ thuộc vào khoảng cách cơ bản giữa các điểm để lựa
chọn các điểm dữ liệu có quan hệ là gần nhau với mỗi điểm khác và các điểm dữ liệu
nào không có quan hệ hoặc có quan hệ là xa nhau so với điểm khác.
Nhược điểm:
Phương pháp này không thể xử lí các cụm có hình dạng kỳ quặc hoặc các cụm
có mật độ các điểm dầy đặc.
Các thuật toán phân hoạch dữ liệu 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 đề Phân cụm dữ liệu do nó phải tìm kiếm tất cả các cách phân hoạch
có thể được.Trên thực tế 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ụm cũng như để hướng dẫn cho
quá trình tìm kiếm phân hoạch dữ liệu. Ý tưởng chính của thuật toán phân hoạch tối ưu
cục bộ là sử dụng chiến lược ăn tham (Greedy) để tìm kiếm nghiệm.
Lớp các thuật toán phân cụm phân hoạch bao gồm các thuật toán đề xuất đầu
tiên trong lĩnh vực KPDL cũng là thuật toán được áp dụng nhiều trong thực tế như k-
means, k-medoids, PAM, CLARA, CLARANS, …
Thuật toán K-means là một trong những thuật toán phổ biến nhất. Nó căn cứ
vào khoảng cách giữa các đối tượng để phân cụm. Các đối tượng được xếp vào một
cụm dựa trên khoảng cách từ chúng tới tâm cụm.Trong thuật toán này, chúng ta chọn
một giá trị cho k (số các cụm mong muốn), sau đó chọn ngẫu nhiên k đối tượng làm k
cụm ban đầu. Tiếp theo ta tính toán khoảng cách giữa từng đối tượng với k cụm này.
Căn cứ vào khoảng cách tính được để xếp từng đối tượng vào cụm thích hợp. Sau khi
phân cụm, ta lại tìm tâm mới cho từng cụm.Quá trình này được lặp lại cho đến khi tâm
các cụm ổn định.Thuật toán này có một vài phiên bản, phân biệt với nhau bằng hàm
tính khoảng cách.Thuật toán K-means thích hợp với các cụm dữ liệu có dạng hình cầu
và tròn.Tuy nhiên, K-means tỏ ra rất nhạy cảm với nhiễu và các phần tử ngoại lai.
Thuật toán tiếp theo là K-medoids. Thuật toán này sử dụng phương pháp khác
17
so với thuật toán K-means để tính trọng tâm của cụm, nhằm khắc phục ảnh hưởng của
nhiễu và các phần tử ngoại lai.Thuật toán này dùng đối tượng nằm ở vị trí trung tâm

nhất của cụm làm trung tâm.Phần tử này gọi là medoid của cụm đó. Mỗi khi một cụm
được bổ sung một phần tử mới, một medoid được lựa chọn dựa trên các hàm chi phí để
đảm bảo rằng chất lượng phân cụm luôn được cải thiện. Cách tiếp cận này giúp K-
medoid giảm nhẹ ảnh hưởng của nhiễu và các phần tử ngoại lai, nhưng cũng làm tăng
thời gian tính toán so với K-means.
Một biến thể khác của K-medoids là PAM (Partitioning Around Medoids), trong
đó việc lựa chọn phần tử medoid phải thỏa mãn điều kiện sai số bình phương là nhỏ
nhất. Chất lượng phân cụm của PAM khá tốt, nhưng thời gian thực hiện lâu hơn so với
K-means và K-medoids.Tuy nhiên, PAM tỏ ra không thích hợp đối với tập dữ liệu lớn.
 Phương pháp phân cụm phân cấp
Ý tưởng của phương pháp này là 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 theo kỹ thuật đệ quy. Có hai
cách tiếp cận phổ biến của kỹ thuật này đó là:
- Hòa nhập nhóm, thường được gọi là tiếp cận Bottom-Up
- Phân chia nhóm, thường được gọi là tiếp cận Top-Down
Phương pháp Bottom-Up: phương pháp này bắt đầu xuất phát với mỗi đối
tượng dữ liệu được khởi tạo tương ứng với các cụm riêng biệt và sau đó tiến hành
nhóm các đối tượng theo một độ đo tương tự (như khoảng cách giữa hai trung tâm của
hai nhóm), quá trình này được thực hiện cho đến khi tất cả các nhóm được hòa nhập
vào một nhóm (mức cao nhất của cây phân cấp) hoặc cho đến khi các điều kiện kết
thúc thỏa mãn. Như vậy, cách tiếp cận này sử dụng chiến lược ăn tham trong quá trình
phân cụm.
Phương pháp Top-Down: Bắt đầu với trạng thái là tất cả các đối tượng dữ liệu
được sắp xếp trong cùng một cụm và phương pháp này tiến hành chia nhỏ các cụm.
Mỗi vòng lặp thành công, một cụm được tách ra thành các cụm nhỏ hơn theo giá trị
của một phép đo tương tự nào đó cho đến khi mỗi đối tượng dữ liệu là một cụm riêng
biệt hoặc cho đến khi điều kiện dừng thỏa mãn. Cách tiếp cận này sử dụng chiến lược
chia để trị trong quá trình phân cụm.
Sau đây là minh họa chiến lược phân cụm phân cấp Bottom up và Top down:

18
Hình 4 : Các chiến lược phân cụm phân cấp
Trong thực tế áp dụng, có nhiều trường hợp người ta kết hợp cả hai phương
pháp phân cụm phân hoạch và phân cụm phân cấp, nghĩa là kết quả thu được của
phương pháp phân cấp có thể cải tiến thông qua bước phân cụm phân hoạch. Phân
cụm phân hoạch và phân cụm phân cấp là hai phương pháp PCDL cổ điển, hiện đã có
rất nhiều thuật toán cải tiến dựa trên hai phương pháp này đã được áp dụng phổ biến
trong KPDL. Phương pháp này bao gồm các thuật toán AGNES, DIANA, BIRCH,
CURE, ROCK, Chemeleon,
 Phương pháp phân cụm dựa trên mật độ
Kỹ thuật này nhóm các đối tượng dữ liệu dựa trên hàm mật độ xác định, mật độ
là số các đối tượng lân cận của một đối tượng dữ liệu theo một nghĩa nào đó.Với cách
tiếp cận này, khi dữ liệu đã được xác định thì nó tiếp tục phát triển thêm các đối tượng
dữ liệu mới miễn là số các đối tượng lân cận này phải lớn hơn một ngưỡng đã được
xác định trước. Phương pháp phân cụm dựa vào mật độ của các đối tượng để xác định
các cụm dữ liệu và có thể phát hiện ra các cụm dữ liệu với nhiều hình dạng bất kỳ.Tuy
vậy, việc xác định các tham số mật độ của thuật toán rất khó khăn, trong khi các tham
số này lại có thể tác động rất lớn đến kết quả của PCDL.
Ưu điểm:
Phát hiện ra được các cụm dữ liệu với hình thù bất kỳ.
Khắc phục được phần tử ngoại lai hoặc trị nhiễu tốt.
Nhược điểm:
Việc xác định các tham số mật độ của thuật toán là khó khăn trong khi các tham
số này lại có tác động rất lớn đến kết quả phân cụm.
 Phương pháp phân cụm dựa trên lưới
19
Kỹ thuật phân cụm dựa trên mật độ không thích hợp với dữ liệu nhiều chiều, để
giải quyết cho đòi hỏi này, người ta đã sử dụng phương pháp phân cụm dựa trên
lưới.Đây là phương pháp dựa trên cấu trúc dữ liệu lưới để PCDL, phương pháp này
chủ yếu tập trung áp dụng cho lớp dữ liệu không gian.Phương pháp này thích hợp với

dữ liệu nhiều chiều, dựa trên cấu trúc dữ liệu để phân cụm, nó chủ yếu tập trung áp
dụng cho lớp dữ liệu không gian.
Mục tiêu của phương pháp:
- Lượng hóa các dữ liệu thành các ô tạo thành cấu trúc dữ liệu lưới.
- Các thao tác phân cụm chỉ cần làm việc với các đối tượng trong từng ô trên lưới chứ
không phải các đối tượng dữ liệu.
- Cách tiếp cận này không di chuyển các đối tượng trong các ô mà xây dựng nhiều mức
phân cấp của nhóm các đối tượng trong một ô.
- Phương pháp này gần giống với phương pháp phân cụm phân cấp nhưng chúng không
trộn các ô.
Ưu điểm:
Khắc phục yêu cầu đối với dữ liệu nhiều chiều mà phương pháp phân cụm dựa
trên mật độ không giải quyết được.
Thời gian xử lý nhanh và độc lập đối với một số đối tượng dữ liệu trong tập dữ
liệu ban đầu. Chúng phụ thuộc vào số ô trong mỗi chiều của không gian lưới.
 Phân cụm dựa trên mô hình
Ý tưởng của phương pháp:
- 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.
- Có thể sử dụng chiến lược phân cụm phân hoạch hoặc phân 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.
- 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.
Phương pháp có hai cách tiếp cận chính:
 Mô hình thống kê
 Mạng nơron
Phương pháp này gần giống với phương pháp phân cụm dựa trên mật độ vì
chúng phát triển các cụm riêng biệt nhằm cải tiến các mô hình đã được xác định trước
đó, có 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

20
niệm mật độ cho các cụm.
 Phân cụm có dữ liệu ràng buộc
Sự phát triển của PCDL không gian trên CSDL lớn đã cung cấp nhiều công cụ
tiện lợi cho phân tích thông tin địa lý, tuy nhiên hầu hết các thuật toán này cung cấp rất
ít cách thức cho người dùng để xác định các ràng buộc trong thế giới thực cần phải
được thoả mãn trong quá trình phân cụm. Để PCDL không gian hiệu quả hơn, các
nghiên cứu bổ sung cần được thực hiện để cung cấp cho người dùng khả năng kết hợp
các ràng buộc trong thuật toán phân cụm.
Các thuật toán trên hầu hết cung cấp ít cách thức cho người dùng để xác định
các ràng buộc trong thế giới thực cần phải thỏa mãn quá trình phân cụm. Vì vậy, để
phân cụm dữ liệu không gian hiệu quả hơn, các nghiên cứu bổ sung cần được thực
hiện để cung cấp cho người dùng khả năng kết hợp các ràng buộc trong thuật toán
phân cụm.
Hình 5: Các cách mà cụm có thể đưa ra
1.3. Một số thuật toán cơ bản trong phân cụm phân hoạch.
1.3.1. Thuật toán phân cụm phân hoạch.
Thuật toán K-means.
Thuật toán phân cụm K-means do MacQueen đề xuất lĩnh vực thống kê năm
1967, K-means là thuật toán phân cụm trong đó các cụm được định nghĩa bởi trọng
tâm của các phần tử. Phương pháp này dựa trên độ đo khoảng cách tới giá trị trung
bình 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. Tư
tưởng chính của thuật toán K-Means là tìm cách phân nhóm các đối tượng (objects) đã
cho vào K cụm (K là số các cụm được xác định trước, K nguyên dương) sao cho tổng
bình phương khoảng cách giữa các đối tượng đến tâm nhóm là nhỏ nhất.
Mục đích: 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
21
n đối tượng trong không gian d chiều X
i
= (x
i1
,x
i2, …,
x
id
) )(i=1 n), sao cho hàm tiêu
chuẩn:

=


−=
k
i
i
Cx
m
i
x
D
E
1
)(
2

(1.3.1) đạt giá trị tối thiể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 ( khoảng cách Euclide)
Thuật toán K-Means được mô tả như sau:
Thuật toán K-Means được thực hiện qua các bước sau:
InPut :Số cụm k và các trọng tâm cụm {m
j
}
k
j=1
;
OutPut :Các cụm C[i] với 1<=i<=k và hàm tiêu chuẩn E đạt giá trị tối thiểu
- Bước 1: Khởi tạo: Chọn k trọng tâm {m
j
}
k
j=1
ban đầu trong không gian R
d
(d là số
chiều của dữ liệu, việc chọn có thể ngẫu nhiên hoặc theo kinh nghiệm)
- Bước 2: Tính toán khoảng cách: Đối với mỗi điểm X
i
(1<=i<=n), tính toán khoảng
cách của nó tới mỗi trọng tâm m
j
(1<=j<=k)

Tìm trọng tâm gần nhất đối với mỗi điểm.
- Bước 3: Cập nhật lại trọng tâm: Đối với mỗi 1<=j<=k, cập nhật trọng tâm cụm m
j
bằng các xác định trung bình cộng của các vectơ đối tượng dữ liệu.
- Bước 4: Điều kiện dừng: Lặp các bước 2 và 3 cho đến khi các trọng tâm của cụm
không thay đổi.
Nhận xét: Độ phức tạp của thuật toán là
( )
TknO
với T là số lần lặp, n số đối
tượng của tập dữ liệu đưa vào.
Ưu điểm:
Độ phức tạp nhỏ: O(nkd.t), với :d là số chiều, t số vòng lặp.
K-means phân tích phân cụm đơn giản nên có thể áp dụng đối với tập dữ liệu lớn.
22
Nhược điểm:
K-means không có khả năng tìm ra các cụm không lồi hoặc các cụm có hình
dạng phức tạp, chỉáp dụng với dữ liệu số.Nó không khắc phục được nhiễu và các phần
tử ngoại lai.
Chất lượng phân cụm phụ thuộc vào nhiều tham số đầu vào như: số cụm k và k
trọng tâm khởi tạo ban đầu. Số lượng và các tham số là do người dùng nhập, trong
trường hợp các trọng tâm khởi tạo ban đầu mà quá chênh lệch so với trong tâm của
cụm tự nhiên thì kết quả phân cụm của 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 thực tế.
Số lượng và các tham số là do người dùng nhập, nên nếu đầu vào khác nhau thì
kết quả các cụm sẽ khác nhau.
Ngoài thuật toán K-Means ra, phân cụm phân hoạch còn bao gồm một số các
thuật toán khác nhau như: Thuật toán PAM, thuật toán CLARA, thuật toán
CLARANS.
1.3.2. Thuật toán phân cụm trừ.

Thuật toán phân cụm trừ được Chiu đưa ra năm 1993 . Thuật toán phân cụm trừ
được xây dựng trên cơ sở thuật toán phân cụm Mountain với việc đưa ra hàm tính mật
độ để tính toán khả năng trở thành tâm cụm cho từng mẫu dữ liệu dựa vào vị trí của
mẫu dữ liệu này với tất cả các mẫu còn lạị. Giải thuật này chỉ xem xét đến từng mẫu
dữ liệu mà không cần xét đến các thành phần của mẫu điều này làm cho giải thuật trở
nên đơn giản hơn nhiều so với giải thuật Mountain và tốc độ tính toán được cải thiện
đáng kể . Đến năm 2005, Kim và một số người khác đã cải tiến thuật toán phân cụm
trừ bằng cách đưa hàm Kernel vào tính toán hàm mật độ và đến năm 2008 JunYing
Chen, Zheng Qin and Ji Jia đã đưa ra giải thuật phân cụm trừ trung bình trọng số.
Giải thuật phân cụm trừ (subtractive clustering) xác định các tâm cụm dựa trên
mật độ các điểm lân cận. Xét một tập hợp dữ liệu gồm n điểm:
{ }
1 2 n
, , ,X x x x=
Hàm tính mật độ cho một điểm dữ liệu là:
(1.3.2)
Trong đó:
23
• P
i
: Mật độ các điểm bao quanh điểm dữ liệu thứ i.
• r
a
: là một hằng số dương hay còn gọi là bán kính cụm.

.
: khoảng cách Euclid giữa điểm dữ liệu thứ i với các điểm bao quanh
Khi mật độ của tất cả các điểm dữ liệu đã được tính, lựa chọn điểm có mật độ
lớn nhất làm tâm cụm thứ nhất. Gọi
*

1
x
là vị trí tâm cụm đầu tiên, có mật độ là
*
1
P
thì
*
1
1
ax
n
i
i
P m P
=
=
.
Tính lại mật độ cho các điểm dữ liệu theo công thức:
2
*
1
2
4
*
1
; 1, ,
i
b
x x

r
i i
P P P e i n
- -
= - =
(1.3.3)

b
r
thường được chọn là
1.5
b a
r r=
và tiếp tục chọn điểm có mật độ lớn nhất
làm tâm cụm thứ 2.
Trong trường hợp tổng quát khi đã có k tâm cụm thì mật độ của các điểm dữ
liệu còn lại được tính theo công thức:
2
*
2
4
*
; 1, ,
i k
b
x x
r
i i k
P P P e i n
- -

= - =
(1.3.4)
Sử dụng 2 điểm cận với cận dưới
ef
*
r
P
e
và cận trên
ef
*
r
P
e
, với P
ref
là mật độcủa
tâm cụm thứ k, trong đó
e

e
lần lượt được gọi là hằng số chấp nhận và hằng số từ
chối, thường được chọn lần lượt là 0.5 và 0.15. Một tâm cụm mới được chọn nếu điểm
đó có mật độ lớn hơn cận trên. Nếu điểm có mật độ lớn nhất nhỏ hơn cận dưới thì
thuật toán dừng.
Nếu điểm có mật độ lớn nhất nằm giữa hai cận thì khoảng cách giữa điểm đó
với các tâm cụm đã được xác định trước đó sẽ quyết định xem điểm đó có trở thành
tâm cụm mới hay không.
24
CHƯƠNG 2: ÁP DỤNG TRONG BÀI TOÁN PHÂN CỤM

KHÁCH HÀNG.
2.1. Khảo sát bài toán:
Sự phát triển nhanh chóng của các ứng dụng công nghệ thông tin (CNTT) và
Internet vào nhiều lĩnh vực đời sống xã hội: quản lý kinh tế, khoa học kỹ thuật đã tạo
ra nhiều cơ sở dữ liệu khổng lồ. Ví dụ như cơ sơ dữ liệu của siêu thị Walmart chứa hơn
10 triệu giao tác.Sự phong phú của dữ liệu, cùng với việc thiếu vắng một công cụ phân
tích dữ liệu mạnh đã được miêu tả như là một hoàn cảnh giàu dữ liệu nhưng nghèo
thông tin. Hậu quả là các quyết định quan trọng thường được được ra không dựa trên
dữ liệu giàu thông tin được lưu trữ trong cơ sở dữ liệu mà dựa trên cảm tính của nhà
đưa ra quyết định, đơn giản là vì người đưa ra quyết định không có công cụ để triết ra
tri thức có giá trị được nhúng trong lượng lớn dữ liệu. Theo đánh giá của IBM
( International Business Machines, là tập đoàn công nghệ máy tính đa Quốc gia có trụ
sở tại Mỹ) thì các phương pháp khai phá thông tin truyền thông chỉ thu được khoảng
80% thông tin từ cơ sở dữ liệu, phần còn lại bao gồm thông tin mang tính khái quát,
thông tin có tính quy luật vẫn còn tiềm ẩn trong cơ sở dữ liệu. Lượng thông tin này tuy
nhỏ nhưng là những thông tin cốt lõi cần thiết cho quá trình ra quyết định.
Trong bài thực tập này em đã sử dụng phương pháp phân cụm trong khai phá
dữ liệu để áp dụng cho bài toán của siêu thị Walmart, cơ sở dữ liệu em lấy từ hệ thống
của siêu thị và lưu trữ trong phần mềm SQL Sever 2005 để giúp cho việc khai phá trở
nên dễ dàng và hiệu quả hơn.
2.2. Mô tả bài toán:
Hiện nay, hầu hết các nhà lãnh đạo, các công ty, các siêu thị đều mong chờ vấn
đề kinh doanh ngày càng trở nên tốt hơn.Có rất nhiều cách khác nhau trợ giúp cho sự
phát triển đó. Tuy nhiên, trong thực tế vấn đề kinh doanh không ngừng biến động, các
nhà quản lý luôn mong muốn tìm cho công ty mình một phương pháp phù hợp và tối
ưu nhất ví dụ như họ có thể sử dụng luật kết hợp để kêt hợp giữa mặt hang này với
mặt hàng khác nhằm hỗ trợ ra quyết định của khách hàng tới các sản phẩm dịch vụ để
từ đó ban quản lý biết được thị hiếu của khách hàng sẽ giúp cho việc kinh doanh được
tiến triển hơn. Trong thực tập lần này em đã lựa chọn bài toán phân cụm khách hàng
cho siêu thi Walmart.

25

×