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

Nghiên cứu các kỹ thuật phân cụm dữ liệu và ứng dụng

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.46 MB, 69 trang )

LỜI CẢM ƠN
Để hoàn thành được khóa luận này, trước hết em xin gửi lời cảm ơn
sâu sắc nhất tới PGS.TS Trịnh Đình Thắng, đã tận tình hướng dẫn, chỉ bảo,
định hướng, đóng góp những ý kiến quý báu trong suốt quá trình thực hiện.
Em xin chân thành cảm ơn các thầy, cô giáo trong khoa Công nghệ
thông tin, trường ĐH Sư Phạm Hà Nội 2 đã quan tâm dạy dỗ và giúp đỡ em
trong suốt bốn năm học vừa qua cũng như trong thời gian em làm bài khóa
luận này. Là sinh viên ngành Công nghệ thông tin, em rất tự hào về khoa
mình học, về thầy cô giáo của mình. Em xin kính chúc các thầy, các cô luôn
mạnh khỏe, hạnh phúc và thành công. Chúc khoa Công nghệ thông tin sẽ
ngày một khang trang, vững mạnh, góp phần to lớn trong sự nghiệp đào tạo
chuyên nghiệp của trường Đại học sư phạm Hà Nội 2.
Là sinh viên lần đầu nghiên cứu khoa học, chắc chắn đề tài của em
không tránh khỏi những thiếu sót, hạn chế. Vì vậy em rất mong sự đóng góp ý
kiến của các thầy cô giáo và các bạn để đề tài của em được hoàn thiện.
Cuối cùng, em xin cảm ơn tới đại gia đình của em, đã luôn luôn động
viên, khích lệ tinh thần và tạo điều kiện tốt nhất cho em hoàn thành khóa luận
này.
Hà Nội, tháng 05 năm 2013
Sinh viên
Vũ Thị Bích Phương

1


LỜI CAM ĐOAN
Tên em là: Vũ Thị Bích Phương
Sinh viên: K35 – CNTT, trường Đại học sư phạm Hà Nội 2.
Em xin cam đoan:
1. Đề tài “Nghiên cứu các kỹ thuật phân cụm dữ liệu và ứng dụng” là
kết quả tìm hiểu và nghiên cứu của riêng em, dưới sự hướng dẫn của


PGS.TS Trịnh Đình Thắng.
2. Khóa luận hoàn toàn không sao chép từ các tài liệu có sẵn đã được
công bố khác.
3. Kết quả không trùng với các tác giả khác.
Nếu sai em xin hoàn toàn chịu trách nhiệm.
Hà Nội, tháng 05 năm 2013.
Sinh viên
Vũ Thị Bích Phương

2


MỤC LỤC
LỜI CẢM ƠN ........................................................................................... 1
LỜI CAM ĐOAN ...................................................................................... 2
MỞ ĐẦU ................................................................................................... 5
CHƯƠNG 1. ................................................... Error! Bookmark not defined.
TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC VÀ KHAI PHÁ DỮ LIỆU 11
1.1 Giới thiệu chung .................................................................................11
1.2 Khám phá tri thức và quá trình khám phá tri thức ................................12
1.3 Khai phá dữ liệu .................................................................................14
CHƯƠNG 2. ................................................... Error! Bookmark not defined.

PHÂN CỤM DỮ LIỆU VÀ CÁC THUẬT TOÁN TRONGError! Bookmark not define
PHÂN CỤM DỮ LIỆU .................................. Error! Bookmark not defined.
2.1 Khái niệm về phân cụm dữ liệu ...........................................................20
2.2 Các ứng dụng của phân cụm ...............................................................21
2.3 Các yêu cầu về thuật toán phân cụm dữ liệu ........................................22
2.4 Các kiểu dữ liệu trong phân cụm .........................................................23
2.5 Phép đo độ tương tự, phi tương tự .......................................................25

2.6 Các thuật toán phân cụm dữ liệu .........................................................28
2.6.1 Thuật toán phân cụm dữ liệu dựa vào phân cụm phân cấp ............ 28
2.6.2

Thuật toán phân cụm dữ liệu mờ ................................................ 33

2.6.3

Thuật toán phân cụm dữ liệu dựa vào cụm trung tâm ................ 35

2.6.4

Thuật toán phân cụm dữ liệu dựa vào lưới ................................. 38

2.6.5

Thuật toán phân cụm dữ liệu dựa vào mật độ ............................ 42

2.6.6

Thuật toán phân cụm dữ liệu dựa trên mẫu ................................ 48
3


CHƯƠNG 3:................................................... Error! Bookmark not defined.
ỨNG DỤNG CỦA PHÂN CỤM DỮ LIỆU ..............................................50
3.1 Phân đoạn ảnh ....................................................................................50
3.1.1

Định nghĩa phân đoạn ảnh ......................................................... 51


3.1.2

Phân đoạn ảnh dựa vào phân cụm dữ liệu ................................. 52

3.2 Nhận dạng đối tượng và ký tự ..............................................................57
3.2.1 Nhận dạng đối tượng ..................................................................... 57
3.2.2 Nhận dạng ký tự ............................................................................ 60
3.3. Khai phá dữ liệu ..................................................................................61
3.3.1 Khai phá dữ liệu bằng phương pháp tiếp cận ................................ 62
3.3.2 Khai phá dữ liệu có cấu trúc lớn ................................................... 63
3.3.3 Khai phá dữ liệu trong Cơ sở dữ liệu địa chất ............................... 64
KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN .....................................66
TÀI LIỆU THAM KHẢO ........................................................................69

4


MỞ ĐẦU
1. Lý do chọn đề tài
Sự phát triển của công nghệ thông tin và ứng dụng công nghệ thông tin
trong các lĩnh vực của đời sống, kinh tế, xã hội trong nhiều năm qua cũng
đồng nghĩa với lượng dữ liệu đã được các cơ quan thu thập và lưu trữ ngày
một tích lũy nhiều lên. Hơn nữa, các công nghệ lưu trữ và phục hồi dữ liệu
phát triển một cách nhanh chóng vì thế cơ sở dữ liệu ở các cơ quan, doanh
nghiệp, đơn vị ngày càng nhiều thông tin tiềm ẩn phong phú và đa dạng. Mặt
khác, trong môi trường cạnh tranh, người ta ngày càng cần có nhiều thông tin
với tốc độ nhanh để trợ giúp việc ra quyết định và 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ó. Với những lý do như vậy, các phương pháp quản trị và khai

thác cơ sở dữ liệu truyền thống ngày càng không đáp ứng được thực tế đã làm
phát triển một khuynh hướng kỹ thuật mới đó là kỹ thuật khám phá tri thức và
khai phá dữ liệu. Khám phá tri thức trong cơ sở dữ liệu có thể được coi như
quá trình tìm tri thức có ích, cần thiết, tiềm ẩn và chưa được biết trong cơ sở
dữ liệu lớn.
Kỹ thuật khám phá tri thức và khai phá dữ liệu đã và đang được nghiên
cứu, ứng dụng trong nhiều lĩnh vực khác nhau ở các nước trên thế giới, tại
Việt Nam kỹ thuật này tương đối còn mới mẻ tuy nhiên cũng đang được
nghiên cứu và dần đưa vào ứng dụng trong những năm gần đây. Những vấn
đề được quan tâm là phân lớp nhận dạng mẫu, luật kết hợp, phân cụm dữ liệu,
phần tử dị biệt, …
Phân cụm cơ sở dữ liệu là một trong những phương pháp quan trọng
trong quá trình tìm hiểu tri thức. Phân cụm đặc biệt hiệu quả khi ta không biết
về thông tin của các cụm, hoặc khi ta quan tâm tới những thuộc tính của cụm
mà ta chưa biết hoặc biết rất ít những thông tin đó. Phân cụm được coi như
5


một công cụ độc lập để xem xét phân bố dữ liệu, làm bước tiền xử lý cho các
thuật toán khác. Việc phân cụm dữ liệu có rất nhiều ứng dụng như trong tiếp
thị, sử dụng đất, bảo hiểm, hoạch định thành phố… Hiện nay, phân cụm dữ
liệu là một hướng được nghiên cứu rất nhiều trong Công nghệ thông tin.
Chính vì lý do đó mà em chọn đề tài “Nghiên cứu các kỹ thuật phân cụm dữ
liệu và ứng dụng” là hướng nghiên cứu cho bài khóa luận của mình.
2. Mục đích nghiên cứu
- Tìm hiểu qua về quá trình khám phá tri thức và khai phá dữ liệu.
- Tìm hiểu về phân cụm dữ liệu và các thuật toán trong phân cụm dữ
liệu.
- Trên nền tảng lý thuyết về khai phá dữ liệu và một số thuật toán phân
cụm dữ liệu tiến tới đi sâu vào tìm hiểu, phân tích, đánh giá một số

thuật toán của phương pháp phân cụm dữ liệu.
3. Phạm vi nghiên cứu
Data mining là một lĩnh vực thu hút được rất nhiều sự quan tâm của các
nhà nghiên cứu, với nhiều ngành ứng dụng. Một trong các hướng đó là phân
cụm dữ liệu, với các phương pháp phân cụm dữ liệu khác nhau. Ở khóa luận
này, em xin trình bày về một số phương pháp phân cụm dữ liệu.
4. Ý nghĩa khoa học và thực tiễn
Nếu đề tài “Nghiên cứu các kỹ thuật phân cụm dữ liệu và ứng dụng”
được nghiên cứu thì sẽ đạt hiệu quả phân cụm tối ưu, giúp xử lý dữ liệu nhanh
hơn, giảm thời gian, công sức để tìm kiếm, phát hiện các cụm, các mẫu dữ
liệu trong tập dữ liệu lớn để cung cấp thông tin trợ giúp việc ra quyết định, dự
đoán.

6


5. Phương pháp nghiên cứu
a. Phương pháp nghiên cứu lý luận
Nghiên cứu qua việc đọc sách, báo và các tài liệu liên quan nhằm xây
dựng cơ sở lý thuyết của đề tài và các biện pháp cần thiết để giải quyết các
vấn đề của đề tài.
b. Phương pháp chuyên gia
Tham khảo ý kiến của các chuyên gia để có thể thiết kế chương trình
phù hợp với yêu cầu thực tiễn, nội dung xử lý nhanh đáp ứng được yêu cầu
ngày càng cao của người sử dụng.
c. Phương pháp thực nghiệm
Thông qua quan sát thực tế, yêu cầu của cơ sở, những lý luận được
nghiên cứu và kết quả đạt được qua những phương pháp trên.
6. Cấu trúc khóa luận
Ngoài phần mở đầu, kết luận và định hướng phát triển thì luận văn của

em bao gồm ba chương:
Chương 1: Tổng quan về khám phá tri thức và khai phá dữ liệu.
Chương 2: Phân cụm dữ liệu và các thuật toán trong phân cụm dữ liệu.
Chương 3: Ứng dụng của phân cụm dữ liệu.

7


DANH SÁCH CÁC HÌNH
Hình 1: Quá trình khám phá tri thức
Hình 2: Quá trình khai phá dữ liệu
Hình 3: Cây CF biểu diễn trong BIRCH
Hình 4: Cụm dữ liệu khai phá bởi thuật toán CURE
Hình 5: Các bước của thuật toán Chameleon
Hình 6: Các thiết lập để xác định danh giới các cụm ban đầu
Hình 7: Ví dụ hình dạng PCDL sau khi phân cụm bằng K-means
Hình 8: Mô hình cấu trúc dữ liệu lưới
Hình 9: Mô hình thuật toán STING
Hình 10: Hình dạng các cụm được khám phá bởi DBSCAN
Hình 11: Mật độ - đến được trực tiếp
Hình 12: Mật độ - đến được
Hình 13: Mật độ - liên thông
Hình 14: Cụm và nhiễu
Hình 15: Tính năng đại diện cho clustering
Hình 16: Ảnh thang đo xám gốc
Hình 17: Biểu đồ mức xám
Hình 18: Kết quả của việc tạo ngưỡng
Hình 19: Phân đoạn ảnh bằng phân cụm dữ liệu

8



Hình 20: Kết quả của kết cấu phân đoạn ảnh
Hình 21: Phân đoạn ảnh y tế đa quang phổ
Hình 22: Phân đoạn ảnh LANDSAT
Hình 23: Một tập con các ảnh của cảnh Rắn hổ mang được chọn từ 320 cảnh
Hình 24: Cấu trúc của một nhóm gồm 320 cảnh của 1 tác phẩm điêu khắc con
rắn hổ mang
Hình 25: Mã vùng so với bản đồ đơn vị địa tầng của một khu vực nghiên cứu

9


DANH SÁCH CÁC CỤM TỪ VIẾT TẮT

STT

Viết tắt

Cụm từ tiếng Anh

Cụm từ tiếng Việt

1

CNTT

Information Technology

Công nghệ thông tin


2

CSDL

Database

Cơ sở dữ liệu

3

KDD

Knowledge Discovery in

Khám phá tri thức trong

Database

cơ sở dữ liệu

4

KPDL

Data mining

Khai phá dữ liệu

5


PCDL

Data Clustering

Phân cụm dữ liệu

6

MTĐT

Electronic Computer

Máy tính điện tử

10


CHƯƠNG 1
TỔNG QUAN VỀ KHÁM PHÁ TRI THỨC VÀ
KHAI PHÁ DỮ LIỆU
1.1 Giới thiệu chung
Cách mạng khoa học kỹ thuật tạo ra bước nhảy vọt trong tất cả các lĩnh
vực của đời sống kinh tế, xã hội, … một thành công không thể không kể đến
của cuộc cách mạng này là sự bùng nổ thông tin, khiến cho khối lượng thông
tin mà con người thu thập và lưu trữ ngày một khổng lồ, kích thước của
CSDL tăng một cách nhanh chóng. Trong những CSDL đó tiềm ẩn nhiều tri
thức mà con người chưa khám phá ra được. Đứng trước núi dữ liệu khổng lồ
thu thập được, việc khám phá tri thức và thông tin trở nên rất khó khăn. Chính
vì lý do đó nhu cầu tìm kiếm tri thức trong khối CSDL đã nảy sinh, nhu cầu

này ngày một cấp thiết và dẫn tới sự hình thành của một lĩnh vực mới – lĩnh
vực khai phá dữ liệu (Data mining) hay khám phá tri thức trong CSDL.
Khám phá tri thức trong CSDL có thể được coi như quá trình tìm tri
thức có ích, cần thiết, tiềm ẩn và chưa được biết trước trong CSDL lớn.
Tuy mới ra đời nhưng khám phá tri thức và khai phá dữ liệu đã và đang
được nghiên cứu, ứng dụng trong nhiều lĩnh vực khác nhau ở các nước trên
thế giới, tại Việt Nam kỹ thuật này tương đối còn mới mẻ tuy nhiên cũng
đang được nghiên cứu và dần đưa vào ứng dụng trong những năm gần đây.
Những vấn đề được quan tâm là phân lớp nhận dạng mẫu, luật kết hợp, phân
cụm dữ liệu, phần tử dị biệt, …

11


1.2 Khám phá tri thức và quá trình khám phá tri thức
1.2.1 Khám phá tri thức
Khám phá hay phát hiện tri thức trong CSDL là một quy trình nhận biết
các mẫu hoặc các mô hình trong dữ liệu với các tính năng: Phân tích, tổng
hợp, hợp thức, khả ích, và có thể hiểu được. Còn khai phá dữ liệu là một bước
trong quy trình khám phá tri thức gồm có các thuật toán khai thác dữ liệu
chuyên dùng dưới một số quy định về hiệu quả tính toán chấp nhận được để
tìm ra các mẫu hoặc các mô hình trong dữ liệu. Nói một cách khác, mục đích
của phát hiện tri thức và khai phá dữ liệu chính là tìm ra các và/hoặc các mô
hình đang tồn tại trong các CSDL nhưng vẫn còn bị che khuất bởi hàng núi dữ
liệu.
1.2.2 Quá trình khám phá tri thức
Việc khám phá tri thức thông thường có thể mô tả bằng sơ đồ các quy trình
sau:

Hình 1: Quá trình khám phá tri thức


12


Trong đó, mỗi bước là một quy trình có vai trò riêng và nhiệm vụ khác
nhau, bao gồm:
Bước thứ nhất: Tìm hiểu lĩnh vực ứng dụng và hình thành bài toán,
bước này sẽ quyết định cho việc rút ra được các tri thức hữu ích và cho phép
chọn các phương pháp khai phá dữ liệu thích hợp với mục đích ứng dụng và
bản chất của dữ liệu.
Bước thứ hai: Thu thập và xử lý dữ liệu thô, còn được gọi là tiền xử lý
dữ liệu nhằm loại bỏ nhiễu, xử lý việc thiếu dữ liệu, biến đổi dữ liệu và rút
gọn dữ liệu nếu cần thiết, bước này chiếm khá nhiều thời gian trong toàn bộ
quy trình khám phá tri thức.
Bước thứ ba: Khai phá dữ liệu, hay nói cách khác là trích ra các mẫu
hoặc/và các mô hình ẩn dưới các dữ liệu.
Bước thứ tư: Hiểu tri thức đã tìm được, đặc biệt là làm sáng tỏ các mô
tả và dự đoán. Các bước trên có thể lặp đi lặp lại một số lần, kết quả thu được
có thể được lấy trung bình trên tất cả các lần thực hiện.
Bước thứ năm: Sử dụng tri thức đã được khai phá vào thực tế. Các tri
thức phát hiện được tích hợp chặt chẽ trong hệ thống. Tuy nhiên để sử dụng
được các tri thức đó đôi khi cần đến các chuyên gia trong các lĩnh vực quan
tâm vì tri thức rút ra có thể chỉ mang tính chất hỗ trợ quyết định hoặc cũng có
thể được sử dụng cho một quá trình khám phá tri thức khác.
Mặc dù được tóm tắt thành năm bước nhưng thực chất quá trình xây
dựng và thực hiện việc khám phá tri thức không chỉ tuân theo các bước cố
định mà các quá trình này còn có thể được lặp đi lặp lại ở một hoặc một số
giai đoạn trước và cứ tiếp tục như thế sẽ làm cho quá trình khai phá và tìm
kiếm dữ liệu ngày càng hoàn thiện hơn.


13


1.3 Khai phá dữ liệu
1.3.1 Khai phá dữ liệu
Khai phá dữ liệu là một giai đoạn quan trọng trong quá trình khám phá
tri thức. Về bản chất nó là giai đoạn duy nhất tìm ra được thông tin mới. Việc
khai phá dữ liệu còn được coi như là việc khai phá tri thức từ dữ liệu, trích lọc
tri thức, phân tích dữ liệu – mẫu, đào xới, nạo vét dữ liệu.
Khai phá dữ liệu (Data Mining) được định nghĩa là quá trình trích lọc
các thông tin có giá trị ẩn trong lượng lớn dữ liệu được lưu trữ trong các
CSDL hoặc các kho dữ liệu … Khai phá dữ liệu cũng còn được gọi là một
quá trình tìm kiếm, khám phá ở nhiều góc độ để tìm ra các mối tương quan,
các mối liên hệ dưới nhiều góc độ khác nhau nhằm tìm ra các mẫu hay các mô
hình tồn tại bên trong cơ sở dữ liệu đang bị che khuất. Để trích rút các mẫu,
mô hình tiềm ẩn có tính “tri thức” ta phải tìm và áp dụng các phương pháp, kỹ
thuật khai phá sao cho các kỹ thuật và phương pháp này phải phù hợp với tính
chất, đặc trưng của dữ liệu và mục đích sử dụng. Tuy khai phá dữ liệu chỉ là
một bước trong quá trình khám phá tri thức nhưng nó lại là bước tiên quyết,
quan trọng và ảnh hưởng đến toàn bộ quá trình.
Tóm lại, khai phá dữ liệu là một quá trình tìm kiếm thông tin “tri thức”
tiểm ẩn trong cơ sở dữ liệu lớn, khổng lồ. Vì thế, có thể nói rằng hai thuật ngữ
khám phá tri thức và khai phá dữ liệu là tương đương nếu nói ở khía cạnh
tổng quan, còn nếu xét ở góc độ chi tiết thì khai phá dữ liệu là một giai đoạn
có vai trò quan trọng trong quá trình khám phá tri thức.
1.3.2 Mục tiêu của khai phá dữ liệu
Qua những nội dung đã trình bày ở trên, ta có thể hiểu một cách sơ lược
rằng khai phá dữ liệu là quá trình tìm kiếm thông tin hữu ích, tiềm ẩn và mang
tính dự báo trong các cơ sở dữ liệu lớn. Việc khai phá dữ liệu nhằm các mục
đích chính như sau:

14


- Khai thác những thông tin tiềm ẩn mang tính chất dự đoán từ những cơ
sở dữ liệu lớn dựa trên các công cụ khai phá dữ liệu nhằm dự đoán
những xu hướng trong tương lai nhằm giúp các đối tượng cần khai phá
tri thức như: Các tổ chức, doanh nghiệp, nhà nghiên cứu, … để hỗ trợ
việc đưa ra những quyết định kịp thời, được định hướng trên những tri
thức được khám phá mang lại.
- Thực hiện phân tích xử lý, tính toán dữ liệu một cách tự động cho mỗi
quá trình xử lý dữ liệu để tìm ra tri thức.
1.3.3 Quá trình khai phá dữ liệu
KPDL là một giai đoạn quan trọng trong quá trình KPTT. Về bản chất,
nó là giai đoạn duy nhất tìm ra được thông tin mới, thông tin tiềm ẩn có trong
CSDL chủ yếu phục vụ cho mô tả và dự đoán. Dự đoán là thực hiện việc suy
luận trên dữ liệu để đưa ra các dự báo nhằm phân tích tập dữ liệu huấn luyện
và tạo ra một mô hình cho phép dự đoán các mẫu, mô hình mới chưa biết. 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.
Quá trình KPDL bao gồm các bước:

Hình 2: Quá trình khai phá dữ liệu
Xác định nhiệm vụ: Xác định chính xác các vấn đề cần giải quyết.
Xác định các dữ liệu liên quan: Dùng để xây dựng giải pháp.
Thu nhậ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 KPDL có thể hiểu được. Đây là một quá
15


trình rất khó khăn, có thể gặp rất nhiều các vướng mắc như: Dữ liệu

phải được sao cho 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 KPDL và thực hiện
việc KPDL để 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.3.4 Các hướng tiếp cận cơ bản và kỹ thuật áp dụng trong khai phá
dữ liệu
Vấn đề khai phá dữ liệu có thể được phân chia theo lớp các hướng tiếp
cận chính sau:
1.3.4.1

Phân lớp và dự đoán

Hướng tiếp cận này làm 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. Kỹ thuật này gồm có: Phân lớp, hồi quy, … Là quá
trình xếp một đối tượng vào một trong những lớp đã biết trước (ví dụ: phân
lớp các bệnh nhân theo dữ liệu hồ sơ bệnh án, phân lớp vùng địa lý theo dữ
liệu thời tiết …). Đối với hướng tiếp cận này thường sử dụng một số kỹ thuật
của máy như cây quyết định, mạng nơron nhân tạo, …
1.3.4.2

Phân cụm dữ liệu

Mục tiêu của phương pháp phân cụm dữ liệu là quá trình nhóm các
điểm dữ liệu trong cơ sở dữ liệu thành các cụm sao cho những điểm dữ liệu
trong cùng một cụm có độ tương đồng lớn và những điểm không cùng một
cụm có sự tương đồng là rất nhỏ. Điểm mạnh của phân cụm dữ liệu là đưa ra
được những cấu trúc có ích hoặc những cụm có đối tượng tìm thấy trực tiếp từ

dữ liệu mà không cần bất kì một tri thức cơ sở nào. Giống như cách tiếp cận
học máy, phân cụm dữ liệu được hiểu như là phương pháp “học không có
16


thầy”. 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ụ. Trong phương pháp này sẽ không biết kết quả các cụm thu được sẽ như
thế nào khi bắt đầu quá trình. Vì vậy, cần có một chuyên gia để đánh giá các
cụm thu được. Phân cụm dữ liệu được sử dụng nhiều trong các ứng dụng về
phân đoạn thị trường, phân đoạn khách hàng, nhận dạng mẫu, phân loại trang
Web … 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.
1.3.4.3

Phân lớp dữ liệu và hồi quy

Mục tiêu của phương pháp phân lớp là dự đoán nhãn lớp cho các mẫu
dữ liệu. Quá trình phân lớp dữ liệu thường gồm 2 bước: Xây dựng mô hình và
sử dụng mô hình:
 Bước 1: Một mô hình sẽ được xây dựng dựa trên việc phân tích các
mẫu dữ liệu sẵn có. Mỗi mẫu tương ứng với một lớp, được quyết định
bởi một thuộc tính gọi là thuộc tính lớp. Các mẫu dữ liệu này còn được
gọi là tập dữ liệu huấn luyện. Các nhãn lớp của tập dữ liệu huấn luyện
đều phải được xác định trước khi xây dựng mô hình, vì vậy phương
pháp này còn được gọi là học có thầy, khác với phân cụm dữ liệu là học
không có thầy.
 Bước 2: Sử dụng mô hình để phân lớp dữ liệu. Trước hết phải tính độ
chính xác của mô hình. Nếu độ chính xác là chấp nhận được, mô hình

sẽ được sử dụng để dự đoán nhãn lớp cho các mẫu dữ liệu khác trong
tương lai. Phương pháp hồi quy khác với phân lớp dữ liệu ở chỗ, hồi
quy dùng để dự đoán về các giá trị liên tục còn phân lớp dữ liệu thì chỉ
dùng để dự đoán về các giá trị rời rạc.

17


1.3.5

Thách thức – khó khăn trong khám phá tri thức và khai phá dữ liệu
KPTT và KPDL liên quan đến nhiều ngành, nhiều lĩnh vực trong thực

tế, vì vậy các thách thức và khó khăn ngày càng nhiều, càng lớn. Một số các
thách thức và khó khăn cần được quan tâm:
Các cơ sở dữ liệu lớn, các tập dữ liệu cần xử lý có kích thước rất lớn,
trong thực tế, kích thước của các tập dữ liệu thường ở mức tera - byte (hàng
ngàn giga – byte) .
- Mức độ nhiễu cao hoặc dữ liệu bị thiếu.
- Số chiều lớn.
- Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện không
còn phù hợp.
- Quan hệ giữa các trường phức tạp.
1.3.6

Ứng dụng của khai phá dữ liệu
Marketing: Xác định các nhóm khách hàng (khách hàng tiềm năng,

khách hàng giá trị, phân loại và dự đoán hành vi khách hàng, …) sử dụng sản
phẩm hay dịch vụ của công ty để giúp công ty có chiến lược kinh doanh hiệu

quả hơn.
Biology: Phân nhóm động vật và thực vật dựa vào các thuộc tính của
chúng.
Libraries: Theo dõi độc giả, sách, dự đoán nhu cầu của độc giả …
Insurance, Finance: Phân nhóm các đối tượng sử dụng bảo hiểm và các
dịch vụ tài chính, dự đoán xu hướng (trend) của khách hàng, phát hiện gian
lận tài chính (identifying frauds).
WWW: Phân loại tài liệu (document classification), phân loại người
dùng web (clustering weblog), …
18


1.3.7

Kết luận
Khai phá dữ liệu đã và đang trở thành một trong những hướng nghiên

cứu thu hút được sự quan tâm của nhiều chuyên gia về CNTT trên thế giới và
được ứng dụng trong nhiều lĩnh vực khác nhau. Tại Việt Nam kỹ thuật này
còn tương đối mới mẻ tuy nhiên cũng đang được nghiên cứu và dần đưa vào
ứng dụng. Trong những năm gần đây, rất nhiều các phương pháp và thuật
toán mới liên tục được công bố. Điều này chứng tỏ những ưu thế, lợi ích và
khả năng ứng dụng thực tế to lớn của khai phá dữ liệu. Trong chương này đã
trình bày một cách tổng quan về khám phá tri thức và khai phá dữ liệu.

19


CHƯƠNG 2
PHÂN CỤM DỮ LIỆU VÀ CÁC

THUẬT TOÁN PHÂN CỤM DỮ LIỆU
2.1 Khái niệm về phân cụm dữ liệu
Phân cụm dữ liệu là một kỹ thuật phát triển mạnh mẽ trong nhiều năm
trở lại đây do các ứng dụng và lợi ích to lớn của nó đối với các lĩnh vực trong
thực tế. Ở một mức cơ bản nhất, người ta định nghĩa phân cụm dữ liệu như
sau:
Phân cụm dữ liệu là một kỹ thuật trong 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.
Một cụm các đối tượng dữ liệu có thể xem như một nhóm trong nhiều
ứng dụng, ví dụ: mô hình về phân cụm các trường dựa trên tiêu chuẩn về thu
nhập và số nợ. Cụm 1 là cụm những người thu nhập cao, số nợ nhiều, cụm 2
gồm những người thu nhập cao nhưng nợ ít. Cụm 3 gồm những đối tượng thu
nhập ít những nợ nhiều.

Hình 3: Mô hình về phân cụm dựa trên tiêu chuẩn thu nhập và số nợ
20


Quá trình phân cụm là quá trình tìm ra các đối tượng trong cơ sở dữ
liệu một cách tự động. Không giống như phân lớp, phân cụm không cần
những thông tin được xác định trước. Nói cách khác, phân cụm là phương
pháp học từ quan sát hay còn gọi là học không thầy trong trí tuệ nhân tạo.
Phân cụm đặc biệt hiệu quả khi không biết về thông tin các cụm, hoặc khi ta
quan tâm tới các thuộc tính của cụm mà chưa biết hoặc biết ít về các thông tin
đó.
Bài toán phân cụm là quá trình nhóm một cơ sở dữ liệu thành những
nhóm đối tượng dữ liệu phục vụ cho mục đích cụ thể của từng ứng dụng thức
tế. Không có một thuật toán phân cụm nào là tốt nhất và thích hợp cho tất cả
mọi ứng dụng mà với mỗi ứng dụng khác nhau người thì người ta phải lựa

chọn ra một thuật toán phân cụm cụ thể thích ứng với ứng dụng đó. Kết quả
đánh giá cho từng thuật toán cũng phụ thuộc vào những yêu cầu của từng ứng
dụng.
2.2 Các ứng dụng của phân cụm
Phân cụm dữ liệu đã và đang được nghiên cứu, ứng dụng trong nhiều
lĩnh vực khác nhau ở các nước trên thế giới, tại Việt Nam kỹ thuật này tương
đối còn mới mẻ tuy nhiên cũng đang được nghiên cứu và dần đưa vào ứng
dụng tại nhiều lĩnh vực như:
- Quy hoạch đô thị: Nhận dạng các nhóm nhà theo kiểu và vị trí địa lý …
nhằm cung cấp thông tin cho quy hoạch đô thị.
- Nghiên cứu trái đất: Phân cụm để theo dõi các tâm động đất nhằm cung
cấp thông tin cho nhận dạng các vùng nguy hiểm.
- Thương mại: Tìm kiếm nhóm các khách hàng quan trọng có đặc trưng
tương đồng và những đặc tả họ từ các bản ghi mua bán trong CSDL
mua hàng.
- Sinh học: Phân loại các gen với các chức năng tương đồng và thu được
các cấu trúc trong mẫu.
21


- Thư viện: Theo dõi độc giả, sách, dự đoán nhu cầu của độc giả, …
- Bảo hiểm: Phân nhóm các đối tượng sử dụng bảo hiểm và các dịch vụ
tài chính, dự đoán xu hướng của khách hàng, phát hiện gian lận tài
chính.
- WWW: Phân loại tài liệu, phân loại người dùng web.
2.3 Các yêu cầu về thuật toán phân cụm dữ liệu
Phân cụm dữ liệu là một thách thức trong lĩnh vực nghiên cứu vì những
ứng dụng tiềm năng của chúng được đưa ra ngay chính trong những yêu cầu
đặc biệt của phân cụm dữ liệu. Do đặc thù của CSDL là lớn, phức tạp, và có
dữ liệu nhiễu nên những thuật toán phân cụm được áp dụng phải thỏa mãn

những yêu cầu sau:
- Thuật toán phải hiệu quả và thời gian chạy phải là tăng tuyến tính theo
kích thước của dữ liệu.
- Thuật toán phải xử lý và áp dụng được với cơ sở dữ liệu nhiều nhiễu,
phức tạp gồm cả dữ liệu không gian, phi không gian, dữ liệu số, phi số,
kiểu nhị phân, dữ liệu định danh, hạng mục, thích nghi với kiểu dữ liệu
hỗn hợp.
- Thuật toán phải có khả năng xác định được những cụm với hình dáng
bất kỳ bao gồm cả những cụm có hình dạng lồng nhau, cụm có hình
dạng lõm, hình cầu, hình que, …
- Tối thiểu lượng tri thức cần cho xác định các tham số đầu vào. Do các
giá trị đầu vào thường ảnh hưởng rất lớn đến thuật toán phân cụm và rất
phức tạp để xác định các giá trị vào thích hợp đối với CSDL lớn.
- Thuật toán phải thực hiện với mọi thứ tự đầu vào dữ liệu. Nói cách
khác kết quả của thuật toán nên độc lập với dữ liệu đầu vào (Cùng một
tập dữ liệu, khi đưa vào xử lý cho thuật toán PCDL với các thứ tự của
các đối tượng dữ liệu ở các lần thực hiện khác nhau thì không ảnh
hưởng lớn đến kết quả phân cụm).
22


- Thuật toán không đòi hỏi những tri thức về cơ sở dữ liệu từ người
dùng.
- Thuật toán phải làm việc được với cơ sở dữ liệu đa chiều: Thuật toán
có khả năng áp dụng hiệu quả cho dữ liệu có số chiều khác nhau.
- Thuật toán phải dễ hiểu, dễ cài đặt và khả thi: Người sử dụng có thể
chờ đợi những kết quả phân cụm dễ hiểu, dễ lý giải và dễ sử dụng.
Nghĩa là, sự phân cụm có thể cần được giải thích ý nghĩa và ứng dụng
rõ ràng. Việc nghiên cứu cách để một ứng dụng đạt mục tiêu rất quan
trọng có thể gây ảnh hưởng tới sự lựa chọn các phương pháp phân cụm.

2.4 Các kiểu dữ liệu trong phân cụm
Trong phân cụm, 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à thuộc tính (khái niệm “các kiểu dữ liệu” và “các
kiểu thuộc tính dữ liệu” được xem là tương đương với nhau). Các thuộc tính
này là các tham số để giải quyết vấn đề phân cụm và sự lựa chọn chúng có tác
động đáng kể đến kết quả phân cụm. 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
phương tiện thuận lợi để nhận dạng sự khác nhau của các phần tử dữ liệu. Có
hai đặc trưng để phân loại: kích thước miền và hệ đo.
Cho một CSDL D chứa n đối tượng trong không gian k chiều: x, y, z là
các đối tượng thuộc D:
x = (x1, x2, … , xk); y = (y1, y2, … , yk); z = (z1, z2, … , zk)
Trong đó xi, yi, zi với i = 1, …, k là các đặc trưng hoặc thuộc tính tương
ứng các đối tượng x, y, z; như vậy sẽ có các kiểu dữ liệu sau:
2.4.1 Kiểu dữ liệu dựa trên kích thước miền
Thuộc tính liên tục: Nếu miền giá trị của nó 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 nhau (ví dụ, các thuộc tính
mầu, nhiệt độ hoặc cường độ âm thanh, …)
23


Thuộc tính rời rạc: Nếu miền giá trị của nó là tập hữu hạn, đếm được
(ví dụ: các thuộc tính số, …) trường hợp đặc biệt của thuộc tình rời rạc là
thuộc tính nhị phân mà miền giá trị chỉ có hai phân tử (ví dụ: Yes/No,
True/False, On/Off …)
2.4.2 Kiểu dữ liệu dựa trên hệ đo
Thuộc tính định danh: Là dạng thuộc tính khái quát hóa của thuộc tính
nhị phân, trong đó có miền giá trị là rời rạc không phân biệt thứ tự và có
nhiều hơn hai phân tử. Nếu x, y là hai đối tượng thuộc tính thì chỉ có thể xác
định là x # y hoặc x = y.

Thuộc tính có thứ tự: Là thuộc tính định danh nhưng có thêm thứ tự
nhưng chúng không được định lượng. Nếu x, y là hai thuộc tính thứ tự thì có
thể xác định là x # y hoặc x < y hoặc x > y.
Thuộc tính khoảng: Để đo các giá trị theo xấp xỉ tuyến tính, với thuộc
tính khoảng có thể xác định một thuộc tính là đứ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 tương ứng với thuộc tính
thứ i.
Thuộc tính nhị phân: Là thuộc tính có hai giá trị 0 và 1.
Thuộc tính tính tỷ lệ: 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.
Trong các thuộc tính trình bày ở trên, thuộc tính định danh và thuộc
tính có thứ tự gọi là thuộc tính hạng mục, còn thuộc tính khoảng cách và
thuộc tính tỷ lệ được gọi là thuộc tính số.
Đặc biệt, còn có dữ liệu không gian là loại dữ liệu có thuộc tính số khái
quát trong không gian nhiều chiều, dữ liệu không gian mô tả các thông tin liên
quan đến không gian chứa đựng các đối tượng (ví dụ: thông tin về hình học,
24


quan hệ metric, quan hệ hướng, …) Dữ liệu không gian có thể là liên tục hoặc
rời rạc.
- Dữ liệu không gian liên tục: Bao chứa một vùng không gian.
- Dữ liệu không gian rời rạc: Có thể là một điểm trong không gian nhiều
chiều và cho phép xác định khoảng cách giữa các đối tượng dữ liệu
trong không gian.
2.5 Phép đo độ tương tự, phi tương tự
Khi các đặc tính của dữ liệu được xác định, người ta tìm cách thích hợp
để xác định “khoảng cách” giữa các đối tượng. Đây là các hàm để đo sự giống
nhau giữa các cặp đối tượng dữ liệu, thông thường các hàm này hoặc là để
tính độ “tương tự” hoặc tính độ “phi tương tự” giữa các đối tượng dữ liệu. Giá

trị của hàm tính độ đo tượng tự càng lớn thì sự giống nhau giữa các đối tượng
càng lớn và ngược lại. Ứng với mỗi kiểu dữ liệu thì có một hàm tính độ đo
tương tự để xác định khoảng cách giữa 2 phân tử của cùng một kiểu dữ liệu.
Tất cả các độ đo đều được xác định trong không gian metric. Bất kì một
metric nào cũng là một độ đo nhưng ngược lại thì không đúng. Độ đo ở đây
có thể là tương tự hoặc phi tương tự.
Một tập dữ liệu X là không gian metric nếu:
Với mỗi cặp x, y thuộc X đều xác định được một số thực d(x, y) theo
một quy tắc nào đó và được gọi là khoảng cách của x, y.
Quy tắc đó phải thỏa mãn các tính chất sau:
1. d(x, y) > 0 nếu x # y
2. d(x, y) = 0 nếu x = y
3. d(x, y) = d(y, x) với mọi x, y
4. d(x, y) ≤ d(x, z) + d(x, y)

25


×