CHƢƠNG 1: CƠ SỞ LÝ THUYẾT ... 8

Khai phá dữ liệu: Phân cụm & ứng dụng

Thông tin tài liệu

Ngôn ngữ Vietnamese
Định dạng | PDF
Dung lượng 1.40 MB
Tác giả

Nguyễn Văn Huy

Tóm tắt

I.Cơ sở lý thuyết về Khai phá dữ liệu và Phân cụm dữ liệu

Phần này trình bày các khái niệm cơ bản về khai phá dữ liệu, bao gồm định nghĩa, các kỹ thuật chính (thừa kế từ cơ sở dữ liệu, học máy, trí tuệ nhân tạo...), và các dạng dữ liệu có thể khai thác. Tập trung vào khái niệm phân cụm dữ liệu như một phương pháp tìm kiếm các mẫu dữ liệu tự nhiên. Đặc biệt, phần này giải thích khái niệm “ý kiến người dùng sản phẩm” như một nguồn dữ liệu quan trọng cho phân tích đánh giá sản phẩm. Các phương pháp khai thác thông tin từ Internet cũng được đề cập đến, nhấn mạnh vai trò của các máy tìm kiếm như Google trong việc thu thập dữ liệu.

1. Khái niệm cơ bản về Khai phá dữ liệu

Phần này định nghĩa khai phá dữ liệu là một hướng nghiên cứu ra đời hơn một thập kỷ, thừa hưởng kỹ thuật từ nhiều lĩnh vực như cơ sở dữ liệu, 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. Sự phát triển nhanh chóng về phạm vi ứng dụng và phương pháp tìm kiếm tri thức đã dẫn đến nhiều quan điểm khác nhau, nhưng nhìn chung, khai phá dữ liệu được hiểu là việc áp dụng các kỹ thuật phân tích để trích chọn thông tin và các mối liên hệ đặc biệt của dữ liệu. Đây là bước quan trọng nhất, cần nhiều tài nguyên nhất trong toàn bộ quá trình khai phá tri thức. Khái niệm 'ý kiến người dùng sản phẩm' được làm rõ, bao gồm các thông tin phản ánh về ưu điểm (tốt, thuận tiện,...) và nhược điểm (xấu, kém,...) của sản phẩm, cũng như mong muốn của người dùng về sản phẩm. Quá trình biến đổi dữ liệu, bao gồm chuẩn hóa và tinh chỉnh dữ liệu về dạng chuẩn, cũng được đề cập đến như một bước cần thiết trước khi áp dụng các kỹ thuật khai phá dữ liệu.

2. Khai phá dữ liệu theo quan điểm Học máy

Từ góc độ học máy, các kỹ thuật khai phá dữ liệu bao gồm học có giám sát (gán nhãn lớp cho các phần tử trong CSDL dựa trên tập ví dụ huấn luyện và thông tin nhãn lớp đã biết) và mô tả khái niệm (tập trung vào mô tả, tổng hợp và tóm tắt khái niệm, ví dụ tóm tắt văn bản). Khóa luận cũng đề cập đến các dạng dữ liệu có thể khai phá, bao gồm cơ sở dữ liệu quan hệ, dữ liệu đa chiều, cơ sở dữ liệu quan hệ hướng đối tượng, cơ sở dữ liệu có thuộc tính không gian và thời gian, cơ sở dữ liệu chuỗi thời gian và cơ sở dữ liệu đa phương tiện. Điều này cho thấy sự đa dạng và phạm vi ứng dụng rộng rãi của khai phá dữ liệu trong nhiều lĩnh vực khác nhau.

3. Tìm kiếm thông tin trên Internet và Phân cụm dữ liệu

Phần này giới thiệu khái niệm máy tìm kiếm như một hệ thống phần mềm tiếp nhận yêu cầu tìm kiếm của người dùng, phân tích yêu cầu và tìm kiếm thông tin trong cơ sở dữ liệu được tải xuống từ Internet. Google, với nguồn gốc từ từ “Googol”, được nhắc đến như một ví dụ nổi bật về máy tìm kiếm hiệu quả. Khóa luận nhấn mạnh vai trò của phân cụm (clustering/segmentation) – hay còn gọi là học không có giám sát – như một phương pháp xử lý thông tin, 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. Ứng dụng của phân cụm dữ liệu được đề cập đến trong nhiều lĩnh vực như nhận dạng mẫu, xử lý ảnh, nghiên cứu thị trường, và trực quan hóa. Phân cụm dữ liệu được định nghĩa là quá trình phân chia tập dữ liệu thành các phần khác nhau dựa trên các tiêu chí cho trước, có thể được xác định trước theo kinh nghiệm hoặc tự động xác định bằng phương pháp phân cụm. Các ứng dụng của phân cụm trong khoa học tự nhiên (sinh học, môi trường, địa lý, toán học) và nghiên cứu trái đất (theo dõi hoạt động vùng trên trái đất) cũng được đề cập.

4. Phân loại dữ liệu và các phương pháp phân cụm

Phần này trình bày cách phân loại dữ liệu dựa trên hệ đo, bao gồm thuộc tính định danh (nominal scale), thuộc tính khoảng (interval scale), và thuộc tính tỉ lệ (ratio scale). Thuộc tính định danh và thuộc tính có thứ tự được gọi chung là thuộc tính hạng mục (categorical), trong khi thuộc tính khoảng và tỉ lệ được gọi là thuộc tính số (numeric). Việc chuẩn hóa dữ liệu để khắc phục ảnh hưởng của đơn vị đo đến kết quả phân cụm cũng được đề cập. Các tiêu chí đánh giá chất lượng thuật toán phân cụm cũng được trình bày, bao gồm khả năng mở rộng (scalability) và độ nhạy cảm với thứ tự dữ liệu vào. Các thuật toán phân cụm phân hoạch (patitional) như k-means, PAM, CLARA và CLARANS được giới thiệu, cùng với các thuật toán phân cụm phân cấp (hierarchical) và các thuật toán đặc thù khác như các thuật toán dựa trên mật độ và mô hình.

II.Tìm kiếm và Khai thác thông tin sản phẩm trên Internet

Phần này tập trung vào việc khai thác thông tin về sản phẩm từ các nguồn trực tuyến như website, diễn đàn. Nó đề cập đến các phương pháp tìm kiếm thông tin trên Internet, và cách tổ chức lưu trữ dữ liệu thu thập được, sử dụng hệ quản trị cơ sở dữ liệu như SQL Server và định dạng XML. Quá trình này bao gồm việc gán mã tìm kiếm (SearchID) cho từng tiêu chí tìm kiếm và lưu trữ thông tin (WebsiteID, URL, Content) để phân tích sau này. Việc xử lý nhiễu trong dữ liệu cũng được đề cập.

1. Thu thập thông tin sản phẩm từ Internet

Phần này tập trung vào việc khai thác thông tin về sản phẩm từ các nguồn dữ liệu trực tuyến. Nguồn dữ liệu chính là các nhận xét của người dùng trên Internet, bao gồm các trang web, diễn đàn, và các nền tảng trực tuyến khác nơi người dùng chia sẻ cảm nhận, suy nghĩ về sản phẩm. Mục tiêu là thu thập thông tin về một sản phẩm cụ thể, tổng hợp và thống kê để phục vụ công tác khảo sát và đánh giá sản phẩm trên thị trường. Việc này đòi hỏi việc sử dụng các kỹ thuật tìm kiếm thông tin trên Internet hiệu quả, tận dụng khả năng của các máy tìm kiếm để thu thập dữ liệu một cách có hệ thống. Khó khăn nằm ở việc xử lý lượng dữ liệu khổng lồ và đa dạng từ nhiều nguồn khác nhau, đòi hỏi sự kết hợp nhiều kiến thức để giải quyết.

2. Lưu trữ và tổ chức dữ liệu

Sau khi thu thập dữ liệu, việc lưu trữ và tổ chức dữ liệu một cách hợp lý là rất quan trọng. Khóa luận đề cập đến việc sử dụng hệ quản trị cơ sở dữ liệu (Cơ sở dữ liệu lớn) như SQL Server để lưu trữ thông tin. Định dạng XML được đề cập đến như một chuẩn dữ liệu phổ biến. Dữ liệu được phân loại theo các tiêu chí tìm kiếm, mỗi tiêu chí được gán một mã tìm kiếm (SearchID) để phân biệt. Thông tin từ các trang web được đánh mã để phân biệt cho mỗi lần lấy kết quả, đồng thời URL chính xác của từng bản tin cũng được lưu trữ để thuận tiện cho việc lấy lại nội dung sau này. Một ví dụ được đưa ra với các thuộc tính WebsiteID, SearchID, URL và Content, mô tả cách lưu trữ thông tin thô từ các website. Dữ liệu này sau đó sẽ được xử lý và phân tích để trích xuất thông tin hữu ích.

3. Xử lý nhiễu trong dữ liệu

Dữ liệu thu thập từ Internet thường chứa nhiễu, bao gồm thông tin không chính xác hoặc thiếu thông tin về một số thuộc tính. Khóa luận đề cập đến một kỹ thuật xử lý nhiễu phổ biến: 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. Việc xử lý nhiễu là một bước quan trọng để đảm bảo chất lượng dữ liệu đầu vào cho các bước phân tích tiếp theo, đặc biệt là trong việc áp dụng các thuật toán phân cụm dữ liệu để tìm kiếm các mẫu dữ liệu tự nhiên, giúp cho việc đánh giá sản phẩm chính xác hơn. Chất lượng dữ liệu đầu vào ảnh hưởng trực tiếp đến kết quả phân tích và đánh giá cuối cùng.

III.Các thuật toán Phân cụm dữ liệu

Phần này trình bày một số thuật toán phân cụm dữ liệu điển hình, bao gồm các họ thuật toán như phân hoạch (k-means, PAM, CLARA, CLARANS), phân cấp, và các thuật toán dựa trên mật độ (DBSCAN, OPTICS, BIRCH, CURE). Mỗi thuật toán được mô tả ngắn gọn về nguyên lý hoạt động, ưu điểm, nhược điểm và độ phức tạp tính toán. Việc lựa chọn thuật toán phụ thuộc vào đặc điểm của dữ liệu và mục tiêu nghiên cứu.

1. Giới thiệu các họ thuật toán phân cụm

Phần này cung cấp cái nhìn tổng quan về các thuật toán phân cụm dữ liệu được sử dụng rộng rãi. Các thuật toán được phân loại thành các họ chính: thuật toán phân cụm phân hoạch (Patitional), thuật toán phân cụm phân cấp (Hierarchical), và các thuật toán phân cụm đặc thù khác như các thuật toán dựa trên mật độ và các thuật toán dựa trên mô hình. Thuật toán phân cụm phân hoạch, bao gồm các thuật toán kinh điển như k-means, PAM, CLARA và CLARANS, được đề cập đến như những thuật toán được đề xuất đầu tiên trong lĩnh vực khai phá dữ liệu và được áp dụng nhiều trong thực tế. Sự khác biệt giữa phân cụm phẳng (chia tập dữ liệu thành các tập con) và phân cụm phân cấp (tạo ra cây phân cấp các cụm) cũng được giải thích, cùng với hai cách tiếp cận: bottom-up (kết hợp các cụm tương tự) và top-down (gán mẫu tin vào các cụm nguyên thủy). Các phương pháp phân cụm theo mô hình (tạo ra mô hình biểu diễn các cụm) và phân vùng (tập hợp phần tử dữ liệu vào các cụm) cũng được phân biệt.

2. Thuật toán phân cụm phân hoạch K means và các thuật toán liên quan

Phần này tập trung vào thuật toán k-means, một thuật toán kinh điển được kế thừa và sử dụng rộng rãi trong phân cụm dữ liệu. Tuy nhiên, chi tiết về thuật toán này không được đề cập đến. Các thuật toán liên quan như PAM (Partitioning Around Medoids), CLARA (Clustering LARge Applications), và CLARANS (Clustering LARge Applications) cũng được nhắc đến như là những thuật toán thuộc họ thuật toán phân cụm phân hoạch. CLARA được đề cập đến khả năng xử lý tập dữ liệu lớn và độ phức tạp tính toán O(k(40+k)² + k(n-k)). Thuật toán CLARANS có quá trình hoạt động tương tự CLARA, nhưng lựa chọn trung tâm medoid tốt hơn bằng cách ngẫu nhiên lựa chọn và thay thế đối tượng trong cụm. Cả hai thuật toán đều cho kết quả phân cụm tối ưu cục bộ.

3. Thuật toán phân cụm dựa trên mật độ BIRCH CURE và DBSCAN

Phần này đề cập đến các thuật toán phân cụm dựa trên mật độ, trong đó DBSCAN (Density-Based Spatial Clustering of Applications with noise) được nêu là thuật toán phổ biến nhất. Thuật toán này tìm các đối tượng có số lượng láng giềng lớn hơn một ngưỡng tối thiểu, xác định cụm bằng tập hợp các đối tượng liên thông mật độ. DBSCAN có khả năng tìm ra các cụm với hình thù bất kỳ và ít bị ảnh hưởng bởi thứ tự dữ liệu nhưng yêu cầu người dùng xác định các tham số (bán kính Eps và số láng giềng tối thiểu Minpts) khó tối ưu. Thuật toán BIRCH (Balanced Iterative Reducing and Clustering using Hierarchies) được mô tả dựa trên ý tưởng lưu trữ các đại lượng thống kê thay vì toàn bộ đối tượng dữ liệu, sử dụng cây CF (CF-tree). Thuật toán CURE (Clustering Using REpresentatives) sử dụng nhiều đối tượng đại diện cho mỗi cụm, có thể khám phá các cụm với hình thù và kích thước khác nhau, và có khả năng xử lý các phần tử ngoại lai. Cả BIRCH và CURE đều được đánh giá về độ phức tạp tính toán và khả năng xử lý dữ liệu lớn.

IV.Thiết kế hệ thống đánh giá sản phẩm

Phần cuối cùng mô tả thiết kế và triển khai một hệ thống ứng dụng (sử dụng Visual Studio 2010 và C#) để minh họa quá trình đánh giá thông tin sản phẩm dựa trên dữ liệu thu thập từ web. Hệ thống này sẽ áp dụng các kỹ thuật khai phá dữ liệuphân cụm dữ liệu đã được trình bày trước đó để phân tích ý kiến người dùng và hỗ trợ ra quyết định cho các nhà quản lý.

1. Mô tả bài toán và thiết kế hệ thống

Phần này trình bày mô tả chi tiết về bài toán đánh giá thông tin sản phẩm dựa trên nhận xét của người dùng trên Internet. Nó bao gồm việc phân tích và thiết kế hệ thống để giải quyết bài toán này. Mục tiêu là xây dựng một hệ thống có thể thu thập, xử lý và phân tích dữ liệu từ các nguồn trực tuyến như website và diễn đàn, nhằm cung cấp thông tin hữu ích cho việc đánh giá sản phẩm. Thiết kế hệ thống bao gồm việc lựa chọn các thuật toán phân tích dữ liệu phù hợp, xác định các bước xử lý dữ liệu, và lựa chọn công nghệ để triển khai hệ thống. Việc lựa chọn công nghệ phù hợp với khả năng xử lý dữ liệu lớn và hiệu quả là rất quan trọng.

2. Triển khai hệ thống bằng Visual Studio 2010 và C

Phần này mô tả quá trình cài đặt và triển khai hệ thống đánh giá sản phẩm sử dụng Visual Studio 2010 và ngôn ngữ lập trình C#. Việc sử dụng Visual Studio 2010 và C# cho phép xây dựng một hệ thống mạnh mẽ và linh hoạt trong việc xử lý dữ liệu, tích hợp với các thư viện và công cụ hỗ trợ phân tích dữ liệu. Quá trình triển khai bao gồm việc viết code, test và debug chương trình để đảm bảo hệ thống hoạt động ổn định và chính xác. Các chức năng chính của hệ thống, bao gồm thu thập dữ liệu, xử lý dữ liệu, phân tích dữ liệu và hiển thị kết quả, cần được thiết kế và triển khai một cách cẩn thận.

3. Thử nghiệm và đánh giá hệ thống

Sau khi triển khai, hệ thống sẽ được thử nghiệm và đánh giá để kiểm tra xem nó có đáp ứng được các yêu cầu đặt ra hay không. Quá trình này bao gồm việc chạy thử nghiệm với dữ liệu thực tế, đánh giá hiệu quả của hệ thống trong việc thu thập, xử lý và phân tích dữ liệu. Các chỉ số đánh giá hiệu quả có thể bao gồm tốc độ xử lý, độ chính xác của kết quả, và khả năng mở rộng của hệ thống. Kết quả thử nghiệm sẽ được sử dụng để đánh giá tính khả thi và hiệu quả của hệ thống, và cung cấp những gợi ý cho việc cải tiến hệ thống trong tương lai. Mục tiêu là đảm bảo hệ thống đáp ứng được yêu cầu của người dùng và cung cấp thông tin hữu ích cho việc ra quyết định về sản phẩm.