TL; DR: Đưa ra một tập dữ liệu hình ảnh lớn (khoảng 36 GiB pixel thô) của dữ liệu chưa được gắn nhãn, làm cách nào tôi có thể phân cụm các hình ảnh (dựa trên các giá trị pixel) mà không biết số lượng cụm K
bắt đầu bằng?
Tôi hiện đang làm việc trong một dự án học tập không giám sát để phân cụm hình ảnh; hãy nghĩ về nó như phân cụm MNIST với các giá trị pixel RGB 16x16x3, chỉ có điều tôi có khoảng 48 triệu ví dụ mà tôi cần phân cụm. Không biết danh tính của họ, tôi biết rằng một số hình ảnh chắc chắn có liên quan vì chúng đến từ cùng một nguồn, nhưng - nói - tôi cũng không biết một cách thích hợp K
để "chỉ" chạy K-nghĩa trên bộ .
Tôi đã nghĩ đến việc thực hiện một số nhúng 2D thủ công bằng cách sử dụng t-SNE và sau đó phân cụm thủ công trong không gian nhúng (một nhiệm vụ đơn giản hơn so với thực hiện thủ công trong 16x16x3
-d), nhưng tất cả các triển khai t-SNE tôi có thể thấy cần phải tải dữ liệu vào bộ nhớ. Tôi cũng đã nghĩ về lần đầu tiên chạy t-SNE, sau đó là K-nghĩa trên dữ liệu nhúng t-SNE, nhưng nếu bạn nhìn vào kết quả của t-SNE từ MNIST, thì rõ ràng các cụm này có thể và có thể sẽ bị biến dạng và sai lệch theo cách phi tuyến tính. Vì vậy, ngay cả khi tôi biết K
, các cụm có thể sẽ bị tách ra. Sử dụng khoảng cách Mahalanobis cho phương tiện K có thể là một điều thú vị, nhưng vì tôi không biết hiệp phương sai bắt đầu, nên dường như cũng là một ngõ cụt.
Hiện tại tôi đang cố gắng nếu tôi có thể chạy nén PCA trên các ví dụ để ít nhất lấy lại bộ nhớ cho t-SNE, nhưng điều đó có thể hoặc không thể hoạt động ... hiện tại không thể nói.
Ai đó có thể cho tôi một con trỏ đi đúng hướng để làm điều này ( lý tưởng , nhưng chắc chắn không cần thiết trong bối cảnh Python, TensorFlow hoặc Apache Beam / Dataflow)? Tôi đã làm việc về việc chuyển một Phát trực tuyến / Bóng K - có nghĩa là trước đây có một đặc tính tốt là tạo ra các cụm mới "theo yêu cầu", nhưng trước khi tôi bắt đầu thực hiện lại điều đó trong Python / TensorFlow / Dataflow, tôi đã hy vọng rằng ai đó có thể cho tôi một số ý tưởng bắt đầu từ đâu hoặc những gì cần tránh.