1. Trang chủ
  2. » Công Nghệ Thông Tin

MultiBooks - Tổng hợp IT - PC part 22 pps

6 277 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 200,19 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tính tương tự của hai tài liệu theo biểu diễn SVD TS*x D*T của bảng tần số được cho bởi giá trị tích vô hướng hai cột trong ma trận D*T kết hợp với hai tài liệu đó: Ở đây ma trận đơn sau

Trang 1

Giả sử di và dj là hai tài liệu Tính tương tự của hai tài liệu theo biểu diễn SVD TS*

x D*T của bảng tần số được cho bởi giá trị tích vô hướng hai cột trong ma trận D*T kết hợp với hai tài liệu đó:

Ở đây ma trận đơn sau khi rút gọn sẽ có kích thước (R x R) Chú ý rằng thay vì so sánh toàn bộ M khái niệm cho hai tài liệu này, ta chỉ so sánh R khái niệm, nó là số nhỏ hơn M rất nhiều (thông thường là 200)

Tìm kiếm phù hợp p đầu tiên cho truy vấn Q

Giả sử Q là truy vấn Ta coi Q như tài liệu và tạo lập véctơ vecQ cho nó như trên đây Tuy nhiên, có một điểm khác là: Chỉ R khái niệm quan trọng là được xem xét chứ không phải xem xét tất cả N Khi được hỏi để tìm ra p khái niệm phù hợp nhất với Q, ta sẽ phải tìm p tài liệu da(1), ,da(p) như sau:

1 Với mọi 1 £ i £ j £ p, tính tương tự giữa vecQ và da(i) lớn hơn hay bằng tính

tương tự giữa vecQ và da(j) , và

2 không có tài liệu dz nào mà tính tương tự giữa dz và vecQ vượt quá tính tương

tự của da(p)

Điều này có thể thực hiện bằng sử dụng bất kỳ cấu trúc chỉ số hoá nào cho không gian R-d Cấu trúc chỉ số hoá như vậy bao gồm cây R, cây k-d như đã nghiên cứu trước đây Tuy nhiên, tổng quát thì cấu trúc chỉ số hóa như cây R và k-d không làm việc tốt với dữ liệu có số chiều ³ 20 Do vậy cần phải có kỹ thuật nào đó tốt hơn

Cây TV (TV-tree) được mô tả sau đây là cấu trúc chỉ số hoá phù hợp hơn cho loại

dữ liệu nhiều chiều này

4.4 Cây TV (TV-tree)

Mục tiêu cơ bản của cây véctơ thu gọn (TV-Telescopic Vector Tree) là xâm nhập

điểm dữ liệu trong không gian có số chiều rất lớn sao cho hiệu quả cao Trên đây ta

thấy, tài liệu d được xem như véctơ d có độ dài k, trong khi ma trận giá trị đơn, sau

khi phân chia, có kích thước (k x k) Do vậy, mỗi tài liệu được xem như điểm trong

không gian k chiều Một CSDL tài liệu như mô tả trên đây được xem như tập hợp

của các điểm như vậy và được chỉ số hoá phù hợp

Khi người sử dụng biểu diễn truy vấn Q, thực tế là họ xác định véctơ vec(Q) có độ dài k Ta phải tìm p tài liệu trong CSDL mà nó phù hợp nhất với Q Có nghĩa rằng

Trang 2

ta phải tìm ra k láng giềng gần nhất với truy vấn Q có mặt trong CSDL tài liệu Cây TV là cấu trúc dữ liệu mượn từ cây R

Cây TV cố gắng quyết định một cách mềm dẻo và động việc rẽ nhánh như thế nào, trên cơ sở dữ liệu đang xem xét Ý tưởng là nếu nhiều véctơ phù hợp với một số thuộc tính (nếu nhiều tài liệu đều có các khái niệm chung), thì ta phải tổ chức chỉ

số bằng rẽ nhánh đến các khái niệm đó (trường các véctơ) mà nó phân biệt giữa các véctơ/tài liệu này Thí dụ, trong CSDL tài liệu chứa tập các báo cáo của

Trường đại học Maryland, từ như database có thể xuất hiện trong hàng nghìn tài liệu Để phân biệt tiếp theo giữa các bài báo có từ database, ta phải tổ chức chỉ số

theo cách mà có thể rẽ nhánh theo sự hiện diện hay vắng mặt của vài từ khác mà

nó có khả năng phân biệt hơn

4.4.1 Tổ chức cây TV

Trước khi định nghĩa cây TV để lưu trữ các điểm k chiều (k-d) thì ta phải chỉ ra hai tham số sau:

1 NumChild: số nút con cực đại mà 1 nút bất kỳ trong cây TV có thể có

2 µ: là số lớn hơn 0 và nhỏ hơn hay bằng k, gọi nó là số chiều tích cực (number

of active dimensions)

Sử dụng ký pháp TV(k, NumChild, µ) để gọi cây TV, nó được sử dụng vào việc lưu trữ dữ liệu k-d, với NumChild là số nút con cực đại, µ số chiều tích cực Như cây R, mỗi nút trong cây TV biểu diễn một vùng Với mục đích sử dụng này, mỗi nút N trong cây TV chứa ba trường sau:

1 N.Center: Biểu diễn điểm trong không gian k-d

2 N.Radius: Là số thực lớn hơn 0

3 N.ActiveDims: Là danh sách của nhiều nhất µ chiều Mỗi chiều là một số giữa

1 và k Do vậy, N.ActiveDims là tập con của {1, ,k} của số µ hay nhỏ hơn

Giả sử x và y là những điểm trong không gian k-d, và ActiveDims là tập các chiều tích cực Khoảng cách tích cực giữa x và y, được gọi là act_dist(x, y), cho bởi:

Error!

Trang 3

trong đó, xi, yi là giá trị của chiều thứ i của lần lượt x và y Thí dụ, giả sử k=200, µ=5 và AvtiveDims={1,2,3,4,5} và giả sử rằng:

x=(10,5,11,13,7, x6, x7, ,x200)

y=(2,4,14,8,6,y6,y7, ,y200)

Error!

Sau đó khoảng cách tích cực giữa x và y được cho bởi:

Chú ý rằng khoảng cách tích cực giữa hai véctơ bỏ qua mọi trường mà nó không tích cực

Cho trước nút N trong cây TV là nút biểu diễn vùng chứa mọi điểm x, trong đó

khoảng cách tích cực giữa x và N.Center nhỏ hơn hay bằng N.Radius

Thí dụ, nếu chúng ta có nút N với tâm ở tại

N.Center=(10, 5, 11, 13, 7, 0, 0, 0, 0, , 0)

và N.ActiveDims={1,2,3,4,5}, thì nút này biểu diễn vùng chứa mọi điểm x mà nó

thỏa mãn:

Error!

Ta sử dụng ký pháp Region(N) để gọi vùng biểu diễn bởi nút N trong cây TV Ngoài các trường Center, Radius, ActiveDims, nút N trong cây TV còn chứa

trường Child của các con trỏ NumChild đến nút khác của cùng loại

Như trong trường hợp cây R, cây TV có các đặc tính sau:

1 Mọi dữ liệu được lưu trên các nút lá

2 Mỗi nút trong cây TV (trừ gốc và các lá), trong đó ít nhất một nửa chúng phải

có giá trị, do vậy, ít nhất nửa số con trỏ Child phải khác NIL

Trang 4

3

Error!

Nếu N là nút và N1, ,Nr là con của nó, thì

4.4.2 Chèn vào cây TV

Hãy xem xét trường hợp có không gian 5-d (khi ta chỉ có 5 khái niệm rút ra từ tập hợp tài liệu), và ta muốn chèn vài véctơ vào cây TV với tên TV(5, 3, 2) Giả sử

rằng toàn bộ không gian là siêu hình cầu (hyper-spher) có tâm tại (0,0,0,0,0) và

bán kính 50 Khởi đầu cây TV là rỗng

1 Giả sử véctơ thứ nhất sẽ chèn là (5,3,20,1,5) Nó được sử dụng để tạo ra nút gốc với các tính chất sau:

Root.Center=(0,0,0,0,0)

Root.Radius=50

Trong trường hợp này, gốc cũng là lá, có con trỏ đến thông tin phù hợp với điểm v1=(5,3,20,1,5)

Giả sử Root.ActiveDims={2,3}

Error!

Hình 4.5a chỉ ra tình huống này

2 Error!

Giả sử véctơ tiếp theo được chèn vào là v2=(0, 0, 18, 42, 4) Trong trường hợp này

ta cũng tạo thêm lá mới như trên đây Hình 4.5b mô tả tình huống này

3 Giả sử sau đó ta chèn véctơ v3=(0, 0, 19, 39, 6) Hình 4.5c mô tả tình huống

này Tại đây, nút gốc đã đầy, nó không thể có nút con khác nữa

Trang 5

4 Giả sử véctơ tiếp theo được chèn vào là v4=(9, 10, 2, 0, 16) Vùng biểu diễn

bởi gốc cây chứa nhiều hơn 3 đầu vào, vượt quá khả năng của gốc Do vậy ta phải

phân chia (split) gốc Có nhiều chiến lược phân chia gốc cây Lý tưởng là, cái ta

muốn làm là lấy 4 véctơ tham gia sau đó nhóm chúng thành hai nhóm Cách khác

là chia vùng biểu diễn bởi gốc thành hai phần sao cho mỗi phần chứa 2 trong 4 véctơ Dưới đây ta sẽ trao đổi một vài chiến lược phân chia khác Nhưng cái lo lắng bây giờ là việc phân chia nhóm sẽ sinh ra các nút như nhau cùng tồn tại Giả

sử chiến lược phân chia tạo ra v1 và v4 ở cùng phần và v2 và v3 cùng ở phần bên kia Trước hết v2 và v3 là tương tự vì chúng ở gần nhau theo quan niệm “khoảng

cách tích cực” nói trên Ba kết quả được chỉ ra trong hình 4.5d Các giá trị của trường bán kính và tâm của nút con được làm đầy bởi giá trị bất kỳ, ta sẽ chỉ ra chúng được xác định như thế nào Chú ý rằng gốc cây bây giờ có hai nút con: S1 và S2, mỗi nút con biểu diễn một vùng như trên hình 4.5d Mọi nút lá bây giờ đều ở

mức 2 trong cây

5 Giả sử nút tiếp theo được chèn vào là v5=(18, 5, 27, 9, 9) Để xác định nút con nào của gốc được chèn v5, ta phải thực hiện thao tác chọn cành (branch

selection) Hình 4.6a chỉ ra rằng ta chọn cành đến nút con thứ nhất thay cho nút

con thứ hai Thí dụ sau sẽ mô tả chi tiết việc chọn cành

6 Giả sử véctơ tiếp theo được chèn vào là v6=(0, 0, 29, 0, 3) Lần nữa ta phải

thực hiện chọn cành, lần này ta có thể chọn cành bên phải như hình 4.6b

7

Error!

Tiến trình cứ tiếp tục như vậy để chèn các nút vào cây TV

Tổng quát thì có ba bước chính trong việc chèn véctơ mới v vào cây TV như sau:

1 Chọn cành (Branch Selection): Khi ta chèn véctơ mới vào cây TV và ta đang

ở nút N (với các nút con Ni, 1£ i £ NumChild) thì ta phải xác định nút con nào được chèn khóa

2 Phân chia (Splitting): Ta sử dụng tiệm cận này khi ta đang ở tại nút lá mà nó

đã đầy và không thể chèn thêm véctơ v Bước này đòi hỏi phải bẻ gẫy trong nút

hiện hành

Trang 6

3 Thu gọn (Telescoping): Giả sử nút N được bẻ gẫy thành hai nút con N1 và N2 Trong trường hợp này hóa ra rằng mọi véctơ trong Region(N 1) phù hợp không chỉ

với số chiều tích cực của nút cha N mà phải hơn chút nữa Việc bổ sung các chiều

phụ này được gọi là thu gọn (telescoping) Thu gọn còn đòi hỏi huỷ bỏ một số

chiều tích cực, ta sẽ xem xét sau

Chọn cành (Branch Selection)

Error!

Ngày đăng: 08/07/2014, 09:20

TỪ KHÓA LIÊN QUAN

w