t-SNE для двумерных карт

Обучение без учителя на Python

Benjamin Wilson

Director of Research at lateral.io

t-SNE для двумерных карт

  • t-SNE = «t-распределённое стохастическое вложение соседей»
  • Отображает объекты в 2D-пространство (или 3D)
  • Карта приближённо сохраняет близость объектов
  • Отлично подходит для исследования наборов данных
Обучение без учителя на Python

t-SNE на наборе данных Iris

  • Набор данных Iris содержит 4 измерения, то есть объекты четырёхмерны
  • t-SNE отображает объекты в 2D-пространство
  • t-SNE не знал о различных видах
  • ...и всё же сохранил их преимущественно раздельными

диаграмма рассеяния t-SNE для набора данных Iris

Обучение без учителя на Python

Интерпретация диаграмм рассеяния t-SNE

  • "versicolor" and "virginica" harder to distinguish from one another
  • Consistent with k-means inertia plot: could argue for 2 clusters, or for 3

scatter plot of t-SNE performed on Iris dataset

Обучение без учителя на Python

t-SNE в sklearn

  • Двумерный массив NumPy 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]]
  • Список species с видами в виде чисел (0, 1 или 2)
print(species)
[0, 0, 1, 2, ..., 0]
Обучение без учителя на Python

t-SNE в 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()

диаграмма рассеяния t-SNE для набора данных Iris

Обучение без учителя на Python

t-SNE: только fit_transform()

  • Имеет метод fit_transform()
  • Одновременно обучает модель и преобразует данные
  • Отдельных методов fit() и transform() нет
  • Нельзя расширить карту для новых объектов
  • Каждый раз нужно начинать заново!
Обучение без учителя на Python

Скорость обучения t-SNE

  • Подберите скорость обучения для набора данных
  • Неверный выбор: точки сбиваются в кучу
  • Попробуйте значения от 50 до 200
Обучение без учителя на Python

Каждый раз по-новому

  • Признаки t-SNE различаются при каждом запуске
  • Вина Пьемонта, 3 запуска — 3 разные диаграммы рассеяния!
  • ...однако: сорта вин (=цвета) сохраняют то же положение относительно друг друга

 

3 диаграммы рассеяния t-SNE для набора данных о винах, выполненные трижды

Обучение без учителя на Python

Давайте потренируемся!

Обучение без учителя на Python

Preparing Video For Download...