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... Chính vì lý do đó mà em chọn đề
Trang 1TRƯỜ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
Trang 2Luậ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
Trang 3MỞ ĐẦU
Trong vài thập kỷ gần đây, công nghệ thông tin có nhiều bước phát triểnnhanh 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ôngtin có tính chất quyết định Từ đó, theo quá trình hoạt động của các hệ thốngquả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íchthướ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ứumớ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ựckhá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ềucác ứng dụng đã được xây dựng tạo ra được nhiều hệ thống trợ giúp đắc lực chocuộ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ểuchuỗ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ăncủ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
Trang 4- 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 (KnowledgeDiscovery 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 đaphươ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ả sosá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ộidung 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ả
Trang 5Chươ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ànhcô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ăngthu 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ămcuố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ậpcon 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ễuhoặ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 trithứ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ạimộ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
Trang 6Nhìn chung, mục đích chính của khai phá dữ liệu là dự đoán (prediction) và mô tả
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áchphâ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ứctrong 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íchhợ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
Ch¬ng 1. 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
Ch¬ng 2. 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âncấ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)
Trang 7Hì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
Ch¬ng 3. 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áchcác đối tượng
Ch¬ng 4. 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 chomỗ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ệungoà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áttriể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
Trang 8lưu trữ Những ô màu trắng là những ô không chứa dữ liệu
Ch¬ng 5. 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ứctrong 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ềnglớ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 Dkhoả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 Eps và MinPts trong tập đốitượng D nếu: p NEps(q) Với NEps(q) là tập con của D || NEps(q) || MinPts i uĐiều ều
ki n ện đối tượng nhân đối tượng nhân ượng nhân.i t ng nhân
Trang 9Hì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 = p1,
p2, , pn = q thoả mãn pi+1 là có thể đến được trực tiếp từ pi 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ôngvớ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ử C1, C2, , Ck là các lớp trong tập dữ liệu Dtheo 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 trongcác lớp C1, C2, , Ck tức là Noise = {p D i = 1 k, p Ci}
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àntoàn đúng đắn
Bổ đề 1: Giả sử p là một điểm trong D và ||NEps(p)|| MinPts, tập O = {oo D} và o
có thể đến được từ p theo Eps và MinPts sẽ là một lớp theo Eps và MinPts
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 = { oo D và o là mật độ - đến được từ p theo Eps và MinPts}
Trang 102.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)
If Point.Cl_ID = UnClassified then
If ExpandCluster(SetOfPoints,Point, ClusterId, Eps, MinPts) then
ExpandCluster(SetOfPoints,Point,ClusterId,Esp,MinPts):Boolean;
Seeds := SetOfPoints.RegionQuery(Point, Eps);
If Seeds.size < MinPts then
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
Trang 11Hì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 đặctrư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
NNS(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à ei 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ị NNdistS(ei)
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ậpcá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ôntồn tại một đường đi qua các ô lưới đã sử dụng nối giữa a và b
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
Trang 122.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ựngthuậ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àonhữ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ínhxá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 đachiề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
N i
x B
x B i
( ) (
Định nghĩa 12: Điểm hút mật độ (density-attractor).
- Một điểm x*Fd được gọi là một điểm hút mật độ đối với một hàm ảnh hưởng nếunhư 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à ( * )
x
f D
Đị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
b Nhiễu bất biến (noise invariance)
Trang 13Giả sử D Fd là một tập dữ liệu và DSD không gian dữ liệu (data space) Khi đó Dbao 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 = DC
Bổ đề 3 Nhiễu bất biến (Noise - invariance)
Số điểm hút mật độ của D và DC là như nhau và khả năng những điểm hút mật độ cònlại là đồng nhất với 1khi ||DN|| Một cách hình thức: ||X|| = ||XC|| và
1 ) 0 ) , ( ( lim
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
) ( )
( ˆ
x near x
x B D
i
i x f x
f
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 fD( )x
Bổ đề 4 Giới hạn lỗi (error bound)
Nếu điểm xi D: d(xi, x) > k bị bỏ đi thì giới hạn lỗi (error bound) sẽ là
2 )
( 2 )
2 2
.||
}),(
|{
||
k i
i k
x d D x
x d
e k x x d D x e
error
i i
b Thuật toán DENCLUE
Thuật toán DENCLUE gồm 2 bước Bước một gọi là bước chuẩn bị