t-SNE với các biến nhị phân và biến liên tục


10

Tôi hiện đang điều tra trực quan hóa dữ liệu chiều cao bằng t-SNE. Tôi có một số dữ liệu với các biến nhị phân và biến liên tục và dữ liệu dường như phân cụm dữ liệu nhị phân quá dễ dàng. Tất nhiên điều này được dự kiến ​​cho dữ liệu được chia tỷ lệ (trong khoảng từ 0 đến 1): khoảng cách Euclidian sẽ luôn luôn lớn nhất / nhỏ nhất giữa các biến nhị phân. Làm thế nào một người nên đối phó với các bộ dữ liệu nhị phân / liên tục bằng cách sử dụng t-SNE? Chúng ta có nên bỏ các cột nhị phân? Nó có khác nhau metricchúng ta có thể sử dụng?

Ví dụ, hãy xem xét mã python này:

x1 = np.random.rand(200)
x2 = np.random.rand(200)
x3 = np.r_[np.ones(100), np.zeros(100)]

X = np.c_[x1, x2, x3]

# plot of the original data
plt.scatter(x1, x2, c=x3)
# … format graph

vì vậy dữ liệu thô của tôi là:

dữ liệu thô

trong đó màu sắc là giá trị của tính năng thứ ba (x3) - trong 3D, các điểm dữ liệu nằm trong hai mặt phẳng (x3 = 0 mặt phẳng và x3 = 1 mặt phẳng).

Sau đó tôi thực hiện t-SNE:

tsne = TSNE() # sci-kit learn implementation
X_transformed = StandardScaler().fit_transform(X)
tsne = TSNE(n_components=2, perplexity=5)
X_embedded = tsne.fit_transform(X_transformed)

với cốt truyện kết quả:

tsne_data

và dữ liệu tất nhiên được nhóm bởi x3. Bản năng ruột của tôi là bởi vì một thước đo khoảng cách không được xác định rõ ràng cho các tính năng nhị phân, chúng ta nên loại bỏ chúng trước khi thực hiện bất kỳ t-SNE nào, điều này sẽ rất xấu hổ vì các tính năng này có thể chứa thông tin hữu ích cho việc tạo các cụm.


1
Lưu ý: Tôi vẫn quan tâm đến việc nghe ý kiến ​​về điều này và cả về khả năng áp dụng UMAP cho không gian này.
FChm

Cảm ơn tiền thưởng, một lần nữa vẫn quan tâm nhưng đã không dành nhiều thời gian để xem xét điều này là công bằng. Tôi có thể có một chút thời gian hôm nay để thực hiện một số nghiên cứu ban đầu và sẽ thêm thông tin cập nhật nếu có.
FChm

2
Tôi đã gặp vấn đề này trong thực tế. Tôi nghĩ rằng nó không đặc trưng cho tSNE, nhưng sẽ ảnh hưởng như nhau đến bất kỳ thuật toán học tập không giám sát dựa trên khoảng cách nào (bao gồm cả phân cụm). Tôi cũng nghĩ rằng giải pháp phù hợp sẽ phụ thuộc mạnh mẽ vào những gì các tính năng nhị phân đại diện, và vào một số đánh giá của chuyên gia về tầm quan trọng của chúng. Vì vậy, tôi đang tìm kiếm một câu trả lời sẽ thảo luận về các tình huống có thể khác nhau. Tôi chắc chắn không có giải pháp một kích cỡ phù hợp cho tất cả ở đây.
amip

Câu trả lời:


8

Tuyên bố miễn trừ trách nhiệm: Tôi chỉ có kiến ​​thức tiếp tuyến về chủ đề này, nhưng vì không có ai trả lời, tôi sẽ thử.

Khoảng cách rất quan trọng

Bất kỳ kỹ thuật giảm kích thước dựa trên khoảng cách (tSNE, UMAP, MDS, PCoA và có thể khác) chỉ tốt bằng số liệu khoảng cách bạn sử dụng. Như @amoeba chỉ ra một cách chính xác, không thể có giải pháp phù hợp với một kích thước, bạn cần có một thước đo khoảng cách nắm bắt những gì bạn cho là quan trọng trong dữ liệu, tức là các hàng bạn sẽ xem xét tương tự có khoảng cách nhỏ và các hàng bạn sẽ xem xét khác nhau có khoảng cách lớn.

Làm thế nào để bạn chọn một số liệu khoảng cách tốt? Đầu tiên, hãy để tôi làm một trò chơi nhỏ:

Truyền bá

Ngay trước thời kỳ huy hoàng của máy học hiện đại, các nhà sinh thái học cộng đồng (và rất có thể là những người khác) đã cố gắng tạo ra những âm mưu tốt đẹp để phân tích khám phá dữ liệu đa chiều. Họ gọi quá trình phối và nó là một từ khóa hữu ích để tìm kiếm trong các tài liệu sinh thái sẽ trở lại ít nhất đến năm 70 và vẫn còn đang mạnh mẽ hiện nay.

Điều quan trọng là các nhà sinh thái học có bộ dữ liệu rất đa dạng và xử lý các hỗn hợp các tính năng nhị phân, số nguyên và giá trị thực (ví dụ: sự hiện diện / vắng mặt của loài, số lượng mẫu vật quan sát được, pH, nhiệt độ). Họ đã dành rất nhiều thời gian để suy nghĩ về khoảng cách và biến đổi để làm cho các sắc phong hoạt động tốt. Tôi không hiểu rõ về lĩnh vực này, nhưng ví dụ đánh giá về sự đa dạng Beta của Legendre và De Cáceres Beta vì sự khác biệt của dữ liệu cộng đồng: sự khác biệt về hệ số và phân vùng cho thấy số lượng khoảng cách có thể bạn muốn kiểm tra.

Chia tỷ lệ đa chiều

Công cụ chuyển đổi để phân phối là chia tỷ lệ đa chiều (MDS), đặc biệt là biến thể không số liệu (NMDS) mà tôi khuyến khích bạn thử ngoài t-SNE. Tôi không biết về thế giới Python, nhưng việc triển khai R trong metaMDSchức năng của vegangói thực hiện rất nhiều thủ thuật cho bạn (ví dụ: chạy nhiều lần chạy cho đến khi tìm thấy hai tương tự nhau).

Điều này đã bị tranh cãi, xem các bình luận: Phần hay của MDS là nó cũng chiếu các tính năng (cột), vì vậy bạn có thể thấy các tính năng nào thúc đẩy việc giảm kích thước. Điều này giúp bạn diễn giải dữ liệu của bạn.

Hãy nhớ rằng t-SNE đã bị chỉ trích là một công cụ để đạt được sự hiểu biết, ví dụ như khám phá về những cạm bẫy của nó - Tôi đã nghe UMAP giải quyết một số vấn đề, nhưng tôi không có kinh nghiệm với UMAP. Tôi cũng không nghi ngờ một phần lý do các nhà sinh thái học sử dụng NMDS là văn hóa và quán tính, có thể UMAP hoặc t-SNE thực sự tốt hơn. Tôi thực sự không biết.

Lăn ra khoảng cách của riêng bạn

Nếu bạn hiểu cấu trúc dữ liệu của mình, các khoảng cách và biến đổi được tạo sẵn có thể không phù hợp nhất với bạn và bạn có thể muốn xây dựng một thước đo khoảng cách tùy chỉnh. Mặc dù tôi không biết dữ liệu của bạn đại diện cho cái gì, nhưng có thể hợp lý để tính khoảng cách riêng cho các biến có giá trị thực (ví dụ: sử dụng khoảng cách Euclide nếu điều đó hợp lý) và cho các biến nhị phân và thêm chúng. Khoảng cách phổ biến cho dữ liệu nhị phân là ví dụ khoảng cách Jaccard hoặc khoảng cách Cosine . Bạn có thể cần suy nghĩ về một số hệ số nhân cho khoảng cách vì cả Jaccard và Cosine đều có giá trị trong bất kể số lượng tính năng trong khi cường độ của khoảng cách Euclide phản ánh số lượng tính năng.[0,1]

Một lời cảnh báo

Tất cả thời gian bạn nên nhớ rằng vì bạn có quá nhiều nút điều chỉnh, bạn có thể dễ dàng rơi vào cái bẫy điều chỉnh cho đến khi bạn thấy những gì bạn muốn thấy. Điều này là khó tránh hoàn toàn trong phân tích thăm dò, nhưng bạn nên thận trọng.


1
+1. Nhiều điểm tốt ở đây, và tôi thích các tài liệu tham khảo cho văn học "phong chức" cũ hơn. Một điều khiến tôi chú ý: "Phần hay của MDS là nó cũng chiếu các tính năng (cột), vì vậy bạn có thể thấy tính năng nào thúc đẩy việc giảm kích thước" - bạn có chắc về điều đó không? Điều đó không đúng, theo như tôi hiểu; ít nhất nó không đúng với MDS hơn so với t-SNE.
amip

@amoeba Đây là nơi kiến ​​thức hạn chế của tôi xuất hiện :-) Tất cả những gì tôi biết là phương pháp vẽ mặc định cho metaMDScác ô cả mẫu và tính năng (xem ví dụ: họa tiết này: cran.r-project.org/web/packages/vegan/vignettes/ intro-vegan.pdf )
Martin Modrák

Cảm ơn câu trả lời và cái nhìn sâu sắc của bạn. Bây giờ tôi tập trung nhiều hơn vào UMAP và tôi nghĩ việc xác định một số biện pháp tương tự như khoảng cách Jaccard có thể là một cách tốt để xử lý các loại biến hỗn hợp. Tôi đã không sử dụng MDS, nhưng tôi biết về nó. Tôi sẽ phải dành thời gian để hiểu nếu nó hữu ích.
FChm

1
@ MartinModrák Tôi không biết chính xác vegangói đang làm gì ở đó, nhưng MDS / NMDS là phương pháp phi tuyến tính và không theo tỷ lệ (chính xác như t-SNE) và không có cách "nội bộ" nào khớp với các tính năng ban đầu với kích thước MDS. Tôi có thể tưởng tượng rằng chúng là sự tương quan điện toán giữa các tính năng ban đầu và kích thước MDS; nếu vậy, điều này có thể được thực hiện cho bất kỳ sự nhúng nào, bao gồm cả t-SNE. Sẽ rất thú vị để biết chính xác những gì veganlàm.
amip
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.