Professional Documents
Culture Documents
---------------------------------------
HÀ NỘI - 2014
Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Luận văn được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ
Bưu chính Viễn thông
Vào lúc: 14 giờ 00 ngày 15 tháng 02 năm 2014
MỞ ĐẦU
Trong những năm gần đây, công nghệ thông tin phát triển vô cùng nhanh chóng và
được ứng dụng rộng rãi trong nhiều lĩnh vực kinh tế - xã hội. Sự việc này dẫn đến bùng nổ
thông tin, đòi hỏi phát triển các phương pháp khai phá dữ liệu hiệu quả để có thể phát hiện
ra những tri thức hữu ích, tiềm ẩn trong các cơ sở dữ liệu lớn. Ngày nay khai phá dữ liệu,
khám phá tri thức đã trở thành một lĩnh vực khoa học thu hút sự quan tâm của nhiều nhà
nghiên cứu trong nước và trên thế giới.
Lý thuyết tập thô được đề nghị bởi Pawlak Z. từ những năm đầu của thập niên 80 của
thế kỷ trước. Đó là cách tiếp cận mới để xử lý dữ liệu mơ hồ, không chắc chắn. Cách tiếp
cận lý thuyết tập thô có vai trò quan trọng trong trí tuệ nhân tạo, đặc biệt trong lĩnh vực học
máy, hỗ trợ quyết định... Sử dụng lý thuyết tập thô có thể giải quyết hiệu quả các vấn đề
quan trọng như: Rút gọn thuộc tính, xử lý giá trị thiếu, rời rạc hóa dữ liệu, phát hiện phụ
thuộc dữ liệu, phát hiện các luật quyết định, luật kết hợp (tĩnh hoặc động), phân cụm dữ
liệu…
Khi áp dụng tập thô để giải quyết vấn đề khám phá tri thức và trích rút các luật kết
hợp từ cơ sở dữ liệu, chúng ta phải đối mặt với các tình huống cơ sở dữ liệu có hàng triệu
đối tượng. Đồng thời, theo thời gian số các đối tượng, số các thuộc tính hoặc các giá trị
thuộc tính có thể thay đổi. Khi đó để thu được các luật kết hợp mới có ý nghĩa từ tập dữ liệu
đã bị thay đổi, nếu chúng ta xem xét lại cả cơ sở dữ liệu ban đầu và cả dữ liệu bị thay đổi
gần nhất, công việc này sẽ tiêu tốn một số lượng thời gian tính và không gian bộ nhớ. Do đó
hiệu quả của các thuật toán này rất thấp. Trong thực tế, vấn đề trên thường xuyên xảy ra, khi
đó việc nghiên cứu, tìm ra các thuật toán mới nhằm nâng cao hiệu quả trong công việc cập
nhật tri thức từ bảng dữ liệu động là công việc cần thiết, đòi hỏi sự quan tâm của các nhà
nghiên cứu.
Học gia tăng là cách được con người dùng trong tiếp thu tri thức. Đây cũng là
phương pháp học máy trong các ứng dụng thực và được đánh giá là phương pháp hiệu quả
trong việc phát hiện tri thức từ dữ liệu động. Luận văn này trình bày phương pháp học gia
tăng để “Xây dựng luật kết hợp trên bảng quyết định có các giá trị thuộc tính thay đổi” trên
cơ sở sử dụng độ chính xác và độ phủ của luật làm hai nhân tố đánh giá chất lượng mô tả
của các tri thức (luật) quan tâm được trích rút.
Mục đích nghiên cứu
Nghiên cứu tổng quan về khám phá tri thức và khai phá dữ liệu, xây dựng thuật toán
khai phá luật kết hợp từ bảng dữ liệu khi làm thô, làm mịn các giá trị thuộc tính.
Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu: Đối tượng nghiên cứu chính của luận văn là bảng dữ liệu có
các tập giá trị thuộc tính thay đổi.
Phạm vi nghiên cứu: Ứng dụng thuật toán trích rút luật kết hợp thử nghiệm khai phá
dữ liệu với CSDL là bảng cập nhật thông tin của các nhân viên trong một công ty.
Phương pháp nghiên cứu
Học gia tăng theo tiếp cận tập thô để giải quyết bài toán xây dựng luật kết hợp trên
bảng quyết định thay đổi.
2
Mục tiêu chính của phương pháp phân cụm dữ liệu là nhóm các đối tượng tương
tự nhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một lớp là
tương đồng còn các đối tượng thuộc các cụm khác nhau sẽ không tương đồng. Phân
cụm dữ liệu là một ví dụ của phương pháp học không có thầy. Phân cụm dữ liệu được
sử dụng nhiều trong các ứng dụng về phân đoạn thị trường, phân đoạn khách hàng,
nhận dạng mẫu, phân loại trang Web… Ngoài ra phân cụm dữ liệu còn có thể được
sử dụng như một bước tiền xử lý cho các thuật toán khai phá dữ liệu khác.
1.3.5.2 Phân lớp dữ liệu [7]
Mục tiêu của phương pháp phân lớp dữ liệu là dự đoán nhãn lớp cho các mẫu dữ liệu.
Quá trình phân lớp dữ liệu thường gồm hai bước: Xây dựng mô hình và sử dụng mô hình để
phân lớp dữ liệu.
Bước 1: Một mô hình sẽ được xây dựng dựa trên việc phân tích các mẫu dữ liệu sẵn
có. Mỗi mẫu tương ứng với một lớp, được quyết định bởi một thuộc tính gọi là thuộc tính
lớp. Các lớp dữ liệu này còn được gọi là lớp dữ liệu huấn luyện (training data set). Các nhãn
lớp của tập dữ liệu huấn luyện đều phải được xác định trước khi xây dựng mô hình.
Bước 2: Sử dụng mô hình để phân lớp dữ liệu. Trước hết, chúng ta phải tính độ chính
xác của mô hình. Nếu độ chính xác là chấp nhận được, mô hình sẽ được sử dụng để dự đoán
nhãn lớp cho các mẫu dữ liệu khác trong tương lai.
1.3.5.3 Phương pháp hồi quy
Phương pháp hồi quy khác với phân lớp dữ liệu ở chỗ: Hồi quy dùng để dự đoán về
các giá trị liên tục còn phân lớp dữ liệu chỉ dùng để dự đoán về các giá trị rời rạc.
Hồi quy là một hàm học ánh xạ mục dữ liệu thành một biến dự đoán có giá trị thực.
Có rất nhiều ứng dụng khai phá dữ liệu với nhiệm vụ hồi quy, chẳng hạn như khả năng đánh
giá tử vong của bệnh nhân khi biết các kết quả xét nghiệm; chẩn đoán, dự đoán nhu cầu tiêu
thụ một sản phẩm mới bằng một hàm chi tiêu quảng cáo.
1.3.5.4 Khai phá luật kết hợp
Mục tiêu của phương pháp này là phát hiện và đưa ra các mối liên hệ giữa các giá trị
dữ liệu trong cơ sở dữ liệu. Mẫu đầu ra của giải thuật khai phá dữ liệu là luật kết hợp tìm
được. Khai phá luật kết hợp được thực hiện qua hai bước:
Bước 1: Tìm tất cả các tập mục phổ biến, một tập mục phổ biến được xác định qua
tính hỗ trợ và thỏa mãn độ hỗ trợ cực tiểu.
Bước 2: Sinh ra các luật kết hợp mạnh từ tập mục phổ biến, các luật phải thỏa mãn
độ hỗ trợ cực tiểu và độ tin cậy cực tiểu.
Phương pháp này được sử dụng rất hiệu quả trong các lĩnh vực như maketing có chủ
đích, phân tích quyết định, quản lý kinh doanh, phân tích giá thị trường …
1.3.6 Kiến trúc của hệ thống khai phá dữ liệu
Như đã trình bày ở trên, khai phá dữ liệu là một giai đoạn trong quá trình phát hiện tri
thức từ số lượng lớn dữ liệu lưu trữ trong các cơ sở dữ liệu, kho dữ liệu hoặc các nơi lưu trữ
khác. Bước này có thể tương tác lẫn nhau giữa người sử dụng hoặc cơ sở tri thức, những
mẫu đáng quan tâm được đưa cho người dùng hoặc lưu trữ như là tri thức mới trong cơ sở
tri thức.
6
là tập các giá trị thuộc tính trong đó là tập giá trị của thuộc tính a, là hàm
thông tin sao cho , ta có .
Ta gọi là giá trị của đối tượng x trên thuộc tính a, tập gọi là một khái
niệm trong IS. Nếu V chứa giá trị thiếu ở ít nhất một thuộc tính thì IS được gọi là hệ
thông tin không đầy đủ .Trái lại, IS gọi là hệ thông tin đầy đủ hay hệ thông tin.
Ví dụ 2.1. Cho hệ thông tin được biểu diễn trong bảng 2.1, khi đó ta có:
Tập các đối tượng { } . Tập các thuộc tính { }.
Tập các giá trị thuộc tính ta có { }.
; = 2… tương ứng là các giá trị của các đối tượng trên
các thuộc tính …
Bảng 2.1: Ví dụ về hệ thông tin.
U U
1 1 1 2 2 2
1 2 1 2 3 3
1 2 1 2 3 3
1 2 1 2 3 3
1 2 2 3 3 3
2 2 1 3 3 3
9
Trong đó | | | |, | |
Bước 2: Đặt { } ở đó . Khi đó, các tập là các lớp
tương đương của quan hệ .
Kết thúc:
Vì thuật toán sắp xếp các đối tượng trên một thuộc tính có độ phức tạp | | | | ,
khi đó với | | | | thì thuật toán 2.1 có độ phúc tạp là | | | | , trong đó | |
biểu thị lực lượng của tập hợp .
Ví dụ 2.2
Xét hệ thông tin cho ở bảng 2.1
Giả sử, chọn { }, ta dễ dàng thu được một phân hoạch của U được sinh bởi
P là: {{ } { }{ }{ }{ }}.
Định nghĩa 2.2
Cho hệ thông tin , là tập các thuộc tính, { },
{ } là các phân hoạch được sinh bởi P, Q, ta nói Q thô hơn (coarser) P hoặc
P mịn hơn (refiner ) Q khi và chỉ khi , sao
cho .
2.2.3 Xấp xỉ tập hợp
Trong lý thuyết tập thô, bất cứ khái niệm không rõ ràng nào đều được thay bằng một cặp
khái niệm không chính xác gọi là xấp xỉ dưới và xấp xỉ trên của khái niệm không rõ ràng.
Xấp xỉ dưới bao gồm tất cả các đối tượng chắc chắn thuộc về khái niệm, xấp xỉ trên bao
gồm tất cả các đối tượng có thể thuộc về khái niệm. Các khái niệm này được định nghĩa cụ
thể như sau:
Định nghĩa 2.3
Cho hệ thông tin là tập các thuộc tính , là tập các đối
tượng, khi đó các tập { [ ] } và { [ ] } tương ứng gọi
là P- xấp xỉ dưới và P – xấp xỉ dưới trên của X trong IS (hình 2.1).
10
{ [ ] } ⋃
Trên cơ sở đó, chúng ta có thể tính P – xấp xỉ dưới và P – xấp xỉ trên của X bởi thuật
toán sau đây:
Thuật toán 2.2: Xác định xấp xỉ dưới, xấp xỉ trên.
Vào:
Hệ thông tin .
Tập thuộc tính .
Tập đối tượng .
Ra: P – xấp xỉ dưới và P – xấp xỉ trên của X.
11
Phương pháp:
Bước 1:Xác định các lớp tương đương của quan hệ IND(P).
Bước 2: Đặt và .
Bước 3:
For j = 1 to m do
begin
if then ;
if then ;
end;
Kết thúc.
Dễ thấy, thuật toán 2.2 có độ phức tạp O(k| | | |, trong đó | | | | .
Ví dụ 2.3
Xét hệ thông tin trong bảng 2.1
Giả sử, chọn { }, { }.
Ta có: { } với { }, { }, { }, { }.
Suy ra: { } { }; { } { }.
Vì nên ta có X là tập thô.
Một số tính chất của xấp xỉ
1.
2.
3.
4.
5. Nếu thì ,
6.
7.
8.
9.
10. ( ) ( )
11. ( ) ( )
2.2.4 Bảng quyết định
Một trường hợp đặc biệt của hệ thông tin gọi là một bảng quyết định nếu tập thuộc tính A
được phân thành hai tập rời nhau C và D, trong đó C là tập các thuộc tính điều kiện, D là tập
các thuộc tính quyết định sao cho , .
Bảng quyết định được ký hiệu là : hoặc .
Giả sử { } và { } tương ứng là các phân
hoạch được sinh bởi tập các thuộc tính điều kiện C và tập các thuộc tính quyết định D,
; thì , tương ứng được gọi là các lớp tương đương điều kiện và
các lớp tương đương quyết định .
12
Một lớp tương đương điều kiện gọi là nhất quán nếu , thì
; một lớp tương đương quyết định gọi là nhất quán nếu ,
thì .
Một bảng quyết định gọi là nhất quán nếu mỗi lớp tương đương điều kiện là nhất
quán. Ngược lại gọi là bảng quyết định không nhất quán.
2.2.5 Luật kết hợp
Độ hỗ trợ và độ tin cậy (độ chính xác) là hai độ đo mức độ quan tâm của luật kết hợp và
tương ứng chúng phản ánh tính hữu ích và tính chắc chắn của các luật đã được khám phá.
Các luật kết hợp được xem là luật có ý nghĩa nếu chúng thỏa mãn đồng thời cả ngưỡng độ
hỗ trợ tối thiểu và ngưỡng độ tin cậy tối thiểu. Các ngưỡng như vậy có thể được thiết lập bởi
người sử dụng hoặc các chuyên gia. Mặt khác, độ chính xác và độ phủ được sử dụng để
đánh giá mức độ đầy đủ và cần thiết của luật , mô hình xác xuất đơn giản nhất là mô hình có
độ chính xác và độ phủ cao . Vì vậy, luận văn chọn cả độ chính xác và độ phủ để mô tả các
tri thức quan tâm.
Định nghĩa 2.4
Cho bảng quyết định , { }, { }
tương ứng là các phân hoạch được sinh bởi C,D. Một luật kết hợp được biểu diễn dưới dạng
ở đây , .
Định nghĩa 2.5
Cho bảng quyết định . Giả sử ,
tương ứng là các lớp tương đương điều kiện và các lớp tương đương quyết định
được sinh bởi C, D. Độ hỗ trợ, độ chính xác và độ phủ của luật kết hợp tương ứng
được định nghĩa như sau:
Độ hỗ trợ : ( ) | |
Độ chính xác:
| |
( )
| |
Độ phủ:
| |
( )
| |
( ) ∑ ( )
( ) ∑ ( )
13
Khi xem xét các độ đo của tất cả các luật kết hợp, để đơn giản ta có thể biểu diễn các độ đo
này dưới dạng các ma trận độ đo như sau:
Ma trận độ hỗ trợ:
=( )
=( )
Ma trận độ phủ:
( )
Chú ý:
(i)Nếu là một luật kết hợp thì được gọi là luật kết hợp ngược
(inverse) của nó. Các luật kết hợp ngược có thể được sử dụng để giải thích (các lý do) đối
với một kết hợp .
Dễ thấy, độ chính xác của luật kết hợp ngược chính là độ phủ của các luật kết hợp
bạn đầu.
(ii)Nếu ( ) thì nếu ( ) thì . Điều này có
nghĩa là độ đo chính xác và độ đo độ phủ của luật còn có thể được sử dụng để đo mức độ
của xấp xỉ dưới và xấp xỉ trên của một khái niệm.
Định nghĩa 2.6
Cho bảng quyết định tương ứng là các lớp
tương đương điều kiện, các lớp tương đương quyết định được sinh bởi là một
luật kết hợp trong .
Nếu ( ) thì được gọi là luật kết hợp chắc chắn;
Nếu ( ) thì được gọi là luật kết hợp không chắc chắn;
Mệnh đề 2.1 [4]
Ta có,
( )
( )
14
( )
( ) (2.4)
3.3.2.4 Làm mịn các giá trị thuộc tính quyết định
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 ( ). Tại thời điểm t+1 , tồn tại một lớp tương đương quyết định
nào đó được làm mịn thành hai lớp tương đương quyết định mới và ;
Khi đó, ta cũng rút ra được hệ quả sau:
Hệ quả 3.4 [5]
Ta có ở đây i=1,…,m.
3.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, trong luận văn này em xin trình
bày thuật toán để trích rút các luật kết hợp 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 học 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, chỉ 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 trong hình 3.1
Hình 3.1: Các bước cơ bản của thuật toán trích rút luật kết hợp khi làm thô/mịn các
giá trị thuộc tính.
Thuật toán 3.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
Các lớp tương đương điều kiện .
Ra: Ma trận độ hỗ trợ (Sup) tại thời điểm t.
Phương pháp:
// Áp dụng đĩnh nghĩa 2.5.
for i = 1 to m do
18
for j = 1 to n do
begin
| | ;
end ;
Kết thúc.
Thuật toán 3.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 được làm thô.
-Các giá trị w, y củ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 được làm thô thuộc tính .
Phương pháp:
// Tìm tất cả các cặp tương đương điều kiện được hợp thành lớp tương đương điều
kiện mới.
;// 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 ( ( ) ( ) )
or ( ( ) ( ) ) then
begin
kiemtra = 1;
for k = 1 to | | do // | | là số các thuốc tính điều kiện .
begin
if ( ) then
begin
kiemtra = 0; break;
end;
end;
if kiemtra = 1 then
begin
lưu ( ) vào CC;
end;
end;
end;
// Tính ma trận Sup tại thời điểm t+1.
for ( ) in CC
begin
for = 1 to n do
begin
( ) ( ) ( );
end;
Xóa 2 dòng tương ứng với ;
Bổ sung dòng tương ứng với ;
19
end;
Kết thúc.
Thuật toán 3.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 được làm mịn.
- Tập W các đối tượng mà có giá trị z trên thuộc tính được làm mịn thành w.
- Tập Y các đối tượng có giá trị z trên thuộc tính đượ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 .
Phương pháp:
//Tìm lớp điều kiện được tách thành 2 lớp và .
for s = 1 to m do
begin
if and and then
begin
; ;
for each x in do
begin
if ( ) then Bổ sung x vào
else if ( ) then Bổ sung x vào ;
end;
end;
end;
// Tính Sup tại thời điểm t+1.
for j = 1 to n do
begin
Tính Sup( );
( ) ( ) ( );
end;
Xóa dòng tương ứng với ;
Bổ sung 2 dòng tương ứng với ;
Kết thúc.
Thuật toán 3.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ị 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ô .
Phương pháp:
// Tìm 2 lớp , được kết hợp thành lớp mới .
; ;
for j = 1 to n do
begin
if ( ) ;
20
if ( ) ;
end;
// Tính ma trận Sup tại thời điểm t+1.
for i = 1 to m do
begin
;
end;
Xóa 2 cột tương ứng với , ;
Bổ sung cột tương ứng với ;
Kết thúc.
Thuật toán 3.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.
-Tập là tập các đối tượng có giá trị trên thuộc tính d là z được làm mịn thành giá
trị w.
-Tập là tập các đối tượng có giá trị trên thuộc tính d là z được làm mịn thành
thành giá trị y.
Ra: Ma trận Sup tại thời điểm t+1 sau khi làm mịn d.
Phương pháp:
// Tìm lớp được tách thành 2 lớp mới .
for j = 1 to n do
begin
if ( )
end;
// Tính ma trận Sup tại thời điểm t+1.
for i = 1 to m do
begin
Tính Sup( );
( )
end;
Xóa cột ;
Bổ sung 2 cột
Kết thúc.
Chú ý: Trong thuật toán 3.5 này, vì tập thuộc tính quyết định D chỉ có một thuộc tính
d, nên khi làm mịn giá trị z của d thành hai giá trị mới w và y, ta có ngay hai lớp tương
đương quyết định mới tương ứng là ;
Diễn giải làm việc của các thuật toán từ 3.2 đến 3.5
Tất cả các thuật toán 3.2 đến 3.5 được xây dựng trên cơ sở các kết quả của định lý
3.1, định lý 3.2, các hệ quả từ 3.1 đến 3.4.
Các thuật toán này đều làm việc theo cơ chế: Đầu tiên nó thực hiện việc tìm các cặp
lớp tương đương mà sẽ được kết hợp với nhau thành một lớp tương đương mới (khi làm
thô) hoặc tìm một lớp tương đương bị tách thành hai lớp tương đương mới (làm mịn), sau
21
đó cập nhật lại các dòng (cột) tương ứng trong ma trận độ hỗ trợ tại thời điểm trước đó. Sau
bước cập nhật này, ta sẽ thu được ma trận độ hỗ trợ tại thời điểm t+1.
Thuật toán 3.6 : Tính ma trận độ chính xác và ma trận độ phủ tại thời điểm t+1.
Vào: Ma trận độ hỗ trợ tại thời điểm t+1.
Ra: Ma trận độ chính xác và ma trận độ phủ tại thời điểm t+1.
Phương pháp:
// Áp dụng mệnh đề 2.1 .
SupN = 0; // Vecto tổng dòng gồm n giá trị để tính Acc.
SupM = 0; // Vecto tổng cột gồm m giá trị để tính Cov.
// Tính tổng.
for i = 1 to m do
for j = 1 to n do
begin
SupN(j) = SupN(j) + Sup( );
SupM(i) = SupM(i) + Sup( );
end
// Tính Acc, Cov.
for i = 1 to m do
for j = 1 to n do
begin
( ) ;
( )
end
Kết thúc.
Thuật toán 3.7: Trích rút luật kết hợp có ý nghĩa.
Vào: -Ma trận độ chính xác tại thời điểm t+1.
-Ma trận độ phủ tại thời điểm t+1.
-Các ngưỡng .
Vì ta luôn thực hiện việc lưu lại ma trận độ hỗ trợ, các lớp tương đương điều kiện và
các lớp tương đương quyết định , nên tại thời điểm mới (giả sử là t+2), ma trận độ hỗ trợ ,
các lớp tương đương đã thu được ở thời điểm trước (thời điểm t+1) sẽ được sử dụng lại như
là các giá trị tại thời điểm t.
3.3.4 Độ phức tạp thuật toán
Mệnh đề 3.8 : Độ phức tạp thuật toán trích rút các luật kết hợp có ý nghĩa khi làm thô, làm
mịn các giá trị thuộc tính là | | .
3.3.5 Ví dụ minh họa
3.4 Ứng dụng thuật toán
3.4.1 Cài đặt
3.4.1.1 Yêu cầu hệ thống
Chương trình “Thuật toán trích rút luật kết hợp khi làm thô, làm mịn các giá trị
thuộc tính” được viết bằng ngôn ngữ C# trên bộ Visual Studio 2010 sử dụng phiên bản .Net
Framewok 4.0. Yêu cầu tối thiểu của hệ thống khi sử dụng chương trình:
- Cài đặt .Net Framework phiên bản 4.0 trở lên.
- Hệ điều hành tối thiểu Windows XP SP2.
Mã nguồn đã được biên dịch thành tệp thực thi .exe trên môi trường Windows nên chỉ cần
cài đặt bộ thư viện yêu cầu ở trên là có thể chạy được chương trình.
3.4.1.2 Cấu trúc các lớp chương trình
Chương trình được tổ chức theo các lớp có chức năng rõ ràng, tối ưu cho việc đọc và
xử lý của các lớp khác. Việc tổ chức theo lớp giúp dễ dàng theo dõi mã nguồn và xử lý khi
xảy ra lỗi. Sau đây sẽ mô tả chi tiết về cấu trúc lớp chương trình và chức năng của chúng.
Mối liên hệ giữa các lớp trong chương trình:
Hình 3.2: Mối liên hệ giữa các lớp trong chương trình
3.4.2 Thử nghiệm chương trình
23
Dữ liệu đầu vào là bảng quyết định nhất quán được lưu trữ trong một bảng dữ liệu.
Mỗi bảng sẽ được lưu trữ các thông tin về bảng đó vào một bảng trung gian là
TableMetaData. Cấu trúc của bảng dữ liệu minh họa như sau:
Hình 3.10: Giao diện chương trình nạp khi bảng quyết định.
24
Hình 3.14: Danh sách luật kết hợp được trích rút.
3.5 Kết luận chương 3
Trong chương này trình bày các khái niệm về làm thô, làm mịn các giá trị thuộc tính.
Đưa ra và chứng minh một số định lý, hệ quả làm cơ sở cho tính đúng đắn của thuật toán
được đề xuất theo tiếp cận gia tăng để phát hiện các luật kết hợp có ý nghĩa trên bảng dữ
liệu động khi làm thô, làm mịn các giá trị thuộc tính quyết định. Ưu điểm trong cách tiếp
cận này là chỉ cần tổ chức lưu trữ và cập nhật lại ma trận độ hỗ trợ, dựa trên đó tính ma trận
độ chính xác và ma trận độ phủ, sau đó sinh luật. Đồng thời cũng đưa ra các mệnh đề đánh
giá độ phức tạp của thuật toán .
KẾT LUẬN VÀ KIẾN NGHỊ
Những kết quả chính của luận văn:
1.Trình bày và chứng minh công thức biểu diễn mối quan hệ giữa độ đo hỗ trợ với độ đo
chính xác và độ phủ của các luật kết hợp.
2.Trình bày thuật toán theo hướng học gia tăng phát hiện các luật kết hợp mới khi các giá trị
thuộc tính trong bảng dữ liệu thay đổi. Ưu điểm của thuật toán là chỉ cần cập nhật lại ma
trận độ hỗ trợ, dựa trên đó tính ma trận độ chính xác và ma trận độ phủ rồi sinh luật.
3. Trình bày và chứng minh các định lý và hệ quả làm cơ sở cho tính đúng đắn của thuật
toán theo hướng học gia tăng phát hiện các luật kết hợp 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. Trình bày các
mệnh đề đánh giá độ phức tạp của thuật toán.
Những vấn đề cần tiếp tục nghiên cứu:
Luận văn mới chỉ đề cập đến vấn đề xây dựng luật kết hợp trên bảng quyết định khi
các giá trị thuộc tính thay đổi. Do đó em sẽ cố gắng tiếp tục nghiên cứu về các vấn đề :
1. Xây dựng thuật toán phát hiện các luật kết hợp trên bảng quyết định khi tập các đối
tượng thay đổi.
2. Xây dựng thuật toán phát hiện các luật kết hợp trên bảng quyết định khi tập các thuộc
tính thay đổi.