TDA를 요약하자면 머신러닝에 들어가는 데이터 전처리 방법 중 하나이다.


점(하나의 데이터)이 여러 개 모여 있는 데이터 집합의 모양을 컴퓨터가 알 수 있도록 하고,


이를 통해 기존 PCA와 같은 차원 축소 방법을 대체하려는 것처럼 보인다.


연결성을 살펴보기 위해 데이터 집합의 각 점에 대해 반지름을 키워가며,


반지름 안에 다른 점이 포함되면 그 안에 있는 모든 점들의 거리를 계산한다.


(n차원 구에 데이터가 k개 있으면 총 k!만큼 비교)

이 거리가 일정 값 a 이하이고 구 내부의 점 개수가 3개라면, 삼각형 같은 도형을 데이터 집합 위에 그린다.


이 r을 0부터 무한대까지 변화시키면서, r에 따라 계속 바뀌어 그려지는 도형들을 하나의 도형으로 보고,


그 과정에서 구멍이 언제 생기고 언제 사라지며, 구멍이 몇 개 있는지를 살펴본다.


이러한 변화가 나타나고 사라지는 시점을 r이라는 타임라인에 모두 표시하는데,


이를 Persistent Homology를 계산한다고 하며,


구멍의 생성과 소멸 시기를 관측한 결과를 정리해 놓은 것이 퍼시스턴스 다이어그램이다.

결국 이렇게 복잡한 계산 과정을 거친 뒤에는


나머지는 모두 잊고 퍼시스턴스 다이어그램만 보면 된다.


이제 다이어그램을 분석할 때,


구멍의 수명이 짧은 것은 노이즈라고 가정하고(2차 정보 손실),


수명이 긴 것은 유의미한 데이터라고 보면 된다.


약간 더 다듬어서


퍼시스턴스 다이어그램을 벡터화 시키고 그걸 인풋으로 넣는다


단점으로는 PCA기반 신경망에 넣으면 호환 안됨