Tải bản đầy đủ (.doc) (28 trang)

Tóm tắt luận văn thạc sĩ kỹ thuật NGHIÊN cứu, tìm HIỂU một số THUẬT TOÁN cơ bản về PHÂN NHÓM dữ LIỆU TRÊN cơ sở dữ LIỆU KHÔNG GIAN

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 (947.4 KB, 28 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP

KHỔNG MINH TỰ
NGHIÊN CỨU, TÌM HIỂU MỘT SỐ
THUẬT TOÁN CƠ BẢN VỀ PHÂN NHÓM DỮ LIỆU TRÊN CƠ SỞ DỮ
LIỆU KHÔNG GIAN
Chuyên ngành: KỸ THUẬT ĐIỆN TỬ
Mã số: 60. 52. 02. 03

TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT
THÁI NGUYÊN - 2014

Luận văn được hoàn thành tại:
Trường Đại học Kỹ thuật Công nghiệp - Đại học Thái Nguyên
Người hướng dẫn khoa học: PGS. TS Lương Chi Mai

Phản biện 1: PGS.TS Đỗ Xuân Tiến
Học viện Quân sự
Phản biện 2: PGS.TS Nguyễn Hữu Công
Đại học Thái Nguyên
Luận văn được bảo vệ tại hội đồng chấm luận văn họp tại:
Trường Đại học Kỹ thuật Công nghiệp - Đại học Thái Nguyên
Vào ngày 18 tháng 04 năm 2014
1
MỞ ĐẦU
Trong vài thập kỷ gần đây, công nghệ thông tin có nhiều bước phát triển
nhanh chóng và đã được ứng dụng rộng rãi trong mọi lĩnh vực, ngành nghề xã
hội, đặc biệt là lĩnh vực quản lý – một lĩnh vực mà yếu tố công nghệ xử lý thông
tin có tính chất quyết định. Từ đó, theo quá trình hoạt động của các hệ thống
quản lý dẫn đến sự bùng nổ thông tin, kích thước của các kho dữ liệu có kích


thước tăng nhanh chóng theo từng năm, từng thời kỳ, làm cho những nhà (lãnh
đạo) quản lý rơi vào tình trạng “ngập lụt thông tin”. Kích thước dữ liệu tăng quá
nhanh dẫn tới các phương pháp phân tích dữ liệu truyền thống không còn có thể
đáp ứng được nữa.
Sự ra đời của lĩnh vực khai phá dữ liệu đã mở ra nhiều hướng nghiên cứu
mới thu hút sự quan tâm chú ý của nhiều nhà nghiên cứu thuộc nhiều lĩnh vực
khác nhau. Đồng thời, dựa trên các kỹ thuật đưa ra trong lĩnh vực này rất nhiều
các ứng dụng đã được xây dựng tạo ra được nhiều hệ thống trợ giúp đắc lực cho
cuộc sống con người.
1. Tính cấp thiết của đề tài
Dữ liệu không gian?
Với lý do, ngoài nhu cầu lưu trữ và xử lý các kiểu dữ liệu thông thường như kiểu
chuỗi, kiểu số, kiểu ngày tháng, … người sử dụng còn có thêm nhu cầu lưu trữ và xử lý dữ
liệu không gian để lưu trữ các đối tượng như Point, Line, Polugon, …
Dữ liệu không gian trong lĩnh vực điện tử, truyền thông?
Trong hoạt động quản lý của các nhà cung cấp dịch vụ viễn thông, kích thước kho dữ
liệu lưu trữ về các cuộc thoại di động tăng nhanh đáng kể.
Khai phá dữ liệu không gian
Để có thể trích rút các tri thức có ích như trình bày ở trên là một vấn đề quan trọng
được nhiều nhà lãnh đạo quản lý quan tâm.
Chính vì lý do đó mà em chọn đề tài “Nghiên cứu, tìm hiểu một số thuật toán cơ bản về
phân nhóm dữ liệu trên Cơ sở dữ liệu không gian” làm hướng nghiên cứu chính cho luận văn
của mình.
2. Mục tiêu đề tài
Mục tiêu trọng tâm của đề tài là:
- Nghiên cứu một số thuật toán phân nhóm dữ liệu trên cơ sở dữ liệu không gian.
- Cài đặt thử nghiệm trên một số mẫu dữ liệu không gian.
- Đưa ra bảng so sánh giữa các thuật toán.
1
- Tìm cách xây dựng các tham số cho các thuật toán.

3. Đối tượng và phạm vi nghiên cứu
- Các kỹ thuật thu thập và lưu trữ dữ liệu;
- Các phương pháp phân nhóm dữ liệu;
- Tập trung nghiên cứu một số thuật toán phân nhóm cơ bản dựa vào mật độ phân bố
của các đối tượng dữ liệu không gian.
4. Ý nghĩa khoa học và thực tiễn của đề tài
a. Ý nghĩa khoa học
Vào cuối thập kỷ 90, kỹ thuật khám phá tri thức trong cơ sở dữ liệu (Knowledge
Discovery in Database -KDD) được đưa ra nhằm tìm kiếm các thông tin, tri thức cần thiết, có
giá trị tiềm ẩn trong một khối dữ liệu lớn và phức tạp như dữ liệu không gian, dữ liệu đa
phương tiện, …
b. Ý nghĩa thực tiễn
Kết quả nghiên cứu là tìm hiểu và đưa ra một số thuật toán phân nhóm có hiệu quả
trên dữ liệu không gian, đặc biệt trong trường hợp dữ liệu lớn, bị nhiễu, đa chiều. Kết quả so
sánh giữa các thuật toán cho thấy tính hiệu quả của mỗi thuật toán trên những đối tượng dữ
liệu khác nhau.
5. Phương pháp nghiên cứu
Phương pháp tài liệu: Nghiên cứu các tài liệu (sách, báo, tạp chí khoa học, Internet,
…) liên quan đến kỹ thuật phân nhóm dữ liệu trên CSDL không gian.
Phương pháp thực nghiệm: Cài đặt thử nghiệm trên một số mẫu dữ liệu, từ đó đưa ra
đánh giá về tính hiệu quả của các thuật toán đó.
6. Bố cục của luận văn
Ngoài các phần Mở đầu, Mục lục, Danh mục hình, Kết luận, Tài liệu tham khảo. Nội
dung chính của luận văn được trình bày trong 04 chương như sau:
Chương 1: Tổng quan về khai phá tri thức trong cơ sở dữ liệu không gian.
Chương 2: Các cách tiếp cận của kỹ thuật phân nhóm.
Chương 3: Các giải thuật phân nhóm trên cơ sở dữ liệu không gian lớn.
Chương 4: Xác định tham số, cài đặt thử nghiệm và đánh giá kết quả.
2
Chương 1. TỔNG QUAN VỀ KHAI PHÁ TRI THỨC VÀ CƠ SỞ

DỮ LIỆU KHÔNG GIAN
1.1. Khai phá tri thức trong cơ sở dữ liệu (Knowledge Discovery in Databases - KDD)
1.1.1. Sự ra đời của khai phá tri thức trong cơ sở dữ liệu
Trong những năm 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 nói chung và trong các ngành công nghệ phần cứng, phần mềm, truyền thông
và hệ thống các dữ liệu phục vụ trong các lĩnh vực kinh tế xã hội nói riêng đã làm cho khả năng
thu thập và lưu trữ thông tin của các hệ thống thông tin tăng nhanh một cách chóng mặt.
1.1.2. Khái niệm khai phá dữ liệu
Khai phá dữ liệu (Data Mining) là một khái niệm ra đời vào những năm
cuối của thập kỷ 1980. Nó là quá trình trích xuất các thông tin có giá trị tiềm
ẩn bên trong lượng lớn dữ liệu được lưu trữ trong các CSDL, kho dữ liệu….
1.1.3. Quá trình khai phá tri thức trong cơ sở dữ liệu
Quá trình khai phá tri thức trong cơ sở dữ liệu bao gồm các giai đoạn sau:
1. Trước tiên cần xác định và hiểu rõ được lĩnh vực ứng dụng và nhiệm
vụ đặt ra là xác định các tri thức đã có và mục đích của người sử dụng.
2. Tạo lập được một tập dữ liệu đích: Chọn lựa từ cơ sở dữ liệu một tập
con dữ liệu với các giá trị biến và các mẫu được quan tâm mà trên đó ta có
thể thực hiện việc tìm kiếm, phát hiện tri thức.
3. Làm sạch và tiền xử lý dữ liệu: Thực hiện các thao tác cơ bản như loại bỏ nhiễu
hoặc loại bỏ các phần không cần thiết, bổ sung thêm các thông tin cần thiết
4. Thực hiện các phương pháp chuyển đổi để làm giảm bớt số chiều của dữ liệu để
tập trung vào những thuộc tính chủ chốt đối với việc phát hiện tri thức.
5. Khai phá dữ liệu: Quá trình áp dụng các giải thuật về tìm kiếm tri
thức để đưa ra được những thông tin cần thiết và tiềm ẩn trong tập dữ liệu.
6. Đánh giá, giải thích, thử lại các mẫu đã được khai phá, có thể lặp lại
một hoặc nhiều bước kể trên để thu được các kết quả tốt hơn.
7. Sử dụng các tri thức phát hiện được: Hợp nhất các tri thức thu được vào một hệ
thống làm việc, hoặc đưa ra các tài liệu về tri thức thu được từ dữ liệu về một vấn đề
quan tâm.
Hình 1.1: Các bước trong quá trình khám phá tri thức KDD

1.1.4. Các nhiệm vụ của khai phá dữ liệu
3
Nhìn chung, mục đích chính của khai phá dữ liệu là dự đoán (prediction) và mô tả
(description).
1.2. Phân nhóm (Clustering) và các cách tiếp cận chính
1.2.1. Phân nhóm và các ứng dụng
a. Khái niệm
Phân nhóm (clustering) là quá trình nhóm một tập các đối tượng vật lý hoặc trừu
tượng thành các nhóm hay các lớp đối tượng tương tự nhau. Một lớp (cluster) là một tập các
đối tượng dữ liệu trong đó các đối tượng trong cùng một lớp có sự tương tự hoặc giống
nhau và ít tương tự hoặc khác nhau so với các đối tượng thuộc lớp khác.
Hình 1.2: Biểu đồ Hertzsprung-Russell
b. Các ứng dụng của phân nhóm
Đây là một hoạt động quan trọng của con người. Khi còn bé, con người học cách
phân biệt giữa các đồ vật, giữa động vật và thực vật bằng cách liên tục thay đổi nhận thức
trong quan niệm phân chia các đối tượng dựa vào mối tương quan giữa chúng.
1.2.2. Các cách tiếp cận chính
Có rất nhiều các thuật toán phân nhóm khác nhau, việc chọn lựa một thuật toán thích
hợp phụ thuộc vào kiểu dữ liệu cần thực hiện cũng như là mục đích của ứng dụng.
a. Phương pháp phân hoạch (Partioning methods)
Ý tưởng chính của kỹ thuật này phương pháp phân hoạch là xác định số nhóm (lớp)
trước và xác định luôn tính chất của từng lớp.
b.Phương pháp phân cấp (Hierarchical methods)
Phương pháp phân cấp thực hiện bằng cách nhóm các đối tượng dữ liệu trên cây phân
cấp. Phương pháp phân nhóm theo phân cấp được chia làm hai loại đó là phương pháp phân
nhóm theo kiểu từ dưới lên (bottom up) và phương pháp phân nhóm từ trên xuống (top down).
4
Hình 1.3: Mô tả cách phân nhóm theo phương pháp từ dưới lên và từ trên xuống
c. Phương pháp dựa vào mật độ (Density - Based Methods)
Hầu hết các phương pháp phân nhóm theo phân hoạch chủ yếu dựa vào khoảng cách

các đối tượng.
d. Phương pháp dựa vào mô hình (Model -based methods)
Phương pháp chia lớp dựa vào mô hình thực hiện bằng cách đề xuất ra một mô hình cho
mỗi lớp và tìm các dữ liệu phù hợp cho mỗi mô hình đó.
1.3. Hệ quản trị cơ sở dữ liệu không gian
1.3.1. Cơ sở dữ liệu không gian
Dữ liệu không gian là dạng dữ liệu đặc biệt, mỗi điểm dữ liệu trong cơ sở dữ liệu
ngoài những giá trị biểu thị cho điểm dữ liệu đó còn những giá trị biểu diễn vị trí và toạ
độ của điểm đó.
1.3.2. Hệ quản trị cơ sở dữ liệu không gian
 Hệ quản lý cơ sở dữ liệu không gian là một bộ các công cụ cho phép thực hiện tổ
chức, lưu trữ, sắp xếp và tìm kiếm dữ liệu trong cơ sở dữ liệu không gian được nhanh chóng
và hiệu quả.
Hình 1.4: Những điểm nằm trong miền tô sẫm mới được xét đến khi tìm điểm gần nhất
cho điểm x. Những điểm ngoài miền không cần xét đến
1.3.3. Phương pháp truy nhập không gian
Các phương thức truy nhập không gian (Spatial Access Method - SAM) đã được phát
triển để hỗ trợ hiệu quả cho xử lý các truy vấn trong hệ quản lý cơ sở dữ liệu không gian.
Phương pháp chia lưới (grid file).
Hình 1.5: Một cách chia lưới. Những ô mầu sẫm là những ô chứa dữ liệu và được
5
lưu trữ. Những ô màu trắng là những ô không chứa dữ liệu
a. Phương pháp R*-TREE. R*-tree tạo ra một một cây nhị phân một chiều (1-
dimensional binary-tree) cho không gian dữ liệu d chiều. Đặc biệt là R*-tree quản lý những
khối hình chữ nhật d chiều bằng một mảng một chiều gọi là khoá.
Hình 1.6: Mô phỏng một R*-tree gồm 3 mức
1.4. Kết luận
Qua chương này, chúng tôi đã trình bày tổng quan về khai phá tri thức trong cơ sở dữ
liệu không gian. Tìm hiểu một số khái niệm và các vấn đề liên quan đến khai phá tri thức
trong cơ sở dữ liệu, các tính chất và đặc trưng của cơ sở dữ liệu không gian.

Chương 2. CÁC CÁCH TIẾP CẬN CỦA KỸ THUẬT PHÂN NHÓM
2.1. Thuật toán DBSCAN
Thuật toán phân nhóm dựa trên mật độ thông dụng nhất là thuật toán DBSCAN
(Density Based Spatial Clustering of Applicatins with Noise) do Ester, P. Kriegel và J.
Sander đề xuất năm 1996. Thuật toán đi tìm các đối tượng mà có số đối tượng láng giềng
lớn hơn một ngưỡng tối thiểu.
2.1.1. Các định nghĩa và bổ đề được sử dụng trong thuật toán DBSCAN
Định nghĩa 1: Các lân cận của một điểm P với ngưỡng Eps, ký hiệu NEps(p) được xác
định như sau: NEps(p) = {q ∈ Dkhoảng cách (p, q) ≤ Eps}, D là tập dữ liệu cho trước
Hình 2.1: Lân cận của P với ngưỡng Eps
Định nghĩa 2: Mật độ - đến được trực tiếp (directly density-reachable) Một điểm P
được gọi là mật độ - đến được trực tiếp từ điểm q với ngưỡng E
ps
và MinPts trong tập đối
tượng D nếu: p ∈ NEps(q) Với NEps(q) là tập con của D || NEps(q) || ≥ MinPts Điều
kiện đối tượng nhân.
6
Hình 2.2: Mật độ - đến được trực tiếp
Định nghĩa 3: Đến được mật độ (density-reachable) (để ngắn gọn, từ các phần tiếp
sau ta gọi là đến được): Một điểm p được gọi là đến được từ một điểm q theo hai tham số
Eps và MinPts nếu tồn tại một dãy p = p
1
, p
2
, . . ., p
n
= q thoả mãn p
i+1
là có thể đến được
trực tiếp từ p

i
với i = 1, n -1.
Hình 2.3: Mật độ đến được
Định nghĩa 4: Mật độ liên thông (density-connected): Đối tượng p là mật độ liên
thông với điểm q theo hai tham số Eps với MinPts nếu như có một đối tượng o mà cả hai
đối tượng p, q điều là mật độ đến được o theo tham số Eps và MinPts.
Hình 2.4: Mật độ liên thông
Định nghĩa 5: Nhóm và nhiễu
Giả sử D là một tập các điểm dữ liệu. Một tập con C khác rỗng của D được gọi là
một lớp (cluster) theo Eps và MinPts nếu thoả mãn hai điều kiện:
1) ∀p, q ∈ D, nếu p ∈ C và q có thể đến được từ p theo Eps và MinPts thì q ∈ C.
2) ∀p, q ∈ C, p liên thông mật độ với q theo Eps và MinPts.
Mọi đối tượng không thuộc nhóm nào cả thì gọi là nhiễu
Hình 2.5: Nhóm và nhiễu
Định nghĩa 6: Dữ liệu nhiễu (noise): Giả sử C
1
, C
2
, . . , C
k
là các lớp trong tập dữ liệu D
theo tham số Eps và MinPts, điểm dữ liệu nhiễu là điểm dữ liệu không thuộc vào lớp nào trong
các lớp C
1
, C
2
, , C
k
tức là Noise = {p


D∀ i = 1 k, p ∉ C
i
}
Tiếp sau là hai bổ đề để chứng minh cho việc chia lớp của chúng ta theo cách trên là hoàn
toàn đúng đắn.
Bổ đề 1: Giả sử p là một điểm trong D và ||NEps(p)|| ≥ MinPts, tập O = {oo ∈ D} và o
có thể đến được từ p theo Eps và MinPts sẽ là một lớp theo Eps và MinPts.
7
Bổ đề 2: Giả sử C là một lớp theo hai tham số Eps và MinPts và p là một điểm thuộc
C với ||NEps(p)|| ≥ MinPts, khi đó C trùng với tập
O = { oo

D và o là mật độ - đến được từ p theo Eps và MinPts}.
2.1.2. Thuật toán DBSCAN
Để tìm ra các lớp, DBSCAN bắt đầu bằng cách xét một điểm p bất kì và tìm tất cả
những điểm có thể đến được từ p.
DBSCAN (SetOfPoints, Eps, MinPts)
Begin
// Mọi điểm trong tập điểm SetOfPoints được gán là chưa đánh dấu.
For i = 1 to SetOfPoints.size do
Point := SetOfPoints.get(i);
SetOfPoints.ChangeClId(ResultP, UnClassified);
Endfor
CurrentId := 1;
For i = 1 to SetOfPoints.size do
Point := SetOfPoints.get(i);
If Point.Cl_ID = UnClassified then
If ExpandCluster(SetOfPoints,Point, ClusterId, Eps, MinPts) then
CurrentId := NextId(CurrentId);
Endif

Endif
Endfor
End
Hình 2.6: Mô phỏng thuật toán DBSCAN
Việc đánh dấu một điểm là điểm nhiễu có thể được thay đổi khi điểm đó lại thuộc vào một
lớp được xét sau.
ExpandCluster(SetOfPoints,Point,ClusterId,Esp,MinPts):Boolean;
Seeds := SetOfPoints.RegionQuery(Point, Eps);
If Seeds.size < MinPts then
SetOfPoints.ChangeClId(Point, Noise);
RETURN False;
Else
SetOfPoints.ChangeClId(Point, ClusterId);
Seeds.delete(Point);
While (seeds <> empty) do
CurrentP := Seeds.GetFirst();
Result := SetOfPoints.RegionQuery(CurrentP, Eps);
If (Result.size >= MinPts) Then
For i := 1 to Result.size do
ResultP := Result.get(i);
If (ResultP.ClId in [UnClassifed, Noise]) then
If ResultP.ClId = UnClassifed then
Seeds.append(ResultP);
Endif
SetOfPoints.ChangeClId(ResultP, ClusterId);
Endif
Endfor
8
Endif
Seeds.Delete(CurrentP);

Endwhile
Endif
Hình 2.7: Thủ tục ExpandCluster
2.2. Thuật toán DBCLASD
Thuật toán DBCLASD (Distribution Based Clustering of LArge Spatial Databases)
thực hiện dựa trên sự phân bố đồng đều của các điểm trong một lớp. Khi đó, mỗi lớp sẽ
được đặc trưng bằng một phân bố xác suất khoảng cách của các điểm lân cận gần nhất.
Hình 2.8: Ví dụ dữ liệu tập các điểm được chia thành 2 lớp
2.2.1. Một số định nghĩa
Định nghĩa 7: (Lân cận gần nhất của 1 điểm và khoảng cách lân cận gần nhất)
Với q là điểm đang xét và S là tập các điểm. Lân cận gần nhất của q trong S, ký hiệu
NN
S
(q) là một điểm p thuộc tập S - {q} có khoảng cách đến q là nhỏ nhất.
Định nghĩa 8: (Tập các khoảng cách lân cận gần nhất của tập các điểm)
Xét S là tập các điểm và e
i
là các thành phần trong S. Tập các khoảng cách lân cận
gần nhất của S, ký hiệu là NNdistSet(S) để cho ngắn gọn gọi là tập khoảng cách, là tập các
giá trị NNdist
S
(e
i
)
Hình 2.9: Ảnh hưởng của độ rộng ô lưới đến việc xác định vùng xấp xỉ
Một ô lưới được gọi là đang sử dụng nếu ô lưới đó có chứa ít nhất một điểm trong tập
các điểm và vùng xấp xỉ của tập S chính là hợp của các ô lưới đang sử dụng.
Hình 2.10 chỉ ra sự phù hợp giữa phân bố quan sát và phân bố mong đợi.
Định nghĩa 9: (Lớp) DB là một tập các điểm. Một lớp C là một tập con không rỗng
của DB thoả mãn các điều kiện sau:

(1) NNDistSet(C) phải có sự phân bố mong đợi với một mức độ tin cậy xác định.
(2) C có tính chất cực đại (maximality), nghĩa là khi thêm các điểm lân cận vào lớp C
điều kiện (1) vẫn được thoả mãn.
(3) C có tính chất liên thông (connectivity), nghĩa là với mỗi cặp điểm (a, b) thuộc lớp
luôn tồn tại một đường đi qua các ô lưới đã sử dụng nối giữa a và b.
9
Hình 2.10: Phân bố khoảng cách mong đợi và khoảng cách quan sát của lớp 1 trong hình 2.8
2.2.2. Thuật toán DBCLASD
Dựa vào lý thuyết đã trình bày ở trên, trong phần này chúng ta sẽ tiến hành xây dựng
thuật toán phân lớp dựa vào sự phân bố khoảng cách trong cơ sở dữ liệu không gian.
DBCLASD là thuật toán tăng dần nghĩa là việc xác định một điểm thuộc lớp chỉ dựa vào
những điểm đã được xử lý mà không phải dựa vào toàn bộ lớp hoặc cả cơ sở dữ liệu.
2.3. Thuật toán DENCLUE
Hầu hết các giải thuật phân nhóm đều gặp phải vấn đề về tốc độ tính toán và độ
chính xác của kết quả. Nhiễu (noise) thường xuất hiện trong các cơ sở dữ liệu không gian đa
chiều, lớn và là nguyên nhân chính ảnh hưởng đến tốc độ tính toán và kết quả thu được. Vì
vậy, để giải quyết các vấn đề trên, giải thuật DENCLUE (DENsity based CLUstEring)
được đề xuất bởi Hinneburg và Keim năm 1998 được đưa ra.
2.3.1. Một số định nghĩa
Định nghĩa 10: Hàm ảnh hưởng và hàm mật độ
Cho x, y là hai đối tượng trong không gian d chiều ký hiệu là F
d
, hàm ảnh hưởng của
y lên x được xác định:
+

0
: RFf
dy
B

được định nghĩa trên hàm ảnh hưởng cơ sở f
B
:
),()( yxfxf
B
y
B
=

- Hàm mật độ (density function) được xác định là tổng của các hàm ảnh hưởng của
toàn bộ điểm dữ liệu. Giả sử có N đối tượng dữ liệu được thể hiện bằng một tập các vecto
D={x
1
, x
2
, , x
N
) ⊂ F
d
, hàm mật độ của một điểm x được xác định như sau:

=
=
N
i
x
B
D
B
xfxf

i
1
)()(
Định nghĩa 11: Gradient
Gradient của một hàm
)(xf
D
B
được định nghĩa là:

=
−=∇
N
i
x
Bi
D
B
xfxxxf
i
1
)().()(
Định nghĩa 12: Điểm hút mật độ (density-attractor).
- Một điểm x*∈F
d
được gọi là một điểm hút mật độ đối với một hàm ảnh hưởng nếu
như x* là cực đại địa phương của hàm mật độ
D
B
f


Định nghĩa 13: Lớp với tâm xác định (Center- Defined Cluster).
Lớp với tâm xác định với hai tham số σ, ξ đối với một điểm hút x* là một tập con C
⊆ D với x ∈ C là điểm hút mật độ bởi x* và
ξ
≥)(
*
xf
D
B
.
Định nghĩa 14: Lớp với hình dạng bất kì (Arbitrary-Shape Cluster).
Một lớp dạng bất kì với hai tham số σ, ξ cho tập các điểm hút mật độ X là một tập C
⊆ D thoã mãn:
10
1) ∀x ∈ C, ∃x
*
∈ X:
ξ
≥)(
*
xf
D
B
, x là điểm được hút mật độ bởi x*
2)
:,
*
2
*

1
Xxx ∈∀
∃ một đường P ⊂ F
d
từ
*
1
x
đến
*
2
x
với ∀p ∈ P:
ξ
≥)(pf
D
B
2.3.2. Những tính chất của phương pháp DENCLUE
a. Tính tổng quát
DENCLUE được mô tả như là phương pháp tổng quát của các phương pháp phân
nhóm khác nhau như: Phương pháp phân nhóm theo phân hoạch, phương pháp phân nhóm
theo thứ bậc, phương pháp phân nhóm dựa vào tính địa phương.
b. Nhiễu bất biến (noise invariance)
Giả sử D ⊂ F
d
là một tập dữ liệu và DS
D
không gian dữ liệu (data space). Khi đó D
bao gồm các nhóm (clusters) và những dữ liệu nhiễu (noise) và có thể biểu diễn bởi: D = D
C

∪ D
N
với D
C
gồm các nhóm và D
N
là nhiễu. Xét X =
{ }
**
2
*
1
, ,
k
xxx
, là tập điểm hút mật độ
được sắp xếp theo thứ tự thuộc D với hai tham số (σ, ξ) và X
C
=






∧∧∧
**
2
*
1

, ,,
k
xxx
là các điểm
hút mật độ cho D
C
với (σ, ξ
c
) với ξ

và ξ
c
được chọn một cách thích hợp. Giả sử ||S|| là số
phần tử của S, ta có bổ đề sau:
Bổ đề 3. Nhiễu bất biến (Noise - invariance)
Số điểm hút mật độ của D và D
C
là như nhau và khả năng những điểm hút mật độ
còn lại là đồng nhất với 1khi ||D
N
||→ ∞. Một cách hình thức: ||X|| = ||X
C
|| và
1)0),((lim
1
**
=









=

=

∞→
X
i
ii
D
xxdP
N
2.3.3. Thuật toán DENCLUE
Để có được một cách phân nhóm tốt, chúng ta phải tìm ra một hàm ảnh hưởng và
các điểm hút mật độ tốt.
a. Hàm mật độ địa phương (Local Density Function)
Một hàm mật độ địa phương là một xấp xỉ của hàm mật độ. Ý tưởng này là chỉ chú ý
đến ảnh hưởng của những điểm ở gần và không quan tâm đến sự ảnh hưởng của những
điểm ở xa.
Định nghĩa 15. Hàm mật độ địa phương (local density function)


=
)(
)()(
ˆ

xnearx
x
B
D
i
i
xfxf
Gradient của hàm mật độ địa phương được định nghĩa tương tự như trong định nghĩa 11.
Tiếp theo chúng ta sẽ định nghĩa σ
near
= kσ là một điểm giới hạn lỗi cho một hàm mật
độ địa phương

( )f x
D
.
Bổ đề 4. Giới hạn lỗi (error bound)
Nếu điểm x
i
∈ D: d(x
i
, x) > kσ bị bỏ đi thì giới hạn lỗi (error bound) sẽ là
2
),(:
2
),(
2
2
2
.||}),(|{||

k
ii
kxxdDx
xxd
ekxxdDxeerror
ii
i

>∈

>∈≤=

δ
δ
δ
b. Thuật toán DENCLUE
11
Thuật toán DENCLUE gồm 2 bước. Bước một gọi là bước chuẩn bị.
Bước 1:
Việc chia nhỏ miền dữ liệu được thực hiện như sau: Chia miền dữ liệu đa chiều của
chúng ta ra thành những miền đa chiều nhỏ với độ dài của cạnh là 2σ.
31 33 34 36
29 30
19 23 24
13 15 16
7 12
1 3 6
Hình 2.11: Ví dụ một cách chia và đánh số trong không gian hai chiều
Bước 2:
Bước tiếp theo của thuật toán là bước phân nhóm. Những khối với mật độ cao cùng với

những khối liên thông với khối mật độ cao mới được xét đến khi xác định lớp. Tập con này
của C
p
được xác định như sau:
C
r
= C
sp
∪ { c ∈ C
p
c
s
∈ C
sp
và ∃ connection (c, c
s
)}
Sử dụng cấu trúc dữ liệu trong bước 1, ta có thể tính toán một cách hiệu quả hàm mật
độ địa phương

( )f x
D
. Với mỗi x ∈ c và c, c
1
∈ C
r
, xét tập
near(x) = {x
i
∈c

1
d(mean(c
1
,x) ≤ kδ và ∃connection(c
1
, c)).
2.4. Kết luận
Trong chương này, tìm hiểu một số thuật toán phân nhóm cơ bản dựa vào mật độ
phân bố dữ liệu trong không gian như DBSCAN, DBCLASD và DENCLUE. Các thuật toán
này dựa vào ý tưởng là các điểm trong một lận cận phải vượt qua một ngưỡng nào đó. Đây
là một trong các thuật toán tiêu biểu và có hiệu quả đối các dữ liệu không gian có hình dạng
tuỳ ý và tồn tại nhiễu.
Chương 3. CÁC GIẢI THUẬT PHÂN NHÓM TRÊN CƠ SỞ DỮ LIỆU
KHÔNG GIAN LỚN
3.1. Một số khái niệm cần thiết khi tiếp cận phân nhóm dữ liệu
3.1.1. Phân loại các kiểu dữ liệu
Cho một CSDL D chứa n đối tượng trong không gian k chiều trong đó 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 đó x
i
, y
i
, z
i
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, z.
3.1.2. Độ đo tương tự và phi tương tự
Để phân nhóm, người ta phải đi tìm cách thích hợp để xác định “khoảng cách” giữa
các đối tượng, hay là phép đo tương tự dữ liệu.
1. Không gian metric
Tất cả các độ đo dưới đây được xác định trong không gian độ đo metric.
12

Hình 3.1: Minh họa số đo chiều rộng, chiều cao một đối tượng
(phụ thuộc vào scaling khác nhau dẫn đến phân nhóm khác nhau)
2. Thuộc tính khoảng cách
Một thành phần quan trọng trong thuật toán phân nhóm là phép đo khoảng cách giữa
hai điểm dữ liệu. Nếu thành phần của vectơ thể hiện dữ liệu thuộc trong cùng một đơn vị
giống nhau thì nó tồn tại khoảng cách Euclidean có thể xác định được nhóm dữ liệu tương
tự.
- Khoảng cách Minkowski như sau:
d(x, y) =
1/
1
| |
q
n
q
i i
i
x y
=
 

 ÷
 

- Khoảng cách Euclidean được định nghĩa như sau:
d(x, y) =
2
1
( )
n

i i
i
x y
=


Là khoảng cách giữa hai đối tượng trong trường hợp đặc biệt q = 2.
- Khoảng cách Manhattan:
d(x, y) =
1
n
i i
i
x y
=


Là khoảng cách trung bình giữa hai đối tượng trong trường hợp đặc biệt q = 1.
- Khoảng cách Chebychev: d(x, y) =
1
Max
n
i=
|x
i
- y
i
|
13
Hình 3.2: Khoảng cách Euclidean

3.2. Thuật toán K-MEANS
Thuật toán này dựa trên độ đo khoảng cách của các đối tượng dữ liệu đến phần tử là
trung tâm của nhóm chứa nó.

Hình 3.3: Các thiết lập để xác định ranh giới các nhóm ban đầu
Giải thuật xử lý như sau: Trước tiên nó lựa chọn ngẫu nhiên k đối tượng, mỗi đối
tượng đại diện cho một trung bình nhóm hay tâm nhóm. Bình phương sai số thường dùng
làm hàm tiêu chuẩn hội tụ, định nghĩa như sau:
E =
2
1
i
k
i
i x C
x m
= ∈

∑ ∑
Với x là điểm trong không gian đại diện cho đối tượng cho trước, m
i
là trung bình
nhóm C
i
(x và m
i
đều là đa chiều). Tiêu chuẩn này cố gắng cho kết quả k nhóm càng đặc
biệt, càng riêng biệt càng tốt.
Hình 3.4: Tính toán trọng tâm của các nhóm mới
Thuật toán K-Means bao gồm các bước cơ bản sau:

14
Đầu vào: Số nhóm k và hàm E E =
2
1
i
k
i
i x C
x m
= ∈

∑ ∑
Đầu ra: Các nhóm C[i] (1 ≤ i ≤ k) với hàm tiêu chuẩn E đạt giá trị tối thiểu
Begin
Bước 1: Khởi tạo
Chọn ngẫu nhiên k tâm
{ }
i
m
{ }
1
k
j
j
m
=
ban đầu trong không gian R
d
(d là số chiều của
dữ liệu). Mỗi nhóm được đại diện bằng các tâm của nhóm

Bước 2: Tính toán khoảng cách
( )
2
1
1
n
k
j i j
i
D x m
=
=


Đối với mỗi điểm xi (1 ≤ i ≤ n), tính toán khoảng cách của nó tới mỗi trọng tâm m
j
(1 ≤ j ≤
k). Sau đó tìm trọng tâm gần nhất đối với mỗi điểm và nhóm chúng vào các nhóm gần nhất.
Bước 3: Cập nhật lại trọng tâm
Đối với mỗi 1≤ j ≤ k, cập nhật trọng tâm nhóm m
j
bằng cách xác định trung bình
cộng các vectơ đối tượng dữ liệu.
Bước 4: Gán lại các điểm gần trung tâm nhóm mới
Nhóm các đối tượng vào nhóm gần nhất dựa trên trọng tâm của nhóm.
Điều kiện dừng: Lặp lại các bước 2 và 3 cho đến khi các trọng tâm của nhóm không
thay đổi.
End.
Ví dụ: Giả sử có một tập đối tượng được định vị trong hệ trục toạ độ X, Y. Cho: k =
3 tức người dùng cần phân các đối tượng vào trong 3 nhóm.

Theo giải thuật, ta chọn ngẫu nhiên 3 trung tâm nhóm ban đầu (Hình K-means bước
1). Sau đó, mỗi đối tượng được phân vào trong các nhóm đã chọn dựa trên tâm nhóm gần
nhất (Hình K-means bước 2).
Cập nhật lại các tâm (Hình K-means bước 3). Đó là giá trị trung bình của mỗi nhóm
được tính toán lại dựa trên các đối tượng trong nhóm.
15
Hình 3.5: Ví dụ các bước của thuật toán K-means
3.3. Giải thuật DBSCAN
DBSCAN có thể tìm ra các nhóm với hình thù bất kỳ, trong khi đó tại cùng một thời
điểm ít bị ảnh hưởng bởi thứ tự của các đối tượng dữ liệu nhập vào.
Độ phức tạp của DBSCAN là O(n
2
), nhưng nếu áp dụng chỉ số không gian để giúp xác định
các láng giềng của một đối tượng dữ liệu thì độ phức tạp của DBSCAN đã được cải tiến là
O(nlogn).
Hình 3.6: Một số hình dạng khám phá bởi phân nhóm dưa trên mật độ
Các bước của thuật toán DBSCAN như sau:
Bước 1: Chọn một đối tượng p tuỳ ý
Bước 2: Lấy tất cả các đối tượng mật độ - đến được từ p với Eps và MinPts.
Bước 3: Nếu p là điểm nhân thì tạo ra một nhóm theo Eps và MinPts.
Bước 4: Nếu p là một điểm biên, không có điểm nào là mật độ - đến được
mật độ từ p và DBSCAN sẽ đi thăm điểm tiếp theo của tập dữ liệu.
Bước 5: Quá trình tiếp tục cho đến khi tất cả các đối tượng được xử lý.
Hình 3.7: Thuật toán DBSCAN
16
3.4. Kết luận
Chương này trình bày vắn tắt về các giải thuật trong phân nhóm dữ liệu, trong đó đi
sâu vào tìm hiểu về 2 giải thuật toán phân nhóm dữ liệu điển hình: K-MEANS, DBSCAN.
Chương 4. XÁC ĐỊNH THAM SỐ, CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH
GIÁ KẾT QUẢ

4.1. Môi trường thử nghiệm
Thành phần Chỉ số
CPU
Intel core i3-2330M 2.20GHz
RAM
2G
HDD
500GB
Hệ điều hành
Windows 7 Professional
Hình 4.1: Môi trường thử nghiệm
4.2. Công cụ thử nghiệm
Để tiến hành thử nghiệm, Ngôn ngữ lựa chọn để cài đặt thuật toán là ngôn ngữ C++
bởi đây là một ngôn ngữ có cấu trúc hỗ trợ nhiều kỹ thuật cho phép viết cài đặt các thuật
toán tối ưu và hiệu quả.
4.3. Xác định tham số
Đối với hầu hết các thuật toán có tham số đầu vào (như DBSCAN, DENCLU,…), chất
lượng của kết quả phân nhóm phụ thuộc vào sự lựa chọn thích hợp các tham số đầu vào.
4.3.1. Xác định tham số cho thuật toán DBSCAN
Để xác định 2 tham số Eps và MinPts cho tập dữ liệu vào, chúng ta xác định 2 tham số
Eps và MinPts cho lớp có mật độ ít nhỏ nhất (“thinnest”) trong cơ sở dữ liệu dựa vào heuristic.
Hình 4.2. Đồ thị khoảng cách với k = 4. Dựa vào đồ thị khoảng cách đó ta có thể đưa ra
được khoảng cách Eps một cách chính xác
Ví dụ: Cho tập dữ liệu, mỗi điểm dữ liệu được biểu diễn bởi toạ độ (x,y) như hình 4.3.
17
Hình 4.3. Tập các dữ liệu được biểu diễn trong toạ độ 2 chiều
- Tiếp đến, sắp xếp các khoảng cách đó theo thứ tự giảm dần, vẽ đồ thị cho các
điểm đó, ta được một đồ thị khoảng cách k-dist (k = 3) được sắp xếp như hình 4.4.

Hình 4.4. Đồ thị k-dist (k = 3)

- Xét các tập dữ liệu tồn tại nhiễu như hình 4.5 và hình 4.6

Hình 4.5 Hình 4.6
- Xây dựng đồ thị biểu diễn hàm khoảng cách của láng giềng gần nhất thứ 4 (chọn k
= 4) đối với các tập dữ liệu ở hình 4.5 và hình 4.6 ở trên tương ứng là hình 4.7 và hình 4.8
- Dựa vào đồ thị đó, ta có thể xác định được giá trị Eps là giá trị nhỏ hơn khoảng
cách của láng giềng gần nhất thứ 4 của điểm nằm ở thung lũng đầu tiên.
“thung lũng” (valley) đầu tiên định
nghĩa các điểm nhiễu
Dựa vào đồ thị, chọn Eps nhỏ hơn
khoảng cách được định nghĩa bởi thung
lũng đầu tiên. (trong trường hợp này,
chọn Eps = 5)
18
Hình 4.7
Hình 4.8
- Tuy nhiên việc xác định tham số cho thật chính xác là một vấn đề khó. Phương
pháp này sử dụng heuristic để xác định trên tập dữ liệu có mật độ nhỏ của cơ sở dữ liệu để
đưa ra tham số toàn cục, vì vậy trong trường hợp mật độ các điểm dữ liệu giữa các lớp là
không đồng đều như các tập dữ liệu ở hình 4.9
(H1) (H2) (H3)
Hình 4.9. Các tập dữ liệu với mật độ phân bố khác nhau giữa các lớp (nhóm)
4.3.2. Tối ưu hoá việc lựa chọn các tham số
σ

ξ
cho thuật toán DENCLUE
Một cách trực quan, ta thấy kết quả của thuật toán DENCLUE đưa ra phụ thuộc vào
sự lựa chọn 2 tham số đầu vào đó là tham số mật độ (density parameter) σ và ngưỡng nhiễu
(noise threshold) ξ.

Chọn Eps
Chọn Eps
m(δ)
19
Hình 4.10: Đồ thị mô tả sự phụ thuộc m(σ ) vào σ .
4.4. Cài đặt thử nghiệm và đánh giá kết quả
Chương này sẽ tiến hành cài đặt một số các thuật toán phân nhóm cho cơ sở dữ liệu
không gian như DBSCAN, DBCLASD. Ngoài ra chương trình còn cài đặt thuật toán K-
MEANS là thuật toán đại diện cho hầu hết các thuật toán phân nhóm tốt trong trường hợp
dữ liệu thông thường.
4.4.1. Xây dựng chương trình cài đặt thuật toán phân nhóm
Chương trình đánh giá các thuật toán thực hiện qua 3 khối chính (hình 4.11) gồm
khối tạo lập dữ liệu đầu vào, khối thực hiện thuật toán và khối hiển thị kết quả.
Hình 4.11: Sơ đồ thực hiện chương trình
4.4.2. Tạo lập dữ liệu
Bộ tạo lập dữ liệu có tác dụng chuẩn bị dữ liệu là đầu vào cho các thuật toán. Bộ
phận này cho phép đọc dữ liệu từ các file bitmap hoặc soạn thảo các ảnh bitmap dữ liệu.
4.4.3. Cài đặt thuật toán phân nhóm
a. Xác định khoảng cách giữa các đối tượng
Trong chương trình đánh giá các thuật toán với dữ liệu đầu vào ở dạng ảnh không
gian 2 chiều, mỗi điểm đối tượng trong không gian được biểu diễn bằng tọa độ Đề các (x,y)
ta sẽ sử dụng độ đo khoảng cách
Euclide để tính khoảng cách giữa 2 đối tượng trong không gian. Cụ thể để tính độ đo
khoảng cách giữa 2 điểm đối tượng có toạ độ (x
1
, y
1
) và (x
2
, y

2
) ta sử dụng công thức:

2
21
2
21
)()( yyxxD −+−=
b. Thuật toán K-means
Ý tưởng chủ đạo của thuật toán là xác định các điểm đại diện của mỗi lớp sau đó ấn định
các điểm đối tượng vào các lớp dựa vào khoảng cách của điểm đó đến điểm đại diện của lớp.
c. Cài đặt thuật toán DBSCAN
Thuật toán DBSCAN thực hiện dựa trên ý tưởng là xác định mật độ lân cận của mỗi
điểm đối tượng dữ liệu vượt qua một ngưỡng nào đó.
d. Cài đặt thuật toán DBCLASD
Thuật toán DBCLASD được thực hiện chủ yếu dựa vào sự phân bố đồng đều của các
điểm trong cùng một lớp. Quá trình phân nhóm là quá trình tăng dần nghĩa là số các phần tử
thuộc lớp sẽ tăng dần.
Khối tạo lập dữ liệu Khối thực hiện
thuật toán
Khối hiển thị
kết quả
δ
20
4.4.4. Lưu trữ và hiển thị kết quả
Khi thực hiện xong quá trình phân nhóm, ta cần hiển thị kết quả thu được hoặc lưu trữ
lại kết quả này. Để thực hiện công việc này ta cần xây dựng một số chức năng cho phép hiển thị
kết quả dưới dạng ảnh và lưu trữ chúng dưới dạng các file ảnh.
4.5. Đánh giá kết quả trên một số tập dữ liệu
4.5.1. Tập dữ liệu

Trong cộng đồng nghiên cứu về phân nhóm, người ta đã đưa ra một số tập dữ liệu
dùng để kiểm chứng tính hiệu quả của một số thuật toán phân nhóm.
Tập dữ liệu 1: Bao gồm các dữ liệu có hình dạng bất kỳ chứa lõm, khe hở và lồng vào
nhau
Hình 4.12. Tập dữ liệu lấy từ nguồn tài liệu
Tập dữ liệu 2: Bao gồm tập dữ liệu có hình dạng của các lớp khác nhau đồng thời số
điểm trong mỗi lớp cũng khác nhau và chứa nhiều điểm nhiễu.
Hình 4.13. Tập dữ liệu lấy từ nguồn tài liệu
Tập dữ liệu 3: Bao gồm các dữ liệu có hình dạng của các lớp là các đa giác nằm độc
lập nhau, khác nhau và có chứa nhiễu.
Hình 4.14. Tập dữ liệu lấy từ nguồn tài liệu
4.5.2. Đánh giá kết quả
Giao diện chính của màn hình làm việc:
21
Hình 4.15: Tập dữ liệu ban đầu
Kết quả như sau: Từ kết quả thử nghiệm ở tập dữ liêu 1 ta thấy kết quả của các tập
dữ liệu sau khi được phân nhóm được mô phỏng trong hình sau:
Dữ liệu vào
K-MEANS với
k = 2 thời gian: 1s
DBSCAN với
Eps = 9, Minpts = 4
thời gian: 1s
DBCLASD
thời gian: 1s
Hình 4.16a
Dữ liệu vào
K-MEANS với
k=3 thời gian: 1s
DBSCAN với

Eps = 9, Minpts = 4
thời gian: 1s
DBCLASD
thời gian: 1s
Hình 4.16 b
Dữ liệu vào
K-MEANS với
k=4 thời gian: 1s
DBSCAN với
Eps = 9, Minpts = 4
thời gian: 1s
DBCLASD
thời gian: 1s
Hình 4.16 c
Tập dữ liệu 2
Dữ liệu vào
K-MEANS với k = 4
thời gian: 1s
22

×