Tensorflow 2 NLP(자연어처리)/차원축소 2

[1-2] 특이값 분해를 통한 차원축소

특이값 분해를 이해하기 위해서는 행렬에 대한 기초지식이 필요하다. ​ 다음 링크에서 자세한 이해가 가능하다. https://angeloyeo.github.io/2019/08/01/SVD.html#fn:1 ​ ​ 간단하게 말하자면, 1. 행렬분해를 통해 하나의 원본을 여러개로 쪼개어 표현할 수 있다. 2. 쪼개어진 여러개의 정보들 중에 중요한 정보들 몇개만을 선택한다. 3. 그들의 합만으로도 원본에 가까운 결과를 구현할 수 있다 4. 이때 행과 열중 차원 축소하고 싶은 부분을 찾아 그 구분에 맞게 축소된 U를 쓰던지, 축소된 VT를 쓰는지를 정해 차원을 낮추는 것(차원축소)가 가능하다는 것이다. ​ ​ 원본(=높은차원) ⇒ 다시 짜맞춘 결과물(낮은차원) ​ 자세히 말하자면, 행렬 분해 각 행렬의 성질 ​ ..

[1-1] t-SNE 차원축소 기법

고차원 데이터를 보기 쉬운 저차원으로 시각화하는 기법 → https://ratsgo.github.io/machine learning/2017/04/28/tSNE/ (책 작가의 블로그) ​ ​ 위를 간단히 정리하면 차원축소의 목적 : 각 데이터간의 거리관계를 저차원에서도 잘 표현하기 > ​ ⇒ SNE란? ​ 1. 고차원에서의 데이터간의 관계를 확률로 표현 : p 저차원에서의 데이터간의 관계를 확률로 표현 : q 즉, p와 q가 유사할수록 차원축소가 잘 되었다고 볼수 있다. 이를 수학적으로 계산하기 위해 다음 식을 이용한다. Cost 식 ​ p와q가 유사할수록 Cost가 작아진다.(p와q가 유사하면 1이되고 로그1은 0이기 때문) ​ ​ 2. 이제 Cost가 작을수록 p와q가 유사하고 p와q가 유사하다는 것..