1. Trang chủ
  2. » Luận Văn - Báo Cáo

THUẬT TOÁN K-MEAN TRONG PHÂN CỤM DỮ LIỆU VÀ ỨNG DỤNG TRONG KHAI PHÁ DỮ LIỆU

57 1,5K 8

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 57
Dung lượng 602,77 KB

Nội dung

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 2

xử 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 3

Qua 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 4

NHẬN XÉT

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Trang 5

………

………

Trang 6

Mụ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 7

2.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 8

CHƯƠ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 9

Hì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 10

Mô 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 13

dụ… 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 14

Theo 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 16

Hì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 17

Hì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 18

II.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 19

o ɛFCM.

o FCM-Cải tiến

Trang 20

CHƯƠ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 21

thể 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 22

Nó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 23

Hì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 24

II.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 25

lú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 26

dữ 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 27

II.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 28

V = ( 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

Ngày đăng: 10/04/2015, 00:25

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nils J. Nilson “Introduction to machine learning”, December 4, 1996 Sách, tạp chí
Tiêu đề: Introduction to machine learning
[6] Raymond J. Mooney, “Slide Machine Learning Introduction”Các tài liệu tiếng Việt Sách, tạp chí
Tiêu đề: Slide Machine Learning Introduction
[6] Phan Đình Diệu (1999), “Lô Gích trong Các Hệ Tri Thức”, NXB Đại học Quốc gia Hà Nội, Hà Nội Sách, tạp chí
Tiêu đề: Lô Gích trong Các Hệ Tri Thức
Tác giả: Phan Đình Diệu
Nhà XB: NXB Đại học Quốcgia Hà Nội
Năm: 1999
[7] GS.TSKH. Hoàng Kiếm, Lê Bá Phương, “Ứng dụng khai phá dữ liệu để tìm hiểu thông tin khách hàng”Các tài liệu trên internet Sách, tạp chí
Tiêu đề: Ứng dụng khai phá dữ liệu để tìm hiểuthông tin khách hàng
[3] M.R Anderber, Cluster analysis of application, A cademic Press, New York, 1973 Khác
[4] B.S. Everitt, Cluster Analysis, Edward Amold coblished by Haisted Press and imprint of john Wiley &amp; Sons Inc., 3rd edition, 1993 Khác
[5] D.Fisher, Knowledged acquisition via incremental conceptual clustering, in Machine Learing Khác
[5] Slide _ Công nghệ tri thức và ứng dụng _ GS.TSKH. Hoàng Kiếm Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w