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.. Đồng thời trong chương này tác
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Trang 2Luậ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
Trang 3LỜ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
Trang 4Bà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
Trang 5CHƯƠ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
Trang 6- 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ỹ
Trang 7thuậ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)
Trang 81.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
Trang 9CHƯƠ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
Trang 10nhau 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
(N logN)
Ả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.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]
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]
Trang 11
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
Trang 12Learning) 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:
Trang 13Input: 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
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ự