Giải thuật NN_LBKeogh

Một phần của tài liệu Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động (Trang 69)

Giải thuật NN_LBKeogh hoạt động như sau:

- Trong vòng lặp for từ dòng 1 đến dòng 9, với mỗi chuỗi dữ liệu, giải thuật

tìm chuỗi có chặn dưới LB_Keogh đến nó nhỏ nhất.

- Vòng lặp for thứ 2 từ dòng 10 đến dòng 12 tính DTW thực của mỗi chuỗi

đến chuỗi có LB_Keogh nhỏ nhất.

- Vòng lặp for thứ 3 từ dòng 13 đến dòng 22 cập nhật lại khoảng cách DTW

nhỏ nhất và chuỗi có DTW nhỏ nhất, nhưng chỉ tính DTW với những cặp có

LB_Keogh nhỏ hơn MinDis tương ứng.

4.1.3.2. Giải thuật huấn luyện

Sau khi tìm được mẫu gần nhất của mỗi mẫu, hệ thống sẽ sắp xếp tập huấn luyện

TrainingSet bằng rank và priority. Nếu tập huấn luyện có K lớp dữ liệu thì tập huấn luyện này được sắp xếp sao cho trong K chuỗi đầu tiên không có cặp chuỗi nào cùng lớp với nhau. K chuỗi này là K chuỗi có thứ hạng cao nhất của mỗi lớp. Từ chuỗi thứ

K+1 trở đi, các chuỗi được sắp xếp theo thứ tự giảm dần của rank. Các chuỗi có rank

bằng nhau sẽ được sắp xếp theo thứ tự giảm dần của priority.

Giải thuật sắp xếp tập huấn luyện dựa trên kết quả các cặp chuỗi gần nhất được trình bày trong Hình 4-3.

Giải thuật này hoạt động như sau:

- Đầu tiên, giải thuật cần tìm các cặp chuỗi láng giềng gần nhất và khoảng

cách giữa chúng. Việc này được thực hiện bằng giải thuật láng giềng gần

nhất NN_LBKeogh. Mảng NN[i] lưu chuỗi gần nhất của mẫu i.

MinDis[i] lưu khoảng cách từ chuỗi thứ i đến chuỗi gần nhất của nó. - Với mỗi chuỗi i, nếu nhãn lớp của i và NN[i] giống nhau, tăng giá trị

- Sắp xếp tập huấn luyện bằng giá trị rank tương ứng sử dụng giải thuật

Simple_Rank. Với những chuỗi có rank bằng nhau thì sắp xếp bằng giá trị priority.

Thứ tự được lưu vào mảng index[], trong đó index[p]là chuỗi thứ p.

Hình 4-3 Giải thuật huấn luyện

4.1.4. Giai đoạn phân lớp

Giai đoạn phân lớp được thực hiện sau khi giai đoạn huấn luyện đã hoàn thành.

thống sẽ cho biết kết quả dự đoán lớp của O dựa trên tập huấn luyện TrainingSet đã được sắp xếp ở giai đoạn huấn luyện.

Giải thuật phân lớp

- Dữ liệu nhập:

o Tập huấn luyện TrainingSet.

o Thứ tự của tập huấn luyện Index.

o Chuỗi mục tiêu O.

o Thời điểm dừng

- Dữ liệu xuất:

o Nhãn lớp cho mẫu O.

1. Algorythm AnytimeClassification(TrainingSet[], Index[],Object O) 2. best_distance = inf; 3. best_match_class = undefined; 4. for p=1 to number_of_class do 5. D = LowerBound(TrainingSet[Index[p]], O); 6. if D < best_distance then 7. D = DTW (TrainingSet[Index[p]], O); 8. if D < best_distance then a. best_distance = D; b. best_match_class = TrainingSet[Index[p]].class_label; 9. end if 10.end if 11.end for 12. p = number_of_class + 1;

13.while (user_has_not_interrupted AND p < index.count) 14. D = LowerBound(TrainingSet[Index[p]], O); 15.if D < best_distance then 16. D = DTW (TrainingSet[Index[p]], O); 17.if D < best_distance then a. best_distance = D; b. best_match_class = TrainingSet[Index[p]].class_label; 18.end if 19.end if 20. p++;

Giai đoạn này được thực hiện bằng giải thuật phân lớp trình bày trong Hình 4-4. Giải thuật này nhận ba thông số đầu vào: Tập huấn luyện TrainingSet, mảng có thứ tự

Index của tập huấn luyện (thứ tự được sắp xếp trong giai đoạn huấn luyện) và chuỗi mục tiêu O. Giải thuật này hoạt động như sau:

- Vòng lặp for đầu tiên, giải thuật thực hiện việc tìm khoảng cách giữa chuỗi

mục tiêu O với chuỗi có thứ hạng cao nhất của mỗi lớp. Lấy nhãn lớp của

chuỗi có khoảng cách đến chuỗi mục tiêu O nhỏ nhất gán cho kết quả phân

lớp và gán khoảng cách đó cho khoảng cách tốt nhất. Trong giai đoạn này giải thuật không được dừng.

- Sau khi kiểm tra hết một chuỗi của mỗi lớp, giải thuật có thể được dừng bất

kỳ lúc nào.

- Với mỗi chuỗi tiếp theo của tập huấn luyện, giải thuật tìm khoảng cách DTW giữa nó với chuỗi mục tiêu. Nếu khoảng cách DTW là nhỏ hơn khoảng cách tốt nhất thì cập nhật lại khoảng cách tốt nhất và kết quả phân lớp.

- Trước khi tìm khoảng cách DTW, giải thuật tính giá trị chặn dưới. Nếu giá

trị chặn dưới nhỏ hơn khoảng cách tốt nhất hiện tại thì mới tính khoảng cách DTW.

4.2. Thực nghiệm

4.2.1. Hệ thống phân lớp dữ liệu chuỗi thời gian

Phần này đưa ra kiến trúc mô hình thực nghiệm của hệ thông phân lớp dữ liệu.

Theo Hình 4-5 với tập dữ liệu chuỗi thời gian ban đầu ta thực hiện huấn luyện

trên tập dữ liệu gốc, dùng chiến lược Simple Rank để sắp thứ tự tập huấn luyện, sau đó phân lớp dữ liệu chuỗi thời gian đầu vào dựa vào tập huấn luyện đã được sắp xếp.

Hình 4-5 Mô hình thực hiện giải thuật phân lớp có thời gian thực thi tuỳ chọn không sử dụng motif

Theo Hình 4-6 với tập dữ liệu chuỗi thời gian ban đầu ta, trước tiên ta thực hiện tìm kiếm motif đại diện cho các chuỗi thời gian trong tập huấn luyện , sau đó thực hiện huấn luyện trên tập các motif đại diện, dùng chiến lược Simple Rank để sắp thứ tự tập các motif đại diện, sau đó phân lớp dữ liệu chuỗi thời gian đầu vào dựa vào tập huấn luyện đã được sắp xếp.

Hình 4-6 Mô hình thực hiện giải thuật phân lớp có thời gian thực thi tuỳ chọn sử dụng motif

4.2.2. Cấu hình

Trong luận văn này chúng tôi hiện thực bằng ngôn ngữ C# và chạy trên máy PC Intel® Core™2 Duo Processor T8100 (2.10GHz), 2GB RAM, Window 7.

4.2.3. Tập dữ liệu

Đề tài thực nghiệm trên hai tập dữ liệu sau:

- Tập dữ liệu TwoPat: Tập dữ liệu TwoPat (two patterns) được thiết kế bởi

Guerts (2002) [9] để phục vụ cho mục đích thử nghiêm công trình của tác giả. Tập dữ liệu này cũng đã được một số nhà nghiên cứu sử dụng để đo kết quả. Tập dữ liệu này được định nghĩa bằng hàm toán học cộng thêm một số nhiễu. Tập dữ liệu này gồm bốn lớp: up-up, up-down, down-up và down- down. Tập dữ liệu này gồm 5000 chuỗi, mỗi chuỗi được gán nhãn lớp tương ứng.

- Tập dữ liệu Clustered: Tập dữ liệu này gồm 1000 chuỗi, mỗi chuỗi có chiều

dài 256 giá trị. Dữ liệu trong tập dữ liệu này chưa có nhãn lớp. Đề tài sử dụng phần mềm Cluster của tác giả Võ Lê Quy Nhơn [13] để gom tập dữ liệu này thành 4 nhóm. Phần mềm Cluster này sử dụng khoảng cách Euclid để làm độ đo tương tự giữa các chuỗi.

4.2.4. Thực nghiệm giai đoạn huấn luyện

Tiêu chí để đánh giá giai đoạn huấn luyện là thời gian thực thi của giải thuật có sử dụng thông tin motif với thời gian thực thi của giải thuật không sử dụng thông tin motif. Đề tài đã tiến hành thực nghiệm trên hai tập dữ liệu mẫu và thu được kết quả như sau:

4.2.4.1. Tập dữ liệu TwoPat

Với tập dữ liệu TwoPat, tập huấn luyện bao gồm 1000 mẫu. Ta tiến hành thực nghiệm so sánh thời gian thực thi của giải thuật có sử dụng thông tin motif với thời gian thực thi của giải thuật không sử dụng thông tin motif. Đề tài thực nghiệm mỗi trường hợp 10 lần và lấy trung bình giá trị thời gian chạy. Sau đây là kết quả thực nghiệm thời gian chạy của tập dữ liệu này. Kết quả thời gian chạy này được tính bằng giây.

Bảng 4-1 thể hiện kết quả thực nghiệm thời gian thực thi của giải thuật có sử dụng thông tin motif với thời gian thực thi của giải thuật không sử dụng thông tin motif ứng với các kích thước cửa sổ xoắn R khác nhau khi không sử dụng kỹ thuật chặn dưới.

WindowSize Without Motif With Motif

0% 200.09 33.82 10% 687.81 84.18 20% 1071.71 145.7 30% 1468.00 164.9 40% 1788.22 184.06 50% 2070.79 249.34 60% 2298.72 243.86 70% 2510.68 250.5 80% 2668.15 260.46 90% 2778.43 258.9 100% 2841.3 263.7

Bảng 4-1 Thời gian thực hiện giai đoạn huấn luyện không dùng kỹ thuật chặn dưới trên tập dữ liệu TwoPat

Hình 4-7 Biểu đồ thời gian thực thi giai đoạn huấn luyện không sử dụng kỹ thuật chặn dưới trên tập dữ liệu TwoPat

Biểu đồ thể hiện thời gian thực thi của hai giải thuật khi huấn luyện thể hiện trong Hình 4-7. Biểu đồ này cho thấy, thời gian thực thi của giải thuật có sử dụng thông tin Motif thấp hơn so với giải thuật không sử dụng thông tin Motif, với kích thước cửa sổ xoắn càng lớn thì sự khác biệt này càng thể hiện rõ, nguyên nhân là khi sử dụng thông tin motif, giải thuật huấn luyện chỉ làm việc trên motif để tính khoảng cách giữa các thể hiện trong tập huấn luyện, mà mỗi motif thì có kích thước rất nhỏ so với chuỗi dữ liệu thời gian ban đầu, nên quá trình tính toán khoảng cách sẽ đơn giản và tốn ít thời gian hơn rất nhiều.

Bảng 4-2 thể hiện kết quả thực nghiệm thời gian thực thi của giải thuật có sử dụng thông tin motif với thời gian thực thi của giải thuật không sử dụng thông tin motif ứng với các kích thước cửa sổ xoắn R khác nhau khi sử dụng kỹ thuật chặn dưới LB_Keogh.

WindowSize Without Motif With Motif

0% 18.1 5.26 10% 84.59 19.06 20% 555.71 47.06 30% 1137.89 78.22 40% 1633.52 108.72 50% 2030.6 139.14 60% 2394.39 136.78 70% 2590.68 177.28 80% 2708.15 190.62 90% 2788.43 193.34 100% 2881.3 200.26

Bảng 4-2 Thời gian thực hiện giai đoạn huấn luyện của hai giải thuật dùng kỹ thuật chặn dưới LB_Keogh trên tập dữ liệu TwoPat

Hình 4-8 Biểu đồ thời gian thực thi giai đoạn huấn luyện dùng kỹ thuật chặn dưới LB_Keogh trên tập dữ liệu TwoPat

Biểu đồ thể hiện thời gian thực thi của hai giải thuật khi huấn luyện thể hiện trong

Hình 4-8. Biểu đồ này cho thấy, thời gian thực thi của giải thuật có sử dụng thông tin Motif thấp hơn so với giải thuật không sử dụng thông tin Motif, với kích thước cửa sổ xoắn càng lớn thì sự khác biệt này càng thể hiện rõ.

4.2.4.2. Tập dữ liệu Clustered

Tập dữ liệu này gồm 1000 chuỗi. Đề tài chọn ngẫu nhiên 600 chuỗi làm tập huấn luyện và 400 chuỗi còn lại làm tập kiểm tra. Đề tài thực nghiệm mỗi trường hợp 10 lần và lấy trung bình giá trị thời gian chạy. Sau đây là kết quả thực nghiệm thời gian chạy của tập dữ liệu này. Kết quả thời gian chạy này được tính bằng giây.

Bảng 4-3 thể hiện kết quả thực nghiệm thời gian thực thi của giải thuật có sử dụng thông tin motif với thời gian thực thi của giải thuật không sử dụng thông tin motif ứng với các kích thước cửa sổ xoắn R khác nhau trên tập dữ liệu Clustered.

WindowSize Without Motif With Motif

0% 10.87 2.58 10% 22.86 3.72 20% 104.85 5.34 30% 156.13 6.57 40% 207.23 7.97 50% 207.23 8.82 60% 255.65 9.95 70% 296.80 11.07 80% 339.45 12.00 90% 374.61 12.61 100% 390.60 13.48

Bảng 4-3 Thời gian thực hiện giai đoạn huấn luyện của hai giải thuật dùng kỹ thuật chặn dưới LB_Keogh trên tập dữ liệu Clustered

Biểu đồ thể hiện thời gian thực thi của hai giải thuật khi huấn luyện thể hiện trong

Hình 4-9. Biểu đồ này cho thấy, với kích thước cửa sổ xoắn càng lớn thì sự khác biệt càng thể hiện rõ, thời gian thực thi của giải thuật có sử dụng thông tin motif thấp hơn so với giải thuật không sử dụng thông tin motif.

4.2.5. Thực nghiệm giai đoạn phân lớp

Để đánh giá độ chính xác phân lớp của giải thuật, chúng ta có một số phương pháp thông dụng dựa trên sự phân vùng ngẫu nhiên trên tập dữ liệu mẫu như: tập ngẫu nhiên (random subsampling), kiểm tra chéo (cross-validation), bẫy dữ liệu

(bootstrap), … Trong luận văn này chúng tôi dùng phương pháp kiểm tra chéo.

Trong phương pháp kiểm tra chéo, tập dữ liệu mẫu ban đầu được chia ra làm k tập

con D1, D2,…, Dk có kích thước bằng nhau, quá trình huấn luyện và kiểm tra được thực

hiện trong k lần, tại lần lặp thứ i, tập con Di sẽ được dùng làm tập kiểm tra, các tập con còn lại sẽ được dùng làm tập huấn luyện. Như vậy, mỗi mẫu trong tập dữ liệu sẽ được dùng để huấn luyện cùng một số lần như nhau và được dùng một lần để kiểm tra. Độ chính xác phân lớp được tính bằng tổng số mẫu được phân lớp chính xác trong

k lần lặp chia cho tổng số mẫu trong tập dữ liệu ban đầu.

4.2.5.1. Tập dữ liệu TwoPat

Dựa vào phương pháp kiểm tra chéo, chúng ta thực hiện đánh giá phương pháp phân lớp chuỗi dữ liệu thời gian có sử dụng thông tin motif trên tập dữ liệu TwoPat. Tập dữ liệu có 5000 mẫu đã được phân lớp sẵn, chúng tôi chia làm 5 tập con riêng biệt: mỗi tập gồm 1000 mẫu, được đặt tên theo thứ tự D1, D2,…, D5. Kết quả số mẫu phân lớp chính xác sau khi thực hiện 5 lần, mỗi lần dùng một tập con để kiểm tra được thể hiện trong Bảng 4-4.

Subset Without Motif With Motif D1 987 974 D2 991 950 D3 972 972 D4 989 961 D5 976 948

Bảng 4-4 Số lượng mẫu phân lớp chính xác trên tập dữ liệu TwoPat

Bảng 4-5 thể hiện chất lượng phân lớp giữa hai giải thuật phân lớp có sử dụng thông tin motif và không sử dụng thông tin motif

Without Motif With Motif

98,30 % 96,10 %

Bảng 4-5 Độ chính xác phân lớp của giải thuật phân lớp có sử dụng thông tin motif và không sử dụng thông tin motif trên tập dữ liệu TwoPat

Hình 4-10 thể hiện kết quả số mẫu phân lớp của hai giải thuật có sử dụng thông tin motif so với giải thuật không sử dụng thông tin motif.

Dựa vào kết quả Bảng 4-4 và Hình 4-10 ta thấy độ chính xác phân lớp của giải thuật phân lớp có thời gian thực thi tuỳ chọn sử dụng thông tin motif có độ chính xác thấp hơn giải thuật phân lớp có thời gian thực thi tuỳ chọn không sử dụng thông tin motif, tuy nhiên sự khác biệt này không đáng kể và ta có thể xem là cả hai giải thuật có độ chính xác tương đương nhau.

Hình 4-10 kết quả số mẫu phân lớp trên tập dữ liệu TwoPat

4.2.5.2. Tập dữ liệu Clustered

Tập dữ liệu có 1000 mẫu, chúng tôi chia làm 5 tập con riêng biệt: mỗi tập gồm 200 mẫu, được đặt tên theo thứ tự D1, D2,…, D5. Kết quả số mẫu phân lớp chính xác sau khi thực hiện 5 lần, mỗi lần dùng một tập con để kiểm tra được thể hiện trong Bảng 4-6.

Subset Without Motif With Motif

D1 199 186

D2 199 196

D3 195 184

D4 191 189

D5 194 191

Bảng 4-7 thể hiện chất lượng phân lớp giữa hai giải thuật phân lớp có sử dụng thông tin motif và không sử dụng thông tin motif trên tập Clustered

Without Motif With Motif

97,80 % 94,60 %

Bảng 4-7 Độ chính xác phân lớp của giải thuật phân lớp có sử dụng thông tin motif và không sử dụng thông tin motif trên tập dữ liệu Clustered

Hình 4-11 thể hiện kết quả số mẫu phân lớp của hai giải thuật có sử dụng thông tin motif so với giải thuật không sử dụng thông tin motif.

Dựa vào kết quả Bảng 4-6 và Hình 4-11 ta thấy độ chính xác phân lớp của giải thuật phân lớp có thời gian thực thi tuỳ chọn sử dụng thông tin motif có độ chính xác thấp hơn giải thuật phân lớp có thời gian thực thi tuỳ chọn không sử dụng thông tin motif, tuy nhiên sự khác biệt này không đáng kể và ta có thể xem là cả hai giải thuật có độ chính xác tương đương nhau.

CHƯƠNG 5: KẾT LUẬN 5.1. Tổng kết

Đề tài này đã trình bày giải thuật phân lớp có thời gian thực thi tùy chọn cho dữ liệu chuỗi thời gian. Đề tài đã giải quyết được các vấn đề cơ bản là xây dựng dựng được giải thuật phân lớp có thời gian thực thi tùy chọn, sử dụng khoảng cách DTW

Một phần của tài liệu Ứng dụng nhận dạng motif hỗ trợ phân lớp dữ liệu chuỗi thời gian dùng độ đo xoắn thời gian động (Trang 69)

Tải bản đầy đủ (PDF)

(94 trang)