본 포스팅은 2023년 1월 16일 - 17일 양일간 진행된 부산대학교 수학과 빅데이터 기반 미래 교육 인재 양성 프로그램(주최 : 부산대학교 빅데이터 기반 금융 수산 제조 혁신 산업수학센터)에서 필자가 시연한 TDA 튜토리얼을 기반으로 하고 있습니다.
Python 코드 실습 자료는 필자의 Github repository에서 확인하실 수 있습니다.
위상수학적 데이터 분석(Topological Data Analysis; TDA)는 대수위상수학적 도구를 사용하여, 데이터가 가진 기하학적 특징을 분석하고 활용하는 새로운 데이터 분석 기법입니다.
TDA는 기존에 통계학과 같이 빈도주의에 따른 기법들에서 쉽사리 분석하기 힘들었던 데이터의 기하학적 구조를 분석하는 도구들을 제공합니다.
현재 TDA는 의료 이미지 분석, 네트워크 분석, 재료공학 구조 분석, 시계열 분석, 중력파 분석, 머신러닝, 딥러닝 등에 활발히 응용되고 있습니다.
이번 튜토리얼에서는 TDA를 활용해 데이터에서 기하학적 특징을 추출하고, 그것을 머신러닝에 응용하는 방법에 대하여 배워보도록 하겠습니다.
Persistent Homology(PH)는 위상수학적 데이터 분석에서 데이터의 기하학적 성질을 추출하는 핵심적인 도구입니다.
PH를 이론적으로 완벽히 이해하기 위해서는 수학적인 배경지식이 다소 많이 필요하지만, 여기서는 대략적인 PH의 철학과 그 의미만을 다루고자 합니다.
PH를 이해하기 위한 이론적 배경에 대해 더욱 자세히 알고 싶으신 분은 이전 포스팅 시리즈를 참고해주세요.
위 그림은 조르주 쇠라의 <그랑드자트 섬의 일요일 오후>라는 그림입니다.
이 그림은 멀리서 보기엔 연속적인 곡선과 면으로 이루어진 그림 같지만, 자세히 보면 이 그림은 무수히 많은 점들로 이루어진 그림입니다.
사람의 눈과 뇌는 이 무수히 많은 점을 보면서 이산적으로 느끼기보다는 연속적인 곡선과 색감으로 인식합니다.
만일, 우리가 인간을 닮은 인공지능을 개발한다고 하면 이러한 인간의 능력을 컴퓨터에게 부여하는 일은 굉장히 중요할 수 있습니다.
컴퓨터는 모든 데이터를 이산적으로 받아들이기 때문입니다.
어떻게 하면 컴퓨터가 이산적인 데이터로부터 연속적인 성질을 인식하도록 할 수 있을까요?
위상수학적 데이터 분석은 Persistent homology(PH)라는 도구를 사용해 이산적인 데이터로부터 데이터의 기하학적 성질을 추론합니다.
PH의 엄밀한 정의와 성질을 설명하기에 앞서서, 데이터의 기하학적 특징을 추출한다는 것을 살펴보고자 합니다.
이를 위해서는 데이터가 가진 성질과 기하학이 가진 성질 사이의 차이를 이해할 필요가 있습니다.
컴퓨터가 보는 고양이 사진. (이미지 출처 : InData Labs )이미지 데이터를 생각해봅시다.
이미지 속의 강아지나 고양이는 본래 실세계에선 연속적인 형태를 띄는 대상입니다.
그렇기 때문에 우리는 강아지와 고양이의 모양이 가지는 기하학적 성질을 수학적으로 잘 정의하고 계산할 수 있습니다.
그러나, 이미지 데이터는 실세계에 있던 연속적인 대상을 이산적으로 샘플링 한 것이라고 볼 수 있습니다.
이미지 데이터는 픽셀에 실세계 대상이 가지고 있던 시각적 정보를 요약하고 압축하여 저장합니다.
그러므로 데이터화된 이미지에서 본래 사진 안에 있던 강아지와 고양이가 가진 기하학적 성질을 수학적으로 정의하고 계산하기란, 그리고 그것이 대량의 데이터에 일관되게 적용되는 방법을 생각하는 일은 쉬운 일이 아닙니다.
요컨대 데이터는 이산적인 표본의 성질을 띄며, 기하학은 연속적인 성질을 띄기 때문에 이들 각각을 다루는 수학적인 방법에 차이가 있습니다.
그럼에도 불구하고 사람에게는 이산적인 정보로부터 연속적인 대상을 생각하고 그 성질을 인식하는 사고능력이 있습니다.
이러한 사고과정을 이산적인 데이터가 사실은 매끄러운 기하학적 대상(다양체; Manifold)으로부터 표본추출된 것이라고 생각하고, 매끄러운 기하학적 대상이 가지고 있던 성질을 이산적인 데이터로부터 추론하는 것이라고 이해할 수 있습니다.
이러한 방법론을 기하학적 추론(Geometric inference)라고 합니다.
위상수학적 데이터 분석은 Persistent homology를 이용해 기하학적 추론을 수행합니다.
기하학적 추론은 통계학에서 표본을 통해 모집단의 성질을 추론하는 통계적 추론(Statistical inference)와 비교한다면, 그 철학을 이해하기가 쉬울 것입니다.
통계학에서는 표본평균과 표본표준편차와 같은 통계량으로부터 모집단의 모평균과 모표준편차와 같은 모수를 추론했던 것과 유사하게, 위상수학적 데이터 분석에서는 데이터의 PH로부터 모집단 다양체가 가지는 호몰로지를 추론합니다.
호몰로지가 매끄러운 다양체의 성질을 이해하고 분류하는 데에 중요한 역할을 한다는 것은 수학자들에게 익히 알려진 사실입니다.
그러므로, 이산적인 데이터로부터 호몰로지를 추정하는데 사용되는 Persistent homology는 호몰로지와 마찬가지로 데이터의 기하학적 성질을 이해하고 데이터를 기하학적인 구조로 분류하는 데에 중요한 역할을 할 수 있다고 생각할 수 있습니다.
위상수학은 연결성(connectedness)에 대해 연구하는 수학이라고 할 수 있습니다.
연결성은 위상공간의 연결성분(connected component), 구멍(loop), 빈 공간(void) 그리고 이것들의 일반화된 구멍의 개수로 나타내어 집니다.
이러한 정보를 잘 담고 있는 수학적 대상이 위상공간의 호몰로지(homology)입니다.
그러나 데이터에서 호몰로지를 이용해 이러한 정보를 추출하고자 하면, 데이터들은 이산적으로 모두 떨어져(disconnected)있기 때문에 유용한 정보를 얻기 어렵습니다.
그래서 기존의 사람들은 데이터들을 적당한 거리 파라미터 을 기준으로, 이내에 있는 점들끼리 연결한 후 호몰로지를 계산해왔습니다.
이 방법에는 한 가지 문제점이 있는데, 파라미터 의 값이 얼마일 때 데이터의 기하학적인 정보를 가장 잘 나타내는지에 대한 기준이 없었습니다.
순전히 연구자의 주관과 경험에 따를 수 밖에 없었으며, 이는 빅데이터를 분석하는데에 굉장한 리스크가 되었습니다.
Persistent homology는 필트레이션을 이용해 데이터로부터 심플리셜 컴플렉스의 진화과정을 만들고, 그 과정 중에 연결성분(파란 막대)이나 구멍(점선)의 지속성을 측정한다. [이미지 출처 : Figure 1 in Otter, Nina, et al. "A roadmap for the computation of persistent homology." EPJ Data Science 6 (2017)]Persistent homology(PH)는 필트레이션(filtration)과 함자성(functoriality)를 이용해 이러한 약점을 극복합니다.
먼저 파라미터 을 점점 증가시켜가면서 데이터를 연결해나가면, 에 대한 심플리셜 컴플렉스의 축소나열(nested sequence) $X{\epsilon_0} \subset X{\epsilon1} \subset \cdots \subset X{\epsilon_n} \subset \cdots $ 를 얻습니다.
각 심플리셜 컴플렉스 이 가진 연결성에 대한 정보는 그것의 호몰로지 클래스(homology class)로 포함됩니다.
필트레이션 안에서 호몰로지 클래스는 함자성(functoriality)에 의해 효과적으로 그 진화과정을 추적할 수 있습니다.
함자성은 심플리셜 컴플렉스들의 축소나열
를 연결하는 포함사상(inclusion map)을 호몰로지의 축소나열
로 자연스럽게 변환시킵니다.
이렇게 얻은 호몰로지의 축소나열에서 에 대하여, 사상 의 상 를 Persistent homology라고 정의합니다.
Persistent homology 는 가 가진 호몰로지 클래스가 에서 지속되는지(persist) 또는 소멸하는지(death)를 추적할 수 있게 해줍니다.
또한, 낮은 차원의 심플렉스들이 연결되면서 높은 차원의 새로운 연결성이 탄생(birth)한 것을 발견하게 해주기도 합니다.
이렇게 하면 데이터가 가진 연결성이 어느 파라미터값에서 탄생하고 소멸했는지를 구간 로 나타낼 수 있습니다.
이 구간들의 모임을 Persistence Barcode(PB)라고 부릅니다.
PB에서 긴 수명(lifespan)를 가지는 호몰로지 클래스는 대부분의 파라미터 값에 대해서 데이터가 지니고 있는 내재적 기하학적 특성이므로, 이를 데이터가 추출된 다양체가 가졌던 호몰로지의 추정치로 사용할 수 있을 것입니다.
반면에, 짧은 수명을 가진 호몰로지 클래스는 노이즈로 간주됩니다.
이처럼 PH를 이용하면 손쉽게 파라미터의 의존성을 벗어난 데이터의 요약을 얻을 수 있습니다.
PH의 장점은 이뿐만이 아닙니다.
PH를 계산하는 과정은 선형대수학을 이용하여 수행할 수 있으므로, 자동화된 컴퓨팅을 이용한 데이터 분석에 적합합니다.
뿐만 아니라, PH는 노이즈에 대해 견고한(robust)한 특징을 지니고 있습니다. [Cohen steiner, Stability of Persistence Diagrams, 2007]
즉, 데이터에 노이즈가 다소 첨가되더라도 긴 수명을 가진 호몰로지 클래스에 대한 정보는 크게 변하지 않습니다.
이러한 특성은 노이즈가 많은 현실의 데이터를 분석하는 데에 굉장히 유용한 역할을 합니다.