1. Trang chủ
  2. » Thể loại khác

DSpace at VNU: Phát triển một số kỹ thuật trong đối sánh mẫu

15 99 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 561,83 KB

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

Nội dung

Ngày nay, đối sánh mẫu hay mở rộng hơn là tìm kiếm đối sánh mẫu dữ liệu được ứng dụng rộng rãi trong nhiều lĩnh vực như: xử lý văn bản, tài chính và thị trường chứng khoán, thương mại, g

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN THUỶ KHÁNH

PHÁT TRIỂN MỘT SỐ KỸ THUẬT

LUẬN VĂN THẠC SĨ

Hà Nội - 2007

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN THUỶ KHÁNH

PHÁT TRIỂN MỘT SỐ KỸ THUẬT

Chuyên ngành: CÔNG NGHỆ THÔNG TIN

Mã số: 1.01.10

LUẬN VĂN THẠC SĨ

NGƯỜI HƯỚNG DẪN KHOA HỌC:

PGS.TSKH NGUYỄN XUÂN HUY

Hà Nội - 2007

Trang 3

LỜI CẢM ƠN

Em xin gửi lời biết ơn chân thành nhất đến PGS.TSKH Nguyễn Xuân Huy, người đã tận tình hướng dẫn em trong suốt quá trình thực hiện luận văn, cho em nhiều lời động viên cũng như những chỉ dẫn quý báu để em có thể thực hiện tốt được đề tài này

Bên cạnh đó, em xin chân thành cảm ơn các thầy cô trong khoa Công Nghệ Thông Tin đã hết lòng trong công tác giảng dạy, tận tình cung cấp nhiều kiến thức cần thiết trong suốt những năm học tại trường

Trong quá trình thực hiện đề tài, không thể không kể đến sự giúp đỡ, đóng góp ý kiến

và những lời động viên hết mình của bạn bè xung quanh, điều này thật sự đã giúp cho tôi rất nhiều Xin chân thành cám ơn các bạn

Và cuối cùng, con xin gửi đến bố mẹ và gia đình lòng biết ơn vô bờ bến Công lao dưỡng dục của bố mẹ, niềm tin mãnh liệt vào con của bố mẹ đã giúp con vượt qua được những giờ phút khó khăn nhất, khắc phục được những trở ngại lớn lao nhất để hoàn thành đề tài này

MỞ ĐẦU

Trong những năm gần đây, sự phát triển của công nghệ thông tin và ngành công nghiệp phần cứng đã làm cho khả năng thu thập và lưu trữ dữ liệu của các

hệ thống thông tin tăng nhanh Bên cạnh đó việc tin học hoá các hoạt động sản xuất, kinh doanh cũng như nhiều lĩnh vực hoạt động khác đã tạo ra cho chúng

ta một lượng dữ liệu lưu trữ lớn Nhiều cơ sở dữ liệu đã được sử dụng trong các hoạt động sản xuất, kinh doanh, quản lí , trong đó có những cơ sở dữ liệu cực lớn cỡ Gigabyte, thậm chí là Terabyte Sự gia tăng này đã dẫn tới một yêu cầu

Trang 4

là cần có những kĩ thuật và công cụ mới để phân tích, dự đoán dự báo thông tin dựa trên khối dữ liệu đó Do vậy, các kĩ thuật đối sánh đã trở thành một trong những vấn đề quan tâm của CNTT thế giới hiện nay

Đối sánh mẫu (pattern matching) là một chủ đề quan trọng của lĩnh vực xử

lý văn bản Bài toán đối sánh mẫu (chính xác) tổng quát được phát biểu là: Cho xâu mẫu P độ dài m và xâu (văn bản) S độ dài n trên cùng bảng chữ A Tìm một (hoặc tất cả) xuất hiện của mẫu P trong S Nhiều phương pháp kinh điển giải bài toán đối sánh mẫu được giới thiệu chi tiết trong [4,5]

Ngày nay, đối sánh mẫu hay mở rộng hơn là tìm kiếm đối sánh mẫu dữ liệu được ứng dụng rộng rãi trong nhiều lĩnh vực như: xử lý văn bản, tài chính

và thị trường chứng khoán, thương mại, giáo dục, y tế, sinh học, bưu chính viễn thông ,…

Với lĩnh vực khoa học công nghệ dự đoán dự báo có nhiều triển vọng trong tương lai, và cũng phù hợp với xu thế hiện nay là áp dụng công nghệ

thông tin vào mọi lĩnh vực của đời sống, nên em đã chọn hướng “Phát triển một số kỹ thuật trong đối sánh mẫu dữ liệu” cho luận văn của mình

Với mỗi lĩnh vực lại có cách biểu diễn mẫu dữ liệu cho từng lĩnh vực đó, việc tìm kiếm đối sánh cũng dựa trên cách biểu diễu mẫu để có những phương pháp tìm kiếm và đối sánh phù hợp nhất Trong khuôn khổ luận văn, em lựa chọn nghiên cứu dựa trên mẫu dữ liệu tuần tự theo thời gian

Dữ liệu tuần tự theo thời gian là một dãy các giá trị, đại diện cho số đo của một đại lượng tại các khoảng thời gian khác nhau

Hình 0.1 - Ví dụ về dữ liệu tuần tự theo thời gian

Trang 5

Mở rộng ra, cơ sở dữ liệu tuần tự theo thời gian là một bộ sưu tập với số lượng lớn của dữ liệu tuần tự theo thời gian

Ví dụ:

- Cơ sở dữ liệu chứa tất cả sự vận động của giá cổ phiếu trong thị trường chứng khoán

- Cơ sở dữ liệu doanh số bán hàng theo thời gian

- Cơ sở dữ liệu nhiệt độ về lưu lượng dòng chảy, độ mặn và mức độ xâm nhập mặn của sông Mekong

- Cơ sở dữ liệu nhiệt độ hàng ngày

- Cơ sở dữ liệu điện tâm đồ

- …

Khi biểu diễn các dãy dữ liệu tuần tự theo thời gian, dễ dàng nhận thấy mỗi dãy đều có một dáng điệu riêng tùy thuộc vào sự thay đổi giá trị trong dãy Bài toán đối sánh mẫu bản chất là bài toán tìm kiếm mẫu dữ liệu tương đương trong dữ liệu tuần tự theo thời gian Việc tìm kiếm các mẫu thích hợp trong dữ liệu tuần

tự theo thời gian đóng vai trò quan trọng trong các ứng dụng thuộc hầu hết lĩnh vực khoa học, kinh tế và kỹ thuật như tìm kiếm giai điệu, tìm các mẫu giá chứng khoán trong quá khứ để có thể dự đoán khuynh hướng giá trong tương lai, số lượng sản phẩm bán ra, dự báo mức độ ô nhiễm môi trường, lũ lụt hay

dự báo thời tiết,…

Nội dung của luận văn gồm các chương mục sau:

Trang 6

Chương 1: Cơ sở lý thuyết

Trình bày các lý thuyết quan trọng liên quan

Chương 2: Một số kỹ thuật trong đối sánh mẫu

Mô tả các kỹ thuật đối sánh và cách áp dụng các vấn đề lý thuyết đã nêu

Chương 3: Cài đặt, kết quả thử nghiệm

Cài đặt chương trình, sơ lược về cách sử dụng, các kết quả thử nghiệm

Phụ lục: Phụ lục A: Danh mục hình vẽ

Phụ lục B: Bộ dữ liệu nguồn

Trang 7

1.1

1.2 Chương 1

1.1 BIỂU DIỄN DỮ LIỆU TUẦN TỰ THEO THỜI GIAN

Cũng như đối với hầu hết các vấn đề khác của khoa học máy tính, việc biểu diễn dữ liệu chính là chìa khóa mở ra các giải pháp đạt hiệu quả cao Đối với

dữ liệu tuần tự theo thời gian, một số phương pháp biểu diễn dữ liệu tuần tự theo thời gian cấp cao đã được đề xuất, bao gồm phép biến đổi Fourier, Wavelets (sóng nhỏ), ánh xạ ký tự/biểu tượng và biểu diễn tuyến tính Piecewise (PLR) Trong đó, một trong những phương pháp biểu diễn được sử dụng phổ biến nhất là xấp xỉ tuyến tính Piecewise Cách biểu diễn này được nhiều nhà nghiên cứu khác nhau sử dụng để hỗ trợ gom cụm, phân lớp, chỉ mục và khai mỏ luật kết hợp trong dữ liệu tuần tự theo thời gian Liên quan đến

phương pháp này, đã có nhiều thuật toán ra đời Tuy nhiên, theo [8], tất cả các

thuật toán này đều có những thiếu sót không tránh khỏi khi đứng trên phương diện khai thác dữ liệu

Các thuật toán phân đoạn cũng có thể được phân thành các loại: theo lô hay trực tuyến

Trong [8] cũng đã phân tích 3 thuật toán cơ bản để phân đoạn dữ liệu:

- Cửa sổ trượt (Sliding Windows): một phân đoạn lớn dần lên cho đến khi

nó vượt quá một giới hạn sai số nào đó Quá trình lặp lại với điểm dữ liệu kế tiếp không trong phân đoạn xấp xỉ mới

- Trên - Dưới (Top-Down): dữ liệu tuần tự theo thời gian được chia một cách đệ quy cho đến khi gặp một điều kiện dừng nào đó

Trang 8

- Dưới lên trên (Bottom-Up): bắt đầu từ xấp xỉ có khả năng tốt nhất, các phân đoạn được trộn cho đến khi gặp một điều kiện dừng nào đó

Các tác giả [8] cũng đã tiến hành các thực nghiệm, và nhận thấy rằng thuật toán cửa sổ trượt là thuật toán trực tuyến, thực hiện kém nhất Vấn đề chính với thuật toán cửa sổ trượt là không bao quát được các bản sao “offline” của nó Các cách tiếp cận Bottom-Up và Top-Down cho ra kết quả tốt hơn, nhưng là

“offline” và yêu cầu quét qua toàn bộ tập dữ liệu Đây là một thực tế, trong nhiều trường hợp có thể còn không thực hiện được trong ngữ cảnh khai mỏ dữ liệu

Thách thức đối với dữ liệu tuần tự theo thời gian là: tìm kiếm sự khác nhau hoặc tương đương nhau đối với 2 bộ dữ liệu tuần tự theo thời gian (trong cùng một lĩnh vực)

Ví dụ cho 2 bộ dữ liệu X=x1, x2,…, xn Y= y1, y2,…, yn

hãy cho biết X và Y tương đương hay khác nhau? Vấn đề này thật khó vì chúng ta thường có khái niệm chủ quan về sự tương đương, tương đương ở đây phụ thuộc vào khách thể, vào từng lĩnh vực và công việc cụ thể

Trang 9

Phần 2 Để giải quyết vấn đề này phải có độ đo về sự tương đương cho phép đối sánh dữ liệu ở mức độ xấp xỉ, ngoài ra còn có thể sử dụng các thuật toán như: chỉ mục, phân lớp, gom cụm, phân đoạn dữ liệu,…để tìm ra các mẫu trong tập dữ liệu tuần tự theo thời gian tương ứng của chúng

Phần 3 Thách thức thứ hai đối với dữ liệu tuần tự theo thời gian là việc lập chỉ mục: cho hai bộ dữ liệu tuần tự theo thời gian X=x 1 , x 2 , …, x n và Q Tìm bộ hoặc các bộ dữ liệu con trong

X mà tương đương với Q Để giải quyết vấn đề này một cách hiệu quả ta lập chỉ mục trên dữ liệu X

Phần 4 Một bộ dữ liệu tuần tự theo thời gian có chiều dài n (n bản ghi, hay một đối tượng tại n thời điểm khác nhau) có thể được coi như một bộ trong không gian n chiều Lập chỉ mục trực tiếp cho không gian này thì không hợp lý vì nó có số chiều rất lớn (có thể là hàng triệu hoặc hàng tỷ chiều) Ý tưởng chính của việc cải tiến là sử dụng kỹ thuật để giảm bớt số chiều của không gian như biến đổi Fourier hoặc biến đổi Cosine rời rạc, tức là ánh xạ dữ liệu tuần tự theo thời gian có độ dài n vào không gian thấp hơn có k chiều (k<<n)

1.2 ĐỘ ĐO SỰ TƯƠNG ĐƯƠNG

Cho O1 và O2 là hai đối tượng tồn tại trong thế giới thực Khoảng cách hay độ

đo tương đương giữa chúng được biểu diễn bằng D(O1,O2)

Các thuộc tính của độ đo tương đương:

1 Tính đối xứng:

D(x, y) = D(x,y)

2 Tính không âm

D(x, y) ≥ 0 với  x, y; D(x,y)=0  x=y

A

C

B

Trang 10

3 Bất đẳng thức tam giác:

D(A, B) ≤ D(A, C) + D(B, C)

1.2.1 Độ đo sự tương đương giữa hai dãy có độ dài bằng nhau

Cho dãy dữ liệu C = (c1, c2, ……., cm) là dãy dữ liệu nguồn được lưu trữ trong

cơ sở dữ liệu

Gọi Q = (q1, q2, ……., qn) (n < m) là dãy dữ liệu mẫu để truy vấn trên dãy dữ liệu nguồn Q, C cũng là một dãy tuần tự (giả sử dãy này cũng được lấy mẫu theo cùng một cách như Q)

Cho đến thời điểm này, đã có một số độ đo được đề xuất để tính khoảng cách giữa hai dãy, trong số các độ đo này, độ đo được sử dụng phổ biến nhất là độ

đo Lp(Q, C), độ đo này được [5] định nghĩa như sau:

p c

q C

Q L

Q

i

p p i i

1

1

Hình 1.1 -Độ đo sự tương đương của hai dãy bằng nhau

Độ đo Lp(Q, C) được sử dụng rộng rãi và được xem như là độ đo khoảng cách trong quá trình tìm kiếm tương đương dữ liệu tuần tự theo thời gian

Trong trường hợp đặc biệt, với p=1 được gọi là độ đo khoảng cách Manhattan

và p= 2 chính là độ đo khoảng cách Euclid Trong lĩnh vực nghiên cứu đối sánh

Q

C

Lp(Q,C)

Trang 11

các dãy con, khoảng cách Euclid được xem là độ đo chủ đạo Tuy nhiên, có thể chọn độ đo Manhattan để đo sự tương đương

Trong nhiều ứng dụng dùng dữ liệu tuần tự theo thời gian, người ta thường xem xét sự khác biệt về dáng điệu hoặc khuynh hướng của dữ liệu hơn là sự khác nhau về giá trị các phần tử Vì thế, [6] đã đề xuất một độ đo khoảng cách giữa hai dãy, trong đó xem xét sự tương đương về dáng điệu, ngay cả khi các giá trị số của chúng hoàn toàn khác nhau Do quan tâm đến việc ánh xạ các giá trị chính xác của các chuyển động lên - xuống của dáng điệu sử dụng trong độ

đo, nên các tác giả dùng kỹ thuật biến đổi (shifting), từ dãy gốc ban đầu, lấy giá trị của các phần tử trừ cho giá trị trung bình của các phần tử Sau đó, dùng

độ đo Lp(Q, C) giữa các phiên bản sau khi đã biến đổi này Độ đo mới được định nghĩa hình thức như sau:

Q’= Q – mean(Q)

C’= C- mean(C)

với mean(Q), mean(C) là giá trị trung bình của các giá trị các phần tử trong dãy

Q và dãy C

Với 2 dãy Q, C có cùng độ dài, độ đo khoảng cách L p (Q, C)) = L p (Q’, C’)

Hình 1.2 – Ví dụ về kỹ thuật biến đổi (shifting)

0 50 100 150 200 250 300

0

0.5

1

1.5

2

2.5

3

0 50 100 150 200 250 300 0

0.5 1 1.5 2 2.5 3

0 50 100 150 200 250 300

Q’ = Q - mean(Q) C’ = C - mean(C)

L p (Q,C)

L p (Q’,C’)

Trang 12

Tuy nhiên, chỉ có thể sử dụng độ đo Lp(Q, C) để đo khoảng cách giữa hai dãy

có độ dài bằng nhau

Khi độ đo khoảng cách giữa 2 bộ dữ liệu tuần tự theo thời gian không rõ ràng - bóp méo (warping) trong dữ liệu, một kỹ thuật chung để khử nhiễu là tính giá trị trung bình tại mỗi điểm của dữ liệu so với các điểm kề gần nó Trong một số trường hợp ta cũng không muốn bỏ đi sự bóp méo này vì chúng rất đặc trưng trong từng loại dữ liệu, lúc đó ta cần dùng tới độ đo khác

1.2.2 Độ đo sự tương đương giữa hai dãy có độ dài khác nhau

Time warping là độ đo sự tương đương giữa hai dãy có độ dài khác nhau Để xác định khoảng cách nhỏ nhất giữa hai dãy tuần tự, Time warping cho phép mỗi phần tử của một dãy đối sánh với một hay một số các phần tử lân cận của một dãy khác Trong [6] đã đưa ra định nghĩa về độ đo khoảng cách này như sau

Định nghĩa 1:

Cho hai dãy tuần tự C= C1, C2, …., Cm và Q = Q1, Q2, … , Qn, khoảng cách Time warping Dtw được định nghĩa đệ quy như sau:

Trục thời gian cố định

Fixed Time Axis

Các điểm dữ liệu được nối

thẳng hàng (“one to one”)

Trục thời gian không rõ ràng Warped Time Axis

Các điểm dữ liệu được nối thành hàng phi tuyến

Hình 1.3 - Trục thời gian cố định và trục thời gian không rõ ràng

Trang 13

)) ( ), ( (Re

) ), ( (Re

)) ( Re , ( min

)) ( ),

( (

) , (

) , ( )

, (

0 ) , (

Q Last C

st D

Q C st D

Q st C D

Q First C

First D

Q C D

Q D

C D D

tw tw tw

base tw

tw tw

tw

Với:

- : là dãy rỗng

- First(C) = C1 , First(Q) = Q1

- Last(C) = Cn , Last(Q) = Qm

- Rest(C) = (C2, C3,…., Cn) , Rest(Q) = (Q2, Q3,…., Qm)

- Dbase là hàm trả về khoảng cách giữa hai phần tử

Trong cơ sở dữ liệu gồm các dãy có độ dài khác nhau, các dãy dữ liệu có khoảng cách Time warping so với dãy truy vấn nhỏ hơn giá trị dung sai  cho trước thì được xem như tương đương nhau

Trong mô hình tương đương được đề cập trong [6], khoảng cách Time warping trong định nghĩa 1 được viết lại như sau:

TÀI LIỆU THAM KHẢO

Tiếng Việt

[1] Nguyễn Đức Khoa (2004), Phát triển các kỹ thuật Heuristics trong khai

khoáng dữ liệu theo thời gian, Luận văn Thạc sĩ ngành Tin

học, Trường Đại học Khoa Học Tự Nhiên, ĐHQG TPHCM,

TP HCM

[2] Nguyễn Đình Phương Loan (2005), Tìm kiếm dữ liệu theo dáng điệu, Luận

văn Thạc sĩ ngành Tin học, trường Đại học Khoa học Tự Nhiên, ĐHQG.TPHCM

Trang 14

[3] Nguyễn Thị Thanh Huyền, Bùi Kiên Cường, Phan Trung Huy , Các thuật toán

tìm kiếm xâu con và tìm kiếm tựa ngữ nghĩa có sử dụng otomat mờ, Kỷ yếu

Hội thảo quốc gia lần thứ VI về “Một số vấn đề chọn lọc của Công nghệ thông

tin”, Thái Nguyên, 2003

Tiếng Anh

[4] Alfred V Aho, Algorithms for Finding Pattern in Strings, Chapter V,

Handbook of Theoretical Computer Science, Vol A, Jan Van Leeuwen, Algorithms and Complexity, The MIT Press.,

1990, pp 257-299

[5] Christian Charras, Thierry Lecroq, Hanbook of Exact String- matching

Algorithms

[6] Kim S, Park S, Chu W (2001), “An index-based approach for similarity

search supporting time warping in large sequence

conference on data engineering, pp 607 – 614

[7] E.Keogh, K.Chakrabarti, S.Mehrotra, M.Pazzani, “Locally Adaptive

Dimensionality Reduction for Indexing Large Time Series Databases”

[8] E Keogh, S Chu, D Hart, and M Pazzani (2001), “An online Algorithm

for Segmenting Time series” In Proceedings of 2001 IEEE

International Conference on Data Mining, pp 289 – 296

[9] V Gaede, O Gunther ( 1998), “Multidimensional Access Methods”,

ACM Computing Surveys, 30 (2), pp 170 – 231

[10] A Guttman (1984), R-Tree: A Dynamic Index structure for Spatial Searching,

proc Of SIGMOD, pp 47 – 57

[11] K Chakrabarti, S Mehrotra (1999), “The Hybrid Tree – An Index

Structure for High Dimensional Feature Spaces”, In Proc

Int Conf On Data Engineering, p 440 – 447

[12] Park S, Kim S, Chu W (2001), “Segment-based approach for subsequence

ACM symposium

on applied computing, Las Vegas, NV, pp 248 – 252

[13] Huang, Y & Yu, P S (1999), “Adaptive query processing for time-series

data”, In Proceedings of the 5 th Int’l Conference on Knowledge Discovery and

Data Mining, San Diego, CA, Aug 15 – 18, pp 282 – 286

[14] Y Morinaka, M Yoshikawa, T Amagasa and S Uemura (2001), “The

L-index - An Indexing Structure for Efficient Subsequence Matching in Time Sequence Database”, PAKDD

Ngày đăng: 18/12/2017, 05:53

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w