Xây dựng cây quyết định không đối xứng

Một phần của tài liệu Phát hiện luật bằng cách sử dụng siêu phằng tối ưu theo hướng tiếp cận thô (Trang 44 - 52)

Theo nhận định của nhiều nhà nghiên cứu về học máy, thông thường tính cân bằng của các tập con được chia thường cho kết quả phân lớp tốt. Tuy nhiên, trong nhiều trường hợp cách thức phân hoạch không cân bằng lại cho kết quả tốt hơn, và tương ứng là phương pháp xây dựng cây quyết định không đối xứng. Để đủ đơn giản ta chỉ xét các bảng quyết định A=(U,A∪{ }d ), khi tập U các đối tượng chỉ gồm 2 lớp quyết định, giá trị của thuộc tính quyết định d chỉ là 1 và 2 (d:U →{ }1,2 ).

Sử dụng theo ý tưởng thực hiện trong thuật toán ID3, các đối tượng là các lá của cây quyết định và siêu phẳng là nhãn của các nút khác (Nút trong). Một siêu phẳng bất kỳ: ( ) { 1, 2,. .., ∈ : 1 1 + 2 2 +. ..+ + = 0} = x x x R a x a x a x a H k k k k Ta định nghĩa một hàm H:RkR như sau: (x x x ) a x a x a x a H 1, 2 .,,. k = 1 1+ 2 2 +...+ k k +

Một đối tượng trong uRk có thể bị phân loai theo cách sau đây:Chúng ta bắt đầu từ gốc của cây quyết định. Xét H là một siêu phẳng được đánh nhãn ở gốc. NếuH( )u >0chúng ta sẽ đi theo hướng cây con bên phải và nếu H( )u <0chúng ta sẽ đi theo nhánh cây bên trái. Quá trình tiến hành với tất cả trong khi các nút của cây quyết định đến khi tập các đối tượng được đánh nhãn không có cùng một giá trị quyết định.

H

L R

H(u)>0 H(u)<0 u

Hình 3. Hình ảnh cây quyếđịnh nhị phân được thành lập.

Chi tiết các bước của thuật toán xây dựng cây quyết định không đối xứng được trình bày sau đây:

1. Khởi tạo cây nhị phân trống T.

2. .Đánh nhãn gốc của cây bằng tập tất cả các đối tượng của thuộc U và đặt trạng thái của gốc là chưa sẵn sàng.

3. For mỗi trạng thái chưa sẵn sàng của lá L của T:

a. Nếu tất cả các đối tượng của nhãn L có cùng giá trị quyết định thì

Thay thế tập tất cả các đối tượng với giá trị quyêt định chung đó. Đặt trạng thái của L là săn sàng

b. ngược lại:

Tìm siêu phẳng HL tốt nhất cho tập các đối tượng của L. Thay thế nhãn của L bằng HL.-Khởi tạo 2 nút mới L1 và L2 với trạng thai là chưa săng sàng đánh nhãn như sau:

L1={ x∈L : HL(x) < 0 } và L2={ x∈L : HL(x) > 0 }

4. Lặp lại bước 3 cho đến khi tất cả các lá của T là sẵn sàng. 4. Return T

//Siêu phẳng tốt nhất là siêu phẳng với giá trị một trong các của hàm power1, power2, power3 là lớn nhất.

Cây quyết định đưa ra bởi tập U các dữ liệu huấn luyên được gọi là tối ưu khi chiều cao và số lá là nhỏ nhất. Thuật toán trên hướng tới việc là nhỏ nhất số siêu phẳng có thể. Nó chỉ ra rằng số là (số luật) được sinh ra là nhỏ. Trong một cách khác cũng có thể chỉ rằng chiều cao của cây giành được là nhỏ nhất.

Định lý 5 [9]:Chiều cao của cây quyết định xây dựng trong trường hợp dùng độ đo là power1 se không lớn hơn 2.log2n –2, khi n là số đối tượng đưa ra bởi bảng quyết định.

Chứng minh:

Đặt conf(h) là tổng của conf của tất cả các nút ở chiều cao h của cây quyết định. Chúng ta có:

( )h ≥2.conf(h−1)

Đặt n là số đối tượng của đưa ra bởi bảng quyết định và n1 và n2 là số đối tượng tương ứng với từng lớp quyết định.Sử dụng định lý 2 ta có:

( ) ( ) 4 2 0 2 2 2 1 2 1 n n n b n conf A conf ⎟ = ⎠ ⎞ ⎜ ⎝ ⎛ + ≤ = =

Đặt h( )T là chiều cao của cây quyết định T. thì chúng ta cóconf(h( )T )=0. Vì vây: ( ) ( ( )) 2.log 2 4 log log2 2 2⎟⎟= 2 − ⎠ ⎞ ⎜⎜ ⎝ ⎛ ≤ ≤ conf T n n T h

Giả sử rằng mọi nút trong của cây đều có cấu trúc thoả mãn điều kiện sau:

( )NL conf( )NR conf =

Ta có:

( ) ( )

(conf NL conf NR ) conf( )N (adsbygoogle = window.adsbygoogle || []).push({});

4 1 ,

max ≤

khi NL vaf NR là các nhánh con trái và phải của nút N. Suy ra:

( )T (conf( )T ) n n h 4 4 2 1 log2 4 log 1 log ⎟⎟+ = ⎠ ⎞ ⎜⎜ ⎝ ⎛ ≤ + ≤

Và chiều cao của siêu phẳng có thể giảm khi chúng ta sử dụng hàm sau để tính độ mạnh của siêu phẳng:

( )H =⎡⎢⎣award( )Hconf( )n ⎥⎦⎤⎡⎢⎣conf( )n − (conf( )NL conf( )NR )⎥⎦⎤

power max , 2 . 2 4 với một siêu phẳng bất kỳ.

Một vấn đề đặt ra với thuật toán trên là làm sao lựa chọn được tập các siêu phẳng để tìm được siêu phẳng có độ mạnh là lớn nhất. Sau đây chúng tôi đưa ra một cách lựa chọn siêu phẳng để thực hiện thuật toán trên trong chương trình thử nghiệm của mình.

Để tìm được siêu phẳng tốt nhất cho thuật toán trên chúng tôi đã đưa ra một cách lựa chọn siêu phẳng gồm 2 bước sau:

Bước 1: Chọn một thuộc tính tốt nhất a∈A theo cách chọn của thuật toán ID3 đã trình bày ở trên (Thuộc tính có Information Gain lớn nhất).

Bước 2: Chọn một siêu phẳng trong các siêu theo cách định nghĩa sau:

Định nghĩa 17 : Siêu phẳng H được định nghĩa như sau: Xét một thuộc tính bất kỳ a∈A.

Va={v0, . . .,vk} là tập các giá trị của thuộc tính a. Đặt P={c1, . . .,ck} khi ci=(vi-1+vi)/2 với i=1,. . .,k

ta có một siêu phẳng H={(x1,. . ., xk)∈ Rk: a((x1,. . .,xk))-ci=0} trong đó a(u) là phép lấy giá trị của thuộc tính a của đối tượng u ∈ U.

Như vậy một siêu phẳng H thực tế là một bộ gồm 2 số (a,c) trong đó a là thuộc tính tốt nhất được chọn và c là một nhát cắt trên tập giá trị của thuộc tinh a.

Để hiểu rõ các bước của thuật toán trên chúng ta sẽ xét ví dụ sau:

Cho bảng quyết định như sau:

(1) (2) (8) (9) X1 2 102 31 1 X2 4 146 70 2 X3 3 102 28 1 X4 2 90 37 2 X5 2 90 31 1 X6 2 146 28 2 Bảng 10. Ví dụ về bảng quyết định.

Bảng trên chính là thông tin về 6 bệnh nhân đang khám bệnh tiểu đường. Trong đó thuộc tính (9) là thuộc tính quyết định giá trị thuộc tính này bằng 1 nếu người đó bị bệnh và bằng 2 nếu người đó không bị bệnh. Các thuộc tính (1) tương ứng với số lần mang thai của bệnh nhân đó, (2) lượng đường trong huyết tương sau 2 giờ chịu thuốc, (8) tương ứng với tuổi của bệnh nhân.

Ta có Information Gain của 3 thuộc tính điều kiện được tính trong bảng sau:

(1) (2) (8) Gain 0,3333 0,6667 0,6667

Bảng 11. Bảng giá trị infomation gain của các thuộc tính của các đối tượng trong bảng 10

(2),124

X1,X3,X4,X5 X2,X6 (d=2)

Khi đó thuộc tính được chọn tốt nhất theo ID3 là thuộc tính (2) hoặc(8). Ta chọn thuộc tính (2) để tiếp tục thuật toán.

Tâp giá trị của thuộc tính (2) là {90, 102, 146} suy ra một tập các nhát cắt cần xét là: {((2),124), ((2), 96). Khi đó độ mạnh của các siêu phẳng tương ứng với những nhát cắt trên sẽ là:

siêu phẳng H (2),124 (2), 96

power1 6 4

Bảng 12. Bảng giá trị hàm power1 của các siêu phẳng chọn theo thuộc tính (2) Như vậy siêu phẳng được chọn sẽ tương ứng với nhát cắt ((2), 124) và cây quyết định khi đó sẽ là:

Hình 4. Các nhánh cây bị phân theo thuật toán đối với các đối tượng ở bảng 10. Khi đó tập đối tượng được phân thành 2 tập gồm những đối tượng trong đó tập gồm 2 đối tượng {X2, X6} là hai đối tượng thuôc cùng một lớp quyết định nên ta không xét tiếp, ta xét các đối tượng còn lai trong bảng sau: (adsbygoogle = window.adsbygoogle || []).push({});

(1) (2) (8) (9)

X1 2 102 31 1 X3 3 102 28 1 X4 2 90 37 2 X5 2 90 31 1

Khi đó thì information gain sẽđược tính theo bảng sau: (1) (2) (8) Gain 0,1226 0,3112 0,8112

Bảng 14.

Bảng giá trị infomation gain của các thuộc tính của các đối tượng trong bảng 13 Và độ mạnh tương ứng của các siêu phẳng là:

sieu phẳng H (8),34 (8), 19,5

power1 3 1

Bảng 15. Bảng giá trị hàm power1 của các siêu phẳng chọn theo thuộc tính (8) Và cây quyết định sẽ có dạng:

Hinh 5. Cây quyết định sau khi áp dụng thuật toán với nhánh trái của cây hình 4 Nhìn vào hình 5 ta thấy tại tât cả các nút lá các đối tượng đều có cùng giá trị quyết định. Đến đây thuật toán có thể dùng lại. Sau khi kết thúc thuật toán thì cây quyết định có dạng:

(2),124

(8), 34 X2,X6 (d=2)

(2),124

(8), 34 (d=2)

(d=1) (d=2)

Hình 6. Cây quyết định được thành lập sau khi thực hiện thuật toán. và từ cây quyết định trên ta có thể có được các luật sau:

Nếu ((2)>124) thì (9)=2.

Nếu ((2)<124) và ((8)<43) thì (9)=1. Nếu ((2)<124) và ((8)>43) thì (9)=2.

Như vậy từ tập các mẫu huấn luyện ta có thể huấn luyên được cây quyết định theo thuật toán trên, từ cây quyết đinh đó ta có thể sinh ra được các luật.

2.2.3. Kết luận

Chương này chúng tôi đã trình bày một số thuật toán khai phá dữ liệu. Trong đó thuật toán khai phá luật kết hợp theo hướng tiếp cận thông thường tỏ ra rất hiệu quả với những dữ liệu rõ ràng, giá trị của các thuộc tính là nhị phân. Do đó rất khó áp dụng cho các bài toán thực tế với những dữ liệu thường ở dạng thô, giá trị của các thuộc tính thường là các số thực,ở dang liên tục. Chương này cũng trình bày thuật toán rời rạc hóa dữ liệu sử dụng siêu phẳng tối ưu theo hướng tiếp cận tập thô. Đây là thuật toán có thể xử lý được trên dữ liệu thô, có các thuộc tính có giá trị thực. Vì vậy có thể áp dụng cho các bài toán thực tế mà không cần phải có những bước tiền xử dữ liệu phức tạp.

Từ thuật toán xây dựng cây quyết định dùng siêu phẳng tối ưu được trình bày trong [9], chúng tôi đã đưa ra một cách lựa chọn siêu phẳng gồm hai bước (chúng tôi đề xuất định nghĩa 17 phục vụ cho cách lựa chọn của mình), để xây dựng chương trinh thử nghiêm cho thuật toán mà kết quả thử nghiệm sẽ được trình bày trong Chương 3. Khóa luận sẽđưa ra các đánh giá về hiệu quả của thuật toán nói trên (đoạn 2.2.2.4) với cách lựa chọn siêu phẳng do chúng tôi đề xuất.

Chương 3 CHƯƠNG TRÌNH THỬ NGHIỆM

Chương trình thử nghiệm xây dựng cây quyết định dựa trên thuật toán đã trình bày trong phần 2.2.2.4 . Kết quả thử nghiệm của chương trình thực hiện trên cơ sở dư liệu khám bệnh tiểu đường được cung cấp bởi tổ chức “National Institute of Diabetes and Digestive and Kidney Diseases” (31KB), từđó sinh ra các luật trên cây quyết định hỗ trợ quyết định khám bệnh cho các bác sĩ.

Một phần của tài liệu Phát hiện luật bằng cách sử dụng siêu phằng tối ưu theo hướng tiếp cận thô (Trang 44 - 52)