Чи має сенс найближчий сусід з t-SNE?


10

Відповіді на цю заяву вказували, що розміри в t-SNE є безглуздими і що відстані між точками не є мірою подібності .

Однак чи можемо ми сказати що-небудь про точку на основі найближчих сусідів у просторі t-SNE? Ця відповідь на питання, чому точки, які точно однакові, не кластеризовані, дозволяє припустити, що співвідношення відстаней між точками є аналогічним між представленнями нижнього та вищого розмірів.

Наприклад, на зображенні нижче показано t-SNE в одному з моїх наборів даних (15 класів).

Чи можу я сказати, що cro 479(угорі праворуч) - це чужа людина? Чи fra 1353(внизу зліва) схожіше, cir 375ніж інші зображення в fraкласі тощо? Чи це можуть бути лише артефакти, наприклад, fra 1353застрягли на іншій стороні кількох скупчень і не змогли пробитися до іншого fraкласу?

введіть тут опис зображення



Відповіді:


8

Ні, це не обов'язково, що це так, однак, це зведено, мета T-SNE.

Перш ніж потрапляти до м’яса відповіді, давайте розглянемо деякі основні визначення, як математично, так і інтуїтивно.

Найближчі сусіди : Розглянемо метричний простір та набір векторів , задавши новий вектор , ми хочемо знайти точки такі, що. Інтуїтивно зрозуміло, що це просто мінімум відстаней, використовуючи відповідне визначення норми в .RdX1,...,XnRdxRd||X1x||...||Xnx||Rd

Тепер перейдемо до того, чи мають значення найближчі сусіди, застосовуючи зменшення розмірності. Зазвичай у своїх відповідях я маю намір щось раціоналізувати з математики, коду та інтуїції. Розглянемо спочатку інтуїтивний аспект речей. Якщо у вас є точка, яка знаходиться на відстані від іншої точки, з нашого розуміння алгоритму t-sne ми знаємо, що ця відстань зберігається під час переходу до вищих вимірів. Давайте припустимо, що точка є найближчим сусідом у деякому вимірі . За визначенням існує залежність між відстані в іdyxddd+k. Отже, у нас є наша інтуїція, яка полягає в тому, що відстань підтримується в різних вимірах, або, принаймні, саме до цього ми прагнемо. Спробуємо виправдати це якоюсь математикою.

У цій відповіді я розповідаю про математику, яка бере участь у t-sne, хоча і не докладно ( t-SNE: Чому рівні значення даних візуально не близькі? ). Те, що тут є математикою, - це в основному максимізація ймовірності того, що дві точки залишаються близькими у проектованому просторі, оскільки вони є у вихідному просторі, вважаючи, що розподіл балів експоненціальний. Отже, дивлячись на це рівняння . Зауважте, що ймовірність залежить від відстані між двома точками, тому чим далі вони одна від одної, тим далі вони віддаляються, коли вони проектуються на менші розміри. Зауважте, що якщо вони далеко вpj|i=exp(||xjxi||22σ2)kiexp(||xjxi||22σ2)Rk, є хороший шанс, що вони не будуть близькими в прогнозованому вимірі. Отже, тепер у нас є математичне обґрунтування того, чому точки "повинні" залишатися близькими. Але знову ж таки, оскільки це експоненціальний розподіл, якщо ці точки значно відстають один від одного, немає гарантії збереження власності Найближчих сусідів, хоча це і є метою.

Тепер нарешті акуратний приклад кодування, який також демонструє цю концепцію.

from sklearn.manifold import TSNE
from sklearn.neighbors import KNeighborsClassifier
X = [[0],[1],[2],[3],[4],[5],[6],[7],[8],[9]]
y = [0,1,2,3,4,5,6,7,8,9]
neighs = KNeighborsClassifier(n_neighbors=3)
neighs.fit(X, y)
X_embedded = TSNE(n_components=1).fit_transform(X)
neighs_tsne = KNeighborsClassifier(n_neighbors=3)
neighs_tsne.fit(X_embedded, y)
print(neighs.predict([[1.1]]))
>>>[0]
print(neighs_tsne.predict([[1.1]]))
>>>[0]

Хоча це дуже наївний приклад і не відображає складності, він експериментує за допомогою простих прикладів.

EDIT: Крім того, додавання деяких пунктів щодо самого питання, тому не обов'язково, щоб це було так, можливо, проте, раціоналізація його за допомогою математики засвідчила б, що у вас немає конкретного результату (немає остаточного так чи ні) .

Я сподіваюся, що це усунуло деякі ваші проблеми з TSNE.


Дякую за хорошу відповідь. Підводячи підсумок: Бали, які мають велику схожість, мають велику ймовірність перебування поруч. Я здогадуюсь, що параметр здивування контролює кількість точок, які використовуються для обчислення ймовірності, тож кластери можуть стати роз'єднаними, якщо здивування мало. Чи можете ви прокоментувати раннє перебільшення? Крім того, я припускаю, що ймовірність того, що пункти будуть застарілими чи неправильно класифікованими (мають усі свої NN в іншому класі), використовуючи простір TSNE, буде збільшена, якщо вони будуть узгоджені після декількох TSNE з випадковою ініціалізацією?
геометрикал

Так, розгубленість є одним з головних факторів, який впливає на те, як близько розташовані точки один до одного. Раннє перебільшення, інтуїтивно - це те, наскільки тісні кластери в первісному просторі і скільки місця буде між ними у вбудованому просторі (тож це суміш як здивування, так і раннього перебільшення, що впливає на відстані між точками. Що стосується останнього запитання, відповідь так, це відбувається через експоненцію норми, яка може спричинити проблеми у вбудовуваному просторі, тому існує ймовірність неправильної класифікації.
PSub
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.