Tài liệu về thuật toán phân tách tối ưu trong việc trồng cây phân loại


8

Trong ESL , Phần 9.7, có một đoạn nói rằng thời gian tính toán của sự phân chia trong quá trình phát triển của cây phân loại (hoặc hồi quy) thường có tỷ lệ như trong đó là số lượng dự đoán và là số mẫu.pNđăng nhậpNpN

Một cách tiếp cận ngây thơ dẫn đến tỷ lệ và tôi không thể tìm thấy bất kỳ tài liệu tham khảo nào về tài liệu giải thích các chi tiết cho phần tách của thuật toán và cách người ta đạt được tỷ lệ điển hình .pN2 pNđăng nhậpN

Theo cách tiếp cận ngây thơ, sự phân chia tối ưu cho một biến đã cho, sau khi sắp xếp thứ tự các giá trị quan sát, được tìm trong số các trung điểm giữa các giá trị được quan sát và tính toán tổn thất cho mỗi lần phân tách có thể được thực hiện theo thời gian có tỷ lệ như .N-1N

Tôi có thể (và có thể) sẽ nghiên cứu mã nguồn cho một số triển khai mà tôi biết, nhưng một tài liệu tham khảo tài liệu sẽ rất hay đặc biệt là về độ phức tạp của thời gian.-

Câu trả lời:


2

Tôi sẽ đưa ra một câu trả lời khác nhau, vì quá nhiều cho một nhận xét và nó đối xử với một cách tiếp cận tổng quát hơn.

Vì vậy, trong ESL, họ thực sự mô tả thời gian tính toán cho một nhánh và ràng buộc (chính xác hơn là nó trông giống như một sự phân chia và chinh phục đối với tôi).

Chúng tôi biểu thị với N số lượng quan sát và với Ksố lượng nút con, khi chúng ta trồng cây. Tôi cho rằng chúng ta không mất lòng chung chung nếu chúng ta xem xétKđược sửa chữa. Ngoài ra, chúng ta có thể biểu thị vớif(N) thời gian xử lý để tính toán các điểm phân chia tại một nút cho trước.

Vì vậy, chúng ta có thể viết đệ quy công thức cho thời gian thực hiện như:

T(N)= =f(N)+K*T(N/K)
chúng tôi đã xem xét ở đây rằng các nút con phân chia tập dữ liệu đầu vào có kích thước N trong K tập con có kích thước bằng nhau N/K. Chúng tôi biết rằng đây là trường hợp tốt nhất.

Tuy nhiên, chúng ta có thể thấy rằng đây là một ứng dụng nổi tiếng của Định lý Master. Điều này cũng được ghi lại trong cuốn sách CLRS . Tôi có phiên bản thứ 3 và các chi tiết nằm ở phần 4.5 và bằng chứng là ở phần tiếp theo. Tôi không nhớ rõ các chi tiết, nhưng tôi nhớ không quá phức tạp nếu người ta mở rộng đệ quy và nhóm một số thuật ngữ lại với nhau.

Tuy nhiên, điều quan trọng đối với trường hợp này là khi nào f(N)= =Ôi(N) - thời gian tuyến tính, thời gian kết quả của thuật toán là T(N)= =Ôi(NtôiogN). Thời gian này được tính cho một biến đầu vào, do đó, tổng thời gian của chúng tôi choP các biến sẽ là Ôi(PNtôiogN)

Thời gian này có thể đạt được để trồng cây, nếu tất cả các đầu vào được sắp xếp ban đầu trong Ôi(PNtôiogN)và việc tìm giá trị chia tách mất thời gian tuyến tính trên đầu vào được sắp xếp này. Ở đây chúng ta có thể áp dụng thuật toán phương sai trực tuyến, như tôi đã đề cập trong câu trả lời trước của tôi choL2= =1N(y-y^)2. Dành choL1= =1N|y-y^|thậm chí còn dễ dàng hơn để tìm trung bình. Tôi thú nhận rằng tôi chưa bao giờ thử một số chức năng mất khác cho cây.

Tuy nhiên, lưu ý rằng Định lý chính áp dụng cho trường hợp tốt nhất nếu các phần chia có kích thước bằng nhau. Trường hợp xấu nhất là khi sự phân chia rất mất cân bằng. Ở đó, người ta có thể áp dụng một trường hợp khác của Định lý chủ và thời gian sẽ trở thànhÔi(PN2).

Như một kết luận, tôi giả định rằng các tác giả của ESL sử dụng thuật ngữ này theo cách được sử dụng để mô tả thuật toán sắp xếp nhanh. Thông thường sắp xếp nhanh chóng choÔi(NtôiogN) thời gian chạy, có trường hợp xấu nhất Ôi(N2), đối với một số thiết lập dữ liệu cụ thể.

Tôi hy vọng nó sẽ giúp.


2

Xem câu trả lời của tôi từ một câu hỏi khác ở đây . Mặc dù tôi không có tài liệu tham khảo trên giấy, nhưng bạn có thể tự tìm thấy điều đó chop đầu vào số có độ dài N bạn phải:

  • lặp đi lặp lại trên tất cả p đầu vào - Ôi(p)
  • sắp xếp tăng dần từng đầu vào - Ôi(Ntôiog(N))
  • tính 2 phương sai đang chạy một bắt đầu từ trái và một bắt đầu từ phải trong thời gian tuyến tính - Ôi(N)

Thời gian chi phối cho mỗi thuộc tính là thời gian sắp xếp, do đó chúng ta có Ôi(pNtôiog(N)).


+1, đây là một câu trả lời hay, mà tôi không nghĩ tới, nhưng nó đoán trước một mất mát bậc hai. Tôi không nghĩ rằng điều này có thể được khái quát hóa cho (tất cả) các hàm mất mát phổ biến khác được sử dụng để phân loại cây. Tôi cho rằng điển hình pNđăng nhập(N), nhưng theo trường hợp xấu nhất của ESL pN2, hành vi đến từ một thuật toán liên kết chi nhánh, nhưng tôi không tìm thấy bất kỳ xác nhận nào về điều này.
NRH
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.