Tài liệu 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

  • Số trang: 26 |
  • Loại file: PDF |
  • Lượt xem: 120 |
  • Lượt tải: 0
nganguyen

Đã đăng 34345 tài liệu

Mô tả:

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 (topdown). 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 Liên kết đơn Cách thức Lấy khoảng cách 2 đối tƣợng gần Độ phƣc tạp Đặc điểm ảnh hƣởng đến tập các đối tƣợng 8 Liên kết hoàn toàn Liên kết trung bình nhóm Liên kết tâm nhau nhất Lấy khoảng cách 2 đối tƣợng xa nhau nhất Lấy khoảng cách trung bình giữa các đối tƣợng Lấy khoảng cách 2 tâm của cụm ( N 2 ) ( N 2 log N ) Ảnh hƣởng đến các dữ liệu ngoại biên ( N 2 log N ) Là lựa chọn tốt cho nhiều ứng dụng ( N 2 log N ) 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]. 9 Hình 2.6. Mô hình của Nơ-ron trong mạng Nơ-ron Kiến trúc của mạng Nơ-ron: Nhìn chung một mạng Nơ-ron bao gồm ba lớp: Input layer, Hidden layer và Output layer. Trong đó, lớp Input layer có nhiệm vụ nhận dữ liệu đầu vào, lớp Hidden layer có nhiệm vụ nhận dữ liệu từ lớp trƣớc đó và chuyển dữ liệu này cho lớp xử lý tiếp theo, cuối cùng là lớp Output layer đƣa ra kết quả đầu ra của mạng. Nơ-ron hay còn đƣợc gọi là đơn vị xử lý (PE), hạt nhân, hay nốt là thành phần cơ bản của mạng Nơ-ron. Kiến trúc của ANN Mạng ANN bao gồm hai hình trạng chính: Mạng truyền thẳng và Mạng hồi quy. Trong mạng truyền thẳng dòng dữ liệu sẽ đi theo một hƣớng duy nhất. Mạng có thể có nhiều lớp nhƣng dữ liệu sẽ không đƣợc truyền phản hồi từ lớp này trở lại lớp kia. Điều đó có nghĩa là sẽ không xảy ra trƣờng hợp output của lớp này trở ngƣợc lại làm input của lớp trƣớc đó. Đối với mạng hồi quy, nó có chứa các liên kết hồi quy. Nghĩa là trong một số trƣờng hợp dòng dữ liệu sẽ đảo ngƣợc, quay trở lại với lớp trƣớc đó. Điều này sẽ làm tăng khả năng linh hoạt của mạng trong việc điều chỉnh chỉ số và các liên kết để hàm chuyển đổi có thể đạt đến giá trị mong muốn. Khi một mạng ANN đƣợc xây dựng và định dạng đƣợc cấu trúc cũng nhƣ hình trạng, đó là lúc nó sẵn sàng cho quá trình học. Giá trị trọng số của các đơn vị xử lý ban đầu sẽ đƣợc lựa trọn một cách ngẫu nhiên. Nhƣ thế quá trình học của ANN bắt đầu. ANN có hai phƣơng pháp học đó là: học có giám sát (Supervised 10 Learning) và học không giám sát (Un-Supervised Learning). Học giám sát nghĩa là các giá trị đầu vào và kết quả mong muốn đƣợc đƣa ra trƣớc. Điển hình cho kỹ thuật này là mạng Nơ-ron lan truyền ngƣợc (Backpropagation). Học không giám sát thì ta chỉ biết đƣợc giá trị đầu vào, còn giá trị mong muốn sẽ đƣợc thiết lập dần trong quá trình học. Mạng Nơ-ron điển hình đƣợc huấn luyện theo kiểu học không giám sát là mạng tự tổ chức SOM ( Self Organization Map). Không có kiểu học giám sát theo mô hình mạng tự tổ chức. Mạng Nơ-ron có 3 cách huấn luyện chính đó là huấn luyện theo khối, huấn luyện ngẫu nhiên và huấn luyện trực tuyến 2.2.2. Nội dung và đặc điểm của phƣơng pháp SOM SOM ( Seft Organization Map) là một mạng Nơ-ron nhân tạo, được huấn luyện bởi kỹ thuật không giám sát,trong đó số lượng Nơ-ron của SOM chính bằng số lượng cụm của dữ liệu huấn luyện. Các Nơ-ron trong SOM được biểu diễn bởi dãy, có thể là dãy một chiều hay dãy hai chiều. Cách biều diễn thường được sử dụng đó là biểu diễn theo hai chiều, khi đó SOM được coi như một mạng tự tổ chức hai chiều của các cụm. Dữ liệu đầu vào sẽ thuộc một cụm nhất định-tương ứng với một Nơ-ron, cụm có số chiều chính bằng số chiều của Nơ-ron này. Như vậy SOM có khả năng biểu diễn các dữ liệu đầu vào nhiều chiều trở thành ít chiều [19, 21]. Hình 2.7. Mạng tự tổ chức SOM Thuật toán: 11 Input: Tập các vector đầu vào, tập các Nơ-ron Output: Tập các cụm của dữ liệu đầu. Các cụm này tạo thành một SOM. Nội dung: Bước 1: Khởi tạo trọng số một cách ngẫu nhiên Bước 2: với mỗi vector đầu vào x, thực hiện bƣớc 3 đến 5 Bước 3: Đối với mỗi Nơ-ron thứ j, ta tính khoảng cách D( j )  n  (x i 1 i - w ji ) 2 (2.7) Bước 4: Tìm khoảng cách D(j) nhỏ nhất, từ đó xác định đƣợc winning Nơron Bước 5: cập nhật giá trị trọng số của tất cả các láng giềng j của winning Nơron w ij  w ij   h(i , j )( xi  w ij ) (2.8) Bước 6: giảm chỉ số học  và và bán kính láng riềng  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.2.3. Ứng dụng của SOM trong thực tế Một số ứng dụng trong thực tế của SOM có thể kể ra: - Kohonen (1984) hệ thống nhận biết âm - Hệ thông nhận biết về ký tự 12 - Ứng dụng trong việc giải quyết bài toán ngƣời bán hàng. - Tổ chức và lƣu trữ tài liệu (Document Organization and Retrieval - SOM đƣợc sử dụng trong các ứng dụng về Gen và di truyền học. 2.3. Giới thiệu về BI và bài toán hỗ trợ kinh doanh 2.3.1. BI và chiến lƣợc khách hàng BI ( Business Intelligence) là tập hợp lý thuyết, phương pháp, quy trình, kiến trúc, và công nghệ với mục tiêu là chuyển hóa những dữ liệu thô thành những thông tin có nghĩa và hữu ích cho việc kinh doanh [27]. Các thành phần của BI: Hình 2.8. Các thành phần của hệ thống BI Thông thƣờng khi một doanh nghiệp chọn BI là khi mà họ nghĩ đến một hệ thống có khả năng dự báo hoặc hỗ trợ việc ra quyết định. Nhiệm vụ của BI chính là tạo ra những tri thức từ dữ liệu ban đầu của doanh nghiệp. Thông qua việc phân tích, đánh giá những tri thức ấy doanh nghiệp có thể dự báo trƣớc hoặc xác định những mục tiêu, quyết định của mình. BI có thể giúp cho doanh nghiệp thay đổi cách nhìn nhận về thực tế hoạt động của mình, cũng nhƣ đề ra những chiền lƣợc 13 kinh doanh phù hợp với thực tế đó. BI thay đổi tầm nhìn và thay đổi cách hoạt động trong tƣơng lai của doanh nghiệp. Cũng nhƣ theo định nghĩa của BI, thì nó có một vai trò quan trọng đó là chuyển hóa các dữ liệu thô thành những thong tin có nghĩa và hữu ích cho việc kinh doanh. Điều đó có nghĩa là BI đã giúp cho việc quản lý dữ liệu và tài nguyên của doanh nghiệp một cách tốt hơn và hơn thế nó tạo ra giá trị tri thức từ các nguồn dữ liệu đó. Mức độ chuyển hóa dữ liệu đƣợc đề cập đến đó là: Dữ liệu  Thông tin Tri thức. 2.3.2. Vai trò khai phá dữ liệu trong BI Khai phá dữ liệu đóng một vai trò rất quan trọng trong BI. Nó có nhiệm vụ biến đổi các dữ liệu thô, vô nghĩa thành những dữ liệu có tri thức nhằm giúp cho việc ra quyết định hay định hƣớng ra quyết định. 2.3.3. 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 tiềm năng Khách hàng và sản phẩm là hai yếu tố quan trọng trong chiến lƣợc kinh doanh, nó gắn liền với sự thành công hay thất bại của doanh nghiệp. Hai yếu tố này cũng luôn đi đôi và có quan hệ qua lại với nhau.Nắm bắt đƣợc đâu là khách hàng, nhóm khách hàng phù hợp và triển vọng dựa trên các yếu tố hiện tại của công ty nhƣ dịch vụ, sản phẩm cùng với đặc điểm của khách hàng là điều mấu chốt. Từ việc phân vùng khách hàng mà ta biết đƣợc nên đầu tƣ và chú trọng đến mặt hàng nào để nâng cao sức hút với khách hàng và đẩy mạnh quá trình kinh doanh. Bài toán đƣợc đặt ra đó là: Cho trƣớc một số lƣợng khách hàng cùng với các đặc tính, hãy gom cụm những khách hàng này nhằm tìm ra nhóm khách hàng có những đặc điểm, thói quen giống nhau. Từ đó ta cũng biết đƣợc sản phẩm hay dịch vụ nào phù hợp với nhóm khách 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 giá là mạnh mẽ và linh hoạt. Trong đó trọng tâm của thuật toán rơi vào việc xây dựng mạng lƣới các Nơ-ron cùng với vector trọng số của mỗi Nơ-ron đó. Tính linh hoạt của phƣơng pháp gắn liền với quá trình cập nhật các lân cận của mỗi Nơ-ron chiến thắng. Mỗi Nơ-ron có thể đƣợc coi là một cụm. Nhƣ vậy, ta có thể thấy rằng việc xây dựng một mạng lƣới các Nơ-ron ban đầu cùng với các đặc tính của mỗi Nơ-ron là một bƣớc quan trọng của SOM. Việc sử dụng 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 HSOM. Nội dung của thuật toán HSOM nhƣ sau: Input: cho tập các vector đầu vào X ={x1, x2, …, xn} Output: Xác định cụm của mỗi vector đầu vào Bước 0: Xác định tham số đầu vào MxN (kích thƣớc Map của SOM); chỉ số học ban đầu 0 ; số lƣợng epoch (số lƣợng các lần huấn luyện). Bước 1: Xây dựng lƣới Nơ-ron. Sử dụng kỹ thuật Tích tụ để gom nhóm các Nơ-ron và tạo mạng tự tổ chức SOM. 15 Bước 1.1: Tập các vector đầu vào của các đối tƣợng xây dựng mạng tự tổ chức SOM. Bước 1.2: Tính toán khoảng cách giữa các đối tƣợng trong tập huấn luyện E. Thiết lập ma trận khoảng cách Bước 1.3: Coi mỗi đối tƣợng là một cụm. Lặp lại các bƣớc sau cho đến khi nào số lƣợng cụm chính bằng MxN - Tìm min(aij), xác định đƣợc hai đối tƣợng ei, ej. Gom nhóm hai đối tƣợng thành một nhóm - Cập nhật lại ma trận khoảng cách M với số lƣợng đối tƣợng giảm đi một. Bước 1.4: - Ta có đƣợc tập các cụm cùng với ma trận khoảng cách giữa các cụm. Mỗi một cụm là một Nơ-ron. - Đối với vector trọng số của mỗi Nơ-ron: Vector trọng số của mỗi Nơ-ron đƣợc tính toán lại theo công thức trung bình sau: w - w1  w 2 ...  w k k (2.13) Thực hiện việc ánh xạ đến mạng tự tổ chức SOM nhƣ sau: + Tìm 2 vị trí còn trống có khoảng cách đến đến nhau là nhỏ nhất + Tìm min(aij), xác định đƣợc hai đối tƣợng ei, ej, đặt vào hai vị trí vừa tìm đƣợc. Gom nhóm hai đối tƣợng thành một nhóm +Cập nhật lại ma trận khoảng cách M với số lƣợng đối tƣợng giảm đi một. + Kết thúc quá trình ánh xạ nếu nhƣ lƣới SOM đƣợc lấp đầy - Xác định đƣợc bán kính láng giềng ban đầu của mạng tự tổ chức:  0 = max(aij)/2 Bước 2: với mỗi vector huấn luyện đầu vào x, thực hiện bƣớc 3 đến 5 Bước 3: Đối với mỗi Nơ-ron thứ j, ta tính khoảng cách D( j )  n  ( x -w i 1 i ji )2 (2.14) 16 Bước 4: Tìm khoảng cách D(j) nhỏ nhất, từ đó xác định đƣợc Nơ-ron chiến thắng Bước 5: cập nhật giá trị trọng số của tất cả các láng giềng j của Nơ-ron chiến thắng wij  wij   h(i , j )( xi  w ij ) 2  d  h (i, j )  exp   ( j ,winner ) 2 2   T1  epoch / log( 0 ) (2.15) (2.16) (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 tiềm năng. Thực chất thì HSOM là một 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 lƣợng dữ liệu phức tạp nhƣ vậy. 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 nhật BMU vào HSOM Map Nơ-ron có vector trọng số gần giống với giá trị huấn luyện đầu vào nhất đƣợc gọi là BMU (Best matching unit). Hay có thể hiểu theo một cách khác, đây chính là Nơ-ron có khoảng cách nhỏ nhất tới giá trị huấn luyện. BMU đƣợc xác định ở bƣớc số 3 và 4 của thuật toán HSOM. Để có thể biết đƣợc đâu là Nơ-ron giống với giá trị huấn luyện nhất, chúng ta sử dụng cách tính khoảng cách bằng công thức Euclid: D( j )  n  ( x -w i 1 i ji )2 Sau đó ta xác định khoảng cách nhỏ nhất tƣơng ứng với Nơ-ron là BMU. BMU đƣợc xác định sau mỗi vòng lặp chứ không phải là cố định trong suốt quá trình chạy của thuật toán. BMU chỉ ra rằng, đâu là điểm trên mạng tự tổ chức giữ vai trò trung tâm trong vòng lặp đó. Đồng thời, nó cũng chỉ ra đƣợc những điểm láng giềng nhờ vào giá trị bán kính láng giềng. Tiếp sau đó, BMU sẽ đƣợc dịch chuyển và cập nhật giá trị sao cho càng tiến sát vector đâu vào hơn. Những giá trị láng giềng cũng theo đó mà đƣợc cập nhật và gom lại gần nhau hơn. Việc cập nhật này thông qua việc thay đổi giá trị trọng số của Nơ-ron cùng với vị trí của chúng trên mạng tự tổ chức. Việc cập nhật trọng số đƣợ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á trình kinh doanh của công ty. Taskhub đƣợc thiết kế trên nền Web nên có thể đƣợc truy cập ở mọi lúc và mọi nơi và nó cũng không phụ thuộc vào hệ điều hành hay nền tảng nào. Taskhub có đến hơn hai mƣơi module khác nhau, mỗi module hƣớng đến một phần trong hoạt động của doanh nghiệp nhƣ: MFG, AR, AP, SO, PJ… Trong đó SO (Sales Order) là module tƣơng tác với khách hàng và giúp khách hàng đƣa ra yêu cầu của mình. Đây cũng là module chứa dữ liệu khách hàng cùng với những đặc điểm và tƣơng tác của khách hàng đối 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
- Xem thêm -