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

Phân cụm dữ liệu bài toán và các giải thuật theo tiếp cận phân cấp

64 1 0

Đ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

Tiêu đề Phân Cụm Dữ Liệu Bài Toán Và Các Giải Thuật Theo Tiếp Cận Phân Cấp
Tác giả Phạm Ngọc Sâm
Người hướng dẫn PGS.TS Nguyễn Thanh Tùng
Trường học Trường Đại Học Dân Lập Hải Phòng
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2013
Thành phố Hải Phòng
Định dạng
Số trang 64
Dung lượng 1,1 MB

Cấu trúc

  • CHƯƠNG I: KHÁI QUÁT VỀ KHAI PHÁ DỮ LIỆU (15)
    • 1.1 Khai phá dữ liệu (Data Mining) là gì? (15)
    • 1.2 Quy trình khai phá dữ liệu (15)
    • 1.3 Các kỹ thuật khai phá dữ liệu (17)
    • 1.4 Các ứng dụng của khai phá dữ liệu (18)
    • 1.5 Một số thách thức đặt ra cho việc khai phá dữ liệu (21)
    • 1.6 Kết luận chương (21)
    • CHƯƠNG 2: PHÂN CỤM DỮ LIỆU VÀ CÁC GIẢI THUẬT THEO TIẾP CẬN PHÂN CẤP (22)
      • 2.1 Phân cụm dữ liệu (Data Clustering) là gì? (22)
      • 2.2 Thế nào là phân cụm tốt? (25)
      • 2.3 Bài toán phân cụm dữ liệu (25)
      • 2.4 Các ứng dụng của phân cụm (26)
      • 2.5 Các yêu cầu đối với thuật toán phân cụm dữ liệu (26)
      • 2.6 Các kiểu dữ liệu và phép đo độ tương tự (27)
        • 2.6.1 Cấu trúc dữ liệu (27)
        • 2.6.2 Các kiểu dữ liệu (28)
      • 1) Thuộc tính khoảng (Interval Scale) (30)
      • 2) Thuộc tính nhị phân (31)
      • 3) Thuộc tính định danh (nominal Scale) (33)
      • 4) Thuộc tính có thứ tự (Ordinal Scale) (33)
      • 5) Thuộc tính tỉ lệ (Ratio Scale) (34)
        • 2.7 Các hướng tiếp cận bài toán phân cụm dữ liệu (35)
          • 2.7.1 Phương pháp phân hoạch (35)
          • 2.7.2 Phương pháp phân cấp (35)
          • 2.7.3 Phương pháp dựa vào mật độ (Density based Methods) (36)
          • 2.7.4 Phân cụm dữ liệu dựa trên lưới (37)
          • 2.7.5 Phương pháp dựa trên mô hình (Gom cụm khái niệm, mạng neural) (38)
          • 2.7.6 Phân cụm dữ liệu có ràng buộc (38)
        • 2.8 Các vấn đề có thể gặp phải (39)
        • 2.9 Phương pháp phân cấp (Hierarchical Methods) (39)
          • 2.6.1 Thuật toán BIRCH (41)
          • 2.6.2 Thuật toán CURE (55)
        • 2.10 Kết luận chương (59)
    • CHƯƠNG 3: CHƯƠNG TRÌNH DEMO (60)
      • 3.1. Bài toán và lưu đồ thuật toán (60)
      • 3.2. Chương trình demo ............................... Error! Bookmark not defined. 3.3. Chạy chương trình (61)
  • KẾT LUẬN (63)
  • TÀI LIỆU THAM KHẢO (64)

Nội dung

KHÁI QUÁT VỀ KHAI PHÁ DỮ LIỆU

Khai phá dữ liệu (Data Mining) là gì?

Với sự tiến bộ vượt bậc của công nghệ điện tử và truyền thông, khả năng lưu trữ thông tin ngày càng gia tăng, dẫn đến lượng dữ liệu lớn được lưu trữ trên các thiết bị nhớ Sự phát triển của cơ sở dữ liệu đã tạo ra một "cơn bão" thông tin toàn cầu, đồng thời nảy sinh khái niệm "khủng hoảng" trong phân tích dữ liệu để cung cấp thông tin chất lượng cho quyết định trong các tổ chức tài chính, thương mại và khoa học Như John Naisbett đã từng cảnh báo, "Chúng ta đang chìm ngập trong dữ liệu mà vẫn đói tri thức."

Khai phá dữ liệu (Data Mining) là một lĩnh vực khoa học mới nổi lên, tập trung vào việc tự động hóa quá trình khai thác thông tin và tri thức hữu ích từ dữ liệu Điều này cho thấy rằng thông tin từ dữ liệu mới là yếu tố quan trọng, chứ không chỉ là dữ liệu thô.

Khai phá dữ liệu là một lĩnh vực khoa học đầy tiềm năng, mang lại nhiều lợi ích vượt trội so với các công cụ phân tích dữ liệu truyền thống Hiện nay, nó được ứng dụng rộng rãi trong nhiều lĩnh vực như phân tích dữ liệu hỗ trợ ra quyết định, điều trị y học, tin-sinh học, thương mại, tài chính, bảo hiểm, text mining và web mining.

Khai phá dữ liệu là một khái niệm đang được hiểu theo nhiều cách khác nhau do sự phát triển nhanh chóng của các phương pháp tìm kiếm tri thức và phạm vi áp dụng rộng rãi Ở mức độ trừu tượng nhất, khai phá dữ liệu có thể được định nghĩa là quá trình khám phá và phân tích dữ liệu để rút ra thông tin hữu ích.

“Khai phá dữ liệu là 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 cơ sở dữ liệu lớn”.

Quy trình khai phá dữ liệu

Khám phá tri thức trong CSDL (Knowledge Discovery in Databases – KDD) là mục tiêu hàng đầu của khai phá dữ liệu, khiến hai khái niệm này thường được xem là tương đương Tuy nhiên, nếu xem xét kỹ lưỡng, khai phá dữ liệu thực sự chỉ là một bước quan trọng trong quy trình KDD.

Khám phá tri thức trong CSDL là lĩnh vực liên quan đến nhiều ngành như:

Tổ chức dữ liệu và các kỹ thuật như xác suất, thống kê, lý thuyết thông tin, học máy, cơ sở dữ liệu (CSDL), thuật toán, trí tuệ nhân tạo, tính toán song song và hiệu năng cao là những yếu tố quan trọng trong việc phát triển các giải pháp công nghệ hiện đại.

Quá trình khám phá tri thức có thể phân ra các công đoạn sau:

Trích lọc dữ liệu là quá trình chọn lọc các tập dữ liệu cần khai thác từ những nguồn dữ liệu lớn như cơ sở dữ liệu, kho dữ liệu và kho lưu trữ dữ liệu, dựa trên các tiêu chí nhất định.

Tiền xử lý dữ liệu là bước quan trọng trong việc làm sạch và chuẩn hóa dữ liệu, bao gồm xử lý dữ liệu thiếu, dữ liệu nhiễu và không nhất quán Quá trình này cũng bao gồm tổng hợp dữ liệu qua nén, nhóm dữ liệu, xây dựng histograms, lấy mẫu và tính toán các tham số đặc trưng Ngoài ra, việc rời rạc hóa dữ liệu và lựa chọn thuộc tính cũng là những phần không thể thiếu Sau khi hoàn tất bước tiền xử lý, dữ liệu sẽ trở nên nhất quán, đầy đủ và được rút gọn, sẵn sàng cho các bước phân tích tiếp theo.

Biến đổi dữ liệu là quá trình chuẩn hóa và làm mịn dữ liệu, giúp đưa dữ liệu về dạng tối ưu để áp dụng các kỹ thuật khai phá hiệu quả.

Khai phá dữ liệu là quá trình áp dụng các kỹ thuật phân tích, chủ yếu là học máy, để trích xuất các mẫu thông tin và mối quan hệ đặc biệt trong dữ liệu Đây là bước quan trọng và tốn thời gian nhất trong quy trình Khai thác tri thức từ dữ liệu (KDD) Sau khi phát hiện được các mẫu thông tin, bước tiếp theo là đánh giá và biểu diễn tri thức dưới dạng đồ thị, cây, bảng biểu, hoặc luật, giúp người sử dụng dễ dàng tiếp cận và hiểu rõ hơn Đồng thời, bước này cũng thực hiện đánh giá các tri thức đã khai phá theo những tiêu chí nhất định.

Hình 1.1 dưới đây mô tả các công đoạn của KDD

Hình 1.1 Các bước thực hiện quá trình khai phá dữ liệu

Dữ liệu Tiền sử lý dữ liệu

Dữ liệu tiền xử lý

Khai phá dữ liệu Đánh gía và giải thích

Các mẫu Biểu diễn dữ liệu Tri thức

Các kỹ thuật khai phá dữ liệu

Theo quan điểm máy học (Machine Learning) thì các kỹ thuật khai phá dữ liệu bao gồm:

Học có giám sát (Supervised Learning) là phương pháp phân loại các đối tượng trong cơ sở dữ liệu dựa trên một tập hợp các ví dụ huấn luyện với thông tin về nhãn lớp đã biết.

Học không có giám sát (Unsupervised Learning) là phương pháp phân loại các đối tượng thành các lớp hoặc cụm tương tự nhau mà không cần biết trước thông tin về nhãn lớp.

Học nửa giám sát (Semi-Supervised Learning) là một phương pháp phân loại, trong đó các đối tượng được chia thành các lớp dựa trên một số lượng hạn chế các ví dụ huấn luyện có thông tin về nhãn lớp đã biết Phương pháp này kết hợp giữa học có giám sát và học không giám sát, giúp nâng cao hiệu quả phân loại khi dữ liệu nhãn hạn chế.

Nếu căn cứ vào các lớp bài toán cần giải quyết, thì khai phá dữ liệu bao gồm các kỹ thuật sau

Phân lớp và dự đoán là quá trình phân loại các đối tượng vào những nhóm đã xác định trước, như phân loại bệnh nhân hay các loài thực vật Phương pháp này thường áp dụng các kỹ thuật học máy như cây quyết định và mạng nơ-ron nhân tạo Đây được coi là hình thức học có giám sát, giúp cải thiện độ chính xác trong việc phân loại dữ liệu.

Phân cụm (Clustering/Segmentation): Là việc xếp các đối tượng theo từng cụm tự nhiên

Luật kết hợp (Association rules) là phương pháp phát hiện các quy tắc thể hiện tri thức một cách đơn giản Chẳng hạn, một ví dụ điển hình là “70% nữ giới vào siêu thị mua phấn thì có tới 80% trong số họ cũng mua thêm son”.

Phân tích hồi quy là quá trình học một hàm ánh xạ từ tập dữ liệu để dự đoán một biến có giá trị thực Nhiệm vụ của phân tích hồi quy tương tự như phân lớp, nhưng điểm khác biệt là thuộc tính dự báo trong hồi quy là liên tục thay vì rời rạc.

Phân tích các mẫu theo thời gian (Sequential/Temporal patters): Tương tự như khai phá luật kết hợp nhưng có quan tâm đến tính thứ tự theo thời gian

Mô tả khái niệm và tổng hợp (Concept description and summarization):

Thiên về mô tả, tổng hợp và tóm tắt các khái niệm Ví dụ: tóm tắt văn bản

Hiện nay, kỹ thuật khai phá dữ liệu có khả năng xử lý nhiều loại dữ liệu đa dạng, bao gồm cơ sở dữ liệu giao tác, cơ sở dữ liệu quan hệ hướng đối tượng, dữ liệu không gian và thời gian, cơ sở dữ liệu đa phương tiện, cũng như dữ liệu văn bản và web.

Các ứng dụng của khai phá dữ liệu

Khai phá dữ liệu là một lĩnh vực liên quan đến nhiều ngành khoa học như hệ cơ sở dữ liệu, thống kê và trực quan hóa Tùy thuộc vào cách tiếp cận, khai phá dữ liệu có thể áp dụng nhiều kỹ thuật khác nhau như mạng nơ-ron, phương pháp hệ chuyên gia, lý thuyết tập thô và tập mờ So với các phương pháp truyền thống, khai phá dữ liệu mang lại một số ưu thế rõ rệt.

Phương pháp học máy thường được sử dụng cho các cơ sở dữ liệu (CSDL) ổn định, có kích thước vừa phải và ít biến động Ngược lại, kỹ thuật khai thác dữ liệu phù hợp với các CSDL có chứa nhiễu, dữ liệu không đầy đủ hoặc thường xuyên thay đổi.

Phương pháp hệ chuyên gia dựa vào tri thức từ các chuyên gia, cung cấp dữ liệu có độ chính xác cao hơn so với dữ liệu trong cơ sở dữ liệu khai phá Những dữ liệu này thường chỉ bao gồm các trường hợp quan trọng Giá trị và tính hữu ích của các mẫu phát hiện từ hệ chuyên gia được xác nhận bởi chính các chuyên gia.

Phương pháp thống kê là nền tảng lý thuyết quan trọng trong khai phá dữ liệu, nhưng khi so sánh, có những điểm yếu của phương pháp thống kê mà chỉ khai phá dữ liệu mới có thể khắc phục.

Khai phá dữ liệu đang được áp dụng rộng rãi trong nhiều lĩnh vực như marketing, tài chính, ngân hàng, bảo hiểm, khoa học, y tế và an ninh internet Nhiều tổ chức và công ty lớn trên thế giới đã thành công trong việc tích hợp kỹ thuật này vào hoạt động sản xuất và kinh doanh, mang lại lợi ích to lớn Các công ty phần mềm hàng đầu, như Oracle và IBM, cũng đặc biệt chú trọng phát triển các công cụ khai phá dữ liệu, với các ứng dụng nổi bật như Intelligence Miner.

Các ứng dụng này được phân loại thành ba nhóm chính: quản lý khách hàng, phát hiện lỗi và xử lý sự cố trong hệ thống mạng.

Nhóm 1: Phát hiện gian lận (Fraud detection)

Gian lận trong ngành viễn thông là một vấn đề nghiêm trọng, gây thiệt hại hàng tỷ đồng cho các công ty mỗi năm Hai hình thức gian lận phổ biến thường gặp trong lĩnh vực này cần được nhận diện và ngăn chặn kịp thời.

Trường hợp thứ nhất xảy ra khi một khách hành đăng ký thuê bao với ý định không bao giờ thanh toán khoản chi phí sử dụng dịch vụ

Trường hợp thứ hai liên quan đến một thuê bao hợp lệ nhưng lại có một số hoạt động bất hợp pháp gây ra bởi một người khác

Các ứng dụng này hoạt động theo thời gian thực, sử dụng dữ liệu chi tiết cuộc gọi để phát hiện các cuộc gọi nghi ngờ gian lận Khi có cuộc gọi khả nghi, hệ thống ngay lập tức thực hiện các biện pháp ứng phó phù hợp, như hiển thị cảnh báo hoặc từ chối cuộc gọi nếu xác định đó là cuộc gian lận.

Hầu hết các phương pháp nhận diện gian lận dựa vào việc so sánh hành vi sử dụng điện thoại của khách hàng trong quá khứ với hành vi hiện tại để xác định tính hợp lệ của cuộc gọi.

Nhóm 2: Các ứng dụng quản lý và chăm sóc khách hành

Các công ty viễn thông xử lý một lượng lớn dữ liệu về thông tin khách hàng và chi tiết cuộc gọi, giúp nhận diện đặc tính của khách hàng Thông qua việc phân tích dữ liệu này, các công ty có thể phát triển các chính sách chăm sóc khách hàng phù hợp và xây dựng chiến lược tiếp thị hiệu quả.

Khai phá dữ liệu là một công cụ quan trọng trong việc phát hiện các luật kết hợp giữa các dịch vụ viễn thông mà khách hàng sử dụng Hiện nay, khách hàng có thể truy cập nhiều dịch vụ trên một đường điện thoại, như gọi điện, truy cập internet, và nhắn tin Bằng cách phân tích cơ sở dữ liệu khách hàng, chúng ta có thể khám phá các mối liên hệ trong việc sử dụng dịch vụ, từ đó xác định các luật như việc khách hàng thường gọi điện thoại quốc tế.

Các công ty viễn thông có thể tối ưu hóa vị trí đăng ký dịch vụ bằng cách phân tích các luật liên quan đến truy cập internet Ví dụ, điểm đăng ký dịch vụ điện thoại quốc tế nên được đặt gần với điểm đăng ký internet để thuận tiện cho người dùng.

Một ứng dụng quan trọng trong chiến lược marketing là sử dụng kỹ thuật khai phá luật kết hợp từ dữ liệu để xác định các thành phố, tỉnh thường xuyên gọi điện thoại cho nhau Ví dụ, có thể phát hiện ra các tập phổ biến như Cần Thơ, HCM và Hà Nội Việc này rất hữu ích trong việc lập kế hoạch chiến lược tiếp thị và xây dựng các vùng cước phù hợp.

Một vấn đề phổ biến hiện nay ở các công ty viễn thông, đặc biệt là các nhà cung cấp dịch vụ di động, là sự thay đổi nhà cung cấp dịch vụ (customer churn), ảnh hưởng nghiêm trọng đến tốc độ phát triển thuê bao và doanh thu Để đối phó, các công ty thường xuyên triển khai các chính sách khuyến mãi hấp dẫn, dẫn đến việc khách hàng thường xuyên chuyển đổi nhà cung cấp Tuy nhiên, với sự phát triển của các kỹ thuật khai phá dữ liệu, các nhà cung cấp có thể phân tích dữ liệu tiền sử để phát hiện quy luật và dự đoán khách hàng có ý định rời bỏ dịch vụ Bằng cách sử dụng các phương pháp như cây quyết định và mạng nơ-ron nhân tạo trên dữ liệu cước, dữ liệu chi tiết cuộc gọi và dữ liệu khách hàng, các công ty viễn thông có thể nhận diện khách hàng có khả năng rời bỏ và thực hiện các biện pháp phù hợp để giữ chân họ.

Phân lớp khách hàng là một ứng dụng phổ biến, sử dụng kỹ thuật học trên cây quyết định để phân loại khách hàng dựa trên dữ liệu và chi tiết cuộc gọi Bằng cách áp dụng các quy luật từ dữ liệu này, chúng ta có thể dễ dàng phân biệt khách hàng thuộc đối tượng kinh doanh hay nhà riêng.

Luật 1: Nếu không quá 43% cuộc gọi có thời gian từ 0 đến 10 giây và không đến 13% cuộc gọi vào cuối tuần thì đó là khách hàng kinh doanh

Luật 2: Nếu trong 2 tháng có các cuộc gọi đến hầu hết từ 3 mã vùng giống nhau và dưới 56,6% cuộc gọi từ 0-10 giây thì đó là khách hàng riêng

Trên cơ sở tìm được các luật tương tự như vậy, ta dễ dàng phân loại khách hàng, từ đó có chính sách phân khúc thị trường hợp lý

Nhóm 3: Các ứng dụng phát hiện và cô lập lỗi trên hệ thống mạng viễn thông (Network fault isolation)

Một số thách thức đặt ra cho việc khai phá dữ liệu

- Số đối tượng trong cơ sở dữ liệu thường rất lớn.

- Số chiều (thuộc tính) của cơ sở dữ liệu lớn.

- Dữ liệu và tri thức luôn thay đổi có thể làm cho các mẫu đã phát hiện không còn phù hợp.

- Dữ liệu bị thiếu hoặc nhiễu.

- Quan hệ phức tạp giữa các thuộc tính.

- Giao tiếp với người sử dụng và kết hợp với các tri thức đã có.

- Tích hợp với các hệ thống khác

Kết luận chương

Khai phá dữ liệu là một lĩnh vực khoa học mới, tự động hóa việc khai thác thông tin và tri thức hữu ích từ các cơ sở dữ liệu (CSDL) Trong bối cảnh ngày càng nhiều dữ liệu nhưng thiếu hụt tri thức, khai phá dữ liệu giúp giải quyết tình trạng “ngập trong dữ liệu mà vẫn đói tri thức” Nghiên cứu và ứng dụng thành công trong lĩnh vực này cho thấy khai phá dữ liệu không chỉ tiềm năng mà còn mang lại nhiều lợi ích, vượt trội hơn so với các công cụ phân tích dữ liệu truyền thống.

Chương 1 đã cung cấp cái nhìn tổng quan về khai phá dữ liệu, bao gồm tóm tắt quy trình khai thác, các phương pháp áp dụng, ứng dụng thực tiễn và những thách thức mà lĩnh vực này đang đối mặt.

PHÂN CỤM DỮ LIỆU VÀ CÁC GIẢI THUẬT THEO TIẾP CẬN PHÂN CẤP

2.1 Phân cụm dữ liệu (Data Clustering) là gì?

Phân cụm dữ liệu (PCDL) là một lĩnh vực nghiên cứu quan trọng trong khai phá dữ liệu (Data Mining) và khám phá tri thức (KDD) Mục tiêu chính của phân cụm là nhóm các đối tượng lại với nhau, đảm bảo rằng các đối tượng trong cùng một cụm có tính tương đồng cao, trong khi độ bất tương đồng giữa các cụm phải lớn Qua đó, phân cụm cung cấp thông tin và tri thức hữu ích hỗ trợ quá trình ra quyết định.

Data mining là một quá trình tìm kiếm, chắt lọc các tri thức mới, tiềm ẩn, hữu dụng trong tập dữ liệu lớn

Phân cụm dữ liệu, còn gọi là phân tích cụm hay phân tích phân đoạn, là một kỹ thuật trong lĩnh vực Data mining Mục đích của nó là tìm kiếm và phát hiện các nhóm đối tượng tương tự trong một tập dữ liệu lớn Qua đó, phân cụm giúp cung cấp thông tin và tri thức cần thiết để hỗ trợ quá trình ra quyết định hiệu quả hơn.

Một cụm dữ liệu là tập hợp các đối tượng mà các phần tử bên trong cụm có sự tương đồng với nhau, trong khi lại khác biệt với các đối tượng trong các cụm khác Cụm này có thể được coi là một nhóm trong nhiều ứng dụng khác nhau.

Số lượng cụm dữ liệu có thể được xác định dựa trên kinh nghiệm hoặc tự động thông qua quá trình phân cụm.

Chúng ta có thể minh hoạ vấn đề phân cụm như Hình 2.1 sau đây:

Hình 2.1: Mô phỏng vấn đề phân cụm dữ liệu

Trong hình trên, việc phân cụm cho thấy bốn cụm được hình thành từ các phần tử "gần nhau" hay "tương tự" được xếp vào cùng một cụm, trong khi các phần tử "xa nhau" hay "phi tương tự" thuộc về các cụm khác nhau Để làm rõ hơn vấn đề này, chúng ta có thể tham khảo các hình ảnh minh họa sau đây.

Hình 2.2: Dữ liệu nguyên thủy

Hình 2.7: Kết quả của quá trình phân cụm

Các hình từ 2.2 đến 2.7 là thể hiện quá trình phân cụm từ khi“bắt đầu” cho đến khi “kết thúc”

Trong PCDL, khái niệm "Concept Clustering" cho phép hai hoặc nhiều đối tượng được nhóm lại thành một cụm nếu chúng chia sẻ định nghĩa chung về khái niệm hoặc gần gũi với các khái niệm đã được mô tả trước đó Do đó, PCDL không áp dụng khái niệm "tương tự" như đã đề cập trước đây.

Trong học máy, phân cụm dữ liệu là một vấn đề học không có giám sát, nhằm tìm ra cấu trúc trong tập dữ liệu chưa biết Khác với phân lớp (Classification) là học có giám sát, phân cụm dữ liệu đóng vai trò quan trọng trong việc xác định các lớp cho phân lớp bằng cách gán nhãn cho các nhóm dữ liệu.

Một vấn đề thường gặp trong phân cụm dữ liệu là sự tồn tại của dữ liệu "nhiễu" do quá trình thu thập không chính xác hoặc thiếu đầy đủ Để khắc phục tình trạng này, cần xây dựng chiến lược tiền xử lý dữ liệu nhằm loại bỏ hoặc giảm thiểu "nhiễu" trước khi tiến hành phân tích "Nhiễu" có thể là các đối tượng dữ liệu không chính xác hoặc thiếu thông tin về một số thuộc tính Một trong những kỹ thuật phổ biến để xử lý dữ liệu "nhiễu" là thay thế giá trị của các thuộc tính của đối tượng "nhiễu" bằng giá trị tương ứng của đối tượng dữ liệu gần nhất.

Phân cụm dữ liệu là một vấn đề khó, vì rằng người ta phải đi giải quyết các vấn đề con cơ bản như sau:

- 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

Phân cụm dữ liệu là một vấn đề quan trọng trong lĩnh vực học máy không giám sát, được áp dụng phổ biến để khai thác thông tin giá trị từ dữ liệu.

Phân cụm dữ liệu là quá trình chia một tập dữ liệu thành các nhóm mà các đối tượng trong cùng một nhóm có sự tương đồng cao Để thực hiện điều này, cần xác định một phép đo khoảng cách hoặc độ tương tự giữa các đối tượng Hàm tính độ tương tự cho phép nhận biết mức độ tương đồng giữa hai đối tượng; giá trị càng cao cho thấy sự tương đồng lớn hơn Ngược lại, hàm tính độ phi tương tự sẽ tỉ lệ nghịch với độ tương tự, tức là khi độ tương tự tăng, độ phi tương tự sẽ giảm.

2.2 Thế nào là phân cụm tốt?

Một phương pháp hiệu quả sẽ tạo ra các cụm chất lượng cao, với sự tương tự cao trong cùng một lớp (intra-class) và sự tương tự thấp giữa các lớp khác nhau (inter-class).

- Chất lượng của kết quả gom cụm phụ thuộc vào: độ đo tương tự sử dụng và việc cài đặt độ đo tương tự

- Chất lượng của phương pháp gom cụm cũng được đo bởi khả năng phát hiện các mẫu bị che (hidden patterns)

2.3 Bài toán phân cụm dữ liệu

Bài toán phân cụm dữ liệu thường được hiểu là một bài toán học không giám sát và được phát biểu như sau:

Cho tập X = {x 1 , , x n } gồm n đối tượng dữ liệu trong không gian p-chiều, p xi R Ta cần chia X thành k cụm đôi một không giao nhau: k i

C C, i j, nhằm đảm bảo rằng các đối tượng trong cùng một nhóm có sự tương đồng, trong khi các đối tượng thuộc các nhóm khác nhau lại có sự khác biệt rõ rệt theo một khía cạnh nào đó.

Để thực hiện phân cụm, cần xác định số lượng cụm có thể được thiết lập và mức độ tương tự giữa các đối tượng Tiêu chuẩn phân cụm sẽ giúp xây dựng mô hình và thực hiện quá trình phân cụm với các ý nghĩa sử dụng khác nhau.

2.4 Các ứng dụng của phân cụm

Phân cụm DL là một trong những công cụ chính được ứng dụng trong nhiều lĩnh vực Một số ứng dụng điển hình trong các lĩnh vực sau:

Trong lĩnh vực thương mại, PCDL hỗ trợ các thương nhân xác định các nhóm khách hàng quan trọng với những đặc điểm tương đồng, thông qua việc phân tích các mẫu giao dịch trong cơ sở dữ liệu khách hàng.

Trong lĩnh vực sinh học, PCDL được áp dụng để xác định các loại sinh vật, phân loại các gen có chức năng tương đồng và thu thập các cấu trúc từ các mẫu sinh học.

CHƯƠNG TRÌNH DEMO

Để có cái nhìn trực quan về thuật toán phân cụm phân cấp em xin trình bày một chương trình demo đơn giản của thuật toán CURE

3.1 Bài toán và lưu đồ thuật toán

Input: Mảng S chứa các điểm trong không gian 2 chiều, mỗi điểm đặc trưng bởi 2 thuộc tính (x,y), k số cụm cần chia

Output: Các nhóm (cụm) điểm, trong đó các điểm gần nhau sẽ được gom vào một nhóm với mục tiêu là k cụm theo thuật toán CURE

Insert(Q,w) dist(x,x.closes t) < dist(x,w) x.closest=w relocate(Q,x) x.closest=closest_cluster(

T,x,dist(x,w)) dist(w,x)

Ngày đăng: 16/11/2023, 07:34

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

TÀI LIỆU LIÊN QUAN

w