Biorę za przykład Przetwarzanie języka naturalnego, ponieważ to jest dziedzina, w której mam większe doświadczenie, dlatego zachęcam innych do dzielenia się swoimi spostrzeżeniami z innych dziedzin, takich jak widzenie komputerowe, biostatystyka, szeregi czasowe itp. Jestem pewien, że w tych dziedzinach są podobne przykłady.
Zgadzam się, że czasami wizualizacje modeli mogą być pozbawione sensu, ale myślę, że głównym celem tego rodzaju wizualizacji jest pomoc w sprawdzeniu, czy model faktycznie odnosi się do ludzkiej intuicji czy innego (nieobliczalnego) modelu. Dodatkowo na danych można przeprowadzić eksploracyjną analizę danych.
Załóżmy, że mamy model osadzania słów zbudowany z korpusu Wikipedii przy użyciu Gensim
model = gensim.models.Word2Vec(sentences, min_count=2)
Mielibyśmy wtedy wektor 100 wymiarów dla każdego słowa reprezentowanego w tym korpusie, który jest obecny co najmniej dwa razy. Więc jeśli chcemy wizualizować te słowa, musielibyśmy je zredukować do 2 lub 3 wymiarów przy użyciu algorytmu t-sne. Tutaj powstają bardzo interesujące cechy.
Weź przykład:
wektor („król”) + wektor („mężczyzna”) - wektor („kobieta”) = wektor („królowa”)
Tutaj każdy kierunek koduje pewne cechy semantyczne. To samo można zrobić w 3d
(źródło: tensorflow.org )
Zobacz, jak w tym przykładzie czas przeszły znajduje się na określonej pozycji odpowiadającej imiesłowowi. To samo dotyczy płci. To samo dotyczy krajów i stolic.
W świecie osadzania słów starsze i bardziej naiwne modele nie miały tej właściwości.
Zobacz ten wykład Stanforda po więcej szczegółów.
Proste reprezentacje Vector Word: word2vec, GloVe
Były one ograniczone do grupowania podobnych słów razem bez względu na semantykę (czas płeć lub czasownik nie były kodowane jako kierunki). Nic dziwnego, że modele, które mają kodowanie semantyczne jako kierunki w niższych wymiarach, są bardziej dokładne. Co ważniejsze, można ich używać do eksploracji każdego punktu danych w bardziej odpowiedni sposób.
W tym konkretnym przypadku nie sądzę, że t-SNE jest używany jako pomoc w klasyfikacji jako takiej, bardziej przypomina kontrolę poprawności twojego modelu i czasami znajduje wgląd w konkretny korpus, którego używasz. Co do problemu, że wektory nie znajdują się już w oryginalnej przestrzeni cech. Richard Socher wyjaśnia w wykładzie (link powyżej), że wektory niskiego wymiaru dzielą rozkłady statystyczne z własną większą reprezentacją, a także innymi właściwościami statystycznymi, które umożliwiają analizę wizualną w wektorach zatapiających mniejsze wymiary.
Dodatkowe zasoby i źródła obrazu:
http://multithreaded.stitchfix.com/blog/2015/03/11/word-is-worth-a-thousand-vectors/
https://www.tensorflow.org/tutorials/word2vec/index.html#motivation_why_learn_word_embeddings%3F
http://deeplearning4j.org/word2vec.html
https://www.tensorflow.org/tutorials/word2vec/index.html#motivation_why_learn_word_embeddings%3F