Sự khác biệt giữa autoencoder và t-SNE là gì?


Câu trả lời:


8

Cả hai đều cố gắng tìm một chiều nhúng thấp hơn cho dữ liệu của bạn. Tuy nhiên, có những vấn đề giảm thiểu khác nhau. Cụ thể hơn, bộ mã hóa tự động cố gắng giảm thiểu lỗi tái cấu trúc, trong khi t-SNE cố gắng tìm một không gian có chiều thấp hơn và đồng thời nó cố gắng giữ khoảng cách vùng lân cận. Do kết quả của thuộc tính này, t-SNE thường được ưa thích cho các ô và trực quan hóa.


Vì vậy, theo nghĩa này, điều đó có nghĩa là autoencoder tốt hơn là tìm kích thước thấp hơn khi kích thước thấp hơn 3D? (Vì tôi cho rằng nếu kích thước thấp hơn lớn, t-SNE có thể không hoạt động tốt?)
RockTheStar

2
Có nhiều loại autoencoder (thưa thớt, đa dạng, xếp chồng, tích chập, v.v.) tùy theo nhiệm vụ của bạn. Chúng có thể rất hiệu quả trong việc khám phá các nhúng chiều thấp hơn, dựa trên lỗi tái cấu trúc. Do đó, nếu nhiệm vụ của bạn là tìm một không gian chiều thấp hơn tối ưu (thậm chí 2D), tôi sẽ đề nghị bạn chọn bộ mã hóa tự động phù hợp cho nhiệm vụ của mình. Nếu bạn phải thực hiện trực quan thì t-SNE có thể là lựa chọn của bạn. như bảo tồn khoảng cách lân cận, có thể dẫn đến hình dung tốt hơn.
Yannis Assael

2

[Bộ tạo tự động] chủ yếu tập trung vào tối đa hóa phương sai của dữ liệu trong không gian tiềm ẩn, do đó, bộ điều khiển tự động ít thành công hơn trong việc giữ cấu trúc dữ liệu cục bộ trong không gian tiềm ẩn so với người học đa dạng ...

Từ "Học cách nhúng tham số bằng cách bảo tồn cấu trúc địa phương", Laurens van der Maaten ( https://lvdmaaten.github.io/publications/ con /AISTATS_2009.pdf )


Đây không phải là "giấy t-SNE". T-SNE tiêu chuẩn là không tham số.
amip

1
Cảm ơn @amoeba cho nhận xét của bạn về điều này. Tôi đã chỉnh sửa bài viết.
Người dùng128525

1

Autoencoder và t-SNE có thể được sử dụng cùng nhau để hiển thị tốt hơn trong dữ liệu chiều cao, như được mô tả trong [1]:

Đối với trực quan 2D cụ thể, t-SNE có lẽ là thuật toán tốt nhất xung quanh, nhưng nó thường yêu cầu dữ liệu tương đối thấp. Vì vậy, một chiến lược tốt để trực quan hóa các mối quan hệ tương tự trong dữ liệu chiều cao là bắt đầu bằng cách sử dụng bộ mã hóa tự động để nén dữ liệu của bạn vào không gian chiều thấp (ví dụ 32 chiều), sau đó sử dụng t-SNE để ánh xạ dữ liệu nén sang mặt phẳng 2D .


[1] https://blog.keras.io/building-autoencoders-in-keras.html


0

Autoencoder được thiết kế để bảo toàn dữ liệu trước đó theo nghĩa 2 chỉ tiêu, có thể được coi là bảo toàn động năng của dữ liệu, nếu dữ liệu là vận tốc.

Trong khi t-SNE, sử dụng phân kỳ KL không đối xứng, điều đó sẽ dẫn đến t-SNE tập trung nhiều hơn vào cấu trúc cục bộ, trong khi bộ mã hóa tự động có xu hướng giữ lỗi L2 tổng thể, theo nghĩa toàn cầu.

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.