Ең жақын көршісіне T-SNE-мен мағынасы бар ма?

Бұл жерде жауаптар T-SNE өлшемдері мағынасыз екенін және нүктелер арасындағы қашықтықты білдіреді. ұқсастық өлшемі .

Дегенмен, Т-СЕ кеңістігіндегі жақын көршілеріне негізделген нүкте туралы бірдеңе айта аламыз ба? Бұл сұраққа неге бұл дәл сол сияқты кластерленбеген нүктелер арасындағы қашықтық арақатынасы төменгі және жоғары өлшемді көріністер арасындағы ұқсастығын көрсетеді.

Мысалы, төмендегі суретте менің деректер жиынтығымның біреуінде (15 сынып) t-SNE көрсетіледі.

cro 479 (жоғарғы оң жақта) дегеніміз не? fra 1353 (төменгі сол жақта) cir 375 fra сыныпындағы басқа суреттерге қарағанда ұқсас және т.б. Немесе олар тек артефакттар бола алар ма еді, мысалы: fra 1353 бірнеше кластердің екінші жағында қалды және басқа fra класына өтуге мәжбүр болды ма?

enter image description here

7
қосылды автор Aditya, көзі
қосылды автор Aditya, көзі

1 жауаптар

Жоқ, бұл жағдайдың қажеті жоқ, дегенмен, бұл T-SNE-нің мақсаты болып табылады.

Жауаптың етіне кірмес бұрын, математикалық және интуитивті түрде де кейбір негізгі анықтамаларды қарастырайық.

Nearest Neighbors: Consider a metric space $\mathbb{R}^d$ and a set of vectors $X_1, ..., X_n \in \mathbb{R}^d$, given a new vector $x \in \mathbb{R}^d$, we want to find the points such that $|| X_1 - x || \le ... \le ||X_n - x ||$. Intuitively, it's just the minimum of the distances using a suitable definition of norm in $\mathbb{R}^d$.

Енді жақын көршілердің өлшемділікті төмендету кезінде маңызы зор ма екеніне көз жеткізіңіз. Әдетте менің жауаптарымда математикамен, кодпен және түйсігі бар нәрсені рационализациялауға тырысамын. Алдымен заттардың интуитивті аспектісін қарастырайық. Егер сізде басқа нүктеден $ d $ қашықтыққа дейін жететін нүкте болса, онда біз алшақтықты алгоритмді түсінуден бастап, біз жоғары қашықтыққа өту кезінде бұл қашықтық сақталғанын білеміз. Әрі қарай $ y $ нүктесі $ d $ кейбір өлшемінде ең жақын көршісіне $ x $ деп қарастырайық. Анықтау бойынша $ d $ және $ d + k $ аралығындағы қашықтық бар. Мәселен, біздің түйсігі бар, ол қашықтық әр түрлі өлшемдер бойынша сақталады, немесе, кем дегенде, біз осы мақсатқа сай. Оны кейбір математикамен ақтауға тырысайық.

Бұл жауапта мен тегжейлі емес, бірақ тегжейлі емес ( t-SNE: Неліктен бірдей деректер мәндері көзбен жабылмайды? ). Бұл жерде математика дегеніміз, негізінен, нүктелердің таралуы экспоненталық деп болжанған бастапқы кеңістікте болғандықтан, екі нүктенің болжанған кеңістікте жақын қалу ықтималдығын барынша арттырады. Осылайша, осы теңдеуге қарап $ p_ {j | i} = \ frac {exp (\ frac {- || x_j - x_i || ^ 2} {2 \ sigma ^ 2})} {\ sum_ {k \ neq i} {exp (\ frac {- || x_j - x_i || ^ 2} {2 \ sigma ^ 2})}} $. Ықтималдылық екі нүктенің арасындағы қашықтыққа байланысты екеніне назар аударыңыз, сонан соң олар одан әрі бөлінеді, одан кейінгі өлшемдер төмендейді деп болжанған кезде одан әрі бөлінеді. Назар аударыңыз, егер олар $ \ mathbb {R} ^ k $ -да бір-бірінен алыс болса, олар жобаланған өлшемде жақын болмайтын жақсы мүмкіндік бар екенін ескеріңіз. Енді, бізде «неге керек» ұстанымдары неліктен математикалық негізде жатыр? Бірақ тағы да, бұл экспоненталық бөлу болғандықтан, егер бұл нүктелер әлдеқайда алыс болса, жақын маңдағы көршілердің мүлкі сақталуына кепілдік жоқ, бірақ бұл мақсат.

Енді, ақыр соңында, бұл тұжырымдаманы дәл көрсететін таза кодының мысалы.

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]

Бұл өте қарапайым мысал болса да және күрделілігін көрсетпесе де, ол кейбір қарапайым мысалдар үшін эксперимент арқылы жұмыс істейді.

ӨЗГЕРТУ: Сонымен қатар, сұрақтың өзіне қатысты кейбір ұпайларды қосу керек, сондықтан бұл жағдайдың қажеті жоқ, мүмкін математика арқылы оны рационализациялау сізде нақты нәтиже жоқ екенін дәлелдейді (ешқандай иә немесе жоқ) .

Мен сендердің кейбір мәселелеріңізді TSNE-мен тазартқан деп сенемін.

6
қосылды
Жақсы жауап үшін рахмет. Қорытындылай келе: Жоғары ұқсастықтары бар нүктелер жақын болу ықтималдығы жоғары. Мен шатастырмалық параметр ықтималдығын есептеу үшін қанша баллды пайдаланатындығын бақылап отырады деп ойлаймын, сондықтан шабуылдардың деңгейі төмен болған жағдайда кластерлер бөлінбеуі мүмкін. Сіз бұрынғы асыра сілтеумен түсіндіре аласыз ба? Сондай-ақ, кездейсоқ инициализациялаумен бірге бірнеше TSNE-дан кейін келісілген жағдайда, TSNE кеңістігін пайдалану арқылы нүктелердің болуы немесе дұрыс емес (барлық басқа NN-нің бар болуы) ықтималдығы көбейеді деп ойлаймын?
қосылды автор geometrikal, көзі
Ия, түсініксіздік - бұл жақын нүктелердің бір-біріне қаншалықты жақын болуына әсер ететін негізгі факторлардың бірі. Бастапқы кеңістіктегі тығыз кластерлер мен олардың арасында кеңістіктің қаншалықты кеңеюі ерте асырылса, (бұл да екі шатыстылық пен нүктелер арасындағы қашықтыққа әсер ететін ертерек мәжбүрлеудің қоспасы.) Сіздің соңғы сұрағыңызға қатысты иә, бұл нормадағы экспоненциация себебінен, ендірме кеңістіктегі мәселелерді тудыруы мүмкін, сондықтан дұрыс емес жіктеу мүмкіндігі бар.
қосылды автор James Shade, көзі