Khái niệm cây quyết định:

Một phần của tài liệu Kỹ thuật phân lớp dữ liệu và ứng dụng trong phát hiện mã độc (Trang 35 - 46)

Cây quyết định (Decision Tree) là một cây phân cấp cĩ cấu trúc đƣợc dung để phân lớp các đối tƣợng dựa vào dãy các luật (series of rules). Các thuộc tính của đối tƣợng (ngoại trừ thuộc tính phân lớp – Category attribute) cĩ thể thuộc các kiểu dữ liệu khác nhau (Binary, Nominal, ordinal, quantitative values) trong khi đĩ thuộc tính phân lớp phải cĩ kiểu dữ liệu là Binary hoặc Ordinal.

Việc xây dựng cây quyết định đƣợc tiến hành một cách đệ qui, lần lƣợt từ nút gốc xuống tới tận nút lá. Tại mỗi nút hiện hành đang xét, nếu kiểm tra thấy thỏa điều kiện dừng: thuật tốn sẽ tạo nút lá. Nút này đƣợc gán một giá trị của nhãn lớp tùy điều kiện dừng đƣợc thỏa. Ngƣợc lại, thuật tốn tiến hành chọn điểm chia tốt nhất theo một tiêu chí cho trƣớc, phân chia dữ liệu hiện hành theo điều kiện chia này. Lƣu ý dữ liệu hiện hành khơng phải hồn tồn là tập dữ liệu ngay khi bắt đầu thuật tốn, cĩ thể là tập dữ liệu đã đƣợc phân chia theo điều kiện chia của nút liền trƣớc đĩ (nút cha).

2.4.1.1. Giải thuật qui nạp cây quyết định (ID3):

Giải thuật quy nạp cây quyết định (gọi tắt là ID3) 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. ID3 là một giải thuật hay 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, heuristic 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.

ID3 biểu diễn các khái niệm (concept) ở dạng các cây quyết định (decision tree). 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 đĩ.

Nhƣ vậy, nhiệm vụ của giải thuật ID3 là học cây quyết định từ một tập các ví dụ rèn luyện (training example) hay cịn gọi là dữ liệu rèn luyện (training data). 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 rè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.

Giải thuật cơ bản (giải thuật tham lam) đƣợc chia thành các bƣớc nhƣ sau:

1. Cây đƣợc xây dựng đệ qui từ trên xuống dƣới (top-down) và theo cách thức chia để trị (divide-conquer).

2. Ở thời điểm bắt đầu , tất cả những ví dụ huấn luyện ở gốc.

3. Thuộc tính đƣợc phân loại ( nếu là giá trị liên tục chúng đƣợc rời rạc hĩa).

4. Những ví dụ huấn luyện đƣợc phân chia đệ qui dựa trên thuộc tính mà nĩ chọn lựa.

5. Kiểm tra những thuộc tính đƣợc chọn dựa trên nền tảng của heristic hoặc của một định lƣợng thống kê.

Điều kiện để dừng việc phân chia:

1. Tất cả những mẫu huấn luyện đối với một node cho trƣớc thuộc về cùng một lớp.

2. Khơng cịn thuộc tính cịn lại nào để phân chia tiếp. 3. Khơng cịn mẫu nào cịn lại.

2.4.1.2. Độ lợi thơng tin (Information Gain) trong cây quyết định:

Độ lợi thơng tin là đại lƣợng đƣợc sử dụng để chọn lựa thuộc tính với độ lợi thơng tin lớn nhất. Giả sử cĩ hai lớp, P và N. Cho tập hợp của những ví dụ S chứa p phần tử của lớp P và n phần tử của lớp N. Khối lƣợng của thơng tin, cần để quyết định nếu những mẫu tùy ý trong S thuộc về P hoặc N đƣợc định nghĩa nhƣ là :

I(p,n) = -[p/(p+n)]log 2 [p/(p+n)] – [n/(p+n)]log 2 [n/(p+n)]

Giả sử rằng sử dụng thuộc tính A một tập hợp S đƣợc phân hoạch thành những tập hợp {S1,S2,..,Sv}. Nếu Si chứa những mẫu của P và ni mẫu của Ni entropy

hoặc thơng tin mong đợi cần để phân loại những đối tƣợng trong cây con Si là :

v

E( A) [( pi ni ) /( p n)]I ( pi, ni )

i

1

Thơng tin nhận đƣợc ở nhánh A là: Gain(A) = I(p,n)-E(A)

2.4.1.3. Nội dung giải thuật học cây quyết định cơ bản ID3:

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 hệ số độ lợi thong 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 cho ra một sự phân chia cân bằng nhất. Hệ số độ lợi thơng tin sẽ là hàm nhƣ vậy.

ID3 ( Learning Sets S, Attributes Sets A, Attributesvalues V) Return Decision Tree.

Begin Đầu tiên nạp các tập học dữ liệu, tạo nút gốc cho cây quyết định 'rootNode', thêm learning set S vào trong nút gốc nhƣ là tập con của nĩ.

Entropy(rootNode.subset)==0, thenrootNode.subset bao gồm records tất cả với cùng giá trị cho cùng giá trị thuộc tính xác định, trả về một nút lá với decision attribute:attribute value; If Entropy(rootNode.subset)!=0,then

Tính độ lợi thơng tin (information gain) cho mỗi thuộc tính trái (chƣa đƣợcsử dụng để phân chia), tìm thuộc tính A với Maximum(Gain(S,A)). Tạo những nút con của rootNode này và thêm vào rootNode trong cây quyết định.

For mỗi con của rootNode, áp dụng ID3(S,A,V) một cách đệ qui cho đến khi đạt đƣợc node mà cĩ entropy=0 hay đạt đƣợc nút lá.

End ID3. Ví dụ :

Để mơ tả hoạt động của ID3 chúng ta sử dụng ví dụ “Play Tennis”. Sự mơ tả tƣợng trƣng thuộc tính nhƣ sau:

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:

Outlook Temperatur e

Humidity Windy Decision

sunny hot high false n sunny hot high True n overcast hot high false p rain mild high false p rain cool normal false p rain cool normal false n overcast cool normal True p sunny mild high false p sunny mild normal True p rain mild normal false p sunny mild normal True p overcast mild high True p overcast hot normal false p rain mild high True n

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

1. Tạo nút gốc( rootNode), chứa đựng tồ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 tố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

Gain(S,Humidity) = 0.151 Gain(S,Temperature) = 0.029

Gain(S,Outlook) = 0.246

3. Chọn lựa những thuộc tính với thơng tin nhận đƣợc tối đa, đĩ chính là sự phân chia theo thuộc tính “outlook”.

4. Áp dụng ID3 cho mỗi nút con của nút gốc này, cho đến khi đạt đến nút lá hoặc nút cĩ entropy = 0.

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

Trƣờng hợp thiếu sĩt 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.

Trƣờng hợp thiếu sĩt thứ hai:

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 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.

2.4.1.5. Mở rộng qui nạp cây quyết định cơ bản:

Việc mở rộng qui nạp cây quyết định đƣợc áp dụng cho những thuộc tính giá trị liên tục: Định nghĩa một cách uyển chuyển những thuộc tính giá trị bị rời rạc mà sự phân chia giá trị thuộc tính thành một tập rời rạc của những khoảng.

Mở rộng qui nạp cây quyết định cũng đƣợc áp dụng cho những giá trị thuộc tính thiếu sĩt bằng cách: Gán những giá trị thiếu sĩt bằng giá trị thơng thƣờng nhất của thuộc tính hoặc gán khả năng cĩ thể với mỗi giá trị cĩ thể.

Việc mở rộng qui nạp cây quyết định cũng đƣợc áp dụng cho xây dựng thuộc tính: Tạo những thuộc tính dựa trên những cái đã tồn tại mà chúng thể hiện thƣa thớt. Điều này sẽ giúp thu giảm việc phân mảnh, sự lặp lại và việc tạo bản sao.

2.4.1.6. 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 tập huấn luyện mà cĩ những bảng ghi 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 bảng ghi 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 bảng ghi 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 xãy ra. Trong ví dụ chơi đánh gơn của chúng

ta, nếu chúng ta đƣợc đƣa một bảng ghi 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 bảng ghi, và nếu humidity là lớn hơn

75 cĩ 3 bảng ghi trong đĩ cĩ 1 bảng ghi khơng hoạt động. Nhƣ vậy điều đĩ cĩ thể đƣa ra nhƣ câu trả lời cho bảng ghi 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 học. 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 với i=1,2,..,m. Chúng ta chia những bảng ghi 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à tập huấn luyện chúng ta sẽ xác đị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 tốn.

2.4.1.7. Thu giảm cây quyết định và những tập luật suy dẫn

Việc xây dựng cây quyết định nhờ vào tập huấn luyện 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 bảng ghi trong tập

huấn luyện. Trong thực tế, để làm nhƣ vậy nĩ cĩ thể là điều hồn tồ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:

\

Trong cây quyết định trên ta nhận thấy cây quyết định cĩ chứa 2 bảng ghi; bảng ghi thứ nhất là màu đỏ huấn luyện thành cơng và bảng ghi thứ hai là màu xanh huấn luyện khơng thành cơng và sau đĩ trong thực hiện kiểm thử chúng ta tìm thấy

3 màu đỏ khơng thành cơng và một màu xanh thành cơng, 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 khơng thành cơng. 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ác đị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ác định.

Nếu điều này khơng xảy ra thì thuộc tính khơng xác đị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

Đỏ xanh Màu Thành cơng Khơng thành cơng

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 siêu nhận thức, ví dụ nhƣ “khơng cĩ luật khác cĩ thể áp dụng ”.

2.4.1.8. 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 đốn.

Đặc điểm chính của C5.0 là:

C5.0 đƣợc thiết kế để phân tích những cơ sở dữ lịêu quan trọng chứa đựng hàng ngàn đến hàng trăm ngàn những bảng ghi và hàng chục đến hàng trăm số liệu và hoặc tên trƣờng.

Để 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 mạng nơron.

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à máy học .

2.4.1.9. So sánh giữa giải thuật see/c5.0 với 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.

+ Về những tập luật (Ruleset):

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ự hồ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ẽ.

+ Cây quyết định:

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ác về dự đốn là nhƣ nhau. Sự khác nhau chính yếu

Một phần của tài liệu Kỹ thuật phân lớp dữ liệu và ứng dụng trong phát hiện mã độc (Trang 35 - 46)

Tải bản đầy đủ (PDF)

(69 trang)