trên luật tập thô
- Kỹ thuật phân lớp dựa trên luật kết hợp được phát triển trên cơ sở sửa đổi thuật toán khai phá luật kết hợp Apriori. Bao gồm:
+ Thứ nhất: Sinh tập mục thường xuyên, thực hiện việc phát hiện tất cả các tập mục có chứa thuộc tính tương ứng với thuộc tính mục tiêu. Giả sử D là tập dữ liệu huấn luyện với thuộc tính mục tiêu Z. Thì kỹ thuật phân lớp dựa trên luật kết hợp sẽ sinh một danh sách các ứng viên Ck (tất cả các ứng viên trong Ck phải thỏa mãn ngưỡng độ hỗ trợ tối thiểu cho trước).
+ Thứ hai: Sinh luật, thực hiện việc kiểm tra mục cuối cùng của các tập mục thường xuyên có phải là thuộc tính mục tiêu hay không? Nếu không phải sẽ bị loại bỏ khỏi hệ thống. Nếu đúng sẽ tiến hành sinh luật khi độ tin cậy của luật là không nhỏ hơn ngưỡng.
- Kỹ thuật phân lớp dựa trên tập thô hướng tới xác định các luật quyết định từ một hệ thông tin tương ứng với tập dữ liệu huấn luyện với cú pháp và ngữ nghĩa đơn giản đối với người sử dụng. Bao gồm:
+ Thứ nhất: Thực hiện việc ánh xạ thông tin từ cơ sở dữ liệu ban đầu sang dạng bảng quyết định theo định dạng thống nhất, tiền xử lý dữ liệu để loại nhiễu và rời rạc hóa dữ liệu.
+ Thứ hai: Từ bảng quyết định thu được, tiến hành sinh các luật quyết định bằng cách liên kết các bộ giá trị thuộc tính trong từng lớp.
Xem xét về vấn đề sinh luật, sự khác biệt đáng kể giữa hai kỹ thuật phân lớp dựa trên luật kết hợp và Kỹ thuật phân lớp dựa trên tập thô là do cách xử lý dữ liệu, kỹ thuật phân lớp dựa trên luật kết hợp xem tần suất của các thuộc tính quan tâm là vấn đề quan trọng trong khi đó, kỹ thuật phân lớp dựa trên tập thô thì xem sự phân biệt giữa các giá trị thuộc tính trên cơ sở khái niệm phân biệt là quan trọng.
1.5. Kết luận chƣơng
Chương một trình bày tổng quan về khai phá dữ liệu, khai phá các luật quyết định, đồng thời trình bày một số vấn đề cơ bản của lý thuyết tập thô, luật quyết định và đưa ra công thức biểu diễn mối quan hệ giữa các độ đo của các luật quyết định. Đây là những vấn đề cơ bản cần nắm bắt và trình bày các kết quả trong chương sau của luận văn.
CHƢƠNG 2:
KHAI PHÁ LUẬT QUYẾT ĐỊNH TRÊN BẢNG DỮ LIỆU CÓ CÁC GIÁ TRỊ THUỘC TÍNH THAY ĐỔI
2.1. Giới thiệu
Trong các ứng dụng thực tế theo thời gian các giá trị của các thuộc tính có sự thay đổi. Sự thay đổi này nói chung được chia thành 2 loại. Hoặc là một vài giá trị thuộc tính được kết hợp với nhau thành một giá trị mới (tức là việc làm thô các giá trị thuộc tính), hoặc là một vài giá trị thuộc tính được tách thành hai giá trị mới (tức là việc làm mịn các giá tị thuộc tính).
Trong chương 1 đã trình bày một phương pháp để cập nhật gia tăng các xấp xỉ của một khái niệm khi làm thô, làm mịn các giá trị thuộc tính điều kiện. Phương pháp này đã khẳng định rằng: Khi làm thô các giá trị thuộc tính sẽ làm cho xấp xỉ dưới của một khái niệm bị thu hẹp lại và xấp xỉ trên của nó được mở rộng ra. Kết quả sẽ ngược lại nếu ta làm mịn các giá trị thuộc tính. Như vậy, khi làm thô, làm mịn các giá trị thuộc tính thì các phân hoạch được sinh bởi các thuộc tính cũng trở nên thô hay mịn hơn. Điều này có nghĩa là các lớp tương đương và các luật quyết định đã thu được trước đó có thể bị thay đổi và không còn giá trị tại thời điểm mới nào đó.
Khi đó, để thu được các luật quyết định có nghĩa tại thời điểm mới, trong chương này sẽ tập trung giải quyết về vấn đề trích rút các luật quyết định có ý nghĩa khi làm thô, làm mịn các giá trị thuộc tính điều kiện và khi làm thô, làm mịn các giá trị thuộc tính quyết định.
- Nội dung bao gồm các mục sau:
+ Mục 2.2 Một số khái niệm cơ bản về làm thô, làm mịn các giá trị thuộc tính.
+ Mục 2.3 Trình bày tiến trình cập nhật tri thức khi làm thô, làm mịn các giá trị thuộc tính.
+ Mục 2.4 Kết luận của chương.
2.2. Khái niệm làm thô, làm mịn giá trị thuộc tính Định a 2.1: Định a 2.1:
Cho hệ thông tin IS = (U, A, V, f), a P A, Va là tập giá trị của thuộc tính a. Giả sử f(xp, a) = y tương ứng là giá trị của đối tượng xp, xq trên thuộc tính a (p q). Nếu tại thời điểm nào đó ta có f(xp, a) = f(xq, a) = z(z Va) thì ta gọi hai giá trị w, y của thuộc tính a được làm thô thành giá trị mới z.
Định nghĩa 2.2:
Cho hệ thông tin IS = (U, A, V, f), a P A. Giả sử Z = {xs U|f(xs, a) = z} là tập các đối tượng có giá trị z trên thuộc tính a. Nếu tại thời điểm nào đó, Z được phân hoạch thành hai tập hợp con W, Y sao cho Z = W Y, W Y = , trong đó W = {xp U | f(xp, a) = w , w Va} và Y = {xq U|f(xq, a) = y, y Va} thì ta gọi giá trị z của thuộc tính a là được làm mịn thành hai giá trị mới là w và y.
2.3. Tiến trình cập nhật tri thức khi làm thô, làm mịn các giá trị thuộc tính
2.3.1. Yêu cầu và giả thiết bài toán
Cho bảng quyết định DS = (U, C D, V, f), Va, Vd tương ứng là tập các giá trị của thuộc tính điều kiện a và thuộc tính quyết định d.
Yêu cầu bài toán là: Tiến hành trích rút các luật quyết định mới khi làm thô, làm mịn các giá trị thuộc tính điều kiện và khi làm thô, làm mịn các giá trị thuộc tính quyết định. Các luật quyết định được trích rút thỏa mãn đồng thời cả ngưỡng độ chính xác và ngưỡng độ phủ cho trước.
Giả sử tập thuộc tính quyết định D chỉ gồm một thuộc tính d, tiến trình học các luật quyết định khi các giá trị thuộc tính thay đổi diễn ra từ thời điểm t đến thời điểm t+1; U/C = {C1, …, Cm}, U/D = {D1, …, Dn} tương ứng là các phân hoạch được sinh bởi C, D (0<m, n |U|);
Tại thời điểm t, ký hiệu ft(x, a), ft(Ci, a), và ft(x, d), ft(Dj, d) tương ứng là giá trị của x, giá trị của lớp tương đương điều kiện Ci trên thuộc tính a và là giá trị của x, giá trị của lớp tương đương quyết định Dj trên thuộc tính d.
Tương tự như vậy tại thời điểm t+1, ta cũng có ký hiệu lần lượt các giá trị này là ft+1(x, a), ft+1(Ci, a), fi+1(x, d), ft+1(Dj,d).
2.3.2. Cơ sở toán học
2.3.2.1. Làm thô các giá trị thuộc tính điều kiện
Định lý 2.1: Giả sử sau thời điểm t, hai giá trị w, y của thuộc tính a C được làm thô thành giá trị mới z, z Va. Tại thời điểm t+1, tồn tại hai lớp tương đương điều kiện Cp, Cq nào đó được làm thô thành lớp tương đương điều kiện mới Cs, khi và chỉ khi aj a, ft(Cp, aj) = ft(Cq, aj);
Hệ quả 2.1:
Nếu sau thời điểm t, hai lớp tương đương điều kiện Cp, Cq nào đó được làm thành lớp điều kiện mới Cs thì tại thời điểm t+1, ta có:
+ Cp Cq = Cs
+ Dj U/D, độ hỗ trợ Sup(Cp, Dj) + Sup(Cq, Dj) = Sup(Cs, Dj), ở đây j = 1,...,n.
Từ đó ta có được sau thời điểm t, hai dòng tương ứng với hai lớp tương đương điều kiện Cp, Cq trong ma trận độ hỗ trợ được kết hợp thành một dòng mới tương ứng với lớp tương đương điều kiện Cs tại thời điểm t+1 với giá trị là tổng giá trị các phần tử của hai dòng này.
2.3.2.2 Làm mịn các giá trị thuộc tính điều kiện:
Định lý 2.2: Giả sử sau thời điểm t, giá trị z của thuộc tính a C được làm mịn thành hai giá trị mới w và y (w, y Va). Tại thời điểm t+1, tồn tại một lớp tương đương điều kiện Cs nào đó được làm mịn thành hai lớp tương đương điều kiện mới Cp, Cq khi vàchỉ khi:
+ Cs W với W = {x Cs: ft+1(x, a)=w} (2) + Cs Y với Y = {x Cs: ft+1(x, a)=y} (3) Chứng minh : (1)
Giả sử ft(Cs, a) z, khi đó mọi giá trị của các phần tử thuộc lớp này đều không đổi. Điều này là vô lý. Do đó ft(Cs, a) = z.
Chứng minh (2)
Giả sử Cs W = , khi đó ta có x Cs ft(x, a) = ft(Cs , a) = z.
Suy ra ft+1(x, a) = y bởi vì nếu ft+1(x, a) = w thì x W. Do vậy Cs W . Điều này trái với giả thiết.
Chứng minh (3)
Giả sử Cs Y = , khi đó ta có x Cs ft(x, a) = ft(Cs , a) = z.
Suy ra ft+1(x, a) = w bởi vì nếu ft+1(x, a) = y thì x Y. Do vậy Cs Y . Điều này trái với giả thiết.
Hệ quả 2.2:
Nếu sau thời điểm t, lớp tương đương điều kiện Cs nào đó được làm mịn thành hai lớp tương đương điều kiện mới Cp, Cq. Tại thời điểm t+1, ta có :
+ Cs = Cp Cq ;
+ Dj U/D, độ chính xác Sup(Cs, Dj) = Sup(Cp, Dj) + Sup(Cq, Dj). Ở đây j = 1,…,n.
Từ đó ta có, sau thời điểm t dòng tương ứng với lớp tương đương điều kiện Cs nào đó trong ma trận độ hỗ trợ sẽ được tách thành hai dòng mới tương ứng với hai lớp tương đương điều kiện mới Cp, Cq tại thời điểm t+1.
2.3.2.3. Làm thô các giá trị thuộc tính quyết định
Tương tự như các kết quả đã thu được khi làm thô các giá trị thuộc tính điều kiện, khi làm thô các giá trị thuộc tính quyết định ta cũng thu được kết quả như sau:
Giả sử sau thời điểm t, hai giá trị w, y của thuộc tính quyết định d được làm thô thành giá trị mới z (z Vd). Tại thời điểm t+1, tồn tại hai lớp tương đương quyết định Dw, Dy nào đó được làm thô thành một lớp tương đương quyết định mới Dz, có nghĩa là Dw Dy = Dz Với Dw={x U:ft(x,d)=w, w Vd}, Dy={x U:ft(x,d)=y, y Vd}.
Từ kết quả trên ta có hệ quả sau.
Hệ quả 2.3 :
Từ kết quả trên ta có, Ci U/C, độ hỗ trợ Sup(Ci, Dw) + Sup(Ci, Dy) = Sup(Ci, Dz), ở đây i = 1,...,m.
Ta dễ thấy rằng: Sau thời điểm t, hai cột tương ứng với hai lớp tương đương quyết định Dw, Dy sẽ kết hợp lại thành một cột tương ứng với Dz tại thời điểm t+1 với giá trị là tổng giá trị của hai cột này.
2.3.2.4. Làm mịn các giá trị thuộc tính quyết định:
Tương tự như trường hợp làm mịn các giá trị thuộc tính điều kiện, khi làm mịn các giá trị thuộc tính quyết định, ta cũng thu được kết quả như sau:
Giả sử sau thời điểm t, giá trị z của thuộc tính quyết định d được làm mịn thành hai giá trị mới w và y (w, y Vd). Tại thời điểm t+1, tồn tại một lớp tương đương quyết định Dz nào đó được làm mịn thành hai lớp tương đương quyết định mới Dw và Dy.
Hệ quả 2.4: Khi đó ta có: Ci U/C, độ hỗ trợ Sup(Ci, Dz) = Sup(Ci, Dw) + Sup(Ci, Dy), ở đây i = 1,...,m.
Ta dễ thấy rằng: Sau thời điểm t, cột tương ứng với lớp tương đương quyết định Dz nào đó trong việc tính độ hỗ trợ sẽ được tách thành hai cột mới tương ứng với hai lớp tương đương quyết định mới Dw, Dy tại thời điểm t+1. Trước tiên ta phải tính giá trị độ hỗ trợ Sup(Ci, Dy) là hiệu giữa giá trị của Sup(Ci, Dz) và Sup(Ci, Dy).
2.3.3. Thuật toán
Trên cơ sở các định lý và các hệ quả được trình bày ở trên, luận văn trình bày thuật toán mới để trích rút các luật quyết định có ý nghĩa khi làm thô, làm mịn các giá trị thuộc tính điều kiện hoặc khi làm thô, làm mịn các giá trị thuộc tính quyết định. Thuật toán được xây dựng theo hướng tiếp cận gia tăng, không đòi hỏi phải thực hiện lại việc phân lớp khi các giá trị thuộc tính thay đổi, chi cần tìm các lớp tương đương bị thay đổi làm cơ sở cho việc cập nhật lại ma trận độ hỗ trợ tại thời điểm trước đó, dựa trên đó tính ma trận độ chính xác, ma trận độ phủ rồi sinh luật. Các bước cơ bản của thuật toán được trình bày theo mô hình 2.1 sau:
Hình 2.1: Các bước cơ bản của thuật toán trích rút luật quyết định khi làm thô/mịn các giá trị thuộc tính
Tính ma trận Sup(t) (C, D) Tính ma trận Sup(t+1) (C, D) khi làm thô (làm mịn) các giá trị thuộc tính Acc(t+1)(C, D) và Cov(t+1)(C, D) Sinh các luật Kết thúc Bắt đầu
Thuật toán 2.1 Tính ma trận độ hỗ trợ tại thời điểm t nào đó
Vào: - Các lớp tương đương điều kiện Ci - Các lớp tương đương quyết định Dj
Ra: Ma trận độ hỗ trợ (Sup) tại thời điểm t.
Phƣơng pháp: // Áp dụng định nghĩa 1.5 for i = 1 to m do for j = 1 to m do begin Sup(Ci, Dj) = Ci Dj ; end Kết thúc.
Thuật toán 2.2 Tính ma trận độ hỗ trợ tại thời điểm t+1 khi làm thô các giá trị thuộc tính điều kiện
Vào: - Ma trận độ hỗ trợ Sup tại thời điểm t - Thuộc tính điều kiện a* được làm thô
- Các giá trị w, y của a* được làm thô thành z.
Ra: Ma trận độ hỗ trợ Sup tại thời điểm t+1 sau khi làm thô thuộc tính a*
Phƣơng pháp:
//Tìm tất cả các cặp lớp tương đương điều kiện Cp, Cq được hợp thành lớp tương đương điều kiện Cs mới CC = ;
//Tập chứa các cặp lớp tương đương được hợp lại thành 1 lớp mới. for p = 1 to m do
for q = p + 1 to m do begin
if(ft(Cp, a*) = w and ft(Cq, a*) = y)
begin
kiemtra = 1; for k = 1 to |C| do
//với |C| là số các thuộc tính điều kiện begin
//Kiểm tra xem với các thuộc tính còn lại, 2 lớp có cùng giá trị không? if(ak a* and ft(Cp, ak) ft(Cq, ak)) then
begin kiemtra = 0; break; end; end; if kiemtra = 1 then begin
//Lưu các thuộc tính Cp, và Cq vào lớp CC luu(Cp, Cq) in CC;
end; end; end; end;
//Tính ma trận Sup tại thời điểm t+1 for(Cp, Cq) in CC
begin
for j = 1 to n do begin
Sup(Cs, Dj) = Sup(Cp, Dj) + Sup(Cq, Dj); end;
//Bổ sung dòng tương ứng với Cs; end;
Kết thúc.
Thuật toán 2.3: Tính ma trận độ hỗ trợ tại thời điểm t+1 khi làm mịn
các giá trị thuộc tính điều kiện.
Vào: - Ma trận Sup tại thời điểm t
- Thuộc tính điều kiện a* được làm mịn
- Tập W các đối tượng mà giá trị z trên thuộc tính a* được làm mịn thành w.
- Tập Y các đối tượng mà giá trị z trên thuộc tính a* được làm mịn thành y.
Ra: Ma trận Sup tại thời điểm t+1 sau khi làm mịn thuộc tính a*.
Phƣơng pháp:
//Tìm lớp điều kiện Cs được tách thành 2 lớp mới Cp, Cq for s = 1 to m do
begin
if ft(Cs, a) = z and Cs W and Cs Y then begin
Cp = ; Cq = ; for each x in Cs do begin
if(ft(x, a*) = w) then //Bổ sung x vào Cp else if(ft(x, a*) = y) then //Bổ sung x vào Cp end;
end; end;
for j = 1 to n do begin
//Tính Sup(Cp, Dj);
Sup(Cq, Dj) = Sup(Cs, Dj) - Sup(Cp, Dj); end;
//Xóa dòng tương ứng với Cs;
//Bổ sung 2 dòng tương ứng với Cp, Cq;
Kết thúc.
Thuật toán 2.4: Tính ma trận độ hỗ trợ tại thời điểm t+1 khi làm thô
các giá trị thuộc tính quyết định.
Vào: - Ma trận Sup tại thời điểm t
- Giá trị thuộc tính w, y của thuộc tính quyết định d được làm thô thành z.
Ra: Ma trận Sup tại thời điểm t+1 sau khi làm thô thuộc tính d.
Phƣơng pháp: //Tìm 2 lớp Dw*, Dy* được kết hợp thành lớp mới Dz. w* = -1; y* = -1; for j = 1 to n do begin if f(Dj, d) = w then w* = j; if f(Dj, d) = y then y* = j; end;
//Tính ma trận Sup tại thời điểm t+1 for i = 1 to m do
begin
Sup(Ci, Dz) = Sup(Ci, Dw*) + Sup(Ci, Dy*); end;
//Xóa 2 cột tương ứng với Dw*, Dy*; //Bổ sung cột tương ứng với Dz;
Kết thúc.
Thuật toán 2.5: Tính ma trận độ hỗ trợ tại thời điểm t+1 khi làm mịn
các giá trị thuộc tính quyết định.
Vào: - Ma trận Sup tại thời điểm t;