GIỚI THIỆU CÂY QUYẾT ĐỊNH

Một phần của tài liệu Ứng dụng khai phá dữ liệu để xây dựng hệ thống trợ giúp đánh giá rủi ro trong bảo hiểm xe cơ giới (Trang 26)

7. Bố cục luận văn

1.3. GIỚI THIỆU CÂY QUYẾT ĐỊNH

1.3.1. Giới thiệu chung

Trong lĩnh vực học máy, cây quyết định là một kiểu mô hình dự báo (predictive model), nghĩa là một ánh xạ từ các quan sát về một sự vật, hiện tƣợng tới các kết luận về giá trị mục tiêu của sự vật, hiện tƣợng. Mỗi nút trong (internal node) tƣơng ứng với một biến; đƣờng nối giữa nó với nút con của nó thể hiện giá trị cụ thể cho biến đó. Mỗi nút lá đại diện cho giá trị dự đoán của biến mục tiêu, cho trƣớc các giá trị dự đoán của các biến đƣợc biểu diễn bởi đƣờng đi từ nút gốc tới nút lá đó. Kỹ thuật học máy dùng trong cây quyết định đƣợc gọi là học b ng cây quyết định, hay chỉ gọi với cái tên ngắn gọn là cây quyết định [1].

Dữ liệu

Phần 1

Phần 2

Phần 3

Dữ liệu đào tạo 3

Dữ liệu kiểm tra 3

Mô hình phân lớp Ƣớc tính chính xác 3

Ví dụ: Cây quyết định phân lớp mức lƣơng Age ? 35 >35 Salary Salary 40 Bad > 40 Good 50 >50 BadBad Good

Hình 1.9. Cây quyết định phân lớp mức lương

Ta thấy:

- Gốc (Age): Nút trên cùng của cây.

- Nút trong (Salary): Biểu diễn một kiểm tra trên một thuộc tính đơn. - Nhánh (mũi tên): Biểu diễn các kết quả của kiểm tra trên nút trong. - Nút lá (Bad, Good): Biểu diễn lớp hay sự phân phối lớp.

Để phân lớp m u dữ liệu chƣa biết giá trị, các thuộc tính của m u đƣợc đƣa vào kiểm tra trên cây quyết định. Mỗi m u tƣơng ứng có một đƣờng đi từ gốc đến lá và lá biểu diễn dự đoán giá trị phân lớp m u đó.

1.3.2. Ƣu điểm của cây quyết định

- Cây quyết định tƣơng đối dễ hiểu.

- Đòi hỏi mức tiền xử lý dữ liệu đơn giản.

- Có thể xử lý với cả các dữ liệu rời rạc và liên tục.

- Kết quả dự đoán b ng cây quyết định có thể thẩm định lại b ng cách kiểm tra thống kê.

1.3.3. Các luật đƣợc rút ra từ cây quyết định

Luật đƣợc rút ra từ cây quyết định là các tri thức đƣợc phát biểu dƣới dạng IF-THEN. Mỗi luật có thể đƣợc xác định thông qua mỗi nhánh của cây quyết định. Mệnh đề IF bao gồm giá trị của các thuộc tính tƣơng ứng với các

nút trong, mệnh đề THEN là giá trị của thuộc tính phân lớp, tƣơng ứng với các nút lá trong cây quyết định.

Các bƣớc biến đổi cây quyết định thành luật: - Biểu diễn tri thức dƣới dạng luật IF-THEN - Mỗi luật tạo ra từ mỗi đƣờng d n từ gốc đến lá

- Mỗi cặp giá trị thuộc tính dọc theo đƣờng d n tạo nên phép kết (phép AND – và)

- Các nút lá mang tên của lớp.

Từ cây quyết định nhƣ hình 1.10, ta có thể rút ra đƣợc các luật sau: IF (Age <= 35) AND (Salary<=40) THEN class = Bad

IF (Age<=35) AND (Salary>40) THEN class = Good IF (Age>35) AND (Salary <=50) THEN class = Bad IF (Age > 35) AND(Salary>50) THEN class = Good

1.4. THUẬT TOÁN C4.5 1.4.1. Giới thiệu 1.4.1. Giới thiệu

Vào đầu những năm 1980, J. Ross Quinlan, một nhà nghiên cứu trong lĩnh vực học máy tính, phát triển thuật toán cây quyết định đƣợc biết đến nhƣ ID3. Giải thuật C4.5 là một giải thuật học đơn giản nhƣng tỏ ra thành công trong nhiều lĩnh vực. Vì cách biểu diễn tri thức học đƣợc của nó, tiếp cận của nó trong việc quản lý tính phức tạp, kinh nghiệm của nó dùng cho việc chọn lựa các khái niệm ứng viên, và tiềm năng của nó đối với việc xử lý dữ liệu nhiễu.

Giải thuật C4.5 biểu diễn các khái niệm ở dạng các cây quyết định. Biểu diễn này cho phép chúng ta xác định phân loại của một đối tƣợng b ng cách kiểm tra các giá trị của nó trên một số thuộc tính nào đó [9][7].

Nhƣ vậy, nhiệm vụ của giải thuật C4.5 là học cây quyết định từ một tập các ví dụ huấn luyện hay còn gọi là dữ liệu huấn luyện. Hay nói khác hơn, giải thuật có:

-Đầu vào: Một tập hợp các ví dụ. Mỗi ví dụ bao gồm các thuộc tính mô tả một tình huống, hay một đối tƣợng nào đó, và một giá trị phân loại của nó.

-Đầu ra: Cây quyết định có khả năng phân loại đúng đắn các ví dụ trong tập dữ liệu huấn luyện, và hy vọng là phân loại đúng cho cả các ví dụ chƣa gặp trong tƣơng lai.

Chúng ta hãy xét bài toán phân loại “chơi tennis” ứng với thời tiết nào đó không. Giải thuật C4.5 sẽ học cây quyết định từ tập dữ liệu huấn luyện sau:

Bảng 1.1. Tập ví dụ huấn luyện

Ngày Quang cảnh Nhiệt độ Độ ẩm Gió Chơi tennis

D1 Nắng Nóng Cao Nhẹ Không D2 Nắng Nóng Cao Mạnh Không D3 Âm u Nóng Cao Nhẹ Có D4 Mƣa Ấm áp Cao Nhẹ Có D5 Mƣa Mát TB Nhẹ Có D6 Mƣa Mát TB Mạnh Không D7 Âm u Mát TB Mạnh Có D8 Nắng Ấm áp Cao Nhẹ Không D9 Nắng Mát TB Nhẹ Có D10 Mƣa Ấm áp TB Nhẹ Có D11 Nắng Ấm áp TB Mạnh Có D12 Âm u Ấm áp Cao Mạnh Có D13 Âm u Nóng TB Nhẹ Có

D14 Mƣa Ấm áp Cao Mạnh Không

Mỗi thuộc tính đều có một tập các giá trị hữu hạn. Thuộc tính Quang cảnh có ba giá trị (Âm u, Mƣa, Nắng), Nhiệt độ có ba giá trị (Nóng, Mát, Ấm áp), Độ ẩm có hai giá trị (Cao, TB) và Gió có hai giá trị (Mạnh, Nhẹ) và có một thuộc tính phân loại “Chơi tennis” (Có, Không) và thuộc tính „Chơi tennis‟ còn đƣợc gọi là thuộc tính đích.

1.4.2. Giải thuật C4.5 xây dựng cây quyết định từ trên xuống

Giải thuật C4.5 xây dựng cây quyết định theo cách từ trên xuống và chọn một thuộc tính để kiểm tra tại nút hiện tại của cây và dùng trắc nghiệm này để phân vùng tập hợp các ví dụ, thuật toán khi đó xây dựng theo cách đệ quy một cây con cho từng phân vùng. Việc này tiếp tục cho đến khi mọi thành viên

của phân vùng đều n m trong cùng một lớp, lớp đó trở thành nút lá của cây. Ví dụ, hãy xem xét cách xây dựng cây quyết định của C4.5 trong hình sau từ tập ví dụ huấn luyện trong bảng 1.1.

Hình 1.10. Một phần cây quyết định được xây dựng

Thuật toán C4.5 đƣợc thực hiện nhƣ sau:

Function C45_builder (tập ví dụ, tập thuộc tính)

begin

if mọi ví dụ trong tập ví dụ đều n m trong cùng một lớp

then

return một nút lá đƣợc gán nhãn bởi lớp đó

else if tập thuộc tính là rỗng then

return nút lá đƣợc gán nhãn bởi tuyển của tất cả các lớp trong tập ví dụ

else begin

Chọn một thuộc tính P, lấy nó làm gốc cho cây hiện tại;

Xóa P ra khỏi tập thuộc tính; Với mỗi giá trị V của P

begin

Tạo một nhánh của cây gán nhãn V;

Đặt vào phân vùng V các ví dụ trong tập ví dụ có giá trị V tại thuộc tính P;

Gọi C45_builder (phân vùng V, tập thuộc tính), gắn kết quả vào nhánh V

end end end

Lƣu ý r ng, để phân loại một ví dụ, có khi cây quyết định không cần sử dụng tất cả các thuộc tính đã cho, mặc dù nó v n phân loại đúng tất cả các ví dụ.

Các khả năng có thể có của các phân vùng:

Trong quá trình xây dựng cây quyết định, phân vùng của một nhánh mới có thể có các dạng sau:

Có các ví dụ thuộc các lớp khác nhau, chẳng hạn nhƣ có cả ví dụ âm và dƣơng nhƣ phân vùng “Quang cảnh = Nắng” của ví dụ trên thì giải thuật phải tiếp tục tách một lần nữa.

Tất cả các ví dụ đều thuộc cùng một lớp, chẳng hạn nhƣ toàn âm hoặc toàn dƣơng nhƣ phân vùng “Quang cảnh = Âm u” của ví dụ trên thì giải thuật trả về nút lá với nhãn là lớp đó.

Không còn ví dụ nào, giải thuật trả về mặc nhiên.

Không còn thuộc tính nào có nghĩa là dữ liệu bị nhiễu, khi đó giải thuật phải sử dụng một luật nào đó để xử lý, chẳng hạn nhƣ luật đa số (lớp nào có nhiều ví dụ hơn sẽ đƣợc dùng để gán nhãn cho nút lá trả về).

1.4.3. Chọn thuộc tính phân loại tốt nhất

Quinlan (1983) là ngƣời đầu tiên đề xuất việc sử dụng lý thuyết thông tin để tạo ra các cây quyết định và công trình của ông là cơ sở cho phần trình bày ở đây. Lý thuyết thông tin của Claude Shannon (1948) cung cấp khái niệm entropy để đo tính thuần nhất (hay ngƣợc lại là độ pha trộn) của một tập hợp [8]. Một tập hợp là thuần nhất nếu nhƣ tất cả các phần tử của tập hợp đều thuộc cùng một loại, và khi đó ta nói tập hợp này có độ pha trộn là thấp nhất.

Khi tập ví dụ là thuần nhất thì có thể nói: ta biết chắc chắn về giá trị phân loại của một ví dụ thuộc tập này, hay ta có lƣợng thông tin về tập đó là cao nhất. Khi tập ví dụ có độ pha trộn cao nhất, nghĩa là số lƣợng các ví dụ có cùng giá trị phân loại cho mỗi loại là tƣơng đƣơng nhau, thì khi đó ta không thể đoán chính xác đƣợc một ví dụ có thể có giá trị phân loại gì, hay nói khác

hơn, lƣợng thông tin ta có đƣợc về tập này là ít nhất. Vậy, điều ta mong muốn ở đây là làm sao chọn thuộc tính để hỏi sao cho có thể chia tập ví dụ ban đầu thành các tập ví dụ thuần nhất càng nhanh càng tốt. Vậy trƣớc hết, ta cần có một phép đo để đo độ thuần nhất của một tập hợp, từ đó mới có thể so sánh tập ví dụ nào thì tốt hơn.

1.4.4. Entropy đo tính thuần nhất của tập ví dụ

Khái niệm entropy của một tập S đƣợc định nghĩa trong lý thuyết thông tin là số lƣợng mong đợi các bit cần thiết để mã hóa thông tin về lớp của một thành viên rút ra một cách ng u nhiên từ tập S. Trong trƣờng hợp tối ƣu, mã có độ dài ngắn nhất. Theo lý thuyết thông tin, mã có độ dài tối ƣu là mã gán log2p bit cho thông điệp có xác suất là p.

Trong trƣờng hợp S là tập ví dụ, thì thành viên của S là một ví dụ, mỗi ví dụ thuộc một lớp hay có một giá trị phân loại.

Entropy có giá trị n m trong khoảng [0..1].

Entropy(S) = 0: tập ví dụ S chỉ toàn thuộc cùng một loại, hay S là thuần nhất.

Entropy(S) = 1: tập ví dụ S có các ví dụ thuộc các loại là b ng nhau. 0 < Entropy(S) < 1: tập ví dụ S có số lƣợng ví dụ thuộc các loại khác nhau là không b ng nhau.

Để đơn giản ta xét trƣờng hợp các ví dụ của S chỉ thuộc loại âm (-) hoặc dƣơng (+).

Tập S là tập dữ liệu huấn luyện, trong đó thuộc tính phân loại có hai giá trị, giả sử là âm (-) và dƣơng (+). Trong đó:

p+ là phần các ví dụ dƣơng trong tập S. p_ là phần các ví dụ âm trong tập S.

Khi đó, entropy đo độ pha trộn của tập S theo công thức sau: Entropy(S) = -p+ log2 p+ - p- log2 p-

Một cách tổng quát hơn, nếu các ví dụ của tập S thuộc nhiều hơn hai loại, giả sử là có c giá trị phân loại thì công thức entropy tổng quát là:

Ví dụ: Từ 14 m u của bảng dữ liệu “Chơi tennis”, ta nhận thấy trong tập thuộc tính đích S có 9 m u thuộc lớp dƣơng và 5 m u thuộc lớp âm (ký hiệu là [9+, 5-]). Do đó:

Entropy(S) = - (9/14)log2(9/14) - (5/14)log2(5/14) = 0,940

Entropy là số đo độ pha trộn của một tập ví dụ, bây giờ chúng ta sẽ định nghĩa một phép đo hiệu suất phân loại các ví dụ của một thuộc tính. Phép đo này gọi là lƣợng thông tin thu đƣợc (hay độ lợi thông tin), nó đơn giản là lƣợng giảm entropy mong đợi gây ra bởi việc phân chia các ví dụ theo thuộc tính này.

Một cách chính xác hơn, Gain(S, A) của thuộc tính A, trên tập S, đƣợc định nghĩa nhƣ sau:

Giá trị Value (A) là tập các giá trị có thể cho thuộc tính A, và Sv là tập con của S mà A nhận giá trị v.

i 2 c 1 i ilog p p Entropy(S)     ) Entropy(S S S Entropy(S) A) Gain(S, V Value(A) V V    

Ví dụ: Trở lại với bảng dữ liệu “Chơi tennis”, áp dụng công thức trên ta có:

Gain(S, Quang cảnh) = Entropy(S) - (5/14)Entropy(Snắng) – (4/14)Entropy(S âmu) – (5/4)Entropy(Smƣa) = 0,246 Một cách tƣơng tự:

Gain(S, Độ ẩm) = 0,151 Gain(S, Nhiệt độ) = 0,029 Gain(S, Gió) = 0,048

Ta thấy, Gain(S, Quang cảnh) lớn nhất nên thuộc tính Quang cảnh đƣợc chọn làm nút phân tách cây.

Sau khi lập đƣợc cấp đầu tiên của cây quyết định ta lại xét nhánh Nắng

Tiếp tục tính Entropy và Gain cho nhánh Nắng ta đƣợc nhƣ sau: Gain(S Nắng, Độ ẩm) = 0,970

Gain(S Nắng, Nhiệt độ) = 0,570 Gain(S Nắng, Gió) = 0,019

Nhƣ vậy thuộc tính độ ẩm có hiệu suất phân loại cao nhất trong nhánh

Nắng nên ta chọn thuộc tính Độ ẩm làm nút kế tiếp ….

Tƣơng tự nhƣ vậy đối với nhánh còn lại của cây quyết định ta đƣợc cây quyết định hoàn chỉnh:

Hình 1.12. Cây quyết định đã được xây dựng hoàn chỉnh

1.4.5. Tỷ suất lợi ích Gain Ratio

Khái niệm độ lợi thông tin Gain có xu hƣớng ƣu tiên các thuộc tính có số lƣợng lớn các giá trị. Nếu thuộc tính D có giá trị riêng biệt cho mỗi bảng ghi (thuộc tính Ngày ở bảng dữ liệu trên), thì Entropy(S, D) = 0, nhƣ vậy Gain(S,D) sẽ đạt giá trị cực đại. Rõ ràng, một phân vùng nhƣ vậy thì việc phân loại là vô ích.

Thuật toán C4.5, một cải tiến của ID3, mở rộng cách tính Information Gain thành Gain Ratio để cố gắng khắc phục sự thiên lệch.

Gain Ratio đƣợc xác định bởi công thức sau:

Trong đó, SplitInformation(S, A) chính là thông tin do phân tách của A trên cơ sở giá trị của thuộc tính phân loại S. Công thức tính nhƣ sau:

Ví dụ: Tính Gain Ratio cho các thuộc tính ở bảng dữ liệu 1.1 SplitInformation(S, Quang cảnh) = - (5/14)log2(5/14)

A) mation(S, SplitInfor A) Gain(S, A) S, GainRatio(  | S | S log | S | S A) mation(S, SplitInfor 2 i c 1 i i    

-(4/14)log2(4/14) - (5/14)log2(5/14) = 1,57 Gain(S, Quang cảnh) = 0,246 GainRatio(S, Quang cảnh) = 0,246/1,57 = 0,157 Tƣơng tự, ta cũng tính đƣợc: GainRatio(S, Nhiệt độ) = 0,0187 GainRatio(S, Độ ẩm) = 0,151 GainRatio(S, Gió) = 0,049

Ta nhận thấy, GainRatio(S, Quang cảnh) có giá trị lớn nhất nên thuộc tính Quang cảnh đƣợc chọn làm nút phân tách cây.

1.4.6. Chuyển cây về dạng luật

Thông thƣờng, cây quyết định sẽ đƣợc chuyển về dạng các luật để thuận tiện cho việc cài đặt và sử dụng. Ví dụ cây quyết định cho tập dữ liệu huấn luyện trong bảng 1.1 có thể đƣợc chuyển thành một số luật nhƣ sau:

Quang cảnh Mƣa Nắng Gió Độ ẩm Mạnh Nhẹ Trung Bình Cao Không Có Có Không Có

Hình 1.13. Chuyển cây quyết định về dạng luật

-Luật 1: If (QuangCảnh =Nắng) ^ (Độ ẩm = Cao) Then ChơiTennis = Không.

-Luật 2: If (QuangCảnh =Nắng) ^ (Độ ẩm = TB) Then ChơiTennis = Có. -Luật 3: If (QuangCảnh =Âm u) Then Chơi-Tennis = Có.

-Luật 4: If (QuangCảnh =Mƣa) ^ (Gió = Mạnh) Then ChơiTennis = Không. - Luật 5: If (QuangCảnh =Mƣa) ^ (Gió= Nhẹ) Then Chơ-Tennis = Có.

1.5. RANDOM FOREST

1.5.1. Cơ sở và định nghĩa

Từ những năm 1990, cộng đồng máy học đã nghiên cứu cách để kết hợp nhiều mô hình phân loại thành tập hợp các mô hình phân loại để cho tính chính xác cao hơn so với chỉ một mô hình phân loại. Mục đích của các mô hình tập hợp là làm giảm variance và hoặc bias của các giải thuật học. Bias là khái niệm về lỗi của mô hình học (không liên quan đến dữ liệu học) và variance là lỗi do tính biến thiên của mô hình so với tính ng u nhiên của các m u dữ liệu học. Tiếp cận Random Forest (Breiman, 2001) là một trong những phƣơng pháp tập hợp mô hình thành công nhất. Giải thuật Random Forest xây dựng cây không cắt nhánh nh m giữ cho bias thấp và dùng tính ng u nhiên để điều khiển tính tƣơng quan thấp giữa các cây trong rừng.

Sự phát triển sớm của Random Forest đã bị ảnh hƣởng bởi công việc của Amit và Geman, đã giới thiệu ý tƣởng về tìm kiếm trên một tập hợp con ng u nhiên trong những quyết định có sẵn khi tách một nút, trong bối cảnh phát triển cây duy nhất. Ý tƣởng lựa chọn ng u nhiên từ không gian con của ho cũng đã có ảnh hƣởng trong việc thiết kế các khu rừng ng u nhiên. Trong phƣơng pháp này một rừng cây đƣợc trồng, và sự thay đổi giữa các cây đƣợc giới thiệu b ng cách chiếu các dữ liệu đào tạo thành một không gian con đƣợc

Một phần của tài liệu Ứng dụng khai phá dữ liệu để xây dựng hệ thống trợ giúp đánh giá rủi ro trong bảo hiểm xe cơ giới (Trang 26)