0
Tải bản đầy đủ (.pdf) (79 trang)

Khái niệm

Một phần của tài liệu NGHIÊN CỨU MỘT SỐ KỸ THUẬT KHAI PHÁ DỮ LIỆU CHO BÀI TOÁN DỰ ĐOÁN RỦI RO TÍN DỤNG (Trang 33 -33 )

Trong lý thuyết quyết định, một cây quyết định (decision tree) là một đồ thị của các quyết định và các hệ quả cĩ thể của nĩ (bao gồm các hao phí tài nguyên và những rủi ro) [17]. Cây quyết định được sử dụng để xây dựng một kế hoạch nhằm đạt được mục tiêu mong muốn. Các cây quyết định được dùng để hỗ trợ quá trình ra quyết định. Cây quyết định là một dạng đặc biệt của cấu trúc cây.

Trong lĩnh vực khai phá dữ liệu và 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 nĩ. Mỗi một nút trong (internal node) tương ứng với một biến; đường nối nĩ với con của nĩ thể hiện định giá cho mối quan hệđĩ. Nút lá thể hiện định giá dựđốn cho quãng đường 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. Học bằng cây quyết định cũng là một phương pháp thơng dụng trong khai phá dữ liệu. Khi đĩ, cây quyết định mơ tả một cấu trúc cây, trong đĩ, các lá đại diện cho các phân loại, cịn cành đại diện cho các kết hợp của các thuộc tính dẫn tới phân loại đĩ. Một cây quyết định cĩ thểđược học bằng cách chia tập nguồn thành các tập con dựa theo một kiểm tra giá trị thuộc tính. Quá trình này được lặp lại cho mỗi tập con dẫn xuất một cách đệ qui. Quá trình đệ qui hồn thành khi việc chia tách là khơng thể tiếp tục thực hiện, hay khi một phân loại đơn cĩ thể áp dụng cho từng phần tử của tập con dẫn xuất. Một bộ phân loại rừng ngẫu nhiên (random forest) sử dụng một số cây quyết định, để cĩ thể cải thiện tỉ lệ phân loại. Cây quyết định cũng là một phương tiện cĩ tính mơ tả dành cho việc tính tốn các xác suất cĩ điều kiện. Cây quyết định cĩ thểđược mơ tả như là sự kết hợp của các kỹ thuật tốn học và tính tốn nhằm hỗ trợ việc mơ tả, phân loại và tổng quát hĩa một tập dữ liệu cho trước. Dữ liệu được cho dưới dạng các bản ghi cĩ dạng: (x, y) = (x1, x2, x3..., xk, y). Biến phụ thuộc (dependant variable) y là biến mà chúng ta cần tìm hiểu, phân loại hay tổng quát hĩa. x1, x2, x3 ... là các biến sẽ giúp thực hiện cơng việc đĩ.

4.1.2. Các loại cây quyết định

Trong khai phá dữ liệu, cây quyết định cịn được biết đến với ba loại/tên như sau:

• Cây phân loại (Classification tree): kết quả dự đốn là một lớp mà dữ liệu

được phân loại như: rủi ro tín dụng (loại 1, 2, 3, 4 hay 5), giới tính (nam hay nữ), kết quả của một trận đấu (thắng, hịa hay thua).

• Cây hồi quy (Regression tree): kết quả dựđốn cĩ giá trị là số thực thay vì

được phân loại vào một lớp nào đĩ. (ví dụ: ước tính giá một ngơi nhà hoặc khoảng thời gian một bệnh nhân nằm viện).

• Cây phân loại và hồi quy (Classification And Regression Tree -CART): Sử

dụng cả hai loại cây ở trên.

4.1.3. Ví dụ thực hành

Tơi sử dụng ví dụ về quản lý sân golf (được nhiều bài báo và sách về khai phá dữ liệu sử dụng) để giải thích về cây quyết định: David là quản lý của một câu lạc bộ đánh golf. Mục tiêu của David là tối ưu hĩa số nhân viên phục vụ mỗi ngày bằng cách dựa theo thơng tin dự báo thời tiết để đốn xem khi nào khách sẽ đến chơi golf. ðể

thực hiện điều đĩ, anh ta cần hiểu được tại sao khách hàng quyết định chơi và tìm hiểu xem cĩ cách giải thích nào cho việc đĩ hay khơng. Vậy là trong hai tuần, anh ta thu thập thơng tin về: Trời (outlook) (nắng (sunny), nhiều mây (clouded) hoặc mưa (raining)). Nhiệt độ (temperature) bằng độ F. ðộẩm (humidity). Cĩ giĩ mạnh (windy) hay khơng. Và tất nhiên là số người đến chơi golf vào hơm đĩ. David thu được một bộ

dữ liệu gồm 14 dịng và 5 cột.

Bng 4.1 - Dữ liệu chơi gofl.

Biến độc lp dùng để dựđốn (x1, x2, x3, x4) Biến ph thuc cn dựđốn (y) Outlook Temperature Humidity Windy Play

Sunny 85 85 FALSE Don’t Play

Sunny 80 90 TRUE Don’t Play

overcast 83 78 FALSE Play

Rain 70 96 FALSE Play

Rain 68 80 FALSE Play

Rain 65 70 TRUE Don’t Play

overcast 64 65 TRUE Play

Sunny 72 95 FALSE Don’t Play

Sunny 69 70 FALSE Play

Rain 75 80 FALSE Play

Sunny 75 70 TRUE Play

overcast 72 90 TRUE Play

overcast 81 75 FALSE Play

Rain 71 80 TRUE Don’t Play

Sau đĩ để giải quyết bài tốn của David, ta đưa ra một mơ hình cây quyết định. Cây quyết định là một mơ hình dữ liệu mã hĩa phân bố của nhãn lớp (là y) theo các

thuộc tính dùng để dựđốn. ðây là một đồ thị cĩ hướng phi chu trình dưới dạng một cây. Nút gốc (nút nằm trên đỉnh) đại diện cho tồn bộ dữ liệu. Thuật tốn cây phân loại phát hiện ra rằng cách tốt nhất để giải thích biến phụ thuộc, play (chơi), là sử dụng biến Outlook. Phân loại theo các giá trị của biến Outlook, ta cĩ ba nhĩm khác nhau: Nhĩm người chơi golf khi trời nắng, nhĩm chơi khi trời nhiều mây, và nhĩm chơi khi trời mưa. Kết luận thứ nhất: nếu trời nhiều mây, người ta luơn luơn chơi golf. Và cĩ một số người ham mê đến mức chơi golf cả khi trời mưa. Tiếp theo, ta lại chia nhĩm trời nắng thành hai nhĩm con. Ta thấy rằng khách hàng khơng muốn chơi golf nếu độ ẩm lên quá 70%. Cuối cùng, ta chia nhĩm trời mưa thành hai và thấy rằng khách hàng sẽ khơng chơi golf nếu trời nhiều giĩ.

Hình 4.1 - Hình cây quyết định của bài tốn quản lý sân golf.

ðây là lời giải ngắn gọn cho bài tốn mơ tả bởi cây phân loại. David cho phần lớn nhân viên nghỉ vào những ngày trời nắng và ẩm, hoặc những ngày mưa giĩ. Vì hầu như sẽ chẳng cĩ ai chơi golf trong những ngày đĩ. Vào những hơm khác, khi nhiều người sẽ đến chơi golf, anh ta cĩ thể thuê thêm nhân viên thời vụ để phụ giúp cơng việc. Kết luận là cây quyết định giúp ta biến một biểu diễn dữ liệu phức tạp thành một cấu trúc đơn giản hơn rất nhiều.

4.1.4. Xây dựng cây quyết định

Việc xây dựng cây quyết định thường thơng qua các bước: tạo cây, cắt tỉa và

đánh giá.

Quá trình tạo cây quyết định được thực hiện bằng cách chia đệ quy tập dữ liệu mẫu cho tới khi mọi nút lá đều thuần nhất. Thuần nhất nghĩa là tất cả các mẫu dữ liệu

ở cùng một lớp. Nếu các nút lá là khơng thuần nhất, cần thiết phải được kiểm tra để

tìm ra phép tách tốt nhất. Thuộc tính được lựa chọn sau kiểm tra sẽđược gán nhãn cho nút tách đĩ và tập dữ liệu sẽđược chia ra thêm nữa theo các giá trị của thuộc tính.

4.1.4.2. Ct ta cây quyết định

Bước cắt tỉa cây quyết định được sử dụng để tối ưu hĩa cây thu được sau khi tạo, bao gồm: tối ưu vềđộ lớn của cây và tối ưu vềđộ chính xác của sự phân lớp bằng cách cắt tỉa các nhánh khơng phù hợp. Thơng thường cây được sinh ra sẽ hoạt động tốt trên tập huấn luyện nhưng cĩ thể hoạt động khơng chính xác đối với tập dữ liệu ẩn hoặc khơng thấy được. Các dữ liệu này là các dữ liệu bị nhiễu hoặc thiếu trong tập huấn luyện. Bước cắt tỉa nhằm mục tiêu cố gắng loại bỏ các nhánh bị lỗi khỏi cây và giữ lại độ chính xác phân lớp của cây.

4.1.4.3. ðánh giá cây quyết định

ðộ chính xác của cây kết quảđược xác định thơng qua sử dụng một tập dữ liệu khơng nhìn thấy độc lập. Cây được áp dụng cho từng dữ liệu đầu vào và nhãn của lớp

đã được dự đốn trước so sánh với nhãn lớp thực tế. Vì thế, tiêu chuẩn đánh giá là số

các mẫu được phân lớp chính xác.

4.2. Thut tốn C4.5 và đặc đim cây quyết định

4.2.1. Thuật tốn C4.5 [17]

C4.5 là một thuật tốn sử dụng để sinh một cây quyết định được phát triển bởi Ross Quinlan năm 1993. C4.5 là mở rộng của thuật tốn ID3 của chính tác giả. Cây quyết định được xây dựng bởi C4.5 thường được sử dụng cho mục đích phân lớp, C4.5 thường được xem như một phương pháp phân lớp thống kê (statistical).

C4.5 xây dựng cây quyết định từ một tập dữ liệu huấn luyện (training) giống như thuật tốn ID3, sử dụng khái niệm Entropy thơng tin. Dữ liệu huấn luyện là một tập S = s1, s2, ... của các mẫu đã được phân lớp. Mỗi mẫu si = x1, x2,... là một vector, trong đĩ x1, x2, ... biểu diễn các đặc trưng hoặc thuộc tính của mẫu. Dữ liệu huấn luyện

được tăng lên (augmented) với một vector C = c1, c2, ... trong đĩ c1, c2, ... biểu diễn lớp của mỗi mẫu được phân lớp.

Entropy(S) [4.2] cĩ thể được xem như một thước đo mức độ ngẫu nhiên khi phân lớp trong S. Trong trường hợp đích phân lớp là nhị phân, nếu thuộc tính đích nhận các giá trị c khác nhau, thì Entropy của S liên quan đến phân lớp c được định nghĩa như sau:

= − = c i i i p p S Entropy 1 2 log ) ( (4.1) Trong đĩ, pi là tỷ lệ S thuộc lớp i.

Gain thơng tin là một thước đo đối với mỗi thuộc tính A. Thuc tính A cĩ th

phân chia S thành các tập con SA1, SA2, SA3,…, SAn, gain thơng tin ca A là sẽ là

Entropy(S) - Entropy(SA1) - Entropy(SA2) - Entropy(SA3)-… - Entropy(SAn). Gain

thơng tin sau đĩ được chuẩn hĩa bằng việc nhân entropy của mỗi thuộc tính lựa chọn với tỷ lệ các giá trịđược lựa chọn với tập các giá trị.

) ( | | | | ) ( ) , ( ) ( v A Values v v S Entropy S S S Entropy A S Ganin

− = (4.2)

Trong đĩ, Value(A) là tập tất cả các giá trị cĩ thể của thuộc tính A và Sv là tập con của S khi thuộc tính A cĩ giá trị là v.

C4.5 sử dụng cở sở lập luận rằng mỗi thuộc tính của dữ liệu cĩ thể được sử

dụng để tạo quyết định chia nhỏ dữ liệu thành các tập con nhỏ hơn. C4.5 kiểm tra Gain

thơng tin (khác với entropy) để xem xét các kết quả từ việc chọn một thuộc tính để

chia nhỏ dữ liệu. Thuộc tính cĩ gain thơng tin cao nhất sẽ được chọn để làm quyết

định. Thuật tốn được lặp lại với danh sách các tập dữ liệu nhỏ hơn.

Thuật tốn cĩ một số trường hợp cơ bản, trường hợp cơ bản nhất là khi tất cả

các mẫu trong danh sách thuộc vào cùng một lớp. Khi trường hợp này xảy ra, ta đơn giản chỉ tạo một nút lá cho cây quyết định và chọn lớp đĩ. Cũng cĩ thể xảy ra trường hợp khơng cĩ đặc trưng đưa ra gain thơng tin, trong trường hợp này C4.5 tạo một nút quyết định cao hơn sử dụng giá trị kỳ vọng của lớp. Cũng cĩ thể xảy ra trường hợp khơng thấy bất kỳ ví dụ nào của một lớp, C4.5 lại tạo một nút quyết định cao hơn sử

dụng giá trị kỳ vọng.

Thuật tốn được biểu diễn dạng giả mã như sau: [19]

FormTree(T)

1. ComputeClassFrequency(T) 2. IF OneClass or FewCases

• THEN return a leaf

• ELSE create a decision node N

ForEach Attribute A, ComputeGain(A) N.test = AttributeWithBestGain

3. ForEach T’ in the splitting of T

• IF T’ is Empty

THEN Child of N is a leaf

ELSE Child of N = FormTree(T’) 4. ComputeErrors of N

5. Return N

Thuật tốn C4.5 bắt đầu chỉ cĩ một nút gốc chứa tồn bộ tập huấn luyện mẫu và tất cả các mẫu đều cĩ trọng số là 1. Tại mỗi nút, chiến thuật chia để trị được thực hiện, chiến thuật này cố gắng khai thác sự lựa chọn tốt nhất cục bộ tại thời điểm xét.

Giả sử T là tập mẫu tại một nút nào đĩ.

Tại bước 1: Tần suất xuất hiện của mẫu Ci được tính theo ComputFrequency(Ci, T).

Tại bước 2: Nếu tất cả các mẫu trong T cùng thuộc một lớp Cj hoặc xảy ra một số trường hợp cơ bản thì nút là lá với nhãn Cj. Cịn lại, tạo nút quyết định N. Mỗi thuộc tính A ta tính Gain thơng tin theo cơng thức (4.2) và thuộc tính cĩ Gain thơng tin tốt nhất sẽđược chọn để thực hiện kiểm tra tại nút đĩ. ðối thuộc tính cĩ giá trị rời rạc, phép kiểm tra tách T thành n tập con, mỗi tập con ứng với một giá trị của thuộc tính.

ðối với thuộc tính cĩ giá trị liên tục, phép kiểm tra tách T thành hai tập con: một tập gồm các mẫu với giá trị thuộc tính nhỏ hơn hoặc bằng giá trị ngưỡng, tập thứ hai gồm các mẫu cĩ giá trị thuộc tính lớn hơn giá trị ngưỡng. Trong đĩ, giá trị ngưỡng được xác định như sau: X là thuộc tính liên tục(hoặc thuộc tính số) và các mẫu trong T được sắp thứ tự theo giá trị cụ thể của X, giả sử các giá trịđược sắp xếp là v1, v2, …, vm. Ta xét giá trị:

v = ( vi + vi+1) / 2 (4.3) Trong đĩ, i=[1, m-1] và phép tách tập T thành T1 và T2 như sau: T1v = [vj] với vj <= v và T2v =[vj] với vj > v.

Ứng với mỗi giá trị v, ta tính Gainv theo phép tách như trên, giá trị Gain của thuộc tính X ứng với tập T được chọn là Gainv cĩ giá trị tốt nhất. Giá trị v ứng với Gain cĩ giá trị tốt nhất được gọi là giá trị ngưỡng của thuộc tính liên tục X.

Tại mỗi nút quyết định N, ta cĩ s tập con T1, … , Ts của phép tách. S = 2 nếu thuộc tính cĩ giá trị liên tục và S = n nếu thuộc tính cĩ giá trị rời rạc. n là tập các giá trị

Tại bước 3: Nếu tập con T’ của phép tách T là rỗng thì nút con là nút lá, nhãn là lớp thường xảy ra nhất ở nút đĩ và lỗi phân lớp bằng khơng. Nếu tập con T’ khơng rỗng thì thực hiện đệ quy thuật tốn với tập T’.

Tại bước 4: Lỗi phân lớp của nút được tính bằng tổng các lỗi tương ứng theo tỷ

lệ mẫu của tất cả các nút con của nĩ. Nếu kết quả này (BackUp Error) lớn hơn số mẫu lỗi trong T khi xem T thuộc về lớp thường xảy ra nhất, thì nút đĩ trở thành nút lá và tất cả các cây con của nĩ bị xĩa.

Tính Gain cho các thuc tính cĩ nhiu giá tr:[18]

Cơng thức (4.2) khơng cịn phù hợp khi thuộc tính cĩ nhiều giá trị. Ví dụ, thuộc

tính ngày sẽ cĩ rất nhiều giá trị cĩ thể. Nếu tính theo cơng thức (4.2) thì thuộc tính này sẽ cĩ Gain cao hơn các thuộc khác. Vì thuộc tính này một mình hồn tồn dự đốn thuộc tính đích thơng qua dữ liệu huấn luyện. Như vậy, nĩ sẽ được chọn làm thuộc tính quyết định của nút gốc của cây và dẫn đến cây cĩ chiều sâu là một, hồn tồn phân lớp dữ liệu huấn luyện. ðể khắc phục trường khợp này, Quinlan đã sử dụng hàm GainRatio thay cho hàm Gain, dùng đểđo tính hiệu quả của một thuộc tính trong việc phân lớp dữ liệu, được đưa ra như sau:

) , (

Một phần của tài liệu NGHIÊN CỨU MỘT SỐ KỸ THUẬT KHAI PHÁ DỮ LIỆU CHO BÀI TOÁN DỰ ĐOÁN RỦI RO TÍN DỤNG (Trang 33 -33 )

×