Các đặc trưng của ROSETTA

Một phần của tài liệu Phát hiện luật và tiền xử lý dữ liệu theo tiếp cận tập thô và ứng dụng rosetta phát hiện luật trong bài toán xử lý dữ li (Trang 45)

- Sự hoàn thành các bảng quyết định với các giá trị thiếu theo các chiến lược hoàn chỉnh khác nhau.

- Tính toán sự phân chia các xấp xỉ tập thô, cũng như trong hướng chuẩn hoặc trong mô hình chính xác biến.

- Sự lấy mẫu của các bảng con đối với các mục đích hợp lệ.

- Sự rời rạc hoá các thuộc tính số với các thuật toán rời rạc hoá khác nhau.

- Tính toán các rút gọn. Các thuật toán xấp xỉ khác nhau (ví dụ thuật toán Johnson, thuật toán di truyền cho phép tính toán hết mọi khía cạnh thông qua các ma trận phân biệt được).

- Sinh ra các luật định đề.

- Lọc (sự thu ngắn lại và sự lược bớt) các tập các rút gọn và các luật. - Xuất khẩu các luật, các rút gọn và các bảng. Nhập khẩu các bảng từ các nguồn dữ liệu bên ngoài (ví dụ các cơ sở dữ liệu quan hộ) thông qua ODBC.

- Úng dụng các luật kết hợp với các ví dụ bởi ý nghĩa của các chiến lược phân lớp khác nhau. Sinh ra các ma trận hỗn độn.

Giao diện người dùng đồ hoạ ROSETTA đã được thiết kế thân thiện với người sử dụng. Một số đặc trưng về giao diện người dùng đổ hoạ bao gồm:

- Cấu tạo giao diện người dùng đồ hoạ Window đầy đủ.

- Tổ chức các mục chủ đề trong một cây - cấu trúc theo thứ tự các tiện ích điều hướng dữ liệu.

- Khung nhìn của tất cả các cấu trúc trong các môi trường lưới theo trực giác, dùng các giới hạn từ mô hình miền.

- Các menu ngữ cảnh và chức năng kéo - thả.

- Che dấu các thuộc tính, có thể làm việc với các bảng ảo.

- Tự động sinh ra các chú thích, dẫn chứng bằng tài liệu mô hình phiên làm việc.

- Một môi trường mẫu đối với sự phân lớp tương tác và sự hướng dẫn trên cơ sở của các thông tin không hoàn hảo sử dụng một tập các luật kết hợp được lựa chọn.

2.2. TÌM TẬP RÚT GỌN THEO TIÊP CẬN TẬP THÔ

2.2.1. Tiêu chuẩn cho rút gọn tốt nhất [22]

Một hệ thống thông tin có nhiều hơn một rút gọn. Mỗi rút gọn có thể được sử dụng thay vì toàn bộ nhóm các thuộc tính trong hệ thống gốc trong việc quyết định thực hiện quy trình mà không cần thay đổi mối quan hệ phụ thuộc trong hệ thống gốc. Do đó một câu hỏi tự nhiên rút gọn nào là tốt nhất. Sự lựa chọn phụ thuộc vào tiêu chuẩn tối ưu được kết hợp với các thuộc tính. Nếu có thể gán một hàm chi phí cho các thuộc tính, thì sự lựa chọn có thể là tự nhiên dựa trên tiêu chuẩn chi phí tối thiểu được kết hợp. Ví dụ, trong lĩnh vực y học, một vài quy trình chẩn đoán đắt hơn những quy trình khác. Bằng việc lựa chọn các chuỗi ít đắt nhất của các thử nghiệm được biểu diễn bởi rút gọn chi phí tối thiểu, việc lưu giữ số lượng lớn có thể được hoàn thành mà không làm giảm chất lượng của việc chẩn đoán. Hai cách tiếp cận có thể trong trường hợp này. Trong cách thứ nhất, rút gọn với số các thuộc tính tối thiểu được lựa chọn. Trong cách tiếp cận thứ hai, rút gọn có sự kết hợp của các giá trị các thuộc tính được lựa chọn là ít nhất.

2.2.2. Tập thuộc tính rút gọn

Trong giai đoạn thu thập dữ liệu của các ứng dụng thực tế, chẳng hạn như chẩn đoán một căn bệnh chưa biết của một bệnh nhân, thường khó để biết được chính xác những đặc trưng nào là liên quan hay quan trọng, và chúng sẽ được mô tả như thế nào. Do đó tất cả các đặc trưng được cho là có ích sẽ được thu thập vào trong cơ sở dữ liệu. Các cơ sở dữ liệu thường chứa nhiều thuộc tính và giá trị thuộc tính dư thừa, không cần thiết trong việc phát hiện luật. Nếu những thuộc tính và giá trị thuộc tính dư thừa này không được loại bỏ thì nó không chỉ làm tăng độ phức tạp về mặt thời gian của việc phát hiện luật mà còn cả chất lượng của những luật được phát hiện có thể bị suy giảm một cách đáng kể. Vấn đề đặt ra là tìm một tập con tốt nhất của các thuộc tính trong cơ

sở dữ liệu theo một vài tiêu chuẩn và loại bỏ các giá trị thuộc tính dư thừa có trong các thuộc tính.

Xem xét các thuộc tính có thể rút gọn được và không thể rút gọn được trong bảng quyết định.

Giả sử với bảng quyết định C7Ỉ=(U,A,D) với thuộc tính a s A tập các thuộc tính điều kiện, u là tập vũ trụ và D thuộc tính quyết định. Thuộc tính a có thể rút gọn được trong nếu: POSA(D) = POS(MaỊ)(D), ngược lại, thuộc tính a không thể được rút gọn (không xuất hiện trong dí)

c4=(U,A,D) là rút gọn nếu tồn tại các thuộc tính a e A là rút gọn được trong C Á .

Tập các thuộc tính Rc;A được gọi là tập rút gọn của A nếu d ' = (U,R,D) là rút gọn và POSR(D) = POSA(D).

Tập tất cả các thuộc tính không thể thiếu được trong dl biểu diễn là CORE(A) (gọi là tập nhân) và được xác định là: CORE(A) = nRED(A), với RED(A) là tập tất cả các tập rút gọn của A.

Ví dụ 2.2.2: Xét bảng thông tin dưới đây:

u N ơi sinh Tôn giáo Qt hnay XXet

Sài gòn Mỹ Cấm

Sài gòn Pháp Nghi ngờ (adsbygoogle = window.adsbygoogle || []).push({});

Sài gòn Đức Cấm

Jt4 Hà nội Mỹ Không

Hà nội Không Pháp Không

*6 Hà nội Có Đức Cấm

Bảng 2.2.2.1: Hệ thông tin Tập rút gọn R edl = {Tôn giáo, Qt hnay}

u Tôn giáo Qt hnay XXet

Mỹ Cấm

Xỉ Pháp Nghi ngờ

-Í1, -Vf, Đức Cấm

*5 Không Pháp Không

Tập rút gọn thứ 2 Red2 = {Nơi_ sinh, Qt hnay}

u N ơi sinh Qt hnay Xxet

Xi Sài gòn Mỹ Cấm Sài gòn Pháp Nghi ngờ Sài gòn Đức Cấm Hà nội Mỹ Không Hà nôi Pháp Không *6 Hà nội Đức Cấm Bảng 2.2.2.3: Bảng rút gọn 2 (Reduct 2) Tập thuộc tính nhân:

CORE = {Nơi sinh, Qt hnay) n {{Tôn giáo, Qt hnay Ị = {Q th n a y}.

Các bảng ở trên được biết là bảng quyết định, trong đó, Noi_sinh, Ton giao, Qt hnay được tham chiếu đến như các thuộc tính điều kiện, trong đó, thuộc tính XXet được gọi là thuộc tính quyết định. Mỗi bảng quyết định có thể được mô tả trong mẫu của thuật toán quyết định, chứa các luật quyết định dạng “IF ... TH EN .. Trong ví dụ bảng 2.2.2.2, có thể biểu diễn dưới dạng:

IF (Ton_giao, Co) & (Qt_hnay, Mỹ) -> THEN (Xxet, Cấm)

IF (Ton_giao, Co) & ( Q t_ h n a y , Pháp) -> THEN (Xxet, Nghi ngờ) IF (Ton_giao, Co) & (Qt_hnay, Đức) -> THEN (Xxet, Cấm)

IF (Ton_giao, Không) & (Qt_hnay, Pháp) -> THEN (Xxet, Không)

2.2.3. Cách tiếp cận suy luận logic để rút gọn dữ liệu

Trong giai đoạn thu thập dữ liệu, ngoài vấn đề khó xác định chính xác những đặc trưng nào là liên quan hay quan trọng thì trên thực tế việc thu thập các giá trị của các đặc trưng cũng rất khó xác định có dư thừa đối với nhau hay không. Trong phần này, ta sử dụng ma trận phân biệt được kết hợp với giải thuật Johnson của hệ thống ROSETTA để tìm ra các tập giá trị rút gọn của một hệ thông tin từ đó trích rút ra các luật quyết định.

Sử dụng hàm logic, cơ bản chúng ta có thể biểu thị bất cứ hàm f: {0,1 }n {0,1}. Các hàm logic có thể được mô tả bởi các công thức logic, ví dụ, các biểu thức được thiết lập bởi tập các biến VAR = {X!, x2,...,x k} và các toán tử hội (a), tuyển (v ), phủ định Sau đây là một số loại đặc trưng của các công thức logic:

- Literal là một công thức đơn giản nhất, hoặc là một biến hoặc là phủ định của một biến. Nếu VAR = {Xj, x2>..., xkỊ là một tập của k biến thì chúng

ta có 2k literal: X], i X | !...,x k, -iXk.

- Thành phần (term) là hội của các literal. Chúng ta biểu thị bởi TEX cho thành phần sau: TEX = / \ ỉ, ở đây X là tập các literal. Ví dụ, TEụ x Ị=

/e X

X| A —I X3 A X4.

- Mệnh đề (clause): là tuyển của các literal. Chúng ta biểu thị bởi c x

cho mênh đề sau: c x = V / , ở đây X là tâp các literal. Ví đu, C [x x 1 =

l e X

X ị V - i X g V X ^ (adsbygoogle = window.adsbygoogle || []).push({});

- CNF (Conjunctive Normal Form) là dạng chuẩn tấc hội. - D NF (Disjuntive Normal Form) là dạng chuẩn tắc tuyển.

Với bất kỳ biểu thức logic 0 , chúng ta biểu thị bởi V A R (0 ) tập của các biến logic xuất hiện trong công thức 0 và bởi LIT( 0 ) tập của các literal xuất hiện trong 0 . Bằng các biểu thị đó, chúng ta có các phương trình sau:

TE = TELIT(T) và c = CLIT(C)

cho mọi thành phần TE và mệnh đề c . Hàm logic được gọi là đơn điệu nếu V í , y e {0 .1)" ( * £ > 0 = > ( / ( * ) ^ / ừ ) )

Thành phần TE được gọi là implicant của một hàm logic f nếu TE(x) ^f(x) với mọi xe {0,1 }n. Implicant TE được gọi là prime impìicant của f nếu với mọi X c VAR(T), thành phần TEX không phải là implicant của f.

Trong phần này, chúng ta sẽ giới thiệu hai khái niệm cơ bản trong một hệ thông tin: ma trận phân biệt được và hàm phân biệt được và dựa trên các khái niệm này, nghiên cứu một số phương pháp hiệu quả trong việc tính các đối tượng chắc chắn liên quan đến hộ thông tin như tập rút gọn và tập nhân.

Cho C7Ỉ=(U,A) là một hệ thông tin và giả thiết rằng A={a!,...,amỊ, u={x„...,xn}.

Nếu với C7Í=(U,A) là một hệ thông tin và B c A, khi đó, ký hiệu CÍĨB

cho hệ thông tin (U,B), được gọi là thu hẹp của C71 đối với B.

Ma trận phân biệt được của c4, ký hiệu là M(c^), là một ma trận đối xứng n x n với phần tử Cịj được xác định như sau:

c& =Ịứev4:ữ(jc;)*ứ (x; )) với i,j= l,..,n

Cịjlà tập tất cả các thuộc tính điều kiện phân loại Xị, Xjthành các lớp khác nhau. Với Cịị=ệ, i= l,..,n, chúng ta biểu diễn ma trận M M ) bởi ma trận tam giác dưới, gồm các phần t ửCịj với 1 ắ j <i<n.

Hàm phân biệt được của hệ thông tin ci, ký hiệu là f t, là một hàm logic m biến ãi tương ứng với các thuộc tính ah ..., am, được xác định như sau:

f a t( ã ì ,..„ãm) = A {PCý. |l < j < i < n,c.t) * ệ)

trong đó V(ctJ) là hợp tất cả các biến a với a e C,J

Để đơn giản cho cách đánh ký hiệu, chúng ta thay a, bằng a,.

Ví du 2 .2 3 .2 : Cho hệ thông tin như bảng 2.2.3.2.1, chúng ta biểu diễn ma trận phân biệt và hàm phân biệt như sau:

u qt_hnay noi_sinh Md_xn nghe_nghiep xxet

X1 Mỹ Bình Định Du lich Linh muc Nghi ngờ

x7 Viêt Nam Hà Nôi Thăm thân Thương nhân Cấm

Xí Pháp Sóc Trăng Du lich Kỹ sư K hông

x4 Viêt Nam Hà Nôi Du lich Thương nhân Nghi ngờ

Mỹ Bình Đinh Thương mại T hương nhân N ghi ngờ

Ma trận phân biệt M(c£) được thể hiện trong bảng 2.2.3.2.2: X. *2 x3 x4 xs X, x2 qt_hnay, noi_sinh, md_xn, nghe_nghiep, xxet x3 qt_hnay, noi_sinh, nghe_nghiep, xxet qt_hnay, noi_sinh, md_xn, nghe_nghiep, xxet x4 qt_hnay, noi_sinh, nghe_nghiep

md_xn, xxet qt_hnay, noi_sinh, nghe_nghiep, xxet x5 md_xn, nghe_nghiep qt_hnay, noi_sinh, md_xn, xxet qt_hnay, noi_sinh, md_xn, nghe_nghiep, xxet qt_hnay, noi_sinh, md_xn Bảng 2.2.3.2.2. Ma trận phân biệt được M(c£)

Hàm phân b i ệ t đ ư ợ c tính như sau:

f 4(qt hnay, noi sinh, md_xn, nghe nghiep, xxet) =

(qt hnay V noi_sỉnh V md_xn V nghe_nghiep v x x e t) A

ịqt hnay v n o i sinh V nghenghiep vxxet) A

ịqt hnay vnoi_sinh V nghe nghiep) A (md_xn V nghe_nghiep) /\(qt_hnay \/noi_sinh V md xn V nghe nghiep vxxet) A (adsbygoogle = window.adsbygoogle || []).push({});

ịqt_hnay V noi sinh V md_xn vxxet) A

ịqt_hnay V noi sinh V nghe_nghiep \ỉxxet) A

ịqt_hnay V noi sinh V md_xn V nghe_nghiep vxxet) A

(qt hnay V noi sinh V md_xn)

Tuy nhiên, với một hàm logic / có k biến ở dạng CNF, việc tìm prime implicant tối thiểu của / l à bài toán NP-hard. Để giải quyết vấn đề này, chúng ta sử dụng thuật toán tham lam Johnson để tìm các prime implicant ngắn nhất của h à m /c ó k biến V = {x],...,xk} ở dạng CNF:

/ = (X1,1VX1.2V -” VX11) A -" ^ (X N-1VXNJV ...V X NÌN), trong đó x,j e V

Thuật toán Johnson được mô tả như sau: * Thuật toán Johnson: [12]

Bước 1: Chọn biến X e V mà xuất hiện nhiều nhất trong /. Bước 2: Loại bỏ tất cả các mệnh đề có chứa biến X trong/.

Bước 3: N ế u /1* 0 thì quay lại bước 1, ngược lại thì nhảy tói bước 4. Bước 4: Loại bỏ các biến thừa từ tập các biến được chọn. Tập các biến thu được chính là kết quả của thuật toán.

Nói chung, độ phức tạp về thời gian của thuật toán phụ thuộc vào bước 1. Nếu có k biến và N mệnh đề thì bước 1 có thời gian tính là O(kN). Trong một số trường hợp, chúng ta có thể giảm được thời gian tính của giải thuật này, song thông thường thì số lượng các biến và các mệnh đề xác định độ phức tạp của bài toán.

Trở lại ví du 2.2.3.2 ta có:

/c* (qt_hnay, noi sinh, md_xn, nghe nghiep, xxet) =

(qt hnay V noi_sinh V md_xn V nghe nghỉep v x x e t) A

(qt hnay V noi sinh V nghe nghiep V xxet) A

(q t_h n ay V noi sinh V nghe J ig h ie p ) A (md_xn V nghe nghiep)

/ \ ị q t j i n a y V n o i sinh Vm d _ x n V nghe n gh iep v x x e t ) A

ịqt_hnay vnoi_sinh V md_xn vxxet) A

(q t h n a y v n o i _ s i n h V n g h e _ n g h ỉe p V x x e t) A

ịq t_ h n a y V noi sinh V md_xn V nghe nghiep v x x e t) A

ịqt hnay V noi_sinh vmd_xn)

Áp dụng thuật toán Johnson, chúng ta lần lượt thu được các thuộc tính: qt_hnay, md_xn hoặc qt_hnay, nghe_nghiep (do ở bước lặp cuối cùng, f chỉ còn lại 2 thuộc tính là md_xn và nghe_nghiep nên chúng ta có thể chọn tuỳ ý một trong hai thuộc tính đó). Từ đó, chúng ta có prime implicant là:

qt hnay A md_xn hoặc qt hnay A nghe nghiep.

Để tính toán các rút gọn quyết định tương đối, ta mở rộng định nghĩa của ma trận phân biệt được và hàm phân biệt được.

Định nghĩa 2.1. Cho d = ỊU, A, d) là một hệ quyết định phù hợp. Ma trận phân biệt được của ot là ma trận phân biệt được của hệ thông tin (U, A).

Định nghĩa 2.2. Cho = (ư, A, d) là một hệ quyết định phù hợp và giả sử

Mịdlị = (Cjj) là một ma trận phân biệt được của d . Ta xây dựng một ma trận mới,M ’(cếị = (Cị/), ở đây

Ma trận M (dlị được gọi là ma trận phân biệt được quyết định tương đối của

ci. Hàm phân biệt được quyết định tương đối / 'đ ố i với c4 được xây dựng từ ma trận phân biệt được quyết định tương đối với c i theo cách như hàm phân biệt được xây dựng từ ma trận phân biệt được.

Định lý 2.1. Cho C7i = (U, A, d) là một hộ quyết định phù hợp. Tập của tất cả các prime implicant của xác định tập tất cả các rút gọn quyết định tương đối của d .

Ví du 2.2.3.3: Xem xét một hệ quyết định <A được biểu diễn trong bảng 2.2.3.2.1. Đầu tiên ta xây dựng ma trận phân biệt được của c%. (adsbygoogle = window.adsbygoogle || []).push({});

Xl x2 x4 Xs Xl - - - x2 qt_hnay, noi_sinh, md_xn, n g h en g h iep - - qt_hnay, noi_sinh, nghe_nghiep qt_hnay, noi_sinh, md_xn, nghe_nghiep - x4 - md_xn qt_hnay, noi_sinh, nghe_nghiep - - qt_hnay, noi_sinh, md_xn qt_hnay, noi_sinh, md_xn, nghe_nghiep -

Bảng 2.2.3.2.3. Ma trận phân biệt được của một hệ quyết định từ bảng 2.2.3.2.1. Ta có:

f rJÌ (qt hnay, noi sinh, md xn, nghe nghiep, xxet) -

(qt _ hnay V noi _ sinhv md _ x n v nghe _ nghiep)A {qt _ hnay V noi _ sinhV nghe _ nghiep)

A (qt _ hnayV noi _ sinhv md _ x n v nghe _ nghiep) A md _ xn

A (qt _ hnay V noi _ sinh V md _ xn) A (qí hnay V noi _ sinh V nghe _ nghiep)

A {qt _ hnayV noi _ sinh V md _ V nghe _ nghiep)

= (qt _ hnayA md _ xn)

*1 x2 x3 x4 Xs Xi - qt_hnay, noi_sinh, md_xn, nghe_nghiep qt_hnay, noi_sinh, nghe_nghiep - - x2 qt_hnay, noi_sinh, md_xn, nghe_nghiep - qt_hnay, noi_sinh, md_xn, nghe_nghiep md_xn qt_hnay, noi_sinh, md_xn x3 qt_hnay, noi_sinh, nghe_nghiep qt_hnay, noi_sinh, md_xn, nghe_nghiep - qt_hnay, noi_sinh, nghe_nghiep qt_hnay, noi_sinh, md_xn, nghe_nghiep x« - md_xn qt_hnay, noi_sinh, nghe_nghiep - - x5 - qt_hnay, noi_sinh, md_xn qt_hnay, noi_sinh, md_xn, nghe_nghiep - -

hệ quyết định được biểu diễn trong bảng 2.2.3.2.1

2.2.3.3. Tập rút gọn và tập nhàn trong hệ thông tin

Hai khái niệm cơ bản là tập rút gọn và tập nhân được xét trong mối quan hệ với tập rút gọn tri thức. Một tập rút gọn của tri thức là yếu tố cần thiết đủ để định nghĩa tất cả các khái niệm cơ bản trong tri thức, ngược lại nhân là phần chung (phổ biến) của tất cả tập rút gọn.

Cho h ệ thông tin C7Í=(Ư,A),

Một thuộc tính b e B c Akhông cốt yếu trong B nếu IND(B)=IND(B- {b })

Tập các thuộc tính không thể thiếu trong A được gọi là nhân của ký hiệu là CORE(ctỉ).

Một cách để xác định CORE(c?íy bằng ma trận M(cTÍy như sau:

M ệnh đê II.1. CORE(ctể)= \a e A: Cịj - {a}j

CM: Cho B = { a e A :C ịj = {ứ}}, chúng ta sẽ chứng minh CORE(ơỂ> =B.

Một phần của tài liệu Phát hiện luật và tiền xử lý dữ liệu theo tiếp cận tập thô và ứng dụng rosetta phát hiện luật trong bài toán xử lý dữ li (Trang 45)