1. Trang chủ
  2. » Kỹ Năng Mềm

báo cáo về xây dựng và học cây quyết định ID3

39 1,2K 5

Đ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 39
Dung lượng 258 KB

Nội dung

báo cáo về xây dựng và học cây quyết định ID3 báo cáo về xây dựng và học cây quyết định ID3 báo cáo về xây dựng và học cây quyết định ID3 báo cáo về xây dựng và học cây quyết định ID3 báo cáo về xây dựng và học cây quyết định ID3 báo cáo về xây dựng và học cây quyết định ID3 báo cáo về xây dựng và học cây quyết định ID3 báo cáo về xây dựng và học cây quyết định ID3 báo cáo về xây dựng và học cây quyết định ID3 báo cáo về xây dựng và học cây quyết định ID3 báo cáo về xây dựng và học cây quyết định ID3 báo cáo về xây dựng và học cây quyết định ID3 báo cáo về xây dựng và học cây quyết định ID3 báo cáo về xây dựng và học cây quyết định ID3 báo cáo về xây dựng và học cây quyết định ID3

Trang 1

1.Các khái niệm cơ bản:

Cây quyết định là công cụ mạnh mẽ cho việc phân loại và tiên đoán.Sự hấp dẫn của của phương pháp thiết lập cây này là vì nó thích hợp với một lượng lớn sự kiện , ngược lại với mạng Neutral cây quyết định thể hiện những luật.Những luật này có thể dễ dàng diễn tả mà con người có thể hiểu chúng.Việc tạo quyết định có rất nhiều ứng dụng ví dụ như hệ thống thư tín của công ty chứa đựng một mô hình mà có thể chính xát tiên đoán thành viên nào của nhóm trực sẽ trả lời cho một yêu cầu nhất định mà họ không cần quan tâm mô hình này hoạt động như thế

nào.Trong một số những trường hợp khác khả năng giải thích cho việc đưa ra

quyết định là vấn đề chính yếu.Trong một số ứng dụng , sự phân loại hay sự tiên đoán là vấn đề hết sức quan trọng

1.1 Học cây quyết định (Dicision tree learning):

Là phương pháp xấp xỉ giá trị rời rạc bởi những hàm mục tiêu ( target function), trong đó hàm được biểu diễn bởi một cây quyết định.Những cây học ( learned trees)

có thể cũng được biểu diễn như là tập hợp của những luật if then để tăng tính dễ đọc cho con người Những phương pháp học này thể hiện trong những giải thuật suy diễn quy nạp thông dụng nhất và được ứng dụng thành công trong những nhiệm

vụ từ việc học để chuẩn đoán bệnh trong y học đến việc định giá rủi ro trong tài chính về kinh tế

1.2 Cây quyết định :

Cây quyết định là cây trong đó mỗi nút nhánh thể hiện một sự lựa chọn trong số nhiều sự lựa chọn và mỗi nút lá là sự thể hiện của một quyết định.Cây quyết định thông thường được sử dụng cho việc đạt được thông tin cho mục đính tạo quyết định.Cây quyết định bắt đầu với một nút gốc từ đó user nhận được những hành động.Từ nút này , user chia ra mỗi nút theo cách đệ qui theo giải thuật học cây quyết định Kết quả cuối cùng là một cây quyết định trong đó mỗi nhánh thể hiện một trường hợp có thể của quyết định và hệ quả của quyết định đó

1.3 Sự thể hiện của cây quyết định :

Cây quyết định phân chia những trường hợp bằng việc xắp xếp từ nút gốc đến

những nút lá Điều đó đã đưa ra sự phân loại cho từng trường hợp Mỗi nút trong cây diễn tả một sự kiểm tra cho một số thuộc tính của trường hợp và mỗi nhánh

đi xuống từ nút đó đại diện cho một trong những giá trị có thể cho thuộc tính này Một trường hợp được phân loại bằng việc bắt đầu tại nút gốc của cây , kiểm tra những thuộc tính xát định của nút này sau đó chuyển xuống những nhánh tương ứng với việc đánh giá thuộc tính Quá trình này được lặp lại cho những cây con lúc

đó nút gốc mới được xát định

1.4 Giải thuật học cây quyết định:

Cây quyết định là phương pháp xấp xỉ hóa bằng hàm mục tiêu những giá trị rời ,rạc trong đó những hàm được học được thể hiện bằng cây quyết định Học cây quyết định là một trong những phương pháp thực dụng và được sử dụng rộng rãi nhất cho phương pháp suy diễn qui nạp

Trang 2

Giải thuật học cây quyết định được sử dụng thành công trong hệ chuyên gia trong việc nằm bắt kiến thức.Công việc chính sử dụng trong các hệ thống này là việc sử dụng phương pháp qui nạp cho những giá trị cho trước của những thuộc tính của một đối tượng chưa biết để xát định sự phân loại xấp xỉ theo những luật của cây quyết định.Cây quyết định sẽ phân loại các trường hợp bằng cách duyệt từ nút gốc đến những nút lá.Chúng ta sẽ bắt đầu từ nút gốc của cây quyết định , kiểm tra thuộc tính xát định bởi nút này sau đó chuyển xuống những nhánh của cây theo giá trị thuộc tính trong tập hợp cho trước.Quá trình này được lặp lại tại những cây con Giải thuật cây quyết định thích hợp cho những điều dưới đây:

1.Mỗi trường hợp được biểu diễn bởi cặp những giá trị thuộc tính.Ví dụ thuộc tính “nhiệt độ“ có những giá trị “nóng”,”mát”, “lạnh”.Chúng cũng đồng thời liên quan đến thuộc tính mở rộng , giá trị tiếp theo, dữ liệu được tính toán ( giá trị thuộc tính bằng số) trong dự án của chúng ta

2.Hàm mục tiêu có giá trị đầu ra là những giá trị rời rạc.Nó dễ dàng liên hệ đến trường hợp mà được gán vào một quyết định đúng hoặc sai.Nó cũng có thể mở rộng hàm mục tiêu đến giá trị đầu ra là những giá trị thực

3.Những dữ liệu đưa vào có thể chứa đựng nhiều lỗi điều này liên quan đến kĩ thuật giản lược những dữ liệu thừa

1.5 Tại sao Học cây quyết định là một phương pháp học qui nạp hấp dẫn:

Những phương pháp học qui nạp tạo thành những công thức cho không gian giả thuyết tổng quát bằng việc tìm ra tính qui tắc bằng kinh nghiệm dựa trên những dữ liệu ví dụ

Với học qui nạp , học cây quyết định hấp dẫn vì 3 nguyên nhân:

1 Cây quyết định là một sự tổng quát tốt cho những trường hợp ta không để ý đến , chỉ những trường hợp được mô tả trong những giới hạn của những đặc tính mà liên quan đến những khái niệm mục tiêu

2 Những phương pháp hiệu quả trong tính toán là số hạng của tỉ lệ thức đến

số của những trường hợp của dữ liệu đưa vào tính toán

3 Kết quả của cây quyết định đưa ra một sự biểu diễn của ý niệm mà dễ dàng cho con người bởi vì nó đưa ra quá trình phân loại hiển nhiên

2.Giải thuật học cây quyết định – ID3 Cơ bản:

2.1.ID3 Cơ bản:

ID3 là một giải thuật học cây quyết định được phát triển bởi Ross Quinlan (1983)

Ý tưởng cơ bản của giải thuật ID3 là để xây dựng cây quyết định bằng việc sử dụng một cách tìm kiếm từ trên xuống trên những tập hợp cho trước để kiểm tra mỗi thuộc tính tại mỗi nút của cây Để chọn ra thuộc tính mà hữu ích nhất cho sự phân loại trên những tập hợp cho trước , chúng ta sẽ đưa ra một metric thu thập thông tin

Để tìm ra một cách tối ưu để phân loại một tập hợp thông tin , vấn đề đặt ra là chúng ta cần phải làm tối thiểu hóa ( Chẳng hạn, tối thiểu chiều cao của cây) Như vậy chúng ta cần một số chức năng mà có thể đánh giá trường hợp nào nào cho ra một sự phân chia cân bằng nhất.Matric thu thập thông tin sẽ là hàm như vậy

2.2 Entropy-Đồng nhất định lượng của một tập hợp thông tin:

Trang 3

Để định nghĩa thông tin tìm được một cách chính xát chúng ta cần phải tìm hiểu về hàm entropy trước tiên.

Đầu tiên không mất tính tổng quát giả sử rằng kết quả việc phân loại những trường hợp của cây quyết định thuộc vào hai loại chúng ta gọi chúng là P

( dương ) và N (âm)

Cho trước một tập hợp S , bao hàm những mục tiêu dương và âm, hàm entropy của S liên quan đến sự phân loại là :

Entropy(S) = -P(positive)log 2 P(positive) – P(negative)log 2 P(negative)

P(positive) : tỉ lệ thức của những trường hợp dương trong S.

P(negative): tỉ lệ thức của những trường hợp âm trong S.

Cho ví dụ , nếu S là (0.5+,0.5-) then Entropy(S) là 1, nếu S là (0.67+,0.33-) thì Entropy(S) là 0 Để ý rằng nếu khả năng phân bố ở nhiều dạng khác nhau thì thông tin của nó sẽ lớn

Chúng ta cũng để ý rằng hàm entropy là một sự định lượng cho tính không thuần khiết trong tập hợp thông tin đưa vào.Nhưng làm thế nào nó liên quan đến sự tối

ưu hoá của việc tạo quyết định của chúng ta tạo ra bởi vịêc phân loại trong những trường trường hợp Những gì chúng ta thấy sau đây sẽ là câu trả lời cho vấn đề này

2.3 Thu thập thông tin - định lượng thu giảm mong đợi trong hàm Entropy:

Như chúng ta đề cập trước đây, để tối thiểu hóa chiều sâu của cây quyết định , khi chúng ta duyệt nhánh cây, chúng ta cần chọn những thuộc tính tối ưu để chia nút cây, những cái mà chúng ta có thể dễ dàng cho là thuộc tính với sự thu giảm entropy là sự lựa chọn tốt nhất

Chúng ta định nghĩa thu thập thông tin như là việc thu giảm mong đợi của entropy liên quan đến thuộc tính xát định khi phân chia một node thuộc cây quyết định

Gain(S,A)=Entropy(S) - Sum for v from 1 to n of (|Sv|/|S|) * Entropy(Sv)

Chúng ta có thể sử dụng khái niệm của thu thập để đánh giá tầm quan trọng

những thuộc tính và xây dựng những cây quyết định mà mỗi nút chứa thuộc tính

mà nhận được lớn nhất trong những thuộc tính chưa được xem xét trong đường đi

từ gốc

Mục đích của việc sắp thứ tự này là :

1 Để tạo ra cây quyết định nhỏ mà những record có thể được xát định sau chỉ một vài lần cây quyết định phân chia

2 Để kết nối một hi vọng đối với việc tối thiểu của quá trình tạo quyết định

3 Giải thuật ID3:

3.1 Hiện thực của giải thuật ID3:

Nội dung giải thuật:

Trang 4

ID3 ( Learning Sets S, Attributes Sets A, Attributesvalues V)

Return Decision Tree.

Begin

Load learning sets first, create decision tree root

node 'rootNode', add learning set S into root node

as its subset

For rootNode, we compute

Entropy(rootNode.subset) first

If Entropy(rootNode.subset)==0, then

rootNode.subset consists of records

all with the same value for the

categorical attribute, return a leaf

node with decision

attribute:attribute value;

If Entropy(rootNode.subset)!=0, then

compute information gain for each

attribute left(have not been used in

splitting), find attribute A with

Maximum(Gain(S,A)) Create child

nodes of this rootNode and add to

rootNode in the decision tree

For each child of the rootNode, apply

ID3(S,A,V) recursively until reach

node that has entropy=0 or reach

Attribute Possible Values:

Outlook sunny, overcast , rain

Temperature hot , mild, cood

Humidity high,normal

Windy true,false

Decision n(negative),p(positive)

Tập Leaning set cho ví dụ chơi tennis:

Trang 5

sunny mild normal true p

Giải thuật ID3 thực hiện như sau:

1 Tạo nút gốc( rootNode) , chứa đựng toàn bộ learning set như là những tập hợp con của chúng (subset) sau đó tính :

Entropy(rootNode.subset)= -(9/14)log 2 ( 9/14 ) – ( 5/14)log 2 (5/14)= 0.940

2 Tính toán thông tin nhận được cho mỗi thuộc tính :

Gain(S,Windy)= Entropy(S)-(8/14)Entropy(S false) – (6/14)Entropy(S true) = 0.048

3.3 Sự liên quan đến những thuộc tính mang giá trị liên tục :

Sự định nghĩa ban đầu của ID3 bị giới hạn bởi việc liên quan đến tập những giá trị rời rạc Chúng sẽ nắm giữ một cách hiệu quả những thuộc tính tượng trưng Tuy nhiên , chúng ta sẽ mở rộng phạm vi hoạt động của nó cho những thuộc tính có giá trị liên tục ( giá trị số) để phù hợp với thế giới thực

Những gì chúng ta phải làm là định nghĩa những giá trị rời rạc mới để phân những giá trị liên tục thành những thuộc tính tượng trưng một lần nữa

Trang 6

overcast mild 0.49 true p

đối với thuộc tính humidity, chúng ta cần phải tạo ra một giá trị logic mới đó là true khi humidity < =c và false trong những trường hợp khác Điều còn lại là tính ngưỡng tối ưu của c

Trong ví dụ của chúng ta , thông tin nhiều nhất nhận được là thuộc tính

“outlook”.Trong gốc tập con tại “outlook:sunny”, chúng ta tính thu thập thông tin cho “Humidity” là một thuộc tính Để làm như vậy chúng ta sắp xếp humidity như dưới đây:

Humidity 0.68 0.72 0.87 0.9 0.91

Playtennis p p n n n

Chúng sẽ chọn một ngưỡng mà có thể tạo ra thu thập thông tin lớn nhất Bằng việc sắp xếp những giá trị số sau đó xát định ví dụ xát với mà khác với sự phân chia mục tiêu.Chúng ta có thể tạo ra một tập hợp những ngưỡng cho phép sau đó chúng ta tính thông tin đạt được với mỗi ngưỡng tối ưu cho việc phân chia

Ngưỡng được phép trong trường hợp này là 1:

Humidity > (0.7+0.87)/2 hay Humidity > 0.795 với sự thập thông tin

G(S,Humidity) =0.97 Nếu chúng ta có hơn 1 ứng cử ở đây chúng ta chỉ cần tìm cái nào thu thập thông tin nhiều nhất

3.4 Mở rộng ID3 với những dữ liệu tính toán thực :

Như chúng ta đề cập trước đây, ID3 là hoàn toàn hiệu quả trong việc liên hệ đến những hàm mục tiêu đối với những giá trị tính rời rạc.Nó cũng dễ dàng liên hệ đến những trường hợp mà được gán bởi những giá trị quyết định logic , như là “true “

và “false”,”p (positive)” and “n(negative)” Điều đó cũng có thể mở rộng hàm mục tiêu sang những giá trị output thực

4.Những thiếu sót của giải thuật ID3:

4.1Trường hợp thứ nhất :

Một thiếu sót quan trọng của ID3 là không gian phân chia hợp lệ tại một node

là cạn kiệt Một sự phân chia là sự phân hoạch của mỗi trường hợp của không gian mà kết quả đạt được từ việc thử nghiệm tại một node quyết định ID3 và con cháu của nó cho phép sự kiểm tra tại tại một thuộc tính đơn và nhánh trong kết quả cho ra từ sự kiểm tra này

4.2Trường hợp thứ 2:

Một thiếu sót mà ID3 mắc phải là nó dựa vào rất nhiều vào số lượng của

những tập hợp dữ liệu đưa vào Quản lý sự tạp nhiễu của tập dữ liệu vào là vô cùng quan trọng khi chúng ta ứng dụng giải thuật học cây quyết định vào thế giới thực Cho ví dụ ,Khi có sự lẫn tạp trong tập dữ liệu đưa vào hoặc khi số lượng ví dụ đưa vào là quá nhỏ để tạo ra một ví dụ điển hình của hàm mục tiêu đúng.ID3 có thể dẫn đến việc tạo quyết định sai

Có rất nhiều những mở rộng từ giải thuật ID3 cơ bản đã phát triển để áp dụng những luật học cây quyết định vào thế giới thực , như là những post-pruning

Trang 7

tree , quản lý những thuộc tính giá trị thực , liên quan đến việc thiếu những thuộc tính , sử dụng những tiêu chuẩn chọn lựa thuộc tính khác hơn thu thập thông tin

5.Giải thuật mở rộng C4.5:

C4.5 là sự mở rộng của giải thuật ID3 trên một số khía cạnh sau:

Trong việc xây dựng cây quyết định , chúng có thể liên hệ với tranning set mà

có những records với những giá trị thuộc tính không được biết đến bởi việc đánh giá việc thu thập thông tin hoặc là tỉ số thu thập thông tin , cho những thuộc tính bằng việc xem xét chỉ những record mà ở đó thuộc tính được định nghĩa

Trong việc sử dụng cây quyết định , chúng ta có thể phân loại những record mà

có những giá trị thuộc tính không biết bằng việc ước lượng những kết quả có khả năng sãy ra.Trong ví dụ chơi đánh gôn của chúng ta , nếu chúng ta được đưa một record mới mà outlook là sunny và humidity chưa cho biết , chúng ta

sẽ xử lý như sau:

Chúng ta di chuyển từ nút gốc Outlook đến nút Humidity theo cung được đánh nhãn là sunny Ở điểm đó từ lúc chúng ta không biết giá trị của Humidity chúng ta để ý rằng nếu humidity là ở 75 có 2 records , và nếu humidity là lớn hơn 75 có 3 records trong đó có 1 record không hoạt động Như vậy điều đó

có thể đưa ra như câu trả lới cho record khả năng (0.4,06) cho chơi gôn hoặc không chơi gôn

Chúng ta có thể liên hệ đến những giá trị liên tục Giả sử rằng thuộc tính Ci có tầm giá trị thuộc tính liên tục Chúng ta sẽ xem xét những giá trị này trong tập learning set Cho rằng chúng được xắp sếp thứ tự tăng dần A1, A2, ,Am sau

đó với mỗi giá trị Ai i=1,2, ,m.Chúng ta chia những records thành những cái

có giá trị từ Ci trở lên và bao gồm cả Aj và những cái có những giá trị lớn hơn

Aj Với những lần phân hoạch này chúng ta tính lại giá trị thu thập và tỉ số thu thập và chọn ra phân hoạch có tỉ số thu thập thông tin nhận được tối đa

Trong ví dụ về chơi Golf của chúng ta , đối với humidity T là training set chúng ta sẽ xát định thông tin cho mỗi lần phân chia và tìm được sự phân chia tốt nhất tại 75 Phạm vi của thuộc tính này trở thành {<=75,>75} Chú ý rằng phương pháp này liên quan đến một con số quan trọng của việc tính toán

Cây quyết định thu giảm và những tập luật suy dẫn :

Việc xây dựng cây quyết định nhờ vào training set bởi vì cách chúng xây dựng liên quan nghiêm ngặt đến hầu hết các record trong training set Trong thực

tế , để làm như vậy nó có thể là điều hoàn toàn phức tạp Với những đường đi dài và không đều

Việc thu giảm cây quyết định được thực hiện bằng việc thay thế những cây con thành những nút lá.Sự thay thế này sẽ được thực hiện tại nơi mà luật quyết định được thiết lập nếu tần suất lỗi gây ra trong cây con là lớn hơn trong một nút lá.Cho ví dụ với cây đơn giản như sau:

Trang 8

Colorred blue

Success Failure

chứa 2 records thứ nhất là training red success và thứ hai là trainning blue failures

và sau đó trong Test Set chúng ta tìm thấy 3 red failures và một blue success , chúng ta có thể xem xét việc thay thế cây con này bằng việc thay thế bằng một node đơn Failure Sau việc thay thế này chúng ta sẽ còn lại 2 lỗi thay vì 5 lỗi Winston chỉ ra rằng làm thế nào để sử dụng Fisher's exact test để xát định nếu thuộc tính phân loại là thực sự phụ thuộc vào một thuộc tính không xát định Nếu điều này không sãy ra thì thuộc tính không xát định không cần phải xuất hiện trong đường đi hiện tại của cây quyết định

Quinlan và Breiman đề nghị những heuristic phức tạp hơn cho việc thu giảm cây quyết định Một điều dễ dàng làm là có thể dẫn ra một luật từ một cây quyết định : viết ra một luật từ mỗi đường trong cây quyết định đi từ gốc đến lá.Vế trái của luật được xây dựng dễ dàng từ nhãn của những nút và nhãn của những cung

Những luật rút ra có thể được rút gọn như sau:

Gọi LHS là LHS của luật Cho LHS’ nhận được bằng cách thu giảm một số điều kiện của LHS Chúng ta có thể chắc chắn thay thế LHS bằng LHS’ trong luật này nếu tập con của training set thỏa mãn LHS và LHS’ là tương đương

Một luật có thể được thu giảm bằng cách sử dụng metacondition ví dụ như “

không có luật khác có thể áp dụng ”

5 Giải thuật mở rộng See5/C5.0 :

“See5 là một dạng nghệ thuật của hệ thống xây dựng sự phân loại trong dạng thức

của những cây quyết định và tập luật “

See5 đã được thiết kế và hoạt động trên cơ sở dữ liệu lớn và sự kết hợp đổi mới như là boosting Kết quả tạo ra bởi See5 và C5.0 là tương tự nhau Hoạt động trước đây trên Windows95/98/NT của C5.0 là phần hoạt động của nó trên Unix See 5 và C5.0 là những công cụ khai khái dữ liệu phức tạp cho những mẫu khai phá dữ liệu mà phát họa ra những loại tập hợp chúng thành những đối tượng phân loại và sử dụng chúng để tiên đoán

Trang 9

 Để tối đa khả năng giải thích , đối tượng phân loại của See5.0 /C5.0 được diễn tả như là cây quyết định hoặc tập của những luật if – then.Dạng thức của nó dễ hiểu hơn so với neutron network.

 C5.0 dễ dàng sử dụng do đó không được gọi là kiến thức cao cấp của thống

kê và học máy

Giải thuật See5/C5.0 là tốt hơn C4.5:

C5.0 trong hệ thống Unix và bản sao của nó See5 trong Windows là những phiên bản cao cấp hơn C4.5 trên nhiều khía cạnh quan trọng

Chúng ta sẽ thử so sánh C5.0 và C4.5 trên cùng hệ thống Unix

1.Về những tập luật (Ruleset):nhanh nhiều hơn và ít tốn bộ nhớ hơn:

Cả C5.0 và C4.5 cung cấp sự lựa chọn cho những dạng thức của phân loại – cây quyết định hoặc là những tập luật (ruleset) Trong nhiều ứng dụng thì tập luật (ruleset) được ưu tiên sử dụng hơn vì chúng đơn giản và dễ hiểu hơn cây quyết định Nhưng những phương pháp để tìm ra luật trong C4.5 là chậm và chiếm nhiều bộ nhớ.C5.0 thể hiện sự hoàn thiện trong vấn đề tạo ra tập luật và

sự cải tiến này là gây ấn tượng mạnh mẽ

2.Cây quyết định : nhanh hơn và nhỏ hơn :

Với cũng những tập dữ liệu (dataset) thì C4.5 và C5.0 sản sinh ra những luật với sự chính xát về dự đoán là như nhau.Sự khác nhau chính yếu là kích cở của cây và thời gian tính toán.Cây của C5.0 là nhỏ hơn và nhanh hơn ở một số yếu tố

4.Những chức năng mới:

C5.0 kết hợp nhiều chức năng như là variable misclassfication costs.Trong

C4.5 tất cả những lỗi đều được xem như nhau.Nhưng trong những ứng dụng thực tế sẽ có một số lỗi trong quá trình phân loại là nguy hiểm hơn những cái khác C5.0 chấp nhận một chi phí phân chia đối với mỗi cặp lớp được tiên đoán.Nếu quan điểm này được áp dụng , C5.0 sau đó sẽ xây dựng những đối tượng phân loại để tối thiểu hóa những giá trị phân loại sai được mong đợi hơn

là những tần suất lỗi

C5.0 có nhiều kiểu dữ liệu hơn cả những cái đã có trong C4.5 bao gồm cả ngày giờ , thuộc tính giá trị rời rạc được xếp thứ tự và case labels Thêm vào đó là những giá trị thiếu (missing value).C5.0 cho phép những giá trị được coi như là

Trang 10

không áp dụng được Hơn nữa , C5.0 cung cấp những điều kiện dễ dàng để định nghĩa những thuộc tính mới như những hàm của những thuộc tính khác.Những ứng dụng khai phá dữ liệu gần đây được hình thức hoá với kích thước lớn hơn , với hàng trăm thậm chí hàng ngàn những thuộc tính C5.0 có thể tự động lọc những thuộc tính , loại bỏ những cái xuất hiện bên lề trước khi một lớp phân loại được xây dựng Đối với ứng dụng của loại này , sự phân loại có thể dẫn đến những đối tượng nhỏ hơn và sự tiên đoán chính xát hơn và thậm chí thu giảm được thời gian tạo ra tập luật.

C5.0 cũng dễ dàng được sử dụng hơn Những chọn lựa được đơn giản hóa và

mở rộng.- để hỗ trợ sự lấy mẫu và cross-validation , trong lúc đó chương trình C4.5 để tạo ra cây quyết định và tập luật được kết hợp vào một chương trình duy nhất

Phiên bản trên windows See5 đã xây dựng được một giao diện đồ họa thân thiện và thêm vào một số chức năng hỗ trợ khác.Ví dụ Cross-Reference

Window làm cho những đối tượng phân loại dễ hiểu hơn bằng việc liên kết những trường hợp đến những phần liên quan đến việc phân loại

6 Không gian giả thuyết tìm kiếm trong cây quyết định:

Cũng như với những phương pháp học qui nạp khác,ID3 có thể được mô tả như là việc tìm kiếm một không gian của giả thuyết để tìm ra một giả thuyết

mà phù hợp với những training example.Không gian giả thuyết được tìm kiếm bởi ID3 là tập hợp của những cây quyết định có thể.ID3 thực hiện tìm kiếm theo cách leo núi trong không gian giả thuyết này từ đơn giản đến phức tạp.Nó bắt đầu từ một cây rỗng sau đó đi theo tiến trình quan sát giả thuyết tỉ mỉ hơn trong tìm kiếm của một cây quyết định mà phân loại một cách chính xát

training data.Chức năng phân loại mà dẫn đường cho việc tìm kiếm theo cách thức leo núi (hill-climbing) chính là sự định lượng thông tin nhận được ( the information gain measure)

Bằng sự quan sát ID3 trong ngữ cảnh của không gian tìm kiếm và chiến thuật tìm kiếm.Chúng ta có thể thấy được một số những khả năng cũng như giới hạn của nó

 Không giả thuyết của ID3 của tất cả những cây quyết định là không gian đầy đủ những hàm giá trị rời rạc , liên quan đến những thuộc tính cho phép.Bởi vì mỗi hàm giá trị rời rạc giới hạn có thể được thể hiện bởi một số cây quyết định , ID3 tránh một trong những rủi ro chính là tìm kiếm trong không gian giả thuyết không đầy đủ ( ví dụ những phương pháp mà chỉ quan tâm đến giả thuyết kết hợp).Đây chính là không gian giả thuyết có thể không chứa những hàm mục tiêu (target function)

 ID3 duy trì chỉ một giả thuyết đơn lẻ ở hiện tại khi nó tìm kiếm thông qua không gian của những cây quyết định Bằng việc xát định chỉ một giả thuyết đơn lẻ , ID3 mất đi khả năng mà theo đó thể hiện tất cả những giả thuyết phù hợp một cách rõ ràng đi theo sau.Ví dụ, nó không

có khả năng xát định làm thế nào những cây quyết định là phù hợp với

Trang 11

những dữ liệu training cho phép hoặc là đưa ra những truy vấn tức thời

để giải quyết trong số những giả thuyết này một cách tối ưu

 ID3 ở dạng nguyên thủy không thực hiện backtracking trong tìm kiếm của nó.Một lần nó chỉ chọn ra một thuộc tính để kiểm tra ở một cấp nhất định trong cây quyết định nó không bao giờ backtracking để xem xét lại

sự chọn lựa này.Do đó , nó dễ gặp những rủi ro thông thường của tìm kiếm kiểu leo núi hill-climbling mà không có sự quay lui backtracking: việc hội tụ của giải pháp tối ưu cục bộ không phải là tối ưu toàn cục Trong những trường hợp của ID3, một giải pháp tối ưu cục bộ liên quan đến cây quyết định nó chọn theo con đường tìm kiếm đơn do nó khám phá.Tuy nhiên, giải pháp tối ưu cục bộ này có thể ít mong đợi hơn

những cây mà có khả năng bắt gặp theo một nhánh khác của việc tìm kiếm

 ID3 sử dụng tất cả những ví dụ training ở mỗi bước trong tìm kiếm để tạo qua thống kê dựa trên những quyết định xem xét làm thế nào cho giả thuyết hiện tại tốt hơn.Một thuận lợi của việc sử dụng những tính chất của thống kê của tất cả các ví dụ đó chính là tìm kiếm kết quả là ít nhạy bén với những lỗi trong mỗi ví dụ training.ID3 có thể dễ dàng mở rộng

để nắm lấy những dữ liệu training hỗn loạn bằng việc sửa đổi tiêu chuẩn loại bỏ để chấp nhận giả thuyết là thiếu sót với training data

7.Khuynh hướng qui nạp trong cây quyết định :

Với phương thức gì mà ID3 tạo ra từ những training examples được theo dõi để phân loại những thực thể không nhìn thấy được Nói cách khác , ID3 tuân theo khuynh hướng qui nạp gì ?

Cho trước một tập hơp của những training example , có nhiều những cây quyết định phù hợp với những example này Mô tả khuynh hướng qui nạp của ID3 do đó bao gồm sự mô tả khuynh hướng bằng cách đó nó chọn một của những giả thuyết hợp lệ trên những cái khác.Những cây quyết định nào

mà ID3 chọn Nó chọn những cây cây có thể chấp nhận đầu tiên mà nó gặp trong việc tìm kiếm theo kiểu hill-climbing từ đơn giản đến phức tạp thông qua không gian của những cây có thể.Nói đại khái , chiến thuật tìm kiếm của ID3 như sau:

(a)Những lựa chọn theo sự ưu tiên cho những cây ngắn trên những cây dài

(b)Chọn lựa những cây mà đặt những thuộc tính với thông tin nhận được cao nhất gần với gốc nhất.Bởi vì sự tương tác tinh vi giữa heuristic chọn lựa thuộc tính được sử dụng bởi ID3 và những

training example riêng biệt nó gặp.Rất khó để mô tả đặc điểm một cách chính xát khuynh hướng qui nạp trình bày trong ID3.Tuy

nhiên , chúng ta có thể xấp xỉ hóa mô tả khuynh hướng như là sự ưu tiên cho những cây quyết định ngắn hơn những cây phức tạp

Khuynh hướng qui nạp xấp xỉ của ID3:những cây ngắn được ưu tiên

hơn những cây lớn

Trang 12

Trong thực tế, người ta có thể hình dung một giải thuật tương tự với ID3

mà có thể biểu diễn chính xát khuynh hướng qui nạp.Ta có thể coi giải thuật này bắt đầu với một cây rỗng và tìm kiếm Breadth first và theo quá trình đó làm cho cây trở nên phức tạp hơn, đầu tiên chúng ta cho tất

cả các cây đều ở mức 1, sau đó tất cả các cây ở mức 2,vân vân Mỗi lần

nó tìm một cây quyết định hợp lý với training data, nó sẽ trả về cây hợp

lý nhỏ nhất ở search depth.Chúng ta gọi giải thuật tìm kiếm này là breadth-first search algorithm BFS-ID3,BFS-ID3 tìm kiếm một cây quyết định ngắn nhất và như vậy thể hiện khuynh hướng “những cây ngắn được ưu tiên hơn những cây dài” một cách chính xát.ID3 có thể được xem như là xấp xỉ hiệu quả thành BFS-ID3, sử dụng một heuristic tìm kiếm để cố gắng tìm một cây ngắn nhất mà không có sự dẫn đường của toàn bộ Breadth-first search thông qua không gian giả thuyết

Bởi vì ID3 sử dụng heuristic thu thập thông tin (the gain information) và chiến thuật tìm kiếm hill climbing (leo núi) nó thể hiện một khuynh hướng phực tạp hơn BFS-ID3.Cụ thể nó không phải luôn luôn tìm một cây hợp lý ngắn nhất và nó thiên về cây để những thuộc tính với thông tin thu thập cao gần với gốc

8.Những vấn đề trong học cây quyết định (Decision Tree Learning): Những vấn đề thực tế trong việc học cây quyết định bao gồm việc xát

định làm thế nào phát triển cây quyết định theo chiều sâu, quản lý những thuộc tính liên tục , chọn một thuộc tính xấp xỉ định lượng trong việc chọn lựa, quản lý những training data với những giá trị thuộc tính thiêu sót, quản lý những thuộc tính với những chi phí khác nhau và việc cải tiến hiệu quả tính toán.Dưới đây chúng ta thảo luận mỗi một vấn đề và những mở rộng từ giải thuật ID3 cơ bản

8.1 Tránh overfitting dữ liệu:

Trong một số trường hợp giải thuật chỉ mô tả sự mọc nhánh của cây chỉ đủ sâu để phân loại hoàn hảo những training example.Trong thực tế nó có thể dẫn đến những khó khăn khi có những dữ liệu hỗn tạp hoặc khi số lượng của training example là quá ít để tạo ra biểu diễn điển hình cho hàm mục tiêu.Trong cả hai trường hợp này , giải thuật đơn giản này có thể sản sinh overfiting.Chúng ta nói rằng một giả thuyết overfit với training example nếu một số những giả thuyết mà thích hợp với training example thể hiện thiếu chính xát trên toàn bộ sự phân bố của trường hợp

Định nghĩa :

Cho một không giả thuyết H , một giả thuyết h thuộc H được gọi là overfit trên

training data nếu tồn tại một vài giả thuyết h’ thuộc H mà h có ít lỗi hơn h’ trên training example , nhưng h’ có lỗi nhỏ hơn h trên toàn bộ sự phân bố của những trường hợp

8.1.1 Reduced error pruning:

Làm thế nào chúng ta có thể sử dụng một tập hợp hợp lệ để tránh overfitting Điều này được gọi là reduced-error pruning đây là việc xem xét trên mỗi decision node trên cây là đối tượng cho việc xén bớt (pruning).Pruning một node của cây quyết định bao gồm việc loại bỏ cây con tại node đó , tạo một nút lá và gán cho nó một

Trang 13

một sự phân loại chung của những training example liên kết với nút đó.Những nút được loại bỏ chỉ nếu kết quả thu giảm cây không tệ hơn cái cũ trên tập hợp hợp lệ Điều này đã ảnh hưởng đến nút lá thêm vào vì những qui luật trừng khớp ngẫu nhiên trong training set là có khả năng được cắt xén bởi vì những khả năng trùng khớp là không hầu như sãy ra trong một tập hợp lệ Những nút được cắt xén theo

sự lặp lại, luôn luôn chọn nút mà sự gia tăng cây quyết định chính xát trên tập validation set hầu hết loại bỏ.Sự thu giảm sẽ tiếp tục cho đến lúc nào những sự thu giảm tiếp theo sẽ dẫn nguy hại

8.1.2 Luật Post-Pruning :

Trong thực tiễn , một phương pháp hoàn toàn thành công cho việc tìm kiếm những giả thuyết với sự chính xát cao là một kỹ thuật mà chúng ta sẽ gọi là rule post-pruning.Một dạng khác của phương phát pruning được sử dụng trong C4.5 là một dạng phát triển của giải thuât ID3.Luật post-pruning liên quan đến những bước sau đây:

1 Đưa ra cây quyết định từ training set , mọc cây cho đến lúc training data là thích hợp càng nhiều càng tốt và cho phép tránh overfitting sãy ra

2 Thay đổi cây được học thành tập hợp những luật tương đương bằng việc tạo ra một luật cho mỗi đường đi từ gốc đến những nút lá

3 Thu giảm mỗi luật bằng việc loại bỏ những điều kiện trước mà kết quả trong việc cải thiện sự chính xát được ước lượng của nó

4 Xắp xếp những luật được thu giảm bởi việc chính xát ước lượng của nó và xem xét chúng trong thứ tự này khi mà phân loại những trường hợp tiếp theo

Để minh họa , chúng ta hãy xem cây quyết định sau đây:

Sunny Overcast Rain

Outlook

Trang 14

Trong luật post-pruning, một luật được tạo ra cho mỗi lá trên cây.Mỗi thuộc tính kiểm tra theo đường từ gốc đến lá trở thành một tiền luật (precondition) và sự phân loại ở nút lá trở thành hậu luật (postcondition).Cho ví dụ:

phần trái nhất của cây được chuyển thành luật như sau:

IF (Outlook=Sunny) ∧ (Humidity=High)

THEN PlayTennis = No

Kế tiếp mỗi luật như vậy bị cắt xén bởi việc loại bỏ một vài phần tử của tiền luật Những phần loại bỏ sẽ không có giá trị trong việc loại ước lượng chính xát.Luật cho ở trên ví dụ luật post-pruning sẽ được xem xét loại bỏ tiền luật

(Outlook=Sunny) and (Humidity=High) Nó sẽ chọn bất cứ cái nào của những bước thu giảm đã sản sinh ra sự cải thiện nhiều nhất trong ước lượng tính chính xát của luật , sau đó xem xét việc thu giảm tiền luật thứ hai như là bước thu giảm cao hơn.Không bước thu giảm nào được thể hiện nếu nó làm giảm đi tính ước lượng chính xát của luật

Như đã để ý ở trên, một phương pháp để ước lượng tính chính xát luật là sử dụng một validation set của những ví dụ phân cách ra từ training set Một phương pháp khác được sử dụng bởi C4.5 là đánh giá sự thể hiện dựa trên những training set của chính nó , sử dụng một sự đánh giá thiếu khả quan để tạo thành sự kiện mà training data đưa ra một sự đánh giá bằng khuynh hướng dùng luật Chính xát hơn , C4.5 tính toán ước lượng thiếu khả quan của nó bằng việc tính toán tính chính xát của luật trên những training example mà nó áp dụng , sau đó tính toán độ lệch tiêu chuẩn bằng việc tính toán tính chính xát của luật trên những training example cho nó sử dụng khi đó việc tính toán độ lệnh tiêu chuẩn trong chính xát định lượng theo sự phân chia nhị phân Đối với một cấp độ tin cậy cho trước , sự ước lượng dưới biên được lấy ra sau đó như là thước đo của thể hiện luật

Tại sao có sự chuyển đổi cây quyết định thành những luật sau khi thu giảm ? có 3 thuận lợi chính sau đây :

 Việc chuyển thành những luật cho phép phân biệt trong những ngữ cảnh khác nhau trong đó một nút cây quyết định được sử dụng Bởi vì mỗi đường phân biệt thông qua nút cây quyết định cho ra một luật phân biệt ,

sự thu giảm cây quyết định xem xét việc kiểm tra các thuộc tính có thể tạo thành những đường khác nhau.Ngược lại, cây sẽ bị thu giảm , chỉ có 2 lựa chọn sẽ loại bỏ nút quyết định hoàn toàn hoặc giữ lại nó ở dạng nguyên thủy

 Việc chuyển thành luật loại bỏ thuộc tính kiểm tra phân biệt mà sãy ra gần với gốc của cây và những cái này sãy ra gần với những lá Như vậy chúng

ta có thể tránh được sự lộn xộn trong vấn đề kế toán như là làm thế nào để

tổ chức lại cây nếu nút gốc bị thu giảm trong khi phần còn lại của cây con dưới trường hợp này

 Chuyển thành luật làm tăng khả năng dễ đọc Những luật thường dễ hiểu hơn đối với con người

Trang 15

8.2 Incorporating Continuous Value Atributes:

Trong những định nghĩa ban đầu của ID3 chỉ giới hạn đến những thuộc tính

mà nằm trong tập giá trị rời rạc Đầu tiên thuộc tính mục tiêu , giá trị của

nó này được tiên đoán bởi learned tree phải là giá trị thực Thứ hai những thuộc tính được kiểm tra trong những nút cây quyết định phải là giá trị rời rạc Sự hạn chế thứ hai này có thể dễ dàng được loại bỏ do đó thuộc tính quyết định với giá trị liên tục có thể được sử dụng trong learned tree Điều này có thể đạt tới bằng việc hạn chế tối đa những thuộc tính giá trị rời rạc mới mà phân chia giá trị liên tục thành tập hợp của những giá trị rời rạc theo khoảng Cụ thể với một giá trị thuộc tính A là giá trị liên tục giải thuật

có thể linh động tạo ra một thuộc tính logic Ac mang giá trị true nếu A < c

và false nếu ngược lại.Vấn đề còn lại là lựa chọn giá trị tốt nhất cho ngưỡng

c như thế nào

8.2 Alternative Measures for Selecting Attributes:

Có một khuynh hướng tự nhiên trong định lượng thu thập thông tin

( information gain ) đó là những thuộc tính được chọn với nhiều giá trị trên những thuộc tính khác với một vài giá trị Xét một ví dụ đặc biệt ,xét thuột tính Date nó có nhiều những giá trị có thể sãy ra (ví dụ ngày 4 tháng 3 năm

1979 ).Nếu chúng ta thêm thuộc tính này vào bảng ví dụ về play tennis ở trên thì nó sẽ có sự thu thập thông tin (information gain ) cao nhất so với bất kì những thuộc tính nào Điều này sãy ra bởi vì Date hoàn toàn độc lập tiên đoán hàm mục tiêu trên training data

Điều gì sai với thuộc tính Date ? Điều đơn giản đặt ra nó có nhiều những giá trị có thể mà nó giới hạn trong việc phân chia những training example thành những tập nhỏ Cũng chính vì điều này nó sẽ có thu thập thông tin rất cao liên quan đến những training example , mặc dù là một công cụ tiên đoán tồi của hàm mục tiêu trên những trường hợp vô hình

Một cách để tránh sự khó khăn này là chọn lựa những thuộc tính dựa trên một số đánh giá khác hơn là sử dụng thu thập thông tin (gain information)

Sự đánh giá thay đổi được sử dụng thành công là gain ratio ( tỉ số thu thập) Đánh giá Gain ratio cản trở những thuộc tính như là Date bằng việc kết hợp một biểu thức gọi là split information , đó là vấn đề nhạy cảm để làm thế nào mở rộng và hợp nhất thuộc tính phân chia dữ liệu :

Trang 16

Đánh giá Gain Ratio được định nghĩa trong biểu thức của đánh giá Gain trước đây cũng như đối với SplitInformation như sau:

Gain(S,A)

GainRation(S,A) ≡

SplitInformation(S,A)

8.3 Handing Traning Examples with Missing Attribute Values :

Trong một số trường hợp nhất định dữ liệu cho phép có thể thiếu những giá trị đối với một số thuộc tính Cho ví dụ , trong lĩnh vực y khoa

mà chúng ta mong muốn tiên đoán kết quả bệnh nhân dựa trên nhiều những kiểm tra trong phòng thí nghiệm , nó có thể là kiểm tra thử máu trên một tập những bệnh nhân cho phép Trong truờng hợp như vậy chúng ta thông thường phải ước đoán những giá trị thiếu dựa trên những trường hợp

mà thuộc tính này có một giá trị đã biết

Xét một trường hợp mà trong đó Gain(S,A) được tính toán tại nút n trong cây quyết định đề xát định khi nào thuộc tính A là thuộc tính tốt nhất để kiểm tra nút quyết định này Giả sử rằng (x,c(x)) là một trong những

training example trong S và giá trị A(x) là không được biết đến

Một trong những chiến thuật liên quan đến thiếu giá trị thuộc tính là gán nó giá trị mà hầu như chung trong số những training example tại nút n Thay phiên nhau, chúng ta gán nó giá trị chung trong số những training example tại nút n mà có sự phân loại c(x)

Thứ hai một thủ tục phức tạp hơn là gán một kết quả có thể sãy ra cho mỗi một giá trị của A hơn là đơn giản gán một giá trị chung cho

A(x).Khả năng có thể nhận được bằng cách quan sát tần số của những giá trị khác nhau cho A trong số những ví dụ tại nút n Cho ví dụ, cho trước thuộc tính với giá trị logic A , nếu nút n chứa 6 trường hợp được biết đến với A=1 và 4 trường hợp là A=0 , như vậy chúng ta có xát suất mà A=1 là 0,6 và xát suất mà A=0 là 0,4.Phân số 0,6 của thực thể x được phân bố xuống nhánh với A=1 và phân số 0,4 của x phân bố xuống nhánh của những nhánh cây khác.Những tỉ số ví dụ này được sử dụng mục đích tính toán thông tin Gain và những sự phân chia xa hơn ở những nhánh con của cây nếu sự thiếu giá trị thuộc tính thứ hai của cây phải được kiểm tra Phương pháp để quản lý thiếu sót giá trị thuộc tính này được sử dụng trong C4.5

8.4 Handing Attribute with Differing Cost :

Trong một số những công đoạn của learning những thuộc tính của thực thể có sự liên hệ đến cost Cho ví dụ , trong việc học để phân loại những căn bệnh chúng ta có thể mô tả những trong biểu thức của những thuộc tính như là Temperature , BiopsyResult , Pulse , BloodTestResults , vân vân Những thuộc tính này biến đổi nhanh chóng trong cost của

chúng , trong cả những biểu thức của chi phí tiền tệ và chi phí của tiện nghi của bệnh nhân Trong những việc như vậy, chúng ta sẽ ưu tiên những cây

Trang 17

quyết định sử dụng những thuộc tính chi phí thấp ở những nơi có thể , dựa trên những thuộc tính có giá cao chỉ khi cần tạo ra những sự phân loại đáng tin cậy.

ID3 có thể sửa đổi để chuyển thành thuộc tính tính toán phải trả bằng việc đưa ra một biểu thức giá trị sang định lượng lựa chọn thuộc tính Cho ví dụ , chúng ta có thể phân chia Gain bằng chi phí của thuộc tính, do đó những thuộc tính với chi phí thấp sẽ được ưu tiên

9.Tóm tắt và kết luận :

 Học cây quyết định cung cấp một phương pháp thực tiễn cho nguyên

lý học và cho việc học đối với những hàm giá trị rời rạc khác Họ giải thuật ID3 suy diễn ra cây quyết định bằng việc mọc từ gốc xuống

 ID3 tìm kiếm không gian giả thuyết đầy đủ Bằng cách đó nó tránh những khó khăn liên quan đến tính gần đúng mà được xem như giới hạn của tập hợp những giả thuyết : hàm mục tiêu đó có thể không thể hiện trong không gian giả thuyết

 Khuynh hướng qui nạp ẩn trong ID3 bao gồm một sự ưu tiên cho những cây nhỏ Đó là nó tìm kiếm thông qua không gian giả thuyết sinh cây càng lớn theo yêu cầu phân chia những training example cho phép

 Overfitting training data là một vấn đề quan trọng trong học cây quyết định Bởi vì những training example là một trường hợp của tất cả những thực thể cho phép , nó có thể thêm những nhánh vào cây để cải thiện sự thể hiện trên những traning example trong khi giảm đi sự thể hiện của những thực thể khác bên ngoài tập hợp này.Những phương pháp sử dụng cho post-pruning cây quyết định trở nên quan trọng trong việc tránh overfitting trong học cây quyết định

 Rất nhiều những mở rộng của giải thuật ID3 đã được phát triển theo nhiều nguyên cứu khác nhau Những phương pháp này bao gồm post-pruning tree , handing real-valued attributes , sự điều tiết những training example với missing attribute values , gia tăng cải tiến cây quyết định khi những training example mới cho phép , sử dụng những đánh giá chọn lựa thuộc tính khác hơn information gain và xem xét đến những chi phí liên quan đến những thuộc tính của thực thể

Trang 18

Tài liệu tham khảo:

- Bài giảng CNTT& ứng dụng , GS.TSKH Hoàng Kiếm, ĐHQG TpHCM

- ID3, its Children, and their Safety ,Sunil Vadera and Said Nechab Department of Mathematics and Computer Science University of Salford, Salford M5 4WT

- Machine Learning , Tom M.MitchellIntroduction to knowledge discovery and data mining ,Ho Tu Bao, Institute of Information Technology VietNam

- Analysis of Data Mining Algorithms , Karuna Pande Joshi

- An Implementation of ID3 –Decision treeLearning Algorithm Wei Peng,Juhua Chen and Haiping Zhou,University of New South Wales

- Quinlan,J.R.: C4.5: Programs for Machine Learning Morgan Kauffman, 1993

- Quinlan,J.R.: Simplifying decision trees International Journal of Man-Machine Studies, 27, 221-234, 1987

- Winston,P.H.: Artificial Intelligence, Third Edition Wesley, 1992

Ngày đăng: 01/09/2014, 11:02

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w