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

Các kỹ thuật Khái Phá dữ liệu – Xây dựng chương trình dựa vào thuật toán gom cụm 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 (472.34 KB, 25 trang )

Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc
LÔØI CAÛM ÔN
Lời đầu tiên tôi xin chân thành cám ơn thầy PGS.TS Đỗ Phúc đã giảng
dạy cho tôi những kiến thức quan trọng của môn Khai phá dữ liệu và đã
hướng dẫn tôi hoàn thành được đồ án môn học này .
Sau đó tôi chân thành cảm ơn phòng Đào tạo ĐH&SĐH của trường
Đại học CNTT đã tạo điều kiện cho tôi có những thông tin bổ ích, quan trọng
để tôi tham khảo và hoàn thành đồ án này.
Trong quá trình làm đồ án, tôi không thể tránh được những thiếu sót,
mong nhận được những ý kiến đóng góp chân thành và những lời nhận xét
của quý Thầy Cô cùng bạn bè để giúp tôi có thể tiếp tục nghiên cứu sâu hơn,
phát triển và hoàn thiện đề tài này.
HỌC VIÊN THỰC HIỆN

Trần Duy Phong
Trần Duy Phong – CH1101160 Trang 1
Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc
MỞ ĐẦU
Ngày nay, chúng ta đang sống trong thế kỷ bùng nổ về khoa học công nghệ
mà đặc biệt là sự phát triển vượt bậc về công nghệ tông tin. 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 luỹ nhiều lên. Bên cạnh đó, các thiết bị thu thập dữ
liệu tự động tương đối phát triển đã tạo ra những kho dữ liệu khổng lồ, như các dữ
liệu ngân hàng, hàng không, giáo dục.…. Cùng với sự phát triển mạnh mẽ của công
nghệ, các thiết bị lưu trữ và các thiết bị thu thập thông tin tự động đã cho phép xây
dựng được những hệ thống thông tin có khả năng tự động hoá ngày càng cao. Vấn
đề đặt ra là làm thế nào để xử lý khối lượng thông tin cực lớn như vậy để phát hiện
ra các tri thức tiềm ẩn trong núi dữ liệu khổng lồ này. Những tri thức thu được như
vậy chúng được chuyên môn hoá, phân chia theo các lĩnh vực ứng dụng như sản
xuất, kinh doanh, tài chính, nghiên cứu… Các cơ sở dữ liệu cần phải đem lại tri


thức hơn là chính dữ liệu đó.
Để hiểu hơn về vấn đề này em xin trình bày báo cáo tiểu luận môn học với đề
tài “Các kỹ thuật Khái Phá dữ liệu – Xây dựng chương trình dựa vào thuật toán
gom cụm K-Means”
Trần Duy Phong – CH1101160 Trang 2
Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc
MỤC LỤC
CHƯƠNG I : TỔNG QUAN VỀ KHAI THÁC DỮ LIỆU – DATA
MINING
CHƯƠNG II: GIỚI THIỆU VỀ KỸ THUẬT PHÂN CỤM DỮ LIỆU
BẰNG THUẬT TOÁN K-MEANS
CHƯƠNG III. XÂY DỰNG ỨNG DỤNG SỬ DỤNG THUẬT TOÁN K-
MEANS
Trần Duy Phong – CH1101160 Trang 3
Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc
CHƯƠNG I: TỔNG QUAN VỀ KHAI THÁC DỮ LIỆU – DATA
MINING
1. Tổng quan
Sự phát triển nhanh chóng 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 (CSDL) khổng lồ. Có thể lấy một vài ví dụ tiêu biểu
như CSDL siêu thị Walmart (Mỹ) chứa hơn 20 triệu giao tác bán hàng. CDSL nhân
khẩu TP. Hồ Chí Minh với hơn 5 triệu nhân khẩu. Để khai thác hiệu quả nguồn
thông tin từ các CSDL lớn hỗ trợ tiến trình ra quyết định, bên cạnh các phương
pháp khai thác thông tin truyền thống, các nhà nghiên cứu đã phát triển các phương
pháp, kỹ thuật, và phần mềm mới hỗ trợ tiến trình khám phá, phân tích tổng hợp
thông tin.
Theo đánh giá của IBM, các phương pháp khai thác thông tin truyền thống
chỉ thu được khoảng 80% thông tin từ CSDL, phần còn lại bao gồm các thông tin
mang tính chất khái quát, thông tin có tính quy luật vẫn đang còn tiềm ẩn trong dữ

liệu. Lượng thông tin này tuy nhỏ nhưng là những thông tin cốt lõi và cần thiết cho
tiến trinh ra quyết định.
Khai thác dữ liệu – Data Mining (KTDL) là tiến trình khám phá tri thức tiềm
ẩn trong các CSDL. Cụ thể hơn, đó là tiến trình trích lọc, sản sinh ra những tri thức
hoặc các mẫu tiềm ẩn, chưa biết nhưng hữu ích từ các CSDL lớn.
Khai thác dữ liệu là một khái niệm ra đời vào những năm cuối của thập kỷ
80 của thế kỷ trước. Nó bao hàm một loạt các kỹ thuật nhằm phát hiện ra các thông
tin có giá trị tiềm ẩn trong các tập dữ liệu lớn. Thật ra, khai thác dữ liệu liên quan
đến việc phân tích các dữ liệu và sử dụng các kỷ thuật để tìm ra các mẫu hình có
tính chính quy trong tập dữ liệu. Hay nó còn là một quá trình trích xuất thông tin có
mối quan hệ hoặc có mối tương quan nhất định từ một kho dữ liệu lớn nhằm mục
đích dự đoán các xu thế, các hành vi trong tương lai, hoặc tìm kiếm những thông tin
hữu ích mà bình thường không thể nhận diện được.
Trần Duy Phong – CH1101160 Trang 4
Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc
Ứng dụng của nó rất đa dạng và rộng lớn, từ marketing, chống gian lận, giảm
giá thành sản xuất, tăng doanh thu, phân tích hành vi sử dụng người dùng Internet
để tìm ra nhu cầu, đúng đối tượng hay ứng dụng hỗ trợ ra quyết định, nghiên cứu
khoa học đến việc chống khủng bố …
• Tại sao cần khai phá dữ liệu
Khai phá dữ liệu là cần thiết đối với người dùng vì những lý do sau:
Ngày càng nhiều dữ liệu được lưu trữ trong các CSDL, kho dữ liệu và hình
thành một “mỏ vàng dữ liệu” chứa đầy các thông tin chiến lược mà các hệ quản trị
CSDL thông thường không thể phát hiện và quản trị được chúng
CSDL phát triển nhanh chóng cả về kích thước lẫn số lượng. Không xét những
thông tin mang tính sự kiện được lưu trữ trong CSDL. Những thông tin được suy
diễn từ nó cũng hết sức lý thú. Tuy nhiên với các quan hệ có số lượng khổng lồ các
bản ghi (record) và có quá nhiều trường ghi (field), việc duyệt hàng triệu bản ghi
hay hàng trăm trường ghi để tìm ra các mẫu và các quy luật là một thách thức và trở
ngại thật sự đối với các nhà phân tích dữ liệu

Không phải người dùng nào cũng là nhà thống kê hay nhà phân tích dữ liệu chuyên
nghiệp
Sử dụng cho các trường hợp tìm kiếm nhưng chưa xác lập rõ hoặc chưa mô tả được
các điều kiện tìm kiếm. Nếu người dùng biết họ đang tìm kiếm gì thì dùng SQL,
nhưng nếu nguoiwf dùng chỉ có một ý tưởng không rõ ràng, hoặc một cảm nhận nào
đó thì họ nên dùng KTDL
• KTDL là một công cụ hiệu quả trong các lĩnh vực
1. Sử dụng dữ liệu để xây dựng các mô hình dự báo:
a. Khả năng dự báo tiềm ẩn trong dữ liệu
b. Gợi ý về các chiều và các nhóm dữ liệu có khả năng chứa các tri thức
hữu ích.
2. Tạo tóm tắt và báo cáo rõ ràng
a. Tự động tìm ra những phân đoạn trong dữ liệu
Trần Duy Phong – CH1101160 Trang 5
Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc
b. Tìm ra những phân đoạn mà nhà phân tích chưa biết hoặc có hiểu biết
chưa rõ ràng.
3. Cung cấp cơ chế hỗ trợ ra quyết định
a. Dự báo
b. Mô hình hóa
• Ứng dụng của Khai thác dữ liệu
Khai thác dữ liệu được ứng dụng rộng rãi trong rất nhiều lĩnh vực như
- Ngân hàng
 Xây dựng mô hình dự báo rủi ro tín dụng.
 Tìm kiếm tri thức, quy luật của thị trường chứng khoán và đầu tư bất
động sản.
- Thương mại điện tử
 Công cụ tìm hiểu, định hướng, thúc đẩy, giao tiếp với khách hàng.
 Phân tích khách hàng duyệt web.
 Phân tích hành vi mua sắm trên mạng và cho biết thông tin tiếp thị

phù hợp với loại khách hàng trong một phân khu thị trượng nhất định
- Công nghệ sinh học và dược phẩm
 Xây dụng công cụ KTDL trực quan cho phép phát hiện sự hiện diện
của dược chất, phân tích dữ liệu truyền đi
- Nhân sự
 Giúp nhà tuyển dingj chọn ứng viên thích hợp nhất theo nhu cầu của
công ty
 Phát hiện giả mạo thẻ trong lĩnh vự viễn thông
 Phát hiện dùng thẻ tín dụng giả trên mạng và là công cụ hữu ích cho
dịch vụ quản lý rủi ro cho thương mại điện tử.
 Phát hiện xâm nhập mạng trái phép
2. 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, hồi quy, phân nhóm,…
Trần Duy Phong – CH1101160 Trang 6
Nợ >= nNợ < n
Không cho vay
Thu nhập < t Thu nhập >= t
Không cho vay Cho vay
Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc
a. Phương pháp quy nạp (Induction)
Một cơ sở dữ liệu là một kho thông tin nhưng các thông tin quan trọng hơn cũng có
thể được suy diễn từ kho thông tin đó. Có hai việc chính để thực hiện việc này là
suy diễn và quy nạp.
- Phương pháp suy diễn: Nhằm rút ra thông tin là kết quả logic của các thông
tin trong cơ sở dữ liệu. Ví dụ như toán tử liên kết áp dụng cho hai bảng quan
hệ, bảng đầu chứa thông tin về các nhân viên và các phòng ban, bảng thứ hai
chứa thông tin về các phòng ban và các trưởng phòng. Như vậy sẽ suy ra mối
quan hệ giữa các nhân viên và trưởng phòng. Phương pháp suy diễn dựa trên

các sự kiện chính xác để suy ra các tri thức mới từ các thông tin cũ. Mẫu
chiết xuất được bằng cách sử dụng phương pháp này thường là các luật suy
diễn.
- Phương pháp quy nạp: Phương pháp quy nạp suy ra các thông tin được sinh
ra từ cơ sở dữ liệu. Có nghĩa là nó tự tìm kiếm, tạo mẫu và sinh ra tri thức
chứ không phải bắt đầu với các tri thức đã biết trước. Các thông tin mà
phương pháp này đem lại là các thông tin hay các tri thức cấp cao diễn tả về
các đối tượng trong cơ sở dữ liệu. Phương pháp này liên quan đến việc tìm
kiếm các mẫu trong cơ sở dữ liệu.
Trong khai phá dữ liệu, quy nạp được sử dụng trong cây quyết định và tạo
luật.
b. Cây quyết định và luật
- Cây quyết định: Cây quyết định là một mô tả tri thức dạng đơn giản nhằm
phân các đối tượng dữ liệu thành một số lớp nhất định. Các nút của cây được
gán nhãn là tên các thuộc tính, các cạnh được gán các giá trị có thể của các
thuộc tính, các lá miêu tả các lớp khác nhau. Các đối tượng được phân lớp
theo các đường đi trên cây, qua các cạnh tương ứng với giá trị của thuộc tính
của đối tượng tới lá. Hình 3.10 mô tả một mẫu đầu ra có thể của quá trình
khai phá dữ liệu khách hàng xin vay vốn.
Trần Duy Phong – CH1101160 Trang 7
Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc
- Tạo luật: Các luật được tạo ra nhằm suy diễn một số mẫu dữ liệu có ý nghĩa
về mặt thống kê. Các luật có dạng Nếu P thì Q với P là mệnh đề đúng với
phần dữ liệu trong cơ sở dữ liệu, Q là mệnh đề dự đoán. Ví dụ ta có một mẫu
phát hiện được bằng phương pháp tạo luật: Nếu giá 1 cân táo thấp hơn 5000
đồng thì số lượng táo bán ra sẽ tăng 5%. Những luật như thế này được sử
dụng rất rộng rãi trong việc miêu tả tri thức trong hệ chuyên gia. Chúng có
thuận lợi là dễ hiểu đối với người sử dụng.
Cây quyết định và luật có ưu điểm là hình thức miêu tả đơn giản, mô hình suy diễn
khá dễ hiểu đối với người sử dụng. Tuy nhiên, giới hạn của nó là miêu tả cây và luật

chỉ có thể biểu diễn được một số dạng chức năng và vì vậy giới hạn cả về độ chính
xác của mô hình. Cho đến nay, đã có rất nhiều giải thuật suy diên sử dụng các luật
và cây quyết định được áp dụng trong máy học và trong thống kê.
c. Phát hiện các luật kết hợp
Phương pháp này nhằm phát hiện ra các luật kết hợp giữa các thành phần dữ liệu
trong cơ sở dữ liệu. Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kết hợp
tìm được. Ta có thể lấy một số ví dụ đơn giản về luật kết hợp như sau: Sự kết hợp
giữa hai thành phần A và B có nghĩa là sự xuất hiện của A trong bản ghi kéo theo
sự xuất hiện của B trong cùng bản ghi đó: A ⇒ B.
Cho một lược đồ R = {A
1
,…A
p
} các thuộc tính với miền giá trị {0,1}, và một
quan hệ r trên R. Một tập luật kết hợp trên r được mô tả dưới dạng X ⇒ B với X ⊆
R và B∈R\X. Về mặt trực giác, ta có thể phát biểu ý nghĩa của luật như sau: nếu
một bản ghi của bảng r có giá trị 1 tại mỗi thuộc tính thuộc X thì giá trị của thuộc
tính B cũng là 1 trong cùng bản ghi đó. Ví dụ như ta có tập cơ sở dữ liệu về các mặt
Trần Duy Phong – CH1101160 Trang 8
Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc
hàng bán trong siêu thị, các dòng tương ứng với các ngày bán hàng, các cột tương
ứng với các mặt hàng thì giá trị 1 tại ô (20/10, bánh mì) xác định rằng bánh mì đã
được bán ngày hôm đó và cũng kéo theo sự xuất hiện giá trị 1 tại ô (20/10, bơ).
Cho W⊆R, đặt s(W,r) là tần số xuất hiện của W trong r được tính bằng tỷ lệ
của các dòng trong r có giá trị 1 tại mỗi cột thuộc W. Tần số xuất hiện của luật X ⇒
B trong r được định nghĩa là s(X∪{B},r) còn gọi là độ hỗ trợ của luật, độ tin cậy
của luật là s(X∪{B},r)/s(X,r), ở đây X có thể gồm nhiều thuộc tính, B là giá trị
không cố định. Nhờ vậy mà không xảy ra việc tạo ra các luật không mong muốn
trước khi quá trình tìm kiếm bắt đầu. Điều đó cũng cho thấy không gian tìm kiếm
có kích thước tăng theo hàm mũ của số lượng các thuộc tính ở đầu vào. Do vậy cần

phải chú ý khi thiết kế dữ liệu cho việc tìm kiếm các luật kết hợp.
Nhiệm vụ của việc phát hiện các luật kết hợp là phải tìm tất cả các luật X ⇒ B sao
cho tần số của luật không nhỏ hơn ngưỡng σ cho trước và độ tin cậy của luật không
nhỏ hơn ngưỡng θ cho trước. Từ một cơ sở dữ liệu ta có thể tìm được hàng nghìn
thậm chí hàng trăm nghìn các luật kết hợp.
Ta gọi một tập con X ⊆ R là phổ biến trong r nếu thoả mãn điều kiện s(X,r) ≥ σ.
Nếu biết tất cả các tập phổ biến trong r thì việc tìm kiếm các luật kết hợp rất dễ
dàng. Vì vậy, giải thuật tìm kiếm các luật kết hợp trước tiên đi tìm tất cả các tập phổ
biến này, sau đó tạo dựng dần các luật kết hợp bằng cách ghép dần các tập thuộc
tính dựa trên mức độ phổ biến.
Giải thuật tìm kiếm các luật kết hợp tạo ra số luật ít nhất phải bằng số các tập
thường xuyên và nếu như một tập thường xuyên có kích thước K thì phải có ít nhất
là 2
K
luật kết hợp. Thông tin về các tập thường xuyên được sử dụng để ước lượng
độ tin cậy của các tập luật kết hợp.
d. Gom cụm (clustering)
Kỹ thuật phân nhóm là kỹ thuật phân chia dữ liệu sao cho mỗi phần hoặc mỗi nhóm
giống nhau theo một tiêu chuẩn nào đó. Mối quan hệ thành viên của các nhóm có
thể dựa trên mức độ giống nhau của các thành viên và từ đó xây dựng nên các luật
ràng buộc giữa các thành viên trong nhóm. Một kỹ thuật phân nhóm khác là xây
dựng nên các hàm đánh giá thuộc tính của các thành phần như là hàm của các tham
Trần Duy Phong – CH1101160 Trang 9
Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc
số của các thành phần. Phương pháp này được gọi là phương pháp phân hoạch tối
ưu (optimal partitioning). Một ví dụ ứng dụng của phương pháp phân nhóm theo độ
giống nhau là cơ sở dữ liệu khách hàng, ứng dụng của phương pháp tối ưu ví dụ
như phân nhóm khách hàng theo số các tham số và các nhóm thuế tối ưu có được
khi thiết lập biểu thuế bảo hiểm.
Mẫu đầu ra của quá trình khai phá dữ liệu sử dụng kỹ thuật này là các tập mẫu chứa

các dữ liệu có chung những tính chất nào đó được phân tách từ cơ sở dữ liệu. Khi
các mẫu được thiết lập, chúng có thể được sử dụng để tái tạo các tập dữ liệu ở dạng
dễ hiểu hơn, đồng thời cũng cung cấp các nhóm dữ liệu cho các hoạt động cũng như
công việc phân tích. Đối với cơ sở dữ liệu lớn, việc lấy ra các nhóm này là rất quan
trọng.
e. Mạng neuron
Mạng neuron là một tiếp cận tính toán mới liên quan đến việc phát triển các cấu
trúc toán học với khả năng lọc. Các phương pháp là kết quả của việc nghiên cứu mô
hình học của hệ thống thần kinh con người. Mạng neuron có thể đưa ra ý nghĩa từ
các dữ liệu phức tạp hoặc không chính xác và có thể được sử dụng để chiết xuất các
mẫu và phát hiện ra các xu hướng quá phức tạp mà con người cũng như các kỹ
thuật máy tính khác không thể phát hiện được.
Khi đề cập đến khai thác dữ liệu, người ta thường đề cập nhiều đến mạng neuron.
Tuy mạng neuron có một số hạn chế gây khó khăn trong việc áp dụng và triển khai
nhưng nó cũng có những ưu điểm đáng kể. Một trong số những ưu điểm phải kể đến
của mạng neuron là khả năng tạo ra các mô hình dự đoán có độ chính xác cao, có
thể áp dụng được cho rất nhiều loại bài toán khác nhau đáp ứng được các nhiệm vụ
đặt ra của khai phá dữ liệu như phân lớp, phân nhóm, mô hình hoá, dự báo các sự
kiện phụ thuộc vào thời gian,…
Đặc điểm của mạng neuron là không cần gia công dữ liệu nhiều trước khi bắt đầu
quá trình học như các phương pháp khác. Tuy nhiên, để có thể sử dụng mạng
neuron có hiệu quả cần phải xác định các yếu tố khi thiết kế mạng như:
- Mô hình mạng là gì?
- Mạng cần có bao nhiêu nút?
Trần Duy Phong – CH1101160 Trang 10
Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc
- Khi nào thì việc học dừng để tránh bị “học quá”?
- …
Ngoài ra còn có rất nhiều bước quan trọng cần phải làm để tiền xử lý dữ liệu trước
khi đưa vào mạng neuron để mạng có thể hiểu được (ví dụ như việc chuẩn hoá dữ

liệu, đưa tất cả các tiêu chuẩn dự đoán về dạng số).
Mạng neuron được đóng gói với những thông tin trợ giúp của các chuyên gia đáng
tin cậy và được các chuyên gia đảm bảo các mô hình này làm việc tốt. Sau khi học,
mạng có thể được coi là một chuyên gia trong lĩnh vực thông tin mà nó vừa được
học.
• Những thách thức trong khai khai thác dữ liệu
Khai thác dữ liệu phải làm việc với khối lượng dữ liệu lớn và do từ nhiều nguồn
khác nhau (CSDL, Internet, các thiết bị thu nhận tín hiệu, các loại thiết bị nhận
dạng, các loại thiết bị lưu trữ như băng từ, CD…) nên vấn đề tốc độ xử lý là vấn
đề cần quan tâm trước nhất. Có hai phương hướng để giải quyết vấn đề này là
nâng cao năng lực của phần cứng và cải tiến phần mềm, trong đó việc nghiện
cứu đề xuất các thuật toán hiệu quả có khả năng làm việc trên khối lượng dữ liệu
lớn, và có độ phức tạp tính toán thấp là một hướng nghiên cứu đầy tiềm năng.
Từ nhu cầu thực tế trên, gần đây đã xuất hiện nhiều ngành khoa học công nghệ
hỗ trợ KTDL, như tính toán song song, máy tính lượng tử, công nghệ nano, khát
triển thuật toán…
Trần Duy Phong – CH1101160 Trang 11
Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc
CHƯƠNG II: GIỚI THIỆU VỀ KỸ THUẬT PHÂN CỤM DỮ LIỆU
BẰNG THUẬT TOÁN K-MEANS
Phân 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 phân 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 (clusters), sao cho các
đối tượng trong cùng 1 cụm tương tự (similar) nhau và các đối tượng khác cụm thì
không tương tự (Dissimilar) nhau.
Mục đích của phân 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 phân cụm (Clustering Algorithms) đều sinh ra các cụm (clusters). 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
phân cụm, điều này phụ thuộc vào mục đích của phân cụm như: data reduction,

“natural clusters”, “useful” clusters, outlier detection
Kỹ thuật phân cụm có thể áp dụng trong rất nhiều lĩnh vực như:
• 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;
• Biology: 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;
• Libraries: Theo dõi độc giả, sách, dự đoán nhu cầu của độc giả…;
• 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 (trend) của khách hàng, phát hiện gian lận tài
chính (identifying frauds);
• WWW: Phân loại tài liệu (document classification); phân loại người dùng
web (clustering weblog);
Trần Duy Phong – CH1101160 Trang 12
Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc
Các kỹ thuật phân cụm được phân loại như sau (xem hình)
Trần Duy Phong – CH1101160 Trang 13
Mode
Seeking
Misture
Resolving
Graph
Theoretic
Expectation
Maximization
K-Means
Square
Error
Partitional
Hierachical

Clustering
Complet
e Link
Single
Link
Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc
2. Thuật Toán K-Means
K-Means là thuật toán rất quan trọng và được sử dụng phổ biến trong kỹ thuật phân 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 đinh 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 (centroid ) là nhỏ nhất.
Thuật toán K-Means được mô tả như sau
Trần Duy Phong – CH1101160 Trang 14
Start
-
+
END
No Object move group
Centroid
Distance object to
Centroids
Grouping based on
minimum distance
Number Of Cluster K
0
1
2
3
4
5

6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10

0
1
2
3
4
5
6
7
8
9
10
0 1 2 3 4 5 6 7 8 9 10
Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc
• Thuật toán K-Means thực hiện qua các bước chính sau:
Cho k là số cụm sau khi phân hoạch. (1 k n, với n là số điểm (đối tượng) trong không
gian dữ liệu)
Thuật toán k-means gồm bốn bước:
1. Chọn ngẫu nhiên k điểm làm trọng tâm ban đầu với k cụm.
2. Gán (hoặc gán lại) từng điểm vào cụm có trọng tâm gần điểm đang xét nhất.
Nếu không có phép gán nào thì dùng lại. Vì không có phép gán lại nào có nghĩa
là các cụm đã ổn định và thuật toán không thể cải thiện làm giảm độ phân biệt
hoặc hơn nữa.
3. Tính lại trọng tâm của từng cụm.
4. Quay lại bước 2.
Minh họa thuật toán K-Means


Trần Duy Phong – CH1101160 Trang 15
Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc
Ví dụ: Cho tập điểm

X1={1,3}
X2={1.5 , 3.2}
X3= {1.3 , 2.8}
X4= {3 , 1}
Dùng k-means để gom cụm với k=2
Bước 1: Khởi tạo ma trận phân hoạch U có bốn cột ứng với bốn điểm và hai dòng ứng với
hai cụm
Bước 2: U=(m
ij
), 1 =< I =< 2 và 1 =< j =< 4
Cho n=0 (số lần lặp), tạo U0
X1 X2 X3 X4
U0= C1 1 0 0 0
C2 0 1 1 1
Bước 3: Tính vector trọng tâm
Do có 2 cụm C1,C2 nên có 2 vecto trọng tâm v1,v2
Các vecto trọng tâm:
Với vector v1 cho cụm 1:
Vậy v1 = (1,3)
Với vector v2 cho cụm 2:
Vậy v2 = (1.93 , 2.33)
Gom các đối tượng vào cụm
Tính khoảng cách Euclide từ từng điểm đến cụm c1, c2 chọn cụm có khoảng cách gần nhất
để đưa đối tượng vào cụm
Trần Duy Phong – CH1101160 Trang 16
Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc
Gom v1 vào cùm c1 vì d(x1,v1) < d(x1,v2)
Tính toán tương tự ta có
d(x2,v1) = 0.54 < d(x2,v2) = 0.97 xếp v2 vào cụm c1
d(x3,v1) = 0.36 < d(x3,v2) = 0.78 xếp x3 vào cụm c1

d(x4,v1) = 2.83 > d(x4,v2) = 1.70 xếp x4 vào cụm c2
Tăng n lên 1
Ma trận phân hoạch Un sẽ là :
X1 X2 X3 X4
U1= C1 1 1 1 0
C2 0 0 0 1
Lặp cho đến khi | Un – Un-1 | < epsilon thì dừng, nếu sai thì quay về bước 3.
Ưu và nhược điểm của thuật toán K-Means
Thuật toán K-Means có ưu điểm là đơn giản, dễ hiểu và cài đặt. Tuy nhiên, một số
hạn chế của K-Means là hiệu quả của thuật toán phụ thuộc vào việc chọn số nhóm
K (phải xác định trước) và chi phí cho thực hiện vòng lặp tính toán khoảng cách lớn
khi số cụm K và dữ liệu phân cụm lớn.
Trần Duy Phong – CH1101160 Trang 17
Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc
CHƯƠNG III. Xây DỰNG ỨNG DỤNG SỬ DỤNG THUẬT TOÁN K-
MEANS
• Giao diện
• Cài đặt thuật toán K-MEANS
 Bước 1


 !"#$%&"'()(*+,
-./"" 01(
-2./"" 01(
')2* 
$%&"3/"'"'2)*4&"15'**
!"6
!"6
Trần Duy Phong – CH1101160 Trang 18
Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc

 Bước 2:
78
$./!"#9'*
-2./"" 01(
8'0)2* :!"6;'7*
!"6
-2./"" 01(
<8'0)2* 1"
8')2* 0
=&/"
8')2* 
=<
!"6
/%."'>?@A
B>*
/%.""'*
-./"" 01
-2./"" 01(
/%."'8')2**
/%."'>>*
!"6
/%.""'*
!"6
 Bước 3:
C1D"EDFG"
"E@&H
$
1D"I
$4./$%&"')* !"#$%&"')*+,
JKH?"

$./$%&"'* !"#$%&"'*+,
Trần Duy Phong – CH1101160 Trang 19
Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc
-./"" 01(
LMN7'7@*
$./$%&" 0
$7./$%&" 0
$./$%&" 
$7./$%&" 
-2./"" 01(
 8')2*O'2)
0*
7 8')2*O'2)
*
P 
7P 7
'*P L$%&'8')2**
!"6
<'* 01"
4')0* 0
4')* 0
=&/"
4')0* ?9''Q
'**)7*
1D6R"
1DSR"
4')* ?9''7Q
'**)7*
=<
/%."'>"TIR@>

U'P*15'>0>*U>&>*
/%."'>4>U'P
*15'>0>*U>'>U4')0*U>)>U4')*U
>*>*
/%.""'*
!"6
/%.""'*
Trần Duy Phong – CH1101160 Trang 20
Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc
'8/)8*
1DFGVWXV
TI&H@
LHSVY
/%."'>1DFGV
X"IW@>*
/%.""'*
-2./"" 01(
 
?9'?5Z'''2)0*(4'0)0**O
''2)0*(4'0)0**P''2)*(
4'0)**O''2)*(4'0)***)C*
7 
?9'?5Z'''2)0*(4')0**O
''2)0*(4')0**P''2)*(
4')**O''2)*(4')***)C*
/%."'>J"6>U'2
P*15'>0>*U>"@)@7[&\&
>UU>>U7*
/%.""'*
5/FG@

&H'5]^&/]@*
<8'0)2* 1"
_Y@
<7`1"
&H@
'8/'0)2*)8/')
2**
=<
=&/"
_Y@7
<`71"
&H@
'8/'0)2*)8/')
2**
=<
Trần Duy Phong – CH1101160 Trang 21
Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc
=<
!"6
• Demo chương trình
 Giao diện chương trình
 Nhập tọa độ điểm cần gom cụm
Trần Duy Phong – CH1101160 Trang 22
Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc
 Kết quả gom cụm
Trần Duy Phong – CH1101160 Trang 23
Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc
KẾT LUẬN
Qua thời gian tìm hiểu em đã hiểu rõ hơn về các kỹ thuật khai thác dữ liệu và đặc
biệt là kỹ thuật Gom Cụm bằng thuật toán K-Means.

Song do thời gian bị hạn chế nên em chưa thể ứng kỹ thuật gom cụm bằng thuật
toán K-Means để ứng dụng trong thực tế. Kính mong Thầy góp ý cho bài viết của
em được hoàn thiện hơn.
Em xin chân thành cảm sự giảng dạy và hướng dẫn của Thầy trong suốt thời gian
qua.
Trần Duy Phong – CH1101160 Trang 24
Bài tiểu luận môn Khai Phá Dữ Liệu PGS.TS Đỗ Phúc
TÀI LIỆU THAM KHẢO
[1] PGS.TS Đỗ Phúc, Giáo trình Khai Thác Dữ Liệu, Đại học quốc gia TP Hồ Chí
Minh, 2006
[2] PGS.TS Đỗ Phúc, Slide bài giảng - Bai_5_GomCum, Đại học Công Nghệ
Thông Tin, 2012
[3] />%205%20-%20Clustering%20-%20Part%201.pdf
Trần Duy Phong – CH1101160 Trang 25

×