K-nghĩa là: Có bao nhiêu lần lặp trong các tình huống thực tế?


10

Tôi không có kinh nghiệm trong ngành khai thác dữ liệu hoặc dữ liệu lớn vì vậy rất thích nghe bạn chia sẻ một số kinh nghiệm.

Có phải mọi người thực sự chạy k-mean, PAM, CLARA, v.v. trên một tập dữ liệu thực sự lớn? Hoặc họ chỉ chọn ngẫu nhiên một mẫu từ nó? Nếu họ chỉ lấy một mẫu của tập dữ liệu, kết quả có đáng tin không nếu tập dữ liệu không được phân phối bình thường?

Trong các tình huống thực tế khi chạy các thuật toán này, chúng ta có thể cho biết bao nhiêu lần lặp lại thông thường cho đến khi hội tụ xảy ra không? Hoặc số lần lặp luôn tăng theo kích thước dữ liệu?

Tôi đang hỏi điều này bởi vì tôi đang nghĩ đến việc phát triển một cách tiếp cận để chấm dứt các thuật toán lặp trước khi hội tụ, nhưng kết quả vẫn được chấp nhận. Tôi nghĩ rằng nó đáng để thử nếu số lần lặp là hơn 1.000, vì vậy chúng ta có thể tiết kiệm một số chi phí tính toán và thời gian. Bạn nghĩ sao?


number of iterations always grow with the data sizeKhông cần thiết.
ttnphns

Có tồn tại các tiêu chí khác nhau để dừng lặp lại trong K-nghĩa. Thật thú vị, chỉ đơn giản là đặt số lần lặp thành một giá trị cố định (giả sử, 10 hoặc 20) là một trong những cách hợp lý. K-mean được dành riêng để trở thành một phương pháp nhanh, do đó, nếu bạn muốn kiểm tra tiêu chí hội tụ sau mỗi lần lặp thì tiêu chí đó phải dễ / nhanh để tính toán.
ttnphns

1
Có cách nào "khoa học" để xác định số lần lặp tối đa được thực hiện không?
foo

Nhận xét cuối cùng của bạn là một câu hỏi hay. Thành thật mà nói, tôi không biết. có thể người khác trả lời nó
ttnphns

Câu trả lời:


6
  1. K-nghĩa là rẻ. Bạn có thể đủ khả năng để chạy nó cho nhiều lần lặp.

  2. Có thuật toán xấu (tiêu chuẩn) và thuật toán tốt. Đối với các thuật toán tốt, các lần lặp lại sau có chi phí thường thấp hơn nhiều so với 1% của lần lặp đầu tiên.

  3. Có những triển khai thực sự chậm. Đừng sử dụng chúng.

  4. K-có nghĩa là dữ liệu "lớn" không tồn tại. Bởi vì nó chỉ hoạt động trên dữ liệu vector chiều thấp. Bạn sẽ không vượt quá bộ nhớ của một máy chủ hiện đại với dữ liệu đó. có, dữ liệu lớn hơn tồn tại - nhưng bạn không thể sử dụng phương tiện k nói trên một tháng dữ liệu Twitter, vì nó sẽ không cung cấp cho bạn bất cứ điều gì hữu ích.

Với việc triển khai tốt, trên một máy chủ hiện đại, bộ dữ liệu lớn nhất bạn có thể tìm thấy trong đó k-mean vẫn cho kết quả hữu ích có thể cần ít hơn 1 phút để tính toán cho đến khi hội tụ. Vậy tại sao phải suy nghĩ về một giới hạn lặp?


1
Đồng ý. Trong bài báo này ( Có thể mở rộng K-Means bằng cách truy xuất được xếp hạng ), các tác giả đã nói rằng K-nghĩa hội tụ sau 20-50 lần lặp trong tất cả các tình huống thực tế, ngay cả trên các bộ dữ liệu chiều cao khi họ thử nghiệm. Vì vậy, ngoài K-mean, bạn có biết thuật toán nào có số lần lặp rất lớn cho đến khi hội tụ không?
foo

Có lẽ đào tạo một SVM? Tôi tin rằng nó là lặp đi lặp lại, cố gắng tìm ra các vectơ hỗ trợ tốt nhất (và nhỏ nhất, vì dự đoán phụ thuộc vào điều này!) Các vectơ hỗ trợ.
Có QUIT - Anony-Mousse

Giải pháp rõ ràng để chạy phương tiện k trên các bộ dữ liệu kích thước cao là chạy PCA hoặc phương pháp giảm kích thước khác trước, sau đó chạy phương tiện k
nico
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.