Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 26 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
26
Dung lượng
0,93 MB
Nội dung
HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG NGUYỄN LÂM TÚ NGHIÊN CỨU PHƢƠNG PHÁP CHO BÀI TOÁN PHÂN CỤM VÀ XÂY DỰNG HỆ THỐNG THỬ NGHIỆM Chuyên ngành: Khoa học máy tính Mã số: 60.48.01 TÓM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI – 2013 Luận văn đƣợc hoàn thành tại: HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG Ngƣời hƣớng dẫn khoa học: PGS.TS Đoàn Văn Ban Phản biện 1: …………………………………………………………………………… Phản biện 2: ………………………………………………………………………… Luận văn sẽ đƣợc bảo vệ trƣớc Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bƣu chính Viễn thông Vào lúc: giờ ngày tháng năm Có thể tìm hiểu luận văn tại: - Thƣ viện của Học viện Công nghệ Bƣu chính Viễn thông 1 LỜI MỞ ĐẦU Thông tin là một nguồn tri thức rồi rào và quan trọng đối với nhân loại, lƣợng dữ liệu con ngƣời ta thu thập đƣợc ngày càng lớn. Với sự phát triển của công nghệ điện toán và hệ thống lƣu trữ dữ liệu thì khối lƣợng tài nguyên số ngày càng trở nên đồ sộ và phức tạp. Trong một xã hội hiện đại, thông tin đóng một vai trò then chốt. Thông tin không những chỉ là một tri thức mà nó còn đóng những vai trò khác nhƣ điều hƣớng quá trình sản xuất. Ảnh hƣởng đến hoạt động xã hội hay thị trƣờng. Tác động đến thói quen ngƣời tiêu dùng. Việc phân cụm dữ liệu, để phân loại và quản lý nguồn dữ liệu một cách có hiệu quả là một trong những trọng tâm nghiên cứu trong khai phá dữ liệu và Khoa học máy tính. Mà ứng dụng của nó đã đƣợc hiện thực hóa nhiều trong thực tế, kinh doanh thông minh (BI-Bussiness Intellegent) là một ví dụ rõ nét nhất. Các công ty và doanh nghiệp luôn muốn phát triển khả năng kinh doanh của họ, muốn phục vụ khách hàng tốt, có thêm khách hàng và lợi nhuận nhiều hơn. Việc hoạch định chiến lƣợc kinh doanh dựa trên những thông tin hiện tại của công ty là một nhu cầu tất yếu. Từ đó xây dựng và phát triển các hệ thống BI trở nên rất cần thiết và dần gắn liền với các hoạt động của công ty. Phân cụm dữ liệu có khá nhiều phƣơng pháp. Mỗi phƣơng pháp đều có ƣu điểm, nhƣợc điểm và khả năng ứng dụng riêng của mình. Trong nội dung luận văn này, tác giả sẽ trình bày phƣơng pháp phân cụm phân cấp kết hợp với mạng nơ-ron để giải quyết một vấn đề cụ thể trong hệ thống BI. Luận văn đƣợc trình bày gồm 3 chƣơng với nội dung các chƣơng nhƣ sau: Chƣơng 1: Giới thiệu về khai phá dữ liệu, các khái niệm cơ bản trong khai phá dữ liệu. Đồng thời trong chƣơng này tác giả cũng đi sâu vào phân cụm dữ liệu và một số phƣơng pháp trong lĩnh vực này. Chƣơng 2: Trong chƣơng này luận văn tập trung vào việc tìm hiều kết hợp thuật toán trong phân cụm, áp dụng chúng vào một vấn đề cụ thể trong BI. Hai thuật toán đƣợc tìm hiểu sau trong chƣơng này là phân cụm phân cấp và thuật toán SOM. 2 Bài toán đƣợc đƣa ra để giải quyết là bài toán về phân loại khách hàng triển vọng và sản phẩm tiềm năng. Chƣơng 3: Chƣơng này sẽ đi vào việc cài đặt ứng dụng cụ thể dựa trên thuật toán và vấn đề đã đƣợc nêu ở chƣơng 2. Ứng dụng đƣợc phát triển là một ứng dụng đơn giản nhƣng bao quát đầy đủ thuật toán cũng nhƣ thỏa mãn bài toán đặt ra. 3 CHƢƠNG 1: KHAI PHÁ DỮ LIỆU VÀ CÁC PHƢƠNG PHÁP PHÂN CỤM DỮ LIỆU 1.1. Giới thiệu chung về khai phá dữ liệu Khai phá dữ liệu là một quá trình rút trích hay khai phá tri thức từ một lƣợng lớn dữ liệu. Ta nói rằng đây là một quá trình là bởi vì nó đƣợc thực hiện theo một quy trình với nhiều bƣớc rõ ràng, trong đó mỗi bƣớc có một vai trò nhất định. Việc khai phá dữ liệu là bắt nguồn từ một nhu cầu thực thế khi mà lƣợng dữ liệu con ngƣời ta sử dụng ngày càng nhiều. Lấy ví dụ nhƣ trong quá trình sản xuất, kinh doanh, dữ liệu về khách hàng, hợp đồng, số liệu kinh doanh, chứng từ, tài liệu, … lên đến hàng triệu file hay bản ghi. Việc quản lý và khai thác lƣợng lớn dữ liệu này là một điều sống còn với các doanh nghiệp. Quá trình khai phá dữ liệu đƣợc chia thành ba giai đoạn chính, đó là: - Giai đoạn tiền xử lý (pre-processing) - Giai đoạn khai phá, rút trích (data mining) - Giai đoạn hậu lý xong (post-processing) Hình 1.1.Quá trình khai phá dữ liệu Trong mỗi giai đoạn lại có thể đƣợc chia thành các nhiệm vụ nhỏ hơn.Thông thƣờng vì nhiều lý do mà những dữ liệu thô ban đầu chúng ta không thể sử dụng ngay cho quá trình khai phá đƣợc. Chúng cần đƣợc tinh lọc và xử lý trƣớc. Giai đoạn tiền xử lý bao gồm bốn bƣớc: - Bƣớc làm sạch dữ liệu (Cleaning): Loại bỏ những dữ liệu dƣ thừa hoặc không đồng nhất. 4 - Bƣớc tích hợp (Integration): dữ liệu có thể đƣợc lấy từ nhiều nguồn khác nhau, tại bƣớc này tất cả dứ liệu sẽ đƣợc kết hợp lại với nhau. - Bƣớc lựa chọn dữ liệu (Data Selection): trong bƣớc này những dữ liệu đƣợc coi là tốt nhất sẽ đƣợc lấy ra, chúng sẽ là dữ liệu đầu vào cho việc phân tích dữ liệu. - Bƣớc cuối cùng là bƣớc chuyển đổi (Transformation): trong bƣớc này dữ liệu sẽ đƣợc chuyển đổi hoặc hợp nhất vào một định dạng phù hợp với việc khai phá sau này. Một số kỹ thuật thƣờng đƣợc sử dụng ở bƣớc này là tổng quát hóa (summary) hay kết hợp (aggregation) . Giai đoạn khai phá dữ liệu là giai đoạn cơ bản và quan trọng nhất trong toàn bộ quá trình. Sau giai đoạn tiền xử lý, lƣợng dữ liệu sẽ đƣợc đƣa vào cho giai đoạn khai phá. Một số kỹ thuật đƣợc sử dụng trong giai đoạn này: khai phá luật kết hợp (association rule mining), khai phá mẫu tuần tự (sequential pattern mining), học giám sát (hay phân loại –classification) và học không giám sát (hay phân cụm - clustering ). Tuy vào đặc trƣng của từng bài toán mà kỹ thuật thích hợp nhất sẽ đƣợc sử dụng. Kết quả của giai đoạn này là đƣa ra, rút trích đƣợc các mẫu hay các tri thức. Giai đoạn cuối cùng là giai đoạn sau khi đã xử lý xong. Trong nhiều ứng dụng không phải tất cả các mẫu có đƣợc từ giai đoạn khai phá đều hữu dụng. Bạn hay tƣởng tƣợng rằng với một hệ thống lớn có sử dụng khai phá dữ liệu thì nó có thể có tới hàng nghìn hay hàng triệu các luật hay các mẫu. Các luật hay các mẫu này có đƣợc từ một giai đoạn xử lý phức tạp với lƣợng dữ liệu lớn. Chính vì thế không phải các luật, mẫu đƣợc sinh ra nào cũng thật sự tốt. Hơn thế, một mẫu đƣợc coi là tốt khi nó cần đảm bảo một số tính chất nhƣ: dễ hiểu và con ngƣời dễ tiếp cận, hoạt động tốt với những dữ liệu mới, mang tính cách tân và hữu dụng,nó cũng cần phù hợp với cá lý thuyết đƣợc đề ra. Đây chính là nhiệm vụ của bƣớc đánh giá (Evaluation) trong giai đoạn hậu xử lý dữ liệu. Ngoai ra trong giai đoạn này còn có bƣớc là trình bày lại tri thức (Knowledge Presentation). Bƣớc này sử dụng các kỹ 5 thuật về trình bày trực quan: có thể là đƣa ra các báo cáo, biểu đồ… nhằm giúp ngƣời dùng tiếp cận với các tri thức đã đƣợc rút trích [20]. 1.2. Các phương pháp phân cụm trong Khai phá dữ liệu Phân cụm dữ liệu là một quá trình nhằm sắp xếp các đối tượng vào các nhóm sao cho thành viên của mỗi nhóm có một đặc điểm riêng biệt nào đó. Cụm có thể được hiểu theo nghĩa là một tâp các đối tượng có đặc điểm giống nhau và khác biệt với đối tượng trong các nhóm khác. [3, 24] Phân cụm thƣờng đƣợc đề cập tới nhƣ là một kiểu “học không giám sát” (unsupervised learning). Tức là quá trình phân cụm dữ liệu không dựa trên nhãn cho trƣớc. Phƣơng pháp phân cụm đƣợc sử dụng để tìm ra cấu trúc của một tập hợp các dữ liệu không mang nhãn. Hai hay nhiều đối tƣợng cùng nằm trong một cụm nếu nhƣ một đối tƣợng trong chúng định ra đƣợc một khái niệm chung cho tất cả các đối tƣợng khác. Nói một cách khác thì các đối tƣợng đƣợc phân cụm dựa trên một khái niệm chung cho cả nhóm chứ không phải là từ một đặc điểm giống nhau riêng lẻ. 1.2.1. Phƣơng pháp phân hoạch (Partitioning Methods) Phƣơng pháp phân hoạch là phƣơng pháp phân chia n đối tƣợng cho trƣớc ra k nhóm khác nhau. Các nhóm tạo ra dựa vào sự phân hoạch các đối tƣợng. Một cách thức thƣờng đƣợc sử dụng nhất đó là dựa vào khoảng cách. Các đối tƣợng trong cùng một nhóm thì có các đặc điểm giống nhau hoặc gần giống nhau, trong khi đó các đối tƣợng ở các nhóm khác nhau thì có các đặc tính rất khác nhau. 1.2.2. Phƣơng pháp phân cấp (Hierarchical Methods) Đây là một phƣơng pháp nhằm phân chia các đối tƣợng thành các cụm dƣới dạng sơ đồ cấu trúc cây. Phƣơng pháp này bao gồm làm hai kỹ thuật chính: tích tụ (agglomerative) và phân chia (divisive). Tích tụ là cách phân cụm theo kiểu từ dƣới lên (buttom – up) còn phân chia là cách phân cụm theo kiểu từ trên xuống (top- down). 6 1.2.3. Phƣơng pháp dựa trên mật độ (Density-Based Methods) Để tìm ra các cụm có hình dạng phức tạp và ở nhiều kiểu khác nhau, ngƣời ta sử dụng phƣơng pháp phân cụm dựa trên mật độ [4, 20]. Phƣơng pháp nhằm phân định các vùng có mật độ đối tƣợng dầy đặc thành các nhóm và tách biệt khỏi những vùng có mật độ đối tƣợng ít. 1.2.4. Phƣơng pháp dựa trên lƣới (Grid-Based Methods) Cách tiếp cận phân cụm dựa trên lƣới sử dụng một cấu trúc lƣới đa phân giải. Lƣới cấu trúc này sẽ định lƣợng đối tƣợng trong không gian vào một lƣợng giới hạn các ô của lƣới. Tiếp đó nó thực hiện tất cả các thao tác phân cụm trên cấu trúc. Thuận lợi chính của tiếp cận này là thời gian xử lý nhanh chóng của nó độc lập với số các đối tƣợng dữ liệu và chỉ tuỳ thuộc vào số lƣợng các ô trong mỗi chiều của không gian [6, 7, 20]. 1.3. Kết luận chƣơng 7 CHƢƠNG 2: PHƢƠNG PHÁP PHÂN CỤM PHÂN CẤP VÀ PHƢƠNG PHÁP SOM 2.1. Phương pháp phân cụm phân cấp Phương pháp phân cụm phân cấp là một phương pháp phân cụm, trong đó các đối tượng dữ liệu được gom vào các cụm có cấu trúc dạng cây. Trong phƣơng pháp này các đối tƣợng sẽ đƣợc phân rã theo dạng cấu trúc phân cấp (có thứ bậc). Tuy theo cách thức phân rã mà ngƣời ta có thể sử dụng một trong hai kỹ thuật của phƣơng pháp này đó là: Phân rã theo hƣớng từ trên xuống (tiếp cận theo hƣớng phân chia) hoặc phân rã theo hƣớng từ dƣới lên (tiếp cận theo hƣớng tích tụ) [12]. 2.1.1. Những khái niệm chung trong phƣơng pháp Phân cụm phân cấp Cách tiếp cận dƣới lên: Ban đầu, chúng ta xem mỗi đối tƣợng là 1 nhóm (cụm) và nhóm 2 đối tƣợng gần nhất thành 1 cụm. Quá trình này lặp lại cho đến khi tất cả các đối tƣợng đƣợc nhóm vào 1 cụm cuối cùng. Cách tiếp cận trên xuống: Quá trình ngƣợc lại với tiếp cận dƣới lên, ban đầu chúng ta xem tất cả các đối tƣợng thuộc cùng 1 cụm, sau đó tiến hành phân thành 2 nhóm con (thƣờng dựa vào khoảng cách lớn nhất). Quá trình này đƣợc thực hiện cho đến khi mỗi nhóm chỉ còn 1 đối tƣợng. 2.1.2. Nội dung và đặc điểm của phƣơng pháp Phân cụm phân cấp Một thuật toán thƣờng đƣợc sử dụng trong phƣơng pháp phân cụm phân cấp nhƣ đó là: Thuật toán phân cụm phân cấp tích tụ (Agglomerative Hierarchical Clustering) [22] Kỹ thuật tính liên kết (linkage between objects): Bảng 2.1. Bảng so sánh các cách tính độ liên kết giữa các cụm Kỹ thuật Cách thức Độ phƣc tạp Đặc điểm Liên kết đơn Lấy khoảng cách 2 đối tƣợng gần ảnh hƣởng đến tập các đối tƣợng 8 nhau nhất 2 ()N Liên kết hoàn toàn Lấy khoảng cách 2 đối tƣợng xa nhau nhất 2 ( log )NN Ảnh hƣởng đến các dữ liệu ngoại biên Liên kết trung bình nhóm Lấy khoảng cách trung bình giữa các đối tƣợng 2 ( log )NN Là lựa chọn tốt cho nhiều ứng dụng Liên kết tâm Lấy khoảng cách 2 tâm của cụm 2 ( log )NN Sự đảo ngƣợc có thể xảy ra 2.1.3. Ứng dụng của phƣơng pháp Phân cụm phân cấp Phƣơng pháp phân cụm theo thứ bậc đƣợc sử dụng khá nhiều trong thực tế. Một số kỹ thuật thƣờng thấy trong phƣơng pháp này đó là: [2. 20] - BIRCH - CURE - CHAMELEON Phƣơng pháp phân cụm phân cấp thƣờng đƣợc áp dụng cho các bài toán trong khai phá dữ liệu nhƣ: phân cụm các tài liệu theo cấu trúc cây; đƣợc áp dụng để phân cụm của các tập dữ liệu miêu tả về cấu trúc gen; Đƣợc áp dụng trong bài toán dự đoán tài chính, thị trƣờng chứng khoán. 2.2. Mạng nơ-ron và cách học không giám sát SOM 2.2.1. Giới thiệu về mạng Nơ-ron Mạng Nơ-ron (Artificial Neural Network- ANN) là một mô hình toán học được xây dựng dựa trên sự mô phỏng hệ thần kinh trong sinh học. Mô hình này bao gồm một số lượng lớn các nốt được gắn kết với nhau để xử lý thông tin. Các nốt này được gọi là đơn vị xử lý hay Nơ-ron. ANN giống như bộ não con người, được học bởi kinh nghiệm (thông qua huấn luyện), có khả năng lưu giữ những kinh nghiệm hiểu biết (tri thức) và sử dụng những tri thức đó trong việc dự đoán các dữ liệu chưa biết (unseen data) [13, 22]. [...]... và thực nghiệm Kết quả thu đƣợc: xây dựng đƣợc ứng dụng với các tính năng sau; thực thi đƣợc thuật toán đề ra Luận văn đã xây dựng đƣợc một hệ thống thử nghiệm cho bài toán phân cụm đã đặt ra Ứng dụng đã giải quyết đƣợc bài toán trong BI: “ nhằm xác định khách hàng triển vọng và đánh giá những sản phẩm tiềm năng” Dựa trên những dữ liệu kinh doanh đầu vào của công ty, ứng dụng đã tách lọc, phân tích,... KẾT LUẬN Luận văn đã đi nghiên cứu và tìm hiểu về các phƣơng pháp phân cụm dữ liệu, mà trọng tâm là hai phƣơng pháp phân cụm phân cấp và SOM Kết hợp tính chất phân cấp hội tụ của phân cụm phân cấp với SOM là một cách thức tiếp cận cho một số bài toán đƣợc đặt ra trong thực tế Luận văn đã đƣa ra những cái nhìn khái quát nhất về một hƣớng phát triển trong lĩnh vực kinh doanh và quản lý, đó là BI ( Business... nghệ và khai phá dữ liệu vào BI là một điểm mấu chốt để phát triển lĩnh vực này Luận văn đã đƣa ra một bài toán trong BI và giải quyết nó bằng các thuật toán khai phá dữ liệu Tổng kết một số điểm mà luận văn đã đạt đƣợc nhƣ sau: - Trình bày về khai phá dữ liệu, các khái niệm cơ bản trong khai phá dữ liệu - Giới thiệu và tập trung vào hai phƣơng pháp phân cụm có thứ bậc và phân cụm theo SOM - Xây dựng. .. hàng ấy Kết quả bài toán sẽ giúp cho doanh nghiệp biết đƣợc tính chất của từng nhóm khách hàng, khoanh vùng đƣợc khách hàng Đồng thời cũng thấy đƣợc cần phải chú trọng vào mạng kinh doanh sản phẩm hay dịch vụ nào 14 2.4 Kết hợp giữa phân cụm phân cấp và SOM để giải quyết bài toán hỗ trợ kinh doanh 2.4.1 Sự kết hợp của phân cụm phân cấp với SOM, thuật toán HSOM SOM là một phƣơng pháp phân cụm đƣợc đánh... với công ty Trong luận văn, tác giả sẽ lấy một số dữ liệu khách hàng từ Module này của công ty, có sang lọc và tinh chỉnh để làm ví dụ cho hệ thống demo về HSOM Bảng 3.1 Dữ liệu thử nghiệm cho ứng dụng 19 3.2 Xây dựng kiến trúc ứng dụng Hệ thống đƣợc xây dựng bao gồm 8 gói (package) nhƣ sơ đồ sau: Hình 3.1 Các gói (package) trong hệ thống 3.3 Thực hiện ứng dụng 3.3.1 Biểu đồ lớp và biểu đồ tuần tự... phƣơng pháp phân cụm phân cấp mà cụ thể là kỹ thuật tích tụ (tích tụ algorithm) là một hƣớng để tích hợp giữa hai phƣơng pháp Quá trình xử lý của phƣơng pháp SOM có thể đƣợc minh họa bởi sơ đồ sau: Hình 2.9 Kết hợp phân cụm phân cấp và SOM Trong phạm vi luận văn này, việc kết hợp giữa hai phƣơng pháp SOM và Hierachical Clustering để tạo ra các bƣớc trong việc phân cụm dữ liệu đƣợc gọi là tắt là thuật toán. .. thuật toán phân cụm, kết quả cuối cùng đƣa ra là tập các cụm với những đặc tính riêng của chúng Ngoài ra, HSOM có thể chấp nhận một lƣợng dữ liệu lớn đầu vào với cá thuộc tính cho trƣớc Số lƣợng các cụm đầu ra có thể đƣợc xác định và không chế trƣớc Hình 2.11 Mô hình bài toán hỗ trợ kinh doanh Thuật toán thực sự có ích khi số lƣợng dữ liệu khách hàng lớn và gây khó khăn cho ngƣời quản lý khi phân tích... (2.17) Bước 6: giảm chỉ số học và bán kính (n) 0 exp count epochs (count ) 0 exp count T 1 (2.18) (2.19) Bước 7: kiểm tra giá trị điều kiện dừng kết thúc thuật toán nếu điều kiện dừng là đúng 2.4.2 Thuật toán HSOM và bài toán hỗ trợ kinh doanh Thuật toán HSOM là một thuật toán phù hợp cho việc giải quyết bài toán phân loại khách hàng triển vọng và đánh giá những sản phẩm... đƣợc tính theo công thức sau: w ij w ij h(i , j )( xi w ij ) 2.5 Kết luận chương 18 CHƢƠNG 3: XÂY DỰNG ỨNG DỤNG PHÂN CỤM DỮ LIỆU CHO BÀI TOÁN HỖ TRỢ KINH DOANH 3.1 Thu thập dữ liệu khách hàng từ hệ thống Taskhub Taskhub là một hệ thống phần mềm ERP dựa trên nền Web đƣợc phát triển bởi công ty Synergix Technologies (Singapore), nó có chức năng là hỗ trợ một cách hiểu quả với các hoạt động và quá... Thuật toán 17 gom cụm và giảm thiểu số lƣợng dữ liệu đầu vào Việc khách hàng thuộc vào cụm nào cũng thể hiện xu thế của khách hàng đó Cùng với vector trọng số của mỗi cụm mà cho ta biết đƣợc yếu tố nào ảnh hƣởng đến nhóm khách hàng này nhiều nhất Các thông tin tri thức trên sẽ đƣợc ngƣời quản lý nắm bắt và dựa vào đó mà đƣa ra những quyết định cho phù hợp với công ty 2.4.3 Quá trình tìm kiếm BMU và cập . HỌC VIỆN CÔNG NGHỆ BƢU CHÍNH VIỄN THÔNG NGUYỄN LÂM TÚ NGHIÊN CỨU PHƢƠNG PHÁP CHO BÀI TOÁN PHÂN CỤM VÀ XÂY DỰNG HỆ THỐNG THỬ NGHIỆM Chuyên ngành: Khoa học máy tính. Phương pháp phân cụm phân cấp Phương pháp phân cụm phân cấp là một phương pháp phân cụm, trong đó các đối tượng dữ liệu được gom vào các cụm có cấu trúc dạng cây. Trong phƣơng pháp này các đối. Nội dung và đặc điểm của phƣơng pháp Phân cụm phân cấp Một thuật toán thƣờng đƣợc sử dụng trong phƣơng pháp phân cụm phân cấp nhƣ đó là: Thuật toán phân cụm phân cấp tích tụ (Agglomerative