Lý thuyết tập thô

Một phần của tài liệu XÁC ĐỊNH ĐẶC TRƯNG KHÁCH HÀNG DỰA TRÊN TẬP THÔ (Trang 25)

2.2.2.3.1 Lý thuyết tp hp

Trong lý thuyết tập hợp truyền thống, các phần tử được xác định một cách rõ ràng là có thuộc một tập hợp hay không. Tuy nhiên, trong thực tế, nhiều khi việc xác định một phần tử có thuộc một tập hợp hay không là một việc làm khá mơ hồ. Ví dụ một tập hợp các “bức tranh đẹp”. Rõ ràng, ta không thể phân lớp một cách chính xác là một bức tranh “đẹp” hay là “không đẹp”. Điều đó phụ thuộc vào quan điểm và thị hiếu của người xem. Khái niệm “đẹp” trở nên khá mơ hồ và không thể biểu diễn được trên lý thuyết tập hợp truyền thống. Hai lý thuyết được giới thiệu nhằm khắc phục vấn đề này là tập mờ và tập thô đã chứng tỏ được tính hiệu quả trong việc phân loại các dữ liệu không rõ ràng.

Lý thuyết tập mờ do Lotfi Zadeh phát triển vào khoảng năm 1965. Tập mờ sử dụng khái niệm hàm mờ để thể hiện mức độ, tư cách thành viên của một phần tử trong một tập mờ.

Bên cạnh tập mờ, thì tập thô cũng là một cách tiếp cận khác nhằm giải quyết bài toán có dữ liệu mơ hồ, không chắc chắn. Với nền tảng toán học vững chắc, cung cấp cho người dung những công cụ hữu ích để giải quyết những bài toán phân lớp dữ liệu, phát hiện luật…, lý thuyết tập thô được rất nhiều nhóm khoa học trên thế giới quan tâm nghiên cứu. Tập thô (Rough Set) do Zdzisław Pawlak, nhà toán học người Ba Lan, phát triển vào những năm đầu thập niên 1980s. [22][25]

2.2.2.3.2 H thông tin và h quyết định

Hệ thông tin là tập hợp dữ liệu được biểu diễn theo dạng bảng, trong đó mỗi dòng biểu diễn một trường hợp, một sự kiện, một khách hàng… hoặc đơn giản là một đối tượng. Mỗi cột biểu diễn một thuộc tính và có thể đo đạc được với từng đối tượng.

Hệ thông tin thường được ký hiệu là cặp (U, A) trong đó U là tập hữu hạn khác rỗng các đối tượng (tập phổ quát) và A là tập hữu hạn khác rỗng các thuộc tính.

Một hệ thông tin có dạng (U; A⋃{d}), trong đó d∉A là thuộc tính quyết định và A là các thuộc tính điều kiện, gọi là hệ quyết định.

Khóa luận tốt nghiệp Cử nhân tài năng 02 – Khoa học máy tính Trang 24

Bệnh nhân Đau đầu Đau cơ Nhiệt độ Cảm cúm

p1 không có cao có

p2 có không cao có

p3 có có rất cao có

p4 không có bình thường không

p5 có không cao không

p6 không có rất cao có

Bảng 2.4: Một hệ quyết định trong “chuẩn đoán bệnh Cảm cúm”

Trong Bảng 2.4, U = {p1; p2; p3; p4; p5; p6}, A = {Đau đầu, Đau cơ, Nhiệt độ} và d = Cảm cúm.

2.2.2.3.3 Xp x tp hp

Trong lý thuyết tập thô, để biểu diễn một tập hợp bằng tri thức được cho xác định bởi một tập thuộc tính, người ta định nghĩa hai phép xấp xỉ: xấp xỉ dưới (lower approximation) và xấp xỉ trên (upper approximation).

Khóa luận tốt nghiệp Cử nhân tài năng 02 – Khoa học máy tính Trang 25 Xét hệ thông tin IS = (U, A), với R ⊆ A và X ⊆ U:

- Xấp xỉ R-dưới của X (R-lower approximation of X): là tập hợp các đối tượng chắc chắn được phân lớp như là các thành viên của X theo tập thuộc tính R.

R = { |[ ] ⊆ } (2.4)

- Xấp xỉ R-trên của X (R-upper approximation of X): là tập hợp các đối tượng chỉ có

thể phân lớp là các thành viên có kết quả dương tính của tập X theo tập thuộc tính R

= { |[ ] ∩ ≠ ∅} (2.5)

- Vùng R-biên của X (R-boundary region of X): là tập hợp chứa các đối tượng mà không thể phân lớp chắc chắn vào X theo tập thuộc tính R

( ) = − R (2.6)

- Nếu vùng biên khác rỗng ( ≠ ∅) thì tập X đang xét được gọi là tập Thô.

2.2.2.3.4 Ma trn phân bit và thut toán quyết định

a. Ma trận phân biệt (Discernibility Matrix)

Ma trận phân biệt là một khái niệm trong tập thô dùng để xác định và loại bỏ các thuộc tính thừa, không cần thiết (superfluous attributes) khi tính toán. Với một hệ thông tin có n đối tượng cần xem xét, ma trận phân biệt của hệ quyết định đó là một ma trận đối xứng n x n:

= ( )

trong đó:

= { ∈ | ( )≠ ( )}nếu ( ) ≠ ( ), ngược lại = ∅ (2.7) Đặc điểm chính của ma trận phân biệt là tính đối xứng và có đường chéo rỗng.

= ∅

=

Khóa luận tốt nghiệp Cử nhân tài năng 02 – Khoa học máy tính Trang 26 Dựa vào Bảng 2.4, ta có ma trận phân biệt sau:

p1 p2 p3 p4 p5 p6 p1 p2 p3 p4 c a, b, c p5 a, b b, c p6 c a, b, c

Bảng 2.5: Ma trận phân biệt của hệ quyết định “Cảm cúm”

Trong ma trận phân biệt này, a đại diện cho thuộc tính Đau đầu; b đại diện cho Đau cơ; c đại diện cho Nhiệt độ; ô trống là giá trị ∅. Do tính chất đối xứng của ma trận phân biệt nên bỏ qua không xét tới nửa trên của ma trận (đặt giá trị ∅ cho các ô này).

b. Hàm phân biệt (Discernibility Function)

Ma trận phân biệt chỉ ra các thuộc tính khác nhau đối với từng cặp đối tượng khách hàng. Dựa vào ma trận phân biệt, ta có thể xác định được các thuộc tính quan trọng và các thuộc tính không quan trọng bằng cách xây dựng hàm phân biệt.

Hàm phân biệt chính là một hàm bool suy ra từ ma trận phân biệt. Hàm phân biệt được tính theo công thức sau:

=∧{∨ | ≠ ∅} (2.8)

Hàm phân biệt của Bảng 2.5 có sẽ dạng như sau:

= ∧( ∨ )∧( ∨ ∨ )∧( ∨ )

Sử dụng các định luật của đại số bool (Boolean algebra) để phân tích hàm f trên thành các đơn thức rút gọn. Mỗi đơn thức rút gọn của hàm f là một trường hợp của dữ liệu cho phép loại bỏ các thuộc tính không có trong đơn thức đó:

= ( ∨ )∧( ∨ )

Như vậy, {a,c} và {b,c} chính là hai rút gọn của Hệ quyết định “chuẩn đoán Cảm cúm” trong Bảng 2.4.

Khóa luận tốt nghiệp Cử nhân tài năng 02 – Khoa học máy tính Trang 27 Một số định luật đại số bool được sử dụng để thu gọn hàm f [16]:

∨ = ∧ = ∨ = ∨ ∧ = ∧ ∨( ∨ ) = ( ∨ )∨ ∧( ∧ ) = ( ∧ )∧ ∨( ∧ ) = ∧( ∨ ) = ∨( ∧ ) = ( ∨ )∧( ∨ ) , , là các biểu thức logic.

Bệnh nhân Đau đầu Nhiệt độ Cảm cúm

p1 không cao có

p2 có cao có

p3 có rất cao có

p4 không bình thường không

p5 có cao không

p6 không rất cao có

Bảng 2.6: Hệ quyết định rút gọn thuộc tính Đau cơ {a, c}

Bệnh nhân Đau cơ Nhiệt độ Cảm cúm

p1 có cao có

p2 không cao có

p3 có rất cao có

p4 có bình thường không

p5 không cao không

p6 có rất cao có

Khóa luận tốt nghiệp Cử nhân tài năng 02 – Khoa học máy tính Trang 28 c. Thuật toán quyết định (Decision Algorithm)

Hai rút gọn tìm được đều ra dạng thu gọn tối ưu của Hệ quyết định Bảng 2.4. Xem xét dạng rút gọn {a, c} và Bảng 2.6, có thể biểu diễn kết quả của Bảng 2.6 theo một dạng gọi là thuật toán quyết định như sau:

p1: if (Đau đầu=không) and (Nhiệt độ=cao) then (Cảm cúm=có) p2: if (Đau đầu=có) and (Nhiệt độ=cao) then (Cảm cúm=có) p3: if (Đau đầu=có) and (Nhiệt độ=rất cao) then (Cảm cúm=có)

p4: if (Đau đầu=không) and (Nhiệt độ=bình thường) then (Cảm cúm=không) p5: if (Đauđầu=có) and (Nhiệt độ=cao) then (Cảm cúm=không)

p6: if (Đau đầu=không) and (Nhiệt độ=rất cao) then (Cảm cúm=có)

Đây chính là các luật quyết định (decision rules) rút ra từ Hệ quyết định “chuẩn đoán Cảm cúm”. Dựa vào nó, ta có thể dễ dàng xác định được một bệnh nhân có bị Cảm cúm hay không dựa vào các triệu chứng của bện nhân đó.

Tập hợp các luật quyết định gọi là thuật toán quyết định (decision algorithm). Nó cho thấy quy luật tổng quát của tập dữ liệu đang sử dụng. Các luật quyết định trong thuật toán quyết định là duy nhất và có biểu thức điều kiện luôn khác nhau.

Ngoài việc rút gọn thuộc tính, bài toán trên lý thuyết tập thô còn có thể rút gọn các giá trị thuộc tính để làm tăng tính hiệu quả của thuật toán quyết định. Nhưng việc rút gọn giá trị thuộc tính thường không đơn giản và đôi khi chi phí bỏ ra rút gọn giá trị của thuộc tính còn lớn hơn nhiều chi phí khi không xử lý rút gọn giá trị thuộc tính.

2.2.2.3.5 Bài toán rút gn thuc tính trong lý thuyết tp thô

Một vấn đề then chốt trong nghiên cứu lý thuyết tập thô chính là rút gọn thuộc tính. Khi xử lý với dữ liệu lớn, một hệ thống máy tính sẽ tốn thời gian rất lâu hoặc có thể bị treo, tắt, thiếu tài nguyên dẫn tới trì trệ toàn hệ thống. Bên cạnh đó, việc thu thập thông tin về một số thuộc tính thừa sẽ gây lãng phí, tốn nhiều thời gian, công sức. Rút gọn thuộc tính, hay còn gọi là việc lựa chọn đặc trưng, loại bỏ những thuộc tính không thật sự cần thiết trong hệ thông tin và cải tiến hiệu quả của tiến trình phân tích dữ liệu. Nhưng việc giải quyết bài toán

Khóa luận tốt nghiệp Cử nhân tài năng 02 – Khoa học máy tính Trang 29 rút gọn thuộc tính là một vấn đề vô cùng khó khăn và thuộc lớp bài toán NP-khó (NP-hard problem).

NP (nondeterministic polynomial) là lớp các bài toán quyết định mà để xác định câu trả lời của nó chúng ta có thể đưa ra các bằng chứng ngắn gọn dễ kiểm tra.

Ví dụ: Bài toán kiểm tra tính hợp số: “Có phải n là hợp số không?” là một bài toán lớp NP. Để xác nhận câu trả lời ‘yes’ cho đầu vào n ta có thể đưa ra một ước số b (1<b<n) của n. Để kiểm tra xem b có phải là ước số của n hay không ta có thể thực hiện phép chia n cho b sau thời gian đa thức. Trong ví dụ này dễ thấy b là bằng chứng ngắn gọn (b<n) và dễ kiểm tra (có thuật toán thời gian tính đa thức để kiểm tra xem b có là ước số của n).

NP-khó là lớp bài toán không có thuật toán để giải nó theo thời gian đa thức mà chỉ có những thuật toán giải trong thời gian hàm mũ [20] (xem thêm Phụ lục B)

Nhiều nghiên cứu hiện nay về lý thuyết tập thô đều tập trung vào giải quyết bài toán rút gọn thuộc tính này một cách có hiệu quả. Kỹ thuật rút gọn sử dụng ma trận phân biệt (discernibility function) chính là kỹ thuật cơ bản nhất và được nhiều nhà nghiên cứu hiện nay sử dụng.

Việc rút trích ra hàm phân biệt từ mà trận phân biệt và đơn giản hàm phân biệt để tìm ra một tập rút gọn các thuộc tính của hệ quyết định là phương pháp phổ biến. Nhưng rút gọn hàm phân biệt cũng là một bài toán dạng NP-khó.

Bên cạnh việc rút gọn hàm phân biệt gặp không ít khó khăn, nhiều nhà nghiên cứu quan tâm đến việc biến đổi ma trận phân biệt thành những dạng đơn giản. Với một ma trận đơn giản, ta có thể dễ dàng lấy được hàm phân biệt tối tiểu và tìm ra những thuộc tính quan trọng trong một hệ quyết định.

Vấn đề chính của các phương pháp về ma trận phân biệt là chúng yêu cầu không gian bộ nhớ quá lớn |U|x|U|, U là không gian hữu hạn khác rỗng các đối tượng. Gần như là không thể áp dụng trực tiếp các phương pháp này trên các tập dữ liệu có chứa một lượng lớn đối tượng. Người ta cũng nghiên cứu nhiều phương án thay thế nhằm tránh phải dùng ma trận phân biệt trong phân tích dữ liệu trên lý thuyết tập thô. Hai cách tiếp cận không sử dụng ma trận phân biệt được nhiều nhà nghiên cứu sử dụng nhất là sử dụng sự phụ thuộc giữa các thuộc tính (dependency of attributes) và sử dụng các thuật toán tìm kiếm ngẫu nhiên.

Khóa luận tốt nghiệp Cử nhân tài năng 02 – Khoa học máy tính Trang 30

2.2.2.3.6 Tp thô và công thc Bayes

Những đối tượng nằm ở vùng biên của tập thô thường mang những giá trị không chắc chắn và cần có một phương pháp phân tích, thống kê để có thể xây dựng thuật toán quyết định phù hợp cho các đối tượng này. Trong thống kê, công thức Bayes luôn chứng tỏ là công cụ hữu hiệu để phân tích và dự đoán dữ liệu. Việc áp dụng công thức Bayes vào lý thuyết tập thô, được cha đẻ Tập thô là Pawlak giới thiệu, đã giải quyết được một số vấn đề khó khăn còn tồn đọng và gia tăng mức độ chính xác của thuật toán quyết định [22].

Xem xét một ví dụ sau:

Đối tượng Bệnh Tuổi Giới tính Kiểm tra Support Certainty

1 có già nam + 400 0.91

2 có trung niên nữ + 80 0.57

3 không già nam – 100 1.00

4 có già nam – 40 0.09

5 không trẻ nữ – 220 1.00

6 có trung niên nữ – 60 0.43

Bảng 2.8: Bảng chuẩn đoán kết quả Bệnh tật

Giá trị Support thể hiện tần số xuất hiện của đối tượng x có giá trị thuộc tính điều kiện là A(x) và giá trị thuộc tính quyết định là D(x) trong tập dữ liệu.

( , ) = | ( )∩ ( )| (2.9)

supp1(A,D) = supp1(<Bệnh=có, Tuổi=già, Giới tính=nam>,<Kiểm tra=+>) = 400: mẫu <Bệnh=có, Tuổi=già, Giới tính=nam, Kiểm tra=+> xuất hiện 400 lần trong bảng dữ liệu.

supp2(A,D) = supp2(<Bệnh=có, Tuổi=trung niên, Giới tính=nữ>,<Kiểm tra=+>) = 80: mẫu <Bệnh=có, Tuổi=trung niên, Giới tính=nữ, Kiểm tra=+> xuất hiện 80 lần trong bảng dữ liệu.

supp3(A,D) = supp3(<Bệnh=không, Tuổi=già, Giới tính=nam>,<Kiểm tra=–>) = 100: mẫu <Bệnh=không, Tuổi=già, Giới tính=nam, Kiểm tra=–> xuất hiện 100 lần trong bảng dữ liệu.

supp4(A,D) = supp4(<Bệnh=có, Tuổi=già, Giới tính=nam>,<Kiểm tra=–>) = 40: mẫu <Bệnh=có, Tuổi=già, Giới tính=nam, Kiểm tra=–> xuất hiện 40 lần trong bảng dữ liệu.

Khóa luận tốt nghiệp Cử nhân tài năng 02 – Khoa học máy tính Trang 31 supp5(A,D) = supp5(<Bệnh=không, Tuổi=trẻ, Giới tính=nữ>,<Kiểm tra=–>) = 220: mẫu <Bệnh=không, Tuổi=trẻ, Giới tính=nữ, Kiểm tra=–> xuất hiện 220 lần trong bảng dữ liệu.

supp6(A,D) = supp6(<Bệnh=có, Tuổi=trung niên, Giới tính=nữ>,<Kiểm tra=–>) = 60: mẫu (<Bệnh=có, Tuổi=trung niên, Giới tính=nữ, Kiểm tra=–>) xuất hiện 60 lần trong bảng dữ liệu.

Giá trị Certainty factor của Bảng 2.8 thể hiện mức độ chắc chắn của luật quyết định suy ra từ dữ liệu. Thực chất, giá trị Certainty factor chính là xác suất hậu nghiệm suy ra từ

công thức Bayes nhằm dự đoán khả năng xảy ra của thuộc tính quyết định D khi đối tượng

có giá trị thuộc tính là A(x).

( , ) = ( | ) = ( , )

| ( )| (2.10)

|A(Bệnh=có, Tuổi=già, Giới tính=nam)| = supp1(A,D) + supp4(A,D) = 400 + 40 = 440 |A(Bệnh=có, Tuổi=trung niên, Giới tính=nữ)| = supp2(A,D) + supp6(A,D) = 80 + 60 = 140

|A(Bệnh=không, Tuổi=già, Giới tính=nam)| = supp3(A,D) = 100

|A(Bệnh=không, Tuổi=trẻ, Giới tính=nữ)| = supp5(A,D) = 220

( , ) = ( , ) | ( ệ ó, ổ à, ớ í )|= = 0.91 ( , ) = ( , ) | ( ệ ó, ổ ê , ớ í ữ)|= = 0.57 ( , ) = ( , ) | ( ệ ô , ổ à, ớ í )| = = 1 ( , ) = ( , ) | ( ệ ó, ổ à, ớ í )| = = 0.09 ( , ) = ( , ) | ( ệ ô , ổ ẻ, ớ í ữ)| = = 1 ( , ) = ( , ) | ( ệ ó, ổ ê , ớ í ữ)| = = 0.43

Khóa luận tốt nghiệp Cử nhân tài năng 02 – Khoa học máy tính Trang 32 Dựa vào các giá trị Bảng 2.8, có thể xây dựng các luật quyết định như sau:

if: (Bệnh=có) and (Tuổi=già) and (Giới tính=nam) then Kiểm tra= 91% + 9%−

if: (Bệnh=có) and (Tuổi=trung niên) and (Giới tính=nữ) then Kiểm tra= 57% + 43%−

if: (Bệnh=không) and (Tuổi=già) and (Giới tính=nam) then Kiểm tra=100%

if: (Bệnh=không) and (Tuổi=trẻ) and (Giới tính=nữ) then Kiểm tra=100%

Thuật toán quyết định này thể hiện mức độ chính xác của các luật để người dùng có thể hạn chế rủi ro mắc phải trong việc đưa ra các quyết định không chắc chắn.

Khóa luận tốt nghiệp Cửnhân tài năng 02 – Khoa học máy tính Trang 33

CHƯƠNG 3: MÔ HÌNH PHÂN TÍCH ĐẶC TRƯNG

Một phần của tài liệu XÁC ĐỊNH ĐẶC TRƯNG KHÁCH HÀNG DỰA TRÊN TẬP THÔ (Trang 25)