Xem mẫu

  1. Kỷ yếu Hội nghị KHCN Quốc gia lần thứ XII về Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin (FAIR); Huế, ngày 07-08/6/2019 DOI: 10.15625/vap.2019.00048 PHƯƠNG PHÁP GIA TĂNG MA TRẬN ĐỘ HỖ TRỢ TRÊN KHỐI DỮ LIỆU VÀ TRÊN LÁT CẮT KHI TẬP ĐỐI TƯỢNG THAY ĐỔI Trịnh Đình Thắng1, Đỗ Thị Lan Anh2, Trần Minh Tuyến3, Cao Hồng Huệ4 1,2,4 Viện Công nghệ Thông tin, Trƣờng Đại học Sƣ Phạm Hà Nội 2 3 Đại học Công Đoàn thangdhsp2@hpu2.edu.vn, lananh.cntt.sp2@gmail.com, tuyentm@dhcd.edu.vn, hue.ch1124@gmail.com TÓM TẮT: Báo cáo đề xuất phương pháp gia tăng để tính gia tăng ma trận độ hỗ trợ, từ đó tính ma trận độ chính xác và ma trận độ phủ trên khối dữ liệu có tập đối tượng thay đổi để sinh các luật quyết định. Các thuật toán để tính gia tăng ma trận độ hỗ trợ trên khối quyết định và trên các lát cắt của nó cũng đã được đề xuất khi tăng hoặc giảm tập đối tượng… Độ phức tạp của các thuật toán này trên khối quyết định và trên lát cắt cũng đã được phát biểu và chứng minh. Ngoài ra, việc so sánh độ phức tạp thời gian của hai phương pháp gia tăng tính Sup và tính Acc, Cov cũng đã được đề cập ở đây. Từ khóa: Phương pháp gia tăng, ma trận độ hỗ trợ, ma trận độ chính xác, ma trận độ phủ, khối dữ liệu, khối quyết định. I. GIỚI THIỆU Quá trình nghiên cứu một mô hình và thuật toán để phát hiện các luật quyết định khi tập đối tƣợng trên khối dữ liệu thay đổi đã đƣợc các tác giả quan tâm nghiên cứu. Mục tiêu của bài báo này là từ mô hình bổ sung và loại bỏ đối tƣợng ra khỏi khối dữ liệu, đề xuất thuật toán tính gia tăng ma trận độ hỗ trợ trên khối dữ liệu và trên các lắt cắt của nó, sau đó tính ma trận độ chính xác và ma trận độ phủ làm cơ sở để tìm ra các luật quyết định có ý nghĩa trên khối dữ liệu và trên lát cắt khi tập các đối tƣợng thay đổi. Độ phức tạp tính toán của các thuật toán này cũng đã đƣợc phát biểu và chứng minh ở đây. II. CÁC KHÁI NIỆM CƠ BẢN 2.1 Khối Định nghĩa 2.1[1] Gọi R = (id; A1, A2, ..., An) là một bộ hữu hạn các phần tử, trong đó id là tập chỉ số hữu hạn khác rỗng, Ai (i=1..n) là các thuộc tính. Mỗi thuộc tính A i (i=1..n) có miền giá trị tương ứng là dom(A i). Một khối r trên R, kí hiệu r(R) gồm một số hữu hạn phần tử mà mỗi phần tử là một họ các ánh xạ từ tập chỉ số id đến các miền trị của các thuộc tính Ai (i=1..n). Nói một cách khác:t r(R) t = {ti : id dom(Ai)}i=1..n. Ta kí hiệu khối đó là r(R) hoặc r(id; A1, A2,..., An ), đôi khi nếu không sợ nhầm lẫn ta kí hiệu đơn giản là r. 2.2 Lát cắt của khối Định nghĩa 2.2 [2], [3] Cho R = (id; A1, A2,..., An), r(R) là một khối trên R. Với mỗi x id ta kí hiệu r(Rx) là một khối với Rx = ({x}; A1, A2,..., An) sao cho: tx r(Rx) tx = {tix = ti } i=1..n , t r(R), t = {ti : id dom(Ai)}i=1..n , ở đây tax(x) = ti(x), i =1..n. x Khi đó r(Rx) được gọi là một lát cắt trên khối r(R) tại điểm x, đôi khi ta kí hiệu là rx. Sau đây, để cho đơn giản ta sử dụng các kí hiệu: x(i) = (x; Ai ) ; id(i) = {x(i) | x id}. Ta gọi x(i) (x id, i = 1..n) là các thuộc tính chỉ số của lƣợc đồ khối R = (id; A1,A2,...,An ). 2.3 Khối thông tin Định nghĩa 2.3: [4] Cho lược đồ khối R = (id; A1, A2, ... , An ), r là một khối trên R. Khi đó khối thông tin là một () bộ bốn IB = (U, A, V, f) với U là tập các đối tượng thuộc r gọi là không gian các đối tượng, ⋃ là tập các thuộc tính chỉ số của đối tượng, ⋃ () (i) ( ) , V ( i ) là tập giá trị của các đối tượng ứng với thuộc tính chỉ số x , f là x hàm thông tin UxA V thỏa mãn: u U, x A ta có f(u, x ) Vx( i ) . (i) (i) Khi đó, ta gọi f(u, x(i)) là giá trị của đối tƣợng u tại thuộc tính chỉ số x(i). Định nghĩa 2.4: [4] Cho lược đồ khối R = (id; A1, A2, ... , An ), r là một khối trên R, rx là lát cắt của khối r tại điểm x id. Khi đó lát cắt của khối thông tin tại x là một bộ bốn IB x = (U, Ax, Vx, fx) với U là tập các đối tượng thuộc r () gọi là không gian các đối tượng, ⋃ là tập các thuộc tính chỉ số của đối tượng trên lát cắt tại x, Vx ( i ) là tập (i) (i) giá trị của các đối tượng ứng với thuộc tính chỉ số x , fx là hàm thông tin UxAx Vx thỏa mãn: u U, x Ax ta có (i) f(u, x ) Vx ( i ) , Vx = Vx( i ) . x( i ) Ax
  2. 380 PHƢƠNG PHÁP GIA TĂNG MA TRẬN ĐỘ HỖ TRỢ TRÊN KHỐI DỮ LIỆU VÀ TRÊN LÁT CẮT KHI TẬP… 2.4 Khối quyết định [4] n (i ) Định nghĩa 2.5 Cho khối thông tin IB k= (U,A,V,f)n với U là không gian các đối tượng, A = id . Khi đó nếu A i 1 được chia thành 2 tập C và D sao cho: C= x,(i )D = x,(i )thì khối thông tin IB gọi là khối quyết định và kí hiệu là i 1, x id i k 1, x id DB=(U,C D,V,f), với C là tập các thuộc tính chỉ số điều kiện và D là tập các thuộc tính chỉ số quyết định. Ta có thể kí hiệu khối quyết định một cách đơn giản là: DB=(U, C D). Định nghĩa 2.6: Cho khối quyết định DB=(U,C D,V,f), với C là tập các thuộc tính chỉ số điều kiện và D là tập các thuộc tính chỉ số quyết định. Khi đó lát cắt của khối quyết định tại x (x id)k là một bộ nbốn DBx = (U, Cx Dx, Vx, fx ) với U là tập các đối tượng thuộc r gọi là không gian các đối tượng, Cx= x , Dx= x ( i,) Ax= Cx Dx, Vx= Vx , (i ) (i ) (i ) i 1 i k 1 x A x (i) Vx( i ) là tập các giá trị của các đối tượng ứng với thuộc tính chỉ số x , fx là hàm thông tin UxAx Vx thỏa mãn: u U, x(i) Ax ta có f(u, x(i)) Vx( i ) . 2.5 Luật quyết định trên khối và trên lát cắt Định nghĩa 2.7 [4] Cho khối quyết định DB = (U, C D), với U là không gian các đối tượng: k n C= ,D= , Cx= x ( i ), D x= x ( i ,) x id. i 1 i k 1 Khi đó: U/C={C1,C2,…,Cm}, U/Cx= {Cx1, Cx 2 ,..., Cxt } , U/D={D1,D2,…,Dh}, U/Dx= {D x1, Dx 2 ,..., Dxs } , x x tương ứng là các phân hoạch được sinh ra bởi C, Cx, D, Dx. Một luật quyết định trên khối có dạng: Ci Dj, i=1..m, j=1..h và trên lát cắt tại điểm x có dạng: Cxi Dxj , i=1..tx, j=1..sx . Mệnh đề 2.1 Cho khối quyết định DB = (U, C D), với U là không gian các đối tượng: k n x (i ) x (i ) C= , D= , Cx= i 1 , Dx=i k 1 , x id, U/C={C1,C2,…,Cm}, U/Cx= {Cx1 , Cx 2 ,..., Cxtx } , U/D={D1,D2,…,Dh}, U/Dx= {D x1 , Dx 2 ,..., Dxs } . x Khi đó: Ci U/C , Dj U/D ta có: Ci = ,Dj = với px {1,2,…,tx }, qx {1,2,…,sx }. Định nghĩa 2.8 Cho khối quyết định DB=(U,C D), Ci U/C, Dj U/D, Cxp U/Cx, Dxq U/Dx, i=1..m, j=1..h, p {1,2,…,tx }, q {1,2,…,sx }, x id. Khi đó, độ hỗ trợ, độ chính xác và độ phủ của luật quyết định Ci Dj trên khối là: - Độ hỗ trợ: Sup(Ci,Dj) = |Ci Dj)|, - Độ chính xác: Acc(Ci,Dj) = - Độ phủ: Cov(Ci,Dj) = , còn đối với luật quyết định Cxp Dxq trên lát cắt của khối tại điểm x là: - Độ hỗ trợ: Sup(Cxp,Dxq) = |Cxp Dxq)|, | C xp Dxq | - Độ chính xác: Acc(Cxp,Dxq) = , | C xp | | C xp Dxq | - Độ phủ: Cov(Cxp,Dxq) = . | Dxq | Ta có thể biểu diễn độ đo của các luật quyết định trên khối dƣới dạng các ma trận độ đo nhƣ sau: - Ma trận độ hỗ trợ: Sup(Ci,Dj)mxn = - Ma trận độ chính xác: Acc(Ci,Dj)mxn = - Ma trận độ phủ: Cov(Ci,Dj)mxn =
  3. Trịnh Đình Thắng, Đỗ Thị Lan Anh, Trần Minh Tuyến, Cao Hồng Huệ 381 Với các luật quyết định trên các lát cắt của khối thì ta cũng có các ma trận độ hỗ trợ, độ chính xác và độ phủ tƣơng tự. Mệnh đề 2.2 k n Cho khối quyết định DB = (U, C D), với U là không gian các đối tượng:C = x (,i ) D = x (.i ) i 1, x id i k 1, x id Khi đó Ci U/C, Dj U/D, (i=1..m, j=1..h) ta có: Sup(Ci , D j ) Sup(Ci , D j ) Acc(Ci, Dj ) = h , Cov(Ci, Dj ) = m . Sup(Ci , Dq ) Sup(C p , D j ) q 1 p 1 3. Kết quả nghiên cứu 3.1 Tính toán gia tăng độ hỗ trợ khi bổ sung và loại bỏ các đối tượng trên khối quyết định và trên lát cắt k n k n (i ) Cho khối quyết định DB= (U, C D, V, f), trong đó: C = x, (D i) = ,x C x= ,xD x = (i ) x, (xi ) id. i 1, x id i k 1, x id i 1 i k 1 U/C={C1,C2,…,Cm}, U/C x= {Cx1 , Cx 2 ,..., Cxtx } , U/D={D1,D2,…,Dh}, U/D x= {D x1 , Dx 2 ,..., Dxs } . x Giả sử, ta cần bổ sung vào khối quyết định này N đối tƣợng, kí hiệu AN và loại bỏ khỏi khối quyết định này M đối tƣợng, kí hiệu DM. Khi bổ sung N đối tƣợng vào khối quyết định thì N đối tƣợng này sẽ sinh thêm p lớp tƣơng đƣơng điều kiện mới đối với tập U/C, px lớp tƣơng đƣơng điều kiện mới đối với tập U/Cx và q lớp tƣơng đƣơng quyết định mới đối với tập U/D và qx lớp tƣơng đƣơng quyết định mới đối với tập U/Dx. Kí hiệu Ni là số đối tƣợng đƣợc bổ sung cho lớp Ci U/C (i=1.. m+p), Nxi là số đối tƣợng đƣợc bổ sung cho lớp C xi U/Cx (i=1..tx+px) và trong Ni đối tƣợng này có Nij đối tƣợng đƣợc bổ sung cho lớp Dj U/D (j=1.. h+q). Nhƣ vậy có Nij đối tƣợng đƣợc bổ sung cho cho cả Ci và Dj, nghĩa là bổ sung cho Ci Dj, do đó Sup(Ci, Dj) tăng thêm Nij. Khi đó, trên lát cắt tại x thì trong Nxi đối tƣợng này có Nxij đối tƣợng đƣợc bổ sung cho lớp Dxj U/Dx, (j=1.. sx+qx), nên sẽ có Nxij đối tƣợng đƣợc bổ sung cho cả Cxi và Dxj, nghĩa là bổ sung cho Cxi Dxj, do đó Sup(Cxi, Dxj) tăng thêm Nxij. Tƣơng tự, trong M đối tƣợng bị loại bỏ có Mi đối tƣợng bị loại khỏi lớp Ci U/C (i=1.. m), có Mij đối tƣợng bị loại bỏ khỏi lớp Dj (j=1.. h). Do vậy, có Mij đối tƣợng bị loại bỏ khỏi cả Ci và Dj, nghĩa là loại bỏ khỏi Ci Dj, do đó Sup(Ci, Dj) giảm đi Mij. Khi đó, trên lát cắt tại x thì trong Mxi (i=1..tx) đối tƣợng bị loại bỏ khỏi lớp Cxi U/Cx có Mxij (j=1.. sx), đối tƣợng bị loại bỏ khỏi lớp Dxj U/Dx , nên sẽ có Mxij đối tƣợng bị loại bỏ khỏi cả Cxi và Dxj, nghĩa là bị loại bỏ khỏi Cxi Dxj, do đó Sup(Cxi, Dxj) giảm đi Mxij. Ta kí hiệu các lớp tƣơng đƣơng sau khi bổ sung và loại bỏ các đối tƣợng đó là: U’/C={C’1,C’2,…,C’m,…}, U’/Cx= {C ' x1, C ' x 2 ,..., C ' xt ...} , U’/D={D’1,D’2,…,D’h…}, U’/D x= {D' x1, D ' x 2 ,..., D ' xs ...} . x x Khi đó ta có: Sup(C’i, D’j) = Sup(Ci, Dj) + Nij – Mij, i=1..m+p, j=1..h+q ở đó Mij = 0 và Sup(Ci, Dj)=0, i=m+1..m+p, j=h+1..h+q vì ta chỉ loại bỏ các đối tƣợng trong các lớp tƣơng đƣơng có chỉ số i=1..m, j=1..h. Sau khi tính đƣợc Sup(C’i, D’j) thì ta xác định đƣợc ma trận độ hỗ trợ Sup(C’, D’) và từ đó việc tính các ma trận Acc(C’, D’) và Cov(C’, D’) đƣợc thực hiện dễ dàng nhờ mối quan hệ giữa Acc và Cov với Sup đã đƣợc định nghĩa. Nhận xét: Trƣớc khi tính các ma trận Acc(C’, D’) và Cov(C’, D’) ta thực hiện các thao tác xóa dòng/cột trong ma trận Sup(C’, D’) mà có toàn giá trị 0 nếu có. 3.2 Các thuật toán tính gia tăng ma trận độ hỗ trợ khi bổ sung và loại bỏ các đối tượng. Các thuật toán tính các ma trận Sup(C, D), Acc(C, D) và Cov(C, D) khi chƣa tiến hành bổ sung và loại bỏ các đối tƣợng đã đƣợc nêu ra trong [4], ở đây ta xem xét thuật toán tính gia tăng ma trận Sup(C’, D’), sau đó thực hiện các thao tác xóa dòng/cột trong ma trận Sup(C’, D’) mà có toàn giá trị 0 nếu có. Từ đó tính các ma trận Acc(C’, D’) và Cov(C’, D’) để rút ra các luật quyết định có ý nghĩa. Các bƣớc cơ bản của quá trình này đƣợc thể hiện qua sơ đồ khối sau đây:
  4. 382 PHƢƠNG PHÁP GIA TĂNG MA TRẬN ĐỘ HỖ TRỢ TRÊN KHỐI DỮ LIỆU VÀ TRÊN LÁT CẮT KHI TẬP… Bắt đầu Tính ma trận Sup(C, D) Tính gia tăng ma trận Sup(C’, D’) sau khi bổ sung/loại bỏ đối tƣợng Loại bỏ dòng/cột toàn giá trị 0 ra khỏi ma trận Sup(C’, D’) nếu có Tính các ma trận Acc(C’, D’) và Cov(C’, D’) Sinh các luật quyết định có ý nghĩa Kết thúc Thuật toán 3.1: Tính gia tăng ma trận Sup(C’, D’), khi bổ sung các đối tượng. Vào: - Các lớp Ci, Dj. - Tập AN gồm N đối tƣợng đƣợc bổ sung. - Ma trận Sup(C, D). Ra: Ma trận Sup(C’, D’). // Tìm lớp điều kiện và lớp quyết định end for; chứa x for j = 1 to h+q do //tìm trong các lớp p = 0; q = 0; quyết định for each x in AN do if (x in Dj) then i* = -1; //lớp điều kiện của x sẽ tìm j* = j; //Tìm thấy x thuộc lớp Dj j* = -1; //lớp quyết định của x sẽ tìm break; for i = 1 to m + p do //tìm trong các end if; lớp điều kiện // Nếu j* = -1 thì x không thuộc Dj nào, if (x in Ci) then tạo thêm lớp mới Dh+q+1 với q là biến trong chương trình i* = i; // tìm thấy x thuộc lớp Ci if j* = -1 then break; j* = n + q + 1; end if; Bổ sung Dh+q+1 vào U/D; // Nếu i* = -1 thì x không thuộc Ci nào, tạo thêm lớp mới Cm+p+1, với p ở đây là biến trong Tạo cột (q + 1) mới = 0 cho ma trận chương trình. Sup; if i* = -1 then q = q + 1; i* = m + p + 1; end if; //Cập nhật tập lớp điều kiện //Cập nhật phần tử ma trận Sup tương ứng Bổsung Cm+p+1 vào U/C; Sup(Ci*, Dj*) = Sup(Ci*, Dj*) +1 Tạo dòng (p + 1) mới = 0 cho ma trận end if; Sup; end for; p = p + 1; End for each. end if; Từ thuật toán 3.1 ta thấy: đầu tiên thuật toán xác định đối tƣợng x đƣợc bổ sung thuộc vào lớp điều kiện hay lớp quyết định nào. Khi đó có 4 trƣờng hợp xảy ra, cụ thể nhƣ sau: (i) Nếu x ∉ Ci và x ∉ Dj nào, nghĩa là việc bổ sung x hình thành thêm một lớp điều kiện mới và một lớp quyết định mới. Khi đó, ma trận Sup đƣợc bổ sung thêm một dòng mới ký hiệu i* và một cột mới ký hiệu j*. Ta gán giao của dòng i* và cột j* là 1, các phần tử khác còn lại của dòng i* và cột j* đƣợc gán bằng 0.
  5. Trịnh Đình Thắng, Đỗ Thị Lan Anh, Trần Minh Tuyến, Cao Hồng Huệ 383 (ii) Nếu x ∉ Ci và ∃ j* ∈{1,…,h}: x ∈Dj* nghĩa là việc bổ sung x chỉ hình thành một lớp điều kiện mới và làm ảnh hƣởng đến cột j*. Suy ra, ma trận Sup đƣợc bổ sung thêm một dòng mới i*. Khi đó, ta tăng giá trị của ô (i*,j*) lên 1, các phần tử khác còn lại của dòng i* đƣợc gán bằng 0 và của cột j* không đổi. (iii) Nếu ∃ i*∈{1,…,m}: x∈ Ci* và x ∉ Dj nghĩa là việc bổ sung x chỉ hình thành một lớp quyết định mới và làm ảnh hƣởng đến dòng i*. Khi đó, ma trận Sup đƣợc bổ sung thêm cột mới j* và ta tăng giá trị của ô (i*,j*) lên 1, các phần tử còn lại của cột j* đƣợc gán bằng 0, còn các phần tử của dòng i* không đổi. (iv) Nếu ∃i*∈{1,…,m}: x ∈Ci* và ∃ j*∈{1,…,n}: x ∈Dj* nghĩa là việc bổ sung x không hình thành lớp điều kiện mới và cũng không hình thành lớp quyết định mới. Nhƣ vậy, x làm ảnh hƣởng đến dòng i* và cột j* của ma trận Sup, khi đó ta tăng giá trị của ô (i*,j*) lên 1, các phần tử còn lại không thay đổi. Tiếp tục thực hiện nhƣ vậy cho đến khi duyệt hết N đối tƣợng đƣợc bổ sung, ta thu đƣợc ma trận Sup(C’, D’). Thuật toán 3.2: Tính gia tăng ma trận Sup(C’, D’), khi loại bỏ các đối tượng. Vào: - Các lớp Ci, Dj. - Tập DM gồm M đối tƣợng bị loại bỏ. - Ma trận Sup(C, D). Ra: Ma trận Sup(C’, D’). // Tìm lớp điều kiện và lớp quyết định end for; chứa x’. for j=1 to h do //tìm trong các lớp for each x’ in DM do quyết định i* = -1; //lớp điều kiện của x’ sẽ tìm if (x’ in Dj) then j* = -1; //lớp quyết định của x’ sẽ tìm j* = j; //tìm thấy x’ thuộc lớp Dj for i = 1 to m do //tìm trong các lớp break; điều kiện end if; if (x’ in Ci) then end for; i* = i; // tìm thấy x’ thuộc lớp Ci //Cập nhật phần tử của ma trận Sup tương ứng break; Sup(Ci*, Dj*)=Sup(Ci*, Dj*) - 1; end if; end for each; Thuật toán 3.3: Tính gia tăng ma trận Sup(C’x, D’x), khi bổ sung các đối tượng đối với lát cắt tại x. Vào: - Các lớp Cxi, Dxj. - Tập AN gồm N đối tƣợng đƣợc bổ sung. - Ma trận Sup(Cx, Dx). Ra: Ma trận Sup(Cx’, Dx’). // Tìm lớp điều kiện và lớp quyết định if i* = -1 then chứa y AN i* = tx + px + 1; Px = 0; qx = 0; //Cập nhật tập lớp điều kiện for each y in AN do Bổsung ( ) vào U/Cx; i* = -1; //lớp điều kiện của y sẽ tìm Tạo dòng (px + 1) mới = 0 cho ma j* = -1; //lớp quyết định của y sẽ tìm trận Sup; for i = 1 to tx + px do //tìm trong các px = px + 1; lớp điều kiện end if; if (y in Cxi) then end for; i* = i; // tìm thấy y thuộc lớp Cxi for j=1 to sx+qx do //tìm trong các break; lớp quyết định end if; if (y in Dxj) then // Nếu i* = -1 thì y không thuộc Cxi nào, tạo j* = j; //Tìm thấy y thuộc lớp Dxj thêm lớp mới ( ) , với px ở đây là biến break; trong chương trình.
  6. 384 PHƢƠNG PHÁP GIA TĂNG MA TRẬN ĐỘ HỖ TRỢ TRÊN KHỐI DỮ LIỆU VÀ TRÊN LÁT CẮT KHI TẬP… end if; Tạo cột (qx+ 1) mới = 0 cho ma trận Sup; // Nếu j* = -1 thì y không thuộc Dxj nào, tạo qx = qx + 1; thêm lớp ( ) với qx là biến trong chương end if; trình //Cập nhật phần tử ma trận Sup tương ứng if j* = -1 then Sup(Cxi*, Dxj*) = Sup(Cxi*, Dxj*) +1 j* = sx + qx + 1; end for; Bổ sung ( ) vào U/Dx; End for each. Thuật toán 3.4: Tính gia tăng ma trận Sup(C’x, D’x), khi loại bỏ các đối tượng đối với lát cắt tại x. Vào: - Các lớp Cxi, Dxj. - Tập DM gồm M đối tƣợng bị loại bỏ. - Ma trận Sup(Cx, Dx). Ra: Ma trận Sup(Cx’, Dx’). // Tìm lớp điều kiện và lớp quyết định for j=1 to sx do //tìm trong các lớp chứa y’. quyết định for each y’ in DM do if (y’ in Dxj) then i* = -1; //lớp điều kiện của y’ sẽ tìm j* = j; //tìm thấy y’ thuộc lớp Dxj j* = -1; //lớp quyết định của y’ sẽ tìm break; for i = 1 to tx do //tìm trong các lớp end if; điều kiện end if; if (y’ in Cxi) then //Cập nhật phần tử của ma trận Sup tương ứng i* = i; // tìm thấy y’ thuộc lớp Cxi Sup(Cxi*, Dxj*)=Sup(Cxi*, Dxj*) - 1; break; end for; end if; End for each; end for; Định lý 3.1: Thuật toán tính gia tăng ma trận Sup để phát hiện các luật quyết định khi bổ sung, loại bỏ đối tượng ra khỏi khối dữ liệu có cùng kết quả với thuật toán tính gia tăng ma trận Acc và ma trận Cov khi chạy trên cùng tập dữ liệu. Chứng minh. Ta thấy cả hai phƣơng pháp trích rút luật quyết định cùng chọn độ chính xác và độ phủ để đƣa ra xem xét. Do đó, để chứng minh hai thuật toán có cùng kết quả, ta chứng minh quá trình thực hiện thuật toán tính gia tăng ma trận Sup sẽ thu đƣợc ma trận Acc và ma trận Cov giống với thuật toán tính gia tăng Acc và Cov khi chạy trên cùng một tập dữ liệu. Thật vậy, theo thuật toán tính gia tăng ma trận Sup ta có: Sup(Ci’, Dj’) = Sup(Ci, Dj) + Nij – Mij với i = 1,…, m+p, j =1, …, h+q). Trong đó: Mij = 0 và Sup(Ci, Dj) = 0 với i = m+1,…, m+p; j= h+1,…, h+q. Từ công thức trên ta thấy, Nij – Mij chính là phần giá trị đƣợc bổ sung cho ma trận Sup khi bổ sung, loại bỏ đối tƣợng ra khỏi khối dữ liệu, phần bổ sung này có thể biểu diễn dƣới dạng một ma trận, ký hiệu là INC(N,M), ma trận này gọi là ma trận gia tăng, đƣợc biểu diễn nhƣ sau: 𝑁 − 𝑀 … 𝑁 ℎ − 𝑀 ℎ 𝑁 ,ℎ … 𝑁 ,ℎ 𝑞 ⋮ ⋮ ⋮ ⋮ 𝑁𝑚 − 𝑀𝑚 … 𝑁𝑚ℎ − 𝑀𝑚ℎ 𝑁𝑚,ℎ … 𝑁𝑚,ℎ 𝑞 𝐼𝑁𝐶(𝑁, 𝑀) 𝑁𝑚 , … 𝑁𝑚 ,ℎ 𝑁𝑚 ,ℎ … 𝑁𝑚 ,ℎ 𝑞 ⋮ ⋮ ⋮ ⋮ 𝑁𝑚 𝑝, ⋯ 𝑁𝑚 𝑝,ℎ 𝑁𝑚 𝑝,ℎ … 𝑁𝑚 𝑝,ℎ 𝑞
  7. Trịnh Đình Thắng, Đỗ Thị Lan Anh, Trần Minh Tuyến, Cao Hồng Huệ 385 Khi đó, ta có ma trận Sup đƣợc tính nhƣ sau: Sup(C’, D’) = Sup(C,D) + INC(N, M) = 𝑆𝑢𝑝(𝐶 , 𝐷 )+𝑁 − 𝑀 … 𝑆𝑢𝑝(𝐶 ℎ , 𝐷 ℎ ) + 𝑁 ℎ − 𝑀 ℎ 𝑁 ,ℎ … 𝑁 ,ℎ 𝑞 ⋮ ⋮ ⋮ ⋮ 𝑆𝑢𝑝(𝐶𝑚 , 𝐷𝑚 ) + 𝑁𝑚 − 𝑀𝑚 … 𝑆𝑢𝑝(𝐶𝑚ℎ , 𝐷𝑚ℎ ) + 𝑁𝑚ℎ − 𝑀𝑚ℎ 𝑁𝑚,ℎ … 𝑁𝑚,ℎ 𝑞 𝑁𝑚 , … 𝑁𝑚 ,ℎ 𝑁𝑚 ,ℎ … 𝑁𝑚 ,ℎ 𝑞 ⋮ ⋮ ⋮ ⋮ 𝑁𝑚 𝑝, ⋯ 𝑁𝑚 𝑝,ℎ 𝑁𝑚 𝑝,ℎ … 𝑁𝑚 𝑝,ℎ 𝑞 (1) Tính Acc(C’i, D’j) từ ma trận Sup(C’, D’) : Từ kết quả tính Sup(C’, D’) ở trên, dựa vào công thức tính Acc theo Sup ta có: | Ci D | N ij j M ij h q h , i 1..m, j 1..h, | Ci | N ij' M ij' j' 1 j' 1 N ij Acc(C 'i , D ' j ) h q h , i 1..m, j h 1..h q, | Ci | N ij' M ij' j' 1 j' 1 N ij h q , i m 1..m p, j 1.. h q N ij j 1 Đây chính là công thức tính gia tăng của Acc(Ci’, Dj’) nhƣ đã biết. (1) (2) Tính Cov(C’i, D’j) từ ma trận Sup(C’, D’) : Cũng từ kết quả tính Sup(C’, D’) ở trên, dựa vào công thức tính Cov theo Sup ta tính đƣợc: | Ci D | N ij j M ij m p m , i 1..m, j 1..h, | Dj | N i'j M i'j i' 1 i' 1 N ij Cov (C 'i , D ' j ) m p m , i m 1..m p, j 1..h , | Dj | N i'j M i'j i' 1 i' 1 N ij m p , i 1..m p, j h 1.. h q N i'j i' 1 Đây cũng chính là công thức tính gia tăng của Cov(Ci’, Dj’) nhƣ đã biết. (2) Từ các nhận xét (1) và (2) ta suy ra điều phải chứng minh. Đối với mỗi lát cắt tại điểm x id ta có kết quả sau: Định lý 3.2: Thuật toán tính gia tăng ma trận Sup để phát hiện các luật quyết định khi bổ sung, loại bỏ đối tượng ra khỏi khối dữ liệu xét trên lát cắt tại x id có cùng kết quả với thuật toán tính gia tăng ma trận Acc và ma trận Cov khi chạy trên cùng tập dữ liệu xét trên lát cắt tại x id . Việc chứng minh định lý này cũng hoàn toàn tƣơng tự nhƣ chứng minh của định lý 3.1 ở trên. 3.3 Độ phức tạp thuật toán của các thuật toán tính gia tăng Mệnh đề 3.1: Độ phức tạp thời gian của thuật toán tính gia tăng ma trận Sup khi bổ sung N đối tượng là O(N|U|). Chứng minh: Từ thuật toán tính gia tăng ma trận Sup ta thấy: để kiểm tra một đối tƣợng x đƣợc bổ sung thuộc vào lớp điều kiện hay lớp quyết định nào ta cần m’+h’ phép tính (m’, h’ là kích thƣớc ma trận tại thời điểm trƣớc khi bổ sung). Tiếp theo, để cập nhật Sup(Ci*, Dj*) chỉ mất một số phép gán và 1 phép cộng.
  8. 386 PHƢƠNG PHÁP GIA TĂNG MA TRẬN ĐỘ HỖ TRỢ TRÊN KHỐI DỮ LIỆU VÀ TRÊN LÁT CẮT KHI TẬP… Mặt khác, ta cũng có thể coi m’=m+p, n’=n+q, đồng thời m, n |U|. Do đó, khi bổ sung một đối tƣợng, thuật toán có độ phức tạp là O(|U|). Suy ra, khi bổ sung N đối tƣợng thì thuật toán có độ phức tạp là O(N|U|). Mệnh đề 3.2: Độ phức tạp thời gian của thuật toán tính gia tăng ma trận Sup khi loại bỏ M đối tượng là O(M|U|). Chứng minh: Lập luận tƣơng tự nhƣ ở mệnh đề 3.1 ta suy ra độ phức tạp của thuật toán tính gia tăng ma trận Sup khi loại bỏ M đối tƣợng là O(M|U|). Từ các mệnh đề 3.1 và 3.2 về độ phức tạp thời gian của các thuật toán tính gia tăng ma trận Sup khi bổ sung và loại bỏ đối tƣợng ta có mệnh đề sau: Mệnh đề 3.3: Độ phức tạp thời gian của thuật toán tính gia tăng ma trận Sup để trích rút các luật quyết định có ý nghĩa khi bổ sung, loại bỏ các đối tượng là O(|U|2). Đối với hai thuật toán tính gia tăng ma trận Sup khi bổ sung hay loại bỏ các đối tƣợng ra khỏi khối dữ liệu xét trên lát cắt của khối tại điểm x id ta cũng có kết quả tƣơng tự thể hiện ở hai mệnh đề dƣới đây. Mệnh đề 3.4: Độ phức tạp thời gian của thuật toán tính gia tăng ma trận Sup khi bổ sung N đối tượng xét trên lát cắt của khối tại điểm x id là O(N|U|). Mệnh đề 3.5: Độ phức tạp thời gian của thuật toán tính gia tăng ma trận Sup khi loại bỏ M đối tượng xét trên lát cắt của khối tại điểm x id là O(M|U|). 3.3 So sánh hai phương pháp tính gia tăng Hai phƣơng pháp tính gia tăng để phát hiện các luật quyết định cùng sử dụng mô hình bổ sung, loại bỏ đối tƣợng ra khỏi khối dữ liệu với yêu cầu và giả thiết bài toán nhƣ nhau; cùng sử dụng cách tiếp cận gia tăng theo tiếp cận tập thô; cùng xét trên khối quyết định đầy đủ với các giá trị thuộc tính đã đƣợc rời rạc hóa; cùng chọn cả độ chính xác và độ phủ của luật để đánh giá mức độ mô tả của các luật quyết định có ý nghĩa đƣợc trích rút và cho cùng một kết quả khi chạy trên cùng một khối dữ liệu. Tuy nhiên sự khác nhau của chúng đƣợc thể hiện ở bảng dƣới đây: Bảng 1. Bảng so sánh hai phƣơng pháp tính gia tăng Thuật toán tính Thuật toán tính gia tăng Acc, Cov gia tăng Sup Phƣơng pháp thực hiện Chỉ lƣu ma trận độ hỗ trợ. Lƣu cả hai ma trận độ Acc và ma trận Cov. Tính ma trận Acc và Chỉ cập nhật cho phần tử bị thay Cập nhật cho tất cả các phần tử của Cov khi bổsung /loại đổi trong ma trận Sup. dòng/cột trong cả 2 ma trận Acc và Cov. bỏ một đối tƣợng Việc tính 2 ma trận Acc và Cov chỉ thực hiện một lần. Độ phức tạp tính toán O(|U|2) O(|U|3) Trên cơ sở bảng so sánh trên, ta thấy thuật toán tính gia tăng Sup đƣợc đề xuất thực hiện tốt hơn so với thuật toán tính gia tăng Acc và Cov đã đƣợc công bố. IV. KẾT LUẬN Trên thực tế những thay đổi do việc bổ sung và loại bỏ các phần tử trên khối quyết định là hay xảy ra, bài báo đã đề xuất các thuật toán tính gia tăng ma trận độ hỗ trợ Sup trên khối quyết định và trên lát cắt. Từ các thuật toán đề xuất, độ phức tạp của chúng cũng đã đƣợc phát biểu và chứng minh. Ngoài ra, việc so sánh độ phức tạp giữa thuật toán tính gia tăng ma trận độ hỗ trợ và thuật toán tính gia tăng các ma trận Acc và Cov khi tập các đối tƣợng thay đổi cũng đƣợc đề cập ở đây. Những kết quả nói trên là cơ sở để giúp tính gia tăng ma trận độ chính xác và ma trận độ phủ trên khối và trên lát cắt nhanh hơn, tiết kiệm thời gian hơn, từ đó tìm ra các luật quyết định có ý nghĩa trên khối và trên lát cắt khi tập đối tƣợng trên khối quyết định có thay đổi. Các kết quả này cũng góp phần làm phong phú thêm ứng dụng của lí thuyết thiết kế mô hình cơ sở dữ liệu dạng khối. TÀI LIỆU THAM KHẢO [1] Trịnh Đình Thắng, Mô hình dữ liệu dạng khối, NXB Lao động, Hà Nội, 2011. [2] Trịnh Đình Thắng, Trần Minh Tuyến, Phép dịch chuyển lược đồ khối và vấn đề biểu diễn bao đóng, khóa trong mô hình dữ liệu dạng khối, Kỷ yếu Hội thảo quốc gia lần thứ XIII “Một số vấn đề chọn lọc của Công nghệ Thông tin và Truyền thông”, (276-286), 08/2010.
  9. Trịnh Đình Thắng, Đỗ Thị Lan Anh, Trần Minh Tuyến, Cao Hồng Huệ 387 [3] Trinh Dinh Thang, Tran Minh Tuyen, Key and key attributes set, non-key attributes set with translation of block schemes, International Journal of Advanced Research in Computer Science, vol. 3, No.3, (335-339), India, 2012. [4] Trịnh Đình Thắng, Trần Minh Tuyến, Đỗ Thị Lan Anh, Khai phá luật quyết định trên khối dữ liệu có giá trị thuộc tính thay đổi, Kỉ yếu Hội thảo quốc gia lần thứ XIX:"Một số vấn đề chọn lọc của Công nghệ Thông tin và Truyền thông", (163-169), 2016. [5] Liu, D., Li, T., Ruan, D., Zou, W. (2009), “An incremental approach for inducing knowledge from dynamic information systems”, Fundam. Inform., (94), (245-260), 2009. [6] Shi, K., Yao, B. (2008), “Function S-rough sets and decision law identification”. Science in China Series F: Information Sciences 51, (499-510), 2008. THE INCREMENTAL METHOD OF SUPPORT MATRIC ON THE DATA BLOCK AND SLICE WHEN THE OBJECT SET CHANGES Trinh Dinh Thang, Do Thi Lan Anh, Tran Minh Tuyen, Cao Hong Hue ABSTRACT: The paper proposes an incremental method to calculate the support matrix, therefore calculating the accuracy matrix and coverage matrix on the data block that have object set changes to generate decision laws. The incremental algorithms calculating of the support matrix on the decision block and its slices was also proposed when increasing or decreasing the object set ... The complexity of these algorithms on the decision block and slices were also stated and demonstrated. In addition, the comparison complexity time of two incremental methods for caculating Sup and Acc, Cov was also mentioned here.
nguon tai.lieu . vn