Có nên coi việc giảm kích thước để trực quan hóa được coi là một vấn đề đã đóng, được giải quyết bởi t-SNE?


23

Tôi đã đọc rất nhiều về thuật toán -snet để giảm kích thước. Tôi rất ấn tượng với hiệu suất trên các bộ dữ liệu "cổ điển", như MNIST, nơi nó đạt được sự phân tách rõ ràng của các chữ số ( xem bài viết gốc ):

t-SNE MNIST

Tôi cũng đã sử dụng nó để hình dung các tính năng được học bởi một mạng lưới thần kinh mà tôi đang đào tạo và tôi rất hài lòng với kết quả này.

Vì vậy, theo tôi hiểu:

tÔi(nđăng nhậpn)

Tôi biết rằng đây là một tuyên bố khá táo bạo. Tôi quan tâm đến việc hiểu những "cạm bẫy" tiềm năng của phương pháp này là gì. Đó là, có trường hợp nào chúng ta biết rằng nó không hữu ích? Hơn nữa, các vấn đề "mở" trong lĩnh vực này là gì?

Câu trả lời:


16

Chắc chắn không phải.

Tôi đồng ý rằng t-SNE là một thuật toán tuyệt vời hoạt động cực kỳ tốt và đó là một bước đột phá thực sự vào thời điểm đó. Tuy nhiên:

  • Nó có những thiếu sót nghiêm trọng;
  • một số thiếu sót phải được giải quyết;
  • đã có những thuật toán thực hiện tốt hơn đáng kể trong một số trường hợp;
  • nhiều đặc tính của t-SNE vẫn chưa được hiểu rõ.

Ai đó đã liên kết với tài khoản rất phổ biến này về một số thiếu sót của t-SNE: https://distill.pub/2016/misread-tsne/ (+1), nhưng nó chỉ thảo luận về các bộ dữ liệu đồ chơi rất đơn giản và tôi thấy rằng nó không tương ứng rất tốt với các vấn đề mà một người gặp phải trong thực tế khi làm việc với t-SNE và các thuật toán liên quan trên dữ liệu trong thế giới thực. Ví dụ:

  1. t-SNE thường không bảo toàn cấu trúc toàn cầu của bộ dữ liệu;
  2. N
  3. N

Tôi sẽ thảo luận ngắn gọn về cả ba điều dưới đây.


  1. t-SNE thường không bảo toàn cấu trúc toàn cầu của bộ dữ liệu.

    Hãy xem xét bộ dữ liệu RNA-seq tế bào đơn này từ viện Allen (tế bào vỏ chuột): http://celltypes.brain-map.org/rnaseq/mouse . Nó có ~ 23k tế bào. Chúng tôi biết một tiên nghiệm rằng bộ dữ liệu này có rất nhiều cấu trúc phân cấp có ý nghĩa và điều này được xác nhận bằng cách phân nhóm theo cấp bậc. Có tế bào thần kinh và tế bào không thần kinh (glia, astrocytes, v.v.). Trong số các tế bào thần kinh, có các tế bào thần kinh kích thích và ức chế - hai nhóm rất khác nhau. Trong số các tế bào thần kinh ức chế, có một số nhóm chính: Pvalb-expressing, SSt-expressing, VIP-expressing. Trong bất kỳ nhóm nào trong số này, dường như có nhiều cụm hơn nữa. Điều này được phản ánh trong cây phân cụm phân cấp. Nhưng đây là t-SNE, được lấy từ liên kết trên:

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

    Các tế bào không thần kinh có màu xám / nâu / đen. Tế bào thần kinh kích thích có màu xanh lam / teal / xanh lá cây. Tế bào thần kinh ức chế có màu cam / đỏ / tím. Người ta sẽ muốn các nhóm chính này gắn bó với nhau, nhưng điều này không xảy ra: một khi t-SNE tách một nhóm thành nhiều cụm, cuối cùng họ có thể được định vị tùy ý. Cấu trúc phân cấp của bộ dữ liệu bị mất.

    Tôi nghĩ rằng đây sẽ là một vấn đề có thể giải quyết được, nhưng tôi không nhận thấy bất kỳ sự phát triển nguyên tắc tốt nào, mặc dù một số công việc gần đây theo hướng này (bao gồm cả của riêng tôi).

  2. N

    t-SNE hoạt động rất tốt trên dữ liệu MNIST. Nhưng hãy xem xét điều này (lấy từ bài báo này ):

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

    Với các điểm dữ liệu 1 triệu, tất cả các cụm được kết hợp lại với nhau (lý do chính xác cho điều này là không rõ ràng) và cách duy nhất để biết đối trọng là với một số hack bẩn như được hiển thị ở trên. Tôi biết từ kinh nghiệm rằng điều này cũng xảy ra với các bộ dữ liệu lớn tương tự khác.

    Người ta có thể thấy điều này với chính MNIST (N = 70k). Hãy xem:

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

    Bên phải là t-SNE. Bên trái là UMAP , một phương thức thú vị mới đang được phát triển tích cực, rất giống với một LargeVis cũ . UMAP / LargeVis kéo cụm cách xa nhau nhiều. Lý do chính xác cho điều này là IMHO không rõ ràng; Tôi sẽ nói rằng vẫn còn rất nhiều điều để hiểu ở đây, và có thể rất nhiều để cải thiện.

  3. Thời gian chạy Barnes-Hut quá chậm đối với lớnN

    NN

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

    Vì vậy, điều này có thể không chính xác là một vấn đề mở nữa, nhưng nó đã từng tồn tại cho đến gần đây và tôi đoán có chỗ cho những cải tiến hơn nữa trong thời gian chạy. Vì vậy, công việc chắc chắn có thể tiếp tục theo hướng này.


7

Đây là một phân tích tuyệt vời về cách thay đổi các tham số khi chạy t-SNE ảnh hưởng đến một số bộ dữ liệu rất đơn giản: http://distill.pub/2016/misread-tsne/ . Nhìn chung, t-SNE dường như làm rất tốt trong việc nhận ra các cấu trúc chiều cao (bao gồm các mối quan hệ phức tạp hơn các cụm), mặc dù điều này có thể điều chỉnh tham số, đặc biệt là các giá trị nhiễu.


7

Tôi vẫn rất thích nghe những bình luận khác nhưng bây giờ tôi sẽ đăng câu trả lời của riêng mình, như tôi thấy. Trong khi tôi đang tìm kiếm một câu trả lời "thực tế" hơn, có hai "lợi thế" về mặt lý thuyết đối với t-sne đáng được đề cập; cái thứ nhất ít có vấn đề hơn và cái thứ hai chắc chắn nên được xem xét:

  1. Hàm chi phí t-sne không lồi, vì vậy chúng tôi không được đảm bảo để đạt mức tối ưu toàn cầu : Các kỹ thuật giảm kích thước khác (Isomap, LLE) có hàm chi phí lồi. Trong trường hợp này không phải là trường hợp này, do đó có một số tham số tối ưu hóa cần được điều chỉnh hiệu quả để đạt được giải pháp "tốt". Tuy nhiên, mặc dù có một cạm bẫy lý thuyết tiềm tàng, điều đáng nói là trong thực tế, điều này hầu như không phải là sự sụp đổ, vì dường như ngay cả "tối thiểu cục bộ" của thuật toán t-sne cũng vượt trội hơn (tạo ra trực quan tốt hơn) sau đó là tối thiểu toàn cầu của các phương pháp khác .

  2. lời nguyền của chiều kích nội tâm : Một điều quan trọng cần ghi nhớ khi sử dụng t-sne là về cơ bản nó là một cách học đa dạngthuật toán. Về cơ bản, điều này có nghĩa là t-sne (và các phương pháp khác như vậy) được thiết kế để hoạt động trong các tình huống trong đó chiều cao ban đầu chỉ cao một cách giả tạo: có một chiều thấp hơn bên trong dữ liệu. tức là dữ liệu "nằm" trên đa tạp chiều thấp hơn. Một ví dụ điển hình cần lưu ý là các bức ảnh liên tiếp của cùng một người: Mặc dù tôi có thể đại diện cho mỗi hình ảnh theo số pixel (chiều cao), nhưng chiều kích của dữ liệu thực sự bị ràng buộc bởi sự biến đổi vật lý của các điểm (trong trường hợp này, xoay 3D của đầu). Trong trường hợp như vậy t-sne hoạt động tốt. Nhưng trong trường hợp kích thước nội tại cao hoặc các điểm dữ liệu nằm trên một đa tạp rất khác nhau, t-sne dự kiến ​​sẽ hoạt động kém, vì đó là giả định cơ bản nhất - tuyến tính cục bộ trên đa tạp - bị vi phạm.

Đối với người dùng thực tế, tôi nghĩ rằng điều này ngụ ý hai gợi ý hữu ích cần ghi nhớ:

  1. Trước khi thực hiện giảm kích thước cho các phương pháp trực quan hóa, trước tiên hãy luôn cố gắng tìm hiểu xem thực sự có tồn tại kích thước nội tại thấp hơn đối với dữ liệu bạn đang xử lý hay không.

  2. Nếu bạn không chắc chắn về 1 (và nói chung), thì có thể hữu ích, như bài viết gốc cho thấy, "thực hiện t-sne trên biểu diễn dữ liệu thu được từ một mô hình đại diện cho dữ liệu thay đổi rất hiệu quả trong một số của các lớp phi tuyến, như bộ mã hóa tự động ". Vì vậy, sự kết hợp của bộ mã hóa tự động + t-sne có thể là một giải pháp tốt trong những trường hợp như vậy.


Xin chào @ galoosh33! Tôi tự hỏi nếu bạn đã có cơ hội để xem câu trả lời của tôi. Nó có hữu ích không? Tôi không biết liệu bạn có còn hứng thú với 1,5 năm này sau khi hỏi câu hỏi này không, vì vậy tôi đánh giá cao một số phản hồi ... Trong câu trả lời được chấp nhận của riêng bạn, bạn nói rằng bạn vẫn thích nghe những suy nghĩ xa hơn, nhưng đây cũng là một số thời gian trước :)
amip nói rằng Phục hồi Monica

1
cảm ơn câu trả lời tuyệt vời của bạn @amoeba! Tôi sẽ xem xét nó vào cuối tuần này.
galoosh33
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.