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
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC HÒA BÌNH
Trang 2Em cũng chân thành cảm ơn các bạn trong lớp đã chia sẻ cho nhau những tài
liệu và hiệu biết về môn học đề cùng hoàn thành tôt môn học này
Trong thời gian vừa qua mặc dù em đã có găng rất nhiều để hoàn thành tot dé tai của mình, song chắc chắn kết quả không tránh khỏi những thiểu sót Em kính mong
được sự cảm thông và tận tình chỉ bảo của thay
Hà Nội, Tháng 8/2024
Tọc viên thực hiện
Ngô Thị Thu
Trang 3Nhận xét
Trang 4
Lời mở đầu
Sự phát triển nhanh chóng của thông tin số trong nhiều lĩnh vực của đời sống, kinh
tế xã hội đã làm cho hệ thống cơ sở dữ liệu tích lũy được càng ngày càng lớn Tuy nhiên
một phần lớn đữ liệu thu thập được không được tận dụng đúng cách đề dẫn đến rất nhiều
cơ sở đữ liệu trở nên vô nghĩa a
Chính những điều đó đã đặt ra vần đề làm sao đề có những kỹ thuật và công cụ đề chuyển đôi những nguồn dữ liệu đó thành tri thức có ích cho con người sử dụng Từ đó,
các kỹ thuật về khai mỏ dữ liệu và kho đữ liệu được chú ý nhiều hơn Khai phá dữ liệu
đang được áp dụng rộng rãi trong nhiều lĩnh vực trong cuộc sống
Trong nội dung bài tiêu luận này em xin được trình bày khái quát cơ sở lý thuyết
về khai phá dữ liệu và kho dữ liệu, cũng như tập trung tìm hiểu về phân cụm đữ liệu sử dụng thuật toán K-means Nội dung bài tiêu luận bao gồm:
Phân L : Cơ sở lý thuyết về khai phá đữ liệu và kho đữ liệu
Phần 2 : Phân cụm dữ liệu và các thuật toán trong phan cum dir
liệu Phần 3 : Thuật toán K-means
Phân 4 : Chương trình demo
Trang 5Mục lục
In h 2
¡7:8 ằằẢằẢằẮ ằăĂ 3
Phân 1 Cơ sở lý thuyết về khai phá đữ liệu và nhà kho đữ liệu 5 5S c2 ng HH HH rrưe 6
1 Giới thiệu về khai phá đữ liệu 5-25 221 2212112212112 1121122112 112211121 e 6
2 _ Quá trình khám phá trí thức và khai phá dữ liệu 5 L2 HT TH HH HH nhiệt 6
3 _ Các chức năng chính của khai phả dữ liệu G1 2: 2111211211 121211 11111111111 11111 1111111111111 1111111 eg 7
4 _ Các ứng dụng khai phá đữ liỆu c1 212211221211 12111111111111111 1111111111 111111111011 111k 11kg kg vết 8
Phần II Phân cụm dữ liệu và các thuật toán phân cụm dit Hau c1 22121 1211211111221 1111121181 1111k ke 9
1 Phân cụm dữ liệu (2n n ĐT TT ng KT ng kg kế kg 1111k EE HE Eg 9
b Mục tiêu của phân cụm đữ lIỆu - 1 211211211 121112111 1111 11111111111115 1111111111111 11111 1111111111111 9
2 _ Các ứng dụng của phân cụm dữ liệu - c2 22012211 11911191211 111 1111 1111111111 01 111111 11111 11x kh kh 10
3 Những kỹ thuật tiếp cận phân cụm dữ liệu - - 102121211 12112111211112111 111121111111 112111111 11 1 kg 11
4 Một số thuật toán trong phân cụm dữ liệu c2 2011212 1212211121211 1111111111111 111111111 11111111 dryy 12
b _ Thuật toán phân cụm phân hoạch c1 111 1121111111 11111111111111 11 111 1511111 KH KH kg 14
c _ Thuật toán phân cụm dựa trên mật đỘ - - c0 1 1211211 2111211 11111 1112111111 11111511011 11 E11 1 ket 14
“"=: an na 19
4 Đánh giá thuật toán - ưu điểm - nhược điểm - 2s 2 TEE 9E 21212112 22221120 n re 22
5, Ứng dụng của thuật toán K-T€an4 - c2 2212211011211 1111 111111111111 1111111111111 1111 E11 HH kế 22 Phần IV Demo phân cụm đữ liệu sử dụng thuật toán K-Means Q21 11 1n 111111111121 kê 23
1 Phân tích thiết kế cho ví dụ thuật toán Kmean với 4 cụm ch nhe 23
a _ Công thức tính khoảng cách (Khoảng cách Euelidean): - c c1 v1 19 1111111111111 1111111 re, 23
b _ Thuật toán K- means 4 tân cụm từ tập dữ liệu c2: 1 112 121 10111111511211112 1121110111811 1 xxx key 24
2 Cải đặt môi trường chạy demo — sử dụng python c2: 1 11211211111 111112111 1111511111112 1 key 24
Trang 6Phần I Cơ sở lý thuyết về khai phá dữ liệu và nhà kho đữ liệu
1 Giới thiệu về khai phá dữ liệu
Khai pha dt ligu (Data Mining) la mot khai niém ra doi vao nhing nam cuối của thập ký 1980 Nó là quá trình trích xuất các thong tin có giá trị tiềm
an bên trong lượng lớn dữ liệu được lưu trữ trong các CSDL, kho dữ liệu
Một ví dụ hay được sử dụng là là việc khai thác vàng từ đá và cát, Dataming
được ví như công việc "Đãi cát tìm vàng” trong một tập hợp lớn các dữ liệu cho trước Thuật ngir Dataming am chi viéc tim kiém mét tap hop nho co gia trị từ một số lượng lớn các đữ liệu thô Có nhiều thuật ngữ hiện được dùng
cũng có nghĩa tương tự với từ Datamining như Knowledge Mimng (khai pha tri thức), knowledge extraction(chắt lọc tri thức), đata/patern analysis(phân tích dir ligu/mau), data archaeoloogy (khảo cổ dữ liệu), đatadredging(nạo vét dữ liệu)
Trang 7- Gom dữ liệu: thu thập dữ liệu là bước đầu tiên trong việc khai phá dữ liệu
Dữ liệu có thể lấy từ nhiều nguồn, từ các website trên mạng v.v
« Trich loc dữ liệu: Trích chọn dữ liệu từ kho đữ liệu và phân chia theo các
tiêu chuẩn để dé cho việc khai thác nguồn dữ liệu nay
- Lam sach, tien xử lý dữ liệu: Loại bỏ dữ liệu nhiều, dữ liệu dư thừa hay
các đdữ liệu không đủ tính chặt chẽ, logic
- Chuyên đôi dữ liệu: Các dữ liệu được chuyên đôi sang các dạng phù hợp cho quả trình xử lý
"_ Khai phá dữ liệu: Là một bước quan trọng nhất, trong đó sử dụng các
thuật toán thong minh để trích ra các mẫu đữ liệu ;
= Danh giá các luật và biêu diễn trỉ thức: là quá trình đánh gia cac két qua tìm được, sau đó sử dụng các kỹ thuật dé biểu diễn cho người dùng
Data Mming được chia thành một sô hướng chính như sau:
«= M6 ta khái niệm (concept description): thién về mô tả, tông hợp và tóm tặt khái niệm
Vi du: tom tat van ban oo
= Luat két hop (association rules): la dang ludt biéu dién tn thir 6 dang kha
Ví dụ: “604 nam giới vào siêu thị nêu mua bia thì có tới 80% trong số họ
AD?
sẽ mua thêm thịt bò khổ” Luật kết hợp được ứng dụng nhiều trong lĩnh vực
kính doanh, y học, tài chính & thị trường chứng khoán, VV ;
= Phan lop va dw doan (classification & prediction): xép mot doi tuong vào một trong những lớp đã biết trước
Ví dụ: phân lớp vùng địa lý theo dữ liệu thời tiết Hướng tiếp cận này thường sử đụng một số kỹ thuật của machine learning như cây quyết định (decision free), mạng nơ ron nhân tạo (neural network), v.v Người ta còn gọi phân lớp là học có giám sát ;
“ Phân cụm (clustering): xếp các đôi tượng theo từng cụm (sô lượng cũng như tên của cụm chưa được biết trước Người ta còn gọi phân cụm là học không giám sát
= Khai pha chuoi (sequential/temporal patterns): tuong tu nhu khai phá luật kết hợp nhưng có thêm tính thứ tự và tính thời gian Hướng tiếp cận
Trang 8này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán vì nó có tính dự báo cao
Data mining có một sô ứng dụng điển hình vào các lĩnh vực như:
»_ Thông tin thương mại: Phân tích dữ liệu bán hàng, tiếp thị Phân tích vốn đầu tư, chấp thuận cho vay v.v
-_ Thông tin sản xuất: Điều khiển và lập lịch, quản lý v.v
« Thong tin khoa hoc: phan tich phát hiện các đấu hiệu thời tiết bãt thường,
động đất v.v
Trang 9Phan II Phan cum đữ liệu và các thuật toán phân cụm đữ liệu
a Dịnh nghĩa
Phân cụm đữ liệu(Data Clustermg) hay phân cụm, cũng có thê gọi là phân tích cụm, phân tích phân đoạn, phân tích phân loại, là quá trình nhóm một tập
các đối tượng thực thé hay trừu tượng thành lớp các đối tượng tương tự Một
cụm là một tập hợp các đối tượng đữ liệu mà các phần tử của nó tương tự nhau cùng trong một cụm và phi tương tự với các đối tượng trong các cụm
khác Một cụm các đối tượng dữ liệu có thể xem như là một nhóm trong nhiều
ứng dụng
Phân cụm đữ liệu là một môn khoa học trẻ đang phát triên mạnh mẽ Có
một số lượng lớn các bài báo nghiên cứu trong nhiều hội nghị, hầu hết trong các lĩnh vực của khai phá đữ liệu: thống kê, học máy, cơ sở dữ liệu không gian, sinh vật học, kinh doanh, v.v với tầm quan trọng và các kỹ thuật khác nhau
Do số lượng lớn các đữ liệu đã thu thập trong cơ sở đữ liệu nên phép phân tích
cụm gần đây trở thành một chủ đề tích cực cao trong nghiên cửu khai phá đữ
liệu
b Mục tiêu của phân cụm đữ 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 có nhãn Nhưng đề có thể quyết định được cái gì tạo thành một cụm tốt
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 Theo các nghiên cứu cho thây thì hiệ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ủa các cụm dữ liệu, với mỗi cách thức biêu diễn khác nhau sẽ có tương ứng một thuật toán phân cụm phù hợp Vì vậy phân cụm dữ liệu vẫn đang là một vân đê khó và mở, vì phải giải quyết nhiêu vân đề cơ bản một cách trọn
Trang 10vẹn và phù hợp với nhiều dạng dữ liệu khác nhau, đặc biệt là đối với đữ liệu
hỗn hợp đang ngày càng tăng trong các hệ quán trị dữ liệu và đây cũng là một
trong những thách thức lớn trong lĩnh vực khai phá đữ liệu
Phân cụm đữ liệu được ứng dụng trong nhiều lĩnh vực như:
« Thương mại: Tìm kiếm nhóm các khách hàng quan trọng có đặc trưng tương đồng và những đặc tả họ từ các bản ghi mua bán trong cơ sở dữ liệu Trong nghiên cứu thị trường, phân cụm dữ liệu được sử dụng đề phân
đoạn thị trường và xác định mục tiêu thị trường (Chrisoppher, 1969;
Saunders, 1980, Frank and Green, 1968) Trong phân đoạn thị trường, phân cụm đữ liệu thường được dùng để phân chia thị trường thành nhưng cụm mang ý nghĩa, chăng hạn như chia ra đối tượng nam giới từ 21-30 tudi va nam giới ngoài 5l 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
« Sinh học: Phân loại các gen với các chức năng tương đồng và thu được các cầu trúc trong mẫu Phân cụm là một trong những phân tích được sử dụng thường xuyên nhất trong biéu dién dir liệu gene (Yeung ct al., 2003; Eisen
at al., 1998) Dữ liệu biêu diễn gene là một tâp hợp các phép đo được lấy từ DNA microarray (con goi la DNA chip hay gene chip) là một tắm thủy tinh hoặc nhựa trên đó có gắn các đoạn DNA thành các hàng siêu nhỏ Các nhà nghiên cứu sử dụng các con chip như vậy đề sàng lọc các mẫu sinh học
nhằm kiểm tra sự có mặt hàng loạt trình tự cùng một lúc Các đoạn DNA
gan trén chip được gọi là probe (mau dò) Trên mỗi điểm của chip có hàng ngàn phân tử probe với trình tự giống nhau ;
«= Thu viện: Phân loại các cụm sách có nội dung và ý nghĩa tương đồng nhau
đề cung cấp cho độc giả ;
= Bao hiém: Nhan dang nhom tham gia bao hiểm có chỉ phí bối thường cao, nhận dạng gian lận thương mại
._ Quy hoạch đô thị: Nhận dạng các nhóm nhà theo kiểu và vi tri dia lí,
nhằm cung cấp thông tin cho quy hoạch đô thị
Trang 11- Nghiên cứu trái đất: Phân cụm để theo đối các tâm động đất nhằm cung cấp thông tin cho nhận đạng các vùng nguy hiểm Ộ
- WWW: 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 KPTT từ dữ
liệu
Các kỹ thuật phân cụm có rât nhiều cách tiếp cận và các ứng dụng trong thực tế, nó đề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ủa thuật toán 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 Số các cụm được thiết lập là các đặc trưng được lựa chọn trước
Phương pháp này là tốt cho việc tìm các cụm hình cầu trong không gian Euclidean Ngoài ra, 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 nào có quan hệ là gần nhau với
mỗi điểm khác và các điểm đữ liệu nào không có quan hệ hoặc có quan hệ là
xa nhau so với mỗi điểm khác -
Phương pháp phan cụm 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 theo kỹ thuật đệ quy Có hai cách tiếp cận phố biến của kỹ thuật này đó là:
- Tiệp cận Bottom-Up
- Tiệp cận Top-Down ; 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 đữ 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 đữ liệu theo một nghĩa nào đó Trong cách tiếp cận này, khi
một dữ liệu đã xác định thi nó tiếp tục được phát triển thêm các đối tượng dữ
liệu mới miễn là số các đối tuợ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 trên mật độ của các đối
Trang 12thù bất kỳ Kỹ thuật này có thể khắc phục được các phần tử ngoại lai hoặc giá
trị nhiễu rất tốt, tuy nhiên việc xác định các tham số mật độ của thuật toán là
rất 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: Kỹ thuật phân cụm dựa trên lưới
thích hợp với dữ liệu nhiều chiều, dựa trên cầu trúc dữ liệu lưới để phân cụm,
phương pháp này chủ yếu tập trung áp dụng cho lớp đữ liệu không gian Mục tiêu của phương pháp này là lượng hóa đữ liệu thành các ô tạo thành cấu trúc
dữ liệu lưới Sau đó, 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 dựa trên lưới 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 ô, đồng thời giải quyết 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 phân cụm dựa trên mật độ không giải quyết được ưu điểm của phương pháp phân cụm dựa trên lưới là thời gian xử lí nhanh và độc lập với số
đối tượng đữ liệu trong tập đữ liệu ban đầu, thay vào đó là chúng phụ thuộc
vào số ô trong mỗi chiều của không gian lưới , Phuong pháp phân cụm dựa trên mồ hình: Phương này cô găng khám phá các phép xấp xi tốt của các tham số mô hình sao cho khớp với đữ liệu một
cách tốt nhất Chúng 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 Phương pháp phân cụm đựa trên mô hình có gắng khớp giữa các đữ liệu
với mô hình toán học, nó dựa trên giả định rằng đỡ 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 phân 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
Trang 13a Thuật toán phân cụm phân cấp
Thuật toán CURE: Trong khi hau hét các thuật toán thực hiện phân cụm
với các cụm hình cầu và kích thước tương tự, như vậy là không hiệu quả khi
xuất hiện các phần tử ngoại lai Thuật toán CURE khắc phục được vẫn đề này
và tốt hơn với các phần tử ngoại lai Thuật toán này định nghĩa một số cô định
các điểm đại diệnnằm tải rác trong toàn bộ không gian dữ liệu và được chọn dé
mô tả các cụm được hình thành Các điểm này được tạo ra nhờ lựa chọn các đối tượng nằm rải rác cho cụm và sau đó “co lại” hoặc đi chuyển chúng về trung tâm cụm bằng nhân tổ co cụm Quá trình này được lặp lại và như vậy
trong quá trình này, có thể đo tỉ lệ gia tăng của cụm Tại mỗi bước của thuật
toán, hai cụm có cặp các điểm đại diện gan nhau (mỗi điểm trong cặp thuộc về
mỗi cụm khác nhau) được hòa nhập ; Thuật toán ANGES: Phương pháp phân hoạch ANGNES là kỹ thuật kiêu tích tụ ANGNES bắt đầu ở ngoài với mỗi đối tượng đữ liệu trong các cụm
riêng lẻ Các cụm được hòa nhập theo một số loại của cơ sở luật, cho đến khi
chỉ có một cụm ở đỉnh của phân cấp, hoặc gặp điều kiện dừng Hình đạng này của phân cụm phân cấp cũng liên quan đến tiếp cận bottom-up bắt đầu ở dưới với các nút lá trong mỗi cụm riêng lẻ và duyệt lên trên phân cấp tới nút gốc, nơi tìm thấy cụm đơn cuối cùng với tất cả các đối tượng dữ liệu được chứa
trong cụm đó
Thuật toán DIANA: DIANA thực hiện đối lập với AGNES DIANA bắt đầu với tất cả các đối tượng dữ liệu được chứa trong một cụm lớn và chia tách lặp lại, theo phân loại giống nhau dựa trên luật, cho đến khi mỗi đối tượng dữ
liệu của cụm lớn được chia tách hết Hình dạng của cụm phân cấp cùng liên quan để tiếp cận top-down bắt đầu tại mức đỉnh nút gốc, với tất cả các đối
tượng dữ liệu, trong một cụm, và duyệt xuống các nút lá dưới cùng nơi tất cả
các đối tượng đữ liệu từng cái được chứa trong cụm của chính mình
Thuật toán Chameleon: Phương pháp Chameleon một cách tiếp cận khác
trong việc sử dụng mô hình động để xác định các cụm nào được hình thành
Trang 14ứng dụng một thuật toán phân hoạch đồ thị để phân cụm đữ liệu với số lớn
của các cụm con Tiếp theo, Chameleon thực hiện tích tụ phân cụm phân cấp, như AGNES, bằng hòa nhập các cụm con nhỏ theo hai phép đo, mối quan
hệ liên thông và mối quan hệ gần nhau của các nhóm con Do đó, thuật toán không phụ thuộc vào người sử dụng các tham số như K-means và có thê thích nghi Thuật toán này khảo sát mô hình động trong phân cụm phân cấp Trong
đó, hai cụm được hòa nhập nêu giữa hai cụm có liên quan mật thiết tới quan hệ kết và gần nhau của các đối tượng trong các cụm Quá trình hòa nhập dễ đàng khám phá các cụm tự nhiên và đồng nhất, ứng dụng cho tất cả các kiểu dữ liệu
miễn là hàm tương tự được xác định
Ngoài ra còn có các thuật toán như BIRCH, ROCK v.v
b Thuật toán phân cụm phân hoạch
Thuật toán K-means : Thuật toán này dựa trên độ đo khoảng cách của các
đối tượng đữ liệu trong cụm Trong thực tế, nó đo khoảng cách tới giá trị trung
bình của các đối tượng đữ liệu trong cụm Nó được xem như là trung tâm của cụm Như vậy, nó cần khởi tạo một tập trung tâm các trung tâm cụm ban đầu,
và thông qua đó nó lặp lại các bước gồm gán mỗi đối tượng tới cụm mà trung tâm gần, và tính toán tại tung tâm của mỗi cụm trên cơ sở gán mới cho các đối tượng Quá trình lặp này dừng khi các trung tâm hội tụ
Ngoài ra còn có thuật toan PAM, thuat toan CLARA
c Thuật toán phần cụm dựa trên mật độ
Thuật toán DBSCAN: Thuật toán DBSCAN thích nghi với mật độ dày để
phân cụm và khám phá ra các cụm có hinh dang bất kỳ trong không gian
CSDL có nhiễu Trên thực tế DBSCAN tìm kiếm cho các cum bằng cách kiểm
tra các đối tượng mà có số đối tượng láng giềng nhỏ hơn một ngưỡng tối thiểu,
tức là có tối thiểu MinPts đối tượng và mỗi đối tượng trong cụm tồn tại một
đối tượng khác trong cụm giống nhau với khoảng cách nhỏ một ngưỡng Eps Tìm tất cả các đôi tượng mà các láng giềng của nó thuộc về lớp các đối tượng
đã xác định ở trên, một cụm được xác định bằng một tập tất cả các đối tượng