Tải bản đầy đủ (.pdf) (73 trang)

Phân cụm không gian con cho dữ liệu rời rạc

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 (1.68 MB, 73 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP. HCM
------------------------

HỒNG THỊ THOA

PHÂN CỤM KHƠNG GIAN CON
CHO DỮ LIỆU RỜI RẠC
LUẬN VĂN THẠC SĨ
Chuyên ngành: Công nghệ Thông tin
Mã ngành: 60480201

TP. Hồ Chí Minh, Năm 2017


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP. HCM
------------------------

HỒNG THỊ THOA

PHÂN CỤM KHƠNG GIAN CON
CHO DỮ LIỆU RỜI RẠC
LUẬN VĂN THẠC SĨ
Chuyên ngành: Công nghệ Thông tin
Mã ngành: 60480201

CÁN BỘ HƯỚNG DẪN KHOA HỌC: PGS.TS. VÕ ĐÌNH BẢY

TP. Hồ Chí Minh, Năm 2017



CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI
TRƯỜNG ĐẠI HỌC CƠNG NGHỆ TP. HCM

Cán bộ hướng dẫn khoa học: PGS.TS. VÕ ĐÌNH BẢY
(Ghi rõ họ, tên, học hàm, học vị và chữ ký)

Luận văn Thạc sĩ được bảo vệ tại Trường Đại học Công nghệ TP. HCM
ngày 19 tháng 11 năm 2017
Thành phần Hội đồng đánh giá Luận văn Thạc sĩ gồm:
(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ Luận văn Thạc sĩ)
Họ và tên

TT

Chức danh Hội đồng

1

TS. Nguyễn Thị Thúy Loan

Chủ tịch

2

PGS.TS. Đỗ Phúc

Phản biện 1

3


TS. Nguyễn Hà Giang

Phản biện 2

4

TS. Trần Minh Thái

5

TS. Lê Thị Ngọc Thơ

Ủy viên
Ủy viên, Thư ký

Xác nhận của Chủ tịch Hội đồng đánh giá sau khi Luận văn đã được
sửa chữa (nếu có).
Chủ tịch Hội đồng đánh giá LV


TRƯỜNG ĐH CƠNG NGHỆ TP. HCM

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

PHÒNG QLKH – ĐTSĐH

Độc lập – Tự do – Hạnh phúc

TP. HCM, ngày..… tháng….. năm 2017


NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: HỒNG THỊ THOA

Giới tính: Nữ

Ngày, tháng, năm sinh: 01-05-1984

Nơi sinh: Nam Định

Chuyên ngành: Công nghệ thông tin

MSHV: 1541860047

I- Tên đề tài:
Phân cụm không gian con cho dữ liệu rời rạc.
II- Nhiệm vụ và nội dung:
-

Tìm hiểu về phân cụm khơng gian con cho dữ liệu rời rạc.

-

Tìm hiểu thuật tốn CLICKS.

-

Thực nghiệm chương trình bằng thuật toán CLICKS trên CSDL lớn

III- Ngày giao nhiệm vụ: 15/3/2017

IV- Ngày hoàn thành nhiệm vụ: 25/8/2017
V- Cán bộ hướng dẫn: PGS.TS. VÕ ĐÌNH BẢY
CÁN BỘ HƯỚNG DẪN

KHOA QUẢN LÝ CHUYÊN NGÀNH

(Họ tên và chữ ký)

(Họ tên và chữ ký)


i

LỜI CAM ĐOAN
Tơi xin cam đoan đây là cơng trình nghiên cứu của riêng tôi. Các số liệu, kết
quả nêu trong Luận văn là trung thực và chưa từng được ai cơng bố trong bất kỳ
cơng trình nào khác.
Tơi xin cam đoan rằng mọi sự giúp đỡ cho việc thực hiện Luận văn này
đã được cảm ơn và các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn
gốc.
Học viên thực hiện Luận văn

Hoàng Thị Thoa


ii

LỜI CÁM ƠN
Trong suốt thời gian học tập tại trường Đại học Công nghệ TP.HCM, tôi đã nhận
được rất nhiều sự động viên, giúp đỡ của quý Thầy cô, gia đình và bạn bè. Nhờ sự giúp

đỡ ấy em mới có thể hồn thành khóa học và luận văn này. Đặc biệt em xin tỏ lòng biết
ơn sâu sắc đến thầy PGS.TS.VÕ ĐÌNH BẢY đã tận tình hướng dẫn em trong suốt quá
trình làm luận văn.
Em xin chân thành cảm ơn Ban Giám hiệu, phòng Đào tạo sau Đại học trường đại
học Công nghệ TP.HCM đã hướng dẫn em thực hiện tốt các nội quy cũng như các thủ
tục của trường trong quá trình học tập.
Em xin chân thành cảm ơn quý Thầy cô khoa Công nghệ thông tin trường Đại
học Cơng nghệ TP.HCM đã tận tình truyền đạt những kiến thức, kinh nghiệm quý báu
cho em trong quá trình học tập tại trường. Những kiến thức ấy chính là nền tảng và là
hành trang giúp em tìm hiểu về lĩnh vực sáng tạo trong nghiên cứu khoa học.
Em xin chân thành cảm ơn Ban Giám hiệu, khoa Công nghệ thông tin trường Cao
đẳng Kinh tế Kỹ thuật Kiên Giang đã nhiệt tình giúp đỡ và tạo điều kiện thuận lợi nhất
để em hồn thành khóa học.
Do kiến thức cịn hạn hẹp nên trong q trình viết luận văn khó tránh khỏi thiết
sót kính mong q Thầy cơ bỏ qua. Đồng thời em rất mong nhận được ý kiến đóng góp
q báu của q Thầy cơ và các bạn cùng lớp để kiến thức cũng như luận văn của em
được hồn thiện hơn.
Cuối cùng em xin kính chúc q Thầy cô dồi dào sức khỏe và thành công trong sự
nghiệp cao quý.

Hoàng Thị Thoa


iii

TĨM TẮT
Phát triển cơng nghệ truyền thơng và sự tiến bộ của các thiết bị thu thập dữ
liệu đã cho phép thu thập các loại dữ liệu khác nhau. Cùng với sự sẵn có của các
thiết bị lưu trữ dung lượng cao, mọi tổ chức đang tích lũy khối lượng lớn dữ liệu
qua nhiều năm. Trích xuất thơng tin hữu ích và kiến thức từ dữ liệu tích lũy là cần

thiết để đạt được lợi thế cạnh tranh. Tuy nhiên, chúng ta khơng thể khám phá các
mẫu có ích, chưa biết từ khối lượng lớn dữ liệu theo cách thủ cơng. Vì vậy, một nhu
cầu đặt ra là cần phải có các cơng cụ tự động kết hợp các kỹ thuật thông minh để hỗ
trợ khai thác thông tin và phân tích dữ liệu. Đây chính là một trong nguyên nhân
thúc đẩy sự ra đời của ngành khai thác dữ liệu.
Càng ngày càng có rất nhiều các kỹ thuật khai thác dữ liệu đã được phát
minh ra để xử lý các bộ dữ liệu đồ sộ đó. Trong đó có kỹ thuật phân cụm/phân
nhóm là một trong những kỹ thuật điển hình, trọng tâm và là một nhánh ứng dụng
chính của lĩnh vực học không giám sát (Unsupervised Learning) [11].
Với sự phát triển của các kỹ thuật hiện đại đã tạo ra dữ liệu tự động và sự
phân mảnh dữ liệu trong các lĩnh vực ứng dụng ngày càng nhiều, số lượng dữ liệu
khổng lồ được tạo ra không chỉ là số lượng các đối tượng dữ liệu mà còn về số
thuộc tính của từng đối tượng. Do đó, khai thác dữ liệu đặt ra những thách thức mới
cho vấn đề phân cụm, đòi hỏi các giải pháp chuyên biệt. Phân cụm khơng gian con
là chìa khóa cho giải pháp chuyên biệt đó và là một trong những phương pháp tốt
nhất để phát hiện các cụm có ý nghĩa trong khơng gian rất cao.
Hầu hết các thuật tốn phân cụm không gian con trong tài liệu đã được phát
triển để xử lý các bộ dữ liệu, nơi các đối tượng được định nghĩa trên các thuộc tính
số (dữ liệu số/giá trị thực). Trên thực tế có rất nhiều bộ dữ liệu, nơi các đối tượng
được định nghĩa trên các thuộc tính, khơng phải là số hay so sánh một cách vốn có
bằng bất kỳ cách nào. Bộ dữ liệu như vậy được gọi là dữ liệu rời rạc (hoặc giá trị rời
rạc, tượng trưng) vì chúng đại diện cho các giá trị của các loại nhất định. Việc phân
cụm không gian con cho dữ liệu rời rạc đã thu hút được sự chú ý của các nhà nghiên


iv

cứu, bởi vì hầu hết các bộ dữ liệu thực tế đều có tính chất phân loại. Nhận thấy rằng
nhu cầu xử lý bộ dữ liệu rời rạc đó là rất cấp thiết. Việc lựa chọn các kỹ thuật khai
thác dữ liệu phù hợp tùy thuộc vào loại dữ liệu cần xử lý cũng như loại kiến thức

cần trích xuất là rất quan trọng. Do đó, tơi đã chọn đề tài “Phân cụm không gian con
cho dữ liệu rời rạc” nhằm phát hiện các cụm trong các không gian con khác nhau
trong một không gian chiều cao ban đầu đối với bộ dữ liệu rời rạc. Nó được ứng
dụng rất nhiều trong thực tế như nhận dạng mẫu, học máy, khai thác dữ liệu và
khám phá tri thức [6].
Mục tiêu nghiên cứu của đề tài:
Tập trung nghiên cứu và cài đặt thuật toán CLICKS trên CSDL lớn
Nội dung nghiên cứu:
+ Nghiên cứu về lý thuyết phân cụm không gian con.
+ Nghiên cứu về các kiểu dữ liệu, chú trọng đặc biệt đến kiểu dữ liệu
rời rạc.
+ Nghiên cứu kỹ thuật phân cụm không gian con cho dữ liệu rời rạc.
+ Dựa trên những nội dung đã tìm hiểu và nghiên cứu để thực nghiệm
chương trình với thuật tốn CLICKS trên CSDL lớn.
Các kết quả nghiên cứu đạt được:
+ Tổng quan về lý thuyết phân cụm không gian con cho dữ liệu rời
rạc.
+ Thực hiện thực nghiệm chương trình thuật tốn CLICKS trên CSDL
lớn
Luận văn bao gồm nội dung sau:
- Chương 1 - Tổng quan: Nội dung của chương này giới thiệu tổng quan về
khai thác dữ liệu; phân cụm trong khai phá dữ liệu; phân cụm không gian con và
phân cụm dữ liệu rời rạc.
- Chương 2 - Cơ sở lý thuyết: Chương này trình bày các vấn đề liên quan đến
dữ liệu phân loại; phân cụm không gian con trên dữ liệu rời rạc và một số định
nghĩa liên quan.


v


- Chương 3 – Thuật tốn phân cụm khơng gian con cho dữ liệu rời rạc:
Nội dung chương này tập trung nghiên cứu và xây dựng thuật toán CLICKS trên
CSDL lớn.
- Chương 4 - Thực nghiệm: Chương này trình bày kết quả chạy thực nghiệm
với thuật toán CLICKS.
- Chương 5 - Kết luận và hướng phát triển: Nội dung chương này trình bày
kết quả đạt được của luận văn, những ưu và nhược điểm, hướng phát triển của đề
tài.


vi

ABSTRACT
The development of communication technologies and the advancement of
data collection devices have allowed the collection of different types of data. Along
with the availability of high capacity storage devices, every organization is
accumulating large amounts of data over the years. Extracting useful information
and knowledge from the accumulated data is necessary to gain competitive
advantage. However, we can not discover useful, unknown samples from large
amounts of data manually. Therefore, there is a need to have tools that
automatically incorporate smart technologies to support information extraction and
data analysis. This is one of the reasons for the launch of data mining
More and more data mining techniques have been invented to handle such massive
data sets. Among them, clustering is one of the typical, central techniques and a
major application branch of Unsupervised Learning.[11]
With the development of modern techniques that generate automated data
and data fragmentation in more and more areas of application, the huge amount of
data generated is not just the number of objects Data but also on the number of
attributes of each object. Therefore, data mining poses new challenges to clustering,
requiring specialized solutions. Subspace clustering is the key to that specific

solution and is one of the best methods for detecting clusters that are meaningful in
very high space.
Most subspace clustering algorithms in the document have been developed to
handle data sets where objects are defined on numeric properties (numeric / real
value data). Actually, there are many sets of data where objects are defined on
attributes, not numbers or comparatively inherent in any way. Such data sets are
called categorical data because they represent values of certain types. Subspace
fragmentation for categorical data has attracted the attention of researchers, because
most of the actual data sets are classifiable. Recognizing that the need to process
categorical datasets is imperative. Choosing the right data mining techniques


vii

depends on the type of data to be processed as well as the type of knowledge to
extract is very important. Therefore, I chose the topic " Subspace Clusters on
Categorical Data" to detect clusters in different subspaces in an initial height space
for categorical data sets. It is used in many practical ways such as pattern
recognition, machine learning, data mining and knowledge discovery [6].


viii

MỤC LỤC
LỜI CAM ĐOAN ....................................................................................................... i
LỜI CÁM ƠN ............................................................................................................. ii
TÓM TẮT.................................................................................................................. iii
ABSTRACT .............................................................................................................. vi
MỤC LỤC ............................................................................................................... viii
DANH MỤC CÁC TỪ VIẾT TẮT ............................................................................x

DANH MỤC CÁC BẢNG........................................................................................ xi
DANH MỤC CÁC HÌNH ........................................................................................ xii
CHƯƠNG 1: TỔNG QUAN .......................................................................................1
1.1. Tổng quan về khai thác dữ liệu ........................................................................1
1.2. Phân cụm trong khai thác dữ liệu ....................................................................3
1.2.1. Giới thiệu chung ........................................................................................3
1.2.2. Một số kiểu dữ liệu phân cụm ...................................................................4
1.3. Phân cụm dữ liệu rời rạc...................................................................................5
1.3.1. Một số thách thức đối với phân cụm phân loại .........................................6
1.3.2. Một số kỹ thuật phân cụm phân loại ..........................................................6
1.4. Phân cụm không gian con ................................................................................9
1.4.1. Giới thiệu ...................................................................................................9
1.4.2. Một số ứng dụng của phân cụm không gian con .....................................10
1.4.3. Một số kỹ thuật phân cụm không gian con ..............................................12
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT .........................................................................16
2.1. Giới thiệu về dữ liệu phân loại Categorical....................................................16
2.2. Tổng quan về phân cụm không gian con cho dữ liệu rời rạc .........................17
2.3. Một số định nghĩa liên quan ...........................................................................19
CHƯƠNG 3: THUẬT TOÁN PHÂN CỤM KHÔNG GIAN CON TRÊN DỮ LIỆU
PHÂN LOẠI CATEGORICAL ................................................................................24
3.1. Đồ thị hóa cho bộ dữ liệu rời rạc ....................................................................24
3.2. Thuật toán CLICKS ........................................................................................28


ix

3.2.1. Tiền xử lý .................................................................................................29
3.2.2. Liệt kê các clique tối đại k-partite ..........................................................31
3.2.3. Hậu xử lý .................................................................................................37
3.3. Lựa chọn thông số. .........................................................................................42

3.4. Ưu và nhược điểm của thuật toán CLICKS. ..................................................43
CHƯƠNG 4: THỰC NGHIỆM ................................................................................44
4.1. Môi trường thực nghiệm.................................................................................44
4.2. Giới thiệu cơ sở dữ liệu thực nghiệm .............................................................44
4.2.1. Thực nghiệm thứ nhất ..............................................................................44
4.2.2. Thực nghiệm thứ hai ................................................................................46
4.3. Mô tả thực nghiệm chương trình ....................................................................49
CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ..........................................54
5.1. Kết luận ..........................................................................................................54
5.2. Nhận xét..........................................................................................................54
5.3. Hướng phát triển .............................................................................................55
TÀI LIỆU THAM KHẢO .........................................................................................56


x

DANH MỤC CÁC TỪ VIẾT TẮT
Từ viết tắt
CSDL
SUBCLU
PCA

Ý nghĩa
Cơ sở dữ liệu
Density-connected SUBspace CLUstering
Principal Component Analysis

1D

1 chiều


2D

2 chiều

3D

3 chiều

MDL

Minimum Description Length

KPDL

Khai phá dữ liệu

T(D)
ROCK

Đồ thị k-partite của D
RObust Clustering using linKs


xi

DANH MỤC CÁC BẢNG
Bảng 2.1: Bộ dữ liệu rời rạc (Categorical Dataset) ...................................................21
Bảng 3.1. Cơ sở dữ liệu cset .....................................................................................39
Bảng 4.1: Ví dụ về cấu trúc file 1 .............................................................................51

Bảng 4.2: Ví dụ cấu trúc file 2 (MushroomData) .....................................................52


xii

DANH MỤC CÁC HÌNH
Hình 3.1: Một mẫu mã hóa đồ thị của bộ dữ liệu rời rạc (đồ thị k-partite). .............25
Hình 3.2: Thuật tốn CLICKS ..................................................................................28
Hình 3.3: Tìm clique với thuật tốn CLICKS ...........................................................32
Hình 3.4: Ví dụ tìm các cụm clique tối đại ...............................................................35
Hình 3.5: Hậu xử lý CLICKS để trộn các cụm. ........................................................41
Hình 4.1: Kết quả phân cụm sau xử lý (MushroomData) .........................................45
Hình 4.2: Hiệu suất sau xử lý (MushroomData) .......................................................45
Hình 4.3: Kết quả phân cụm CLICKS với MushroomDataset .................................46
Hình 4.4: Kết quả phân cụm sau xử lý (House-votes-84 Dataset) ............................47
Hình 4.5: Hiệu suất sau xử lý (House-votes-84 Dataset) ..........................................48
Hình 4.6: Kết quả phân cụm CLICKS với House-votes-84 Dataset ........................48


1

CHƯƠNG 1: TỔNG QUAN
1.1. Tổng quan về khai thác dữ liệu
Khai thác dữ liệu là một hướng nghiên cứu mới ra đời hơn một thập niên, các
kỹ thuật chính áp dụng trong lĩnh vực này phần lớn thừa kế từ lĩnh vực CSDL, học
máy, trí tuệ nhân tạo, lý thuyết thơng tin và tính tốn hiệu năng cao. Có nhiều định
nghĩa về khai thác dữ liệu nhìn chung có thể hiểu như sau: “khai thác dữ liệu là một
quá trình tìm kiếm, phát hiện các tri thức mới, tiềm ẩn, hữu dụng trong một CSDL
lớn.
Khám phá tri thức trong CSDL là mục tiêu chính của khai thác dữ liệu.

Khám phá tri thức từ CSDL là một quá trình sử dụng các phương pháp và cơng cụ
tin học, trong đó con người là trung tâm của q trình. Do đó, con người cần phải có
kiến thức cơ bản về lĩnh vực cần khám phá để có thể chọn được tập con dữ liệu tốt,
từ đó phát hiện các mẫu phù hợp với mục tiêu đề ra. Đó chính là tri thức, được rút
ra từ CSDL, thường để phục vụ cho việc giải quyết một loạt nhiệm vụ nhất định
trong một lĩnh vực nhất định. Tuy vậy, quá trình khám phá tri thức mang tính chất
hướng nhiệm vụ vì khơng phải là mọi tri thức tìm được đều áp dụng vào thực tế
được.
Để có được những thơng tin q báu chúng ta phải tìm ra các mẫu có trong
tập CSDL trước. Việc đánh giá các mẫu được tìm thấy cũng là một điều thú vị và tất
yếu có tính chất quyết định đến sự sử dụng hay không sử dụng chúng. Đầu ra của
một chương trình là khám phá những mẫu có ích được gọi là tri thức. Tri thức được
khám phá có các đặc điểm chính:
- Kiến thức cao cấp: Ngày càng có nhiều câu hỏi mang tính chất định tính
cần phải trả lời dựa trên một khối lượng dữ liệu khổng lồ đã có. Q trình để tìm ra
kiến thức như vậy không phải từ những phương pháp thống kê cổ điển mà nó được
được đúc kết từ các kinh nghiệm đã có, được thể hiện trong dữ liệu, những kết quả
đó có thể lĩnh hội được.


2

- Độ chính xác: Dù cho những mẫu khai thác thật sự có trong CSDL hay
khơng thì việc đo lường trị giá của chúng là bắt buộc phải có. Chúng ta sẽ chỉ sử
dụng những mẫu nào có độ chính xác càng cao thì hiệu quả cơng việc đạt được càng
lớn, những mẫu có độ chính xác chưa được xác định rõ ràng hoặc khơng cao thì
khơng nên sử dụng chúng.
- Tính hấp dẫn: Khám phá tri thức được coi là lý thú vì nó có thể vạch ra các
xu hướng một cách hồn thiện. Đó là những điều mới lạ hay những quy trình tìm
năng, hữu ích ẩn chứa từ trong dữ liệu trước đó.

- Tính hiệu quả: thời gian chạy của thuật toán khám phá tri thức trên CSDL
lớn có thể dự tính và chấp nhận được.
Dữ liệu là tập hợp những bộ thơng tin chính xác và quá trình khám phá tri
thức được xem là sự lọc bỏ các dư thừa, được rút gọn tới mức tối thiểu chỉ để lại các
đặc trưng cơ bản cho dữ liệu. Tri thức được tìm thấy là các thơng tin tích hợp, bao
gồm các sự kiện và các mối quan hệ trong chúng. Các mối quan hệ này có thể được
hiểu ra, có thể được phát hiện, hoặc có thể được học.
Nếu khám phá tri thức là toàn bộ quá trình chiết xuất tri thức từ các CSDL
thì KPDL là giai đoạn chủ yếu của q trình đó. KPDL là một quá trình phát hiện
các mẫu mới, thường bao gồm việc thử tìm mơ hình phù hợp với tập dữ liệu và tìm
kiếm các mẫu từ tập dữ liệu theo mơ hình đó. Sử dụng các kỹ thuật và các khái
niệm của các lĩnh vực đã được nghiên cứu từ trước như: học máy, nhận dạng, thống
kê, hồi quy, xếp loại, phân nhóm, các mơ hình đồ thị, các mạng Bayes,… Hầu hết
các CSDL đều chứa rất nhiều các mẫu mới và có ích, tuy nhiên mẫu có giá trị với
mục tiêu đặt ra phải là những mẫu không tầm thường. Để các mẫu trở nên không
tầm thường, hệ thống phải làm nhiều hơn là chỉ mò mẫm thống kê vì kết quả của
việc tính tốn trực tiếp qua cơng tác thống kê là đã có đối với người dùng. Một hệ
thống tìm kiếm cần phải có khả năng quyết định cần thực hiện tính tốn nào và kết
quả là có đáng quan tâm để tạo nên tri thức trong ngữ cảnh hiện tại hay không.
KPDL được sử dụng để tạo ra giả thuyết. Ví dụ như để xác định các yếu tố
rủi ro khi cho vay tín dụng, kỹ thuật KPDL phát hiện được những người có thu nhập


3

thấp và nợ nhiều là những người sẽ có mức rủi ro cao. Ngồi ra kỹ thuật cũng có thể
phát hiện ra những quy luật mà nhà phân tích có thể chưa tìm ra ví dụ như tỷ lệ giữa
thu nhập trên nợ và tuổi cũng là các yếu tố xác định mức rủi ro. Để làm được điều
này, KPDL sử dụng các thông tin trong quá khứ để học. Nó sẽ tìm kiếm các thơng
tin này trong các CSDL và sử dụng chúng để tìm ra các mẫu đáng quan tâm.

KPDL khơng thuộc một ngành cơng nghiệp nào. Nó sử dụng các kỹ thuật
thông minh để khai phá các tri thức tiềm ẩn trong dữ liệu. Có thể coi KPDL ngày
nay đang ở trạng thái giống như việc quản trị dữ liệu vào những năm 60, khi mà các
ứng dụng quản trị dữ liệu đều không tuân theo một ngun tắc chung nào cho đến
khi mơ hình dữ liệu quan hệ ra đời cùng với sức mạnh của ngôn ngữ vấn đáp đã
thúc đẩy việc phát triển các ứng dụng quản trị dữ liệu lên nhanh chóng. Tuy vậy,
hiện nay trên thế giới đã có rất nhiều ngành cơng nghiệp sử dụng kỹ thuật KPDL để
phục vụ cho hoạt động kinh doanh của mình và đã bước đầu thành cơng như ngành
tài chính, y học, hóa học, bảo hiểm, sản xuất, giao thông, hàng không,… Các kết
quả đạt được cho thấy mặc dù kỹ thuật KPDL hiện nay vẫn còn nhiều vấn đề nổi
cộm, nhưng với những tri thức mà chuyên gia con người cũng chưa cung cấp được
thì KPDL có một tiềm năng to lớn trong việc tạo ra những lợi nhuận đáng kể trong
nền kinh tế.
1.2. Phân cụm trong khai thác dữ liệu
1.2.1. Giới thiệu chung
Phân cụm là kỹ thuật rất quan trọng trong khai phá dữ liệu, đây là phương
pháp học không giám sát trong Machine Learning. Nhìn chung về bản chất ta có thể
hiểu phân cụm là các qui trình tìm cách nhóm các đối tượng đã cho vào các cụm
(clusters), sao cho các đối tượng trong cùng một cụm tương tự (similar) nhau và
các đối tượng khác cụm thì khơng tương tự (Dissimilar) nhau.
Bài toán phân cụm dữ liệu được hiểu như sau:
 Đầu vào: Tập dữ liệu D gồm n phần tử trong không gian m chiều.
-

D = {x1, x2,…,xn}


4

-


xi = (x1i, x2i,…, xmi) mơ tả m thuộc tính của phần tử thứ i.

 Đầu ra: Phân các dữ liệu thuộc D thành các cụm sao cho:
-

Các phần tử trong cùng một cụm có tính chất tương tự nhau (gần
nhau).

-

Các phần tử ở các cụm khác nhau có tính chất khác nhau (xa nhau).
Hiện này có rất nhiều thuật tốn liên quan đến phân tích cụm. Tuy nhiên,

mỗi thuật tốn đều có các cách tiếp cận khác nhau để phân cụm, do đó khó có thể
xác định kỹ thuật nào là hiệu quả nhất. Mặt khác cũng khơng có tiêu chí nào là được
xem là tốt nhất để đánh giá hiệu qủa của phân tích phân cụm, điều này phụ thuộc
vào mục đích của phân cụm như: data reduction, “natural clusters”, “useful”
clusters, outlier detection.
1.2.2. Một số kiểu dữ liệu phân cụm
Cụm từ “các kiểu dữ liệu” hay “các kiểu thuộc tính dữ liệu” được xem là
tương đương nhau. Thuật tốn phân cụm dữ liệu có rất nhiều liên kết với các loại dữ
liệu, các đối tượng dữ liệu thường được diễn tả dưới dạng các đặc tính hay cịn gọi
là các thuộc tính. Các thuộc tính này là các tham số để giải quyết vấn đề phân cụm
và việc lựa chọn chúng có tác động đáng kể đến việc giải thích các kết quả của thuật
thuật tốn phân cụm dữ liệu. Do đó, việc phân loại các kiểu thuộc tính khác nhau là
vấn đề cần giải quyết đối với hầu hết các tập dữ liệu nhằm cung cấp các thuật toán
chuyên biệt để xử lý các kiểu dữ liệu đó.
Cho CSDL D chứa n đối tượng trong khơng gian k chiều, trong đó x, y là các
đối tượng thuộc D: x=(x1, x2, x3,…xk) ; y=(y1, y2, y3,…yk) trong đó xi, yi với i=1…k là

các đặc trưng hoặc thuộc tính tương ứng của các đối tượng x, y.
Cụ thể chúng ta tìm hiểu từng loại thuộc tính sau:


5

a. Phân loại theo kích thước miền:
- Thuộc tính liên tục: Miền giá trị là vô hạn không đếm được, nghĩa là giữa hai
giá trị tồn tại vô số giá trị khác. Ví dụ thu nhập.
- Thuộc tính rời rạc: Miền giá trị là một tập hợp hữu hạn hoặc đếm được. Ví
dụ quê quán
- Thuộc tính nhị phân: Là trường hợp đặc biệt của thuộc tính rời rạc mà miền
giá trị chỉ có hai phần tử như: Yes/No, 0/1, True/False…
b. Phân loại theo hệ đo
- Thuộc tính hạng mục (Categorical) hay cịn gọi thuộc tính phân loại là một
trường hợp đặc biệt của kiểu dữ liệu rời rạc, bao gồm các tập thuộc tính có tên miền
khơng phải là số. Thuộc tính này đơn giản là sử dụng như tên, chẳng hạn như các
thương hiệu xe và tên của các chi nhánh ngân hàng.v.v. Chúng ta xem xét các dữ
liệu tập hợp với một số hữu hạn các điểm dữ liệu, một thuộc tính Categorical của
các điểm dữ liệu trong tập dữ liệu có thể chỉ có một số hữu hạn các giá trị.
- Thuộc tính khoảng (Interval Scale): Chúng ta có thể xác định một thuộc tính
đứng trước hoặc đứng sau thuộc tính khác với một khoảng là bao nhiêu. Nếu xi > yi
thì ta nói x cách y một khoảng |xi- yi| tương ứng với thuộc tính thứ i.
-

Thuộc tính tỉ lệ (Ratio Scale): là thuộc tính khoảng nhưng được xác

định một cách tương đối so với điểm mốc, thí dụ như thuộc tính chiều cao hoặc
cân nặng lấy điểm 0 làm mốc.
Trong các thuộc tính dữ liệu trình bày ở trên thuộc tính khoảng và thuộc tính

tỉ lệ được gọi là thuộc tính số (Numeric).
1.3. Phân cụm dữ liệu rời rạc
Trong khái thác dữ liệu xuất hiện các thuật toán phân cụm khác nhau để xử
lý các kiểu dữ liệu khác nhau. Hầu hết các thuật toán phân cụm đã được phát triển
để xử lý các bộ dữ liệu, nơi các đối tượng được định nghĩa trên các thuộc tính số


6

(dữ liệu số/giá trị thực). Trên thực tế có rất nhiều bộ dữ liệu, nơi các đối tượng được
định nghĩa trên các thuộc tính, khơng phải là số hay so sánh một cách vốn có bằng
bất kỳ cách nào. Bộ dữ liệu như vậy được gọi là dữ liệu rời rạc (hoặc giá trị rời rạc,
tượng trưng) vì chúng đại diện cho các giá trị của các loại nhất định. Do đó, phân
cụm dữ liệu phân loại [6][9][10] đề cập đến việc phân cụm các đối tượng được định
nghĩa trên các thuộc tính phân loại có giá trị, thuộc tính tượng trưng
1.3.1. Một số thách thức đối với phân cụm phân loại
- Thứ nhất: Giá trị của một thuộc tính khơng có thứ tự và khoảng cách, do đó
rất khó để chọn một sự tương đồng phù hợp (do thiếu trật tự và khoảng cách giữa
các loại), lựa chọn một biện pháp tương tự thích hợp là một nhiệm vụ khó khăn.
Nhiều kỹ thuật hiện có yêu cầu người sử dụng chỉ định các thơng số đầu vào rất khó
ước tính. Hơn nữa, nhiều kỹ thuật được giới hạn để phát hiện các cụm trong khơng
gian tồn phần. Chỉ có một số phương pháp tồn tại đối với việc phân cụm không
gian con và chúng tạo ra các kết quả dự phòng cao.
- Thứ hai: Các bộ dữ liệu rời rạc thường là những bộ dữ liệu chiều cao. Tuy
nhiên, các ví dụ thực tế cho thấy các phương pháp phân cụm đối với dữ liệu phân
loại nên có khả năng mở rộng cao về số thuộc tính. Trong dữ liệu chiều cao, nó có
thể chỉ ra rằng các biện pháp đo khoảng cách truyền thống trở nên không hiệu quả,
một hiện tượng được gọi là lời nguyền của số chiều đối với các thuật toán phân cụm
truyền thống.
- Cuối cùng, nhiều tập dữ liệu rời rạc không hiển thị các cụm trên tất cả các

chiều. Điều này đặc biệt đúng đối với khơng gian thưa thớt, ví dụ như trong tập hợp
tài liệu, nơi mà từ điển có thể rất lớn nhưng các tài liệu cá nhân chứa ít từ.
1.3.2. Một số kỹ thuật phân cụm phân loại
Mặc dù rất nhiều kỹ thuật đã tập trung vào việc nhóm các dữ liệu số, chỉ có
một số ít các nghiên cứu có tập trung vào phân cụm phân loại bao gồm ROCK [12],
COOLCAT[13], k-modes [14],v.v. Trong phần này luận văn sẽ giới thiệu một số kỹ
thuật phân cụm phân loại cơ bản sau:


7

a. Thuật toán COOLCAT
Thuật toán COOLCAT dùng để phân cụm dữ liệu định danh. Thuật toán này
được Barbara và cộng sự đưa ra dựa trên ý tưởng giảm entropy trong các cụm được
tạo ra. Để tính tốn sự tương đồng giữa các phần tử trong cụm thì COOLCAT cực
tiểu hóa entropy kỳ vọng của tất cả các cụm. Ở đây, entropy là thước đo sự ngăn
nắp, qui hoạch. Nếu như sự qui hoạch càng kém, entropy càng cao. Nếu sự qui
hoạch càng tốt, entropy càng thấp.Ý tưởng của thuật toán này là: Đầu vào là mảng
vector cần phân cụm và số cụm k cho trước và phải trả ra kết quả đánh giá sau khi
phân cụm:
- Khởi tạo k cụm: Chọn k vector sao cho cực tiểu entropy từng cặp vector là
lớn nhất, từng vector này sẽ là tâm ban đầu của các cụm.
- Sắp xếp lại các vector vào cụm: Với mỗi vector còn lại của mảng, đặt từng
vector vào cụm phù hợp thỏa mãn điều kiện Entropy của cụm sau khi thêm vector là
nhỏ nhất.
- Kiểm tra điều kiện dừng: Tất cả các vector đều đƣợc đặt vào cụm tƣ ơng
ứng
- Phân cụm lại những vector xa tâm nhất theo tỷ lệ cho trước
Đánh giá kết quả phân cụm và trả về giá trị này
b. Thuật toán k-modes

Huang giới thiệu k-modes, một phần mở rộng của thuật toán k-means nổi
tiếng về phân cụm dữ liệu số. Bằng cách định nghĩa khái niệm chế độ cho các nhóm
phân loại và đưa ra một quy tắc cập nhật gia tăng cho các chế độ cụm, thuật tốn sẽ
bảo tồn các thuộc tính mở rộng của k-means. Đương nhiên, nó cũng thừa hưởng
những bất lợi (nhược điểm) của nó, chẳng hạn như sự phụ thuộc vào các nhóm hạt,
và khơng có khả năng tự động phát hiện số lượng của các cụm.


8

c. Thuật toán ROCK
ROCK (RObust Clustering using linKs) là một thuật tốn phân cụm phân cấp
cho các thuộc tính phân loại, khám phá các khái niệm về liên kết (số lượng của hàng
xóm chung giữa hai đối tượng) với dữ liệu là các thuộc tính phạm trù. Thuật tốn
phân cụm truyền thống phân cụm dữ liệu với các thuộc tính Boolean và phân cụm
sử dụng hàm tính khoảng cách. Tuy nhiên, các thực nghiệm cho thấy rằng các biện
pháp khoảng cách như vậy cho kết quả phân cụm dữ liệu không cao với dữ liệu
phạm trù. Hơn thế nữa, hầu hết các thuật toán phân cụm chỉ đánh giá sự tương tự
giữa các điểm khi phân cụm, có nghĩa là ở mỗi bước các điểm tương tự nhất được
sát nhập vào một cụm duy nhất. Cách tiếp cận này “địa phương hóa” dễ bị lỗi. Ví
dụ, hai cụm riêng biệt có thể có một vài điểm hoặc giá trị ngoại lai ở gần, do vậy
dựa trên sự tương tự giữa các điểm để đưa ra quyết định phân cụm có thể gây ra hai
cụm được sáp nhập. ROCK có cách tiếp cận tồn cục hơn với việc nhóm bằng cách
xem xét các vùng lân cận của các cặp điểm riêng rẽ. Nếu hai điểm tương tự là láng
giềng của nhau thì hai điểm có thể thuộc cùng một cụm và như vậy có thể được sáp
nhập.
Thật vậy, hai điểm pi và pj là láng giềng của nhau nếu sim(pi , pj ) ≥ α , trong
đó sim là hàm tương tự và α là một ngưỡng người dùng quy định. Chúng ta có thể
chọn sim là một khoảng cách số hoặc thậm chí khơng phải là khoảng cách số được
chuẩn hóa để giá trị của nó nằm trong khoảng 0 và 1, với giá trị lớn hơn cho thấy

rằng các điểm tương tự hơn. Số lượng các liên kết giữa pi và pj được định nghĩa là
số lượng các láng giềng chung giữa pi và pj . Nếu số lượng các liên kết giữa hai
điểm là lớn, khi đó nó có nhiều khả năng thuộc về cùng một cụm. Bằng việc xem
xét các điểm dữ liệu lân cận trong mối quan hệ giữa các cặp cá thể của các điểm,
ROCK là đáng tin cậy hơn nhiều so với các phƣơng pháp phân cụm chuẩn mà chỉ
tập trung vào sự tương tự của các điểm.


9

1.4. Phân cụm khơng gian con
1.4.1. Giới thiệu
Phân tích cụm là một tập hợp các kỹ thuật và là một nhánh ứng dụng chính
trong khái phá dữ liệu nhằm tìm kiếm các nhóm dữ liệu có sự tương đồng nội bộ
mạnh mẽ và sự không tương đồng mạnh mẽ bên nhóm khác. Trong thực tế, nhiệm
vụ này trở nên khó khăn hơn bởi sự hiện diện của thông tin trong dữ liệu khơng liên
quan để hình thành các cụm, chẳng hạn như các tính năng bổ sung, đặc biệt là trong
ngữ cảnh của "dữ liệu lớn" và dữ liệu chiều cao nói chung. Để đối mặt với khó khăn
này, trong những năm gần đây đã có sự quan tâm ngày càng tăng đối với các kỹ
thuật phân cụm mới xác định các cụm bằng các không gian con khác nhau từ không
gian dữ liệu gốc. Đối với phương pháp tiếp cận phân cụm truyền thống, tồn tại một
sự đa dạng lớn về các lựa chọn và các lựa chọn liên quan đến các lĩnh vực quan tâm.
Các phương pháp tiếp cận khác nhau để giải quyết vấn đề này đã được đề xuất bởi
các cộng đồng khác nhau của các nhà nghiên cứu. Một trong những phương pháp
được biết đến nhiều nhất đó là "phân cụm khơng gian con".
Phân cụm không gian con [3][4][5][7] là một trong những cách tiếp cận tốt
nhất để khám phá các cụm có ý nghĩa trong khơng gian có chiều cao. Vấn đề phân
cụm khơng gian con được đề xuất bởi trên thực tế ta có 2d các khơng gian con khác
nhau của khơng gian có d thuộc tính. Nếu các khơng gian con khơng phải là trục
song song, một số lượng vô hạn các khơng gian con là có thể.

Xét

là một tập hợp các điểm rút ra từ một liên kết không xác

định của các phân số phụ tuyến tính n ≥ 1 hoặc không gian con
thước di=dim(Si), 0 < di < D , i = 1,…,n.
Không gian con được mô tả như sau:

với kích


×