Có trường hợp không có k tối ưu trong k-mean?


11

Điều này đã ở trong tâm trí tôi ít nhất một vài giờ. Tôi đã cố gắng tìm một k tối ưu cho đầu ra từ thuật toán k-mean (với số liệu tương tự cosine ) nên cuối cùng tôi đã tính toán biến dạng là một hàm của số cụm. Bộ dữ liệu của tôi là một bộ sưu tập 800 tài liệu trong một không gian 600 chiều.

Theo những gì tôi hiểu, việc tìm điểm đầu gối hoặc điểm khuỷu tay trên đường cong này sẽ cho tôi biết ít nhất là xấp xỉ số lượng cụm tôi cần để đưa dữ liệu của mình vào. Tôi đặt đồ thị bên dưới. Điểm tại đó đường thẳng đứng màu đỏ được vẽ bằng cách sử dụng phép thử đạo hàm thứ hai tối đa . Sau khi làm tất cả những điều này, tôi đã bị mắc kẹt ở một điều đơn giản hơn nhiều: biểu đồ này cho tôi biết gì về tập dữ liệu?

Nó có nói với tôi rằng nó không đáng để phân cụm và các tài liệu của tôi thiếu cấu trúc hoặc tôi cần đặt một k rất cao? Mặc dù vậy, có một điều kỳ lạ là ngay cả với mức k thấp, tôi vẫn thấy các tài liệu tương tự được nhóm lại với nhau nên tôi không chắc tại sao mình lại có đường cong này. Có suy nghĩ gì không?

nhập mô tả hình ảnh ở đây


2
Điều tôi thực sự không hiểu là làm thế nào bạn có thể sử dụng phân cụm k-nghĩa với đầu vào ma trận gần (và đó là cosine!). K-có nghĩa là phân cụm cần dữ liệu thô (biến đối tượng X) và hoạt động bên trong trên khoảng cách euclide.
ttnphns

2
@ttnphns: Tôi hy vọng tôi hiểu quan điểm của bạn nhưng theo hiểu biết tốt nhất của tôi, chúng ta có thể sử dụng bất kỳ số liệu khoảng cách nào với k-mean không? Tôi đang làm điều này bằng Python nhưng có vẻ như thậm chí còn có một thư viện dành cho R: cran.r-project.org/web/packages/skmeans/index.html Đầu vào không phải là ma trận gần mà là terms x documentthu được sau khi thực hiện vectơ số ít phân hủy. Xin hãy sửa tôi nếu tôi nhầm.
Truyền thuyết

Hình cầu k-có nghĩa là cụm, dựa trên thước đo cosine, là mới đối với tôi, tôi phải thừa nhận. Tôi hy vọng sẽ đọc thêm về nó một ngày.
ttnphns

@ttnphns: Cảm ơn bạn đã quay trở lại. Chỉ muốn chắc chắn rằng tôi đã không sử dụng táo và cam với nhau :)
Truyền thuyết

Lp

Câu trả lời:


12

Trong hầu hết các tình huống, tôi có thể nghĩ rằng về cơ bản cốt truyện có nghĩa là không có cấu trúc cụm trong dữ liệu. Tuy nhiên, việc phân cụm ở các kích thước rất cao như điều này là khó khăn vì đối với chỉ số khoảng cách Euclide, tất cả các khoảng cách có xu hướng giống như số lượng kích thước tăng lên. Xem trang Wikipedia này để tham khảo một số bài viết về chủ đề này. Nói tóm lại, nó có thể chỉ là vấn đề chiều cao của bộ dữ liệu là vấn đề.

Đây thực chất là "lời nguyền của chiều", xem trang Wikipedia này.

Một bài báo có thể được quan tâm là Sanguinetti, G., "Giảm kích thước của các bộ đệm cụm", Giao dịch của IEEE về Phân tích mẫu và Thông minh máy, tập. 30 không. 3, trang 535-540, tháng 3 năm 2008 ( www ). Giống như một phiên bản LDA không giám sát, tìm kiếm một không gian chiều thấp, nhấn mạnh cấu trúc cụm. Có lẽ bạn có thể sử dụng nó như một phương pháp trích xuất tính năng trước khi thực hiện phương tiện k?


Ối xin lỗi. Tôi nên đã đề cập rằng tôi đang sử dụng tương tự cosine.
Truyền thuyết

Tôi nghĩ rằng rất có thể lời nguyền về chiều cũng áp dụng cho sự tương tự cosin. Về cơ bản nó nói rằng bạn cần (trường hợp xấu nhất) nhiều mẫu hơn theo cấp số nhân để xác định phân phối khi số lượng kích thước tăng lên. Trong việc phân cụm những gì bạn đang làm một cách hiệu quả là xác định các bản phân phối đại diện cho các quần thể phụ, do đó, việc phân cụm ở các chiều cao có thể sẽ khó khăn.
Dikran Marsupial

+1 Cảm ơn bạn đã liên kết. Tôi sẽ đi qua nó và lấy lại. Tôi đã áp dụng SVD trên ma trận gốc của mình trước khi áp dụng phương tiện k để giảm số lượng kích thước.
Truyền thuyết

3

Làm thế nào chính xác để bạn sử dụng tương tự cosine? Đây có phải là những gì được gọi là K-phương tiện hình cầu? Tập dữ liệu của bạn khá nhỏ, vì vậy tôi sẽ cố gắng hình dung nó như một mạng. Đối với điều này, việc sử dụng một sự tương tự (ví dụ, tương tự cosine hoặc tương quan Pearson) là điều tự nhiên , áp dụng một giới hạn (chỉ xem xét các mối quan hệ trên một độ tương tự nhất định) và xem kết quả như một mạng trong ví dụ Cytoscape hoặc BioLayout . Điều này có thể rất hữu ích để có được một cảm giác cho dữ liệu. Thứ hai, tôi sẽ tính các giá trị số ít cho ma trận dữ liệu của bạn hoặc giá trị riêng của ma trận được biến đổi và chuẩn hóa phù hợp (ma trận tài liệu tài liệu thu được ở dạng nào đó). Cấu trúc cụm nên (một lần nữa) hiển thị như một bước nhảy trong danh sách có giá trị riêng hoặc giá trị số ít.


+1 Cảm ơn bạn đã gợi ý. Tôi đã không biết về Cytoscape. Tôi sẽ cố gắng làm điều đó. Và vâng, có vẻ như k-mean có độ tương tự cosine được gọi là k-mean Spherical. Tôi đã áp dụng phương tiện k này sau khi áp dụng SVD và giảm số lượng kích thước. Cách tôi giảm số lượng kích thước là sử dụng quy tắc phương sai (chọn các giá trị số ít đóng góp tới 95% phương sai trong dữ liệu gốc).
Truyền thuyết

Nếu bạn không phiền, bạn có thể chỉ ra một hướng dẫn giải thích cách thực hiện việc này (hoặc ít nhất là một cái gì đó như thế này). Khi tôi tạo ma trận, tôi chỉ cần xuất nó và sau đó nhập nó vào Cytoscape và thực hiện những gì bạn đề xuất? Điều tôi tò mò là liệu Cytoscape có các phương thức tích hợp cho sự tương tự cosin hay tôi phải tính toán trước một số định dạng dữ liệu và đưa nó làm đầu vào?
Truyền thuyết

Khi tôi làm việc với các chương trình đó, tôi tính toán tất cả các điểm tương đồng bên ngoài, lọc theo ngưỡng và tạo ra một tệp có định dạng <nhãn1> <nhãn2> <độ tương tự>. Hoặc có thể đọc đầu vào đó. Trong BioLayout, tôi nghĩ nó phải có hậu tố .txt; trong CytoScape sử dụng 'nhập từ bảng'.
micans

Hiểu. Tôi sẽ làm điều đó và lấy lại sớm. Cảm ơn bạn một lần nữa.
Truyền thuyết

Xin lỗi vì câu hỏi ngớ ngẩn nhưng tôi đã định dạng dữ liệu của mình là <nhãn1> <nhãn2> <độ tương tự> nhưng không thể tìm ra cách nhập chính xác. Tôi đã thực hiện File-> Nhập-> Mạng từ Bảng và chọn các cột nguồn và đích của tôi. Tôi để tương tác như mặc định. Nhưng làm thế nào tôi có thể nhập trọng lượng cạnh cùng với các cạnh? Bạn có gợi ý nào không?
Truyền thuyết

2

Nói chung là có, phương tiện k có thể hội tụ đến các giải pháp rất khác biệt có thể được đánh giá là không phù hợp. Điều này đặc biệt xảy ra đối với các cụm có hình dạng không đều.

Điều đó nhận được nhiều trực giác hơn, bạn cũng có thể thử một cách tiếp cận trực quan hóa khác: Đối với k-nghĩa là bạn có thể hình dung một số lần chạy bằng phương tiện k bằng cách sử dụng Biểu đồ (xem gói đồ thị WEKA - tốt nhất có được bởi người quản lý gói hoặc ở đây . tìm thấy ở đây .


1

Nếu tôi hiểu đồ thị một cách chính xác thì đó là đồ thị của số cụm, K trên trục x và khoảng cách trong cụm trên trục y?

Bởi vì chức năng mục tiêu K-nghĩa của bạn là để giảm thiểu WCSS, âm mưu này sẽ luôn luôn giảm đơn điệu. Khi bạn thêm nhiều cụm, khoảng cách giữa các điểm trong cụm sẽ luôn giảm. Đây là vấn đề cơ bản của lựa chọn mô hình, vì vậy bạn cần sử dụng sự tinh tế hơn một chút.

Có lẽ hãy thử thống kê Gap: www-stat.stanford.edu/~tibs/ftp/gap.ps hoặc những người khác thích nó.

Hơn nữa, bạn có thể thấy rằng K-mean không phải là công cụ phù hợp cho công việc. Có bao nhiêu cụm bạn mong muốn tìm thấy? Sử dụng quy tắc phương sai để giảm kích thước cho phân cụm là không phù hợp. Xem bài viết này khi chiếu lên các PC K-1 đầu tiên là một biện pháp tiền xử lý thích hợp: http://people.csail.mit.edu/gjw/ con / jcss.ps

Bạn có thể nhanh chóng xem liệu đây có phải là điều nên làm hay không bằng cách vẽ hình chiếu lên hai thành phần chính đầu tiên. Nếu có sự tách biệt rõ ràng thì K-nghĩa sẽ ổn, nếu không bạn cần xem xét một thứ khác. Có lẽ không gian con K hoặc các phương thức phân cụm không gian con khác. Ghi nhớ những phương pháp này áp dụng cho khoảng cách Euclide. Tôi không chắc điều này thay đổi như thế nào đối với cosin.

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.