Tải bản đầy đủ (.docx) (80 trang)

Ứng dụng phân cụm dữ liệu vào việc phân tích, đánh giá kết quả hoạt động của doanh nghiệp tại tỉnh quảng trị

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.99 MB, 80 trang )

LỜI CAM ĐOAN
Tôi xin cam đoan đề tài khoa học “Ứng dụng phân cụm dữ liệu vào việc phân
tích, đánh giá kết quả hoạt động của doanh nghiệp tại tỉnh Quảng Trị” này là
công trình nghiên cứu của bản thân tôi. Các số liệu có nguồn gốc rõ ràng tuân thủ
đúng nguyên tắc và kết quả nghiên cứu trình bày trong luận văn này là trung thực,
được thu thập từ quá trình nghiên cứu chưa từng được ai công bố trong bất kỳ công
trình nào khác. Đề tài khoa học đã được giáo viên hướng dẫn khoa học thông qua
nội dung và đồng ý cho ra bảo vệ trước hội đồng khoa học.

Tác giả luận văn

Nguyễn Đức Quý


LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn chân thành đến Khoa Công nghệ Thông tin, Trường Đại
học Khoa học Huế, các Quý Thầy Cô đã giúp đỡ, trang bị kiến thức, tạo môi trường
thuận lợi nhất cho tôi trong suốt quá trình học tập và thực hiện luận văn này.
Với sự kính trọng và biết ơn, tôi xin bày tỏ lòng biết ơn sâu sắc đến Tiến sĩ
Hoàng Thị Lan Giao đã động viện, khuyến khích và hướng dẫn tận tình cho tôi
trong suốt thời gian thực hiện luận văn của mình.
Đặc biệt xin được gửi lời cảm ơn đến Cục Thống kê tỉnh Quảng Trị, phòng thống
kê Công nghiệp – Xây dựng cục Thống kê tỉnh Quảng Trị đã giúp đỡ tôi rất nhiều
trong quá trình nghiên cứu và hoàn thiện luận văn.
Tôi xin gửi lời cảm ơn chân thành tới Ban Giám hiệu, phòng Đào tạo sau đại
học, Trường Đại học Khoa học Huế đã tạo điều kiện cho tôi trong quá trình học tập
tại Trường.
Cuối cùng tôi xin gửi lời cảm ơn đến gia đình, bạn bè, những người đã luôn bên
tôi, động viên và khuyến khích tôi trong quá trình thực hiện luận văn của mình.

Tác giả luận văn


Nguyễn Đức Quý


MỤC LỤC
Trang
Trang phụ bìa..............................................................................................................
Lời cam đoan..............................................................................................................
Lời cảm ơn.................................................................................................................
Mục lục......................................................................................................................
Danh mục các chữ viết tắt..........................................................................................
Danh mục các bảng....................................................................................................
Danh mục các hình vẽ................................................................................................
PHỤ LỤC...................................................................................................................


DANH MỤC CÁC CHỮ VIẾT TẮT
AGNES

Agglomerative Nesting

ASP

Active Server Pages

BIRCH

Balanced Iterative Reducing and Clustering Using Hierarchies

CURE


Clustering Using Representatives

CLARA

Clustering Large Applications

CLIQUE

Clustering In QUEst

C#

C Sharp

CSDL

Cơ sở dữ liệu

CSS

Cascading Style Sheets

DIANA

Divisive Analysis

DN

Doanh nghiệp


IDE

Integrated Development Environment

KDD

Knowledge Discovery in Databases

SMTP

Simple Mail Transfer Protocol

SQL

Structure Query Language

SXKD

Sản xuất kinh doanh

STING

Satistical INformation Grid approach

UBND

Ủy ban nhân dân

PAM


Partition Around Mediods

TCTK

Tổng cục Thống kê

XML

Extensible Markup Language

XHTML

Extensible HyperText Markup Language


DANH MỤC CÁC BẢNG

Số hiệu bảng

Tên bảng

Trang

2.1

Số lượng doanh nghiệp đang hoạt động có đến 31/12
hàng năm

38


2.2

Tiêu chí phân loại doanh nghiệp theo Nghị định số
56/2009/NĐ-CP

44

2.3

So sánh doanh tổng doanh thu của doanh nghiệp ngoài
nhà nước tại tỉnh Quảng Trị

45


DANH MỤC CÁC HÌNH VẼ
Số hiệu hình vẽ
Tên hình vẽ
Trang
1.1
Quá trình khám phá tri thức
3
1.2
Ví dụ về phân cụm dữ liệu
8
1.3
Phân cụm các đối tượng dựa trên khoảng cách
9
1.4
Phân cụm các đối tượng dựa trên kích cỡ

10
1.5
Các chiến lược phân cụm phân cấp
11
1.6
Cây CF sử dụng trong thuật toán BRICH
13
1.7
Các thiết lập để xác định danh giới các cụm ban đầu
16
1.8
Tính toán trọng tâm của các cụm mới
17
1.9
Sự thay đổi tâm cụm trong thuật toán K-Means
19
1.10
Ví dụ về phân cụm theo mật độ
22
1.11
Cấu trúc phân cụm dựa trên lưới
22
1.12
Ví dụ về phân cụm dựa trên mô hình
24
2.1


Mẫu phiếu 1A thu thập thông tin dữ liệu DN
36

2.2
Biểu đồ số lượng DN đang hoạt động có đến 31/12 hàng năm, phân theo loại hình
doanh nghiệp
38
2.3
CSDL Doanh nghiệp tỉnh Quảng Trị
42
2.4
Màn hình đăng nhập chương trình
43
2.5
Giao diện màn hình sau khi đăng nhập
43
2.6
Chọn loại hình doanh nghiệp cần phân cụm
45
2.7
Chọn doanh nghiệp theo đơn vị hành chính
46
2.8
Giao diện chức năng phân cụm theo tiêu chí doanh thu
46
2.9
Thông tin 8 cụm được thực hiện
47
2.10
Biểu đồ hình khối đánh giá tỷ lệ doanh thu theo cụm
47
2.11
Danh sách doanh nghiệp cụm số 6 có tâm cụm là 79.599 triệu đồng

48
2.12
Giao diện chức năng phân cụm theo tiêu chí nguồn vốn
49
2.13
Thông tin 8 cụm được thực hiện theo tiêu chí nguồn vốn
50
2.14
Kết quả phân 8 cụm theo tiêu chí nguồn vốn
50
2.15


Biểu đồ hình tròn đánh giá tỷ lệ nguồn vốn theo cụm
51
2.16
Biểu đồ hình khối đánh giá tỷ lệ nguồn vốn theo cụm
51
2.17
Giao diện chức năng phân cụm theo tiêu chí lợi nhuận
52
2.18
Thông tin 8 cụm được thực hiện theo tiêu chí lợi nhuận
52
2.19
Biểu đồ hình khối đánh giá tỷ lệ lợi nhuận theo cụm
53
2.20
Biểu đồ hình tròn đánh giá tỷ lệ lợi nhuận theo cụm
53

2.21
Kết quả phân 8 cụm theo lợi nhuận
54
2.22
Danh sách doanh nghiệp thua lỗ năm 203 năm ở cụm 5
54
2.23
Giao diện chức năng phân cụm theo tiêu chí các khoản nộp ngân sách
55
2.24
Số lượng 8 cụm được thực hiện theo tiêu chí các khoản nộp ngân sách
55
2.25
Biểu đồ hình khối đánh giá tỷ lệ các khoản nộp ngân sách theo cụm
56
2.26
Biểu đồ hình tròn đánh giá tỷ lệ các khoản nộp ngân sách theo cụm
56
2.27
Kết quả đánh giá tỷ lệ các khoản nộp ngân sách theo cụm
57


9

MỞ ĐẦU
Trong điều kiện kinh tế hiện nay, nền kinh tế nước ta đã chuyển đổi từ cơ chế bao
cấp sang cơ chế thị trường. Sự thay đổi này đã làm chuyển biến mạnh mẽ nền kinh
tế. Nhà nước ta đã tạo nhiều cơ chế, chính sách thuận lợi nhằm khuyến khích sự
phát triển của các doanh nghiệp Việt Nam. Mỗi năm, với sự ra đời của hàng ngàn

doanh nghiệp nhỏ và vừa đã đóng góp không nhỏ vào sự phát triển kinh tế, bên
cạnh đó cũng có không ít doanh nghiệp bị phá sản vì sự cạnh tranh trong nền kinh tế
cơ chế thị trường. Nhằm phục vụ công tác quản lý, hoạch định chính sách phát triển
kinh tế - xã hội, phát triển doanh nghiệp của quốc gia và từng địa phương, Chính
phủ chỉ đạo các bộ, ngành liên quan điều tra, thu thập và thống kê số liệu về thực
trạng doanh nghiệp. Các cơ quan chức năng được giao đã triển khai nhiều giải pháp
trong thời gian gần đây. Nhưng nhìn chung sự thiếu đồng bộ giữa các bộ, ngành dẫn
đến không triển khai được các giải pháp thành một hệ thống hoàn chỉnh.
Tổng cục Thống kê Việt Nam là đơn vị hoạt động chính trong lĩnh vực điều tra,
thống kê và công bố số liệu. Tổng cục Thống kê được nhà nước giao nhiệm vụ điều
tra toàn diện về thực trạng doanh nghiệp trên toàn quốc. Thực hiện hướng dẫn chỉ
đạo của Tổng cục Thống kê Việt Nam, cục Thống kê Quảng Trị đã triển khai điều
tra doanh nghiệp hàng năm theo định kỳ bắt đầu từ ngày 01 tháng 03. Kết quả điều
tra về cơ bản đã phản ánh được thực trạng doanh nghiệp trên địa bàn. Mặc dù nhiều
phương pháp tổng hợp, thống kê và đánh giá đã được triển khai song vẫn mang tính
chủ quan.
Trong vài thập niên gần đây, cùng với sự thay đổi và phát triển không ngừng của
ngành công nghệ thông tin thì việc thu thập thông tin cũng như nhu cầu lưu trữ
thông tin ngày càng lớn. Việc ứng dụng công nghệ thông tin trong hầu hết các lĩnh
vực kinh tế xã hội đã tạo ra một khối lượng dữ liệu ngày càng khổng lồ. Các
phương pháp quản trị, phân tích và khai thác dữ liệu truyền thống chưa đáp ứng
được yêu cầu thực tế của thông tin và dữ liệu. Cùng với sự phát triển không ngừng
của khoa học và kỹ thuật, lĩnh vực khai phá dữ liệu ra đời và trở thành một trong
những lĩnh vực thời sự của nền công nghệ thông tin thế giới hiện nay. Ngay từ khi


10
xuất hiện, khai phá dữ liệu đã trở thành một trong những xu hướng nghiên cứu phổ
biến trong lĩnh vực học máy và công nghệ tri thức. Nhiều thành tựu nghiên cứu của
khai phá dữ liệu đã được áp dụng trong thực tế. Phân cụm dữ liệu là một trong

những kỹ thuật để khai thác dữ liệu có hiệu quả. Phân cụm dữ liệu đã được ứng
dụng trong nhiều lĩnh vực khác nhau như: kinh tế, giáo dục, tài chính, ngân hàng,
bảo hiểm…
Để có cái nhìn tổng quát hơn về thực trạng doanh nghiệp tại Quảng Trị và đánh
giá mức độ hoạt động hiệu quả một cách khách quan, cần phải có công cụ hỗ trợ
trên nền tảng khoa học hiện đại đáng tin cậy. Với sự phát triển của các kỹ thuật khai
phá dữ liệu, đặc biệt là các tiêu chí phân cụm, việc phân tích đánh giá tỏ ra hiệu
quả. Do đó, tôi chọn đề tài “Ứng dụng phân cụm dữ liệu vào việc phân tích,
đánh giá kết quả hoạt động của doanh nghiệp tại tỉnh Quảng Trị” để làm đề tài
luận văn tốt nghiệp của mình với mong muốn góp phần hoàn thiện hơn bộ công cụ
đánh giá, giúp cơ quan Thống kê tỉnh có thêm cơ sở đánh giá toàn diện hơn thực
trạng của các doanh nghiệp tại Quảng Trị.
Bố cục của luận văn gồm phần mở đầu và hai chương nội dung, phần kết luận,
hướng phát triển và danh mục các tài liệu tham khảo.
Chương 1: Trình bày tổng quan về khai phá dữ liệu, một số phương pháp khai
phá dữ liệu, các thuật toán phân cụm phân cấp và không phân cấp.
Chương 2: Giới thiệu dữ liệu doanh nghiệp và phương pháp đánh giá PAM,
phân tích, đánh giá sự phân cụm các doanh nghiệp dựa vào thuật toán PAM. Cài đặt
ứng dụng và so sánh, đánh giá kết quả với các phương pháp đánh giá hiện thời.
Cuối cùng, phần kết luận và hướng phát triển của luận văn.


11

Chương 1. MỘT SỐ KỸ THUẬT PHÂN CỤM DỮ LIỆU TRONG KHAI
PHÁ DỮ LIỆU
1.1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1.1 Khái niệm về khai phá dữ liệu (Data mining)
Khai phá dữ liệu [2] là quá trình khai thác (rút trích) những thông tin tiềm ẩn
có tính dự đoán, những thông tin có nhiều ý nghĩa, hữu ích từ những cơ sở dữ liệu

lớn, nó được coi như là một bước trong quá trình khám phá tri thức (Knowledge
Discovery in Databases – KDD). Khai phá dữ liệu là giai đoạn quan trọng nhất
trong tiến trình khám phá tri thức từ cơ sở dữ liệu.
Quá trình khám phá tri thức tiến hành qua 6 giai đoạn như Hình 1.1 [2]:
Đánh giá luật
Khai phá dữ liệu
Chuyển đổi dữ liệu
Làm sạch, tiền xử lý dữ liệu
Trích lọc dữ liệu
Tri thức

Gom dữ liệu

Mô hình
Dữ liệu đã chuyển đổi
Dữ liệu đã làm sạch, tiền xử lý

Internet,…

Dữ liệu đích
Dữ liệu


12
Hình 1.1. Quá trình khám phá tri thức
Bắt đầu của quá trình là kho dữ liệu thô và kết thúc với tri thức được chiết
xuất ra. Về lý thuyết thì có vẻ rất đơn giản nhưng thực sự đây là một quá trình rất
khó khăn, gặp phải rất nhiều vướng mắc như: quản lý các tập dữ liệu, phải lặp đi lặp
lại toàn bộ quá trình, v.v...
1. Gom dữ liệu: Tập hợp dữ liệu là bước đầu tiên trong quá trình khai phá

dữ liệu. Đây là bước được khai thác trong một cơ sở dữ liệu, một kho dữ
liệu và thậm chí các dữ liệu từ các nguồn ứng dụng Web.
2. Trích lọc dữ liệu: Ở giai đoạn này dữ liệu được lựa chọn hoặc phân chia
theo một số tiêu chuẩn nào đó phục vụ mục đích khai thác.
3. Làm sạch, tiền xử lý và chuẩn bị trước dữ liệu: Giai đoạn thứ ba này
là giai đoạn hay bị sao lãng, nhưng thực tế nó là một bước rất quan trọng
trong quá trình khai phá dữ liệu. Một số lỗi thường mắc phải trong khi
gom dữ liệu là tính không đủ chặt chẽ, logíc. Vì vậy, dữ liệu thường chứa
các giá trị vô nghĩa và không có khả năng kết nối dữ liệu. Giai đoạn này
sẽ tiến hành xử lý những dạng dữ liệu không chặt chẽ nói trên. Những dữ
liệu dạng này được xem như thông tin dư thừa, không có giá trị. Bởi vậy,
đây là một quá trình rất quan trọng vì dữ liệu này nếu không được “làm
sạch – tiền xử lý – chuẩn bị trước” thì sẽ gây nên những kết quả sai lệch
nghiêm trọng.
4. Chuyển đổi dữ liệu: Tiếp theo là giai đoạn chuyển đổi dữ liệu, dữ liệu
đưa ra có thể sử dụng và điều khiển được bởi việc tổ chức lại nó, tức là
dữ liệu sẽ được chuyển đổi về dạng phù hợp cho việc khai phá bằng cách
thực hiện các thao tác nhóm hoặc tập hợp.
5. Khai phá dữ liệu: Đây là bước mang tính tư duy trong khai phá dữ liệu.
Ở giai đoạn này nhiều thuật toán khác nhau đã được sử dụng để trích ra
các mẫu từ dữ liệu. Thuật toán thường dùng là nguyên tắc phân loại,
nguyên tắc kết, v.v...


13
6. Đánh giá các luật và biểu diễn tri thức: Ở giai đoạn này, các mẫu dữ
liệu được chiết xuất ra bởi phần mềm khai phá dữ liệu. Không phải bất
cứ mẫu dữ liệu nào cũng đều hữu ích, đôi khi nó còn bị sai lệch. Vì vậy,
cần phải ưu tiên những tiêu chuẩn đánh giá để chiết xuất ra các tri thức
(Knowlege) cần chiết xuất ra. Đánh giá sự hữu ích của các mẫu biểu diễn

tri thức dựa trên một số phép đo. Sau đó sử dụng các kỹ thuật trình diễn
và trực quan hoá dữ liệu để biểu diễn tri thức khai phá được cho người sử
dụng.
Trong 6 giai đoạn trên của quá trình khám phá tri thức, trong đó giai đoạn 5 khai phá dữ liệu (hay còn gọi đó là Data Mining) là giai đoạn được quan tâm nhiều
nhất.
1.1.2 Quá trình khai phá dữ liệu
Khai phá dữ liệu [2] là một giai đoạn quan trọng trong quá trình khám phá
tri thức. Về bản chất là giai đoạn duy nhất tìm ra được thông tin mới, thông tin tiềm
ẩn có trong cơ sở dữ liệu chủ yếu phục vụ cho mô tả và dự đoán.
Mô tả dữ liệu là tổng kết hoặc diễn tả những đặc điểm chung của những
thuộc tính dữ liệu trong kho dữ liệu mà con người có thể hiểu được.
Dự đoán là dựa trên những dữ liệu hiện thời để dự đoán những quy luật
được phát hiện từ các mối liên hệ giữa các thuộc tính của dữ liệu trên cơ sở đó chiết
xuất ra các mẫu, dự đoán được những giá trị chưa biết hoặc những giá trị tương lai
của các biến quan tâm.
Hình 1.2. Quá trình khai phá dữ liệu [2]
Thống kê tóm tắt

Xác định nhiệm
vụ dữThu
Xác định
liệu thập
liên quan
và tiền xử lý dữ liệu

Thuật toán khai phá dữ liệu
Mẫu

Dữ liệu trực tiếp


-

Xác định nhiệm vụ: Xác định chính xác các vấn đề cần giải quyết.


14
-

Xác định các dữ liệu liên quan: Dùng để xây dựng giải pháp.

-

Thu thập và tiền xử lý dữ liệu: Thu thập các dữ liệu liên quan và tiền xử
lý chúng sao cho thuật toán khai phá dữ liệu có thể hiểu được. Đây là
một quá trình rất khó khăn, có thể gặp phải rất nhiều các vướng mắc như:
dữ liệu phải được sao ra nhiều bản (nếu được chiết xuất vào các tệp),
quản lý tập các dữ liệu, phải lặp đi lặp lại nhiều lần toàn bộ quá trình
(nếu mô hình dữ liệu thay đổi) ...

-

Thuật toán khai phá dữ liệu: Lựa chọn thuật toán khai phá dữ liệu và
thực hiện việc khai phá dữ liệu để tìm được các mẫu có ý nghĩa, các mẫu
này được biểu diễn dưới dạng luật kết hợp, cây quyết định... tương ứng
với ý nghĩa của nó.

1.2 CÁC KỸ THUẬT TRONG KHAI PHÁ DỮ LIỆU
Các kỹ thuật khai phá dữ liệu [1] thường được chia thành 2 nhóm chính:
-


Kỹ thuật mô tả: có nhiệm vụ mô tả về các tính chất hoặc các đặc
tính chung của dữ liệu trong cơ sở dữ liệu hiện có. Các kỹ thuật này
có thể liệt kê: phân cụm (clustering), tóm tắt (summerization), trực
quan hóa (visualization), phân tích sự phát hiện biến đổi và độ lệch,
phân tích luật kết hợp (association rules)...

-

Kỹ thuật dự đoán: có nhiệm vụ đưa ra các dự đoán dựa vào các suy
diễn trên dữ liệu hiện thời. Các kỹ thuật này gồm có: phân lớp
(classification), hồi quy (regression)...

Với hai mục đích khai phá dữ liệu là mô tả và dự đoán, người ta thường sử
dụng các kỹ thuật sau cho khai phá dữ liệu [1]:
-

Luật kết hợp (association rules): là phát hiện và đưa ra các mối liên
hệ giữa các giá trị dữ liệu trong cơ sở dữ liệu. Mẫu đầu ra của giải
thuật khai phá dữ liệu là tập luật kết hợp tìm được.

-

Phân lớp (Classfication): là việc xác định một hàm ánh xạ từ một


15
mẫu dữ liệu vào một trong số các lớp đã được biết trước đó. Mục
tiêu của thuật toán phân lớp là tìm ra mối quan hệ nào đó giữa
thuộc tính dự báo và thuộc tính phân lớp. Như thế quá trình phân
lớp có thể sử dụng mối quan hệ này để dự báo cho các mục mới.

-

Hồi quy (Regression): là việc học một hàm ánh xạ từ một mẫu dữ
liệu thành một biến dự đoán có giá trị thực. Nhiệm vụ của hồi quy
tương tự như phân lớp, điểm khác nhau chính là ở chỗ thuộc tính
để dự báo là liên tục chứ không phải là rời rạc. Việc dự báo các giá
trị số thường được xác định bởi các phương pháp thống kê cổ điển,
chẳng hạn như hồi quy tuyến tính.

-

Phân cụm (Clustering): các kỹ thuật phân cụm sẽ nhóm các đối
tượng dữ liệu có tính chất giống nhau vào cùng một nhóm. Có
nhiều cách tiếp cận với những mục tiêu khác nhau trong phân cụm.
Các kỹ thuật trong bài toán này thường được vận dụng trong vấn đề
phân hoạch dữ liệu tiếp thị hay khảo sát sơ bộ các dữ liệu.

-

Tổng hợp (Summarization): là công việc liên quan đến các phương
pháp tìm kiếm một mô tả tập con dữ liệu. Kỹ thuật tổng hợp thường
áp dụng trong việc phân tích dữ liệu có tính thăm dò và báo cáo tự
động. Nhiệm vụ chính là sản sinh ra các mô tả đặc trưng cho một
lớp. Mô tả loại này là một kiểu tổng hợp, tóm tắt các đặc tính
chung của tất cả hay hầu hết các mục của một lớp. Các mô tả đặc
trưng thể hiện theo luật có dạng sau: “Nếu một mục thuộc về lớp đã
chỉ trong tiền đề thì mục đó có tất cả các thuộc tính đã nêu trong
kết luận”. Lưu ý rằng luật dạng này có các khác biệt so với luật
phân lớp. Luật phát hiện đặc trưng cho lớp chỉ sản sinh ra khi các
mục đã thuộc về lớp đó.


Có nhiều phương pháp khai phá dữ liệu được nghiên cứu ở trên, trong đó có
ba phương pháp được các nhà nghiên cứu sử dụng nhiều nhất đó là: Luật kết hợp,
phân lớp dữ liệu và phân cụm dữ liệu.


16

1.3 CÁC PHƯƠNG PHÁP PHÂN CỤM DỮ LIỆU
1.3.1 Khái niệm về phân cụm dữ liệu
Phân cụm dữ liệu [7] (Data Clustering) là một kỹ thuật trong khai phá dữ
liệu (Data mining) nhằm tìm kiếm, phát hiện các cụm, các mẫu dữ liệu tự nhiên
tiềm ẩn và quan trọng trong tập dữ liệu lớn để từ đó cung cấp thông tin, tri thức cho
việc ra quyết định.
Phân cụm dữ liệu là sự phân chia một cơ sở dữ liệu lớn thành các nhóm dữ
liệu bao gồm các đối tượng tương tự như nhau. Hay ta có thể hiểu “Phân cụm dữ
liệu là quá trình tổ chức các đối tượng thành từng nhóm mà các đối tượng ở mỗi
nhóm đều tương tự nhau theo một tính chất nào đó, những đối tượng không tương
tự tính chất sẽ ở nhóm khác” [7].
Phân cụm dữ liệu là một ví dụ của phương pháp học không giám sát. Không
giống như phân lớp dữ liệu, phân cụm dữ liệu không đòi hỏi phải định nghĩa trước
các mẫu dữ liệu huấn luyện. Vì thế, có thể coi phân cụm dữ liệu là một cách học
bằng quan sát, trong khi phân lớp dữ liệu là học bằng ví dụ. Ngoài ra phân cụm dữ
liệu còn có thể được sử dụng như một bước tiền xử lý cho các thuật toán khai phá
dữ liệu khác như là phân loại và mô tả đặc điểm, có tác dụng trong việc phát hiện ra
các cụm.
Như vậy, phân cụm dữ liệu là quá trình phân chia một tập dữ liệu ban đầu
thành các cụm dữ liệu sao cho các đối tượng trong một cụm “tương tự” (Similar)
với nhau và các đối tượng trong các cụm khác nhau sẽ “không tương tự”
(Dissimilar) với nhau. Số các cụm dữ liệu được phân ở đây có thể được xác định

trước theo kinh nghiệm hoặc có thể được tự động xác định.


17
Hình 1.2. Ví dụ về phân cụm dữ liệu
Trong trường hợp này, chúng ta dễ dàng xác định được 4 cụm dựa vào các
dữ liệu đã cho; các tiêu chí “tương tự” để phân cụm trong trường hợp này là khoảng
cách: hai hoặc nhiều đối tượng thuộc nhóm của chúng được “nhóm” theo một
khoảng cách nhất định. Điều này được gọi là phân cụm dựa trên khoảng cách.
Một kiểu khác của phân cụm dữ liệu là phân cụm dữ liệu dựa vào khái niệm:
hai hay nhiều đối tượng thuộc cùng nhóm nếu có một định nghĩa khái niệm chung
cho tất cả các đối tượng trong đó. Nói cách khác, đối tượng của nhóm phải phù hợp
với nhau theo miêu tả các khái niệm đã được định nghĩa, không phải theo những
biện pháp đơn giản tương tự.
1.3.2 Mục tiêu của phân cụm dữ liệu
Mục tiêu của phân cụm dữ liệu là để xác định các nhóm nội tại bên trong
một bộ dữ liệu không có nhãn. Nhưng làm thế nào để quyết định cái gì đã tạo nên
một phân cụm dữ liệu tốt. Nó có thể được hiển thị rằng không có tiêu chuẩn tuyệt
đối “tốt nhất” mà sẽ là độc lập với mục đích cuối cùng của phân cụm dữ liệu. Do
đó, người sử dụng phải cung cấp tiêu chuẩn, theo cách như vậy mà kết quả của
phân cụm dữ liệu sẽ phù hợp với nhu cầu họ cần.
Ví dụ, chúng ta có thể quan tâm đến việc tìm kiếm đối tượng đại diện cho
các nhóm đồng nhất trong “các cụm tự nhiên” và mô tả thuộc tính không biết của
chúng trong việc tìm kiếm các nhóm hữu ích và phù hợp hoặc trong việc tìm kiếm
các đối tượng bất thường trong dữ liệu (cá biệt, ngoại lệ, nhiễu).


18
Hình 1.3. Phân cụm các đối tượng dựa trên khoảng cách
Một vấn đề thường gặp trong phân cụm là hầu hết các dữ liệu cần phân cụm

đều có chứa dữ liệu nhiễu do quá trình thu thập thiếu chính xác hoặc thiếu đầy đủ,
vì vậy cần phải xây dựng chiến lược cho bước tiền xử lí dữ liệu nhằm khắc phục
hoặc loại bỏ nhiễu trước khi chuyển sang giai đoạn phân tích cụm dữ liệu. Nhiễu ở
đây được hiểu là các đối tượng dữ liệu không chính xác, không tường minh hoặc là
các đối tượng dữ liệu khuyết thiếu thông tin về một số thuộc tính... Một trong các
kỹ thuật xử lí nhiễu phổ biến là việc thay thế giá trị các thuộc tính của đối tượng
nhiễu bằng giá trị thuộc tính tương ứng. Ngoài ra, dò tìm đối tượng ngoại lai cũng
là một trong những hướng nghiên cứu quan trọng trong phân cụm, chức năng của
nó là xác định một nhóm nhỏ các đối tượng dữ liệu khác thường so với các dữ liệu
trong cơ sở dữ liệu, tức là các đối tượng dữ liệu không tuân theo các hành vi hoặc
mô hình dữ liệu nhằm tránh sự ảnh hưởng của chúng tới quá trình và kết quả của
phân cụm.

Hình 1.4. Phân cụm các đối tượng dựa trên kích cỡ
Theo các nghiên cứu đến thời điểm hiện nay thì chưa có một phương pháp
phân cụm tổng quát nào có thể giải quyết trọn vẹn cho tất cả các dạng cấu trúc cơ
sở dữ liệu. Hơn nữa, đối với các phương pháp phân cụm cần có cách thức biểu diễn
cấu trúc của cơ sở dữ liệu, với mỗi cách thức biểu diễn khác nhau sẽ có tương ứng
một thuật toán phân cụm phù hợp. Vì vậy phân cụm dữ liệu vẫn đang là một vấn đề
khó và mở, vì phải giải quyết nhiều vấn đề cơ bản một cách trọn vẹn và phù hợp với


19
nhiều dạng dữ liệu khác nhau, đặc biệt là đối với dữ liệu hỗn hợp đang ngày càng
tăng trong các hệ quản trị dữ liệu và đây cũng là một trong những thách thức lớn
trong lĩnh vực khai phá dữ liệu.
1.3.3 Phương pháp phân cụm phân cấp (Hierarchical Methods)
Phương pháp này xây dựng một phân cấp trên cơ sở các đối tượng dữ liệu
đang xem xét. Nghĩa là sắp xếp một tập dữ liệu đã cho thành một cấu trúc có dạng
hình cây, cây phân cấp này được xây dựng theo kỹ thuật đệ quy. Có hai cách tiếp

cận phổ biến của kỹ thuật này đó là: hòa nhập nhóm, thường được gọi là tiếp cận từ
dưới lên (Bottom-Up); phân chia nhóm, thường được gọi là tiếp cận từ trên xuống
(Top-Down)
-

Phương pháp “dưới lên” (Bottom-Up): Phương pháp này bắt đầu
với mỗi đối tượng được khởi tạo tương ứng với các cụm riêng biệt,
sau đó tiến hành nhóm các đối tượng theo một độ đo tương tự (như
khoảng cách giữa hai trung tâm của hai nhóm), quá trình này được
thực hiện cho đến khi tất cả các nhóm được hòa nhập vào một
nhóm (mức cao nhất của cây phân cấp) hoặc cho đến khi các điều
kiện kết thúc thỏa mãn. Như vậy, cách tiếp cận này sử dụng chiến
lược ăn tham trong quá trình phân cụm.

Bước 0

Bước 1

Bước 2 Bước 3 Bước 4
Bottom-Up

a

ab

b

abcde

c

cde
d
de

e

Top-Down
Bước 4

Bước 3

Bước 2 Bước 1 Bước 0

Hình 1.5. Các chiến lược phân cụm phân


20
-

Phương pháp “trên xuống” (Top-Down): Bắt đầu với trạng thái là
tất cả các đối tượng được xếp trong cùng một cụm. Mỗi vòng lặp
thành công, một cụm được tách thành các cụm nhỏ hơn theo giá trị
của một phép đo độ tương tự nào đó cho đến khi mỗi đối tượng là
một cụm hoặc cho đến khi điều kiện dừng thỏa mãn. Cách tiếp cận
này sử dụng chiến lược chia để trị trong quá trình phân cụm.

Thuật toán phân cụm phân cấp BIRCH
BIRCH là thuật toán phân cụm phân cấp sử dụng chiến lược Top-Down.
BIRCH là không lưu toàn bộ đối tượng dữ liệu của các cụm trong bộ nhớ mà chỉ
lưu các tham số thống kê. Đối với mỗi cụm dữ liệu, BIRCH chỉ lưu bộ ba (N, LS,

SS), trong đó N là số đối tượng trong cụm, LS là tổng các giá trị thuộc tính của các
đối tượng trong cụm, và SS là tổng bình phương của các giá trị thuộc tính của các
đối tượng trong cụm. Bộ ba này được gọi là đặc trưng cụm (Cluster Feature - CF).
Khi đó các cụm trong tập dữ liệu ban đầu sẽ được cho dưới dạng một cây CF. Có
thể chứng mình rằng, các đại lượng thống kê chuẩn, như là độ đo khoảng cách, có
thể xác định từ cây CF.
Cây CF chứa các nút trong và nút lá, nút trong là nút chứa các nút con và nút
lá thì không có con. Nút trong lưu trữ các tổng đặc trưng cụm (CF) của các nút con
của nó. Một cây (CF) được đặc trưng bởi hai tham số:
-

Yếu tố nhánh (Braching Factor – B): Nhằm xác định tối đa các nút
con của một nút lá trong của cây

-

Ngưỡng (Threshold – T): khoảng cách tối đa giữa bất kỳ một cặp
đối tượng trong nút lá của cây, khoảng cách này còn gọi là đường
kính của các cụm con được lưu tại các nút lá.

Thuật toán BIRCH thực hiện gồm hai giai đoạn sau:
Giai đoạn 1: BIRCH quét tất cả các đối tượng trong tập dữ liệu để xây dựng
cây CF ban đầu, mà được lưu trữ trong bộ nhớ. Trong giai đoạn này, các đối tượng
lần lượt được chèn vào nút lá gần nhất của cây CF (nút lá của cây đóng vai trò là


21
cụm con), sau khi chèn xong thì tất cả các nút trong cây CF được cập nhật thông
tin. Nếu đường kính của cụm con sau khi chèn là lớn hơn ngưỡng T, thì nút lá được
tách. Quá trình lặp lại cho đến khi tất cả các đối tượng trong cây chỉ được đọc một

lần, để lưu toàn bộ cây CF trong bộ nhớ thì cần phải điều chỉnh kích thước của cây
CF thông qua điều chỉnh ngưỡng T.
Giai đoạn 2: BIRCH lựa chọn một thuật toán phân cụm (như thuật toán phân
cụm phân hoạch) để thực hiện phân cụm cho các nút lá của cây CF.
CF1

CF3

CF6

Child1 Child2 Child3

Child6

CF2

Non - Leaf
CF1

CF3

CF5

Child1 Child2 Child3

Child5

CF2

Leaf

prev CF1 CF2

Leaf
CF6 next

prev CF1 CF2

CF4 next

Hình 1.6. Cây CF sử dụng trong thuật toán BRICH
Thuật toán BIRCH thực hiện qua các bước cơ bản như sau:
1. Các đối tượng dữ liệu lần lượt được chèn vào cây CF, sau khi chèn hết các
đối tượng thì thu được cây CF khởi tạo. Một đối tượng được chèn vào nút lá gần
nhất tạo thành cụm con. Nếu đường kính của cụm con này lớn hơn T thì nút lá được
tách ra. Khi một đối tượng thích hợp được chèn vào nút lá, tất cả các nút trỏ tới gốc
của cây được cập nhật với thông tin cần thiết
2. Nếu cây CF hiện thời không có đủ bộ nhớ trong khi tiến hành xây dựng


22
một cây CF nhỏ hơn: Kích thước của cây CF được điều khiển bởi tham số F và vì
vậy việc chọn một giá trị lớn hơn cho nó sẽ hòa nhập một số cụm con thành một
cụm, điều này làm cho cây CF nhỏ hơn. Bước này không cần yêu cầu đọc dữ liệu
lại từ đầu nhưng vẫn đảm bảo hiệu chỉnh cây dữ liệu nhỏ hơn.
3. Thực hiện phân cụm: Các nút lá cây CF lưu trữ các đại lượng thống kê
của các cụm con. Trong bước này, BIRCH sử dụng các đại lượng thống kê này để
áp dụng một số kỹ thuật phân cụm và tạo ra một khởi tạo cho phân cụm.
4. Phân phối lại các đối tượng dữ liệu bằng cách dùng các đối tượng trọng
tâm cho các cụm được khám phá từ bước 3: Đây là một bước tùy chọn để duyệt lại
tập dữ liệu và gán lại nhãn cho các đối tượng dữ liệu tới các trọng tâm gần nhất.

Bước này nhằm để gán nhãn cho các dữ liệu khởi tạo và loại bỏ các đối tượng ngoại
lai.
Đánh giá thuật toán BIRCH:
+ Ưu điểm:
Với cấu trúc cây CF được sử dụng, BIRCH có tốc độ thực hiện phân cụm dữ
liệu nhanh và có thể áp dụng đối với tập cơ sỡ dữ liệu lớn, BIRCH cũng có hiệu quả
khi áp dụng với tập dữ liệu tăng trưởng theo thời gian. BIRCH thực hiện tính toán
khá tốt, độ phức tạp tính toán của BIRCH là tuyến tính tỷ lệ với số các đối tượng,
do BIRCH chỉ duyệt toàn bộ dữ liệu một lần với một lần quét thêm tùy chọn (thực
hiện phân cụm lại các nút lá cây của CF), có thể được đo trong thời gian O(n) với n
là số đối tượng dữ liệu. Thuật toán này kết hợp các cụm gần nhau và xây dựng lại
cây CF, tuy nhiên mỗi nút trong cây CF có thể chỉ lưu trữ một số hữu hạn bởi kích
thước của nó.
+ Hạn chế:
Thuật toán BIRCH không xử lý tốt nếu các cụm không có hình dạng cầu,
bởi vì nó sử dụng khái niệm bán kính hoặc đường kính để kiểm soát ranh giới các
cụm và chất lượng của các cụm được khám phá không được tốt. Nếu BIRCH sử
dụng khoảng cách Eucle, nó thực hiện tốt chỉ với các dữ liệu số, mặt khác tham số


23
vào T có ảnh hưởng rất lớn tới kích thước tự nhiên của cụm.
Ngoài thuật toán BIRCH còn có một số thuật toán điển hình trong phương
pháp tiếp cận theo phân cụm phân cấp là các thuật toán như: AGNES
(Agglomerative

Nesting),

DIANA


(Divisive

Analysis),

CURE

(1998),

CHAMELEON (1999) . . .
1.3.4 Phương pháp phân cụm phân hoạch (Partitioning Methods)
Phương pháp này phân hoạch một tập hợp dữ liệu có n phần tử thành k
nhóm cho đến khi xác định số các cụm được thiết lập. Số các cụm được thiết lập là
các đặc trưng được lựa chọn trước. Phương pháp này là tốt cho việc tìm các cụm
hình cầu trong không gian Euclidean. Ngoài ra, phương pháp này cũng phụ thuộc
vào khoảng cách cơ bản giữa các điểm để lựa chọn các điểm dữ liệu nào có quan hệ
là gần nhau với mỗi điểm khác và các điểm dữ liệu nào không có quan hệ hoặc có
quan hệ là xa nhau so với mỗi điểm khác. Tuy nhiên, phương pháp này không thể
xử lí các cụm có hình dạng kỳ dị hoặc các cụm có mật độ các điểm dày đặc. Các
thuật toán phân hoạch dữ liệu có độ phức tạp rất lớn khi xác định nghiệm tối ưu
toàn cục cho vấn đề phân cụm dữ liệu, do nó phải tìm kiếm tất cả các cách phân
hoạch có thể được. Chính vì vậy, trên thực tế thường đi tìm giải pháp tối ưu cục bộ
cho vấn đề này bằng cách sử dụng một hàm mục tiêu để đánh giá chất lượng của
cụm cũng như để hướng dẫn cho quá trình tìm kiếm phân hoạch dữ liệu. Như vậy, ý
tưởng chính của thuật toán phân cụm phân hoạch tối ưu cục bộ là sử dụng chiến
lược tham lam (Greedy) để tìm kiếm nghiệm.
Thuật toán phân cụm phân hoạch K – Means:
K - Means là thuật toán phân cụm mà định nghĩa các cụm bởi trung tâm của
các phần tử. Phương pháp này dựa trên độ đo khoảng cách của các đối tượng dữ
liệu trong cụm. Nó được xem như là trung tâm của cụm. Như vậy, nó cần khởi tạo
một tập trung tâm các trung tâm cụm ban đầu và thông qua đó nó lặp lại các bước

gồm gán mỗi đối tượng tới cụm mà trung tâm gần, và tính toán tại trung tâm của
mỗi cụm trên cơ sở gán mới cho các đối tượng.


24

Hình 1.7. Các thiết lập để xác định danh giới các cụm ban đầu
Seed 3
Seed 2

Xm
Seed 1

X1

Trong phương pháp K - Means, chọn một giá trị k và sau đó chọn ngẫu
nhiên k trung tâm của các đối tượng dữ liệu. Tính toán khoảng cách giữa đối tượng
dữ liệu trung bình mỗi cụm để tìm kiếm phần tử nào là tương tự và thêm vào cụm
đó. Từ khoảng cách này có thể tính toán trung bình mới của cụm và lặp lại quá trình
cho đến khi hàm mục tiêu hội tụ.
Thuật toán K - Means là sinh k cụm dữ liệu {C 1, C2, ..., Ck} từ một tập dữ
liệu chứa n đối tượng trong không gian d chiều X i = {xi1, xi2,…xid}, i = 1÷n, sao cho
hàm mục tiêu E:
đạt giá trị tối thiểu
Trong đó : mi là trọng tâm của cụm Ci.
Trọng tâm của cụm là một vectơ, trong đó giá trị của mỗi thành phần của nó
là trung cộng của các thành phần tương ứng của các đối tượng vectơ dữ liệu trong
cụm đang xét. Tham số đầu vào của thuật toán là số cụm k, và tham số đầu ra của
thuật toán là các trọng tâm của các cụm dữ liệu. Độ đo khoảng cách D giữa các đối



25
tượng dữ liệu thường được sử dụng là khoảng cách Euclide.

Khoảng cách Euclide:

Xm

X1

Trong đó: i = ( và j = ( là 2 điểm trong không gian N chiều.
Hình 1.8. Tính toán trọng tâm của các cụm mới
Thuật toán K - Means thực hiện qua các bước cơ bản như sau:
Đầu vào: Số cụm k và các trọng tâm cụm
Đầu ra: các cụm C[i] (1≤ i ≤ k) và hàm tiêu chuẩn E đạt giá trị tối thiểu.
Bắt đầu
Bước 1: Khởi tạo
Chọn k trọng tâm ban đầu trong không gian |d| (d là số chiều của dữ liệu).
Việc lựa chọn này có thể là ngẫu nhiên hoặc theo kinh nghiệm.


×