Thuộc tính (nhãn cần dự đoán là gì)
Bạn có biết rằng trong cuộc sống hàng ngày, bạn vẫn đang sử dụng phương pháp Decision Tree Decision Tree Show Bạn sẽ xác định: Nếu là ngày thường thì gia đình bạn sẽ sử dụng hết 1 lít sữa, còn cuối tuần thì sẽ là 1,5 lít. Như vậy, dựa theo ngày, bạn sẽ quyết định lượng thực phẩm cần mua cho gia đình bạn. Đó chính là một dạng của cây quyết định nhị phân. Khái niệm Cây quyết định (Decision Tree)Cây quyết định (Decision Tree Decision Tree Tóm lại, cho dữ liệu về các đối tượng gồm các thuộc tính cùng với lớp (classes) của nó, cây quyết định sẽ sinh ra các luật để dự đoán lớp của các dữ liệu chưa biết. Ta hãy xét một ví dụ 1 kinh điển khác về cây quyết định. Giả sử dựa theo thời tiết mà các bạn nam sẽ quyết định đi đá bóng hay không? Những đặc điểm ban đầu là:
Dựa vào những thông tin trên, bạn có thể xây dựng được mô hình như sau: Mô hình cây quyết định Dựa theo mô hình trên, ta thấy: Nếu trời nắng, độ ẩm bình thường thì khả năng các bạn nam đi chơi bóng sẽ cao. Còn nếu trời nắng, độ ẩm cao thì khả năng các bạn nam sẽ không đi chơi bóng. Thuật toán Cây quyết định (Decision Tree)Thuật toán ID3Giờ chúng ta hãy cùng tìm hiểu cách thức hoạt động của thuật toán cây quyết định thông qua thuật toán đơn giản ID3. ID3 (J. R. Quinlan 1993) sử dụng phương pháp tham lam tìm kiếm từ trên xuống thông qua không gian của các nhánh có thể không có backtracking. ID3 sử dụng Entropy Entropy Ta xét ví dụ 2: Bạn muốn xem xét sự thành công của một bộ phim thông qua hai yếu tố: diễn viên chính của phim và thể loại phim:
Giả sử, bạn muốn xác định độ thành công của bộ phim chỉ trên 1 yếu tố, bạn sẽ có hai cách thực hiện sau: qua diễn viên chính của phim và qua thể loại phim. Qua sơ đồ, ta có thể thấy rõ ràng ràng, với phương pháp thứ nhất, ta phân loại được rõ ràng, trong khi phương pháp thứ hai, ta có một kết quả lộn xộn hơn. Và tương tự, cây quyết định sẽ thực hiện như trên khi thực hiện việc chọn các biến. Có rất nhiều hệ số khác nhau mà phương pháp cây quyết định sử dụng để phân chia. Dưới đây, tôi sẽ đưa ra hai hệ số phổ biến là Information Gain và Gain Ratio (ngoài ra còn hệ số Gini). Entropy trong Cây quyết định (Decision Tree)Entropy Entropy Với một phân phối xác suất của một biến rời rạcxcó thể nhậnngiá trị khác nhaux1,x2,,xn. Giả sử rằng xác suất đểxnhận các giá trị này làpi=p(x=xi). Ký hiệu phân phối này làp=(p1 ,p2 ,,pn). Entropy Entropy H(p)= nn=1 pi log(pi) Giả sử bạn tung một đồng xu, entropy Entropy H = -[0.5 ln(0.5) + 0.5 ln(0.5)] Hàm Entropy Entropy Entropy trong học máy và lý thuyết thông tin nói chung là thước đo tính ngẫu nhiên của thông tin đang được xử lý. Entropy càng cao, càng khó rút ra bất kỳ kết luận nào từ thông tin đó. Tung một đồng xu là một ví dụ về thông tin ngẫu nhiên, trong trường hợp này Entropy đạt cực đại bằng 1, không có kết luận nào giúp dự đoán được kết quả tung đồng xu. Hình vẽ trên biểu diễn sự thay đổi của hàm entropy Entropy
Information Gain trong Cây quyết định (Decision Tree)Information Gain dựa trên sự giảm của hàm Entropy Entropy Để xác định các nút trong mô hình cây quyết định, ta thực hiện tính Infomation Gain tại mỗi nút theo trình tự sau: Bước 1: Tính toán hệ số Entropy Entropy H(S)= cc=1 (Nc/N) log(Nc/N) Bước 2: Tính hàm số Entropy Entropy H(x, S) = Kk=1 (mk / N) * H(Sk ) Bước 3: Chỉ số Gain Information được tính bằng: G(x, S) = H(S) H(x,S) Với ví dụ 2 trên, ta tính được hệ số Entropy Entropy Entropy Entropy Hệ số Entropy Entropy Entropy Entropy Ta có thể tính hệ số Information Gain như sau: Information Gain = 0.68 (4*0.56 + 3*0.63)/7 = 0.09 Hệ số Entropy Entropy Entropy Entropy Hệ số Information Gain: Information Gain = 0.68 (3*0.63 + 2*0.69 + 2*0.69)/7= 0.02 So sánh kết quả, ta thấy nếu chia theo phương pháp 1 thì ta được giá trị hệ số Information Gain lớn hơn gấp 4 lần so với phương pháp 2. Như vậy, giá trị thông tin ta thu được theo phương pháp 1 cũng nhiều hơn phương pháp 2. Thuật toán C4.5Thuật toán C4.5 là thuật toán cải tiến của ID3. Trong thuật toán ID3, Information Gain được sử dụng làm độ đo. Tuy nhiên, phương pháp này lại ưu tiên những thuộc tính có số lượng lớn các giá trị mà ít xét tới những giá trị nhỏ hơn. Do vậy, để khắc phục nhược điểm trên, ta sử dụng độ đo Gain Ratio (trong thuật toán C4.5) như sau: Đầu tiên, ta chuẩn hoá information gain với trị thông tin phân tách (split information): Trong đó: Split Info được tính như sau: Giả sử chúng ta phân chia biến thành n nút cón và Di đại diện cho số lượng bản ghi thuộc nút đó. Do đó, hệ số Gain Ratio sẽ xem xét được xu hướng phân phối khi chia cây. Áp dụng cho ví dụ trên và với cách chia thứ nhất, ta có Split Info = ((4/7)*log2(4/7)) ((3/7)*log2(3/7)) = 0.98 Gain Ratio = 0.09/0.98 = 0.092 Tiêu chuẩn dừngTrong các thuật toán Decision tree Decision Tree Để tránh trường họp này, ta có thể dừng cây theo một số phương pháp sau đây:
Ngoài ra, ta còn có phương pháp cắt tỉa cây. Một số thuật toán khácNgoài ID3, C4.5, ta còn một số thuật toán khác như:
Ưu/nhược điểm của thuật toán cây quyết địnhƯu điểm Cây quyết định là một thuật toán đơn giản và phổ biến. Thuật toán này được sử dụng rộng rãi bới những lợi ích của nó:
Nhược điểm Kèm với đó, cây quyết định cũng có những nhược điểm cụ thể:
Cài đặt cây quyết định với sklearnTrên đây là những điểm lưu ý khi bạn thực hiện thuật toán cây quyết định. Hãy theo dõi https://trituenhantao.io/ để có thêm những bài viết hay mới. Share this:Bài viết có liên quan
Phản hồi hoàn thiện nội dung
|