8

Tôi gặp sự cố phân loại trong tay, mà tôi muốn giải quyết bằng thuật toán học máy (Bayes hoặc Markovian có thể, câu hỏi độc lập với trình phân loại sẽ được sử dụng) . Với một số trường hợp đào tạo, tôi đang tìm cách để đo lường hiệu suất của một trình phân loại đã được triển khai, với việc xem xét vấn đề overfitting dữ liệu.Đo hiệu suất của thuật toán phân loại

Tức là: cho N [1..100] mẫu đào tạo, nếu tôi chạy thuật toán đào tạo trên mỗi một mẫu và sử dụng các mẫu rất giống nhau này để đo thể lực, nó có thể bị kẹt vào vấn đề overfitting dữ liệu - trình phân loại sẽ biết câu trả lời chính xác cho các trường hợp đào tạo, mà không có nhiều sức mạnh dự đoán, khiến kết quả tập thể dục vô dụng.

Giải pháp rõ ràng sẽ phân tách các mẫu được gắn thẻ tay vào đào tạo và kiểm tra mẫu; và tôi muốn tìm hiểu về các phương pháp chọn các mẫu có ý nghĩa thống kê cho việc đào tạo.

Giấy trắng, con trỏ sách và PDF được đánh giá cao!

Trả lời

14

Bạn có thể sử dụng 10-fold Cross-validation cho việc này. Tôi tin rằng đó là cách tiếp cận khá chuẩn để đánh giá hiệu suất phân loại thuật toán.

Ý tưởng cơ bản là chia các mẫu học của bạn thành 10 tập hợp con. Sau đó, sử dụng một tập hợp con cho dữ liệu thử nghiệm và các tập hợp con khác cho dữ liệu đào tạo. Lặp lại điều này cho từng tập hợp con và tính hiệu suất trung bình ở cuối.

+3

http://en.wikipedia.org/wiki/Root-mean-square_error_of_cross-validation#K-fold_cross-validation (liên kết trực tiếp đến xác thực chéo k trong vòng bài viết wiki bạn đã liên kết) – JoeCool

2

Như ông Brownstone đã nói 10 lần xác nhận chéo có lẽ là cách tốt nhất để đi. Gần đây tôi đã phải đánh giá hiệu suất của một số phân loại khác nhau cho điều này tôi đã sử dụng Weka. Trong đó có một API và một tải các công cụ cho phép bạn dễ dàng kiểm tra hiệu suất của nhiều phân loại khác nhau.

Các vấn đề liên quan