Изменения
→Симметричное стохастическое вложение соседей
== Симметричное стохастическое вложение соседей ==
Следующая модификация SNE носит название '''симметричное стохастическое вложение соседей''' (англ. ''Symmetric Stochastic Neighbor Embedding, Symmetric SNE''). Было странно, что которая будет использоваться дальше в классическом t-SNE <tex>p_{j|i} \neq p_{i|j}</tex> и <tex>q_{j|i} \neq q_{i|j}</tex>. Симметричный SNE {{---}} попытка исправить эту ситуацию путем определения совместных вероятностей в качестве альтернативы использует совместные вероятности вместо условных. Теперь:
<tex>C = KL(P \Vert Q) = \sum\limits_i \sum\limits_j p_{i j} \log_2 \frac {p_{i j}} {q_{i j}}</tex>.
Очевидным образом определяется можно определить <tex>q_{i j}</tex>:
<tex>q_{i j} = \frac {\exp { -{\left\Vert y_i - y_j \right\Vert}^2 } } {\sum\limits_{k \neq l} \exp { -{\left\Vert y_k - y_l \right\Vert}^2 } }</tex>,
но то же решение для <tex>p_{i j}</tex> привело бы к проблеме, что для [[Выброс|выброса]] <tex>x_i</tex> <tex>p_{i j}</tex> будет очень маленькой для любого <tex>x_j</tex>, таким образом будет почти нулевой соответствующая дивергенция Кульбака-Лейблера для любого распределения <tex>q_{i j}</tex>. Это означало бы, что положение точки <tex>y_i</tex> определялось бы очень неточно относительно положения других точеки не было бы особой разницы в том, где она расположена. Поэтому в t-SNE <tex>p_{i j}</tex> определили как:
<tex>p_{i j} = \frac {p_{i|j} + p_{i|j} } {2|X|}</tex>.
Очевидный плюс такого определения в том, что <tex>\sum\limits_j p_{i j} > \frac 1 {2|X|}</tex> для всех точек, что хорошо скажется на выбросах. А также теперь <tex>p_{i j} = p_{j i}</tex>, <tex>q_{i j} = q_{j i}</tex>. Авторы утверждают, что симметричный SNE вкладывает данные в пространство низкой размерности почти так же как и ассиметричный, а иногда даже лучше.
Градиент при таком подходе принимает вид: