Các tiêu chí để đánh giá thuật tốn phân lớp

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 30)

Tronng từng ứng dụng cu thể cần lựa chọn mơ hính phân lớp phù hợp. Việc lựa chọn phải dựa trên căn cứ so sánh các mơ hình phân lớp với nhau theo các tiêu chuẩn sau:

Độ chính xác dự đốn (predictive accuracy): Độ chính xác là khả năng của mơ hình để dự đốn chính xác nhãn lớp của dữ liệu mới hay dữ liệu chƣa biết.

Tốc độ (speed): Tốc độ là những chi phí tính tốn liên quan đến quá trình tạo ra và sử dụng mơ hình.

Sức mạnh (robustness): Sức mạnh là khả năng mơ hình tạo ra những dự đốn đúng từ những dữ liệu nhiễu hay dữ liệu với những giá trị đặc biệt.

Khả năng mở rộng (scalability): Khả năng mở rộng là khả năng thực thi hiệu quả trên lƣợng lớn dữ liệu của mơ hình đã học.

Tính hiểu đƣợc (interrpretability): Tính hiểu đƣợc là mức độ hiểu và hiểu rõ những kết quả sinh ra bởi mơ hình đã học.

Tính đơn giản (simplicity): Tính đơn giản liên quan đến kích thƣớc của cây quyết định hay độ đo cơ đọng của các luật.

Trong các tiêu chuẩn trên, khả năng mở rộng của mơ hình phân lớp đƣợc nhấn mạnh và chú trọng phát triển, đặc biệt với cây quyết định.

2.2.4. Các phương pháp đánh giá độ chính xác của mơ hình phân lớp

Ƣớc lƣợng độ chính xác của bộ phân lớp là quan trọng ở chỗ nĩ cho phép dự đốn đƣợc độ chính xác của các kết quả phân lớp những dữ liệu tƣơng lai. Độ chính xác cịn giúp so sánh các mơ hình phân lớp khác nhau. Luận văn này đề cập đến hai phƣơng pháp đánh giá phổ biến là holdout và k-fold cross-validation. Cả hai kỹ thuật này đều dựa trên các phân hoạch ngẫu nhiên tập dữ liệu ban đầu.

Trong phƣơng pháp holdout, dữ liệu đƣa ra đƣợc phân chia ngẫu nhiên thành hai phần: tập dữ liệu đào tạo và tập dữ liệu kiểm tra. Thơng thƣờng 2/3 dữ liệu cấp cho tập dữ liệu đào tạo, phần cịn lại cấp cho tập dữ liệu kiểm tra.

Hình 2.2. Ƣớc lƣợng độ chính xác của mơ hình phân lớp với phƣơng pháp holdout. Tập đào tạo Dữ liệu Trích rút phân lớp Ƣớc độ chính xác Tập kiểm thử

Trong phƣơng pháp k- fold cross-validation tập dữ liệu ban đầu đƣợc chia ngẫu nhiên thành k tập con (fold) cĩ kích thƣớc xấp xỉ nhau S1, S2, … Sk. Quá trình học và kiểm tra đƣợc thực hiện k lần. Tại lần lặp thứ i, Si là tập dữ liệu kiểm tra, các tập cịn lại đƣợc hợp thành tập dữ liệu đào tạo. Cĩ nghĩa là, đầu tiên việc dạy đƣợc thực hiện trên các tập S2, S3,….., Sk, sau đĩ kiểm tra trên tập S1; tiếp tục quá trình dạy đƣợc thực hiện trên tập S1, S3, S4,…., Sk, sau đĩ kiểm tra trên tập S2; và cứ tiếp tục.

Độ chính xác là tồn bộ số phân lớp đứng từ k lần lặp chỉa tổng số mẫu của tập dữ liệu ban đầu.

2.3. Phân lớp dựa trên phƣơng pháp học Nạve bayes.

2.3.1 Giới thiệu

Phân lớp dựa trên phƣơng pháp học Nạve Bayes là phƣơng pháp phân loại dựa vào xác suất đƣợc áp dụng nhiều nhất lĩnh vực học máy. Trong một số lĩnh vực áp dụng thì khả năng của nĩ cĩ thể so sánh với các phƣơng pháp học khác nhƣ mạng nơron hoặc cây quyết định và Support vector machine.

Phân lớp dựa trên phƣơng pháp học Nạve Bayes đƣợc áp dụng cho quá trình học trong các trƣờng hợp mà ở đo mỗi thể hiện đƣợc mơ tả bởi một kết hợp các giá trị thuộc tính và hàm đích f(x) cĩ thể nhân bất kỳ giá trị nào trong tập hữu hạn V. Hàm đích đƣợc cung cấp một tập dữ liệu học cùng với một thể hiện mới với một bộ giá trị của các thuộc tính <a1,a2,….,an>. Bộ phân lớp sẽ đƣợc yêu cầu dự đốn giá trị hàm đích hoặc lớp của thể hiện mới này.

Cách tiếp cận để phân lớp một thể hiện mới là gán giá trị đích cĩ xác suất cao nhất vMAP cho thể hiện mới này.

VMAP = arg max P(v j | a1 , a2 ,..., an )

v j V

Chúng ta sử dụng định lý Bayes để viết lại nhƣ sau: P(a1 , a2 ,..., an | v j )P(v j ) (2.3.1) vMAP = arg max v j V P(a1 , a2 ,...., an ) = arg max P(a1 , a2 ,...., an | v j ) P(v j ) v j V (2.3.2)

Cĩ hai số hạng mà chúng ta cần phải dự đốn trong biểu thức (2.3.2), đĩ là P(vj) và P(a1,a2,….,an|vj). Chúng ta nhận thấy rằng cĩ thể dễ dàng đốn đƣợc mỗi P(vj) bằng cách đếm tần số xuất hiện của giá trị đích vj trong tập dữ liệu học. Tuy nhiên dự đốn các số hạng khác nhau P(a1,a2,…,an|vj) theo cách này là khơng khả thi nếu chúng ta khơng cĩ tập dữ liệu học rất lớn. Vấn đề là ở chỗ số hạng này tƣơng đƣơng với số các thể hiện cĩ thể cĩ nhân với số các giá trị đích cĩ thể cĩ.

Do vậy, chúng ta cần quan sát nhiều lần mọi thể hiện trong khơng gian thể hiện để cĩ đƣợc các kết quả dự đốn tin cậy.

2.3.2. Bộ phân lớp Nạve Bayes.

Bộ phân lớp Nạve Bayes dựa trên việc đơn giản hĩa giả định ban đầu là các giá trị thuộc tính độc lập điều kiện với giá trị đích cho trƣớc. Nĩi cách khác, chúng ta giả sử rằng với giá trị đích cho trƣớc của một thể hiện, xác suất của bộ kết hợp quan sát đƣợc a1,a2,…an chỉ là tích của các khả năng đối với các thuộc tính riêng biệt: P(a1,a2…an|vj) = i P(ai | vi ) . Sử dụng đẳng thức này để thay thế vào đẳng thức (2.3.2), chúng ta sẽ cĩ cách tiếp cận đƣợc sử dụng bởi bộ phân lớp nạve bayes.

VNB = arg max P(v j ) P(ai | v j ) (2.3.3)

Trong đĩ, vNB: giá trị đích đƣợc cho bởi bộ phân lớp nạve bayes. Lƣu ý rằng trong bộ phân lớp nạve bayes số lƣợng các số hạng phân biệt P(ai|vj) cần phải đƣợc dự đốn từ tập dữ liệu học chỉ là số các giá trị riêng biệt của thuộc tính nhân với số các giá trị đích riêng biệt (một số nhỏ hơn nhiều so với cách ƣớc đốn các số hạng P(a1,a2,…,an|vj) nhƣ trƣớc đây.

Tĩm lại, bộ phân lớp nạve Bayes liên quan đến một bƣớc học mà trong đĩ các số hạng P(vj) và P(a1,a2,…,an|vj) đƣợc ƣớc đốn dựa trên tần số xuất hiện của chúng trên tồn bộ tập dữ liệu học. Tập các dự đốn này tƣơng ứng với kết luận đƣợc học. Kết luận này sau đĩ đƣợc sử dụng để phân lớp thể hiện mới bằng cách áp dụng luật (2.3.3). Bất kỳ khi nào giả định của nạve Bayes các điều kiện độc lập đƣợc thỏa mãn thì phân lớp nạve Bayes vNB đồng nhất với phân lớp MAP.

Một ƣu điểm của phƣơng pháp nạve Bayes so với các phƣơng pháp học khác là phƣờng pháp nạve Bayes khơng cĩ sự tìm kiếm khơng rõ ràng nào trong khơng gian các giả định cĩ thể cĩ.

2.4. Phân lớp dựa trên câu quyết định (Decision Tree)

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

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

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 30)