t-SNE cho bản đồ 2 chiều

Unsupervised Learning bằng Python

Benjamin Wilson

Director of Research at lateral.io

t-SNE cho bản đồ 2 chiều

  • t-SNE = "t-distributed stochastic neighbor embedding"
  • Ánh xạ mẫu vào không gian 2D (hoặc 3D)
  • Bản đồ xấp xỉ bảo toàn độ gần nhau của mẫu
  • Rất hữu ích để khám phá dữ liệu
Unsupervised Learning bằng Python

t-SNE trên tập Iris

  • Tập Iris có 4 phép đo, nên mẫu là 4 chiều
  • t-SNE ánh xạ mẫu vào không gian 2D
  • t-SNE không biết có các loài khác nhau
  • ... nhưng vẫn tách được các loài khá rõ

biểu đồ tán xạ của t-SNE trên tập Iris

Unsupervised Learning bằng Python

Diễn giải biểu đồ t-SNE

  • "versicolor" và "virginica" khó phân biệt hơn
  • Phù hợp với đồ thị inertia của k-means: có thể chọn 2 hoặc 3 cụm

biểu đồ tán xạ của t-SNE trên tập Iris

Unsupervised Learning bằng Python

t-SNE trong sklearn

  • Mảng NumPy 2D samples
print(samples)
[[ 5.   3.3  1.4  0.2]
 [ 5.   3.5  1.3  0.3]
 [ 4.9  2.4  3.3  1. ]
 [ 6.3  2.8  5.1  1.5]
 ...
 [ 4.9  3.1  1.5  0.1]]
  • Danh sách species chứa nhãn loài dạng số (0, 1, hoặc 2)
print(species)
[0, 0, 1, 2, ..., 0]
Unsupervised Learning bằng Python

t-SNE trong sklearn

import matplotlib.pyplot as plt
from sklearn.manifold import TSNE
model = TSNE(learning_rate=100)

transformed = model.fit_transform(samples) xs = transformed[:,0] ys = transformed[:,1] plt.scatter(xs, ys, c=species) plt.show()

biểu đồ tán xạ của t-SNE trên tập Iris

Unsupervised Learning bằng Python

t-SNE chỉ có fit_transform()

  • Có phương thức fit_transform()
  • Đồng thời fit mô hình và biến đổi dữ liệu
  • Không có fit() hay transform() riêng
  • Không thể mở rộng bản đồ để thêm mẫu mới
  • Mỗi lần phải chạy lại từ đầu!
Unsupervised Learning bằng Python

Learning rate của t-SNE

  • Chọn learning rate phù hợp bộ dữ liệu
  • Chọn sai: điểm bị dồn cục
  • Thử các giá trị 50–200
Unsupervised Learning bằng Python

Mỗi lần đều khác

  • Đặc trưng t-SNE thay đổi mỗi lần chạy
  • Rượu Piedmont: 3 lần chạy, 3 biểu đồ tán xạ khác nhau!
  • ... nhưng: Vị trí tương đối giữa các giống rượu (=màu) vẫn giống nhau

 

3 biểu đồ tán xạ của t-SNE trên tập rượu vang ở 3 lần chạy khác nhau

Unsupervised Learning bằng Python

Ayo berlatih!

Unsupervised Learning bằng Python

Preparing Video For Download...