Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

t-distributed Stochastic Neighbor Embedding (t-SNE)

Khám phá cách t-SNE trực quan hóa dữ liệu đa chiều. Tìm hiểu cách phát hiện các cụm trong các đặc trưng thị giác máy tính. Ultralytics Sử dụng YOLO26 và tối ưu hóa các mô hình học máy.

Phương pháp nhúng lân cận ngẫu nhiên phân bố t (t-SNE) là một phương pháp thống kê để trực quan hóa dữ liệu đa chiều bằng cách gán cho mỗi điểm dữ liệu một vị trí trên bản đồ hai hoặc ba chiều. Kỹ thuật này, một dạng giảm chiều phi tuyến tính, được sử dụng rộng rãi trong học máy để khám phá các tập dữ liệu chứa hàng trăm hoặc hàng nghìn đặc trưng. Không giống như các phương pháp tuyến tính tập trung vào việc bảo toàn cấu trúc tổng thể, t-SNE vượt trội trong việc giữ các trường hợp tương tự gần nhau, tiết lộ các cụm và đa tạp cục bộ mà nếu không sẽ bị che khuất. Điều này làm cho nó trở thành một công cụ vô giá cho mọi thứ, từ nghiên cứu gen đến việc hiểu logic bên trong của mạng nơ-ron sâu.

Cách thức hoạt động của t-SNE

Ý tưởng cốt lõi đằng sau t-SNE là chuyển đổi sự tương đồng giữa các điểm dữ liệu thành xác suất đồng thời. Trong không gian đa chiều ban đầu, thuật toán đo lường sự tương đồng giữa các điểm bằng cách sử dụng phân phối Gaussian. Nếu hai điểm nằm gần nhau, chúng có xác suất cao là "hàng xóm". Sau đó, thuật toán cố gắng ánh xạ các điểm này vào không gian có chiều thấp hơn (thường là 2D hoặc 3D) trong khi vẫn duy trì các xác suất này.

Để đạt được điều này, thuật toán định nghĩa một phân bố xác suất tương tự trong bản đồ chiều thấp hơn bằng cách sử dụng phân bố t của Student. Phân bố cụ thể này có đuôi nặng hơn so với phân bố Gaussian thông thường, giúp giải quyết "vấn đề tắc nghẽn" - hiện tượng các điểm trong không gian đa chiều có xu hướng chồng chất lên nhau khi được chiếu xuống. Bằng cách đẩy các điểm không giống nhau ra xa nhau hơn trong hình ảnh trực quan, t-SNE tạo ra các cụm riêng biệt, dễ đọc, tiết lộ cấu trúc tiềm ẩn của dữ liệu huấn luyện . Thuật toán học được cách biểu diễn bản đồ tốt nhất thông qua học không giám sát bằng cách giảm thiểu sự khác biệt giữa các phân bố xác suất chiều cao và chiều thấp.

Ứng dụng thực tế trong AI

t-SNE là một công cụ tiêu chuẩn用于phân tích dữ liệu thăm dò (EDA) và chẩn đoán mô hình. Nó cho phép các kỹ sư "nhìn thấy" những gì mô hình đang học.

  • Kiểm tra tính năng thị giác máy tính: Trong quy trình phát hiện đối tượng sử dụng các mô hình như YOLO26 , các nhà phát triển thường cần kiểm tra xem mạng có thể phân biệt giữa các lớp tương tự về mặt hình ảnh hay không. Bằng cách trích xuất các bản đồ đặc trưng từ các lớp cuối cùng của mạng và chiếu chúng bằng t-SNE, các kỹ sư có thể hình dung liệu hình ảnh "mèo" có được nhóm riêng biệt với "chó" hay không. Nếu các nhóm bị lẫn lộn, điều đó cho thấy khả năng trích xuất đặc trưng của mô hình cần được cải thiện.
  • Xử lý ngôn ngữ tự nhiên (NLP): t-SNE được sử dụng rộng rãi để trực quan hóa các vectơ từ. Khi các vectơ từ đa chiều (thường hơn 300 chiều) được chiếu xuống không gian 2D, các từ có ý nghĩa ngữ nghĩa tương tự sẽ tự nhiên được nhóm lại với nhau. Ví dụ, biểu đồ t-SNE có thể hiển thị một cụm chứa các từ "vua", "nữ hoàng", "hoàng tử" và "quốc vương", chứng tỏ rằng mô hình Xử lý ngôn ngữ tự nhiên (NLP) nắm bắt được khái niệm về hoàng gia.
  • Sinh học gen và Tin sinh học: Các nhà nghiên cứu sử dụng t-SNE để trực quan hóa dữ liệu giải trình tự RNA đơn bào. Bằng cách giảm hàng ngàn giá trị biểu hiện gen thành một biểu đồ 2D, các nhà khoa học có thể xác định các loại tế bào khác nhau và theo dõi quá trình phát triển, hỗ trợ khám phá những hiểu biết sinh học mới và các dấu hiệu bệnh tật.

So sánh với PCA

Điều quan trọng là phải phân biệt t-SNE với Phân tích Thành phần Chính (PCA) , một kỹ thuật giảm dữ liệu phổ biến khác.

  • PCA là một kỹ thuật tuyến tính tập trung vào việc bảo toàn phương sai tổng thể của dữ liệu. Nó mang tính xác định và hiệu quả về mặt tính toán, do đó rất phù hợp cho việc nén dữ liệu ban đầu hoặc giảm nhiễu.
  • t-SNE là một kỹ thuật phi tuyến tính tập trung vào việc bảo toàn các vùng lân cận cục bộ. Nó mang tính xác suất (ngẫu nhiên) và đòi hỏi nhiều tài nguyên tính toán hơn, nhưng lại tạo ra hình ảnh trực quan tốt hơn nhiều cho các đa tạp phức tạp, phi tuyến tính.

Một phương pháp thực hành tốt phổ biến trong xử lý dữ liệu sơ bộ là sử dụng PCA trước để giảm kích thước dữ liệu xuống mức dễ quản lý (ví dụ: 50 chiều) và sau đó áp dụng t-SNE cho việc trực quan hóa cuối cùng. Cách tiếp cận kết hợp này giúp giảm tải tính toán và lọc bỏ nhiễu có thể làm giảm chất lượng kết quả t-SNE.

Python Ví dụ: Trực quan hóa các tính năng

Ví dụ sau đây minh họa cách sử dụng scikit-learn Áp dụng t-SNE cho một tập dữ liệu tổng hợp. Quy trình này tương tự như cách người ta trực quan hóa các đặc trưng được trích xuất từ ​​một mô hình học sâu.

import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.manifold import TSNE

# Generate synthetic high-dimensional data (100 samples, 50 features, 3 centers)
X, y = make_blobs(n_samples=100, n_features=50, centers=3, random_state=42)

# Apply t-SNE to reduce dimensions from 50 to 2
# 'perplexity' balances local vs global aspects of the data
tsne = TSNE(n_components=2, perplexity=30, random_state=42)
X_embedded = tsne.fit_transform(X)

# Plot the result to visualize the 3 distinct clusters
plt.scatter(X_embedded[:, 0], X_embedded[:, 1], c=y)
plt.title("t-SNE Projection of High-Dimensional Data")
plt.show()

Những điểm cần lưu ý chính

Mặc dù mạnh mẽ, t-SNE đòi hỏi phải tinh chỉnh các siêu tham số một cách cẩn thận. Tham số "độ phức tạp" rất quan trọng; về cơ bản, nó dự đoán mỗi điểm có bao nhiêu láng giềng gần. Đặt giá trị quá thấp hoặc quá cao có thể dẫn đến hình ảnh trực quan sai lệch. Hơn nữa, t-SNE không bảo toàn tốt khoảng cách toàn cục — nghĩa là khoảng cách giữa hai cụm riêng biệt trên biểu đồ không nhất thiết phản ánh khoảng cách vật lý của chúng trong không gian ban đầu. Bất chấp những điểm khác biệt này, nó vẫn là một kỹ thuật nền tảng để xác thực kiến ​​trúc thị giác máy tính (CV) và hiểu các tập dữ liệu phức tạp. Người dùng quản lý các tập dữ liệu quy mô lớn thường tận dụng Nền tảng Ultralytics để tổ chức dữ liệu của họ trước khi thực hiện phân tích chuyên sâu như vậy.

Tham gia Ultralytics cộng đồng

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay