Th ut toán C4.5

Một phần của tài liệu Nghiên cứu kỹ thuật cây quyết định và xây dựng ứng dụng hỗ trợ học sinh trường THPT võ nguyên giáp chọn nghề (Trang 40 - 43)

6. Cấu trúc luận văn

1.3.3.3. Th ut toán C4.5

Thuật toán C4.5 do Quilan phát triển vào năm 1996. Thuật toán đƣợc cải tiến từ thuật toán ID3 với việc cho phép xử lý trên tập dữ liệu có các thuộc tính số và làm việc đƣợc với tập dữ liệu bị thiếu và nhiễu.

Hai độ đo đƣợc sử dụng trong C4.5 là information gain gain ratio.

RF(Cj, S) biểu diễn tần xuất (Relative Frequency) các case trong S thuộc về lớp Cj.

RF (Cj, S) = |Sj| / |S|

Với |Sj| là kích thƣớc tập các case có giá trị phân lớp là Cj. |S| là kích thƣớc tập dữ liệu đào tạo.

Chỉ số thông tin cần thiết cho sự phân lớp: I(S) với S là tập cần xét sự phân phối lớp đƣợc tính bằng:

I(S) = ∑ ( ) 𝑜

Sau khi S đƣợc phân chia thành các tập con S1, S2,…, St bởi test B thì

information gain đƣợc tính bằng:

Test B sẽ đƣợc chọn nếu có G(S, B) đạt giá trị lớn nhất.

Gain(S,B) = I(S) - ∑ | | | |

𝐼

Tuy nhiên có một vấn đề khi sử dụng G(S, B) ƣu tiên test có số lƣợng lớn kết quả, ví dụ G(S, B) đạt cực đại với test mà từng Si chỉ chứa một case đơn. Tiêu chuẩn gain ratio giải quyết đƣợc vấn đề này bằng việc đƣa vào thông tin tiềm năng (potential information) của bản thân mỗi phân hoạch

P(S,B) = -∑ | | | |

| | ||

Test B sẽ đƣợc chọn nếu có tỉ số giá trị gain ratio = Gain(S, B) / P(S, B) lớn nhất.

Trong mô hình phân lớp C4.5 release8, có thể dùng một trong hai loại chỉ số Information Gain hay Gain ratio để xác định thuộc tính tốt nhất. Trong đó

Gain ratio là lựa chọn mặc định.

Với thuộc tính liên tục

Xử lý thuộc tính liên tục đòi hỏi nhiều tài nguyên tính toán hơn thuộc tính rời rạc. Gồm các bƣớc sau:

(1)Kỹ thuật Quick sort đƣợc sử dụng để sắp xếp các case trong tập dữ liệu đào tạo theo thứ tự tăng dần hoặc giảm dần các giá trị của thuộc tính liên tục V đang xét. Đƣợc tập giá trị V = {v1, v2, …, vm}

(2)Chia tập dữ liệu thành hai tập con theo ngƣỡng θi = (vi + vi+1)/2 nằm giữa hai giá trị liền kề nhau vi và vi+1. Test để phân chia dữ liệu là test nhị phân

dạng V <= θi hay V > θi. Thực thi test đó ta đƣợc hai tập dữ liệu con: V1 = {v1, v2, …, vi} và V2 = {vi+1, vi+2, …, vm}.

(3)Xét (m-1) ngƣỡng θi có thể có ứng với m giá trị của thuộc tính V bằng cách tính Information gain hay Gain ratio với từng ngƣỡng đó. Ngƣỡng

có giá trị của Information gain hay Gain ratio lớn nhất sẽ đƣợc chọn làm ngƣỡng phân chia của thuộc tính đó.

Việc tìm ngƣỡng (theo cách tuyến tính nhƣ trên) và sắp xếp tập training theo thuộc tính liên tục đang xem xét đôi khi gây ra thắt cổ chai vì tốn nhiều tài nguyên tính toán.

Cơ chế xử lý những giá trị thiếu trong C4.5

Giá trị thiếu của thuộc tính là hiện tƣợng phổ biến trong dữ liệu, có thể do lỗi khi nhập các bản ghi vào cơ sở dữ liệu, cũng có thể do giá trị thuộc tính đó đƣợc đánh giá là không cần thiết đối với case cụ thể.

Trong quá trình xây dựng cây từ tập dữ liệu đào tạo S, B là test dựa trên thuộc tính Aa với các giá trị đầu ra là b1, b2, ..., bt. Tập S0 là tập con các case trong S mà có giá trị thuộc tính Aa không biết và Si biểu diễn các case với đầu ra là bi trong test B. Khi đó độ đo information gain của test B giảm vì chúng ta không học đƣợc gì từ các case trong S0.

Gain(S,B) = | | | |𝐺𝑎𝑖𝑛

Tƣơng ứng với G(S, B), P(S, B) cũng thay đổi,

P(S,B) = | |

| | | | || ∑ | | || | | ||

Hai thay đổi này làm giảm giá trị của test liên quan đến thuộc tính có tỉ lệ giá trị thiếu cao.

Nếu test B đƣợc chọn, C4.5 không tạo một nhánh riêng trên cây quyết định cho S0. Thay vào đó, thuật toán có cơ chế phân chia các case trong S0 về vác tập con Si là tập con mà có giá trị thuộc tính test xác định theo trong số |Si|/ |S – S0|.

+ Tránh quá vừa d liệu

―Quá vừa‖ dữ liệu là một khó khăn đáng kể đối với học bằng cây quyết định và những phƣơng pháp học khác. Quá vừa dữ liệu là hiện tƣợng: nếu không có các case xung đột (là những case mà giá trị cho mọi thuộc tính là giống nhau nhƣng giá trị của lớp lại khác nhau) thì cây quyết định sẽ phân lớp chính xác toàn bộ các case trong tập dữ liệu đào tạo. Đôi khi dữ liệu đào tạo lại chứa những đặc tính cụ thể, nên khi áp dụng cây quyết định đó cho những tập dữ liệu khác thì độ chính xác không còn cao nhƣ trƣớc.

Có một số phƣơng pháp tránh ―quá vừa‖ dữ liệu trong cây quyết định:

 Dừng phát triển cây sớm hơn bình thƣờng, trƣớc khi đạt tới điểm phân lớp hoàn hảo tập dữ liệu đào tạo. Với phƣơng pháp này, một thách thức đặt ra là phải ƣớc lƣợng chính xác thời điểm dừng phát triển cây.

 Cho phép cây có thể ―quá vừa‖ dữ liệu, sau đó sẽ cắt, tỉa cây

Mặc dù phƣơng pháp thứ nhất có vẻ trực quan hơn, nhƣng với phƣơng pháp thứ hai thì cây quyết định đƣợc sinh ra đƣợc thử nghiệm chứng minh là thành công hơn trong thực tế, vì nó cho phép các tƣơng tác tiềm năng giữa các thuộc tính đƣợc khám phá trƣớc khi quyết định xem kết quả nào đáng giữ lại. C4.5 sử dụng kỹ thuật thứ hai để tránh ―quá vừa‖ dữ liệu.

+ Chuyển đổi cây quyết định sang lu t

Việc chuyển đổi từ cây quyết định sang luật sản xuất (production rules) dạng if-then tạo ra những quy tắc phân lớp dễ hiểu, dễ áp dụng. Các mô hình phân lớp biểu diễn các khái niệm dƣới dạng các luật sản xuất đã đƣợc chứng minh là hữu ích trong nhiều lĩnh vực khác nhau, với các đòi hỏi về cả độ chính xác và tính hiểu đƣợc của mô hình phân lớp.

Giai đoạn chuyển đổi từ cây quyết định sang luật bao gồm 4 bƣớc:

(1)Cắt tỉa: Luật khởi tạo ban đầu là đƣờng đi từ gốc đến lá của cây quyết

định. Một cây quyết định có l lá thì tƣơng ứng tập luật sản xuất sẽ có l

luật khởi tạo. Từng điều kiện trong luật đƣợc xem xét và loại bỏ nếu không ảnh hƣởng tới độ chính xác của luật đó. Sau đó, các luật đã cắt tỉa đƣợc thêm vào tập luật trung gian nếu nó không trùng với những luật đã có.

(2)Lựa chọn: Các luật đã cắt tỉa đƣợc nhóm lại theo giá trị phân lớp, tạo

nên các tập con chứa các luật theo lớp. Sẽ có k tập luật con nếu tập training có k giá trị phân lớp. Từng tập con trên đƣợc xem xét để chọn ra một tập con các luật mà tối ƣu hóa độ chính xác dự đoán của lớp gắn với tập luật đó.

(3)Sắp xếp: Sắp xếp K tập luật đã tạo ra từ trên bƣớc theo tần số lỗi. Lớp

mặc định đƣợc tạo ra bằng cách xác định các case trong tập training không chứa trong các luật hiện tại và chọn lớp phổ biến nhất trong các case đó làm lớp mặc định.

(4)Ước lượng, đánh giá: Tập luật đƣợc đem ƣớc lƣợng lại trên toàn bộ tập

training, nhằm mục đích xác định xem liệu có luật nào làm giảm độ chính xác của sự phân lớp. Nếu có, luật đó bị loại bỏ và quá trình ƣớc

lƣợng đƣợc lặp cho đến khi không thể cải tiến thêm.

Thuật toán C4.5 giải quyết đƣợc vấn đề làm việc với thuộc tính liên tục, thuộc tính có nhiều giá trị và vấn đề dữ liệu bị thiếu hoặc bị nhiễu. C4.5 thực hiện phân ngƣỡng thuộc tính liên tục bằng phép tách nhị phân và dựa vào đại lƣợng GainRatio để giải quyết đƣợc vấn đề thuộc tính có nhiều giá trị. Ngoài ra, trong C4.5 còn có giải thuật cắt tỉa nhánh không phù hợp. Yếu điểm của thuật toán này là làm việc không hiệu quả với CSDL lớn.

1.3.4. Cắt tỉa cây quyết định

Để giải quyết vấn đề dữ liệu bị nhiễu hoặc bị thiếu không đủ để đại diện một quy luật/ tình trạng Over fitting, ngƣời ta sử dụng phƣơng pháp cắt tỉa cây.

Một phần của tài liệu Nghiên cứu kỹ thuật cây quyết định và xây dựng ứng dụng hỗ trợ học sinh trường THPT võ nguyên giáp chọn nghề (Trang 40 - 43)

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

(91 trang)