Ứng dụng phân cụm trong khai phá dữ liệu cho tư vấn ngành nghề sinh viên trường đại học kiến trúc Hà NộiỨng dụng phân cụm trong khai phá dữ liệu cho tư vấn ngành nghề sinh viên trường đại học kiến trúc Hà NộiỨng dụng phân cụm trong khai phá dữ liệu cho tư vấn ngành nghề sinh viên trường đại học kiến trúc Hà NộiỨng dụng phân cụm trong khai phá dữ liệu cho tư vấn ngành nghề sinh viên trường đại học kiến trúc Hà NộiỨng dụng phân cụm trong khai phá dữ liệu cho tư vấn ngành nghề sinh viên trường đại học kiến trúc Hà NộiỨng dụng phân cụm trong khai phá dữ liệu cho tư vấn ngành nghề sinh viên trường đại học kiến trúc Hà NộiỨng dụng phân cụm trong khai phá dữ liệu cho tư vấn ngành nghề sinh viên trường đại học kiến trúc Hà NộiỨng dụng phân cụm trong khai phá dữ liệu cho tư vấn ngành nghề sinh viên trường đại học kiến trúc Hà NộiỨng dụng phân cụm trong khai phá dữ liệu cho tư vấn ngành nghề sinh viên trường đại học kiến trúc Hà NộiỨng dụng phân cụm trong khai phá dữ liệu cho tư vấn ngành nghề sinh viên trường đại học kiến trúc Hà Nội
Trang 1-
Phạm Văn Vượng
ỨNG DỤNG PHÂN CỤM TRONG KHAI PHÁ DỮ LIỆU
TRƯỜNG ĐẠI HỌC KIẾN TRÚC HÀ NỘI
Trang 2Phạm Văn Vượng
ỨNG DỤNG PHÂN CỤM TRONG KHAI PHÁ DỮ LIỆU
TRƯỜNG ĐẠI HỌC KIẾN TRÚC HÀ NỘI
LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)
HÀ NỘI, NĂM 2018
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây là đề tài nghiên cứu của riêng tôi, được tôi thực hiện dưới sự hướng dẫn của PGS.TS Trần Đình Quế
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa được ai công bố trong bất cứ công trình nào khác
Hà Nội, tháng 11 năm 2017
TÁC GI Ả
PH ẠM VĂN VƯỢNG
Trang 4LỜI CẢM ƠN
Lời đầu tiên tôi xin gửi lời cảm ơn sâu sắc tới thầy PGS.TS Trần Đình Quế,
Học viện Công nghệ Bưu chính Viễn thông, người thầy đã tạo mọi điều kiện thuận
lợi, dành nhiều thời gian trực tiếp tận tình chỉ bảo, hướng dẫn em trong suốt quá trình tìm hiểu, nghiên cứu và hoàn thành luận văn
Em xin chân thành cảm ơn các thầy giáo, các cô giáo của Học viện Công nghệ Bưu chính Viễn thông đã cung cấp cho em những kiến thức và tận tình chỉ bảo cho em trong suốt quá trình em học tập tại trường
Bên cạnh đó, để vượt qua mọi khó khăn và hoàn thành luận văn trong thời gian cho phép, em đã nhận được rất nhiều sự giúp đỡ, ủng hộ nhiệt thành từ gia đình, đồng nghiệp, cơ quan và bạn bè Em xin chân thành cảm ơn
Tuy nhiên, do thời gian hạn hẹp, mặc dù đã nỗ lực hết sức và nghiêm túc nghiên cứu đề tài, nhưng luận văn khó tránh khỏi những thiếu sót Em rất mong
nhận được sự thông cảm và góp ý chỉ bảo tận tình của thầy cô và mọi người
Hà Nội, tháng 11 năm 2017
Họ và tên
Trang 5MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT v
DANH MỤC CÁC BẢNG vi
DANH MỤC CÁC HÌNH VẼ vii
MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU 5
1.1 Giới thiệu 5
1.2 Kỹ thuật phân cụm dữ liệu 7
1.2.1 Khái niệm 7
1.2.2 Các bước cơ bản để phân cụm 8
1.2.3 Các loại đặc trưng trong phân cụm 9
1.2.4 Ứng dụng của kỹ thuật phân cụm 10
1.3 Phân loại các thuật toán phân cụm 11
1.4 Kết luận 14
CHƯƠNG 2: PHÂN CỤM CHO TƯ VẤN LỰA CHỌN 15
NGÀNH NGHỀ 15
2.1 Giới thiệu 15
2.2 Phương pháp phân hoạch (Partitioning Methods) 15
2.2.1 Thuật toán K – Means 16
2.2.2 Thuật toán PAM 19
Trang 62.2.3 Thuật toán CLARA 21
2.3 Phương pháp phân cụm phân cấp (Hierarchical Methods) 22
2.3.1 Thuật toán BIRCH 24
2.3.2 Thuật toán CURE 26
2.4 Phương pháp phân cụm dựa trên lưới (Grid-Based Methods) 28
2.4.1 Thuật toán STING 29
2.4.2 Thuật toán CLIQUE 30
2.5 Phương pháp phân cụm dựa trên mật độ (Density-Based Methods) 30
2.5.1 Thuật toán DBSCAN (KDD’96) 31
2.5.2 Thuật toán OPTICS 34
2.6 Phương pháp phân cụm dựa trên mô hình (Model-Based Clustering Methods) 35
2.7 Phương pháp phân cụm có dữ liệu ràng buộc (Binding data clustering Methods) 36
2.8 Tổng hợp và đánh giá các phương pháp 37
2.9 Kết luận 40
CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ 41
3.1 Giới thiệu 41
3.2 Lựa chọn thuật toán và mô tả 42
3.3 Xây dựng hệ thống 44
3.4 Kết luận 57
KẾT LUẬN 58
DANH MỤC TÀI LIỆU THAM KHẢO 60
Trang 7DANH M ỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT
Vi ết tắt Ti ếng Anh Ti ếng Việt
Trang 8DANH MỤC CÁC BẢNG
Bảng 2.1: Bảng tổng hợp các thuật toán 39
Bảng 3.1: Bảng thống kê sinh viên các chuyên ngành trong xây dựng 42
Bảng 3.2: Dữ liệu đặc trưng cho các ngành học 43
Trang 9DANH MỤC CÁC HÌNH VẼ
Hình 1.1: Ví dụ về phân cụm dữ liệu 7
Hình 1.2: Các bước trong quá trình phân cụm 9
Hình 2.1: Thuật toán K-Means 17
Hình 2.2: Các chiến lược phân cụm phân cấp 23
Hình 2.3: Cấu trúc phân cụm dựa trên lưới 28
Hình 3.1: Mô tả dữ liệu mẫu 45
Hình 3.2: Giao diện chương trình nhập dữ liệu 45
Hình 3.3: Chương trình sau đó phân tích và dựa trên cơ sở thuật toán K-Means: 46
Hình 3.4: Kết quả sau khi đã phân tích dữ liệu đầu vào 48
Hình 3.5: Biểu đồ đánh giá hệ thống 55
Trang 10MỞ ĐẦU
Tính c ấp thiết của đề tài
Bước vào thế kỷ XXI, nghề nghiệp trong xã hội có những chuyển biến nhiều
so với giai đoạn trước đây Cuộc cách mạng khoa học và công nghệ đang tạo điều
kiện để nhân loại tiến từ nền kinh tế công nghiệp sang nền kinh tế tri thức Đó là
nền kinh tế được xây dựng trên cơ sở sản xuất, phân phối và sử dụng tri thức, thông tin, trong đó máy tính và các công nghệ truyền thông viễn thông là những yếu tố chiến lược Trong khi ngành công nghệ thông tin phát triển không ngừng như hiện nay, để đạt được mục tiêu trên, chúng ta cần một lực lượng lao động có đủ trình độ năng lực và làm chủ được công nghệ kỹ thuật mới, đủ điều kiện đảm bảo hoàn thành tốt công việc trong mọi lĩnh vực của đời sống xã hội Nếu chúng ta không chiếm hữu được tri thức, không sáng tạo và sử dụng được thông tin trong các ngành
sản xuất thì không thể thành công trong sự cạnh tranh quyết liệt của thị trường Chính vì vậy việc nâng cao trình độ học vấn, trình độ văn hóa cho nhân dân, đặc biệt là việc định hướng ngành học và định hướng nghề nghiệp cho thế hệ
trẻ hôm nay, chủ nhân tương lai của đất nước, cần được quan tâm hơn bao giờ hết Như vậy nghề nghiệp luôn được coi là một trong nhiều yếu tố quan trọng quyết định đến tương lai mỗi con người Vì thế lựa chọn cho mình một ngành nghề phù hợp là vấn đề được nhiều bạn trẻ quan tâm, đặc biệt là những bạn sinh viên trẻ
học tập những năm đầu tại các trường đại học Theo khảo sát tại trường đại học
Kiến trúc Hà Nội, rất nhiều bạn sinh viên sau khi ra trường không tìm được công
việc phù hợp với năng lực cũng như sở thích của bản thân Có một số sinh viên do định hướng kém lựa chọn chuyên ngành không đúng khả năng dẫn đến quá trình
học tập kết quả kém, sau thời gian học tập không đạt kết quả tốt dẫn đến việc bỏ học ngay từ những năm đầu, tạo tâm lý chán nản, không có động lực trong học tập
Vì những lý do trên nên học viên đã quyết định lựa chọn đề tài: Ứng dụng
phân c ụm trong khai phá dữ liệu cho tư vấn ngành nghề sinh viên trường Đại
h ọc Kiến trúc Hà Nội
Trang 11T ổng quan về vấn đề nghiên cứu
Kỹ thuật khai phá tri thức và khai phá dữ liệu đã và đang được nghiên cứu, ứng dụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới, tại Việt Nam kỹ thuật này tương đối còn mới mẻ tuy nhiên cũng đang được nghiên cứu và dần đưa vào ứng dụng trong những năm gần đây Những vấn đề được quan tâm là phân lớp nhận dạng mẫu, luật kết hợp, phân cụm dữ liệu, phần tử dị biệt,…
Phân cụm cơ sở dữ liệu là một trong những phương pháp quan trọng trong quá trình tìm kiếm tri thức Phân cụm là phương pháp học từ quan sát (learning from obversation) hay còn gọi là học không có giám sát Phân cụm đặc biệt hiệu
quả khi ta không biết về thông tin của các cụm, hoặc khi ta quan tâm tới những thuộc tính của cụm mà chưa biết hoặc biết rất ít về những thông tin đó Phân cụm được coi như một công cụ độc lập để xem xét phân bố dữ liệu, làm bước tiền xử lý cho các thuật toán khác Việc phân cụm dữ liệu có rất nhiều ứng dụng như trong
tiếp thị, sử dụng đất, bảo hiểm, hoạch định thành phố, định hướng nghề nghiệp …
Hiện nay, phân cụm dữ liệu là một hướng được nghiên cứu rất nhiều trong Tin học
Thực tế hiện nay tại trường Đại học Kiến trúc Hà Nội rất nhiều sinh viên năm đầu còn phân vân lựa chọn các ngành học trong khoa đã đăng ký do thiếu thông tin và chưa có sự lựa chọn đúng đắn dựa trên khả năng và sở thích của bản thân Do vậy,
để sinh viên có thể phát huy hết khả năng, nhiệt huyết và thuận lợi cho việc đi làm sau này cần có những định hướng đúng đắn và kịp thời ngay những năm đầu đại
học
Trong luận văn này tập trung khảo sát các thuật toán phân cụm để từ đó áp
dụng vào phân loại sinh viên nhằm đưa ra giải pháp tư vấn, định hướng giúp sinh viên và các khoa trong trường đại học Kiến trúc Hà Nội lựa chọn ngành nghề phù
hợp
Trang 12
M ục đích lu ận văn
- Tìm hiểu các kỹ thuật khai phá dữ liệu, một số thuật toán phân cụm dữ liệu
- Lựa chọn thuật toán và ứng dụng giải quyết bài toán phân loại sinh viên
nhằm hỗ trợ định hướng các ngành học cho sinh viên các khoa trong trường
- Thu thập dữ liệu và cài đặt thử nghiệm chương trình
Đối tượng nghiên cứu
- Tìm hiểu một số thuật toán phân cụm dữ liệu
- Lựa chọn một thuật toán phân cụm dữ liệu phù hợp có thể áp dụng giải quyết yêu cầu bài toán
- Thu thập dữ liệu: Sinh viên năm đầu đang học tập tại trường Đại học Kiến trúc Hà Nội Tuy nhiên số lượng sinh viên năm đầu rất lớn nên dữ liệu mẫu
sẽ được thu hẹp vào sinh viên của một khoa trong trường
- Tiến hành thực nghiệm trên tập dữ liệu mẫu
Phương pháp nghiên cứu:
- Nghiên cứu lý thuyết về khai phá dữ liệu
- Tìm hiểu một số thuật toán phân cụm dữ liệu
- Xây dựng và phân tích yêu cầu bài toán đặt ra
- Lựa chọn một thuật toán phân cụm dữ liệu phù hợp có thể áp dụng giải quyết yêu cầu bài toán
- Tiến hành thực nghiệm trên tập dữ liệu mẫu
- Phân tích, đánh giá kết quả đạt được
- Phương hướng phát triển
C ấu trúc luận văn:
Ngoài phần mở đầu và kết luận, luận văn có cấu trúc gồm 03 chương có nội dung như sau:
Trang 13Chương 1: Tổng quan về phân cụm dữ liệu
Trình bày tổng quan về phân cụm dữ liệu và giới thiệu một số phương pháp phân cụm dữ liệu, đưa ra so sánh, đánh giá, lựa chọn
Chương 2: Phân cụm cho tư vấn lựa chọn ngành nghề
Chương này trình bày khái quát một số kỹ thuật phân cụm đặc trưng Phân tích, đánh giá ứng dụng các kỹ thuật phân cụm để lựa chọn ra được thuật toán thích
hợp xây dựng và giải quyết bài toán đặt ra
Chương 3: Thử nghiệm và đánh giá
Giới thiệu về bài toán thực tế, những khó khăn của sinh viên khi lựa chọn ngành nghề phù hợp với nhu cầu và năng lực của bản thân Dựa trên kỹ thuật phân
cụm và thuật toán lựa chọn xây dựng hệ thống tư vấn lựa chọn ngành nghề cho sinh viên, giúp họ có những lựa chọn đúng đắn cho tương lai công việc sau này
Trang 14CHƯƠNG 1: TỔNG QUAN VỀ PHÂN CỤM DỮ LIỆU
1.1 Gi ới thiệu
Dữ liệu do con người tạo ra ngày càng nhiều hơn về số lượng, tăng nhanh về
khối lượng, phát triển mạnh về quy mô khiến việc phân loại, lựa chọn, khai thác, sử
dụng gặp những khó khăn nhất định Khái niệm Khai phá dữ liệu ra đời hỗ trợ công
việc này; vậy cụ thể khai phá là gì, khai phá dữ liệu được khai thác như thế nào, công nghệ khai phá dữ liệu sử dụng là gì…
Khai phá dữ liệu là một tập hợp các kỹ thuật được sử dụng để tự động khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp dữ liệu khổng
lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn trong tập dữ liệu đó Về cơ
bản, khai phá dữ liệu là xử lý dữ liệu và nhận biết các mẫu và các xu hướng trong thông tin đó để bạn có thể quyết định hoặc đánh giá
Nếu căn cứ vào lớp các bài toán cần giải quyết, thì KPDL bao gồm các kỹ thuật áp dụng sau [2]:
− Phân lớp và dự đoán (Classification and prediction)
− Phân cụm (Clustering/ Segmentation)
− Luật kết hợp (Association rules)
− Phân tích hồi quy (Regression analysis)
− Phân tích các mẫu tuần tự hay theo thời gian (Sequential/Temporal patterns)
− Mô tả khái niệm (Concept description and summarization)
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 học không giám sát trong học máy 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
Trang 15trong 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
Phân cụm dữ liệu là xử lý một tập các đối tượng vào trong các lớp các đối tượng giống nhau được gọi là phân cụm Một cụm là một tập hợp các đối tượng dữ
liệu giống nhau trong phạm vi cùng một cụm và không giống nhau với các đối tượng trong các cụm khác Số các cụm dữ liệu được phân ở đây có thể được xác định trước theo kinh nghiệm hoặc có thể được tự động xác định của phương pháp phân cụm
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ư [4]:
• 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
• WWW: Phân loại tài liệu (document classification); phân loại người dùng web
Trang 161.2 K ỹ thuật phân cụm dữ liệu
1.2.1 Khái ni ệm
Phân cụm dữ liệu là một trong những phương pháp quan trọng trong quá
trình tìm kiếm tri thức Phân cụm là phương pháp học từ quan sát (learning from
obversation ) hay còn gọi là học không có giám sát (unupervised learning or
automatic classfication) trong trí tuệ nhân tạo Phân cụm đặc biệt hiệu quả khi ta không biết về thông tin của các cụm, hoặc khi ta quan tâm tới những thuộc tính của cụm mà chưa biết hoặc biết rất ít về những thông tin đó Phân cụm được coi như một công cụ độc lập để xem xét phân bố dữ liệu, làm bước tiền xử lý cho các thuật toán khác Việc phân cụm dữ liệu có rất nhiều ứng dụng như trong tiếp thị, sử dụng đất, bảo hiểm, hoạch định thành phố, tư vấn, dự đoán …
Hình 1.1: Ví d ụ về phân cụm dữ liệu
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 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 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
Trang 17cá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
1.2.2 Các bước cơ bản để phân cụm
• Chọn lựa đặc trưng : Các đặc trưng phải được chọn lựa một cách hợp lý
để có thể “mã hoá” nhiều nhất thông tin liên quan đến công việc quan tâm Mục tiêu
chính là phải giảm thiểu sự dư thừa thông tin giữa các đặc trưng Các đặc trưng cần được tiền xử lý trước khi dùng trong các bước sau
• Chọn độ đo gần gũi: Đây là một độ đo chỉ ra mức độ tương tự hay không
tương tự giữa hai vector đặc trưng Phải đảm bảo rằng tất cả các vector đặc trưng góp phần như nhau trong việc tính toán độ đo gần gũi và không có đặc trưng nào át hẳn đặc trưng nào Điều này được đảm nhận bởi quá trình tiền xử lý
• Tiêu chuẩn phân cụm: Điều này phụ thuộc vào sự giải thích của chuyên
gia cho thuật ngữ “dễ nhận thấy” dựa vào loại của các cụm được chuyên gia cho rằng đang ẩn dấu dưới tập dữ liệu Chẳng hạn, một cụm loại chặt (compact) của các
vector đặc trưng trong không gian ℓ-chiều có thể dễ nhận thấy theo một tiêu chuẩn,
trong khi một cụm loại “dài và mỏng” lại có thể đươc dễ nhận thấy bởi một tiêu
chuẩn khác Tiêu chuẩn phân loại có thể được diễn đạt bởi hàm chi phí hay một vài loại quy tắc khác
• Thuật toán phân loại: Cần lựa chọn một sơ đồ thuật toán riêng biệt nhằm
làm sáng tỏ cấu trúc cụm của tập dữ liệu
• Công nhận kết quả: Khi đã có kết quả phân loại thì ta phải kiểm tra tính
đúng đắn của nó Điều này thường được thực hiện bởi việc dùng các kiểm định phù hợp
• Giải thích kết quả: Trong nhiều trường hợp, chuyên gia trong lĩnh vực
ứng dụng phải kết hợp kết quả phân loại với bằng chứng thực nghiệm và phân tích
để đưa ra các kết luận đúng đắn Trong một số trường hợp, nên có cả bước khuynh hướng phân cụm; trong bước này có các kiểm định khác nhau để chỉ ra một dữ liệu
Trang 18Hình 1.2 : Các bước trong quá trình phân cụm [8]
1.2.3 Các lo ại đặc trưng trong phân cụm
Có bốn loại đặc trưng, đó là:
- Các đặc trưng danh nghĩa (nominal): Gồm các đặc trưng mà các giá trị của nó
mã hoá các trạng thái Chẳng hạn cho một đặc trưng là giới tính của một người thì
Trang 19các giá trị có thể của nó là 1 ứng với nam và 0 ứng với nữ Rõ ràng là bất kỳ sự so sánh về lượng nào giữa các giá trị loại này đều là vô nghĩa
- Các đặc trưng thứ tự (ordinal): Là các đặc trưng mà các giá trị của nó có thể
sắp một cách có ý nghĩa Ví dụ về một đặc trưng thể hiện sự hoàn thành khoá học
của một sinh viên Giả sử các giá trị có thể là 4, 3, 2, 1 tương ứng với các ý nghĩa:
”xu ất sắc”, “rất tốt“, “tốt“, “không tốt“ Các giá trị này được sắp xếp theo một thứ
tự có ý nghĩa nhưng sự so sánh giữa hai giá trị liên tiếp là không quan trọng lắm về lượng
- Các đặc trưng đo theo khoảng ( interval – scaled): Với một đặc trưng cụ thể
nếu sự khác biệt giữa hai giá trị là có ý nghĩa về mặt số lượng thì ta có đặc trưng đo theo khoảng (còn gọi là thang khoảng) Ví dụ về đặc trưng nhiệt độ, nếu từ 10 – 15
độ thì được coi là rét đậm, còn nếu
- Các đặc trưng đo theo tỷ lệ (ratio-scaled): Cũng với ví dụ nhiệt độ ở trên ta
không thể coi tỷ lệ giữa nhiệt độ Hà Nội 10 độ với nhiệt độ Matxcơva 1 độ mang ý nghĩa rằng Hà Nội nóng gấp mười lần Matxcơva Trong khi đó, một người nặng
100 kg được coi là nặng gấp hai lần một người nặng 50 kg Đặc trưng cân nặng là
một đặc trưng đo theo tỷ lệ (thang tỷ lệ)
1.2.4 Ứng dụng của kỹ thuật phân cụm
Phân cụm 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
Trang 20hạ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
1.3 Phân lo ại các thuật toán phân cụm
Các thuật toán phân cụm có thể được xem như các sơ đồ cung cấp cho ta các
cụm “dễ nhận thấy” bởi việc chỉ xem xét một phần của tập chứa tất cả các cách phân cụm của X Kết quả phân cụm phụ thuộc vào thuật toán và tiêu chuẩn phân
cụm Như vậy, một thuật toán phân cụm là một chức năng học cố gắng tìm ra các đặc trưng riêng biệt của các cụm ẩn dấu dưới tập dữ liệu Có nhiều cách để phân loại các thuật toán phân cụm, sau đây là một cách phân loại:
• Các thu ật toán phân cụm tuần tự (Sequential Algorithms):
Các thuật toán này sinh ra một cách phân cụm duy nhất, chúng là các phương pháp trực tiếp và thuật toán một hoặc vài lần (không hơn 6 lần) Kết quả cuối cùng thường phụ thuộc nhanh Trong hầu hết các thuật toán thuộc loại này, tất cả các vector đặc trưng tham gia vào vào thứ tự các vector tham gia vào thuật toán Những
sơ đồ loại này có khuynh hướng sinh ra các cụm có hình dạng chặt siêu cầu hoặc siêu elipxoit tuỳ theo độ đo được dùng
Trang 21• Các thu ật toán phân cụm phân cấp (Hierachical Algorithms)
- Các thu ật toán tích tụ (Agglomerative Algorithms):
Chúng sinh ra một dãy cách phân cụm mà số cụm, m, giảm dần ở mỗi bước
Cách phân cụm ở mỗi bước là kết quả của cách phân cụm ở bước trước đó bằng việc trộn hai cụm vào một Các đại diện chính của loại này là thuật toán liên kết đơn (phù hợp với các cụm dài và mỏng) và thuật toán liên kết đầy đủ (phù hợp với các cụm chặt) Các thuật toán tích tụ thường dựa trên lý thuyết đồ thị và lý thuyết ma trận
- Các thu ật toán phân rã (Divise Algorithms):
Sinh ra một dãy cách phân cụm mà số cụm, m, tăng dần ở mỗi bước Cách
phân cụm ở mỗi bước là kết quả cách phân cụm ở bước trước đó bằng việc chia đôi một cụm đơn
• Các thuật toán phân cụm dựa trên việc tối ưu hoá hàm chi phí:
Hàm chi phí J đo độ “dễ nhận thấy” của các cách phân cụm Thường thì số các cụm, m, là cố định Thuật toán sẽ dùng các khái niệm về phép tính vi phân và
sinh ra các cách phân cụm liên tiếp trong khi cố gắng tối ưu hoá J Thuật toán sẽ
dừng khi một tối ưu địa phương được xác định Các thuật toán loại này cũng được gọi là các sơ đồ tối ưu hoá hàm lặp Chúng được phân tiếp như sau:
- Các thu ật toán phân cụm chặt hay rõ:
Vector thuộc hoàn toàn vào một cụm cụ thể Việc đưa một vector về các cụm
cụ thể được thực hiện một cách tối ưu theo tiêu chuẩn phân cụm tối ưu
- Các thu ật toán phân cụm theo các hàm xác suất:
Dựa vào lý thuyết phân lớp Bayes và mỗi vector x được phân về cụm thứ i
nếu
p(Ci | x ) là lớn nhất (xác suất để x được phân đúng vào cụm Ci)
Trang 22- Các thu ật toán phân cụm mờ:
Các vector thuộc về một cụm nào đó với một độ chắc chắn
- Các thu ật toán phân cụm theo khả năng :
Trong trường hợp này ta đo khả năng một vector đặc trưng thuộc về một cụm nào đó
- Các thu ật toán phát hiện biên phân tách :
Các thuật toán này cố gắng đặt các biên phân tách một cách tối ưu giữa các cụm
• Các thu ật toán khác
- Các thu ật toán phân cụm nhánh và cận :
Các thuật toán này cung cấp cho ta các cách phân cụm tối ưu toàn cục mà
không phải xét tới tất cả các cách phân cụm có thể, với m cố định và một tiêu chuẩn
phân cụm định trước Nhưng đòi hỏi rất nhiều tính toán
- Các thu ật toán phân cụm di truyền :
Sử dụng dân số ban đầu của các cách phân cụm có thể và sinh ra các số dân mới một cách lặp đi lặp lại Số dân mới này nhìn chung chứa các cách phân cụm tốt hơn so với thế hệ trước, theo một tiêu chuẩn đã định trước
- P hương pháp thư giãn ngẫu nhiên :
Đảm bảo rằng với các điều kiện chắc chắn, độ hội tụ theo xác suất tới cách phân cụm tối ưu toàn cục nhưng tốn nhiều thời gian tính toán
- Thu ật toán phân cụm tìm khe :
Xem mỗi vector đặc trưng như là một biến ngẫu nhiên x Chúng dựa trên một giả định được công nhận rộng rãi rằng vùng phân bố của x nơi có nhiều vector
tương ứng với vùng mật độ cao của hàm mật độ xác suất (probability density function), vì vậy việc ước lượng các hàm mật độ xác suất sẽ làm rõ các khu vực nơi
Trang 23các cụm hình thành
- Thu ật toán học cạnh tranh:
Không dùng các hàm chi phí, chúng tạo ra vài cách phân cụm và các cách này hội tụ tới cách dễ nhận thấy nhất Các đại diện tiêu biểu của loại này là sơ đồ học cạnh tranh cơ bản và thuật toán học lỗ rò
- Các thu ật toán dựa trên kỹ thuật biến đổi hình thái học :
Cố gắng đạt được sự phân chia tốt hơn giữa các cụm
1.4 K ết luận
Chương 1 đã trình bày cái nhìn tổng quát nhất về khai phá dữ liệu, giới thiệu
cơ bản kỹ thuật phân cụm dữ liệu cũng như nhìn nhận và giới thiệu cụ thể từng phương pháp Trong đó tập trung vào giới thiệu một số phương pháp phân cụm dữ liệu để giải quyết bài toán phân cụm được đặt ra Chương 2 tiếp theo đây sẽ đi vào tìm hiểu kỹ hơn các phương pháp này
Trang 24CHƯƠNG 2: PHÂN CỤM CHO TƯ VẤN LỰA CHỌN
NGÀNH NGH Ề 2.1 Giới thiệu
Hiện nay, lĩnh vực nghiên cứu khai thác dữ liệu giáo dục đang tiếp tục phát triển, vô số các kỹ thuật khai thác dữ liệu đã được áp dụng cho một loạt các phạm vi giáo dục Trong mỗi trường hợp, mục tiêu là để dịch dữ liệu thô thành các thông tin
có ý nghĩa về quá trình học tập để đưa ra quyết định tốt hơn về thiết kế và quy trình
của một môi trường học tập
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 phương pháp tiếp cận chính sau: phương pháp phân hoạch (Partitioning Methods); phương pháp phân cấp (Hierarchical Methods); phương pháp dựa trên mật độ (Density-Based Methods); phương pháp dựa trên lưới (Grid- Basesd Methods) [4]
2.2 Phương pháp phân hoạch (Partitioning Methods)
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 dữ 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 Tuy nhiên, 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 Chính vì vậy, trên thực tế thường đi tìm giải pháp tối ưu cục bộ
Trang 25cho 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 Như vậy, ý tưởng chính của thuật toán phân cụm 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
Điển hình trong phương pháp tiếp cận theo phân cụm phân họach là các thuật toán như: K_means, K-medoids, PAM, CLARA (Clustering Large Applications), CLARANS (Clustering Large Applications based on RAndomized Search) [][]
2.2.1 Thuật toán K – Means
Thuật toán k-means do MacQueen giới thiệu trong tài liệu “J Some methods for Classification and Analysis of Multivariate Observations” năm 1967 Mục đích của thuật toán là sinh ra k cụm dữ liệu {C1, C2,…, Ck} từ một tập dữ liệu ban đầu gồm n đối tượng trong không gian d chiều Xi= (xi1, xi2, …, xid) (i = ¯1¯,¯n¯), sao
cho hàm tiêu chuẩn E = ∑k ∑s ∈C i D2(x − mi) đạt giá trị cực tiểu Trong đó mi là trọng tâm của cụm Ci D là khoảng cách giữa hai đối tượng
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
Trang 26Hình 2.1: Thu ật toán K-Means
Thuật toán K-Means thực hiện qua các bước chính sau:
1 Chọn ngẫu nhiên K tâm (centroid) cho K cụm (cluster) Mỗi cụm được đại diện bằng các tâm của cụm
2 Tính khoảng cách giữa các đối tượng (objects) đến K tâm (thường dùng khoảng cách Euclidean)
3 Nhóm các đối tượng vào nhóm gần nhất
4 Xác định lại tâm mới cho các nhóm
5 Thực hiện lại bước 2 cho đến khi không có sự thay đổi nhóm nào của các đối tượng
Trình bày thu ật toán:
Input: Số các cụm k, cơ sở dữ liệu gồm n đối tượng
Output: Các cụm Ci(i=1,…, k) sao cho hàm tiêu chuẩn E đạt giá trị tối thiểu
Trang 27Bước 1: Khởi tạo k điểm trọng tâm cụm bằng cách chọn k đối tượng tùy ý Bước 2: Lặp các bước
- Với mỗi đối tượng Xi (1 ≤ i ≤ n), tính khoảng cách từ nó tới mỗi trọng tâm mjvới j=1,…,k Sau đó tìm trọng tâm gần nhất đối với mỗi đối tượng
- Với mỗi j=1,…,k, cập nhật trọng tâm cụm mjbằng cách xác định trung bình cộng của các vector đối tượng dữ liệu
Bước 3: Thuật toán dừng khi giá trị E không thay đổi
Để khoảng cách giữa điểm tâm tới các điểm, dùng độ đo khoảng cách Euclidean
Thuật toán k-means chỉ áp dụng khi trung bình của một cụm được xác định
Đánh giá thuật toán:
- Ưu điểm:
Thuật toán có độ phức tạp O(K.N.l) với l là số lần lặp
Có khả năng mở rộng, có thể dễ dàng sửa đổi với những dữ liệu mới
Bảo đảm hội tụ sau 1 số bước lặp hữu hạn
Các cụm không phân cấp và không bị chồng chéo dữ liệu lên nhau
- Nhược điểm:
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 Khó để chọn ra được số lượng cụm tối ưu ngay từ đầu, mà phải qua nhiều lần thử để tìm ra được số lượng cụm tối ưu
Rất nhạy cảm với nhiễu và các phần tử ngoại lai trong dữ liệu
Trang 28Không phải lúc nào mỗi đối tượng cũng chỉ thuộc về 1 cụm, chỉ phù hợp với đường biên giữa các cụm rõ
2.2.2 Thu ật toán PAM
Thuật toán PAM (Partitioning Around Medoids) được Kaufman và
Rousseeuw đề xuất 1987, là thuật toán mở rộng của thuật toán k-means, nhằm có
khả năng xử lý hiệu quả đối với dữ liệu nhiễu hoặc các phần tử ngoại lai Thay vì sử dụng các trọng tâm như k-means, PAM sử dụng các đối tượng medoid để biểu diễn cho các cụm dữ liệu, một đối tượng medoid là đối tượng đặt tại vị trí trung tâm nhất bên trong của mỗi cụm Vì vậy, các đối tượng medoid ít bị ảnh hưởng của các đối
tượng ở rất xa trung tâm, trong khi đó các trọng tâm của thuật toán k-means lại rất
bị tác động bởi các điểm xa trung tâm này Ban đầu, PAM khởi tạo k đối tượng
medoid và phân phối các đối tượng còn lại vào các cụm với các đối tượng medoid đại diện tương ứng sao cho chúng tương tự với đối tượng medoid trong cụm nhất
Để xác định các medoid, PAM bắt đầu bằng cách lựa chọn k đối tượng medoid bất kỳ Sau mỗi bước thực hiện, PAM cố gắng hoán chuyển giữa đối tượng
medoid O m và đối tượng O p không phải medoid, miễn là sự hoán chuyển này nhằm cải thiện chất lượng của phân cụm, quá trình này kết thúc khi chất lượng của phân cụm không thay đổi Chất lượng phân cụm được đánh giá thông qua hàm tiêu chuẩn, chất lượng phân cụm tốt nhất khi hàm tiêu chuẩn đạt giá trị tối thiểu
Để quyết định hoán chuyển hai đối tượng O m và O p hay không, thuật toán
PAM sử dụng giá trị tổng chi phí hoán chuyển C jmplàm căn cứ:
- O m: là đối tượng medoid hiện thời cần thay thế
- O p : là đối tượng medoid mới thay thế cho O m
- O j: là đối tượng không phải medoid, có thể được di chuyển sang cụm khác
- O m,2 : là đối tượng medoid hiện thời khác với O m mà g ần đối tượng O j nhất
Trong bốn trường hợp mô tả như trên, PAM tính giá trị hoán đổi C jmp cho tất
cả các đối tượng O j Trong mỗi trường hợp C jmp được tính với bốn cách khác nhau
Trang 29như sau:
+ Trường hợp 1: Giả sử O j hi ện thời thuộc về cụm có đại diện là O m và O j
tương tự với O m,2 hơn O p , (d(O j , O p )≥d(O j ,O m,2)) Trong trường hợp này, ta thay thế O m b ởi đối tượng medoid mới O p và O j sẽ thuộc về cụm có đối tượng
đại diện là O m,2 Vì thế, giá trị hoán chuyển C jmp = d(O j , O m,2 ) – d(O j , O m), giá
trị C jmp là không âm
+ Trường hợp 2: O j hi ện thời thuộc về cụm có đại diện là O m , nhưng O j ít
tương tự với O m,2 so v ới O p (d(O j , O p )<d(O j , O m,2)) Nếu thay thế O m b ởi O p thì
O j s ẽ thuộc về cụm có đại diện là O p Vì thế, C jmp = d(O j , O p )-d(O j , O m ) C jmp ở đây có thể là âm hoặc dương
+ Trường hợp 3: Giả sử O jhiện thời không thuộc về cụm có đối tượng đại
diện là O m , mà thuộc về cụm có đối tượng đại diện là O m,2 Mặt khác, giả sử O j
tương tự với O m,2 hơn so với O p , khi đó, nếu O m được thay thế bởi O p thì O j
vẫn sẽ ở lại trong cụm có đại diện là O m,2 Do đó, C jmp =0
+ Trường hợp 4: O j hi ện thời thuộc về cụm có đối tượng đại diện là O m,2
nhưng O j ít tương tự với O m,2 hơn so với O p Vậy nên, nếu ta thay thế Om bởi
Op thì O j s ẽ chuyển từ cụm O m,2 sang c ụm O p Do đó, C jmp = d(O j , O p ) - d(O j ,
O m,2 ) C jmp ở đây luôn âm
Kết hợp cả bốn trường hợp trên, tổng giá trị hoán chuyển O m bằng O pđược xác định như sau: TC mp= ∑j Cjmp
Các bước thực hiện thuật toán:
Input: Số nguyên k và CSDL gồm n đối tượng cần phân cụm
Output: Một tập gồm k cụm mà tổng giá trị của sự khác nhau của tất cả các đối tượng đến đối tượng tâm của nhóm chứa nó là nhỏ nhất
Bước 1: Chọn k đối tượng medoid bất kỳ
Bước 2: Tính TC mp cho t ất cả các cặp đối tượng O m, , O p Trong đó, O m là đối
Trang 30tượng medoid và O plà đối tượng không phải medoid
Bước 3: Với mỗi cặp đối tượng O m và O p Tính minO m , minO p , TC mp Nếu
TC mp là âm, thay th ế O m b ởi O p và quay l ại bước 2 Nếu TC mpdương, chuyển sang bước 4
Bước 4: Với mỗi đối tượng không phải medoid, xác định đối tượng medoid
tương tự với nó nhất, đồng thời gán nhãn cụm cho chúng
Đánh giá thuật toán PAM:
Trong bước 2 và bước 3, PAM phải duyệt tất cả k(n-k) cặp O m , O p Với mỗi
cặp, việc tính toán TC mpyêu cầu kiểm tra n-k đối tượng Vì vậy độ phức tạp tính toán của PAM là O(Ik(n-k)2), trong đó I là số vòng lặp Như vậy, thuật toán PAM
kém hiệu quả về thời gian tính toán khi giá trị của k và n lớn
2.2.3 Thuật toán CLARA
CLARA (Clustering LARge Application) được Kaufman và Rousseeuw đề xuất năm 1990, thuật toán này nhằm khắc phục nhược điểm của thuật toán PAM
trong trường hợp giá trị của k và n lớn CLARA tiến hành trích mẫu cho tập dữ liệu
có n phần tử và áp dụng thuật toán PAM cho mẫu này và tìm ra các các đối tượng medoid của mẫu này Người ta thấy rằng, nếu mẫu dữ liệu được trích một cách ngẫu nhiên, thì các medoid của nó xấp xỉ với các medoid của toàn bộ tập dữ liệu ban đầu
Để tiến tới một xấp xỉ tốt hơn, CLARA đưa ra nhiều cách lấy mẫu rồi thực hiện phân cụm cho mỗi trường hợp này và tiến hành chọn kết quả phân cụm tốt nhất khi thực hiện phân cụm trên các mẫu này Để cho chính xác, chất lượng của các cụm được đánh giá thông độ phi tương tự trung bình của toàn bộ các đối tượng dữ liệu trong tập đối tượng ban đầu Kết quả thực nghiệm chỉ ra rằng, 5 mẫu dữ liệu có kích
thước 40+2k cho các kết quả tốt Các bước thực hiện của thuật toán CLARA như
sau:
Trang 31INPUT: CSDL gồm n đối tượng, số cụm k
OUTPUT: k cụm dữ liệu
1 For i = 1 to
5 do Begin
2 Lấy một mẫu có 40 + 2k đối tượng dữ liệu ngẫu nhiên từ tập dữ liệu và áp
dụng thuật toán PAM cho mẫu dữ liệu này nhằm để tìm các đối tượng medoid đại
End;
Đánh giá thuật toán:
Độ phức tạp tính toán của thuật toán là O(k(40+k)2
+ k(n-k)), và CLARA có
thể thực hiện đối với tập dữ liệu lớn Chú ý đối với kỹ thuật tạo mẫu trong PCDL:
kết quả phân cụm có thể không phụ thuộc vào tập dữ liệu khởi tạo nhưng nó chỉ đạt
tối ưu cục bộ
2.3 Phương pháp phân cụm phân cấp (Hierarchical Methods)
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à: 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)
Trang 32- Phương pháp “dưới lên” (Bottom up) : Phương pháp này bắt đầu với mỗi
đối tượng được khởi tạo tương ứng với các cụm riêng biệt, 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
Hình 2.2: Các chi ến lược phân cụm phân cấp [4]
- Phương pháp “trên xuống” (Top Down) : Bắt đầu với trạng thái là tất cả
các đối tượng được xếp trong cùng một cụm Mỗi vòng lặp thành công, một
cụm được tách 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 là một cụm, 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
Điển hình trong phương pháp tiếp cận theo phân cụm phân cấp là các thuật toán như : AGNES (Agglomerative Nesting), DIANA (Divisive Analysis), BIRCH (1996), CURE (1998), CHAMELEON (1999)
Trang 33Thực tế áp dụng, có nhiều trường hợp 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 phân cụm dữ liệu 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 khai phá dữ liệu
2.3.1 Thu ật toán BIRCH
BIRCH (Balanced Iterative Reducing and Clustering Using Hierarchies) do
Tian Zhang, amakrishnan và Livny đề xuất năm 1996, là thuật toán phân cụm phân cấp sử dụng chiến lược Top down Ý tưởng của thuật toán là không cần lưu toàn bộ các đối tượng dữ liệu của các cụm trong bộ nhớ mà chỉ lưu các đại lượng thống kê Đối với mỗi cụm dữ liệu, BIRCH chỉ lưu một bộ ba (n, LS, SS), với n là số đối tượng trong cụm, LS là tổng các giá trị thuộc tính của các đối tượng trong cụm và
SS là tổng bình phương các giá trị thuộc tính của các đối tượng trong cụm Các bộ
ba này được gọi là các đặc trưng của cụm CF=(n, LS, SS) (Cluster Features - CF)
và được lưu giữ trong một cây được gọi là cây CF
Cây CF là cây cân bằng, nhằm để lưu trữ các đặc trưng của cụm Cây CF chứa các nút trong và nút lá Nút trong lưu giữ tổng các đặc trưng cụm của các nút con của nó Một cây CF được đặc trưng bởi hai tham số:
- Y ếu tố nhánh (B): Nhằm xác định số tối đa các nút con của mỗi nút trong của
cây;
- Ngưỡng (T): Khoảng cách tối đa giữa bất kỳ một cặp đối tượng trong nút lá
của cây, khoảng cách này còn gọi là đường kính của các cụm con được lưu tại các nút lá
Hai tham số này có ảnh hưởng lớn đến kích thước của cây CF
Thu ật toán BIRCH thực hiện qua các bước sau:
Trang 34I NPUT: CSDL gồm n đối tượng, ngưỡng T
OUTPUT: k cụm dữ liệu
Bước 1: Duyệt tất cả các đối tượng trong CSDL và xây dựng một cây
CF khởi tạo Một đối tượng được chèn vào nút lá gần nhất tạo thành cụm con
Nếu đường kính của cụm con này lớn hơn T thì nút lá được tách Khi một đối tượng thích hợp được chèn vào nút lá, tất cả các nút trỏ tới gốc của cây được
cập nhật với các thông tin cần thiết
Bước 2: Nếu cây CF hiện thời không có đủ bộ nhớ trong thì tiến hành
xây dựng một cây CF nhỏ hơn bằng cách điều khiển bởi tham số T (vì tăng T
sẽ làm hoà nhập một số các cụm con thành một cụm, điều này làm cho cây CF
nhỏ hơn) Bước này không cần yêu cầu bắt đầu đọc dữ liệu lại từ đầu nhưng
vẫn đảm bảo hiệu chỉnh cây dữ liệu nhỏ hơn
Bước 3: Thực hiện phân cụm: Các nút lá của cây CF lưu giữ các đại
lượng thống kê của các cụm con Trong bước này, BIRCH sử dụng các đại lượng thống kê này để áp dụng một số kỹ thuật phân cụm thí dụ như k-means
và tạo ra một khởi tạo cho phân cụm
Bước 4: Phân phối lại các đối tượng dữ liệu bằng cách dùng các đối
tượng trọng tâm cho các cụm đã được khám phá từ bước 3: Đây là một bước
tuỳ chọn để duyệt lại tập dữ liệu và gán nhãn lại cho các đối tượng dữ liệu tới các trọng tâm gần nhất Bước này nhằm để gán nhãn cho các dữ liệu khởi tạo
và loại bỏ các đối tượng ngoại lai
Khi hòa nhập 2 cụm ta có CF=CF1+CF2= (n1+n2, LS1+LS2, SS1+SS2) Khoảng cách giữa các cụm có thể đo bằng khoảng cách Euclid,
Manhatta,
Đánh giá thuật toán:
- Ưu điểm: Sử dụng cấu trúc cây CF làm cho thuật toán BIRCH có tốc độ
thực hiện PCDL nhanh và có thể áp dụng đối với tập dữ liệu lớn, BIRCH