/ 4 Cúc hướnsị phát triển của khám phá tri thức trong (lữ liệu không gian
2.1. Giới thiệu chung
Chia lớp là quá trình chia các điểm dữ liệu trong cơ sờ dữ liệu thành các lớp sao cho những điểm dữ liệu trong cùng một lớp có độ tương đổng lớn và những điểm dữ liệu không cùng một lớp có sự tương đồng là rất nhỏ, ví dụ:
Hình X. Mỏ hình \>ê chia ÌỚỊ) cúc trường hợp dựa trên tiêu chuẩn vê thu nhập và số nợ. Lóp ì là lớp những người thu nhập cao. sô nợ nliiêu, IỚỊ) 2 ỊỊồm sô' người thu nliập cao nhưng nợ ít và lớp 3 ìà lóp đôi tượng thu nhập thấp nhưng nợ nhiều.
Quá trình chia lớp là quá trình tìm ra những lớp đối tượng trong cơ sở dữ liệu một cách tự động. Không giông như phân lớp (clasì/ication), chia lớp không cần những thông tin được xác định trước của lớp. Nói cách khác chia lớp là phương pháp học từ quan sát (leanùng Ịrotn ohversation) hay còn gọi là học không thầy (unsuperviseil ìeaminỉỊ or uutomatic dassỷication) trong trí tuệ nhân tạo. Chia lớp đặc biệt hiệu quả khi ta không biết về thông tin của các lớp, hoặc khi ta quan tâm tới những thuộc tính của lớp mà ta chưa biết hoặc biết rất ít về nhữrm thông tin đó.
Đã có rất nhiều thuật toán cũng như hệ thống đirợc phát triển cho bài toán chia lớp trong cơ sờ dữ liệu lớn kể từ khi CLARAN ỊNH94I được đưa ra. Sự phát triển của lĩnh vực này đã được áp dụng vào nhiều lĩnh vực ứng dụng khác như xử lý ảnh, nhận dạng, đánh giá kinh doanh...Sự đa dạng của thuật toán chia lớp là do sự khác nhau
cùa những ứng dụng thực tế cũng đẫn tới những yêu cầu về dữ liệu khác nhau và đòi hỏi những thuật toán chia lớp khác nhau.
Một trong những câu hỏi lớn đặt ra tronc bài toán chia lớp là do độ tương đồna không gian giữa các dối tượng dữ liệu (spatial similarity). Tron2 dữ liệu không gian thì độ đo tương đổng được xem như sự quan hệ về vị trí khống gian giữa các đối tượng dữ liệu. Nói cách khác là hai đối tượng dữ liệu được gọi là tương đổng nếu “khoảng cách không gian” giữa chúng là nhỏ.
Để xác định được quan hệ vị trí không gian của hai đổi tượng dữ liệu trong cơ sở dữ liệu không gian, chúng ta cần quan tâm tới giá trị thuộc tính không gian của các đối tượng dữ liệu. Trong cơ sớ dữ liệu không gian, những giá trị này thường được biểu diễn bởi kiểu số và là kiêu đo được liên tục. Ví dụ nhu vị trí của một ngôi nhà so với một hệ trục toạ độ có thè được biểu diễn bằng góc mà nhà dó tạo với trục và khoảna cách từ ngôi nhà đến gốc toạ độ.
Một trong những plurơng pháp đo độ tương đồng giữa hai đối tượng là bằng nghịch đào của hàm không tương đồng {dissimilarity function). Hàm không tương đồng hàm dựa trên những thuộc tính không gian của các đối tượng dữ liệu như: toạ độ của các đối tượng, độ cao của các đối tirợng,.. Trong nhiều trường hợp thì hàm không tương đồng dược xem như là hàm khoảng cách không gian giữa các đối tượng như hàm khoảng cách Euclid, hàm khoảníĩ cách Manhattan, hàm khoảng cách Minkowski...
Bài toán chia lớp là quá trình chia 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 chia lớp 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 thì người sử dụng phải lựa chọn ra một thuật toán chia lớp 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.
Trang 32/9 \
2.2. Các yêu cầu về thuật toán chia lớp trong cơ sở dữ liệu không gian.
Do đặc thù của cơ sở dữ liệu không gian là lớn, phức tạp, nhiều chiều, và có dữ liệu nhiễu nên những thuật toán chia lớp áp dụn" cho cơ sở dữ liệu không gian phải thoả mãn những yêu cầu sau
1. Thuật toán phái liiệ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
2. Thuật toán phải có khả năng xác định được những lớp với hình dáng bất kì bao gồm cả những lớp có hình dạng lồng nhau, lớp có có hình dạng lõm... 3. Thuật toán phái xử lý và áp dụng được với cơ sờ dir 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ố, dữ liệu phi số...
4. 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.
5. Thuật toán không đòi hỏi nhĩrng tri thức về cơ sờ dữ liệu từ người dùng.
6. Thuật toán phải làm việc được với cơ sở dữ liệu chứa nhiều lớp đối lượng dữ liệu phức tạp và có tính chất rất khác nhau.
Hiện tại có rất nhiều thuật toán chia lớp trong cư sở dữ liệu không gian đã được đưa ra. Mộl số trong những thuật toán đó đã được đánh giá và thử nghiệm trên cơ sở dữ liệu không gian thực tế. Một sỏ' khác mới được hình thành trên mức khái niệm và cơ cờ lý luận. Tuy nhiên, các thuật toán hiện có thì không một thuật toán nào có thể đáp ứng dược đủ các yêu cầu đé ra.
2.3. Các hướng tiếp cận của bài toán chia lớp trong cơ sỏ dữ liệu không gian.
2.3.1. Phương pháp chia lớp phàn hoạch.
Chia lớp khống thứ bậc hoặc chia lớp theo phản hoạch (nonhierarchy or partition clustering) chia cơ sở dữ liệu dữ liệu bằng cách xác định trước các đối tượng đại diện (đối tượng nhân) của các lớp. Kế tiếp, với mỗi đối tượng dữ liệu sẽ được đưa vào lóp mà khoảng cách từ đối tượng dữ liệu đến đối tượng đại diện của lớp là nhỏ nhất. Sau mỗi hước thì đối tượng đại diện của mỗi lớp có thể được xác định lại dựa vào các đối lượng dữ liệu thuộc lớp đó.
Phương pháp chia lớp phan hoạch có thể được mô tả như sau:
Với tham số đầu vào k là số lớp đã được xác định bởi người dùng, thuật toán phân hoạch sẽ chọn Ả' đối tượng đại diên cho k lớp (k dối tượng đại diện cổ thể được chọn ngẫu nhiên hoặc theo một tiêu chuẩn của người sử dụng). Với mỗi một đối tượng dữ liệu q sẽ được đưa vào lớp có đối tượng đại diện gần với LỊnhát. Sau đó, đối tượng đại diện của mỗi lớp sẽ được tính lại dựa vào những điểm dữ liệu thuộc lớp đó. Thõng tiurờng thì đối tượng đại diện được xác định sao cho sự khoảng cách từ đối tượng đại diện đến điểm xa nhất là nhò nhất có thể được. Ví dụ vé quá trình phân hoạch với k - 3
Trang 34/9 ỉ
Hình 9. Khởi trị bắt đáu bởi hình /4 với 3 dối tượng đại diện là 3 điểm đậm được lựa chọn ngẫu nhiên. Kê tiếp mỗi dôi tượng dữ liệu được dưa vào lớp mà khoảng cách từ điểm dó tới đối tượng dại diện của IỚỊĨ là nhỏ nhất. Bước 3 là với tnồi lóp thì tìm đổi tượng đụi diện mới đại diện cho lớf) (íó ị trong ví dụ này ta lấy đối tượiìg dữ liệu mới lù điểm trung bình của tất cà các dối tượng dữ liệu thuộc lóp). Quá trình trên dược lặp lại cho đến khi C('n đôi tượng (lại diện của tất cà các ló]) là khôn ạ thay đổi.
Mô hình thuật toán chia lớp phân hoạch
Input. Số lớp kvà cơ sở dữ liệu D gồm /Iđôi tượng.
Output tập các lớp Partition (D, k);
1. Chọn ngẫu nhiên k tàm bất kì o 0. Đặt i = 0.
2. Với mỗi điểm dữ liệu p e D thì tìm đối urợng đại diện gần nhất và đưa p vào lớp đó.
3. Tính lại đối tượng đại diện của cáciớp Ol+l dựa vào các điểm dữ liệu thuộc lớp.
4. Nếu Oi+l = O' thì dừng lại. Trong trường hợp ngược lại i = i + 1 và quay lại 2. O' = (0|(i), 02(i).... ok(i,Ị là tập các đối tượng đại diện của k lớp.
2.3.2. Phương pháp chia lớp có cấu trúc
Phương pháp chia lớp có cấu trúc (hierarchical clustering) thực hiện việc chia lớp cơ sờ dữ liệu bằng cách xây dựns một cây mà mỗi nút là một nhóm đối tượng dữ liệu.
Có hai cách xây dựng cây là: phương pháp ghép nút và phương pháp tách nút. Trong phương pháp ghép nút thi mỗi nút cha nhân được bằng cách ghép các nút con lại. Trong phương pháp tách nút thì các nút con được sinh ra bằng cách tách nút cha. Hai phương pháp chia lớp có thứ bậc tương ứng với hai tư tườnỉĩ đó: Chia lớp có thứ bậc từ dưới lên và chia lớp có thứ bậc từ trên xuống.
Phương pháp chia lớp có thứ bậc xây dựng cây dựa trên khái niệm độ tương đồng
g i ữ a các nhóm đối tượng. Trong phương pháp chia ló’p từ dưới lên thì việc ghép lên nút cha sẽ được thực hiện với hai nút mà độ tương đồng giữa 2 tập đối tượng tại hai nút đó là lón nhất. Trong phương pháp chia lớp từ trên xuống, ta sẽ tách nhóm đối tượng ở tại nút cha thành 2 hoặc nhiều nhóm đối tượng ở các nút con sao cho độ tương đồng giữa các đối tượng là nhỏ nhất.
Việc đo độ tương đổng giữa hai nhóm đối tượng là rất khó và không thể làm chính xác được. Thông thường độ tương đồng được đo bởi những hàm cụ thể trong từng ứng dụng bằng những phương pháp xấp xỉ gần đúng.
Để chọn được các lớp trong cây mới xây dựng, chúng ta còn cần một tham số điểu kiện kết thúc (terminal condition). Đây chính là điều kiện để xác định một tập các đối tượng tại một nút có phải là một lớp hay không. Điều kiện kết thúc được đưa vào từ người sử dụng.
1. Chia lớp theo phưưng pháp dưới lẻn.
Khởi tạo mỗi một nút lá ban đầu chỉ chứa duy nhất một điểm dữ liệu (nếu cơ sở dữ liệu có N điểm dữ liệu thì ban đầu sẽ có N nút). Kế tiếp, tại một bước ghép hai nút mà độ tương đồng giữa hai tập đối tượng dữ liệu tại hai nút đó lớn nhất. Thực hiện như vậy N- 1 bước, chúng ta được nút góc chứa toàn bộ cơ sờ dữ liệu.
Từ cây mới tạo được, chúng ta đưa ra các lớp bằng cách chọn các tập đối tượng tại các nút thoả mãn điều kiện kết thúc.
2. Chia lớp theo phương pháp trẽn xuống.
Xuất phát từ gốc là một lớp với tất cả các điểm dữ liệu trong cơ sở dữ liệu, chúng ta tìm cách chia tập đối tượng tại mỗi nút cha thành hai hoặc nhiều nhóm đối tượng sao
Trang 36/91
cho sự tương đồng giữa các nhóm đối tượng được chia đó là nhỏ. Sau hữu hạn bước ta sẽ xây dựng được một cây với mỗi nút chứa một tập các đối tượng.
Tương tự như phương pháp chia lớp dưới lên, từ cây mới tạo được, chúng ta đưa ra các lớp bằng cách chọn các tập đối tượng tại các nút thoả mãn điều kiện kết thúc. Ví dụ: thuật toán ADNES là thuật toán thuộc phương pháp chia lớp từ dưới lên và thuật toán DIANA là thuật toán thuộc phương pháp chia lớp từ trên xuống ta có thuật toán DIANA,
H ợp (A G N E S )
bước 4 bước 3 bước 2
— Ị -► T ách bước I (D I A N A ) bươc 5
Hình 10. Mỏ tả cách chia lớp có cấu trúc.
2.3.3. Phương pháp chia lớp dựa vào vị trí địa phương.
Phương pháp dựa vào vị trí địa phương chia lớp các đối tượng dữ liệu dựa trên mối quan hệ của các đối tượng dữ liệu với những điểm lân cận của của các điểm dữ liệu đó. Trong phương pháp này thì các đối tượng dữ liệu được đưa vào các lớp dựa trên các đối tượng dữ liệu lân cận đối tượng dữ liệu đó. Ví dụ trong thuật toán chia lớp DBSCAN, ta chỉ đưa một đối tượng dữ liệu p vào một lớp nếu như số điểm lân cận của p trong khoảng Eps là lớn hơn Minpts. Điều kiện này được gọi là điều kiện thuộc lôfp của một đối tượng dữ liệu p.Trong thuật toán DBSCAN ỊEKSX96L lớp là một tập các đối tượng dữ liệu liên thông thoả mãn điều kiện thuộc lớp. Thuật toán DENCLUE IHK98Ị xây dựng mội lớp bằng cách xây dựng một hàm ảnh hưởng từ một đối tượng dữ liệu lên một đối tượng dữ liệu khác và xác định lóp cho một đối
tượng dữ liệu dựa trên tổng ảnh hưởng của các đối tượng của các đối trong miền lân cận lên điểm đó. DBCLASD rXEKS98l thì chia lớp dựa vào phân bố khoảng cách từ một điểm đến những điểm lân cận. Tư tưởng chia lớp của DBCLASD dựa vào quan sát thực tế là: phân bố khoảng cách từ một điểm đến các điểm thuộc cùng một lớp thường xấp xỉ một hàm toán học.
2.3.4. Đánh giá tổng quát
Mỗi một phương pháp chia lớp đều có điểm mạnh điểm yếu và thích hợp cho từng ứng dụng cụ thể.
I ) Phương pháp chia lớp phân hoạch:
Phương pháp chia lớp phân hoạch thì đơn giản, dễ áp dụng và hiệu quả đối với inột vài cơ sở dữ liệu nhỏ với các lớp đưa ra có hình dạng lồi. Tuy nhiên, do các lớp trong phương pháp chia lóp phân hoạch dược biểu diễn bởi các tâm của lớp và mỗi một điểm dữ liệu được đưa vào một lóp dựa vào khoảng cách từ điểm đó tới tâm của lớp. Chính vì thế phương pháp phân hoạch chỉ có thể dưa ra được các lớp có hình dạng là đa giác lồi mà không thể đưa ra được lớp có dạng lõm, phủ lên nhau hoặc lồng nhau. Ngoài ra, nếu cơ sở dữ liệu có nhiễu hoặc có đối tượng quá xa tâm (outlier) thì phương pháp chia lớp phân hoạch cùng không áp cỉụng được vì trong các trường hợp đó, các đối tượng dữ liệu nhiễu hoặc các đối tượng cỉĩr liệu xa tâm (outlier) sẽ làm tâm của lớp bị lệch đi. Do đó, không đưa ra được các lớp chính xác, ví dụ:
Hình 11. Ví dụ về cơ sở dữ liệu và các lớp khi áp dụng thuật toán chia lớp phân hoạch
Trang 38/91
- Cơ sở dữ liệu 1 : Do mỗi đối tượng dữ liệu được đưa vào lớp có tâm gần đối tượng dữ liệu đó nhất nên các đối tượng nằm về biên của lớp 1 sẽ bị hút về lớp 2, lớp 3 và lớp 4.
- Cơ sở dữ liệu 2: Do phương pháp phân hoạch chỉ có thể tạo ra được lớp với hình dạng lồi nên không thể áp dụng cho cơ sở dữ liệu có các lớp hình dạng không lồi. - Cơ sở dữ liệu 3: Khi có điểm dữ liệu nhiều và outlier thì phương pháp phân hoạch cũng không đưa ra được kết quả chính xác.
2) Phương pháp chia lớp có cấu trúc thực hiện việc chia lớp bằng các tách hoặc ghép các nhóm đối tượng dựa vào độ tương đồng của các nhóm đối tượng đó. Cũng như phương pháp chia lớp không có khả năng chia lớp với hình dạng bất kì. Ngoài ra, việc xây dựng lên cây cấu trúc khá phức tạp và phải duyệt cơ sở dữ liệu nhiều lần. Điều này dẫn tới có thời gian chạy của các thuật toán chia lớp có cấu trúc lớn. Ngoài ra, các phương pháp chia lớp có cấu trúc đòi hỏi một không gian bộ nhớ để lưu giữ cây trong quá trình xây dựng. Do đó, plurơng pháp này cũng không thích hợp với cơ sở dữ liệu lớn.
3) Chia lớp dựa vào vị trí địa phương: Phương pháp chia lớp dựa vào vị trí địa phưoìig là một trong những phương pháp chia lớp hiệu quả, dặc biệt là cho những cơ sở dữ liệu không gian. Những thuật toán thuộc phương pháp này không những có