연구개요: 이 연구에서는 그래프의 밀도를 기반으로 그래프에 내재된 군집을 찾기 위한 그래프 분할 알고리즘을 제시하였다. 먼저, 그래프 기반의 군집화 기법은 그래프 형태의 데이터 나 데이터를 그래프형태로 표현한 경우, 그래프를 분할함으로써 유의미한 군집을 찾는 기법이다. 기존 그래프기반의 군집화 기법은 몇 가지 한계점을 가지고 있는데, 밀도기반의 그래프 분할 기법을 이러한 한계점을 극복하였고 그 성능 역시 우수함을 보였다.


1.발표준비과정

발표를 준비하기 위해서 우선 발표 슬라이드를 구성하는데 매우 많은 시간을 사용하였다. 특히 기존 연구에 대한 참고문헌 검토에 많은 시간을 할애하였다. 참고 문헌 검토를 통해서 기존 기법들의 특징과 장단점에 대한 이해를 하고 이를 요약하여 표현하는데 다소 많은 시간이 걸렸다. 또한, 알고리즘의 프로세스를 보다 효과적으로 전달하기 위해서 슬라이드에 많은 애니메이션이 삽입되었는데, 이 역시 상당히 많은 시간이 소비되었다.

발표 준비를 위해서 발표 연습을 15회정도 하였다. 연구실 사람들 앞에서 연습하지는 못하였지만, 몇 명에게는 슬라이드를 보여주고 앞에서 소리내면서 발표 연습을 하였다. 또 발표 전날에는 빈 강의실에 들어가서 연습해보고, 학회장에 가는 버스 안에서도 계속 연습을 하였다.


2.발표 시 아쉬웠던 점과 개선방향

발표 연습을 비교적 많이 하고 슬라이드를 제작하는데 많은 시간을 투자했기 때문에 예전에 비해 발표를 하는데 있어서 더듬거림은 줄어든 것 같다.  하지만, 발표 시간에 쫓겨 너무 빠르게 발표하는 것은 여전히 고쳐지지 않았다. 또한 다른 발표에 비해 Eye contact도 부족했던 것 같다. 이러한 실수는 긴장감에서 기인하는 것 같다. 긴장감을 줄이는 것은 해결해야 할 숙제이다.

또한, 발표가 끝나고 질의응답에 있어서도 많은 아쉬움이 남는다. 슬라이드 구성과 발표 연습에만 너무 힘을 쏟은 탓인지 예상되는 질문과 이에 대한 적절한 답변을 준비하지 못했다. 앞으로 발표준비를 할 때 예상되는 질문과 이에 대한 답변을 준비하는 과정 역시 수반되어야 한다고 생각했다.


3.발표 후 나온 질문 목록과 답변 평가

질문1: 군집의 개수를 어떻게 알 수 있습니까? 세 번째 시뮬레이션은 군집이 2개 잘된 거라 말씀하셨는데 사실 3개로 볼 수도 있지 않습니까?

내가 했던 답변1: 시뮬레이션은 특정한 상황과 이에 대한 정답을 설정해 놓고, 다른 기법들과 제안하는 기법이 정답에 대해 얼마나 근접한 결과를 보여주는 지를 검증하는 과정입니다. 물론 군집의 크기를 어떻게 결정하는지, 데이터에 내재된 군집의 개수가 몇 개인지 정확하게 판단하는 것은 매우 어려운 일입니다. 하지만, 우리는 세 번째 시나리오의 경우는 데이터에 내재된 군집이 2개라고 정답을 가정하였기 때문에 설정한 2개의 군집이 얼마나 정확하게 재현되었는지를 평가하는 것이 시뮬레이션의 목적이었습니다. 세 번째 시나리오의 그림을 보면 질문자께서 말씀해주신 대로 끝부분에 있는 일부 작은 부분이 다른 군집을 형성하는 것처럼 보일 수도 있지만, 이 부분은 데이터를 생성하는 과정에서 약간 애매하게 생성된 부분으로 보입니다.

평가1: 시뮬레이션의 목적에 대해 설명하고 이를 통해 일단 정답이 사전에 설정한 2개의 군집을 얼마나 정확하게 찾는 것인지에 대해 답변한 것은 만족할만하다고 생각한다. 하지만, 군집이 3개로 볼 수도 있지 않나에 대한 답변이 부족했던 것 같다. 다음과 같이 수정된 답변을 하였으면 좋을 것이라고 생각한다.

수정된 답변1: 군집을 정의하는 관점은 군집화 기법의 범주에 따라 다소 다릅니다. 예를 들어 그래프 기반의 군집화 기법에서는 하부그래프(Subgraph)간의 연결이 최대화된 상태를 군집으로 정의합니다. 우리가 연구한 군집화 기법은 그래프 기반의 군집화 기법에 포함되고, 성능을 비교한 다른 기법들(Spectral Clustering, Modularity-Based Clustering) 역시 그래프 기반의 군집화 알고리즘에 포함됩니다. 그래프 기반의 군집화 기법의 성능을 비교하기 위해서는 그래프 상에 내재된 군집을 그래프 기반의 관점에서 정의해야 합니다. 세 번째 시뮬레이션 데이터를 보면 바나나 형태의 군집 중 일부가 별개의 군집을 형성하는 것처럼 보이지만, 사실 두 개의 군집간에는 그래프 상에서 강한 강도의 연결이 보입니다. 앞서 언급했듯이, 그래프 기반의 군집화 기법의 관점에서는 분할된 것처럼 보이는 두 개의 군집간에 강한 연결성이 존재하기 때문에 두 개의 군집이 하나의 군집으로 간주되어야 합니다.
 
질문2: Hierarchical Clustering과 어떠한 차이점이 있나요?

내가 했던 답변2: 물론 Core point들이 군집의 구조를 형성해나가는 과정은 Point간 연결성을 최대화하는 과정으로써 서로 연결된 Subgraph들을 Merge하여 상위의 Subgraph 구조를 형성하고 이 과정을 상위 Subgraph간 연결이 존재하지 않을 때까지 반복하게 됩니다. 서로 연결된 하위 Sugraph들이 상위 Subgraph로 합쳐지는 과정에서 Hierarchy를 구성하는 계층적 군집화 기법과 유사한 부분은 존재합니다. 하지만, 밀도가 낮은 부분에 위치하는 점들을 제거하고 군집화를 수행하기 때문에 노이즈나 이상치에 의한 영향을 줄임으로써 계층적 군집화 기법의 한계점을 극복할 수 있습니다.

평가2: 이 질문은 작년 학회에서도 나온 질문이었는데 이번 학회에서도 제대로 된 답을 못한 것 같아 매우 아쉬운 부분이었다. 계층적 군집화와는 다른 점을 확실하게 강조하는 다음의 답변이 더 좋았을 것이라고 생각한다.

수정된 답변2: 우리는 밀도가 낮은 부분에 의해 그래프가 분할된다는 밀도기반의 군집화 기법의 기본 전제를 도입하였는데, 이는 몇 가지 장점이 있습니다. 보다 자세히 설명 드리면, 각 point들의 밀도를 정의하고 이를 기반으로 밀도가 높은 부분과 밀도가 낮은 부분으로 분류하여 밀도가 낮은 부분을 임시적으로 제거하고 밀도가 높은 부분을 연결하여 군집을 형성하는 과정을 도입하였습니다. 우선 밀도가 낮은 부분을 임시적으로 제거함으로써 군집간의 차이를 보다 분명하게 나타낼 수 있었습니다. 군집간의 차이가 분명해진다는 것은 군집 간의 연결성이 제거되었다는 것을 의미하는데 이를 통해서 군집을 자동적으로 형성할 수 있었습니다. 이는 Dendrogram상의 Splitting 지점을 분석자가 설정하여 군집을 분할하게 되는 Hierarchical Clustering 기법과 근본적으로 다른 점이라고 할 수 있습니다. 임시적으로 제거되었던 부분들은 밀도가 높은 부분에서 형성된 군집에 할당되고 군집간 연결성을 최소화 하는 방향으로 다시 재배열되는 과정을 반복하면서 군집을 형성한다는 점 역시 Hierarchical Clustering 기법과 다른 점 입니다.