1. Trang chủ
  2. » Luận Văn - Báo Cáo

HỌC BẰNG PHƯƠNG PHÁP DỰA TRÊN CÂY ĐỊNH DANH

26 1,9K 8

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 385,5 KB

Nội dung

Bài toán được đặt ra là từ một mẫu cơ sở dữ liệu có sẳn, máy tính có thể phát hiện ra tính quy luật trong mẫu dữ liệu đó bằng phương pháp xây dựng cây định danh và nhờ đó giúp con người

Trang 1

ĐẠI HỌC CÔNG NGHỆ THÔNG TIN TP HỒ CHÍ MINH

CHƯƠNG TRÌNH ĐẠO TẠO THẠC SĨ CNTT KHÓA 6



BÀI THU HOẠCH

Đề tài:

HỌC BẰNG PHƯƠNG PHÁP DỰA TRÊN CÂY ĐỊNH DANH

Trang 2

MỤC LỤC

Phần A: Mở đầu 2

Phần B: Lý thuyết cơ sở của phương pháp học bằng cây định danh 4

I Khái niệm máy học II Khám phá tri thức III Phân loại máy học I Định nghĩa về cây định danh 5

II Phân tích bài toán 5

III Thuật toán Quinlan 7

1 Thuật toán 7

2 Minh hoạ thuật toán 7

3 Nhận xét (độ đo hỗn loạn) 11

4 Phát sinh tập luật 13

5 Tối ưu hóa tập luật 13

6 Kết luận 15

IV Thuật toán ILA 15

7 Thuật toán 16

8 Minh hoạ thuật toán 16

Phần C: Cài đặt ứng dụng minh họa 22

Phần D: Kết luận 25

Tài liệu tham khảo 26

Trang 3

PHẦN A MỞ ĐẦU

Trí tuệ nhân tạo ngày nay đã trở thành một trong những lĩnh vực mũi nhọn, tiên phong hàng đầu, con người chúng ta làm cho máy tính trở nên thông minh hơn, tìm cách tạo ra các chương trình thông minh hơn để có khả năng giải quyết các vấn đề thực tế như cách giải quyết của con người.

Bài thu hoạch sau đây là một khảo sát nhỏ về một phương pháp học trong trí

tuệ nhân tạo, đó là học bằng phương pháp dựa trên cây định danh Bài toán được

đặt ra là từ một mẫu cơ sở dữ liệu có sẳn, máy tính có thể phát hiện ra tính quy luật trong mẫu dữ liệu đó bằng phương pháp xây dựng cây định danh và nhờ đó giúp con người đưa ra các quyết định nhanh chóng và chuẩn xác, Có thể ứng dụng để giải quyết vấn đề thực tế.

Ví dụ ta có một bản thông tin dữ liệu như sau:

Trang 4

Tên Nước tiểu Giảm cân Đau lưng S ốt Kết quả

1 (Nước tiểuVàng) và (có đau lưng) à Bệnh sỏi thận

2 (Nước tiểu Vàng) và (không đau lưng) à Không bệnh sỏi thận

3 (Nước tiểu có vôi) àBệnh sỏi thận

4 (Nước tiểu có máu) và (có sốt) à Bệnh sỏi thận

5 (Nước tiểu có máu) và (không sốt)à Không bệnh sỏi thận

Trang 5

PHẦN B

LÝ THUYẾT CƠ SỞ CỦA PHƯƠNG PHÁP HỌC BẰNG

XÂY DỰNG CÂY ĐỊNH DANH

I KHÁI NIỆM MÁY HỌC:

- Máy tính hay chương trình máy tính có khả năng hoàn thiện từ “kinh nghiệm”

- Máy tính còn có nghĩa là việc mô hình hóa môi trường xung quanh hay khả năng một chương trình máy tính sinh ra một cấu trúc dữ liệu mới khác với cấu trúc hiện có chẳng hạn tìm ra những luật If…then… từ tập dữ liệu đầu vào

II KHÁM PHÁ TRI THỨC:

- Khám phá tri thức là tìm ra những tri thức tiềm ẩn, những tri thức mới (không phải là những tri thức kinh điển, kinh nghiệm,…)

III PHÂN LOẠI MÁY HỌC:

- Phân loại thô:

+ Cách tiếp cận:

Tiếp cận thống kêTiếp cận toán tử logicTiếp cận hình học (Phân hoạch không gian, xây dựng cây định danh,…)Tiếp cận mạng Neural

Tiếp cận khai mỏ dữ liệu

………

IV.ĐỊNH NGHĨA VỀ CÂY ĐỊNH DANH:

Trang 6

Cây định danh là cây mà nếu ta đi từ nút gốc đến các lá ta sẽ có một quyết định hay mộtquy luật dựa vào các thuộc tính trên đường đi từ gốc đến lá, như vậy mỗi đường đi từ nútgốc đến nút lá sẽ cho ra một quyết định hay một quy luật Vì vậy người ta còn gọi cây địnhdanh là cây quyết định.

Ví dụ: Với ví dụ 1 ở trên thì cây định danh được xác định như sau:

(Hình số 2)

Các kết luận hay quyết định cho cây định danh này được đưa ra như hình số 1

V PHÂN TÍCH BÀI TOÁN:

Dựa vào ý tưởng tiếp cận hình học là phân chia không gian bài toán tạo thành một cây định danh sau đó xây dựng các phương pháp học dựa trên cây định danh đó

1 Cây định danh được xây dựng bằng cách tìm các quy luật của dữ liệu:

Gọi P là tập hợp những người quan sát được:

Ta xét ngẫu nhiên qua từng thuộc tính rồi phân nhóm kết quả theo từng giá trị của thuộctính

Quan sát thuộc tính Nước tiểu ta có:

P Có vôi = {Châu, Hoa, Phương, Tuấn}

PCó máu = {Dung, Diễm, Hương, Nhung, Tùng}

Người được gạch dưới và in đậm là bị Bệnh sỏi thận, ta có sơ đồ sau:

Không bệnh sỏi thận

Trang 7

(Hình số 3)

Ta thấy P vàng còn lẫn lộn người bệnh và không bệnh

Tiếp tục quan sát thuộc tính kế tiếp là thuộc tính Giảm cân với các tập hợp còn lẫn lộn

phân hoạch nào tốt hơn, thông minh hơn Việc chọn thuộc tính như thế nào là thông minh

hơn ta sẽ xem thuật toán Quinlan sau đây:

Nước tiểu

Giảm cân

- My

Nhanhít

Trang 8

VI THUẬT TOÁN QUINLAN:

1 Thuật toán:

- Với mỗi thuộc tính dẫn xuất A còn có thể sử dụng để phân hoạch thì ta tính:

VA(j) = (T(j, r1), T(j, r2), …, T(j, rn), )

T(j, ri) =

Trong đó r1, r2, …, rn là các giá trị thuộc tính mục tiêu Như vậy nếu một thuộc tính A

có thể nhận một trong 5 giá trị khác nhau thì nó sẽ có 5 vector đặc trưng

- Một vector V(Aj) được gọi là vector đơn vị nếu nó có duy nhất một thành phần có giá trị 1 và những thành phần khác có giá trị 0

- Thuộc tính được chọn để phân hoạch là thuộc tính có nhiều vector đơn vị nhất

2 Minh họa thuật toán:

Bước 1:

 Xét thuộc tính Nước tiểu

- Xét giá trị vàng:

VNước tiểu (vàng) = {T(vàng, Bệnh sỏi thận), T(vàng, không bệnh sỏi thận)}

Số người Nước tiểu vàng là: 5

Số người nước tiểu vàng và bệnh sỏi thận là: 2

Số người nước tiểu vàng và không bệnh sỏi thận là: 3 Như vậy: Vnước tiểu (vàng) = (2/5, 3/5) = (0.4, 0.6)

- Xét giá trị Có vôi:

VNước tiểu (Có vôi) = {T(Có vôi, Bệnh sỏi thận), T(Có vôi, không bệnh sỏi thận)}

Số người nước tiểu có vôi là: 4

Số người nước tiểu có vôi và bệnh sỏi thận là: 4

Số người nước tiểu có vôi và không bệnh sỏi thận là: 0 Như vậy: Vnước tiểu (có vôi) = (4/4,0/4) = (1, 0) à vector đơn vị

- Xét giá trị Có máu:

VNước tiểu (Có máu) = {T(Có máu, Bệnh sỏi thận), T(Có máu, không bệnh sỏi thận)}

Tổng số phần tử trong phân hoạch có giá trị thuộc tính dẫn xuất là

A là j và có giá trị thuộc tính mục tiêu là ri

Tổng số phần tử trong phân hoạch có giá trị thuộc tính dẫn xuất là A là j

Trang 9

Số người nước tiểu có máu là: 5

Số người nước tiểu có máu và bệnh sỏi thận là: 3

Số người nước tiểu có máu và không bệnh sỏi thận là: 2 Như vậy: Vnước tiểu (có máu) = (3/5,2/5) = (0.6, 0.4)

 Xét thuộc tính Giảm cân

VGiảm cân (Không) = (2/4, 2/4)

VGiảm cân (ít) = (4/6, 2/6)

VGiảm cân (Nhanh) = (3/4, 1/4)

 Xét thuộc tính đau lưng

Như vậy: thuộc tính Nước tiểu có số vector đơn vị nhiều nhất (1 vector đơn vị) nên sẽ

được chọn đầu tiên để phân hoạch

Bước 2

Ta phân hoạch theo nhánh Nước tiểu vàng

- Trong tập phân hoạch này ta thấy còn chứa những người Bệnh sỏi thận và không bệnh

sỏi thận, tiếp tục phân hoạch tập này Tính vector đặc trưng trên các tập còn lại: Giảm

cân, đau lưng, sốt

- Bảng quan sát

Tên Giảm cân Đau lưng S ốt Kết qả

 Xét thuộc tính Giảm cân

VGiảm cân (Không) = (0/2, 2/2) = (0, 1) -> Vector đơn vị

Trang 10

VGiảm cân (ít) = (1/2, 1/2)

VGiảm cân (Nhanh) = (1/1, 0/1) = (1,0) -> Vector đơn vị

 Xét thuộc tính đau lưng

Vđau lưng (Có) = (2/2, 0/2) = (1,0) -> Vector đơn vị

Vđau lưng (Không) = (0/3, 3/3) = (0,1) -> Vector đơn vị

 Xét thuộc tính Sốt

VSốt (có) = (1/3, 2/3)

VSốt (không) = (1/2, 1/2)

Vì hai thuộc tính Giảm cân và đau lưng đều có cùng 2 vector đơn vị, tuy nhiên số phân

hoạch của thuộc tính đau lưng là ít hơn nên ta chọn phân hoạch theo thuộc tính đau lưng.

Tập phân hoạch này không còn lẫn lộn người bệnh sỏi thận và không bệnh sỏi thận nên tadừng phân hoạch

Bước 3

Ta phân hoạch theo nhánh Nước tiểu có máu

- Trong tập phân hoạch này ta thấy còn chứa lẫn lộn những người Bệnh sỏi thận và khôngbệnh sỏi thận, tiếp tục phân hoạch tập này Tính vector đặc trưng trên các tập còn lại:

Giảm cân, đau lưng, sốt

- Bảng quan sát

Tên Giảm cân Đau lưng S ốt Kết quả

VGiảm cân (Nhanh) = (1/2, 1/2)

 Xét thuộc tính đau lưng

Vđau lưng (Có) = (2/3, 1/3)

Vđau lưng (Không) = (1/2, 1/2)

Trang 11

 Xét thuộc tính Sốt

VSốt (có) = (3/3, 0/3) = (1,0) -> Vector đơn vị

VSốt (không) = (0/2, 2/2) = (0,1) -> Vector đơn vị

Vì thuộc tính Sốt có nhiều vector đơn vị nhất ( 2 vector đơn vị), nên ta chọn phân hoạch theo thuộc tính Sốt Tập phân hoạch này không còn lẫn lộn người bệnh sỏi thận và không

bệnh sỏi thận nên ta dừng phân hoạch, kết thúc thuật toán

Ta có cây định danh cuối cùng:

(Hình số 5)

3 Nhận xét (độ đo hỗn loạn):

Thay vì phải xây dựng vector đặc trưng như phương pháp của Quinlan, ứng với mỗi thuộctính dẫn xuất ta chỉ cần tính ra độ đo hỗn loạn và lựa chọn thuộc tính nào có độ đo hỗnloạn là thấp nhất Người ta tính được công thức như sau:

Gọi TA là độ đo hỗn loạn của một thuộc tính A, ta có:

Không bệnh sỏi thận

-TA =

i

Trang 12

o bj là số phần tử có thuộc tính dẫn xuất A có giá trị j

o bri là tổng số phần tử có thuộc tính dẫn xuất A có giá trị j và thuộc tính mục tiêu

có giá trị i.

Tính độ đo hỗn loạn trong bài toán chuẩn đoán bệnh trên:

Bước 1: Tính độ hỗn loạn trung bình lần 1

- Bảng quan sát: Bảng 1

 Xét thuộc tính Nước tiểu

Tổng số phần tử có trong phân hoạch: 14

Số người nước tiểu vàng là: 5 (2 người bệnh sỏi thận, 3 người không bệnh sỏi thận)

Số người nước tiểu có vôi là : 4 (4 người bệnh sỏi thận, 0 người không bệnh sỏi thận)

Số người nước tiểu có máu: 5 (3 người bệnh sỏi thận, 2 người không bệnh sỏi thận)

5/14.(-3/5.log23/5 – 2/5.log22/5) =0.68

 Xét thuộc tính Giảm cân

Tổng số phần tử có trong phân hoạch: 14

Số người không Giảm cân: 4 (2 người bệnh sỏi thận, 2 người không bệnh sỏi thận)

Số người Giảm cân ít là : 6 (4 người bệnh sỏi thận, 2 người không bệnh sỏi thận)

Số người Giảm cân nhanh: 4 (3 người bệnh sỏi thận, 1 người không bệnh sỏi thận)

4/14.(-3/4.log23/4 – 1/4.log21/4) =0.91

 Xét thuộc tính đau lưng

Tổng số phần tử có trong phân hoạch: 14

Số người có đau lưng là: 7 (6 người bệnh sỏi thận, 1 người không bệnh sỏi thận)

Số người không đau lưng là : 7 (3 người bệnh sỏi thận, 4 người không bệnh sỏi thận)

=0.79

 Xét thuộc tính Sốt

Tổng số phần tử có trong phân hoạch: 14

Số người có sốt là: 8 (6 người bệnh sỏi thận, 2 người không bệnh sỏi thận)

Số người không sốt là : 6 (3 người bệnh sỏi thận, 3 người không bệnh sỏi thận)

TSốt = 8/14.(-6/8.log26/8 – 2/8.log22/8) + 6/14.(-3/6.log23/6 – 3/6.log23/6) = 0.89

Chọn thuộc tính Nước tiểu làm thuộc tính phân hoạch vì thuộc tính này có độ trung

bình hỗn loạn nhỏ nhất.

Bước 2 : Tính độ hỗn loạn trung bình lần 2 cho nhánh Nước tiểu = vàng

- Bảng quan sát :

Trang 13

Tên Nước tiểu Giảm cân Đau lưng S ốt Kết quả

Tương tự ta tính độ hỗn loạn trung bình của 3 thuộc tính : Giảm cân, Đau lưng, Sốt

(-1/1.log21/1 – 0/1.log20/1) =0.4

TSốt = 2/5.(-1/2.log21/2 – 1/2.log21/2) + 3/5.(-1/3.log21/3 – 2/3.log22/3) = 0.57

Chọn thuộc tính Đau lưng làm thuộc tính phân hoạch vì thuộc tính này có độ trung

bình hỗn loạn nhỏ nhất.

Bước 3 : Tính độ hỗn loạn trung bình lần 3 cho nhánh Nước tiểu = Có máu

- Bảng quan sát :

Tên Nước tiểu Giảm cân Đau lưng S ốt Kết quả

Tương tự ta tính độ hỗn loạn trung bình của 3 thuộc tính : Giảm cân, Đau lưng, Sốt

TSốt = 3/5.(-3/3.log23/3 – 0/3.log20/3) + 2/5.(-0/2.log20/2 – 2/2.log22/2) = 0

Chọn thuộc tính Sốt làm thuộc tính phân hoạch vì thuộc tính này có độ trung bình

Không bệnh sỏi thận

Trang 14

10 Phát sinh tập luật:

Dựa vào cây định danh được xây dựng như trong hình số 5 , rút ra các luật như sau: Bằng

cách theo các nhánh của cây từ gốc đến lá

(Hình số 6)

Vấn đề còn lại là làm sao tối ưu hóa tập luật này nếu nó có tồn tại luật dư thừa

11 Tối ưu hóa tập luật:

a Loại bỏ giả thiết không cần thiết trong luật:

Sau khi các luật chuyển từ cây định danh, có thể bỏ đi các luật không cần thiết để đơngiản tập các luật được sinh ra, ta sẽ bỏ đi những giả thiết không làm thay đổi tác dụngcủa luật đối với mẫu

Ta lần lượt xét 5 tập luật ở trên:

• Xét luật 1:

IF (Nước tiểu Vàng) và (có đau lưng) THEN Bệnh sỏi thận

Giả thiết có 2 phần, nếu bỏ đi phần “Nước tiểu vàng”, còn lại “có đau lưng”, theocác mẫu thì vẫn còn lẫn lộn người có bệnh và không bệnh

Ta có bảng ngẫu nhiên (gọi là bảng ngẫu nhiên vì kết quả của bảng phụ thuộc vào

dữ liệu cho trong bảng quan sát) như sau:

vàng

Rõ ràng ta không thể loại bỏ thuộc tính “Nước tiểu vàng ” này trong luật này

Nếu bỏ đi thuộc tính có đau lưng ta có:

Rõ ràng ta không thể loại bỏ thuộc tính “dùng kem” này trong luật này

1 (Nước tiểuVàng) và (có đau lưng) à Bệnh sỏi thận

2 (Nước tiểu Vàng) và (không đau lưng) à Không bệnh sỏi thận

3 (Nước tiểu có vôi) àBệnh sỏi thận

4 (Nước tiểu có máu) và (có sốt) à Bệnh sỏi thận

5 (Nước tiểu có máu) và (không sốt)à Không bệnh sỏi thận

Trang 15

Hai bảng trên cho thấy không thể bỏ đi giả thiết nào trong luật này vì ta không thể bảo đảm kết luận vẫn đúng nếu bỏ đi một trong 2 giả thiết đã cho, có nghĩa là luật này không thể cho đơn giản hơn được nữa.

• Xét luật 2,3,4 và 5 ta cũng không thể loại bỏ giả thiết nào

Tóm lại: Tập luật này không có giả thiết thừa

b Loại bỏ luật thừa:

Xây dựng mệnh đề mặc định

Một vấn đề đặt ra là:

Khi gặp phải một trường hợp mà tất cả các luật đều không thỏa thì phải làm như thếnào? Một cách hành động là đặt ra một luật mặc định đại loại như:

 Nếu không có luật nào thỏa → Bệnh sỏi thận (1) Hoặc

 Nếu không có luật nào thỏa → không bệnh sỏi thận (2)

Một số quy tắc khi chọn luật mặc định:

(1) Chọn luật mặc định sao cho nó có thể thay thế cho nhiều luật nhất

(2) Chọn luật mặc định có kết luận phổ biến nhất

(3) Chọn luật mặc định sao cho tổng số mệnh đề của các luật mà nó thay thế là nhiều nhất

Sau khi loại bỏ giả thiết thừa trong phần (a), đôi khi cũng còn có luật thừa vì trùngsuy luận thông tin với các luật khác trong tập luật Ta dùng các suy luận sau đây đểloại bỏ luật thừa:

Với tập luật thu được ở hình số 6 ta thấy có 2 kết luận không bệnh sỏi thận (luật 2 & 5) và 3 kết luận bệnh sỏi thận (luật 1,3 & 4) Ta có thể dùng luật mặc

định để thay thế một hay nhiều luật có trong tập luật nếu luật mặc định đó

không làm mất đi tính đúng đắn ban đầu Do có hai kết luận nên có hai khả năng của luật mặc định:

IF không có giả thiết THEN Bệnh sỏi thận (a)

IF không có giả thiết THEN Không bệnh sỏi thận (b)

12 Kết luận:

Trang 16

Sau khi dùng thuật toán Quinlan để xây dựng cây định danh, ta rút ra tập luật, đồng thời

tối ưu hóa tập luật bằng việc loại bỏ các giả thiết thừa, loại bỏ giả thiết không gây ảnhhưởng đến tập luật Sau đó loại bỏ luật thừa bằng thay thế vào luật mặc định

Sau đây ta sẽ nghiên cứu thêm một thuật toán gọi là thuật toán ILA cho việc trực tiếp xác

định tập luật từ mẫu dữ liệu có sẵn cho bài toán trên mà thông qua việc xác định cây địnhdanh

V THUẬT TOÁN ILA:

Thuật giải ILA (Inductive Learning Algorithm) được dùng để xác định các luật phân loại cho tập hợp các mẫu học Thuật giải này thực hiện theo cơ chế lặp, để tìm luật riêng đại diện cho tập mẫu của từng lớp Sau khi xác định được luật, ILA loại bỏ các mẫu liên quan khỏi tập mẫu, đồng thời thêm luật mới này vào tập luật Kết quả có được là một danh sách

có thứ tự các luật chứ không là một cây quyết định Các ưu điểm của thuật giải này có thể được trình bày như sau:

- Dạng các luật sẽ phù hợp cho việc khảo sát dữ liệu, mô tả mỗi lớp một cách đơn giản để dễphân biệt với các lớp khác

- Tập luật được sắp thứ tự, riêng biệt – cho phép quan tâm đến một luật tại thời điểm bất kỳ.Khác với việc xử lý luật theo phương pháp cây quyết định, vốn rất phức tạp trong trường hợp các nút cây trở nên khá lớn

1 Thuật toán:

 Bước 1: Chia mẫu ban đầu thành n bảng con Mỗi bảng con ứng với một giá trị

của thuộc tính quyết định của tập mẫu

 Thực hiện lần lượt các bước từ 2 đến 8 cho mỗi bảng con có được

 Bước 2: j = 1

 Bước 3: Trên mỗi bảng con đang khảo sát, chia danh sách các thuộc tính thành

các tổ hợp khác nhau, mỗi tổ hợp bao gồm j thuộc tính

 Bước 4: Với mỗi tổ hợp thuộc tính có được, tính số lần giá trị thuộc tính xuất

hiện theo cùng tổ hợp thuộc tính trong các dòng còn lại của bảng con đang xét

(mà đồng thời không xuất hiện tổ hợp giá trị này trên tất cả các bảng còn lại).

Gọi tổ hợp đầu tiên (trong bảng con) có số lần xuất hiện nhiều nhất là tổ hợp lớn

nhất.

 Bước 5: Nếu tổ hợp lớn nhất có giá trị bằng 0, tăng j lên 1 và quay lại bước 3.

 Bước 6: Loại bỏ các dòng thỏa tổ hợp lớn nhất ra khỏi bảng con đang xử lý.

Ngày đăng: 10/04/2015, 17:04

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w