Về mặt thực tiễn, khai phá dữ liệu hiện đang được áp dụng một cách rộng rãi trongnhiều lĩnh vực kinh doanh và đời sống khác nhau như: marketing, tài chính, ngân hàng vàbảo hiểm, khoa học
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA: KHOA HỌC MÁY TÍNH
TIỂU LUẬN
KHAI PHÁ DỮ LIỆU VÀ NHÀ KHO DỮ LIỆU
THUẬT TOÁN K-MEAN TRONG PHÂN CỤM DỮ LIỆU VÀ ỨNG DỤNG
TRONG KHAI PHÁ DỮ LIỆU
Giảng viên hướng dẫn : PGS-TS ĐỖ PHÚC
Lớp : CH06
Trang 2xử lý hiệu quả nguồn “tài nguyên- khoáng sản” này, các chuyên gia công nghệ thông tin
đã có rất nhiều công trình nghiên cứu và từ đó hình thành lĩnh vực riêng về đề tài này, cụthể là “Kỹ thuật phát hiện tri thức và khai phá dữ liệu” (KDD - Knowledge Discoveryand Data Mining) đã ra đời và đã được ứng dụng rộng rãi vào thực tế
Về mặt thực tiễn, khai phá dữ liệu hiện đang được áp dụng một cách rộng rãi trongnhiều lĩnh vực kinh doanh và đời sống khác nhau như: marketing, tài chính, ngân hàng vàbảo hiểm, khoa học, y tế, an ninh, internet, … rất nhiều tổ chức và công ty lớn trên thếgiới đã áp dụng kỹ thuật khai phá dữ liệu vào các hoạt động sản xuất kinh doanh Cáccông ty phần mềm lớn trên thế giới cũng rất quan tâm và chú trọng tới việc nghiên cứu vàphát triển kỹ thuật khai phá dữ liệu: hãng Oracle tích hợp các công cụ khai phá dữ liệuvào bộ Oracle9i, hãng Microsoft thì tích hợp các công cụ và SQL 2005, IBM đã đi tiênphong trong việc phát triển các ứng dụng khai phá dữ liệu với các ứng dụng nhưIntelligence Miner,…
Với niềm yêu thích về môn cơ sở dữ liệu truyền thống và bị lôi cuốn bởi sự mới
mẻ và hữu dụng ngay từ đầu của môn học Khai phá dữ liệu và nhà kho dữ liệu, cũng nhưnhận thấy Trong quá trình học, tôi nhận thấy gom cụm dữ liệu là kỹ thuật rất quan trọngtrong khai phá dữ liệu và k-means là một thuật toán rất hay trong gom cụm dữ liệu nêntôi quyết định chọn đề tài khoá luận cho mình là “Tìm hiểu và hiện thực hóa thuật toángom cụm dữ liệu (K-means)” với mục đích tìm hiểu rõ hơn và biểu diễn thuật toán K-Means một cách trực quan hơn
Trang 3Qua môn học “Khai phá dữ liệu”, tôi cũng như các bạn cùng lớp đã đúc kết đượcrất nhiều kiến thức bổ ích cho bản thân Tuy thời gian nghiên cứu cho môn học khôngnhiều nhưng những thông tin mới mẻ cũng như những ứng dụng rất thực tế mà ThầyPGS-TS Đỗ Phúc cung cấp trong môn học đã giúp tôi hình thành những cái nhìn mớihơn, sâu hơn về khám phá tri thức và khai phá dữ liệu, cũng như các ứng dụng của chúngvào trong công việc thực tiễn.
Đề tài thực hiện gồm các chương:
Chương I: Tổng quan về khai phá tri thức
Chương II: Thuật toán K-Means
Chương III: Một số ứng dụng
Chương IV: Kết luận
Trang 4NHẬN XÉT
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 5………
………
Trang 6Mục lục
CHƯƠNG 1: TỒNG QUAN VỀ KHAI PHÁ DỮ LIỆU 3
I CƠ SỞ LÝ THUYẾT 3
1.1 Giới thiệu chung về khám phá tri thức và khai phá dữ liệu: 3
1.2 Quá trình khám phá tri thức: 3
1.3 Quá trình khai phá dữ liệu: 4
1.4 Các phương pháp khai phá dữ liệu: 5
1.5 Các lĩnh vực ứng dụng thực tiễn của KPDL 6
1.6 Các hướng tiếp cận cơ bản và kỹ thuật áp dụng trong KPDL 6
1.7 Các thách thức - khó khăn trong KPTT và KPDL 7
II Phân cụm dữ liệu (Clustering) 7
2.1 Khái niệm phân cụm dữ liệu 7
2.2 Mục tiêu của phân cụm dữ liệu 8
2.3 Các ứng dụng của phân cụm dữ liệu 9
2.4 Các yêu cầu của phân cụm dữ liệu 10
2.5 Những kỹ thuật tiếp cận trong phân cụm dữ liệu 10
2.6 Một số thuật toán cơ bản trong gom cụm dữ liệu 13
CHƯƠNG 2: THUẬT TOÁN K-MEANS 14
I CƠ SỞ LÝ THUYẾT 14
1.1 Khái niệm 14
1.2 Thuật toán 15
1.3 Thời gian và độ phức tạp của thuật toán K-means 17
1.4 Ưu điểm 17
1.5 Một số hạn chế của thuật toán k-means 18
II MÔ HÌNH LATENT SEMANTIC INDEX (LSI) 20
2.1 Giới thiệu 20
2.2 Phân tích Singular Value Decomposition (SVD) của ma trận từ chỉ mục (term document A) 21 2.3 Truy vấn trong mô hình LSI 24
2.4 Cập Nhật Singular Value Decomposition (SVD) 26
2.4.1 Cập Nhật Văn Bản (SVD- Updating document): 26
2.4.2 Cập Nhật từ chỉ mục (terms): 28
Trang 72.4.3 Loại bỏ từ chỉ mục (Downdating) Trong Mô Hình LSI 29
2.5 Chọn hệ số k trong mô hình LSI 29
III CẢI TIẾN THUẬT TOÁN K-MEANS 32
3.1 Tiền xử lý tập dữ liệu vào 32
3.2 Chọn độ đo khoảng cách thích hợp 34
3.3 Chọn số cụm cho thuật toán K-means 36
CHƯƠNG 3: MỘT SỐ ỨNG DỤNG 39
I TRUY HỒI THÔNG TIN 39
II KHAI PHÁ DỮ LIỆU 40
2.1 Khai phá dữ liệu bằng phương pháp tiếp cận 41
2.2 Khai phá dữ liệu có cấu trúc lớn 42
2.3 Tóm tắt 44
CHƯƠNG 4: KẾT LUẬN 49
Trang 8CHƯƠNG 1: TỒNG QUAN VỀ KHAI PHÁ DỮ LIỆU
I CƠ SỞ LÝ THUYẾT
1.1 Giới thiệu chung về khám phá tri thức và khai phá dữ liệu:
Nếu cho rằng, điện tử và truyền thông chính là bản chất của khoa học điện tử, thì
dữ liệu, thông tin, và tri thức hiện đang là tiêu điểm của một lĩnh vực mới để nghiên cứu
và ứng dụng, đó là khám phá tri thức và khai phá dữ liệu
Thông thường, chúng ta coi dữ liệu như là một chuỗi các bits, hoặc các số và các
ký hiệu hay là các “đối tượng” với một ý nghĩa nào đó khi được gửi cho một chươngtrình dưới một dạng nhất định Các bits thường được sử dụng để đo thông tin, và xem nónhư là dữ liệu đã được loại bỏ phần tử thừa, lặp lại, và rút gọn tới mức tối thiểu để đặctrưng một cách cơ bản cho dữ liệu Tri thức được xem như là các thông tin tích hợp, baogồm các sự kiện và mối quan hệ giữa chúng, đã được nhận thức, khám phá, hoặc nghiêncứu Nói cách khác, tri thức có thể được coi là dữ liệu ở mức độ cao của sự trừu tượng vàtổng quát
Khám phá tri thức hay phát hiện tri thức trong CSDL là một quy trình nhận biếtcác mẫu hoặc các mô hình trong dữ liệu với các tính năng: Phân tích, tổng hợp, hợp thức,khả ích và có thể hiểu được
Khai phá dữ liệu là một bước trong quá trình khám phá tri thức, gồm các thuậttoán khai thác dữ liệu chuyên dùng dưới một số qui định về hiệu quả tính toán chấp nhậnđược để tìm ra các mẫu hoặc các mô hình trong dữ liệu Nói cách khác, mục tiêu củaKhai phá dữ liệu là tìm kiếm các mẫu hoặc mô hình tồn tại trong CSDL nhưng ẩn trongkhối lượng lớn dữ liệu
I.2 Quá trình khám phá tri thức:
Trang 9Hình 1: Quá trình Khám phá tri thức.
Bao gồm các bước sau:
I.3 Quá trình khai phá dữ liệu:
KPDL là một giai đoạn quan trọng trong quá trình KPTT Về bản chất, nó là giai
Trang 10Mô tả dữ liệu là tổng kết hoặc diễn tả những đặc điểm chung của những thuộc tính
dữ liệu trong kho dữ liệu mà con người có thể hiểu được
Dự đoán là dựa trên những dữ liệu hiện thời để dự đoán những quy luật được pháthiện từ các mối liên hệ giữa các thuộc tính của dữ liệu trên cơ sở đó chiết xuất ra cácmẫu, dự đoán được những giá trị chưa biết hoặc những giá trị tương lai của các biến quantâm
Quá trình KPDL bao gồm các bước chính được thể hiện như hình sau:
Hình 2: Quá trình Khai phá dữ liệu.
Thu thập và tiền xử lý dữ liệu
I.4 Các phương pháp khai phá dữ liệu:
Với hai mục đích khai phá dữ liệu là Mô tả và Dự đoán, người ta thường sử dụngcác phương pháp sau cho khai phá dữ liệu:
Luật kết hợp (association rules)
Trang 11 Gom cụm (Clustering)
Phân tích sự phát triển và độ lệch (Evolution and deviation analyst)
Có nhiều phương pháp khai phá dữ liệu được nghiên cứu ở trên, trong đó có baphương pháp được các nhà nghiên cứu sử dụng nhiều nhất đó là: Luật kết hợp, Phân lớp
dữ liệu và Gom cụm dữ liệu
I.5 Các lĩnh vực ứng dụng thực tiễn của KPDL
KPDL là một lĩnh vực mới phát triển nhưng thu hút được khá nhiều nhà nghiêncứu nhờ vào những ứng dụng thực tiễn của nó Sau đây là một số lĩnh vực ứng dụng thực
tế điển hình của KPDL:
Phân tích dữ liệu và hỗ trợ ra quyết định
Phân tích tình hình tài chính, thị trường, dự báo gía cổ phiếu trong tài chính, thịtrường và chứng khoán
Điều khiển và lập lịch trình
Giáo dục
I.6 Các hướng tiếp cận cơ bản và kỹ thuật áp dụng trong KPDL
Vấn đề khai phá dữ liệu có thể được phân chia theo lớp các hướng tiếp cận chính
Trang 12 Gom cụm (clustering/segmentation)
Luật kết hợp (association rules)
Phân tích chuỗi theo thời gian (sequential/temporal patterns)
Mô tả khái niệm (concept desccription & summarization)
I.7 Các thách thức - khó khăn trong KPTT và KPDL
KPTT và KPDL liên quan đến nhiều ngành, nhiều lĩnh vực trong thực tế, vì vậycác thách thức và khó khăn ngày càng nhiều, càng lớn hơn Sau đây là một số các tháchthức và khó khăn cần được quan tâm:
Các cơ sở dữ liệu lớn, các tập dữ liệu cần sử lý có kích thước cực lớn, Trong thực
tế, kích thước của các tập dữ liệu thường ở mức tera-byte (hàng ngàn giga-byte)
hợp
II Phân cụm dữ liệu (Clustering)
2.1 Khái niệm phân cụm dữ liệu
Gom cụm dữ liệu là vấn đề rất quan trọng, được dùng trong nhiều lĩnh vực Mụcđích của gom cụm là xác định các cụm tồn tại bên trong một tập hợp dữ liệu không có nhãn(không biết phần tử nào thuộc vào lớp nào) cho trước
Gom cụm dữ liệu là một phương pháp học không giám sát (unsupervised learning).Gom cụm dữ liệu là quá trình nhóm một tập các đối tượng tương tự nhau trong tập
dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một cụm là tương đồng còn cácđối tượng thuộc các cụm khác nhau sẽ không tương đồng Gom cụm dữ liệu là một ví dụcủa phương pháp học không có thầy Không giống như phân lớp dữ liệu, gom cụm dữliệu không đòi hỏi phải định nghĩa trước các mẫu dữ liệu huấn luyện Vì thế, có thể coigom cụm dữ liệu là một cách học bằng quan sát, trong khi phân lớp dữ liệu là học bằng ví
Trang 13dụ… Ngoài ra gom cụm dữ liệu còn có thể được sử dụng như một bước tiền xử lí cho cácthuật toán khai phá dữ liệu khác như là phân loại và mô tả đặc điểm, có tác dụng trongviệc phát hiện ra các cụm.
Hình 3: Mô tả tập dữ liệu vay nợ được gom thành 3 cụm.
Gom cụm có ý nghĩa rất quan trọng trong hoạt động của con người Ngay từ lúc
bé, con người đã học cách làm thế nào để phân biệt giữa mèo và chó, giữa động vật vàthực vật và liên tục đưa vào sơ đồ phân loại trong tiềm thức của mình Gom cụm được sửdụng rộng rãi trong nhiều ứng dụng, bao gồm nhận dạng mẫu, phân tích dữ liệu, xử lýảnh, nghiên cứu thị trường Với tư cách là một chức năng khai phá dữ liệu, phân tíchgom cụm có thể được sử dụng như một công cụ độc lập chuẩn để quan sát đặc trưng củamỗi cụm thu được bên trong sự phân bố của dữ liệu và tập trung vào một tập riêng biệtcủa các cụm để giúp cho việc phân tích đạt kết quả
II.2 Mục tiêu của phân cụm dữ liệu
Mục tiêu của gom 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 vì tạo thành một cụm tốt Nó có thể được chỉ
Trang 14Theo các nghiên cứu cho thấy thì hiện nay chưa có một phương pháp gom cụmtổ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 dữ liệu Hơn nữa,các phương pháp gom cụm cần có cách thức biểu diễn cấu trúc của các dữ liệu, với mỗicách thức biểu diễn khác nhau sẽ có tương ứng một thuật toán gom cụm phù hợp Vì vậygom 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 vẹn và phù hợp với nhiều dạng dữ liệu khác nhau, đặc biệt là đối với
dữ 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ộttrong những thách thức lớn trong lĩnh vực KPDL
II.3 Các ứng dụng của phân cụm dữ liệu
Gom cụm dữ liệu có thể được ứng dụng trong nhiều lĩnh vực như:
cung cấp cho độc giả
Quy hoạch đô thị: Nhận dạng các nhóm nhà theo kiểu và vị trí địa lí, nhằm cungcấp thông tin cho quy hoạch đô thị
trường Web Các lớp tài liệu này trợ giúp cho việc KPTT từ dữ liệu
II.4 Các yêu cầu của phân cụm dữ liệu
Gom cụm là một thách thức trong lĩnh vực nghiên cứu ở chỗ những ứng dụng tiềmnăng của chúng được đưa ra ngay chính trong những yêu cầu đặc biệt của chúng Sau đây
là những yêu cầu cơ bản của gom cụm trong KPDL:
Trang 15 Có khả năng mở rộng.
Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào
dữ liệu ngoại lai, dữ liệu lỗi, dữ liệu chưa biết hoặc dữ liệu sai Một số thuật toángom cụm nhạy cảm với dữ liệu như vậy và có thể dẫn đến chất lượng gom cụmthấp
Ít nhạy cảm với thứ tự của các dữ liệu vào
Số chiều (thuộc tính) lớn
Với những yêu cầu đáng lưu ý này, nghiên cứu của ta về phân tích gom cụm diễn
ra như sau: Đầu tiên, ta nghiên cứu các kiểu dữ liệu khác và cách chúng có thể gây ảnhhưởng tới các phương pháp gom cụm Thứ hai, ta đưa ra một cách phân loại chung trongcác phương pháp gom cụm Sau đó, ta nghiên cứu chi tiết mỗi phương pháp gom cụm,bao gồm các phương pháp phân hoạch, phân cấp, dựa trên mật độ, Ta cũng khảo sát sựgom cụm trong không gian đa chiều và các biến thể của các phương pháp khác
II.5 Những kỹ thuật tiếp cận trong phân cụm dữ liệu
Các kỹ thuật gom 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 gom cụm có thể phân loại theocác cách tiếp cận chính sau:
Trang 16Hình 4: Các chiến lược gom cụm phân cấp
Hình 5: Cấu trúc phân cấp.
Trang 17Hình 6: Các cách mà các cụm có thể đưa ra
Hiện nay, các phương pháp gom cụm trên đã và đang được phát triển và áp dụngnhiều trong các lĩnh vực khác nhau và đã có một số nhánh nghiên cứu được phát triểntrên cơ sở của các phương pháp đó như:
Trang 18II.6 Một số thuật toán cơ bản trong gom cụm dữ liệu
o Thuật toán k-means
o Thuật toán PAM
o Thuật toán CLARA
o Thuật toán CLARANS
o Thuật toán CURE
o Thuật toán BIRCH
o Thuật toán AGNES
o Thuật toán DIANA
o Thuật toán ROCK
o Thuật toán CHANMELEON
o Thuật toán DBSCAN
o Thuật toán OPTICS
o Thuật toán DENCLUE
o Thuật toán STING
o Thuật toán CLIQUE
o Thuật toán EM
o Thuật toán COBWEB
o FCM
Trang 19o ɛFCM.
o FCM-Cải tiến
Trang 20CHƯƠNG 2: THUẬT TOÁN K-MEANS
I CƠ SỞ LÝ THUYẾT
II.1 Khái niệm
K-means là thuật toán gom cụm theo phương pháp phân hoạch và đã được sửdụngrộng rãi Cho tập các đối tượng, mục tiêu gom cụm hay phân mảnh là chia tậpđốitượng này thành nhiều nhóm hay “cụm” sao cho các đối tượng trong một cụmcókhuynh hướng tương tự nhau hơn so với đối tượng khác nhóm Nói cách khác,cácthuật toán gom cụm đặt các điểm tương tự trong cùng một cụm trong khi cácđiểmkhông tương tự đặt trong nhóm khác Lưu ý, ngược với các tác vụ có giám sátnhư hồiqui hay phân lớp, ở đó có khái niệm giá trị mục tiêu hay nhãn lớp, các đốitượng là đầuvào cho một thủ tục gom cụm không cần một mục tiêu Vì vậy, gomcụm thường đượcxem là học không có giám sát Do không cần dữ liệu nhãn, cácthuật toán không giámsát thích hợp với nhiều ứng dụng không có dữ liệu được gánnhãn Các tác vụ khônggiám sát như gom cụm thường được dùng để khám phá và
mô tả tập dữ liệu trước khithực hiện công việc học có giám sát Do gom cụmkhông dùng các nhãn lớp, khái niệmthức mà ở đó các điểm được gom cụm khácnhau dựa trênthuật toán gom cụm được áp dụng Các thuật toán gom cụm khácnhau thích hợp vớicác kiểu khác nhau về tập dữ liệu và các mục tiêu khác nhau Vìvậy thuật toán gomcụm “tốt nhất” để sử dụng tùy thuộc vào ứng dụng
Thuật toán k-means là thuật toán gom cụm lặp đơn giản Nó phân mảnh tập dữ liệucho trước thành k cụm, giá trịk do người dùng xác định Thuật toán dễ thực
hiện, thihành nhanh, dễ thích nghi và phổ biến trong thực tế Đây là một trongnhững thuậttoán kinh điển trong khai thác dữ liệu
K-means được nhiều nhà nghiên cứu khám phá thông qua nhiều cách khác
nhau, đángchú ý nhất là Lloyd (1957, 1982), Forgey (1965), Friedman và Rubin
(1967) vàMcQueen (1967) Jain và Dubes mô tả lịch sửk-means theo nhiều biến
Trang 21thể Gray vàNeuhoff cung cấp nền tảng cho k-means diễn ra trong ngữ cảnh lớn
hơn trên các thuậttoán leo đồi
II.2 Thuật toán
Thuật toán k-means áp dụng cho các đối tượng được biểu diễn bởi các điểm
trongkhông gian vectơd chiều U {x | i 1, , N} i = = , với di x ∈ℜbiểu thị đối tượng (hay điểmdữ liệu) thứi Thuật toán k-means gom cụm toàn bộ các điểm dữ liệu trong U thành kcụm C ={C1, C2, … , Ck },sao cho mỗi điểm dữ liệu xi nằm
trong một cụm duy nhất Đểbiết điểm dữ liệu thuộc cụm nào người ta gán cho nómột mã cụm Các điểm có cùngmã cụm thì ở cùng cụm, trong khi các điểm khác
mã cụm thì ở trong các cụm khácnhau Một cụm có thể biểu thị bằng vec-tơ liên
thuộc cụm v có độ dài N, với vi là mãcụm của xi.
Giá trịk là đầu vào của thuật toán Giá trịk dựa trên tiêu chuẩn tri thức trước đó.
Sẽ cóbao nhiêu cụm thực sự xuất hiện trong U, bao nhiêu cụm được đề nghị cho
ứng dụng hiện hành, hay các kiểu cụm được tìm thấy bằng cách dựa vào thực
nghiệm với nhiềugiá trịk khác nhau Không cần thiết phải hiểu k được chọn như thế nào khi k-meansphân mảnh tập dữ liệu U, việc chọn giá trịk như thế nào sẽ
được thảo luận trong phầnkế tiếp
Trong các thuật toán gom cụm, các điểm được nhóm theo khái niệm “độ gần”
hay “độtương tự” Với k-means, phép đo mặc định cho “độ tương tư” là khoảng cách Euclide.Đặc biệt, có thể thấy k-means cố gắng cực tiểu hóa hàm giá trị không
âm sau:
Trang 22Nói cách khác, k-means cố gắng cực tiểu khoảng cách Euclide tổng bình phương giữamỗi điểm xi và thể hiện cụm gần nhất của nó Cj Biểu thức trên thường được xem làhàm mục tiêu k-means.
Thuật toán k-means, thay đổi giữa 2 bước: (1) gán lạimã cụm của tất cả điểm
trong U và (2) cập nhật các thể hiện cụm dựa trên các điểm dữliệu trong mỗi cụm.
Thuật toán làm việc như sau: đầu tiên, các thể hiện nhóm đượckhởi tạo bằng cách
chọn k điểm trong ℜd Các kỹ thuật để chọn các hạt giống khởi tạobao gồm lấy
mẫu ngẫu nhiên từ tập dữ liệu, xem chúng như giải pháp gom cụm tậpcon nhỏ dữ
liệu, hay làm thay đổi giá trị trung bình toàn cục của k lần dữ liệu Trongthuật toán 2.1, ta khởi tạo k điểm ngẫu nhiên Sau đó thuật toán lặp 2 bước cho đến khihội tụ.
Bước 1 [Gán dữ liệu] Mỗi điểm được gán vào trọng tâm gần nhất.
Bước 2 Tái định vị “độ trung bình” Mỗi thể hiện nhóm được tái định vị
vàotâm của tất cả các điểm được gán cho nó Cho trước tập các điểm, thểhiện tốt nhất đốivới tập này (theo ý nghĩa tối thiểu tổng khoảng cáchEuclide giữa mỗi điểm và thểhiện) thì không là gì cả ngoài độ trung bìnhcủa các điểm dữ liệu Đó là lý do tại sao thể hiện nhóm (hay còn gọi là tâmcủa nhóm) thường được tính là trung bình nhóm vàđó là cách thuật toánmang tên
Thuật toán hội tụ khi việc gán không còn thay đổi Người ta có thể thấy rằng
hàm mụctiêu k-means được định nghĩa trong biểu thức 2.1 sẽ giảm bất cứ khi nào
có một thayđổi trong bước gán hay bước tái định vị và sự hội tụ được đảm bảo sau
hữu hạn bướclặp Lưu ý, mỗi bước lặp cần Nk phép so sánh Đây là độ phức tạp
thời gian trong mỗibước lặp Số bước lặp cần cho sự hội tụ thay đổi và có thể tùy
thuộc vào N, nhưng ởlần cắt đầu tiên, k-means có thể được xem là tuyến tính với
kích thước tập dữ liệu
Hơn nữa, do thao tác so sánh là tuyến tính với d nên thuật toán cũng tuyến tính
theochiều dữ liệu
Trang 23Hình 4 Thuật toán k-means
II.3 Thời gian và độ phức tạp của thuật toán K-means.
- Độ phức tạp của việc chọn k cụm ban đầu là O(k).
- Tính khoảng cách của n đối tượng với trọng tâm của từng cụm là O(kn).
- Thời gian cập nhật lại centriods là O(n).
- Thời gian của bước 4 là O(n)
Vậy độ phức tạp của thuật toán K-means là:
O(k) + t(O(kn) + O(n) + O(n)) = O(tkn)
II.4 Ưu điểm
- Hiệu suất tương đối: do t, k << n (t là số lần lặp, k là số cụm, n là tậpvăn
bản) cho nên có sự thực thi rất tốt trong hầu hết các ứng dụng
- Scalable tương đối: trong khi xử lý các tập dữ liệu lớn.
- Kết thúc ở điểm tối ưu cục bộ, có thể dùng thuật toán di truyền để tìm tối
ưu toàn cục
Trang 24II.5 Một số hạn chế của thuật toán k-means
Sự hội tụ chỉ là tối ưu cục bộ và thuật toán khá nhạy cảm với các định vị tâm
khởi tạo.Nói cách khác, việc khởi tạo tâm các thể hiện cụm C khác nhau có thể dẫn đến rấtnhiều cụm, thậm chí trên cùng tập dữ liệu U Việc khởi tạo nghèo nàn
có thể dẫn đếncác cụm rất nghèo nàn
Như đã đề cập, việc chọn giá trị tối ưu của k có thể khó Nếu hiểu rõ về tập dữ
liệu,như là số mảnh tự nhiên có trong tập dữ liệu thì sự hiểu biết đó là cơ sở để
chọn k.Ngược lại, ta phải dùng một chuẩn khác để chọn k Một giải pháp là thử nhiều giá trịkhác nhau của k và chọn cụm mà nó cực tiểu hàm mục tiêu k-means.
Giá trị hàm mụctiêu không giống thông tin như mong muốn Điều này làm bàitoán khó hơn khi dùnghàm mục tiêu cho (a) các giải pháp so sánh trực tiếp với
nhiều số cụm khác nhau và(b) tìm giá trị tối ưu của k Vì vậy, nếu không biết được giá trị k mong chờ, người ta sẽchạy k-means với các giá trị k khác nhau rồi chọn ra
một trong những giá trị tốt nhất
Người ta có thể tăng dần số cụm, kết hợp với chuẩn dừng thích hợp Chia
k-mean làm2, đầu tiên cho tất cả dữ liệu vào trong một cụm, sau đó chia một cách đệquy cụm ítbền vững nhất thành 2 cụm dùng 2-means Thuật toán LBG dùng cholượng tử hóavec-tơ gấp đôi số cụm cho đến khi có kích thước hợp lý Cả hai
hướng tiếp cận trênlàm nhẹ bớt nhu cầu biết trước k Nhiều nhà nghiên cứu khác
vẫn tiếp tục nghiên cứuvấn đề này
Với các giới hạn trên, k-means kém chất lượng do nhiều vấn đề khác Đầu tiên
có thểđược hiểu bằng bài toán khớp dữ liệu dùng cách trộn k Gaussian với các ma trận thốngkê Σ=σ 2 I (isotropic convariance matrices), với I là ma trận xác định, các kết quảtrong phiên bản “mềm” của k-means Chính xác hơn, nếu các phép gán
mềm của cácđiểm dữ liệu cho những thành phần trộn của một mô hình như vậy trởnên khó, saocho mỗi điểm dữ liệu được định vị đơn độc cho thành phần giống
nhất, đó là thuật toánk-means Từ đó có thể thấy, k-means sẽ gặp khó khăn bất cứ
Trang 25lúc nào khi dữ liệu khôngđược mô tả tốt theo vị trí của các phân bố Gaussian Ví
dụ, k-means sẽ có vấn đề nếucó các nhóm có hình dạng không lồi.
Phương pháp khác để làm việc với các cụm không lồi bằng cách bắt cặp
k-means vớithuật toán khác Ví dụ, đầu tiên ta có thể gom cụm dữ liệu thành số
lượng lớn cácnhóm dùng k-means Sau đó tích tụ các nhóm này thành các cụm lớn
hơn dùng cụmphân cấp liên kết đơn, có thể dò tìm ra hình dạng phức tạp Hướngtiếp cận này cũng làgiải pháp ít nhạy cảm hơn so với khởi tạo Do phương phápphân cấp cho ra nhiều kết quả trong nhiều giải pháp, ta không cần lo lắng về việc
chọn k chính xác; thay vì, ta cóthể dùng giá trị lớn cho k khi tạo các cụm khởi tạo.
Thuật toán cũng nhạy cảm với sự hiện diện của những phần nằm ngoài, do sửdụng độđo trung bình Để xử lý vấn đề này, đầu tiên là tiền xử lý loại bỏ nhữngphần nằmngoài có thể hữu ích Sau đó hậu xử lý kết quả, ví dụ để loại bỏ các cụmnhỏ hay trộncác cụm gần nhau thành cụm lớn hơn cũng cần thiết Thuật toán
ISODATA năm 1967sử dụng hiệu quả cho cả tiền và hậu xử lý trên k-means Vấn đề tiềm ẩn khác là vấn đề các cụm “rỗng” Khi thực hiện k-means, đặc biệt vớinhững giá trị lớn của k và khi dữ liệu nằm trong không gian có chiều rất cao, có thể tạimột điểm nào đó trong thi hành, tồn tại thể hiện nhóm Cj sao cho tất cả các điểm xi gầnvới thể hiện cụm nào đó mà không là Cj Khi các điểm trong U được gán với cụm gầnnhất của chúng, cụm thứ j sẽ có các điểm zero được gán vào nó Lúc đó, cụm Cj làrỗng.
Tóm lại, thuật toán k-means là thuật toán gom cụm bằng cách lặp, phân tập dữ liệuthành k cụm Thuật toán lặp đi lặp lại 2 bước: (1) gom cụm tất cả các điểm
trong tậpdữ liệu dựa trên khoảng cách giữa mỗi điểm và thể hiện cụm gần nhất của
nó và (2)ước tính lại các thể hiện cụm Các giới hạn của thuật toán k-means gồm
Trang 26dữ liệu dòng Việc tiếp tụccải tiến và tổng quát hóa thuật toán cơ bản sẽ nâng caotính hiệu quả của thuật toán.
II MÔ HÌNH LATENT SEMANTIC INDEX (LSI)
II.6 Giới thiệu
Mô hình không gian vector được nếu như số lượng từ chỉ mục tăng rất lớn thìkích thước của ma trận từ chỉ mục (term document) A cũng tăng theo rất lớn Hơnnữa độ đo Cosines giữa vector truy vấn và vector văn bản là phải khác Zero nếu vàchỉ nếu tồn tại ít nhất từ chỉ mục giữa 2 vector trên
Latent Semantic Indexing (LSI ) là phương pháp tạo chỉ mục tự động dựa trên
khái niệm để khắc phục hai hạn chế tồn tại trong mô hình không gian vector chuẩn
về hai vấn đề synoymy và polysemy Với synoymy, nhiều từ có thể được sử dụng
để biểu diễn một khái niệm, vì vậy hệ thống không thể trả về những văn bản liênquan đến câu truy vấn của người dùng khi họ sử dụng những từ trong câu truy vấnđồng nghĩa với những từ trong văn bản Với polysemy, một từ có thể có nhiềunghĩa, vì vậy hệ thống có thể trả về những văn bản không liên quan Điều này thực
tế rất thường xảy ra bởi vì các văn bản trong tập văn bản được viết bởi rất nhiềutác giả, với cách dùng từ rất khác nhau Một cách tiếp cận tốt hơn cho phép người
dùng truy vấn văn bản dựa trên khái niệm (concept) hay nghĩa (meaning) của văn
bản
Mô hình LSI cố gắng khắc phục hai hạn chế trên trong mô hình không gian
vector bằng cách chỉ mục khái niệm được tạo ra bởi phương pháp thống kê ( phân tích SVD ma trận term – document A) thay cho việc sử dụng các từ chỉ mục đơn.
Mô hình LSI dựa trên giả thiết là có các ngữ nghĩa tiềm ẩn (latent semantic) trong
việc sử dụng từ: có nhiều từ biểu diễn cho một khái niệm và một khái niệm có thể
được biểu diễn bởi nhiều từ Mô hình LSI sử dụng phân tích SVD (Singular Value Decomposition) ma trận term – document A để phát hiện ra các quan hệ ngữ nghĩa
trong cách dùng từ trong toàn bộ văn bản
Trang 27II.7 Phân tích Singular Value Decomposition (SVD) của ma trận từ chỉ mục (term document A)
Vấn đề cơ bản của mô hình LSI là phân tích SVD của ma trận term document
A Nó được biểu diễn như sau:
- V là ma trận trực giao cấp r x n (n số văn bản trong tập văn bản) - các
vector cột của V là các vector văn bản
Ví dụ 2.2.2.1: Ta quay lại ví dụ 2.1.3.1 ở trên, phân tích SVD của ma trận term
Trang 28V = ( 0.4366 −0.4717 0.3067 0.7549 0.3688 0.0998 −0.6715 −0.2760 −0.5000 0
0.4412 −0.3568 −0.6247 0.1945 −0.5000 0.4909 −0.0346 0.5711 0.6571 0 0.5288 0.2815 −0.3712 −0.0577 0.7071 )
Ma trận xấp xỉ A k=UΣV k ΣV k V k T có hạng là k với k << r Trong đó, các cột của
Uk là k cột đầu tiên của U, các cột của Vk là k cột đầu tiên của của V và ΣVk là matrận đường chéo cấp k x k với các phần tử nằm trên đường chéo là k giá trị suy biến lớn nhất của A.
T