Phân cụm như giảm kích thước


10

Tôi đang đọc một cuốn sách "Học máy với tia lửa" của Nick Pentreath, và tại trang 224-225, tác giả đã thảo luận về việc sử dụng phương tiện K như một hình thức giảm kích thước.

Tôi chưa bao giờ thấy loại giảm kích thước này, nó có tên hoặc / và có hữu ích cho các hình dạng cụ thể của dữ liệu không?

Tôi trích dẫn cuốn sách mô tả thuật toán:

Giả sử rằng chúng ta phân cụm các vectơ đặc trưng chiều cao của mình bằng mô hình phân cụm K-nghĩa, với các cụm k. Kết quả là một tập hợp các trung tâm cụm k.

Chúng tôi có thể đại diện cho từng điểm dữ liệu ban đầu của mình theo khoảng cách từ mỗi trung tâm cụm này. Đó là, chúng ta có thể tính khoảng cách của một điểm dữ liệu đến từng trung tâm cụm. Kết quả là một tập hợp khoảng cách k cho mỗi điểm dữ liệu.

Những khoảng cách k này có thể tạo thành một vectơ mới của chiều k. Bây giờ chúng ta có thể biểu thị dữ liệu gốc của mình dưới dạng một vectơ mới có kích thước thấp hơn, liên quan đến kích thước tính năng ban đầu.

Tác giả cho thấy một khoảng cách Gaussian.

Với 2 cụm cho dữ liệu 2 chiều, tôi có các mục sau:

K-nghĩa là:

K-nghĩa với 2 cụm

Áp dụng thuật toán với định mức 2:

định mức 2

Áp dụng thuật toán với khoảng cách Gaussian (áp dụng dnorm (abs (z)):

Gaussian

Mã R cho các hình ảnh trước:

set.seed(1)
N1 = 1000
N2 = 500
z1 = rnorm(N1) + 1i * rnorm(N1)
z2 = rnorm(N2, 2, 0.5) + 1i * rnorm(N2, 2, 2)
z = c(z1, z2)

cl = kmeans(cbind(Re(z), Im(z)), centers = 2)

plot(z, col = cl$cluster)

z_center = function(k, cl) {
  return(cl$centers[k,1] + 1i * cl$centers[k,2])
}

xlab = "distance to cluster center 1"
ylab = "distance to cluster center 2"

out_dist = cbind(abs(z - z_center(1, cl)), abs(z - z_center(2, cl)))
plot(out_dist, col = cl$cluster, xlab = xlab, ylab = ylab)
abline(a=0, b=1, col = "blue")

out_dist = cbind(dnorm(abs(z - z_center(1, cl))), dnorm(abs(z - z_center(2, cl))))
plot(out_dist, col = cl$cluster, xlab = xlab, ylab = ylab)
abline(a=0, b=1, col = "blue")

1
Lưu ý rằng trong ví dụ của bạn, không có sự giảm kích thước nào xảy ra do dữ liệu của bạn bắt đầu bằng 2 chiều và bạn đang ánh xạ nó lên 2 chiều mới (khoảng cách đến mỗi 2 cụm của bạn). Để giảm kích thước dữ liệu của bạn, bạn cần sử dụng ít cụm hơn số lượng kích thước ban đầu trong dữ liệu.
Ruben van Bergen

Vâng, tôi đã làm tất cả điều này trong 2D để cho phép vẽ hình ảnh ban đầu và cho mọi người thấy sự định hình lại; vì vậy nó không phải là giảm kích thước trong trường hợp đó. Hình dạng đầu ra tương tự cho dữ liệu được lấy mẫu tương tự trong 3D và với 2 cụm.
ahstat

4
Tôi thích thực tế là bạn đang nhấn mạnh khoảng cách từ các trung tâm cụm. Quá nhiều nhà phân tích dữ liệu làm mất dữ liệu và mất thông tin bằng cách nhóm dữ liệu thành các cụm "khác biệt".
Frank Harrell

Câu trả lời:


6

Tôi nghĩ rằng đây là "phương pháp centroid" (hay phương pháp "centroidQR" liên quan chặt chẽ) được mô tả bởi Park, Jeon và Rosen . Từ tóm tắt luận án của Moon-Gu Jeon :

Phương thức Centroid của chúng tôi chiếu dữ liệu toàn chiều vào không gian trung tâm của các lớp, giúp giảm kích thước rất lớn, giảm số lượng kích thước cho số lượng lớp trong khi cải thiện cấu trúc lớp ban đầu. Một trong những tính chất thú vị của nó là ngay cả khi sử dụng hai biện pháp tương tự khác nhau, kết quả phân loại cho toàn bộ không gian và chiều không gian được hình thành bởi Centroid là giống hệt nhau khi áp dụng phân loại dựa trên centroid. Phương thức thứ hai, được gọi là CentroidQR, là một biến thể của phương pháp Centroid của chúng tôi, sử dụng làm không gian chiếu, k cột của ma trận trực giao Q từ phân rã QR của ma trận trung tâm.

Nó dường như cũng tương đương với phương pháp "nhiều nhóm" từ Phân tích nhân tố .


3

Nhìn vào tất cả các tài liệu về lập chỉ mục dựa trên trục .

Nhưng bạn có được chút ít bằng cách sử dụng phương tiện k. Thông thường, bạn chỉ có thể sử dụng các điểm ngẫu nhiên như pivots. Nếu bạn chọn đủ, chúng sẽ không giống nhau.


Bạn có thể giải thích rõ hơn tại sao "bạn kiếm được ít tiền bằng cách sử dụng phương tiện k" không? Cảm ơn
Tagar

Bởi vì kết quả dường như không tốt hơn so với các pivots ngẫu nhiên.
Có QUIT - Anony-Mousse

cảm ơn! bạn có thể vui lòng cập nhật phản hồi của mình bằng một liên kết đến kỹ thuật "lập chỉ mục dựa trên trục" không? Tôi cho rằng điều đó giống như "sử dụng các điểm ngẫu nhiên như pivots". Tôi đã cố gắng google, nhưng không chắc những gì tôi nhận được có liên quan trực tiếp đến phương pháp K-nghĩa này được nêu trong Q.
Tagar

2

Có một số cách để sử dụng phân cụm như giảm kích thước. Đối với phương tiện K, bạn cũng có thể chiếu các điểm (trực giao) lên không gian vectơ (hoặc affine) do các trung tâm tạo ra.

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.