Cắt tỉa cây (thu gọn cây) 17

Một phần của tài liệu LUẬN VĂN: ỨNG DỤNG MÔ HÌNH HỌC MÁY TIÊN TIẾN NHẰM TĂNG CƯỜNG KHẢ NĂNG DỰ BÁO XU THẾ CỦA THỊ TRƯỜNG CHỨNG KHOÁN ppt (Trang 26 - 74)

Khi xây dựng cây quyết định, cấu trúc của một cây quyết định là một vấn đề quan trọng cần xem xét, có thể các nhánh sẽ phản ánh những dị thường trong dữ liệu thử do nhiễu hay dữ liệu không liên quan. Cắt nhánh hay không cắt nhánh cây có thể làm thay đổi hiệu quả học từ các tập dữ liệu. Cắt nhánh làm giảm kích thước của cây do loại bỏ bớt các nhánh thừa trong quá trình xây dựng cây do đó làm giảm sự phức tạp của kết quả phân lớp và độ chính xác của dự báo cũng tốt hơn

Phương thức này thông thường sử dụng độđo thống kê để loại bỏ những nhánh ít tin cậy nhất, nhìn chung sẽ mang lại kết quả phân lớp nhanh hơn và cải thiện được độ tin cậy của cây để giải quyết vấn đề phân lớp bị độc lập với dữ liệu thử

Nhìn chung có hai phương pháp thu gọn cây như sau:

Phương pháp thu gn cây trước: Cây được thu gọn bằng cách tạm dừng quá trình dựng cây sớm (tức là bằng cách quyết định không tiếp tục phân chia tập con ví dụđào tạo ở nút hiện tại nhỏ hơn nữa), do dừng việc phân chia sớm này, nút đó sẽ trở thành một lá, lá này có thể chứa đựng lớp xuất hiện nhiều nhất trong số các tập mẫu con hay phân bố xác suất của các mẫu

Khi xây dựng một cây, các độđo như ý nghĩa thống kê, lợi ích thông tin,… có thể được sử dụng đểđánh giá độ tốt của việc chia cắt. Nên việc phân hoạch các mẫu tại nút đó có kết quả nằm ở bên dưới một ngưỡng định trước nào đó thì sẽ không phân chia tiếp các tập con nữa. Tuy nhiên để chọn được một ngưỡng phù hợp là một việc làm khó. Ngưỡng cao sẽ mang lại một cây quá đơn giản, trong khi ngưỡng thấp có thể mang lại một cây quá chi tiết

Phương pháp rút gn cây sau: Thực hiện loại bỏ các nhánh khỏi một cây đã được xây dựng xong. Một nút của cây được rút gọn bằng cách loại bỏ các nhánh của nó. Nút thấp nhất không bị thu gọn sẽ trở thành lá và được gán nhãn bằng nhãn lớp xuất hiện nhiều nhất trong số các nhánh của nó trước đó. Với mỗi nút không phải là lá trong cây, thuật toán sẽ tính toán tỷ lệ lỗi mong muốn xảy ra nếu cây con tại nút đó không bị cắt cụt bằng việc sử dụng tỷ lệ lỗi cho mỗi nhánh, được kết hợp bởi lỗi lớn hơn tỷ lệ lỗi mong muốn thì cây con đó được giữ lại, nếu không thì nó sẽ bị loại bỏ. Sau khi sinh ra một tập

18

các cây đã được cắt gọn theo từng nấc, một loạt các phép thửđộc lập được sử dụng để đánh giá sự chính xác của mỗi cây này. Cây quyết định nào mà có tỷ lệ lỗi thấp nhất sẽ được ưu tiên chọn

Chúng ta cũng có thể sử dụng xen kẽ hai phương pháp thu gọn cây trước và thu gọn cây sau trong quá trình thu gọn cây. Thu gọn cây đòi hỏi nhiều tính toán hơn thu gọn cây trước, song thông thường nó mang lại cây quyết định tin cậy hơn

2.6. Rút ra quy tc phân lp t cây quyết định

“Chúng ta có thể rút ra được quy tắc phân lớp từ cây quyết định? Nếu có thì như thế nào?” Tri thức biểu diễn trong cây quyết định có thểđược rút ra và biểu diễn dưới hình thức của quy tắc phân lớp IF-THEN. Một quy tắc được tạo rat hay thế cho một đường dẫn tới một nút lá. Mỗi một cặp thuộc tính-giá trị theo một hướng đi cụ thể hình thành phần đầu của quy tắc (phần “IF”). Nút lá chứa lớp dựđoán, hình thành phần sau của quy tắc (phần “THEN”). Quy tắc IF-THEN có thể làm cho người đọc dễ hiểu, đặc biệt trong trường hợp cây lớn.

Ví dụ cây quyết định sau

Hình 2-1: Một cây quyết định miêu tả khái niệm “mua máy tính”

Ta có thể chuyển đổi thành quy tắc phân lớp có dạng IF-THEN bằng cách lần theo đường dẫn từ gốc đến từng nút lá như sau: Tuổi Sinh viên Có Tỷ lệ tiền gửi Có Không Có Không <=30 31…4 Rất tốt Tốt >40 đúng sai

19

IF tuổi=”<=30” AND sinh_vien = “sai” THEN mua_may_tinh= “sai” IF tuoi = “<=30” AND sinh_vien = “đúng” THEN mua_may_tinh = “đúng”

IF tuoi = “31…40” THEN mua_may_tinh = “sai”

IF tuoi = “>40” AND ty_le_tien_gui = “rất tốt” THEN mua_may_tinh = “sai” IF tuoi = “>40” AND ty_le_tien_gui = “tốt” THEN mua_may_tinh = “đúng” Một quy tắc có thểđược thu gọn bằng cách loại bỏ một sốđiều kiện ở phần đầu của quy tắc, điều này không làm cải tiến độ chính xác ước lượng của quy tắc. Với mỗi lớp, các quy tắc trong một lớp sau đó có thểđược xếp loại theo độ chính xác ước lượng của chúng. Vì thế khả năng một mẫu thửđã cho sẽ không thỏa mãn phần đầu của mọi quy tắc, một quy tắc mặc định được gán cho đa số các lớp, thông thường cũng được thêm vào tập quy tắc kết quả

2.7. Các thut toán trong cây quyết định

Cây quyết định là một trong những giải pháp trực quan và hữu hiệu để mô tả quá trình phân lớp dữ liệu. Do cây quyết định rất hữu dụng nên đã có nhiều nghiên cứu để xây dựng nó mà nổi bật là các thuật toán học quy nạp như CARD, ID3, C45…..

Các thuật toán trên đều dựa trên một thuật toán cơ bản để xây dựng cây chỉ khác nhau ở tiêu chuẩn/thuộc tính phân chia và độđo để lựa chọn.

Thuật toán ID3 (Iterative Dichotomiser 3) do Quinlan Ross giới thiệu vào năm 1986 [11]. Nó dựa trên thuật toán Hunt và sử dụng độ lợi thông tin (Gain) để lựa chọn thuộc tính phân lớp các đối tượng. Ý 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, thuộc tính nào có độ lợi thông tin (Gain) lớn nhất sẽđược chọn để phân chia đối tượng. Quá trình này được thực hiện một cách đệ quy cho đến khi tập đối tượng tại một cây con đã trở nên thuần nhất, tức là nó chỉ chứa các đối tượng thuộc về cùng một lớp. Lớp này sẽ trở thành một lá của cây.

Thuật toán C4.5 là một cải tiến của thuật toán ID3, do Quinlan Ross phát triển vào năm 1993, sử dụng độđo tỷ lệ gain làm tiêu chuẩn chia cắt [11]. Khi số lượng các trường

20

hợp nhỏ hơn một ngưỡng nào đó thì nó bị cắt khỏi cây. Lỗi cắt tỉa được tính toán sau khi mở rộng cây. C4.5 có thể xử lý các thuộc tính số.

Thuật toán CART (classification and regression trees) do Breiman phát triển vào năm 1984, gồm cả phân lớp và hồi quy cây [11]. Phân lớp trong CART dựa trên việc chia cắt nhị phân các thuộc tính, sử dụng độđo gini để lựa chọn thuộc tính chia cắt. Cắt tỉa cây trong CART được thực hiện bằng cách sử dụng một phần của tập dữ liệu huấn luyện. CART sử dụng cả thuộc tính kiểu số và thuộc tính rõ ràng trong xây dựng cây quyết định và có khả năng xử lý với các thuộc tính lỗi. CART khác với các thuật toán khác, nó sử dụng phân tích hồi quy để giúp quá trình hồi quy của cây. Những đặc điểm phân tích hồi quy được sử dụng trong dựđoán một biến phụ thuộc trong một tập hợp các biến dựđoán trong một khoảng thời gian (Breiman, 1984) [11]. Nó sử dụng nhiều biến độc lập làm tiêu chuẩn chia cắt như chỉ số gini, symgin…và một trong nhiều biến để xác định điểm chia tốt nhất và dữ liệu được sắp xếp ở mọi nút.Các tiêu chí kết hợp chia cắt tuyến tính được sử dụng trong suốt quá trình phân tích hồi quy. Salford systems đã thực hiện phiên bản của CART gọi là CARTR sử dụng mã ban đầu của Breiman (1984) [11]. CARTR mở rộng những đặc tính và khả năng phân lớp và dựđoán chính xác của cây với những dữ liệu thiếu

Trong [13], hai tác giả Matthew N.Anyanwu và Sajjan G.Shiva đã xem xét khoảng 30 bài báo để khảo sát xem trong một loạt các thuật toán của cây quyết định thì thuật toán nào hay được sử dụng nhất.

Thuật toán Tỷ lệ sử dụng CLS 9% ID3 4.5% C4.5 54.55% C5.0 9% CART 40.9% Random Tree 4.5% Random Forest 9%

21

SLIQ 27.27%

……… …… (adsbygoogle = window.adsbygoogle || []).push({});

Hình 2-2: Kết quả của cuộc khảo sát

Theo như cuộc khảo sát trên thì thuật toán C4.5 là thuật toán được sử dụng nhiều nhất, sau đó là thuật toán CART. Thuật toán CART sử dụng độđo gini để xác định điểm chia còn thuật toán C4.5 sử dụng độđo tỷ lệ gain.

Kiểm tra trên CART luôn là nhị phân, nhưng trên C4.5 cho phép hai hay nhiều giá trị thuộc tính. CART cắt nhánh cây dùng một mô hình chi phí phức tạp qua các tham số được ước lượng bằng cách kiểm tra chéo (cross-validation), C4.5 dùng một giải thuật để xác định một giá trị nhận được từ một giới hạn nhị phân đáng tin cậy. Do đó kết quả phân lớp khi sử dụng thuật toán C4.5 sẽ tốt hơn, nhanh hơn thuật toán CART. Trong luận văn này, tôi sử dụng thuật toán C4.5 để xây dựng mô hình cây quyết định cho bài toán phân lớp

2.8. Quá trình to cây quyết định

2.8.1. Kh năng hc và tng quát hóa

Có thể nói đặc trưng cơ bản nhất của cây quyết định là khả năng học và tổng quát hóa. Trong kỹ thuật học máy dùng 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

Hc: là khả năng mà cây quyết định có thể phân loại chính xác những mẫu đã được huấn luyện

Tng quát hóa: là khả năng cây có thể nhận biết được những mẫu chưa từng được huấn luyện. Chính khả năng này tạo nên sức mạnh của mạng

2.8.2. Các phương pháp hun luyn cây

Hun luyn cây: là quá trình tạo cây sao cho khả năng học và tổng quát hóa mà nó đạt được là cao nhất. Bản chất của việc làm này là tính toán lượng thông tin nhận được trên các thuộc tính và chọn thuộc tính tương ứng có lượng thông tin tối đa làm nút phân

22

tách trên cây. Hai kiểu huấn luyện mạng phổ biến là học có giám sát (supervised learing) và học không có giám sát (unsupervised learing)

Hoc có giám sát: là phương pháp học thực hiện một công việc nào đó dưới sự giám sát của một thầy giáo. Học có giám sát yêu cầu nhà phân tích dữ liệu xác định một thuộc tính đích hay biến phụ thuộc. Sau đó xem xét toàn bộ dữ liệu để cố gắng tìm ra những mẫu hoặc các mối quan hệ giữa các thuộc tính độc lập (dự báo) và thuộc tính phụ thuộc. Học có giám sát sử dụng dữ liệu trong quá khứđể xây dựng mô hình và sử dụng mô hình này để phân lớp dữ liệu mới và dự báo các lớp thành viên hay lớp giá trị

Hc không có giám sát: là phương pháp học để thực hiện một công việc nào đó mà không cần bất kỳ sự giám sát nào

Các nghiên cứu và thực nghiệm cho thấy rằng: phương pháp học có giám sát là phương pháp huấn luyện phổ biến và hiệu quảđối với cây quyết định

Một cây quyết định có thểđược học bằng cách lần lượt chia (đệ quy) một tập dữ liệu thành các tập dữ liệu con, một tập con được tạo thành chủ yếu từ các phần tử của cùng một lớp

Tại mỗi nút của cây thì các thuật toán đều tính lượng thông tin nhận được trên các thuộc tính và chọn thuộc tính tương ứng có lượng thông tin tối đa làm nút phân tách trên cây-tức là thuộc tính chia tập mẫu thành các lớp mà mỗi lớp có một phân loại duy nhất hay ít nhất thuộc tính phải có triển vọng đạt được điều này, nhằm đểđạt được cây có ít nút nhưng có khả năng dựđoán cao.

Quá trình đệ quy hoàn thành khi không thể tiếp tục thực hiện việc chia tách được nữa hay đầu ra thực tế của cây gần với đầu ra mong muốn nhất

2.9. Gii thut C4.5

Giải thuật cây quyết định C4.5 là phương pháp học có giám sát. Cho một tập dữ liệu các thuộc tính được định giá trị mà trong đó, mỗi trường hợp được mô tả bằng tập hợp các thuộc tính và thuộc về một trong các lớp riêng biệt, C4.5 học một ánh xạ từ các giá trị thuộc tính đến các lớp học có thểđược áp dụng để phân loại cho dữ liệu mới, trường hợp chưa được biết trước đó

23

C4.5 không chỉ là một giải thuật, mà nhiều hơn nữa còn là bộ các giải thuật: C4.5 cắt nhánh, C4.5 không cắt nhánh.

Do cắt nhánh làm giảm kích thước của cây do loại bỏ bớt các nhánh thừa trong quá trình xây dựng cây do đó làm giảm sự phức tạp của kết quả phân lớp và độ chính xác của dự báo cũng tốt hơn. Nên trong khóa luận này, tôi sử dụng giải thuật C4.5 cắt nhánh

Gii thut phân lp s dng C4.5 ct nhánh

FormTree (T)

(1)ComputerClassFrequency(T) (2)If OneClass or FewCases

Return a leaf;

Create a decision node N; (3)For Each Attribute A

ComputeGain (A); (4)N.test=AttributeWithBestGain; (5)If(N.test is continuous)

Find Threshold; (adsbygoogle = window.adsbygoogle || []).push({});

(6)For Each T’ in the splitting of T (7)If(T’ is Empty) Child of N is a leaf else (8)Child of N = FormTree(T’); (9)ComputeErrors of N; Return N;

24

Giải thuật này có thểđược mô tả theo một cách khác nhau như sau: [5]

Cho một tập S các trường hợp, C4.5 đầu tiên khởi tạo một cây dùng giải thuật chia để trị như:

• Nếu tất cả các trường hợp trong S đều cùng một lớp hay tập S nhỏ, cây chỉ có một nút lá với nhãn là nhãn của đa số trong tập S.

• Ngược lại, chọn kiểm tra dựa trên một thuộc tính có hai hay nhiều giá trị thuộc tính. Thực hiện việc tính toán kiểm tra này xác định được gốc của cây và cùng với sự phân hoạch tập S thành các tập con tương ứng S1, S2,…theo giá trị mỗi thuộc tính của thuộc tính vừa xét chọn. Áp dụng đệ qui cho mỗi tập con vừa được tạo.

• Thông thường có nhiều kiểm tra để có thểđược chọn ở bước cuối này. C4.5 dùng hai tiêu chuẩn heuristics để xếp hạng ưu tiên các thuộc tính được chọn: độ lợi thông tin (information gain) và tỉ lệ gain (gain ratio).

• Các thuộc tính có thể là kiểu loại, kiểu số và các thuộc tính này xác định dạng của việc kiểm tra các giá trị thuộc tính. Cho một thuộc tính A kiểu số có dạng {A ≤h, A>h} với ngưỡng h được xác định bằng cách xếp thứ thự tập S dựa trên thuộc tính A và chọn cắt phân hoạch giữa các giá trị liên tiếp và chọn giá trị cao nhất theo chuẩn đánh giá được dùng như nêu trên. Nếu A là một thuộc tính giá trị rời rạc thì mặc định sẽ có mỗi giá trị thuộc tính cho mỗi bước đánh giá, nhưng một chọn lựa cho phép nhóm hai hay

nhiều tập con với mỗi giá trị thuộc tính cho mỗi bước kiểm tra.

• Cây ban đầu sau đó được cắt nhánh để tránh ‘overfitting’. Giải thuật cắt nhánh dựa trên một ước lượng thiểu số của tỉ lệ các lỗi có liên quan đến tập N trường hợp. Tập E không thuộc về các lớp đa số. Thay vì E/N, giải thuật C4.5 xác định một giới hạn trên của một phân phối nhị thức khi sự kiện E được quan sát trong N mẫu thử, một tham số riêng được sử dụng thường có giá trị là 0.25.

25

trường hợp và E lỗi là N lần tỉ lệ lỗi thiêu số như nêu trên. Cho mỗi cây con, C4.5 thêm các lỗi được ước lượng của các nhánh và so sánh nó với cây con được thay thế bới một lá; nếu kết quả sau cùng không cao hơn kết quả trước đó, cây con bị cắt. Tương tự, C4.5 kiểm tra các lỗi ước lượng nếu cây con được thay bằng một nhánh của nó và khi điều này tồn tại và có ích, cây được sửa đổi lại. Quá trình cắt nhánh được hoàn tất xuyên qua cây.

Tng kết

Như vậy, ta đã biết một cây quyết định gồm những thành phần nào, các độđo, các

Một phần của tài liệu LUẬN VĂN: ỨNG DỤNG MÔ HÌNH HỌC MÁY TIÊN TIẾN NHẰM TĂNG CƯỜNG KHẢ NĂNG DỰ BÁO XU THẾ CỦA THỊ TRƯỜNG CHỨNG KHOÁN ppt (Trang 26 - 74)