Phân lớp dữ liệu Phân lớp dữ liệu là kỹ thuật dựa trên tập huấn luyện và những giá trị hay là nhãn của lớp trong một thuộc tính phân lớp và sử dụng nó trong việc phân lớp dữ liệu mới..
Trang 1ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
PHẠM THỊ THU
CÁC THUẬT TOÁN PHÂN CỤM DỮ DIỆU
VÀ ỨNG DỤNG TRONG PHÂN LOẠI PROTEIN
LUẬN VĂN THAC SĨ KHOA HỌC MÁY TÍNH
Thái Nguyên – 2015
Trang 2ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Trang 3LỜI CẢM ƠN
Để hoàn thành chương trình cao học và viết luận văn này, tôi đã nhận được sự hướng dẫn, giúp đỡ và góp ý nhiệt tình của quý thầy cô trường Đại học Công nghệ thông tin và Truyền thông Đặc biệt là những thầy cô ở Viện công nghệ thông tin Hà Nội đã tận tình dạy bảo cho tôi suốt thời gian học tập tại trường
Tôi xin gửi lời cảm ơn sâu sắc đến PGS.TS Đoàn Văn Ban đã dành nhiều thời gian và tâm huyết hướng dẫn tôi hoàn thành luận văn này
Mặc dù tôi đã có nhiều cố gắng hoàn thiện luận văn bằng tất cả năng lực của mình, tuy nhiên không thể tránh khỏi những thiếu sót, rất mong nhận được sự đóng góp quí báu của quí thầy cô và các bạn
Tôi xin chân thành cảm ơn!
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan tất cả các nội dung của luận văn này hoàn toàn được hình thành và phát triển từ quan điểm của chính cá nhân tôi, dưới sự hướng dẫn chỉ bảo của PGS.TS Đoàn Văn Ban Các số liệu kết quả có được trong luận văn tốt nghiệp là hoàn toàn trung thực
Học viên
Phạm Thị Thu
Trang 5DNA DesoxyriboNucleic Acid
Phân tử nucleic acid mang thông tin di truyền mã hóa cho hoạt động sinh trưởng và phát triển của các dạng sống
RNA RiboNucleic Acid
Là một trong hai loại axít nucleic,
là cơ sở di truyền ở cấp độ phân
tử
rRNA ribosome RNA Là ARN mã hóa và mang thông tin
từ AND tRNA transfer RNA Là RNA vận chuyển
SCOP Structural Classification of
Proteins Phân loại cấu trúc các protein
CATH Class Architecture Topology
Homologous superfamily
Phân loại cấu trúc protein với CATH
DDD Dali Domain Dictionary Từ điển miền Dali
PDB Protein Data Bank Ngân hàng dữ liệu protein
FSSP Families of Structurally
Similar Proteins
Dòng họ protein với cấu trúc tương
tự
Trang 6Trang
Hình 1.1 Ví dụ phân cụm của tập dữ liệu vay nợ thành 3 cụm 6 Hình 1.2 Các chiến lƣợc phân cụm phân cấp 15 Hình 1.3 Một số hình dạng khám phá bởi phân cụm trên mật độ
độ
16
Hình 2.1 Các thiết lập để xác định danh giới các cụm ban đầu 25 Hình 2.2 Tính toán trọng tâm của các cụm mới 26 Hình 2.3 Minh họa trực quan quá trình phân cụm 28
34
35
35
Hình 2.9 Kiến trúc khác nhau giữa SOM và SoT 40 Hình 2.10 Phân việc từ cây
old c
Hình 2.11 Tách subtreex khỏi cây
old c tree và đƣa vào list 44 Hình 2.12 Tái liên kết subtreex vào treec 45 Hình 3.1 Thuyết trung tâm của sinh học phân tử 47
Trang 7Hình 3.6 Thông tin về bộ dữ liệu 66 Hình 3.7 Kết quả phân cụm với số tâm cụm bằng 10 67 Hình 3.8 Kết quả phân cụm bằng SoT với số tâm cụm bằng 10 67 Hình 3.9 Giao diện hiển thị 10 phân cụm trong thuật toán SoT 68 Hình 3.10 Chi tiết phân cụm thứ tám trong thuật toán SoT 68
Hình 3.11 Tập tin kết quả phân cụm clara 69
DANH MỤC BẢNG
Bảng 3.1 Nguồn tài nguyên cho phân loại cấu trúc protein 52
Trang 8MỤC LỤC
LỜI CẢM ƠN i
LỜI CAM ĐOAN ii
BẢNG KÝ HIỆU CÁC CHỮ VIẾT TẮT iii
iv
MỞ ĐẦU 1
CHƯƠNG 1 KHAI PHÁ DỮ LIỆU 3
1.1 Khái niệm chung 3
1.2 Phân lớp dữ liệu 4
1.3 Phân cụm dữ liệu 5
1.3.1 Tổng quan về phân cụm dữ liệu 5
1.3.2 Các yêu cầu cơ bản đối với các kỹ thuật phân cụm dữ liệu 9
1.3.3 Các kiểu dữ liệu trong phân cụm dữ liệu 9
1.3.4 Độ đo trong phân cụm dữ liệu 11
1.3.5 Các kỹ thuật tiếp cận với bài toán phân cụm 13
1.4 Luật kết hợp 20
1.4.1 Một số khái niệm cơ sở 20
21
21
1.5 Một số ứng dụng của phân cụm dữ liệu 22
1.5.1 Ứng dụng trong tin sinh học 22
1.5.2 Ứng dụng trong phân loại đối tượng văn bản 23
1.5.3 Ứng dụng trong phân đoạn ảnh, nhận dạng 23
1.6 Kết luận chương 1 24
CHƯƠNG 2 CÁC THUẬT TOÁN PHÂN CỤM 25
2.1 Thuật toán K-means 25
2.2 Thuật toán CHAMELEON 29
2.3 Thuật toán CLARA 32
2.4 Thuật toán CURE 33
2.5 Thuật toán AntTree 37
2.6 Thuật toán cây tự tổ chức SoT 39
2.7 Kết luận chương 2 46
CHƯƠNG 3 CHƯƠNG TRÌNH THỬ NGHIỆM 47
Trang 93.1 Protein và các kỹ thuật phân loại Protein 47
3.1.1 Thuyết trung tâm của sinh học phân tử 47
3.1.2 Các kỹ thuật phân loại Protein 50
3.2 Cài đặt thử nghiệm thuật toán phân cụm dữ liệu trong phân loại Protein 55 3.2.1 Phát biểu bài toán 55
3.2.2 Mô tả dữ liệu 56
3.2.3 Chuẩn bị dữ liệu 57
3.2.4 Môi trường cài đặt và thử nghiệm 61
3.3 Nhận xét, đánh giá chương trình thử nghiệm 70
3.4 Kết luận chương 3 70
KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU 71
TÀI LIỆU THAM KHẢO 72
Trang 10MỞ ĐẦU
Trong những năm gần đây, cùng với sự phát triển vượt bậc của công nghệ thông tin, khả năng thu thập và lưu trữ thông tin của các hệ thống thông tin không ngừng được nâng cao Theo đó, lượng thông tin được lưu trữ trên các thiết bị nhớ không ngừng tăng lên
Khai phá dữ liệu là quá trình khám phá các tri thức mới có ích ở dạng tiềm năng trong nguồn dữ liệu đã có Quá trình khám phá tri thức là một chuỗi lặp gồm các bước: làm sạch dữ liệu, tích hợp dữ liệu, chọn lựa
dữ liệu, đánh giá mẫu, biểu diễn tri thức Khai phá dữ liệu liên quan đến nhiều lĩnh vực khác nhau như: công nghệ cơ sở dữ liệu, lý thuyết thống kê, học máy, khoa học thông tin, trực quan hóa,
Vấn đề ứng dụng các kỹ thuật khai phá dữ liệu, phân cụm dữ liệu trong Tin sinh học, một lĩnh vực còn khá mới, đã ra đời, sử dụng các công nghệ của các ngành toán học ứng dụng, tin học, thống kê, khoa học máy tính, trí tuệ nhân tạo, hóa học, sinh học để giải quyết các vấn đề của sinh học Việc tìm hiểu và nghiên cứu phân loại protein đã nổi lên như một hướng đi mới với những trải nghiệm hướng vào việc khám phá cấu trúc của các phân tử sinh học
Nghiên cứu và ứng dụng một cách hiệu quả các phương pháp khai phá dữ liệu là vấn đề hấp dẫn, đã và đang thu hút sự quan tâm chẳng những của các nhà nghiên cứu, ứng dụng mà của cả các tổ chức, doanh nghiệp Do
đó, tôi đã chọn đề tài nghiên cứu “ Các thuật toán phân cụm dữ liệu và
ứng dụng trong phân loại Protein”
Trang 11Nội dung của đề tài gồm 3 chương:
Chương 1 Khai phá dữ liệu: Chương này trình bày tổng quan về khai phá dữ liệu và đi sâu tìm hiểu về phân cụm dữ liệu, các kỹ thuật phân cụm và một số ứng dụng của phân cụm dữ liệu
Chương 2 Các thuật toán phân cụm dữ liệu: Trình bày về các thuật toán điển hình trong phân cụm dữ liệu là: K-Means, Chameleon, Clara, Cure, AntTree và SoT
Chương 3 Chương trình thử nghiệm: Để khẳng định cho khả năng
và hiệu quả của một số thuật toán phân cụm dữ liệu đã trình bày ở chương
2 Đó là thuật toán Clara và thuật toán SoT
Trang 12CHƯƠNG 1 KHAI PHÁ DỮ LIỆU 1.1 Khái niệm chung
Cuối thập kỷ 80 của thế kỷ 20, sự phát triển rộng khắp của các CSDL
đã tạo ra sự bùng nổ thông tin trên toàn cầu, vào thời gian này người ta bắt đầu đề cập đến khái niệm khủng hoảng trong việc phân tích dữ liệu tác nghiệp để cung cấp thông tin với yêu cầu chất lượng ngày càng cao cho người làm quyết định trong các tổ chức chính phủ, tài chính, thương mại, khoa học,
Lượng dữ liệu khổng lồ này thực sự là một nguồn tài nguyên có nhiều giá trị bởi thông tin là yếu tố then chốt phục vụ cho mọi hoạt động quản lý, kinh doanh, phát triển sản xuất và dịch vụ, nó giúp người điều hành và quản lý có những hiểu biết về môi trường và tiến trình hoạt động của tổ chức mình trước khi ra quyết định để tác động đến quá trình hoạt động nhằm đạt được các mục tiêu một cách hiệu quả và bền vững.[1]
KPDL là một lĩnh vực mới được nghiên cứu, nhằm tự động khai thác thông tin, tri thức mới hữu ích, tiềm ẩn từ những CSDL lớn cho các đơn vị,
tổ chức, doanh nghiệp, từ đó làm thúc đẩy khả năng sản xuất, kinh doanh, cạnh tranh cho các đơn vị, tổ chức này Các kết quả nghiên cứu khoa học cùng những ứng dụng thành công trong KDD cho thấy KPDL là một lĩnh vực phát triển bền vững, mang lại nhiều lợi ích và có nhiều triển vọng, đồng thời có ưu thế hơn hẳn so với các công cụ tìm kiếm phân tích
dữ liệu truyền thống Các kỹ thuật chính được áp dụng trong lĩnh vực KPDL phần lớn được thừa kế từ lĩnh vực CSDL, học máy, trí tuệ nhân tạo,
lý thuyết thông tin, xác suất thống kê và tính toán hiệu năng cao,
Như vậy, ta có thể khái quát hóa khái niệm KPDL là một quá trình tìm kiếm, phát hiện các tri thức mới, hữu ích, tiềm ẩn trong CSDL lớn
Trang 13KDD là mục tiêu chính của KPDL, do vậy hai khái niệm KPDL và KDD được các nhà khoa học trên hai lĩnh vực xem là tương đương với nhau Thế nhưng nếu phân chia một cách chi tiết thì KPDL là một bước chính trong quá trình KDD
1.2 Phân lớp dữ liệu
Phân lớp dữ liệu là kỹ thuật dựa trên tập huấn luyện và những giá trị hay là nhãn của lớp trong một thuộc tính phân lớp và sử dụng nó trong việc phân lớp dữ liệu mới Bên cạnh kỹ thuật phân lớp có một hình thức tương
tự là kỹ thuật tiên đoán, kỹ thuật tiên đoán khác với phân lớp ở chỗ phân lớp chỉ liên quan đến tiên đoán loại lớp của nhãn còn kĩ thuật tiên đoán mô hình những hàm đánh giá liên tục
Kỹ thuật phân lớp được tiến hành bao gồm 2 bước: Xây dựng mô hình và sử dụng mô hình [1]
+ Xây dựng mô hình: Là mô tả một tập những lớp được định nghĩa trước trong đó: mỗi bộ hoặc mẫu được gán thuộc về một lớp được định nghĩa trước như là được xác định bởi thuộc tính nhãn lớp, tập hợp của những bộ được sử dụng trong việc sử dụng mô hình được gọi là tập huấn luyện Mô hình được biểu diễn là những luật phân lớp, cây quyết định và những công thức toán học
+ Sử dụng mô hình: Việc sử dụng mô hình phục vụ cho mục đích phân lớp dữ liệu trong tương lai hoặc phân lớp cho những đối tượng chưa biết đến Trước khi sử dụng mô hình người ta thường phải đánh giá tính chính xác của mô hình, trong đó: nhãn được biết của mẫu kiểm tra được so sánh với kết quả phân lớp của mô hình, độ chính xác là phần trăm của tập hợp mẫu kiểm tra phân loại đúng bởi mô hình, tập kiểm tra là độc lập với tập huấn luyện
Trang 14Phân lớp là một hình thức học được giám sát tức là: tập dữ liệu huấn luyện (quan sát, thẩm định…) đi đôi với những với những nhãn chỉ định lớp quan sát những dữ liệu mới được phân lớp dựa trên tập huấn luyện
Ngược lại với hình thức học được giám sát là hình thức học không được giám sát lúc đó nhãn lớp của tập dữ liệu huấn luyện là không được biết
1.3 Phân cụm dữ liệu
1.3.1 Tổng quan về phân cụm dữ liệu
Mục đích chính của phân cụm dữ liệu (PCDL) nhằm khám phá cấu trúc của mỗi dữ liệu để thành lập các nhóm dữ liệu từ tập dữ liệu lớn, theo
đó nó cho phép người ta đi sâu vào phân tích và nghiên cứu cho từng cụm
dữ liệu này nhằm khám phá và tìm kiếm các thông tin tiềm ẩn, hữu ích phục vụ cho việc ra quyết định Ví dụ “Nhóm các khách hàng trong cơ sở
dữ liệu (CSDL) ngân hàng có vốn các đầu tư vào bất động sản cao”,… Như vậy, PCDL là một phương pháp xử lý thông tin quan trọng và phổ biển, nó nhằm khám phá mối liên hệ giữa các mẫu dữ liệu bằng cách tổ chức chúng thành các cụm
Ta có thể khái quát hóa khái niệm PCDL: PCDL là một kĩ thuật trong khai phá dữ liệu (KPDL), nhằm tìm kiếm, phát hiện các cụm, các mẫu dữ liệu tự nhiên, tiềm ẩn, quan trọng trong tập dữ liệu lớn từ đó cung cấp thông tin, tri thức hữu ích cho việc ra quyết định [1]
Như vậy, PCDL là quá trình phân chia một tập dữ liệu ban đầu thành các cụm dữ liệu sao cho các phần tử trong một cụm “tương tự” với nhau và các phần tử trong các cụm khác nhau sẽ “phi tương tự” với nhau 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
Trang 15Trong PCDL khái niệm hai hoặc nhiều đối tượng cùng được xếp vào một cụm nếu chúng có chung một định nghĩa về khái niệm hoặc chúng xấp
xỉ với các khái niệm mô tả cho trước
Trong học máy, PCDL được xem là vấn đề học không có giám sát,
vì nó phải giải quyết vấn đề tìm một cấu trúc trong tập hợp dữ liệu chưa biết trước các thông tin về lớp hay các thông tin về tập huấn luyện Trong nhiều trường hợp, nếu phân lớp được xem là vấn đề học có giám sát thì PCDL là một bước trong phân lớp dữ liệu, PCDL sẽ khởi tạo các lớp cho phân lớp bằng cách xác định các nhãn cho các nhóm dữ liệu
Trong KPDL, người ta có thể nghiên cứu các phương pháp phân tích cụm có hiệu quả và hiệu suất cao trong CSDL lớn Những mục tiêu trước tiên của nghiên cứu là tập trung vào khả năng mở rộng của các phương pháp phân cụm, tính hiệu quả của các phương pháp phân cụm với các hình dạng phức tạp, những kĩ thuật cho phân cụm với nhiều kiểu dữ liệu có kích
cỡ lớn và những phương pháp cho PCDL tường minh và những dữ liệu dạng số hỗn hợp trong CSDL lớn PCDL đượ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,
Hình 1.1 Ví dụ phân cụm của tập dữ liệu vay nợ thành 3 cụm
Trang 16Vấn đề thường gặp trong PCDL là hầu hết các dữ liệu cần cho phân cụm đều có chứa dữ liệu “nhiễu” do quá trình thu thập thiếu chính xác hoặc thiếu đầy đủ, vì cần phải xây dựng chiến lược cho bước tiền xử lý dữ liệu nhằm khắc phục hoặc loại bỏ “nhiễu” trước khi bước vào giai đoạn phân tích PCDL Ở đây “nhiễu” có thể là các đối tượng dữ liệu không chính xác hoặc các đối tượng dữ liệu khuyết thiếu thông tin về một số thuộc tính Một trong các kỹ thuật xử lý nhiễu phổ biến là việc thay thế giá trị của các thuộc tính của đối tượng “nhiễu” bằng giá trị thuộc tính tương ứng của đối tượng dữ liệu gần nhất
Ngoài ra, dò tìm phần tử ngoại lai là một trong những hướng nghiên cứu quan trọng trong PCDL, chức năng của nó là xác định một nhóm nhỏ các đối tượng dữ liệu “khác thường” so với các dữ liệu khác trong CSDL - tức là đối tượng dữ liệu không tuân theo các hành vi hoặc mô hình dữ liệu - nhằm tránh sự ảnh hưởng của chúng tới quá trình và kết quả của PCDL Khám phá các phần tử ngoại lai đã được phát triển và ứng dụng trong viễn thông, dò tìm gian lận thương mại, …
Tóm lại, PCDL là một vấn đề khó vì người ta phải đi giải quyết các vấn đề con cơ bản như sau:
- Biểu diễn dữ liệu
- Xây dựng hàm tính độ tượng tự
- Xây dựng các tiêu chuẩn phân cụm
- Xây dựng mô hình cho cấu trúc cụm dữ liệu
- Xây dựng thuật toán phân cụm và xác lập các điều kiện khởi tạo
- Xây dựng các thủ tục biểu diễn và đánh giá kết quả phân cụm Theo các nghiên cứu thì đến nay chưa có một phương pháp phân cụm tổng quát nào có thể giải quyết trọn vẹn cho tất cả các dạng cấu trúc cụm dữ liệu Hơn nữa, các phương pháp phân cụm cần có cách thức biểu
Trang 17diễn cấu trúc các cụm dữ liệu khác nhau, với mỗi cách thức biểu diễn khác nhau sẽ có một thuật toán phân cụm phù hợp PCDL đang là vấn đề mở và khó vì người ta cần phải đi giải quyết nhiều vấn đề cơ bản như đã đề cập ở trê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 đối tượng với dữ liệu hỗn hợp, đang ngày càng tăng trưởng không ngừng trong các hệ quản trị dữ liệu, đây cũng là một trong những thách thức lớn trong lĩnh vực KPDL trong những thập kỷ tiếp theo và đặc biệt trong lĩnh vực KPDL bằng phương pháp phân cụm dữ liệu
Phân cụm là chia dữ liệu thành các nhóm mà các đối tượng trong cùng một nhóm thì giống nhau theo một nghĩa nào đó và khác với các đối tượng trong các nhóm khác Các phần tử tương tự nhau được phân thành một cụm (cluster) Mỗi đối tượng được mô tả bởi một tập các độ đo hoặc bằng mối quan hệ với các đối tượng khác Cũng có rất nhiều định nghĩa về cụm, nhưng các định nghĩa sau đây được sử dụng nhiều nhất:
- "Một cụm là một tập các đối tượng giống nhau và khác với các đối tượng không ở trong cụm đó"
- "Một cụm là một tập các điểm trong không gian mà khoảng cách giữa hai điểm bất kì trong nó luôn nhỏ hơn khoảng cách giữa một điểm bất
kì trong nó và một điểm ngoài"
- "Các cụm có thể được mô tả như các miền liên thông trong không gian đa chiều chứa mật độ tương đối cao các điểm, phân biệt giữa các miền bằng mật độ khá thấp của các điểm"
Phân cụm có ý nghĩa rất quan trọng trong hoạt động của con người
từ y tế, giáo dục, xử lý thông tin, nghiên cứu phân tích thị trường, Phân 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, phân loại trong tin sinh học,…
Trang 181.3.2 Các yêu cầu cơ bản đối với các kỹ thuật phân cụm dữ liệu
Phân 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ềm nă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à một số yêu cầu cơ bản của phân cụm dữ liệu:
- Khả năng thích nghi với dữ liệu nhiễu
- Ít nhạy cảm với thứ tự của các dữ liệu vào
- Số chiều lớn
- Phân cụm ràng buộc
- Dễ hiểu và dễ sử dụng
1.3.3 Các kiểu dữ liệu trong phân cụm dữ liệu
Trong phân cụm, các đối tượng dữ liệu thường được biểu diễn dưới dạng các đặc tính hay còn gọi là thuộc tính (khái niệm “các kiểu dữ liệu”
và “các kiểu thuộc tính dữ liệu” được xem là tương đương với nhau) Phân loại các kiểu thuộc tính khác nhau là vấn đề cần giải quyết đối với hầu hết các tập dữ liệu nhằm cung cấp các phương tiện thuận lợi để nhận dạng sự khác nhau của các phần tử dữ liệu Có hai đặc trưng để phân loại: kích thước miền và hệ đo
Trang 19- Cho một cơ sở dữ liệu D chứa n đối tượng trong không gian k chiều; x, y, z là các đối tượng thuộc D: x = (x1, x2, ,xk); y = (yl, y2, ,
yk); z = (zl, z2, , zk)
- Trong đó xi, yi, zi với i=1,k là các đặc trưng hoặc thuộc tính tương ứng của các đối tượng x, y, z; như vậy sẽ có các kiểu dữ liệu sau:
* Loại kiểu dữ liệu dựa trên kích thước miền:
Thuộc tính liên tục: Nếu miền giá trị của nó là vô hạn không đếm
được, nghĩa là giữa hai giá trị tồn tại vô số giá trị khác (ví dụ, các thuộc tính màu, nhiệt độ hoặc cường độ âm thanh, )
Thuộc tính rời rạc: Nếu miền giá trị của nó là tập hữu hạn, đếm
được (ví dụ, các thuộc tính số, ); trường hợp đặc biệt của thuộc tính rời rạc là thuộc tính nhị phân mà miền giá trị chỉ có hai phần tử (ví dụ:Yes/No, True/False, On/Off )
* Loại kiểu dữ liệu dựa trên hệ đo:
Thuộc tính định danh: Là dạng thuộc tính khái quát hóa của thuộc
tính nhị phân, trong đó miền giá trị là rời rạc không phân biệt thứ tự và có nhiều hơn hai phần tử Nếu x và y là hai đối tượng thuộc tính thì chỉ có thể xác định là x ≠ y hoặc x = y
Thuộc tính có thứ tự: Là thuộc tính định danh có thêm tính thứ tự,
nhưng chúng không được định lượng Nếu x và y là hai thuộc tính thứ tự thì có thể xác định là x ≠ y hoặc x = y hoặc x > y hoặc x < y
Thuộc tính khoảng: Để đo các giá trị theo xấp xỉ tuyến tính, với
thuộc tính khoảng có thể xác định một thuộc tính là đứng trước hoặc đứng sau thuộc tính khác với một khoảng là bao nhiêu Nếu xi > yi thì có thể nói
x cách y một khoảng xi - yi tương ứng với thuộc tính thứ i
Thuộc tính tỉ lệ: Là thuộc tính khoảng nhưng được xác định một
Trang 20cách tương đối so với điểm mốc đầy ý nghĩa
Trong các thuộc tính trình bày ở trên, thuộc tính định danh và thuộc tính có thứ tự gọi chung là thuộc tính hạng mục, còn thuộc tính khoảng và thuộc tính tỉ lệ được gọi là thuộc tính số
Đặc biệt, còn có dữ liệu không gian là loại dữ liệu có thuộc tính số khái quát trong không gian nhiều chiều, dữ liệu không gian mô tả các thông tin liên quan đến không gian chứa đựng các đối tượng (ví dụ, thông tin về hình học, ) Dữ liệu không gian có thể là dữ liệu liên tục hoặc rời rạc
1.3.4 Độ đo trong phân cụm dữ liệu
Khi các đặc tính của dữ liệu được xác định, phải tìm cách thích hợp
để xác định “khoảng cách” giữa các đối tượng, hay là phép đo tương tự dữ liệu Đây là các hàm để đo sự giống nhau giữa các cặp đối tượng của dữ liệu, thông thường các hàm này hoặc là để tính độ tương tự hoặc là tính độ phi tương tự giữa các đối tượng dữ liệu Giá trị của hàm tính độ đo tương
tự càng lớn thì sự giống nhau giữa các đối tượng càng lớn và ngược lại còn hàm tính độ phi tương tự tỉ lệ nghịch với hàm tính độ tương tự Độ tương
tự hoặc phi tương tự có nhiều cách để xác định, chúng thường được đo bằng khoảng cách giữa các đối tượng Tất cả các cách đo độ tương tự đều phụ thuộc vào kiểu thuộc tính mà người sử dụng phân tích [2]
Tất cả các độ đo dưới đây được xác định trong không gian metric Một không gian metric là một tập trong đó có xác định khoảng cách giữa từng cặp phần tử, với những tính chất thông thường của khoảng cách hình học Nghĩa là, một tập X (các phần tử của nó có thể là những đối tượng bất kỳ) các đối tượng dữ liệu trong cơ sở dữ liệu D đề cập ở trên được gọi là một không gian metric nếu:
Với mỗi cặp phần tử x, y thuộc X đều xác định theo một quy tắc nào
đó, một số thực (x, y) được gọi là khoảng cách giữa x và y
Trang 21Quy tắc nói trên thỏa mãn hệ tính chất sau:
+ (x, y) > 0 nếu x≠ y;
+ (x, y) = 0 nếu x = y;
+ (x, y) = (y, x) với mọi x, y;
+ (x, y) < (x, z)+ (z, y) Hàm (x, y) được gọi là một metric của không gian Các phần tử của
X được gọi là các điểm của không gian này
1.3.4.1 Thuộc tính khoảng cách
Một thành phần quan trọng trong thuật toán phân cụm là phép đo khoảng cách giữa hai điểm dữ liệu Nếu thành phần của vector thể hiện dữ liệu thuộc trong cùng một đơn vị giống nhau thì nó tồn tại khoảng cách Euclide có thể xác định được nhóm dữ liệu tương tự Tuy nhiên, không phải lúc nào khoảng cách Euclide cũng cho kết quả chính xác
Trang 22Mỗi một thuộc tính có thứ tự có các miền giá trị khác nhau, vì vậy phải chuyển đổi chúng về cùng miền giá trị [0, 1] bằng cách thực hiện phép biến đổi sau cho mỗi thuộc tính:
Sử dụng công thức tính độ phi tương tự của thuộc tính khoảng đối với các giá trị (j)
i
Z , đây cũng chính là độ phi tương tự của thuộc tính có thứ
tự
1.3.4.5 Thuộc tính tỉ lệ
Có nhiều cách khác nhau để tính độ tương tự giữa các thuộc tính tỉ
lệ Một trong những số đó là sử dụng công thức tính logarit cho mỗi thuộc tính xi ví dụ qi = log(xi), lúc này qi đóng vai trò như thuộc tính khoảng Phép biến đổi logarit này thích hợp trong trường hợp các giá trị của thuộc tính là số mũ
Tóm lại, tùy từng trường hợp dữ liệu cụ thể mà có thể sử dụng các
mô hình tính độ tương tự khác nhau Việc xác định độ tương đồng dữ liệu thích hợp, chính xác, đảm bảo khách quan là rất quan trọng, góp phần xây dựng thuật toán phân cụm dữ liệu có hiệu quả cao trong việc đảm bảo chất lượng cũng như chi phí tính toán
1.3.5 Các kỹ thuật tiếp cận với bài toán phân cụm
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ế Các kỹ thuật phân cụm đều hướng tới hai mục tiêu chung: 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 Tuy nhiên có thể phân loại thành từng loại cơ bản dựa trên phân loại các phương pháp Hiện nay, các kỹ thuật phân cụm có thể phân loại theo các cách tiếp cận chính sau:
( ) (j) 1
1
f i i
i
r Z M
Trang 231.3.5.1 Phương pháp phân cụm phân hoạch
Ý tưởng chính của kỹ thuật này là phân hoạch một tập hợp dữ liệu có
n phần tử cho trước thành k nhóm dữ liệu sao mỗi phần tử dữ liệu chỉ thuộc
về một nhóm dữ liệu có tối thiểu ít nhất một phần tử dữ liệu 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
Lớp các thuật toán phân cụm phân hoạch bao gồm các thuật toán đề xuất đầu tiên trong lĩnh vực KPDL cũng là thuật toán được áp dụng nhiều
trong thực tế như K-means, K-medoids, PAM, CLARA, CLARANS, [6]
Thuật toán K-means là một trong những thuật toán phổ biến nhất Nó căn cứ vào khoảng cách giữa các đối tượng để phân cụm Các đối tượng được xếp vào một cụm dựa trên khoảng cách từ chúng tới tâm cụm Trong thuật toán này, chúng ta chọn một giá trị cho k (số các cụm mong muốn), sau đó chọn ngẫu nhiên k đối tượng làm k cụm ban đầu Tiếp theo ta tính toán khoảng cách giữa từng đối tượng với k cụm này Căn cứ vào khoảng cách tính được để xếp từng đối tượng vào cụm thích hợp Sau khi phân cụm, ta lại tìm tâm mới cho từng cụm Quá trình này được lặp lại cho đến khi tâm các cụm ổn định Thuật toán này có một vài phiên bản, phân biệt với nhau bằng hàm tính khoảng cách Thuật toán K-means thích hợp với các cụm dữ liệu có dạng hình cầu và tròn Tuy nhiên, K-means tỏ ra rất nhạy cảm với nhiễu và các phần tử ngoại lai
Trang 241.3.5.2 Phương pháp phân cụm phân cấp
Phương pháp này xây dựng một phân cấp trên cơ sở các đối tượng dữ liệu đang xem xét Nghĩa là sắp xếp một tập dữ liệu đã cho thành một cấu trúc có dạng hình cây, cây phân cấp này được xây dựng theo kỹ thuật đệ quy Cây phân cụm có thể được xây dựng theo hai phương pháp sau: hòa nhập nhóm, thường được gọi là tiếp cận Bottom-Up và phân chia nhóm,
thường được gọi là tiếp cận Top-Down.[1]
Phương pháp Bottom-Up: phương pháp này bắt đầu xuất phát với
mỗi đối tượng dữ liệu được khởi tạo tương ứng với các cụm riêng biệt và 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
Phương pháp Top-Down: Bắt đầu với trạng thái là tất cả các đối
tượng dữ liệu được sắp xếp trong cùng một cụm và phương pháp này tiến hành chia nhỏ các cụm Mỗi vòng lặp thành công, một cụm được tách ra 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 dữ liệu là một cụm riêng biệt 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
Hình 1.2 Các chiến lược phân cụm phân cấp
Trang 25Trong thực tế áp dụng, có nhiều trường hợp người ta 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 PCDL 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 KPDL Phương pháp này bao gồm các thuật toán AGNES, DIANA, BIRCH, CURE,
ROCK, Chemeleon, [4]
1.3.5.3 Phương pháp phân cụm dựa trên mật độ
Phương pháp này nhóm các đối tượng theo hàm mật độ xác định Mật độ xác định được định nghĩa như là số các đối tượng lân cận của một đối tượng dữ liệu theo một ngưỡng nào đó Trong cách tiếp cận này, khi một cụm dữ liệu mới miễn là số các đối tượng lân cận của các đối tượng này phải lớn hơn một ngưỡng đã được xác định trước Phương pháp phân cụm dựa vào mật độ của các đối tượng để xác định các cụm dữ liệu và có thể phát hiện ra các cụm dữ liệu với nhiều hình dạng bất kỳ Tuy vậy, việc xác định các tham số mật độ của thuật toán rất khó khăn, trong khi các tham số này lại có thể tác động rất lớn đến kết quả của PCDL Hình 1.3 minh hoạ về các cụm dữ liệu với các hình thù khác nhau dưạ trên mật
độ được khám phá từ 3CSDL khác nhau
Hình 1.3 Một số hình dạng khám phá bởi phân cụm dựa trên mật độ
Trang 26Các cụm có thể được xem như các vùng mật độ cao, được tách ra bởi các vùng không có hoặc ít mật độ Khái niệm mật độ ở đây được xem như
là các số các đối tượng láng giềng
Một thuật toán PCDL dựa trên mật độ điển hình như DBSCAN,
OPTICS, DENCLUE, SNN, [ 4 ]
1.3.5.4 Phương pháp phân cụm dựa trên lưới
Kỹ thuật phân cụm dựa trên mật độ không thích hợp với dữ liệu nhiều chiều, để giải quyết cho đòi hỏi này, người ta đã sử dụng phương pháp phân cụm dựa trên lưới Đây là phương pháp dựa trên cấu trúc dữ liệu lưới để PCDL, phương pháp này chủ yếu tập trung áp dụng cho lớp dữ liệu không gian Thí dụ như dữ liệu được biểu diễn dưới dạng cấu trúc hình học của đối tượng trong không gian cùng với các quan hệ, các thuộc tính, các hoạt động của chúng Mục tiêu của phương pháp này là lượng hoá tập dữ liệu thành các ô (cell), các ô này tạo thành cấu trúc dữ liệu lưới Sau đó, các thao tác PCDL làm việc với các đối tượng trong từng ô này Cách tiếp cận dựa trên lưới này không di chuyển các đối tượng trong các ô mà xây dựng nhiều mức phân cấp của nhóm các đối tượng trong một ô Ưu điểm của phương pháp PCDL dựa trên lưới là thời gian xử lý nhanh và độc lập với số đối tượng dữ liệu trong tập dữ liệu ban đầu, thay vào đó là chúng phụ thuộc vào số ô trong mỗi chiều của không gian lưới Một thí dụ về cấu trúc dữ liệu lưới chứa các ô trong không gian như hình sau:
Trang 27Hình 1.4 Mô hình cấu trúc dữ liệu lưới
1.3.5.5 Phương pháp phân cụm dựa trên mô hình
Phương pháp này cố gắng khám phá các phép xấp xỉ tốt của các tham số mô hình sao cho khớp với dữ liệu một cách tốt nhất Chúng có thể
sử dụng chiến lược phân cụm phân hoạch hoặc phân cụm phân cấp, dựa trên cấu trúc hoặc mô hình mà chúng giả định về tập dữ liệu và cách chúng hiệu chỉnh các mô hình này để nhận dạng ra các phân hoạch
Phương pháp phân cụm dựa trên mô hình cố gắng khớp giữa các dữ liệu với mô hình toán học, nó dựa trên giả định rằng dữ liệu được tạo ra bằng hỗn hợp phân phối xác suất cơ bản Các thuật toán phân cụm dựa trên
mô hình có hai cách tiếp cận chính: mô hình thống kê và mạng nơron
Phương pháp này gần giống với phương pháp phân cụm dựa trên mật độ, vì chúng phát triển các cụm riêng biệt nhằm cải tiến các mô hình đã được xác định trước đó, nhưng đôi khi nó không bắt đầu với một số cụm cố định và không sử dụng cùng một khái niệm mật độ cho các cụm Một số thuật toán
PCDL dựa trên mô hình điển hình như EM, COBWEB.[2]
Trang 281.3.5.6 Phương pháp phân cụm có dữ liệu ràng buộc
Sự phát triển của PCDL không gian trên CSDL lớn đã cung cấp nhiều công cụ tiện lợi cho phân tích thông tin địa lý, tuy nhiên hầu hết các thuật toán này cung cấp rất ít cách thức cho người dùng để xác định các ràng buộc trong thế giới thực cần phải được thoả mãn trong quá trình phân cụm Để PCDL không gian hiệu quả hơn, các nghiên cứu bổ sung cần được thực hiện để cung cấp cho người dùng khả năng kết hợp các ràng buộc trong thuật toán phân cụm
Hiện nay các phương pháp phân cụm trên đã và đang phát triển Các phương pháp này đã được áp dụng nhiề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ển trên cơ sở các phương pháp
đó như:
- Phân cụm thống kê: Dựa trên các khái niệm phân tích hệ thống,
nhánh nghiên cứu này sử dụng các độ đo tương tự để phân hoạch các đối tượng, nhưng chỉ áp dụng cho các dữ liệu có thuộc tính số
- Phân cụm khái niệm: Các kỹ thuật phân cụm được phát triển áp
dụng cho dữ liệu hạng mục, chúng phân cụm các đối tượng theo các khái niệm mà chúng xử lý
- Phân cụm mờ: Thông thường mỗi phương pháp PCDL phân một
tập dữ liệu ban đầu thành các cụm dữ liệu có tính tự nhiên và mỗi đối tượng dữ liệu chỉ thuộc về một cụm dữ liệu, phương pháp này chỉ phù hợp với việc khám phá ra các cụm có mật độ cao và rời nhau Tuy nhiên, trong thực tế, các cụm dữ liệu lại có thể chồng lên nhau (một số các đối tượng dữ liệu thuộc về nhiều các cụm khác nhau), người ta đã áp dụng lý thuyết về tập mờ trong PCDL để giải quyết cho trường hợp này, cách thức kết hợp này được gọi là phân cụm mờ Trong phương pháp phân cụm mờ, độ phụ thuộc của đối tượng dữ liệu x ktới cụm thứ i (u ik) có giá trị thuộc khoảng
Trang 29[0,1] Ý tưởng trên đã được giới thiệu bởi Ruspini (1969) và được Dunn áp dụng năm 1973 nhằm xây dựng một phương pháp phân cụm mờ dựa trên tối thiểu hóa hàm tiêu chuẩn Bezdek (1982) đã tổng quát hóa phương pháp này và xây dựng thành thuật toán phân cụm mờ c-means có sử dụng trọng
số mũ [7]
means là thuật toán phân cụm mờ (của K-means) Thuật toán means mờ hay còn gọi tắt là thuật toán FCM (Fuzzy C-means) đã được áp dụng thành công trong giải quyết một số lớn các bài toán PCDL như trong nhận dạng mẫu, xử lý ảnh, y học, … Tuy nhiên, nhược điểm lớn nhất của thuật toán FCM là nhạy cảm với các nhiễu và phần tử ngoại lai, nghĩa là các trung tâm cụm có thể nằm xa so với trung tâm thực tế của cụm
C-Đã có nhiều phương pháp đề xuất để cải tiến cho nhược điểm trên của thuật toán FCM bao gồm: Phân cụm dựa trên xác suất (Keller, 1993), phân cụm nhiễu mờ (Dave, 1991), phân cụm dựa trên toán tử Lp Norm (kersten, 1999) Thuật toán -Insensitive Fuzzy c-means ( FCM- không nhạy cảm mờ C-means)
1.4 Luật kết hợp
1.4.1 Một số khái niệm cơ sở
Cho một tập I = {I1, I2, , Im} các tập m mục, một giao dịch T được định nghĩa như một tập con của các mục trong I (T I)
Gọi D là CSDL của n giao dịch và mỗi giao dịch được đánh nhãn với một định danh duy nhất Nói rằng, một giao dịch T D hỗ trợ một tập X I nếu nó chứa tất cả các mục của X
Kí hiệu sup(X) là tỷ lệ phần trăm của các giao dịch hỗ trợ X trên tổng các giao dịch trong D, nghĩa là:
sup(X) T D X T
D
Trang 30Độ hỗ trợ tối thiểu minsup là một giá trị cho trước bởi người
+) Y được gọi là hệ quả của luật
Luật X => Y tồn tại một độ tin cậy Độ tin cậy c được định nghĩa là khả năng giao dịch T hỗ trợ X thì cũng hỗ trợ Y Ta có công thức tính độ tin cậy c như sau:
1.4.2
Tính chất 1 (Độ hỗ trợ của tập con):
Với A và B là tập các mục, nếu A B thì sup(A) sup(B)
Tính chất 2:
Một tập chứa một tập không phổ biến thì cũng là tập không phổ biến
Tính chất 3: Các tập con của tập phổ biến cũng là tập phổ biến
Trang 31Tính chất 5: (Không tách luật)
Nếu X Y Z thì X Z và Y Z chưa chắc xảy ra
Tuy nhiên đảo lại: X Y Z X Y X Z
Tính chất 6: (Các luật kết hợp không có tính bắc cầu)
Nếu X Y và Y Z, chúng ta không thể suy ra X Z
Tính chất 7:
Nếu A (L - A) không thoả mãn độ tin cậy cực tiểu thì luật
B (L -B) cũng không thoả mãn, với các tập mục L,A,B và B A
L
1.5 Một số ứng dụng của phân cụm dữ liệu
1.5.1 Ứng dụng trong tin sinh học
Trong sinh học, phân cụm được sử dụng để xác định các loại sinh vật, phân loại các Gen với chức năng tương đồng và thu được các cấu trúc trong các mẫu
Hiện nay, cơ sở dữ liệu về tin sinh học được lưu trữ rất nhiều trên các ngân hàng CSDL như: DDBJ (Ngân hàng CSDL DNA của Nhật), GenBank (Ngân hàng CSDL sinh học của Mỹ), EMBL (CSDL dự đoán tương tác protein-protein), miRBASE (Ngân hàng CSDL về các microRNA), NCBI-UniGene, TRANSFAC, EBI,…, đây là những kho dữ liệu khổng lồ được cập nhật hàng ngày và miễn phí đối với tất cả mọi
người trên thế giới [13]
Tin sinh học trong đó bao gồm các thao tác, tìm kiếm, khai phá cơ sở
dữ liệu tin sinh học Phân cụm dữ liệu là một kỹ thuật cần thiết trong khai phá dữ liệu nói chung và trong dữ liệu tin sinh học nói riêng Một số ứng dụng quan trọng của khai phá dữ liệu trong tin sinh học bao gồm:
-Phát hiện gen (gen finding)
Trang 32-Thăm dò chức năng protein (Protein function inference)
-Chẩn đoán bệnh (disease diagnosis)
-Tối ưu hóa việc điều trị bệnh
-Khôi phục mạng tương tác protein và gen
-Dự đoán vị trí tiểu tế bào protein
1.5.2 Ứng dụng trong phân loại đối tượng văn bản
Phân loại văn bản được xem như là quá trình gắn các văn bản vào một hay nhiều văn bản đã xác định từ trước Người ta có thể phân loại văn bản một cách thủ công, tức là đọc từng văn bản một và gắn nó vào một lớp nào đó Cách này sẽ tốn rất nhiều thời gian và công sức đối với nhiều văn bản do đó không khả thi Do vậy mà phải có các phương pháp phân loại tự động, để phân loại tự động người ta sử dụng các phương pháp học máy trong trí tuệ nhân tạo (Cây quyết định, Bayes, K người láng giềng gần nhất) Một trong những ứng dụng quan trọng nhất của phân cụm dữ liệu trong phân loại văn bản là tìm kiếm văn bản Từ một tập dữ liệu đã phân lớp các văn bản sẽ được đánh chỉ số đối với từng lớp tương ứng Người dùng có thể xác định chủ đề hoặc phân loại văn bản mà mình mong muốn tìm kiếm thông qua các câu hỏi
Một ứng dụng khác trong phân loại văn bản là trong lĩnh vực tìm hiểu văn bản, phân loại văn bản có thể sử dụng để lọc các văn bản hoặc một phần các văn bản chứa dữ liệu cần tìm mà không làm mất đi tính phức tạp của ngôn ngữ tự nhiên.Trong phân loại văn bản, một lớp có thể được gán giá trị đúng sai (True hay False hoặc văn bản thuộc hay không thuộc lớp) hoặc được tính theo mức độ phụ thuộc (văn bản có mức độ phụ thuộc vào lớp) Trong trường hợp có nhiều lớp thì phân loại đúng sai sẽ là việc xem một văn bản có thuộc vào một lớp duy nhất nào đó hay không
1.5.3 Ứng dụng trong phân đoạn ảnh, nhận dạng
Trang 33Vào những thời gian đầu, các phương pháp phân vùng ảnh được đưa
ra chủ yếu làm việc trên các ảnh mức xám do các hạn chế về phương tiện thu thập và lưu trữ Ngày nay, cùng với sự phát triển về các phương tiện thu nhận và biểu diễn ảnh, các ảnh màu đã hầu như thay thế hoàn toàn các ảnh mức xám trong việc biểu diễn và lưu trữ thông tin do các ưu thế vượt
trội hơn hẳn so với ảnh mức xám Do đó, các kỹ thuật, thuật giải mới của
phân cụm dữ liệu thực hiện việc phân vùng ảnh trên các loại ảnh màu liên tục được phát triển để đáp ứng các nhu cầu mới Các thuật giải, kỹ thuật này thường được phát triển dựa trên nền tảng các thuật giải phân vùng ảnh
mức xám đã có sẵn
1.6 Kết luận chương 1
Khai phá dữ liệu là lĩnh vực đã và đang trở thành một trong những hướng nghiên cứu thu hút được sự quan tâm của nhiều chuyên gia về công nghệ thông tin trên thế giới Trong những năm gần đây, rất nhiều phương pháp và thuật toán mới liên tục được công bố Điều này chứng tỏ những ưu
thế, lợi ích và khả năng ứng dụng thực tế to lớn của khai phá dữ liệu
Chương này đã trình bày một số kiến thức tổng quan về khám phá tri thức, những khái niệm và kiến thức cơ bản nhất về khai phá dữ liệu, vấn đề phân lớp dữ liệu, phân cụm dữ liệu, luật kết hợp Một số ứng dụng của phân cụm dữ liệu cũng được đề cập đến trong chương
Trang 342.1 Thuật toán K-means
K-means phân cụm các phần tử theo trọng tâm của các cụm Phương pháp này dựa trên độ đo khoảng cách của các đối tượng dữ liệu trong cụm Như vậy, cần khởi tạo một tập trọng tâm các trọng tâm cụm ban đầu, và thông qua đó nó lặp lại các bước gồm gán mỗi đối tượng tới cụm mà trọng tâm gần, và tính toán tại trọng tâm của mỗi cụm trên cơ sở gán mới cho các
đối tượng Quá trình này dừng khi các trọng tâm cụm hội tụ [7]
Trong phương pháp K-means, chọn một giá trị k và sau đó chọn ngẫu nhiên k trọng tâm của các đối tượng dữ liệu Tính toán khoảng cách giữa đối tượng dữ liệu trung bình mỗi cụm để tìm kiếm phần tử nào là tương tự và thêm vào cụm đó Từ khoảng cách này có thể tính toán trung bình mới của cụm và lặp lại quá trình cho đến khi mỗi các đối tượng dữ liệu là một bộ phận của các cụm k
Hình 2.1: Các thiết lập để xác định ranh giới các cụm ban đầu
Mục đích của thuật toán K-means là sinh k cụm dữ liệu {Cl, C2, ,
Ck} từ một tập dữ liệu chứa n đối tượng trong không gian d chiều Xi =
Trang 35đạt giá trị tối thiểu.Trong đó: m i là trung bình cụm của cụm Ci, x là điểm
dữ liệu đại diện cho một đối tượng Trọng tâm của cụm là một vector, trong đó giá trị của mỗi phần tử của nó là trung bình cộng của các thành phần tương ứng của các đối tượng vector dữ liệu trong cụm đang xét Tham số đầu vào của thuật toán là số cụm k, và tham số đầu ra của thuật toán là các trọng tâm của các cụm dữ liệu Độ đo khoảng cách giữa các đối tượng dữ liệu thường được sử dụng là khoảng cách Euclide Hàm tiêu chuẩn và độ đo khoảng cách có thể được xác định cụ thể hơn tùy ý vào ứng dụng hoặc quan điểm của người dùng
Hình 2.2 Tính toán trọng tâm của các cụm mới
Các bước cơ bản của thuật toán K- means
Trang 36của dữ liệu) Việc lựa chọn này có thể là ngẫu nhiên hoặc theo kinh nghiệm
2 Tính toán khoảng cách
3 Cập nhật lại trọng tâm
định trung bình cộng các vector đối tượng dữ liệu
Điều kiện dừng: Lặp lại các bước 2 và 3 cho đến khi các trọng tâm của cụm không thay đổi
vào khoảng cách so với trọng tâm
c) Cập nhật trọng tâm d) Phân các phần tử về các cụm dựa
vào khoảng cách so với trọng tâm
Trang 37e) Cập nhật trọng tâm f) Phân các phần tử về các cụm dựa
vào khoảng cách so với trọng tâm
g) Cập nhật trọng tâm h) Phân các phần tử về các cụm dựa
vào khoảng cách so với trọng tâm, việc phân cụm kết thúc vì kết quả
không thay đổi
Hình 2.3 Minh họa trực quan quá trình phân cụm dữ liệu
Độ phức tạp của thuật toán K- means sẽ là O(knl), trong đó k là số lượng nhóm đề nghị, n là số phần tử của tập cần phân hoạch và l là số các
lần lặp của vòng lặp while Trong mỗi chu trình riêng phần tính lại các điểm trọng tâm mới cũng có độ phức tạp O(k)
Một dạng cải tiến của thuật toán K-means là xét mỗi phần tử và tính lại phần tử trọng tâm của nhóm bất cứ khi nào có một phần tử được thêm vào, lặp lại chu trình qua các phần tử cho đến khi tình trạng các nhóm không còn thay đổi
Thuật toán K-means có hiệu quả tương đối với các cơ sở dữ liệu lớn,
có ưu điểm là rõ ràng, dễ dàng cài đặt Nhưng nhược điểm của thuật toán
Trang 38phải xác định được tâm Ngoài ra, việc tìm kiếm trong thuật toán K-mean
bị hạn chế trong một phần nhỏ trong không gian các phân hoạch có thể nên
có giải pháp phân cụm tốt bị bỏ qua Có thể khắc phục khuyết điểm này bằng cách thực hiện nhiều lần thuật toán với các điểm trọng tâm ban đầu được chọn khác nhau và chọn kết quả tốt nhất Tuy nhiên khi đó phải trả giá bằng thời gian chạy tăng lên Thuật toán này cũng không phù hợp với việc khai phá các dữ liệu gồm các cluster có hình dạng không lồi (non-convex) Có thể đưa thêm nhiều cải tiến vào K-means để được thuật toán hiệu quả hơn, như thay đổi cách chọn các mẫu khởi đầu, cách tính tiêu chuẩn,
Các thuật toán sau này như PAM, CLARA, đều là sự cải tiến của thuật toán K-means
2.2 Thuật toán CHAMELEON
sử dụng mô hình động trong phân cụm phân cấp, được phát triển bởi Karypis, Han và Kumar (1999) Khi xử lý phân cụm, hai cụm được hoà nhập nếu liên kết nối và độ chặt (độ gần) giữa hai cụm được liên kết cao với liên kết nối và độ chặt nội tại của các đối tượng nằm trong phạm vi các cụm Xử lý hoà nhập dựa trên mô hình động tạo điều kiện thuận lợi cho sự khám phá ra các cụm tự nhiên và đồng nhất, nó áp dụng cho tất cả các kiểu dữ liệu miễn là hàm tương đồng
được chỉ định [12]
CHAMELEON có được dựa trên quan sát các yếu điểm của hai giải thuật phân cụm phân cấp: CURE và ROCK CURE và các lược đồ quan hệ
ngược lại, ở ROCK, các lược đồ quan hệ lờ đi thông tin về độ chặt của hai cụm trong khi nhấn mạnh liên kết nối của chúng
Trang 39Input: Cơ sở dữ liệu với n bộ, số lượng cụm con K
Output: Các cụm dữ liệu Ci (0 < i <K)
CHAMELEON trước tiên sử dụng một giải thuật phân chia đồ thị để phân cụm các mục dữ liệu vào trong một số lượng lớn các cụm con tương đối nhỏ Sau đó dùng giải thuật phân cụm phân cấp tập hợp để tìm ra các cụm xác thực bằng cách lặp lại việc kết hợp các cụm này với nhau Để xác định các cặp cụm con giống nhau nhất, cần đánh giá cả liên kết nối cũng như độ chặt của các cụm, đặc biệt là các đặc tính nội tại của bản thân các cụm Do vậy nó không tuỳ thuộc vào một mô hình tĩnh được cung cấp bởi người dùng và có thể tự động thích ứng với các đặc tính nội tại của các cụm đang được hoà nhập
: k-láng giềng gần nhất Mỗi đỉnh của đồ thị k-láng giềng gần nhất đại diện cho một đối tượng dữ liệu, tại đó tồn tại một cạnh giữa
hai đỉnh (đối tượng), nếu một đối tượng là giữa k đối tượng giống nhau so với các đối tượng khác Đồ thị k-láng giềng gần nhất G k có được khái niệm láng giềng động: Bán kính láng giềng của một điểm dữ liệu được xác định bởi mật độ của miền mà trong đó các đối tượng cư trú Trong một miền dày đặc, láng giềng được định nghĩa hẹp, và trong một miền thưa thớt, láng giềng được định rộng hơn Chameleon chỉ rõ sự tương đồng giữa mỗi cặp
các cụm Ci và Cj theo liên kết nối tương đối RI(C i ,C j ) và độ chặt tương
đối RC(C i ,C j ) của chúng
Liên kết nối tương đối RI(C i ,C j ) giữa hai cụm Ci và C j được định
nghĩa như liên kết nối tuyệt đối giữa Ci và C j đã tiêu chuẩn hoá đối với liên
kết nối nội tại của hai cụm Ci và C j Đó là: