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
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 Intellegence). Áp dụng công 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.
26 trang |
Chia sẻ: lylyngoc | Lượt xem: 2653 | Lượt tải: 3
Bạn đang xem trước 20 trang 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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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 )N N Ả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 )N N 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 )N 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
2
1
( ) ( - w ) (2.7)
n
i ji
i
D j x
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
ij ij ijw w ( , )( w ) (2.8)ih i j x
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:
1 2w w ... ww (2.13)k
k
- 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
2
1
( ) ( -w ) (2.14)
n
i ji
i
D j x
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
ij ij ijw w ( , )( w ) (2.15)ih i j x
2
( ,w )
2( , ) exp (2.16)2
j innerdh i j
1 0/ log( ) (2.17)T epoch
Bước 6: giảm chỉ số học và bán kính
0( ) exp (2.18)countn epochs
0
1
( ) exp (2.19)countcount
T
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:
2
1
( ) ( -w )
n
i ji
i
D j x
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:
ij ij ijw w ( , )( w )ih i j x
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
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ự
Có 5 lớp chính đƣợc sử dụng trong ứng dụng, chúng sẽ đƣợc miêu tả theo sơ
đồ lớp nhƣ sau:
20
Hình 3.2. Sơ đồ các lớp cơ bản trong ứng dụng
Quá trình xử lý của ứng dụng có thể đƣợc mô hình hóa dƣới dạng sơ đồ tuần tự sau:
Hình 3.3. Biểu đồ tuần tự quá trình xử lý của ứng dụng
Quá trình tích hợp và xuất báo cáo đƣợc mô tả trong sơ đồ tuần tự sau: Hình
Hình 3.4. Biểu đồ tuần tự quá trình truy xuất báo cáo
21
Dữ liệu đầu vào cho ứng dụng
Dữ liệu đầu vào của ứng dụng có thể là dƣới dạng file hay trích xuất từ một
cơ sở dữ liệu. Ứng dụng có thể chấp nhận các dữ liệu dạng vector đƣợc lƣu xuống
file. File có phần đuôi mở rộng .som là file mặc định mà ứng dụng có thể đọc đƣợc.
Trong phần cài đặt của luận văn, tác giả sử dụng hệ quản trị DB2 để quản lý dữ liệu.
Cấu trúc của các bảng đƣợc sử dụng miêu tả bởi sơ đồ thực thể sau:
Hình 3.5. Mô hình thực thể kết hợp
Dữ liệu miêu tả mối quan hệ giữa khách hàng, đơn đặt hàng và sản phẩm trong các
đơn đặt hàng đó. Ứng dụng có nhiệm vụ phải tìm ra những tri thức về khách hàng
và sản phẩm thỏa mãn bài toán về phân loại khách hàng triển vọng và đánh giá các
sản phẩm tiềm năng .
3.3.2. Biến đổi các giá trị trích xuất thành các vector trọng số
Thuật toán SOM chỉ làm việc với những giá trị trọng số và vector. Chính vì
thế cần có một bƣớc để biến dữ liệu thô thành dạng trọng số. Đây chính là nhiệm vụ
của quá trình tiền xử lý dữ liệu trong ứng dụng.
22
Hình 3.6. Quá trình chuyển hóa dữ liệu thực qua dạng vector
Kỹ thuật đƣợc xử dụng ở đây chính là sử dụng một bảng trung gian, nối kết
các giá trị cụ thể với các trọng số. Tùy thuộc vào tình hình kinh doanh thực tế, cũng
nhƣ những đặc điểm, hoạt động của công ty mà xác định đƣợc trọng số nào quan
trọng.
3.4. Tìm hiểu công cụ IReport và xuất báo cáo kinh doanh từ ứng dụng
JasperReport là một bộ công cụ mã nguồn mở trên nền java dùng chuyên cho
các báo cáo(report) . JasperReport thƣờng đƣợc sử dụng cho các ứng dụng về BI
hay các hệ thống quản trị doanh nghiệp.
3.5. Kết quả thu đƣợc 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, khai phá, và gom nhóm
dữ liệu. Cuối cùng, kết quả thu đƣợc là những báo cáo tích hợp những thông tin hỗ
trợ cho việc ra quyết định và hoạch định chiến lƣợc.
Giá trị
thực Bộ biến đổi
Giá trị
trọng số
23
Hình 3.9. Hình ảnh về ứng dụng
Hình 3.20. Báo cáo về nhóm khách hàng và sản phẩm
Dƣới đây là một báo cáo khác nữa, nó cho thấy những mặt hàng(inventory Code)
nào đƣợc mua nhiều nhất, có tiềm năng để kinh doanh.
3.6. Kết luận chƣơng
24
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 Intellegence). Áp dụng công 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 ứng dụng minh họa cho hai thuật toán. Từ đó áp dụng cho một bài toán
cụ thể trong BI đó là bài toán: phân loại khách hàng triển vọng và sản phẩm có tiềm
năng.
Các file đính kèm theo tài liệu này:
- ttlv_nguyen_lam_tu_5045.pdf