Cây quyết định so với Mạng thần kinh


20

Tôi đang triển khai cấu trúc máy học để thử và dự đoán gian lận trên các hệ thống tài chính như ngân hàng, v.v ... Điều này có nghĩa là có rất nhiều dữ liệu khác nhau có thể được sử dụng để đào tạo mô hình, ví dụ. số thẻ, tên chủ thẻ, số tiền, quốc gia, v.v ...

Tôi gặp khó khăn khi quyết định cấu trúc nào là tốt nhất cho vấn đề này. Tôi có một số kinh nghiệm với các cây quyết định nhưng hiện tại tôi đã bắt đầu đặt câu hỏi liệu một mạng lưới thần kinh sẽ tốt hơn cho loại vấn đề này. Ngoài ra nếu bất kỳ phương pháp nào khác là tốt nhất xin vui lòng khai sáng cho tôi.

Đâu là ưu và nhược điểm của từng cấu trúc và cấu trúc nào sẽ là tốt nhất cho vấn đề này?

Ngoài ra tôi không chắc chắn về thực tế này nhưng tôi nghĩ rằng cây quyết định có lợi thế lớn so với mạng thần kinh về tốc độ thực thi. Điều này rất quan trọng vì tốc độ cũng là một yếu tố chính trong dự án này.

Câu trả lời:


24

Có nhiều sự khác biệt giữa hai điều này, nhưng về mặt thực tế, có ba điều chính cần xem xét: tốc độ, khả năng diễn giải và độ chính xác.

Cây quyết định

  • Nên nhanh hơn một khi được đào tạo (mặc dù cả hai thuật toán có thể đào tạo chậm tùy thuộc vào thuật toán chính xác và số lượng / chiều của dữ liệu). Điều này là do cây quyết định vốn đã "vứt bỏ" các tính năng đầu vào mà nó không thấy hữu ích, trong khi đó mạng lưới thần kinh sẽ sử dụng tất cả chúng trừ khi bạn thực hiện một số lựa chọn tính năng như một bước xử lý trước.
  • Nếu điều quan trọng là phải hiểu những gì mô hình đang làm, cây rất dễ hiểu.
  • Chỉ các hàm mô hình là các phân chia song song trục của dữ liệu, có thể không phải là trường hợp.
  • Bạn có thể muốn chắc chắn để tỉa cây để tránh phù hợp quá mức.

Mạng lưới thần kinh

  • Chậm hơn (cả cho đào tạo và phân loại), và ít diễn giải hơn.
  • Nếu dữ liệu của bạn đến trong một luồng, bạn có thể thực hiện cập nhật gia tăng với độ dốc dốc ngẫu nhiên (không giống như cây quyết định, vốn sử dụng thuật toán học tập theo đợt vốn có).
  • Có thể mô hình hóa các hàm tùy ý hơn (tương tác phi tuyến, v.v.) và do đó có thể chính xác hơn, miễn là có đủ dữ liệu đào tạo. Nhưng nó có thể dễ bị quá phù hợp là tốt.

Bạn có thể muốn thử triển khai cả hai và chạy một số thử nghiệm trên dữ liệu của mình để xem cái nào tốt hơn và thời gian chạy chuẩn. Hoặc, bạn có thể sử dụng một cái gì đó như Weka GUI đã lấy sáng với một mẫu dữ liệu đại diện để kiểm tra cả hai phương pháp.

Cũng có thể là việc sử dụng thuật toán "đóng bao" hoặc "tăng cường" với các cây quyết định sẽ cải thiện độ chính xác trong khi vẫn duy trì một số đơn giản và tốc độ. Nhưng tóm lại, nếu tốc độ và khả năng diễn giải là thực sự quan trọng, thì cây có lẽ là nơi bắt đầu. Mặt khác, nó phụ thuộc và bạn sẽ có một số khám phá thực nghiệm để làm.


Bạn dường như biết một chút về điều này, bạn có bất kỳ kinh nghiệm nào với các mạng bayes hoặc các phương pháp học máy khác có thể giúp giải quyết vấn đề này không?
Topo

1
Tôi đã không hoàn thành nhiều với các mạng Bayes đầy đủ, chủ yếu là các mô hình chủ đề và Bayes ngây thơ. Tôi chưa bao giờ làm việc về các vấn đề phát hiện gian lận, nhưng Bayes ngây thơ hoặc hồi quy logistic cũng có thể là cách tiếp cận hợp lý ở đây.
burr
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.