Từ đó dẫn đến kết quả là sự pha trộn của kỹ thuật thống kê vào các công cụ quản trị dữ liệu không thể phân tích đầy đủ dữ liệu rộng lớn được nữa.. Luận văn cấu trúc gồm 3 chương: Chươ
Trang 1ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ
Trang 2ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ
Thái Nguyên - 2011
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan Luận văn “ Phương pháp khai phá dữ liệu dạng đóng
và ứng dụng” là công trình nghiên cứu của riêng tôi dưới sự hướng dẫn của
PGS.TS Ngô Quốc Tạo Toàn bộ phần mềm do chính tôi lập trình và kiểm
thử Tôi xin chịu trách nhiệm về lời cam đoan của mình
Các số liệu và thông tin sử dụng trong luận văn này là trung thực
Tác giả
Nguyễn Hồng Hải
Trang 4MỤC LỤC
MỤC LỤC i
DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT iv
DANH MỤC CÁC BẢNG v
DANH MỤC HÌNH VẼ vi
MỞ ĐẦU 1
Chương 1: TÌM HIỂU PHƯƠNG PHÁP KHAI PHÁ DỮ LIỆU 3
1.2 Khai phá dữ liệu là gì 3
1.2 Ứng dụng của việc khai phá dữ liệu 3
1.3 Qui trình khai phá tri thức 4
1.3.1 Qui trình khai phá tri thức 4
1.3.2 Kiến trúc hệ thống khai phá dữ liệu 5
1.4 Các nhiệm vụ chính của khai phá tri thức 5
1.4.1 Dự đoán (predictive) 5
1.4.2 Mô tả (discriptive) 6
1.5 Ý tưởng kĩ thuật khai phá tri thức 7
1.6 Các thách thức của khai phá tri thức 7
1.7 Qui trình chuẩn bị dữ liệu 7
1.7.1 Tại sao cần chuẩn bị dữ liệu 7
1.7.2 Làm sạch dữ liệu 8
1.7.3 Chọn lọc dữ liệu 9
1.7.4 Rút gọn dữ liệu 9
1.7.5 Mã hóa dữ liệu 11
1.8 Tập phổ biến 11
1.8.1 Giới thiệu tập phổ biến 11
1.8.2 Các khái niệm cơ bản 12
1.8.2.1 Cho cơ sở dữ liệu giao dịch 12
Trang 51.8.2.2 Độ phổ biến và tập phổ biến 13
1.8.2.3 Tính chất của tập phổ biến 14
1.8.2.4 Tập phổ biến tối đại 14
1.8.2.5 Tập phổ biến đóng 14
1.8.2.6 Luật kết hợp 15
1.8.2.7 Mô tả bài toán luật kết hợp 15
1.9 Phân lớp dữ liệu 16
1.9.1 Định nghĩa thông qua ví dụ 16
1.9.2 Quy trình phân lớp 16
1.10 Phân cụm dữ liệu 17
1.10.1 Phân cụm là gì? 17
1.10.2 Phân biệt phân lớp và phân cụm 17
1.10.3 Ứng dụng phân cụm 18
1.10.4 Ví dụ 19
Chương 2: KHAI PHÁ TẬP PHỔ BIẾN ĐÓNG TRONG KHÔNG GIAN 2 CHIỀU VÀ KHAI PHÁ KHỐI ĐÓNG TRONG KHÔNG GIAN 3 CHIỀU 20 2.1 Tổng quan khai phá tập phổ biến đóng FCP trong không gian 2 chiều20 2.2 Mở đầu khai phá tập phổ biến đóng FCP trong không gian 2 chiều 20
2.3 Tiến hành khai phá tập phổ biến đóng FCP 22
2.3.1 Sơ lược về quá trình khai phá tập phổ biến đóng 22
2.3.2 Thuật toán C-Miner 23
2.3.2.1 Thuật toán phân cụm (thuật toán increamental k-mean) 23
2.3.2.2 Quá trình chia không gian khai phá 25
2.3.2.3 Khai phá không gian con để tìm ra tập phổ biến đóng FCPs 29 2.4 Tổng quan khai phá khối phổ biến đóng FCC trong không gian 3 chiều 32 2.5 Mở đầu khai phá khối phổ biến đóng FCC trong không gian 3 chiều 33
Trang 62.6 Khai phá các lát cắt đại diện 36
2.6.1 Tạo ra các dàn đại diện 38
2.6.2 Tạo ra các tập phổ biến đóng FCP 39
2.6.3 3D FCC generation by post-pruning (Chiến lược lược bỏ các khối được sinh ra không thỏa mãn) 39
2.6.4 Tính đúng đắn 41
Chương 3: CÀI ĐẶT THUẬT TOÁN VÀ ỨNG DỤNG 43
3.1 Cài đặt thuật toán trong không gian 2 chiều 43
3.2 Cài đặt ứng dụng trong không gian 2 chiều 46
3.2.1 Cơ sở dữ liệu 47
3.2.2 Các bước thực hiện 47
3.3 Cài đặt thuật toán trong không gian 3 chiều 50
3.4 Cài đặt ứng dụng trong không gian 3 chiều 55
3.4.1 Cơ sở dữ liệu 55
3.4.2 Các bước thực hiện 55
KẾT LUẬN 59
TÀI LIỆU THAM KHẢO 61
Trang 7DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT
Các từ viết tắt Nghĩa tiếng anh Nghĩa tiếng việt
Slices
Dàn tương đương với 1 tập các mặt cắt kết hợp với nhau
Không gian con đặc (trong bài toán đang xét: là không gian con mà tất cả các ô có giá trị là “1”
Minlen
Là ngưỡng giá trị Pattern length mà các pattern phải thỏa mãn
Minsup
Là ngưỡng giá trị support
mà các pattern phải thỏa mãn
Trang 8DANH MỤC CÁC BẢNG
Bảng 2.1 Bảng cơ sở dữ liệu 21
Bảng 2.2 Ma trận rút gọn O‟ 26
Bảng 2.3 Lát cắt 27
Bảng 2.4 Kết quả các không gian rút gọn và không gian con 27
(minsup=3, minlen=2) 27
Bảng 2.5 FCP (minsup=3, minle=2) 32
Bảng 2.6 Ma trận O trong không gian 3 chiều 34
Bảng 2.7 Khai thác FCC (minH=minR=minC=2) 38
Trang 9DANH MỤC HÌNH VẼ
Hình 1.1 Các bước khai phá tri thức 4
Hình 1.2 Kiến trúc hệ thống khai phá dữ liệu 5
Hình 1.3 Minh họa phân cụm dữ liệu 18
Hình 1.4 Phân cụm các điểm trong không gian 19
Hình 1.5 Phân cụm các ngôi nhà dựa vào khoảng cách địa lý 19
Hình 2.1 Khung khai phá 22
Hình 2.2 Cây phân chia sử dụng lát cắt 28
Hình 2.3 Sai sót và dư thừa 29
Trang 10MỞ ĐẦU
Ngày nay, cuộc cách mạng của kỹ thuật số cho phép số hóa thông tin dễ dàng và chi phí lưu trữ thấp.Với sự phát triển của phần mềm, phần cứng và trang bị nhanh hệ thống máy tính trong kinh doanh Số lượng dữ liệu khổng lồ được tập trung và lưu trữ trong cơ sở dữ liệu trên các thiết bị điện tử như: đĩa cứng, băng từ, đĩa quang, CD-ROM,… Tốc độ tăng dữ liệu quá lớn Từ đó dẫn đến kết quả là sự pha trộn của kỹ thuật thống kê vào các công cụ quản trị
dữ liệu không thể phân tích đầy đủ dữ liệu rộng lớn được nữa
Dữ liệu sau khi phục vụ cho một mục đích nào đó được lưu lại trong kho
dữ liệu và theo ngày tháng khối lượng dữ liệu được lưu trữ ngày càng lớn Trong khối lượng dữ liệu to lớn này có rất nhiều thông tin có ích mang tính tổng quát, thông tin có tính quy luật vẫn còn đang tiềm ẩn mà chúng ta chưa biết Từ khối lượng dữ liệu rất lớn cần có những công cụ tự động rút các thông tin và kiến thức có ích Một hướng tiếp cận có khả năng giúp các công
ty khai thác các thông tin có nhiều ý nghĩa từ các tập dữ liệu lớn đó là khai phá dữ liệu (Data Mining)
Với sự bùng nổ và phát triển của công nghệ thông tin đã mang lại nhiều hiệu quả đối với khoa học cũng như các hoạt động thực tế, trong đó khai phá
dữ liệu là một trong những lĩnh vực mang lại hiệu quả thiết thực cho con người Khai phá dữ liệu đã giúp người sử dụng thu được những tri thức hữu ích từ những cớ sở dữ liệu hoặc các kho dữ liệu khổng lồ khác Luận văn đề cập đến các khái niệm và vấn đề cơ bản trong Khai phá tri thức và Khai phá
dữ liệu, ngoài ra luận văn còn đề cập đến phương pháp khai phá dữ liệu dạng đóng được áp dụng trong nhiều lĩnh vực thực tiễn
Trang 11Luận văn cấu trúc gồm 3 chương:
Chương 1:
Trong chương 1 chúng ta sẽ tìm hiểu quy trình khai phá tri thức, quy trình chuẩn bị dữ liệu, và một vài phương pháp khai phá dữ liệu như: phương pháp phân lớp, phương pháp phân cụm, thuật toán k-mean
Chương 2:
Trong chương 2 chúng ta sẽ nghiên cứu phương pháp khai phá tập phổ biến đóng FCPs trong không gian 2 chiều và phương pháp khai phá khối phổ biến đóng FCCs trong không gian 3 chiều
Chương 3:
Trong chương 3 chúng ta sẽ cài đặt thuật toán ở chương 2 và cài đặt ứng dụng của thuật toán trong kinh doanh: tìm những mặt hàng được bán cùng nhau nhiều bằng phương pháp khai phá tập phổ biến đóng FCPs; tìm những mặt hàng được bán cùng nhau nhiều theo các mùa: áp dụng phương pháp khai phá khối phổ biến đóng FCCs
Luận văn này được hoàn thành dưới sự hướng dẫn tận tình của PGS.TS
Ngô Quốc Tạo, tác giả xin bày tỏ lòng biết ơn chân thành của mình đối với
thầy Tác giả xin chân thành cảm ơn các thầy, cô giáo Viện Công nghệ thông tin, Trường Đại học Công nghệ thông tin và Truyền thông - Đại học Thái Nguyên đã tham gia giảng dạy, giúp đỡ em trong suốt qúa trình học tập nâng cao trình độ kiến thức Tuy nhiên vì điều kiện thời gian và khả năng có hạn nên luận văn không thể tránh khỏi những thiếu sót Tác giả kính mong các
thầy cô giáo và bạn đóng góp ý kiến để đề tài được hoàn thiện hơn
Trang 12Chương 1: TÌM HIỂU PHƯƠNG PHÁP KHAI PHÁ DỮ LIỆU 1.1 Khai phá dữ liệu là gì
Khai phá dữ liệu là quá trình không tầm thường của việc xác định các mẫu tiềm ẩn có tính hợp lệ, mới lạ, có ích và có thể hiểu được tối đa trong cơ
sở dữ liệu
Quá trình không tầm thường: là quá trình đa xử lý
Hợp lệ: có thể chứng minh được tính đúng đắn của mô hình (mẫu) Mới lạ: không thể biết trước được
Có ích: có thể sử dụng được
Có thể hiểu được: trả về kết quả cho người dùng có thể hiểu được Mẫu tiềm ẩn: là mối quan hệ trong cơ sở dữ liệu Ví dụ: những người mua quần giầy thường mua thêm tất, và xi đánh giầy
1.2 Ứng dụng của việc khai phá dữ liệu
Ngày nay dữ liệu quá nhiều, dữ liệu lớn cả về chiều và kích thước Nhưng lại có rất ít tri thức về dữ liệu, vì phần lớn dữ liệu chưa được phân tích Vì vậy data mining ra đời giúp chúng ta có thể có được nhiều thông tin
có giá trị, có lợi cho việc ra quyết định
Một số lĩnh vực ứng dụng khai phá dữ liệu:
-Thông tin thương mại
+Phân tích thị trường mua bán
+Phân tích đầu tư
+Phát hiện gian lận
-Thông tin khoa học
Trang 13+Thiên văn học +Cơ sở dữ liệu sinh học +Khoa học địa chất: bộ dò tìm động đất -Thông tin sản xuất
+Điều khiển và lên kế hoạch
+Quản trị mạng
+Phân tích các kết quả thực nghiệm
1.3 Qui trình khai phá tri thức
1.3.1 Qui trình khai phá tri thức
Hình 1.1 Các bước khai phá tri thức
Trang 14Bước 1: Tích hợp dữ liệu, làm sạch dữ liệu, và chọn dữ liệu tạo nên 1 kho dữ liệu
Bước 2: Biến đổi dữ liệu thích hợp với bộ máy khai phá
Bước 3: Xác định nhiệm vụ khai phá dữ liệu và lựa chọn kĩ thuật khai phá, kết quả cho ta nguồn tri thức thô
Bước 4: Đánh giá các mẫu, dựa trên 1 số tiêu trí để tiến hành kiểm tra và lọc nguồn tri thức thu được
1.3.2 Kiến trúc hệ thống khai phá dữ liệu
Hình 1.2 Kiến trúc hệ thống khai phá dữ liệu 1.4 Các nhiệm vụ chính của khai phá tri thức
Trang 15Ví dụ: Một công ty viễn thông lớn gặp phải khó khăn: tỷ lệ khách hàng
bị mất hàng tháng tăng lên rất nhanh
Giải pháp thông thường: Chào mời khuyến mãi tất cả khách hàng trước khi hết hợp đồng Nhưng chi phí quá tốn kém
Giải pháp của data mining: xây dựng mô hình dự đoán những khách hàng có khả năng rời bỏ công ty Sau đó sẽ khuyến mãi cho những khách hàng này (VD: khuyến mãi điện thoại mới) Và lên kế hoạch phát triển tiếp theo nhằm đáp ứng nhu cầu của khách hàng
* Hồi qui: ánh xạ từ một mẫu dữ liệu thành một biến dự đoán trước có giá trị thực
+ Phát hiện gian lận thẻ tín dụng
+Phát hiện xâm nhập mạng trái phép
1.4.2 Mô tả (discriptive)
Xác định các mẫu mô tả dữ liệu mà con người có thể hiểu được
* Gom cụm: tìm ra tập xác định các nhóm hay các cụm để mô tả dữ liệu
Trang 16Ví dụ: chúng ta có thể chia khách hàng thành các nhóm/cụm riêng biệt
để có thể áp dụng các biện pháp quảng cáo khác nhau một cách hiệu quả nhất (chúng ta có thể chia cụm dựa vào thông tin công việc, thu nhập…………)
* Tóm tắt: phát hiện ra một mô tả tóm tắt cho một tập con dữ liệu
* Mô hình hóa phụ thuộc: phát hiện ra mô hình mà mô tả phụ thuộc quan trọng nhất giữa các biến
1.5 Ý tưởng kĩ thuật khai phá tri thức
Kĩ thuật khai phá dữ liệu được lấy ý tưởng từ các lĩnh vực như: máy học, thống kê, nhận dạng, các thuật toán………
Kĩ thuật truyền thống không phù hợp vì:
+Kích thước của dữ liệu quá lớn +Số chiều dữ liệu lớn
+Bản chất dữ liệu không đồng nhất
1.6 Các thách thức của khai phá tri thức
Khai phá dữ liệu phức tạp để lấy thông tin phức tạp
Xử lý việc khai phá dữ liệu liên quan đến nhiều vấn đề
Vấn đề bảo mật, và tích hợp dữ liệu
Lượng thông tin quá lớn, không thể xử lý hết để lấy ra tất cả các thông tin cần thiết được
1.7 Qui trình chuẩn bị dữ liệu
1.7.1 Tại sao cần chuẩn bị dữ liệu
Dữ liệu trong thực tế có chất lượng xấu:
Trang 17+Dữ liệu thiếu, không đầy đủ: thiếu giá trị của thuộc tính, thiếu các thuộc tính quan tâm, …
+Dữ liệu bị tạp, nhiễu: chứa lỗi, hoặc các sai biệt
(ví dụ: lương = ” -100 000”) +Dữ liệu mâu thuẫn: không có sự thống nhất trong mã hoặc tên
(ví dụ: tuổi=42, ngày sinh=03/07/1997)
Dữ liệu không có chất lượng, sẽ không thể cho kết quả khai phá tốt Quyết định đúng đắn phải dựa trên các dữ liệu chính xác Ví dụ: việc trùng lặp hoặc thiếu dữ liệu có thể dẫn tới việc thống kê không chính xác, thậm chí làm lạc lối
Kho dữ liệu cần sự tích hợp đồng nhất các dữ liệu chất lượng
1.7.2 Làm sạch dữ liệu
Làm sạch dữ liệu là vấn đề quan trọng nhất của nhà kho dữ liệu
Các nhiệm vụ của công đoạn làm sạch dữ liệu:
+Điền các giá trị còn thiếu
+Xác định các sai biệt và khử dữ liệu tạp nhiễu
+Sửa chữa các dữ liệu mâu thuẫn
-Bỏ qua các mẫu tin có giá trị thiếu: dễ nhưng không hiệu quả, đặc biệt khi tỷ lệ giá trị thiếu của thuộc tính cao
-Điền các giá trị thiếu bằng tay: không khả thi
-Điền các giá trị thiếu tự động:
+Thay thế bằng hằng số chung: ví dụ: “không biết” có thể thành lớp mới trong dữ liệu
Trang 18+Thay thế bằng giá trị trung bình của thuộc tính
+Thay thế bằng giá trị có nhiều khả năng nhất: có thể suy ra từ cây quyết định, công thức bayesian…
1.7.3 Chọn lọc dữ liệu
Tập hợp dữ liệu từ nhiều nguồn khác nhau vào trong một cơ sở dữ liệu
+Chỉ chọn những dữ liệu cần thiết cho tiến trình khai phá dữ liệu +Loại bỏ dữ liệu dư thừa và trùng lặp
+Phát hiện và giải quyết các mâu thuẫn trong dữ liệu
Dữ liệu có thể quá lớn đối với 1 số chương trình khai phá dữ liệu:
+Tốn nhiều thời gian
+Việc khai phá dữ liệu có thể không thể thực hiện được
Rút gọn dữ liệu: dữ liệu được rút gọn (kích thước) sao cho vẫn thu được cùng (hoặc gần như cùng) kết quả phân tích
Các phương pháp:
+Tổng hợp và tổng quát hóa
Trang 19+Giảm chiều dữ liệu +Nén dữ liệu
+Giảm số lượng +Rời rạc hóa
*Tổng hợp và tổng quát hóa
-Tổ hợp từ 2 thuộc tính (đối tượng) trở lên thành 1 thuộc tính (đối tượng)
Ví dụ: các thành phố tổng hợp vào vùng, khu vực, quốc gia……
-Tổng hợp/tổng quát dữ liệu cấp thấp vào dữ liệu cấp cao:
Giảm kích thước tập dữ liệu: giảm số thuộc tính
Tăng tính lý thú của mẫu
*Giảm chiều dữ liệu
-Chọn lựa đặc trưng (tập con các thuộc tính)
Chọn m thuộc tính từ n thuộc tính, m<=n Loại bỏ các thuộc tính không liên quan, dư thừa
Ví dụ: dùng phương pháp Heuristic để rút gọn dữ liệu:
Đầu tiên: chọn thuộc tính đơn tốt nhất Chọn tiếp thuộc tính tốt nhất trong số còn lại,…………
*Giảm số lượng
Phân chia dữ liệu vào các nhóm và lưu biểu diễn của nhóm
Phương pháp này rất hiệu quả nếu dữ liệu tập trung thành nhóm
Trang 20+Phân cấp khái niệm: tập hợp và thay thế khái niệm cấp thấp bằng khái niệm cấp cao hơn
+Phương pháp mã hóa:
+Dữ liệu dạng số:
Chia giỏ Gom nhóm Phân đoạn tự nhiên +Dữ liệu dạng phi số:
Tạo sơ đồ phân cấp
Trang 21Mẫu phổ biến là mẫu (tập các hạng muc, chuỗi con, cấu trúc con, đồ
thị con,…) xuất hiện thường xuyên trong tập dữ liệu
Mục đích: tìm ra hiện tượng thường xuyên xảy ra của các mẫu trong
dữ liệu
Ví dụ:
+Tìm ra những sản phẩm nào thường được mua chung?
+Người ta thường mua gì khi đi mua giầy da
+Làm thế nào để phân loại tự động văn bản
Ứng dụng:
+Áp dụng trong phân tích cơ sở dữ liệu bán hàng
+Mở rộng sang quảng cáo, thiết kế catalog, phân tích chiến lược bán hàng, chuỗi DNA
1.8.2 Các khái niệm cơ bản
1.8.2.1 Cho cơ sở dữ liệu giao dịch
Ví dụ: cho các giỏ hàng (các phiên giao dịch)
Trang 22Tiến hành biến đổi cơ sở dữ liệu về dạng nhị phân
A: milk, B: bread, C:cereal, D: sugar, E: eggs
iijI
1.8.2.2 Độ phổ biến và tập phổ biến
Cho X là tập các hạng mục trong I, Xt
Độ phổ biến (supp) của tập các hạng mục X trong CSDL D là tỉ lệ giữa
số các giao dịch chứa X trên tổng số các giao dịch trong D
Supp(X) = count(X) / |D|
Trang 23Tập các hạng mục phổ biến S (frequent itemsets) là tập các hạng mục
có độ phổ biến thỏa mãn độ phổ biến tối thiểu minsupp (do người dùng nhập trước)
Nếu supp(S) minsupp thì S là tập phổ biến
1.8.2.3 Tính chất của tập phổ biến
Tất cả các tập con của tập phổ biến đều là tập phổ biến
Nếu tập con không phải là tập phổ biến thì tập bao nó (tập cha) không thể là tập phổ biến
1.8.2.4 Tập phổ biến tối đại
Tập phổ biến tối đại là tập phổ biến và không tồn tại tập nào bao nó là phổ biến
Ví dụ:
Cho minsupp = 2 ta có:
{B, C, D, E}, {A, C, D} là tập phổ biến tối đại
{B, C, D} không phải tập phổ biến tối đại Vì tập bao quanh nó {B, C,
D, E} là tập phổ biến
1.8.2.5 Tập phổ biến đóng
Tập phổ biến đóng là tập phổ biến và không tồn tại tập nào bao nó có cùng độ phổ biến như nó
Trang 24Conf(X=>Y) = supp(XY) / supp(X)
1.8.2.7 Mô tả bài toán luật kết hợp
Cho độ phổ biến tối thiểu (minsupp) và độ tin cậy tối thiểu (minconf)
do người dùng xác định
Trang 25Cho tập các hạng mục I={i1, i2, …… , im} và CSDL D={t1, t2, … , tn}, với ti={ii1, ii2, … , iik} và iijI
Bài toán khai phá luật kết hợp là bài toán tìm tất cả các luật dạng X=>Y (X,YI, và XY=} thỏa mãn độ phổ biến và độ tin cậy tối thiểu
Ví dụ: dự đoán tế bào khối u là lành hay ác Dự đoán khi nào sông có
lũ
1.9.2 Quy trình phân lớp
Bước 1: xây dựng mô hình
Mô tả tập các lớp xác định trước
*Tập huấn luyện: các mẫu/bộ dành cho xây dựng mô hình
*Mỗi mẫu/bộ thuộc về 1 lớp đã định nghĩa trước
*Tìm luật phân lớp, cây quyết định hoặc công thức toán mô tả lớp Bước 2: Sử dụng mô hình
Phân lớp các đối tượng chưa biết:
*Xác định độ chính xác của mô hình, sử dụng tập dữ liệu kiểm tra độc lập
Trang 26*Độ chính xác chấp nhận được -> áp dụng mô hình để phân lớp các mẫu/bộ chưa xác định được nhãn lớp
1.10 Phân cụm dữ liệu
1.10.1 Phân cụm là gì?
Phân cụm dữ liệu là quá trình gom các đối tượng thành các cụm có ý nghĩa Các đối tượng trong cùng 1 cụm có nhiều tính chất chung và có những tính chất khác với các đối tượng ở cụm khác
Cho CSDL D={t1, t2, … , tn} và số nguyên k, phân cụm là bài toán xác định ánh xạ f: D -> {1,… , k} sao cho mỗi ti được gán vào 1 cụm kj, 1<=
j <=k
Không giống bài toán phân lớp, các cụm không được biết trước
1.10.2 Phân biệt phân lớp và phân cụm
* Phân lớp: học có giám sát
Tìm phương pháp để dự đoán lớp của mẫu mới từ các mẫu đã gán nhãn lớp (phân lớp) trước
*Phân cụm: học không có giám sát
Tìm các cụm “tự nhiên” của các mẫu chưa được gán nhãn
Trang 27
Hình 1.3 Minh họa phân cụm dữ liệu
1.10.3 Ứng dụng phân cụm
Trong xử lý ảnh (phân đoạn ảnh, rút gọn độ phân giải của ảnh)
Phân cụm các tài liệu liên quan để dễ tìm kiếm
Khoa học kinh tế (đặc biệt nghiên cứu tiếp thị)
Phân cụm các gene và protein có cùng chức năng
Phân cụm các vùng theo lƣợng mƣa
Trang 281.10.4 Ví dụ
Hình 1.4 Phân cụm các điểm trong không gian
Hình 1.5 Phân cụm các ngôi nhà dựa vào khoảng cách địa lý
Trang 29CHIỀU VÀ KHAI PHÁ KHỐI ĐÓNG TRONG KHÔNG GIAN 3 CHIỀU 2.1 Tổng quan khai phá tập phổ biến đóng FCP trong không gian 2 chiều
Trong phần này chúng ta sẽ giải quyết vấn đề khai phá tập phổ biến đóng (FCPs) từ bảng dữ liệu kết hợp trong không gian 2 chiều Bảng cơ sở dữ liệu microarray thực tế thường có xấp xỉ 50% các ô nhận giá trị là “1”, các ô còn lại nhận giá trị “0”
Chúng ta sử dụng Framework, nó cho phép chúng ta khai phá tập phổ biến đóng (FCPs) từ cơ sở dữ liệu đặc một cách hiệu quả Frame work gồm 2 phần Phần 1, không gian khai phá được chia thành các không gian con nhỏ hơn,
và mỗi không gian con đều có thể khai phá độc lập Trong phần 2, mỗi không gian con được khai phá độc lập để trả về các tập phổ biến đóng Nhiệm vụ chủ yếu trong phần này là lược bỏ các tập FCPs thừa (là những tập đóng có thể được tạo ra từ không gian con khác) và FCPs lỗi (là những tập phổ biến đóng trong không gian con nhưng không là tập phổ biến đóng trong không gian gốc)
2.2 Mở đầu khai phá tập phổ biến đóng FCP trong không gian 2 chiều
Chúng ta sẽ định nghĩa một vài kí hiệu sử dụng trong bài
Cho R={r1, r2,… , rn} là 1 tập các hàng, và C={c1, c2, …., cn} là 1 tập các cột Trong bảng cơ sở dữ liệu, mỗi hàng ri chứa 1 tập các cột, và mỗi cột ci chứa 1 tập các hàng Và chúng ta sẽ sẽ thể hiện cơ sở dữ liệu bởi 1 bảng ma trận nhị phân O = n x m, các ô Oi,j tương ứng với mối quan hệ giữa hàng i và cột j; nếu Oi,j = 1 thì hàng i chứa cột j, và ngược lại Oi,j = 0 thì hàng i không chứa cột
j Trong Bảng 2.1, r3 chứa c2 và c6, kí hiệu: C(r3) = {c2, c6}; và c7 chứa r5 và r6, kí hiệu: R(c7) = {r5, r6}
Trang 30Định nghĩa:
Column support set R(C’): cho 1 tập các cột C‟ C, tập lớn nhất các hàng chứa C‟ đƣợc gọi là column support set R(C‟) R
Ví dụ: trong bảng 2.1, cho C‟ = {c1, c4}, ta có R(C‟) = {r4, r5, r6}, r4, r5 và
r6 cùng chứa c1 và c4, và không còn hàng nào cùng chứa cả c1 và c4 nữa
Row support set C(R’): cho 1 tập các hàng R‟ R, tập lớn nhất các cột chứa R‟ đƣợc gọi là row support set C(R‟) C
Ví dụ: trong bảng 2.1, cho R‟ = {r1, r2}, ta có C(R‟) = {c1, c6}, c1 và c6
cùng chứa r1 và r2, và không tồn tại cột nào khác cùng chứa cả 2 hàng này
Support |R(C’)|: cho 1 tập các cột C‟, tổng số hàng trong dataset chứa C‟
đƣợc gọi là support của C‟, kí hiệu |R(C‟)|
Closed Patterns (CP): cho 1 tập các cột C‟C đƣợc gọi là khối đóng (CP) nếu không tồn tại C‟‟ thỏa mãn: C‟C‟‟ và |R(C‟)|=|R(C‟)|
Frequent closed pattern (FCP): tập các cột C‟ C đƣợc gọi là tập phổ
biến đóng nếu: (1) support của tập C‟ lớn hơn ngƣỡng support nhỏ nhất; và (2) C‟ là tập đóng
Ví dụ: cho minsup=1, tập các cột { c1, c5, c6} sẽ là tập phổ biến đóng trong bảng 2.1 khi support lớn hơn ngƣỡng minsup Tuy nhiên {c2, c3} không là
Trang 31có |R({c1, c2, c3})| = |R({c2, c3})|
Pattern length: cho một tập phổ biến đóng, số cột chứa tập đóng được
gọi là pattern length, kí hiệu: len
Ví dụ: cho tập phổ biến đóng FCP = {c1, c2, c3}, ta có len = 3
FCP Mining: ta có 1 bảng dataset O, vấn đề của chúng ta là tìm các tập
phổ biến đóng FCPs với ngưỡng minsup, minlen của người sử dụng
2.3 Tiến hành khai phá tập phổ biến đóng FCP
2.3.1 Sơ lược về quá trình khai phá tập phổ biến đóng
Cho ma trận O là dataset gốc được khai phá Chúng ta coi O như là không gian gốc Cho MineFCP(M) là tập các tập phổ biến đóng (FCPs) được khai phá
từ không gian M Ý tưởng cơ bản của framework gồm 2 phần là: tạo ra các không gian con, và khai phá các không gian con
Hình 2.1 Khung khai phá
Trang 32chia thành các ma trận con (không gian con) S1, S2, S3,… , St; t1
Kí hiệu: MineFCP(O) =
Phần 2, là phần khai phá các không gian con, mỗi không gian con được khai
phá để tìm ra FCPs một cách độc lập Tuy nhiên, các FCPs được khai phá từ không gian con có thể chứa các mẫu không thỏa mãn Có 2 trường hợp xảy ra: (1) FCPs được khai phá từ không gian con có thể chứa false drops – tức là mẫu
là FCP của không gian con, nhưng không phải là FCP của không gian gốc ban đầu; (2) FCPS được khai phá từ không gian con có thể bị thừa, tức là FCP tìm được trong không gian con đang xét có thể khai phá được từ không gian con khác (MineFCP(Si) Mine FCP(Sj) )
Kĩ thuật lược bớt các mẫu không thỏa mãn phải được triển khai để lược bỏ các mẫu không đóng trên toàn bộ không gian gốc, và mẫu thừa (redundant FCPs) Vậy các kết quả trả về sẽ là câu trả lời chính xác
2.3.2 Thuật toán C-Miner
Trong phần này, chúng ta sẽ tìm hiểu thuật toán C-Miner dựa vào liệt kê các hàng kết hợp (dựa vào các giá trị “1” của từng hàng)
2.3.2.1 Thuật toán phân cụm (thuật toán increamental k-mean)
Như chúng ta biết, thuật toán k-mean bắt đầu bằng cách chọn k cụm và chọn ngẫu nhiên k điểm là trung tâm của cụm, hoặc chọn phân hoạch ngẫu nhiên k cụm và tính trọng tâm của từng cụm này Việc chọn ngẫu nhiên k điểm làm trung tâm của cụm như đã nói ở trên có thể cho ra k kết quả khác nhau tùy vào cách chọn k điểm ban đầu Thuật toán increamental k-mean về cơ bản vẫn dựa trên thuật toán k-mean nhưng sẽ không chọn k điểm làm trọng tâm cho k cụm,
Trang 33độ méo dạng lớn nhất và tính lại trọng tâm các cụm
Thuật toán được trình bày như sau:
Gán k=1;
Phase 1:
Bước 1: Nếu k=1 chọn bất kì một điểm làm trung tâm cụm
Nếu k>1 thêm trung tâm của cụm mới vào cụm có độ méo dạng lớn nhất
Bước 2: Gán từng điểm vào cụm có trung tâm gần điểm đang xét nhất và cập nhật lại trung tâm của cụm
Bước 3: Nếu trung tâm cụm không thay đổi, thực hiện tiếp phase-2
Nếu không, thực hiện phase 1 bước 2
Phase 2: (Tăng số cụm)
Nếu k<=giá trị ấn định số cụm (do người dùng nhập vào), thực hiện phase 1 bước 1
Nếu không, Dừng lại
Các bước của thuật toán gần giống như thuật toán k-means, tuy nhiên có điểm khác biệt đó là thuật toán cần phải tính độ biến dạng của các cụm Dựa trên độ biến dạng để chia cụm
Trang 34D(w,x): khoảng cách giữa trung tâm w của cụm và trung tâm của không gian euclidean x
Một cụm có độ biến dạng lớn có nghĩa là trung tâm cụm có trị trí không thích hợp Việc xác định các cụm đồng nghĩa với việc xác định trung tâm của cụm Thuật toán chủ yếu tìm trung tâm cụm chính xác và xác định lại các đối tượng trong cụm
Phase 1 của thuật toán k-means chỉ khác thuật toán increament k-mean ở chỗ: không xác định trước k điểm mà tăng k từ 1 lên
Điểm khác biệt thứ 2 là chọn cụm có độ biến dạng lớn để phân thành 2 cụm
2 cụm sẽ giảm Tính lại các đối tượng objects cho các cụm và cập nhật lại trung tâm cụm Sau khi trung tâm các cụm không đổi, ta qua phase và tăng k lên 1 và quay lại phase 1 Tìm cụm có độ biến dạng lớn nhất trong các cụm và tiếp tục tách cụm thành 2 cụm mới
Thuật toán ngừng khi k bằng số cụm cần tìm
2.3.2.2 Quá trình chia không gian khai phá
Quá trình chia không gian khai phá trong thuật toán C-Miner bao gồm 3 bước:
Bước 1, các hàng tương tự nhau trong dataset gốc (matrix nhị phân O)
được nhóm lại cùng nhau bằng cách phân cụm Thuật toán phân cụm có thể áp dụng ở đây Thuật toán phân cụm sẽ thực hiện chia đôi k-1 lần Mỗi lần lặp (hoặc đệ qui) sẽ có 1 ma trận được chia thành 2 nhóm, sau đó 1 trong những nhóm còn lại sẽ được lựa chọn và chia đôi tiếp Quá trình sử lý tiếp tục cho đến khi tìm đủ số cụm mong muốn Phương pháp phân cụm dựa trên hàm lọc
Trang 35thứ i; v và u đại diện cho 2 hàng u, v; và sim(u,v) là các hàng tương tự nhau Cụm được lựa chọn để chia nhỏ hơn được kiểm soát bởi hàm lọc trên (sim(u,v): đối tượng u và đối tượng v có tính chất tương tự nhau)
Bước 2, Các hàng trong cùng 1 cụm được kết hợp với nhau tạo thành 1 hàng
kết hợp mới, gọi là cluster-row Cho G={r1,r2,…., rq} là tập các hàng nằm trong cụm tương ứng D Cụm này có thể được thể hiện bởi ma trận D = q x m cluster-row của D: L = {l1, l2, …., lm}, được kết hợp theo luật lj = q1 ij
i d
m Giá trị của các ô trong cluster-row bằng “0” khi ô đó được kết hợp bởi tất cả các ô có giá trị bằng “0”; trường hợp còn lại nó sẽ nhận giá trị bằng “1” Sau khi phân cụm, từ ma trận O ban đầu ta tạo ra được ma trận mới O‟ = l x m, l là
số các cụm và l n
Ví dụ: từ ma trận O ban đầu, sau khi phân cụm ta được ma trận mới O‟ như sau:
Bảng 2.2 Ma trận rút gọn O’
Bước 3, thuật toán C-Miner được áp dụng để liệt kê ra hàng đặc dựa vào
ma trận O‟ đặc để chia không gian O thành các không gian con Trong thuật toán C-Miner, độ quan trọng (the weight) của mỗi cluster-row được đo bằng tổng số các hàng tạo nên nó Vì vậy, trong suốt quá trình liệt kê cluster-row, hệ
số support của không gian con được chỉ ra bởi tổng số weight của các rows tương ứng Chúng ta chỉ ra các không gian con được sinh ra trong bước này (dựa trên O‟) gọi là compact subspace (CS) Trong khi thuật toán liệt kê các