Các tình huống thực hiện mô hình

Một phần của tài liệu Một số thuật toán khai phá luật quyết định trên cơ sở dữ liệu di động (Trang 42)

Trong phần này, ta trình bày việc thực thi mô hình và tính toán các phần tử 𝑁𝑖, 𝑀𝑖, 𝑁𝑖𝑗, 𝑀𝑖𝑗. Các tập đối tƣợng thêm/ loại bỏ khỏi hệ thống có thể đƣợc tạo lên từ một hoặc nhiều đối tƣợng đơn. Trong thuật toán này, chúng ta xem tập các đối tƣợng thêm/ loại bỏ khỏi hệ thống là các đối tƣợng đơn. Khi bổ sung/ loại bỏ đối tƣợng sẽ tạo ra các tình huống sau:

3.1.2.1. Bổ sung đối tượng đơn vào hệ thống

Giả thiết đối tƣợng 𝑥 đƣợc bổ sung vào hệ thống.

Trường hợp 1: Hình thành một lớp điều kiện mới và một lớp quyết định mới.

Trong trƣờng hợp này, ta thấy 𝑥 ∉ 𝐶𝑖 (𝑖 = 1, … , 𝑚) và 𝑥 ∉ 𝐷𝑖 (𝑖 = 1, … , 𝑛). Điều này có nghĩa là việc bổ sung 𝑥 vào hệ thống sẽ sinh thêm một luật chƣa hợp lệ. Vì vậy, ta cần hình thành thêm một lớp điều kiện mới 𝐶′𝑚 +1 và một lớp quyết định mới 𝐷′𝑛+1 ở thời điểm t+1. Ta có các công thức sau:

 𝐴𝑐𝑐𝑡+1(𝐶′𝑚+1, 𝐷𝑛+1′ )= 𝐶𝑜𝑣𝑡+1 𝐶′

𝑚+1, 𝐷𝑛+1′ = 1

 𝐴𝑐𝑐𝑡+1 𝐶𝑖′, 𝐷𝑗′ = 𝐴𝑐𝑐𝑡 𝐶𝑖, 𝐷𝑗

 𝐶𝑜𝑣𝑡+1 𝐶𝑖′, 𝐷𝑗′ = 𝐶𝑜𝑣𝑡 𝐶𝑖, 𝐷𝑗 Với 𝑖 = 1,2, … . , 𝑚; 𝑗 = 1,2, … , 𝑛

Trường hợp 2: Chỉ hình thành một lớp điều kiện mới. Trong trƣờng hợp này, ta

thấy 𝑥 ∉ 𝐶𝑖 𝑖 = 1, … , 𝑚 và ∃𝑗∗∈ 1, … , 𝑛 sao cho 𝑥 ∈ 𝐷𝑗∗. Điều này có nghĩa là việc bổ sung 𝑥 vào hệ thống sẽ sinh thêm một luật mới chƣa hợp lệ. Do đó, ta cần hình thành một lớp điều kiện mới 𝐶′𝑚 +1 và 𝑥 sẽ đƣợc thêm vào một phân lớp quyết định 𝐷𝑗∗ với 𝑗∗∈ 1, … , 𝑛 . Ta có các công thức sau:

 Với 𝐶𝑚 +1′ → 𝐷𝑗′∗ : Vì ta có 𝑥 ∈ 𝐶𝑚 +1′ và 𝑥 ∈ 𝐷𝑗′∗ nên 𝐶𝑚 +1′ ∩ 𝐷𝑗′∗ = 1 𝐴𝑐𝑐𝑡+1 𝐶𝑚 +1′ , 𝐷𝑗′∗ = 𝐶𝑚 +1 ′ ∩ 𝐷𝑗′∗ 𝐶𝑚 +1′ = 1 𝐶𝑜𝑣𝑡+1 𝐶𝑚+1′ , 𝐷𝑗′∗ =|𝐶𝑚 +1 ′ ∩ 𝐷𝑗′∗| 𝐷𝑗′∗ + 1 = |𝐶𝑚 +1′ ∩ 𝐷𝑗′∗| |𝐷𝑗∗| + 1 = 1 |𝐷𝑗∗| + 1  Với 𝐶𝑢′ → 𝐷𝑗′∗ (𝑢 ≠ 𝑚 + 1) 𝐴𝑐𝑐𝑡+1(𝐶𝑢′, 𝐷𝑗′∗ )=𝐴𝑐𝑐𝑡(𝐶𝑢, 𝐷𝑗∗) 𝐶𝑜𝑣𝑡+1 𝐶𝑢′, 𝐷𝑗′∗ =|𝐶𝑢 ∩ 𝐷𝑗∗| |𝐷𝑗∗| + 1  Với 𝐶𝑚 +1′ → 𝐷𝑘′ (𝑘 ≠ 𝑗∗) 𝐴𝑐𝑐𝑡+1 𝐶𝑚 +1′ , 𝐷𝑘′ = 𝐶𝑜𝑣𝑡+1 𝐶𝑚 +1′ , 𝐷𝑘′ = 0 vì 𝐶𝑚 +1′ ∩ 𝐷𝑘′ = ∅  Với 𝐶𝑖′ → 𝐷𝑗′ (𝑖 ≠ 𝑚 + 1; 𝑗 ≠ 𝑗∗) 𝐴𝑐𝑐𝑡+1 𝐶𝑖′, 𝐷𝑗′ = 𝐴𝑐𝑐𝑡 𝐶𝑖, 𝐷𝑗 và 𝐶𝑜𝑣𝑡+1 𝐶𝑖′, 𝐷𝑗′ = 𝐶𝑜𝑣𝑡 𝐶𝑖, 𝐷𝑗

Trường hợp 3: Chỉ hình thành một lớp quyết định mới. Trong trƣờng hợp này, ta thấy ∃𝑖∗ ∈ 1, … , 𝑚 sao cho 𝑥 ∈ 𝐶𝑖∗ và 𝑥 ∉ 𝐷𝑗, 𝑗 = 1, … , 𝑛. Việc bổ sung 𝑥 vào hệ thống đã sinh ra một luật mới chƣa hợp lệ. Do đó, ta hình thành thêm một lớp quyết định mới. Ta có các công thức sau để tính các phần tử trong ma trận độ chính xác và ma trận độ phủ thời điểm t+1.  Với 𝐶𝑖′∗ → 𝐷′ 𝑛+1 𝐴𝑐𝑐𝑡+1 𝐶𝑖′∗, 𝐷𝑛+1′ =|𝐶𝑖∗ ′ ∩ 𝐷𝑛+1′ | |𝐶𝑖′∗| = 1 𝐶𝑖∗ + 1 𝑣ì 𝐶𝑖′∗ ∩ 𝐷𝑛+1′ = 1 𝐶𝑜𝑣𝑡+1 𝐶𝑖′∗, 𝐷𝑛+1′ = |𝐶𝑖∗ ′ ∩ 𝐷𝑛+1′ | |𝐷𝑛+1′ | = 1  Với 𝐶𝑖′∗ → 𝐷′𝑘 (𝑘 ≠ 𝑛 + 1) 𝐴𝑐𝑐𝑡+1 𝐶𝑖′∗, 𝐷𝑘′ =|𝐶𝑖∗ ∩ 𝐷𝑘| 𝐶𝑖∗ + 1 ; 𝐶𝑜𝑣𝑡+1 𝐶𝑖′∗, 𝐷𝑘′ = 𝐶𝑜𝑣𝑡(𝐶𝑖∗, 𝐷𝑘)  Với 𝐶𝑢′ → 𝐷𝑛+1′ , (𝑢 ≠ 𝑖∗) 𝐴𝑐𝑐𝑡+1 𝐶𝑢′, 𝐷𝑛+1′ = 𝐶𝑜𝑣𝑡+1 𝐶𝑢′, 𝐷𝑛+1′ = 0 Vì 𝐶𝑢′ ∩ 𝐷𝑛+1′ = ∅  Với 𝐶𝑖′ → 𝐷𝑗′ (𝑖 ≠ 𝑖∗; 𝑗 ≠ 𝑛 + 1) 𝐴𝑐𝑐𝑡+1 𝐶𝑖′, 𝐷𝑗′ = 𝐴𝑐𝑐𝑡(𝐶𝑖, 𝐷𝑗); 𝐶𝑜𝑣𝑡+1 𝐶𝑖′, 𝐷𝑗′ = 𝐶𝑜𝑣𝑡(𝐶𝑖, 𝐷𝑗)

Trường hợp 4: Không hình thành lớp quyết định mới và cũng không hình thành lớp điều kiện mới. Trong trƣờng hợp này, ta thấy ∃𝑖∗ ∈ 1, … , 𝑚 sao cho 𝑥 ∈ 𝐶𝑖∗ và ∃𝑗∗ ∈ (1, … , 𝑛) sao cho 𝑥 ∈ 𝐷𝑗∗. Việc bổ sung 𝑥 làm tăng thêm một luật phù hợp 𝐶𝑖∗ → 𝐷𝑗∗ mà không phát sinh thêm lớp điều kiện (quyết định) nào.

 Với 𝐶𝑖′∗ → 𝐷𝑗′∗ 𝐴𝑐𝑐𝑡+1 𝐶𝑖′∗, 𝐷𝑗′∗ = 𝐶𝑖∗ ∩ 𝐷𝑗∗ + 1 𝐶𝑖∗ + 1 ; 𝐶𝑜𝑣𝑡+1 𝐶𝑖′∗, 𝐷𝑗′∗ = 𝐶𝑖∗ ∩ 𝐷𝑗∗ + 1 𝐷𝑖∗ + 1  Với 𝐶𝑖′∗ → 𝐷𝑘′ (𝑘 ≠ 𝑗∗) 𝐴𝑐𝑐𝑡+1 𝐶𝑖′∗, 𝐷𝑘′ = 𝐶𝑖∗ ∩ 𝐷𝑘 𝐶𝑖∗ + 1 ; 𝐶𝑜𝑣𝑡+1 𝐶𝑖′∗, 𝐷𝑘′ = 𝐶𝑜𝑣𝑡(𝐶𝑖∗, 𝐷𝑘)  Với 𝐶𝑢′ → 𝐷𝑗′∗ (𝑢 ≠ 𝑖∗) 𝐴𝑐𝑐𝑡+1 𝐶𝑢′, 𝐷𝑗′∗ = 𝐴𝑐𝑐𝑡 𝐶𝑢, 𝐷𝑗∗ ; 𝐶𝑜𝑣𝑡+1 𝐶𝑢′, 𝐷𝑗′∗ =|𝐶𝑢 ∩ 𝐷𝑗∗| 𝐷𝑗∗ + 1  Với 𝐶𝑖′ → 𝐷𝑗′ (𝑖 ≠ 𝑖∗; 𝑗 ≠ 𝑗∗) 𝐴𝑐𝑐𝑡+1 𝐶𝑖′, 𝐷𝑗′ = 𝐴𝑐𝑐𝑡(𝐶𝑖, 𝐷𝑗); 𝐶𝑜𝑣𝑡+1 𝐶𝑖′, 𝐷𝑗′ = 𝐶𝑜𝑣𝑡(𝐶𝑖, 𝐷𝑗)

Nếu 𝐶𝑖 ⊆ 𝐷𝑗, việc bổ xung 𝑥 vào hệ thống không làm ảnh hƣởng tới tính nhất quán quán của luật 𝐶𝑖 → 𝐷𝑗. Còn nếu 𝐶𝑖 ∩ 𝐷𝑗 = ∅, việc bổ xung 𝑥 vào hệ thống sẽ tạo ra các luật quyết định không nhất quán.

3.1.2.2. Loại bỏ đối tượng đơn ra khỏi hệ thống

Giả sử ta có đối 𝑥 ra khỏi hệ thống thông tin. Điều này tƣơng đƣơng với việc sẽ ∃𝑖∗ ∈ 1, … , 𝑚 và ∃𝑗∗∈ (1, … , 𝑛) sao cho 𝑥 ∈ 𝐶𝑖∗, 𝑥 ∈ 𝐷𝑗∗. Ta có các công thức tính sau:  Với 𝐶𝑖′∗ → 𝐷𝑗′∗ 𝐴𝑐𝑐𝑡+1 𝐶𝑖′∗, 𝐷𝑗′∗ = 𝐶𝑖∗ ∩ 𝐷𝑗∗ − 1 𝐶𝑖∗ − 1 ; 𝐶𝑜𝑣𝑡+1 𝐶𝑖∗ ′ , 𝐷𝑗′∗ = 𝐶𝑖∗ ∩ 𝐷𝑗∗ − 1 𝐷𝑖∗ − 1  Với 𝐶𝑖′∗ → 𝐷𝑘′ (𝑘 ≠ 𝑗∗) 𝐴𝑐𝑐𝑡+1 𝐶𝑖′∗, 𝐷𝑘′ = 𝐶𝑖∗ ∩ 𝐷𝑘 𝐶𝑖∗ − 1 ; 𝐶𝑜𝑣𝑡+1 𝐶𝑖′∗, 𝐷𝑘′ = 𝐶𝑜𝑣𝑡(𝐶𝑖∗, 𝐷𝑘)  Với 𝐶𝑢′ → 𝐷𝑗′∗ (𝑢 ≠ 𝑖∗) 𝐴𝑐𝑐𝑡+1 𝐶𝑢′, 𝐷𝑗′∗ = 𝐴𝑐𝑐𝑡 𝐶𝑢, 𝐷𝑗∗ ; 𝐶𝑜𝑣𝑡+1 𝐶𝑢′, 𝐷𝑗′∗ =|𝐶𝑢 ∩ 𝐷𝑗∗| 𝐷𝑗∗ − 1  Với 𝐶𝑖′ → 𝐷𝑗′ (𝑖 ≠ 𝑖∗; 𝑗 ≠ 𝑗∗) 𝐴𝑐𝑐𝑡+1 𝐶𝑖′, 𝐷𝑗′ = 𝐴𝑐𝑐𝑡(𝐶𝑖, 𝐷𝑗); 𝐶𝑜𝑣𝑡+1 𝐶𝑖′, 𝐷𝑗′ = 𝐶𝑜𝑣𝑡(𝐶𝑖, 𝐷𝑗) 3.1.3.Thuật toán

3.1.3.1. Các bước thực hiện thuật toán

Bƣớc 1: Tính độ chính xác và độ phủ của các luật quyết định 𝐶𝑖 → 𝐷𝑗 theo công thức ở định nghĩa 1.3: 𝐴𝑐𝑐𝑡 𝐶𝑖, 𝐷𝑗 =|𝐶𝑖 ∩ 𝐷𝑗| |𝐶𝑖| 𝐶𝑜𝑣𝑡 𝐶𝑖, 𝐷𝑗 =|𝐶𝑖 ∩ 𝐷𝑗| |𝐷𝑗| ∀𝑖 ∈ 1, … , 𝑚 , ∀𝑗 ∈ (1, … , 𝑛) Xây dựng ma trận độ chính xác và ma trận độ phủ: 𝐴𝑐𝑐𝑡 𝐶, 𝐷 = 𝐴𝑐𝑐𝑡 𝐶𝑖, 𝐷𝑗 𝑚 ×𝑛; 𝐶𝑜𝑣𝑡 𝐶, 𝐷 = 𝐶𝑜𝑣𝑡 𝐶𝑖, 𝐷𝑗 𝑚 ×𝑛

Bƣớc 2: Tính toán ma trận độ chính xác và ma trận độ phủ thời điểm t+1 tùy thuộc

vào việc thêm/ bớt các đối tƣợng vào hệ thống để áp dụng các công thức tính độ phủ, độ chính xác đã nêu ở mục 3.1.2 cho các luật quyết định 𝐶𝑖 → 𝐷𝑗 .

Xây dựng ma trận độ chính xác và độ phủ ở thời điểm t+1 𝐴𝑐𝑐𝑡+1 𝐶, 𝐷 = 𝐴𝑐𝑐𝑡+1 𝐶𝑖, 𝐷𝑗

𝑚+𝑙×𝑛+𝑟

𝐶𝑜𝑣𝑡+1 𝐶, 𝐷 = 𝐶𝑜𝑣𝑡+1 𝐶𝑖, 𝐷𝑗

𝑚 +𝑙×𝑛+𝑟

𝐶𝑖 → 𝐷𝑗 ở thở thời điểm t và độ chính xác và độ phủ của luật quyết định 𝐶𝑖 → 𝐷𝑗 ở thời điểm t+1. Sau đó, ta trích rút tất cả các luật quan tâm thỏa mãn bộ 2 ngƣỡng độ chính xác α và độ phủ γ cho trƣớc.

3.1.3.2. Các thuật toán mô phỏng bằng mã chương trình

Thuật toán 3.1: Tiếp cận gia tăng ma trận độ chính xác và ma trận độ phủ khi bổ sung/ loại bỏ đối tượng

Dữ liệu đầu vào:

Các lớp tƣơng đƣơng điều kiện 𝐶𝑖 Các lớp tƣơng đƣơng quyết định 𝐷𝑖 Bộ hai ngƣơng độ chính xác α, độ phủ γ (adsbygoogle = window.adsbygoogle || []).push({});

Kết quả đầu ra: Ma trận độ chính xác, ma trận độ độ phủ và các luật có ý nghĩa Mã giả mô phỏng phƣơng pháp tính toán:

//Tính ma trận độ chính xác và độ phủ tại thời điểm t và trích rút các luật ý nghĩa

for (int i=1;i<=m;i++) for (int j=1;j<=n;j++) { //Tính ma trận độ chính xác, độ phủ 𝐴𝑐𝑐𝑡 𝐶𝑖, 𝐷𝑗 =|𝐶𝑖 ∩ 𝐷𝑗| |𝐶𝑖| 𝐶𝑜𝑣𝑡 𝐶𝑖, 𝐷𝑗 =|𝐶𝑖 ∩ 𝐷𝑗| |𝐷𝑗| }

// Trích rút các luật ý ngĩa thời điểm t

for (int i=1; i<=m; i++) for (int j=1; j<=n;j++) {

if (Acc(𝐶𝑖, 𝐷𝑗) ≥ 𝛼 && Cov(𝐶𝑖, 𝐷𝑗) ≥ 𝛾) trích rút các luật: 𝐶𝑖 → 𝐷𝑗 }

// Tính ma trận độ chính xác và độ phủ tại thời điểm t+1 khi bổ sung một đối tượng //vào hệ thống

// Bổ sung đối tƣợng 𝑥 𝑥 ∈ 𝑁 𝑣à𝑜 𝑕ệ 𝑡𝑕ố𝑛𝑔 foreach (int item in N)

{ l=0;

for (int i=1; i<=m+l; i++) { r=0;

for (int j=1; j<=n+r;j++)

{ Thêm lớp Cm+1 và Dn+1; Tính Acc(C’i, D’j), Cov(C’i, D’j) //trong trƣờng hợp 1 mục 3.1.2.1; l++; r++ }

else Tính Acc(C’i, D’j), Cov(C’i, D’j) //trong trƣờng hợp 1 mục 3.1.2.1;

if ((x ∈ Ci)==true && (x∈ Dj)==false) { thêm lớp quyết định mới Dn+1; Tính Acc(C’i, D’j), Cov(C’i, D’j) //trong trƣờng hợp 3 mục 3.1.2.1;

r++; }

else

{ Thêm lớp điều kiện mới Cm+1;

Tính Acc(C’i, D’j), Cov(C’i, D’j) //trong trƣờng hợp 2 mục 3.1.2.1; l++; } } } }

// Tính ma trận độ chính xác và độ phủ tại thời điểm t+1 khi bỏ một đối tượng ra khỏi hệ thống

//Xét 𝑥 , ∀𝑥 ∈ 𝑀 là đối tƣợng bị loại khỏi hệ thống foreach (int item in M)

{for (int i=1; i<=m; i++) for (int j=1; j<=n;j++)

{ Tính Acc(C’i, D’j), Cov(C’i, D’j)

//trong mục bỏ đối tƣợng trong mục 3.1.2.2 }

}

// Trích rút các luật có nghĩa ở thời điểm t+1

for (int i=1; i<=m+l; i++) for (int j=1; j<=n+r;j++) {

if (Acc(𝐶′𝑖, 𝐷′𝑗) ≥ 𝛼 && Cov(𝐶′𝑖, 𝐷′𝑗) ≥ 𝛾) trích rút các luật: 𝐶′𝑖 → 𝐷′𝑗 }

3.1.4.Độ phức tạp tính toán

(1)Độ phức tạp tính toán ma trận độ chính xác và ma trận độ phủ thời điểm t

Để tinh ma trân độ chính xác ta cần m phép tính để đếm các phần tử trong mỗi lớp, |𝑈 2 phép tính độ hỗ trợ và m*n phép tính chia. Vì vậy ta có độ phức tạp tính toán là 𝑚 + 𝑈 2 + 𝑚 ∗ 𝑛 ≤ 𝑈 2 ( do m, n chỉ tối đa bằng |U|) (adsbygoogle = window.adsbygoogle || []).push({});

Tƣơng tự ta có độ tính toán ma trận độ phủ: 𝑛 + 𝑈 2 + 𝑚 ∗ 𝑛 ≤ 𝑈 2

Vậy độ phức tạp tính toán của ma trận độ chính xác và ma trận độ phủ 𝑂( 𝑈 2)

(2)Độ phức tạp tính toán khi trích rút các luật có ý nghĩa tại thời điểm t

Với mỗi phần tự 𝐴𝑐𝑐(𝐶𝑖, 𝐷𝑗) và 𝐶𝑜𝑣(𝐶𝑖, 𝐷𝑗) ta cần so sánh với một bộ 2 ngƣỡng α và γ cho trƣớc vì vậy ta cần 2* m*n phép so sánh. Do m, n chỉ tối đa lớn nhất là bằng |U| nên độ phức tạp tính toán là 𝑂( 𝑈 2)

(3)Độ phức tạp tính toán khi tính gia tăng ma trận độ chính xác và độ phủ khi thêm một đối tƣợng vào hệ thống

Kiểm tra đối tượng có thuộc phân lớp tương đương: Nếu ta gọi 𝑚∗, 𝑛∗ là số lớp quyết điều kiện, lớp quyết định trƣớc thời điểm so sánh. Khi bổ sung một đối tƣợng 𝑥 vào hệ thống, ta cần 𝑚∗+ 𝑛∗ phép so sánh. Do chƣơng trình cần thực hiện 𝑚∗ phép kiểm tra xem đối tƣợng 𝑥 có thuộc lớp tƣơng đƣơng điều kiện nào không và 𝑛∗ phép kiểm tra xem 𝑥 có thuộc lớp tƣơng đƣơng quyết định nào không.

Cập nhật giá trị các phần tử ma trận độ chính xác và ma trận độ phủ:

Trƣờng hợp 1: Hình thành một lớp điều kiện mới và lớp tƣơng đƣơng mới 𝐶𝑚 +1, 𝐷𝑛+1. Lúc này ma trận độ chính xác và ma trận độ phủ ở thời điểm t+1 có giá trị các phần tử không đổi so với ma trận độ chính xác và độ phủ ở thời điểm t. Tuy nhiên, nó sinh thêm một hàng mới ở cả hai ma trận này do có một lớp điều kiện và lớp quyết định mới hình thành. Theo nhƣ công thức tính các phần tử của hai ma trận ở hàng mới và cột mới: 𝐴𝑐𝑐𝑡+1(𝐶′𝑚+1, 𝐷𝑛+1′ )= 𝐶𝑜𝑣𝑡+1 𝐶′

𝑚+1, 𝐷𝑛+1′ = 1. Mỗi ma trận ta cần cập nhật 𝑚∗ phần tử cho cột mới và 𝑛∗ phân tử cho hàng mới, còn các phần tử còn lại của ma trận có giá trị không đổi so với các phần tử ma trận thời điểm t. Nên độ phức tạp tính toán của việc cập nhật cần 2 ∗ 𝑚∗+ 𝑛∗+ 1 phép gán.

Trƣờng hợp 2: Hình thành một lớp điều kiện mới. Trong trƣờng hợp này chỉ hai ma trận độ phủ và độ chính xác thời điểm t +1 sẽ sinh ra một hàng mới và sẽ ảnh hƣởng tới giá trị của một cột chứa lớp quyết định đƣợc bổ sung thêm 𝑥 (cột 𝑗∗). Vì vậy độ phức tạp tính toán trên ma trận độ chính xác chỉ ảnh hƣởng bởi hàng mới. Còn tính toán trên ma trận độ phủ bị ảnh hƣởng của việc thêm hàng mới và cột tƣơng ứng với lớp quyết định đƣợc bổ sung thêm 𝑥. Do đó, độ phức tạp tính toán khi thêm một lớp điều kiện mới chủ yếu bị ảnh hƣởng bởi 𝐶𝑜𝑣 (𝐶𝑢′, 𝐷𝑗′∗). Tính 𝐶𝑜𝑣 (𝐶𝑢′, 𝐷𝑗′∗) ta cần m

phép tính cộng để đếm các phần tử có trong lớp quyết định 𝐷𝑗′∗(vì số phần tử của quyết định 𝐷𝑗′∗ sẽ đƣợc phân bổ hết trong các phân lớp m điều kiện). 𝑚∗ phép tính

𝑆𝑢𝑝𝑝( 𝐶𝑢′, 𝐷𝑗′∗) và 𝑚∗ phép chia. Và mỗi phép tính 𝑆𝑢𝑝𝑝( 𝐶𝑢′, 𝐷𝑗′∗) cần |𝑈|

𝑚∗∗|𝑈|

𝑛∗ phép tính. Vậy ta có số phép tính cần thực hiện ở trƣờng hợp này:

𝑚 + 𝑚∗∗ 𝑈 𝑚∗∗ 𝑈

𝑛∗ + 𝑚∗ = 𝑚 + 𝑚∗+ 𝑈2

𝑛∗

Trƣờng hợp 3: Hình thành phân lớp quyết định mới. Độ phức tạp tính toán trong trƣờng hợp này đƣợc tính tƣơng tự nhƣ khi hình thành một phân lớp điều kiện mới. Độ phức tạp tính toán bị ảnh hƣởng bởi phép tính 𝐴𝑐𝑐(𝐶𝑖′∗, 𝐷𝑘′) với 𝑖∗ là phân lớp điều kiện đƣợc bổ sung 𝑥 vào còn 𝑘 ≠ 𝑛 + 1. Tƣơng tự nhƣ trên ta có độ phức tạp tính toán: 𝑛 + 𝑛∗∗|𝑈|

𝑚∗ ∗ 𝑈

𝑛∗ + 𝑛∗ = 𝑛 + 𝑛∗+|𝑈

2| 𝑚∗

Với 𝑛 là phép tính đếm số phần tử có trong 𝐶𝑖′∗ (Vì số phần tử có trong lớp 𝐶𝑖′∗ sẽ đƣợc phân bố trong 𝑛 lớp điều kiện quyết định )

Trƣờng hợp 4: Không hình thành lớp điều kiện và lớp quyết định mới. Độ phức tạp tính toán trong trƣờng hợp 4 là bao gồm cả trƣờng hợp 2 và trƣờng hợp 3. Do đó, ta có độ phức tạp tính toán khi bổ sung 1 đối tƣợng :

𝑛 + 𝑚 + 𝑚∗+ 𝑛∗+ 𝑈2

𝑛∗ + 𝑈2

𝑚∗

Độ phức tạp tính toán khi thêm N đối tƣợng 𝑥 vào hệ thống: N*(𝑚 + 𝑛 + 𝑚∗+ 𝑛∗+ 𝑈2

𝑛∗ + 𝑈2

𝑚∗) với N là tập các đối tƣợng 𝑥 đƣợc bổ sung vào hệ thống.

Ta lại có 𝑚∗≤ 𝑚 + 𝑙 ≤ |𝑈|, 𝑛∗ ≤ 𝑛 + 𝑟 ≤ |𝑈|, 𝑚 ≤ 𝑈 , 𝑛 ≤ 𝑈 nên độ phức tạp tính toán O(N(|U|2)≈O(|U|3) (vì N≤ |𝑈|) (adsbygoogle = window.adsbygoogle || []).push({});

(4)Độ phức tạp tính toán khi tính gia tăng ma trận độ chính xác và độ phủ khi loại một đối tƣợng vào hệ thống

Kiểm tra đối tượng có thuộc phân lớp tương đương: Nếu ta gọi 𝑚∗, 𝑛∗ là số lớp điều kiện, lớp quyết định trƣớc thời điểm so sánh. Khi loại một đối tƣợng 𝑥 vào hệ thống, ta cần 𝑚∗+ 𝑛∗ phép so sánh để kiểm tra xem nó thuộc lớp điều kiện nào và lớp quyết định nào.

Cập nhật giá trị các phần tử ma trận độ chính xác và ma trận độ phủ: Việc

xóa một đối tƣợng khỏi hệ thống sẽ ảnh hƣởng đến hàng và cột nơi chứa lớp quyết định và lớp điều kiện có chứa 𝑥 . Do đó, trƣờng hợp này cùng tác động đến hàng, cột của ma trận độ chính xác và độ phủ giống nhƣ trƣờng hợp 4 trong mục (3). Vì vậy ta có độ phức tạp tính toán:

𝑚 + 𝑛 + 𝑚∗+ 𝑛∗+ 𝑈2

𝑛∗ + 𝑈2

Tƣơng tự (3) ta có độ phức tạp tính toán khi loại M đối tƣợng ra khỏi hệ thống: O(M(|U|2)≈O(|U|3) (vì M≤ |𝑈|)

(5)Độ phức tạp tính toán khi trích rút các luật có ý nghĩa tại thởi điểm t+1

Giống nhƣ (2), độ phức tạp tính toán để trích rút các luật có ý nghĩa ở thời điểm t+1 là O(|U|2).

Vậy độ phức tạp tính toán của thuật toán gia tăng ma trận độ phủ và độ chính xác của Liu là O(|U|3).

3.1.5.Ví dụ minh họa

Cho bảng dữ liệu khảo sát thu nhập qua các dịch vụ, mức tiêu thụ điện, nƣớc của một cụm dân cƣ: U Các dịch vụ giải trí/ đầu ngƣời Điện tiêu thụ/ đầu ngƣời Nƣớc tiêu thụ/ đầu ngƣời Đánh giá thu nhập Số lƣợng 𝑥1 Thấp Thấp Thấp Thấp 20 𝑥2 Thấp Trung bình thấp Thấp 25 𝑥3 Thấp Trung bình thấp Trung bình 15

𝑥4 Thấp Trung bình Trung bình Trung bình 35

𝑥5 Thấp Trung bình Trung bình Cao 5

𝑥6 Trung bình Cao Trung bình Cao 52

𝑥7 Trung bình Cao Cao Thấp 3

𝑥8 Trung bình Cao Cao Trung bình 30

𝑥9 Trung bình Cao Cao Cao 57

𝑥10 Cao Cao Cao Trung bình 15

𝑥11 Cao Cao Cao Cao 25

𝑥12 Cao Cao Cao Rất cao 40

Bảng 3.1: Bảng phân loại thu nhập đầu ngƣời trƣởng thành ở cụm dân cƣ

Với 𝑈 = {𝑥1, 𝑥2, 𝑥3, 𝑥4, 𝑥5, 𝑥6, 𝑥7, 𝑥8, 𝑥9, 𝑥10, 𝑥11, 𝑥12} là tập các đối tƣợng ngƣời dùng. C={các dịch vụ giải trí, điện tiêu thụ, nƣớc tiêu thụ} là tập các thuộc tính điều kiện; D = {đánh giá thu nhập} là tập thuộc tính quyết định.

Giả thiết ở thời điểm t+1 ta có 3 trƣờng hợp xảy ra:

(1)Thêm 10 đối tƣợng có giá trị thuộc tính là (các dịch vụ giải trí = trung bình, điện tiêu thụ = cao, nƣớc tiêu thụ = trung bình; đánh giá thu nhập = cao)

Một phần của tài liệu Một số thuật toán khai phá luật quyết định trên cơ sở dữ liệu di động (Trang 42)