THUẬT TOÁN CÂY QUYẾT ĐỊNH (P.4): ƯU & KHUYẾT ĐIỂM, STOPPING & PRUNING METHOD

In bài này

Trở lại với chủ đề về các thuật toán cây quyết định Decision trees, như vậy qua các bài viết trước chúng ta đã tìm hiểu về tổng quan thuật toán cây quyết định là gì, làm quen với các dạng thuật toán CART (phân 2 nhánh) sử dụng công thức Goodness of Split, Gini Index và C4.5 (phân nhiều hơn 2 nhánh) sử dụng công thức Entropy kết hợp với Information gain.

THUẬT TOÁN CÂY QUYẾT ĐỊNH (P.4): ƯU & KHUYẾT ĐIỂM, STOPPING & PRUNING METHOD

Hướng dẫn nghe bài dạng audio

Trong bài viết lần này chúng ta sẽ cùng đi qua một số kiến thức quan trọng khác bao gồm giới thiệu cơ bản về nguyên tắc Stopping với các phương pháp Pruning (ngắt cành) nâng cao tính hiệu quả của mô hình (tránh vấn đề Overfitting), và một vài những ưu điểm, khuyết điểm của các thuật toán cây quyết định nói chung.

Riêng về phần áp dụng thuật toán cây quyết định cho biến mục tiêu là biến định lượng liên tục (continuous variable) hay còn gọi là Regression task/ Regression tree sẽ được chúng tôi trình bày ở bài viết sắp tới cũng là phần cuối cùng của chủ đề Decision trees.

Các bạn có thể tham khảo lại các bài viết trước thông qua các link dưới đây. Lưu ý quan trọng nếu những bạn chưa có kiến thức gì về  Decision trees, cũng như Classification trong Data mining sẽ khó tiếp thu những nội dụng trong bài viết này.

Trước khi đi vào giới thiệu cơ bản và tổng quan về các phương pháp Stopping & Pruning (ngừng phân nhánh, ngắt cành) chúng ta cùng điểm qua một số ưu điểm và khuyết điểm của thuật toán cây quyết định.

Ưu điểm & khuyết điểm của thuật toán cây quyết định

Decision trees là một trong những phương pháp Data mining, cụ thể Classification được sử dụng nhiều nhất trong các dự án nghiên cứu dữ liệu, là phương pháp Supervised learning – học có giám sát hiệu quả nhất vì các đặc điểm của nó và được ứng dụng trong mọi khía của các lĩnh vực khác nhau từ kinh tế đến xã hội, không chỉ riêng khoa học dữ liệu, và là mảng kiến thức quan trọng mà bất kỳ chuyên gia phân tích nào phải có.

Tuy nhiên cũng giống như các công cụ phân tích khác, Decision trees có các ưu điểm và khuyết điểm mà chúng ta phải quan tâm, nhìn lại lần nữa, và lấy đó làm cơ sở để áp dụng vào các dự án khai thác dữ liệu sao cho phù hợp, và hiệu quả.

Ưu điểm:

Khuyết điểm:

Vẫn còn rất nhiều ưu điểm khuyết điểm khác mà chúng tôi không thể trình bày hết trong bài viết này. Các bạn nếu muốn tìm hiểu thêm thì đơn giản là hãy thử thực hành xây dựng mô hình Decision trees cho các bộ dữ liệu khác nhau và tiến hành kiểm tra, đánh giá, các bạn sẽ thấy được vấn đề.

Tiếp theo chúng ta cùng đến với phần quan trọng khác, là phương pháp và là mảng kiến thức không thể thiếu khi xây dựng thuật toán cây quyết định. Đó chính là Stopping Criteria, yếu tố ngừng phân nhánh với Pruning method, phương pháp “ngắt cành” sao cho thuật toán Decision trees mang lại kết quả phân loại tối ưu hơn, mô hình hiệu quả hơn.

Stopping criteria (Pruning method)

Giải thích lại tại sao phải áp dụng 2 phương pháp này.

Nếu xây dựng thuật toán cây quyết định trên bộ dữ liệu phức tạp, và sử dụng các công thức như Gini index, hay Entropy mà chúng tôi đã đề cập ở bài viết trước, và ngay trên phần các khuyết điểm thì cây quyết định luôn hướng đến kết quả phân loại sau cùng, phân loại hết thì mới ngưng, cố gắng tìm ra các node, các tập con “pure” nhất đến khi nào không thể phân loại được tiếp. Nhưng điều này sẽ dẫn đến khả năng cao thuật toán đang cố gắng “thỏa mãn” bộ dữ liệu training, “follow” đến từng biến và thuộc tính trong dữ liệu training, xem xét tất cả mối liên hệ giữa chúng và biến mục tiêu, do đó khi áp dụng cho bộ dữ liệu test hay “unseen data”, dữ liệu mà mô hình không thể thấy được giá trị của biến mục tiêu, mô hình sẽ không thể phân loại chính xác. Thuật ngữ quen thuộc có thể coi là “Overfitting”, mô hình được xây dựng quá khớp với dữ liệu training.

Ngược lại trong trường hợp bộ dữ liệu không cân bằng như đã giải thích ở phần khuyết điểm, hay một số nguyên nhân khác khiến cho mô hình Decision trees quá đơn giản, phân nhánh ít, chiều sâu của cây giảm thì nguy cơ cao mô hình bị “Underfitting” là khá cao, nghĩa là mô hình có thể đã bỏ qua một số khả năng, quy luật phân loại đối tượng dữ liệu theo biến mục tiêu mà đáng lẽ ra phải được khai phá. Vì vậy, chúng ta không thể thực hiện xây dựng mô hình Decision trees một cách vội vã, hoặc tùy tiện phân nhánh hay ngắt cành với mong muốn có được kết quả phân tích như mong đợi. Việc hạn chế các vấn đề “Overfitting” và “Underfitting” là công việc mà có lẽ mỗi chuyên gia phân tích dữ liệu phải quan tâm khi tiến hành thiết lập mô hình Decision trees

Cần lưu ý rằng thứ nhất mục đích của quá trình phân tích dữ liệu hay huấn luyện mô hình phân tích là để làm sao khi áp dụng cho bộ dữ liệu thực tế chúng đem lại kết quả chính xác nhất chứ không phải tập trung vào dữ liệu training, thứ hai là không phải phương pháp Stopping criteria hay Pruning lúc nào cũng đem lại hiệu quả, do đó bất kể mô hình nào thì chúng ta cũng phải sử dụng các phương pháp đánh giá (Classification evaluation method) để kiểm tra và đưa ra những điều chỉnh kịp thời.

Lưu ý trong bài viết này chúng tôi gộp chung Stopping criteria hay Stopping rules với Pruning method để diễn giải tốt hơn, và trong thực tế, ở một số giáo trình về Data mining, các tác giả – là những nhà phân tích dữ liệu, thường đưa Pruning method vào trong Stopping criteria vì cho rằng chúng có cùng một đích khi cả 2 phương pháp đều hướng đến tối ưu mô hình cây quyết định. Tuy nhiên cũng có một số giáo trình tách riêng 2 thuật ngữ này để giải thích khi cho rằng Stopping criteria áp dụng trước và trong khi xây dựng mô hình còn Pruning thì áp dụng sau khi đã thiết lập xong mô hình. Cả 2 hướng tiếp cận đều đúng, nên việc trình bày như thế nào không quan trọng bằng cách chúng ta hiểu được vấn đề như thế nào, cần dùng phương pháp nào cho mô hình.

Phương pháp Stopping criteria có thể kể đến đơn giản như các phương pháp hạn chế kích thước hay chiều sâu của cây quyết định bao gồm giới hạn, hay cung cấp số lượng tập con, hay số lượng mẫu (sample) tối thiểu cho một lần phân nhánh từ một node, giới hạn chiều sâu tối đa của cây quyết định, giới hạn tối đa số node cuối cùng, những node không có phân nhánh tiếp theo (terminal node) hay giới hạn tối đa số thuộc tính được dùng để phân nhánh.

Giới thiệu đến các bạn một số nguyên tắc ngừng phân nhánh thông dụng được tham khảo từ một số tài liệu Data mining:

Các nguyên tắc Stopping trên có thể khiến các bạn khó hiểu, nhưng đều hướng đến yêu cầu xác định trước một ngưỡng giá trị nào đó (threshold), và khi các node, các phân nhánh đạt ngưỡng giá trị này thì cây quyết định sẽ dừng phát triển thêm. Tóm lại chúng ta có thể thiết lập các ngưỡng giá trị và lấy đó làm cơ sở để Stopping:

Các nguyên tắc trên có thể sẽ khó hiểu, các bạn có thể tham khảo thêm ví dụ dưới đây để hiểu rõ thêm.

Nguyên nhân tại sao lại xác định được ngưỡng giá trị như vậy thì đó còn phụ thuộc vào nhiều yếu tố từ các phương pháp tính toán, từ kinh nghiệm của các nhà phân tích có được.

Tiếp theo về phương pháp Pruning. Pruning  là phương pháp giảm kích thước của cây quyết định bằng cách giảm các “section”, các phần không hợp lý trong mô hình cây quyết định, giảm tính phức tạp của quy luật phân loại được khai phá. Pruning thì có 2 phương pháp chính là Pre-pruning (ngắt cành trước khi cây quyết định được hoàn thành, còn gọi là early-stopping) và Post-pruning (ngắt cành sau khi mô hình cây quyết định được hoàn thành). Pre-pruning hiểu đơn giản là ngừng phân nhánh tiếp cho cây quyết định khi nhận thấy thông tin không còn đáng tin cậy, còn Post – pruning là loại bỏ những leaf node, những phân nhánh không cần thiết sau khi thiết lập xong mô hình, để tối ưu hiệu quả cho mô hình cho đến khi không thể tối ưu hơn thì ngừng việc loại bỏ.

Phương pháp Stopping có thể làm giảm hiệu suất của cây quyết định mặc dù nó cố gắng hạn chế khả năng overfitting, nhưng vẫn có nguy cơ underfitting như ví dụ ở trên, khi cây quyết định phân nhánh quá đơn giản. Pruning là phương pháp khá linh hoạt nó cho phép ngắt cây, dừng phân nhánh trong lúc thực hiện xây dựng cây quyết định (gần giống nguyên lý hoạt động của Stopping criteria) hoặc sau khi xây dựng xong cây quyết định như một cách thức “tỉa, chỉnh sửa lại cành”.

Đầu tiên là phương pháp Pre-pruning, tối ưu cây quyết định trước nó được hoàn thành. Nguyên tắc để áp dụng Pre-pruning như sau:

Một số quy tắc “khắt khe” hơn:

Về phương pháp Post – pruning, tức phân nhánh sau khi cây quyết định được hình thành, và chọn ra những phần (subtrees) trên mô hình để tiến hành điều chỉnh. Cụ thể phương pháp pruning bao gồm các bước sau:

  1. Xây dựng cây quyết định hoàn chỉnh cho bộ dữ liệu training, phân loại hết các đối tượng trong tập dữ liệu này theo biến mục tiêu đã cho.
  2. Ước tính độ hiệu quả của cây quyết định lúc này sử dụng các phương pháp đánh giá mô hình phân loại hay những phương pháp khác.
  3. Chọn ra các subtree không hiệu quả và xác định phương thức điều chỉnh “subtree raising” hay “subtree replacement”.
  4. Sử dụng các phương pháp ước tính độ hiệu quả kết hợp với các phương pháp ở bước 2 để đánh giá mô hình sau khi điều chỉnh, đây chính là cơ sở để xem xét liệu pruning có hiệu quả hay không. Lưu ý các phương pháp đánh giá ở bước này khác với bước 2.
  5. Tiếp tục review kết quả và điều chỉnh cho đến khi mức độ hiệu quả được ước tính là cao nhất.

Xét về cách thức điều chỉnh thì Post-pruning có 2 loại:

Các bạn cùng xem qua ví dụ dưới đây để hiểu rõ hơn:

Tóm lại đơn giản là subtree replacement tức là các phương pháp rút gọn mô hình cây quyết định theo hướng từ dưới lên, còn subtree raising là các phương pháp rút gọn mô hình cây quyết định theo hướng từ trên xuống.

Phần quan trọng tiếp theo và cũng là sau cùng của bài viết đó chính là dựa trên những cơ sở yếu tố nào mà chúng ta thực hiện phương pháp pruning? Trong Data mining chúng ta có các phương pháp có thể đánh giá tổng quan độ hiệu quả của mô hình cây quyết định sau khi pruning phổ biến dưới đây. Các phương pháp dựa trên cơ sở xác định mức độ phức tạp của mô hình (complexity) dẫn đến mức độ sai sót khi phân loại là như thế nào, và mô hình cây quyết định nào có độ sai sót thấp nhất sẽ được chọn.

Với e(T,S) là Resubstitution errors và e’(T,S) là Generalized errors, leaves(T) là số node lá có trong mô hình cây quyết định, S là kích thước mẫu.

Cost chính là số lượng bit cần để mã hóa, giá trị càng thấp sẽ càng tốt. Cost(data/model) là số lượng thông tin cần để mã hóa các sai sót của mô hình, Cost(model) là số lượng thông tin cần để mã hóa tất cả các node, và kể cả điều kiện phân nhánh.

Còn rất nhiều phương pháp đánh giá độ hiểu quả của mô hình cây quyết định khi tiến hành pruning như Estimating Statistical Bounds (ESB), Error-Based pruning (MEP), Cost complexity pruning, v.v Các bạn có thể tham khảo thêm ở các tài liệu khác.

Như vậy đến đây là kết thúc bài viết phần 4 về Decision trees, ở bài viết cuối cùng phần 5 chúng ta sẽ cùng đi qua cách thức triển khai thuật toán cây quyết định cho biến mục tiêu là biến định lượng liên tục (Regression trees) và Decision rules cơ sở diễn giải mô hình cây quyết định.

Về chúng tôi, công ty với chuyên môn và kinh nghiệm trong lĩnh vực khai thác dữ liệu sẵn sàng hỗ trợ các công ty đối tác trong việc xây dựng và quản lý hệ thống dữ liệu một cách hợp lý, tối ưu nhất để hỗ trợ cho việc phân tích, khai thác dữ liệu và đưa ra các giải pháp. Các dịch vụ của chúng tôi bao gồm “Tư vấn và xây dựng hệ thống dữ liệu”, “Khai thác dữ liệu dựa trên các mô hình thuật toán”, “Xây dựng các chiến lược phát triển thị trường, chiến lược cạnh tranh”.

 

Có thể bạn chưa biết:

Tư vấn và xây dựng hệ thống big data

Phân tích dữ liệu big data

Tư vấn chiến lược

Training lĩnh vực dữ liệu

DVMS chuyên:
- Tư vấn, xây dựng, chuyển giao công nghệ Blockchain, mạng xã hội,...
- Tư vấn ứng dụng cho smartphone và máy tính bảng, tư vấn ứng dụng vận tải thông minh, thực tế ảo, game mobile,...
- Tư vấn các hệ thống theo mô hình kinh tế chia sẻ như Uber, Grab, ứng dụng giúp việc,...
- Xây dựng các giải pháp quản lý vận tải, quản lý xe công vụ, quản lý xe doanh nghiệp, phần mềm và ứng dụng logistics, kho vận, vé xe điện tử,...
- Tư vấn và xây dựng mạng xã hội, tư vấn giải pháp CNTT cho doanh nghiệp, startup,...

Vì sao chọn DVMS?
- DVMS nắm vững nhiều công nghệ phần mềm, mạng và viễn thông. Như Payment gateway, SMS gateway, GIS, VOIP, iOS, Android, Blackberry, Windows Phone, cloud computing,…
- DVMS có kinh nghiệm triển khai các hệ thống trên các nền tảng điện toán đám mây nổi tiếng như Google, Amazon, Microsoft,…
- DVMS có kinh nghiệm thực tế tư vấn, xây dựng, triển khai, chuyển giao, gia công các giải pháp phần mềm cho khách hàng Việt Nam, USA, Singapore, Germany, France, các tập đoàn của nước ngoài tại Việt Nam,…

Quý khách xem Hồ sơ năng lực của DVMS tại đây >>

Quý khách gửi yêu cầu tư vấn và báo giá tại đây >>

Có thể bạn quan tâm:

Quản lý thu chi kinh doanh, tài chính cá nhân,... trên điện thoại và máy tính bảng.

Đầy đủ tính năng cần thiết và dễ dàng sử dụng. Dùng miễn phí nhưng an toàn tuyệt đối!

Quản lý thu chi kinh doanh.
Quản lý thu chi bán hàng online.
Quản lý thu chi cửa hàng.
Quản lý vay nợ, trả nợ.
Quản lý thanh khoản hợp đồng.
Quản lý tài chính cá nhân.
Quản lý tài chính hộ gia đình.
Quản lý tài khoản tiền mặt, tài khoản ngân hàng.
An toàn, không sợ bị lộ dữ liệu tài chính.
Dễ dàng thao tác mọi lúc mọi nơi.

* Ứng dụng của chúng tôi hoàn toàn miễn phí, chạy offline, trên ứng dụng chỉ có banner quảng cáo nhỏ của Google. Chúng tôi không thu thập dữ liệu người dùng, không cài cắm các phần mềm độc hại, không gây tốn pin,...

Cài đặt và sử dụng hoàn toàn miễn phí và an toàn khi sử dụng cho điện thoại và máy tính bảng Android TẠI ĐÂY >>

hoặc qua QRCODE sau:

quản lý thu chi trên smartphone android

Cài đặt và sử dụng hoàn toàn miễn phí và an toàn khi sử dụng qua file APK, tải file tại đây >>

 Xem hướng dẫn chi tiết từng tính năng tại phần Hướng dẫn >>

 

 

Bằng cách đăng ký kênh và chia sẻ bài, bạn đã cùng DVMS chia sẻ những điều hữu ích