4. 중요 장소 추출 알고리즘
4.2. 제안 기법
4.2.2. 정지 위치 인지
사용자의 경로 데이터가 주어졌을 때 우선 수행되어야 하는 작 업은 시퀀스의 시간정보와 위치좌표정보를 활용하여 데이터로부터 SL를 추출해내는 작업이다. 대상이 방문하는 주요 장소를 인식하기 위해서는 대상 장소에 머문 시간이나 재방문 여부 등을 복합적으로 고려하여야 되기 때문에 일반적인 클러스터링 방법론인 K-means와 같은 방법론을 사용한다면 이러한 시퀀스와 무관하게 클러스터링이 형성되기 때문에 적절하기 못한 클러스터링 결과를 제공하여 준다. 본 연구의 방법론은 절차형 방법을 제시하고 있기 때문에 시퀀스적 선후관계를 반영하기 위해서는 첫 번째 단계인 ST추출 단계에서 이 를 반영해야 할 필요성이 있다.
기존의 방법론은 중요 장소를 추출하기 위한 단일형 방법론이었 다면, 이 단계에서는 바로 중요 장소를 도출하는 것이 아닌 사전 과 정인 데이터로부터 장소를 추정하는 데에 긍정적인 영향을 줄 수 있는 머무름을 선별적으로 찾아내는 것이 중요하다고 할 수 있다. 따라서 머무름으로 인지되더라도 머무르는 시간이 짧거나 머무르는 기간 동안 측정된 데이터의 수가 적을 경우 관찰된 머무름이 실제 의미 있는 머무름이었다는 근거가 불충분함을 의미하므로 이를 배 제하는 과정이 필요하다고 할 수 있다.
본 연구에서는 클러스터링 기반 방법론을 사용하여 SL을 탐색
42
하는 방법론을 선택하였으며, 이를 선택한 이유 중 하나는 클러스터 링 방법론이 가지는 노이즈에 대한 내성이 불안정한 데이터 소스로 부터 신뢰할만한 결과를 도출하는 것을 보조해 줄 수 있을 것이라 판단하였기 때문이다. 노이즈를 이 단계에서 제거하려고 하는 이유 는 절차적 방법론으로 중요 장소를 도출하고자 하였지 때문에 만약 노이즈 정보가 초기 단계에 많이 포함된다면 다음 단계의 성능에 악영향을 미칠 수 있기 때문이다.
클러스터링 방법론을 기반으로 중요 장소를 추출하는 다양한 연 구가 수행되었으며, 이중 Palma et al.은 DBSCAN을 시퀀스 정보를 반
영하도록 변형을 가한 CB-SMoT 방법론[39]을 사용하여 클러스터링
을 수행하였다. 본 연구에서는 ST를 추출하기 위하여 CB-SMoT 방법 론을 데이터에 맞게 확장하여 사용하도록 하였다.
DBSCAN은 알고리즘의 특성상 노이즈 데이터에 대해 일부 내성
을 지니고 있으며, 이러한 특성으로 인해 중요 장소를 추출하여 활 용하는 다양한 연구에서 많이 사용되었다. 특히 이상점을 클러스터 링 과정에서 배제할 수 있는 특성이 있기 때문에 파라미터를 적절 하게 선정한다면 측정 디바이스의 에러 등에 의하여 관찰된 이상점
들을 배제하는 데에 도움을 줄 수 있다. 이 단계의 목적은 OP 나
RP와 같이 인지 가능한 장소를 추출하는 것이 아닌 중요 장소 추출
을 위한 중간 구성 요소인 ST를 추출하는 것이 목적이므로 노이즈 에 내성을 지닐 수 있도록 보수적으로 파라미터를 설정하여 사용하 는 것이 필요하다고 할 수 있다.
CB-SMoT는 DBSCAN을 기반으로 위치추적 데이터에서 시퀀스를
고려한 클러스터링을 수행하기 위해 파라미터 및 내부 절차를 일부 수정한 알고리즘이다. 이 알고리즘은 이웃의 확인을 통해 클러스터 링을 형성하는 과정에서 데이터 시퀀스의 관점에서 인접해 있는 대
43
상만을 클러스터링의 대상으로 한정하고, 사전에 정해진 이웃 확인 구간 eps 내에 존재하는 데이터의 수를 확인하여 최소 기준인 minPts를 초과할 경우 클러스터링을 수행하는 대신, 해당 구간 내에 있는 데이터들이 클러스터로 인정받을 수 있는 최소 시간 minTime 을 정의하여, 해당 시간을 초과할 경우에만 클러스터링을 수행하는 방법론을 제안하였다. 이러한 과정을 통해 minTime 이상의 구간이 포함된 시퀀스 클러스터들을 확보할 수 있으며, eps 값을 적절히 조 정함으로써 정지 또는 저속 구간을 획득하는 것이 가능하다.
하지만 이 방법론은 기본적으로 위치 데이터간의 시간 간격이 균일하게 지속적으로 획득 가능하다는 가정하에서 성립하는 모형으 로 데이터가 등간격으로 획득되지 않는 실제 상황에 적용하기에는 한계점이 존재한다. 만약 위치 데이터가 등간격으로 주어졌을 경우 에는 minTime과 eps를 통해 대상의 속도를 판별하고 이를 기반으로 적절하게 클러스터링을 수행할 수 있지만, 데이터가 등간격이 아닐 경우에는 minTime과 eps 만으로 속도를 한정 지을 수 없다. 예를
들어 eps가 100m이고 데이터의 수집 간격 1분이라면, 최대 100m/1
분의 속도 이하일 경우에만 클러스터로 인지한다는 제약을 둔 것이 라고 할 수 있지만, 데이터 포인트의 간격이 일정하지 않는 경우에 는 이러한 판별이 의도한 바의 역할을 수행할 수 없게 된다. 실제 상황에서는 고속으로 움직인 대상을 SL로 하게 되는 등의 문제점이 존재할 수 있고, 이를 방지하기 위해 eps 파라미터를 낮추게 되면
다수의 정상적인 ST 후보들을 잃게 된다는 문제점이 있다. 따라서
본 연구에서는 CB-SMoT 알고리즘에 다음과 같은 제약사항을 추가로 도입하여 이를 보완하고자 하였다.
첫째, 연속된 시퀀스를 선별하는 데에 있어 maxSpeed 지표를 도입하여 특정 속도 이하로 이루어진 시퀀스에 대해서만 클러스터
44
링을 수행하도록 하였다. 이를 통해 등간격으로 데이터가 주어지지 않았거나, 데이터의 누락이 있을 때에 가질 수 있는 문제를 일부 해 소하고자 하였으며 이는 다음의 수식의 조건으로 선별되게 된다. 이 때 ≤ < < ≤ 이다.
( , ) ⋅ ( , ) ≤
둘째, CB-SMoT 알고리즘에서는 minTime 만을 고려하였지만, 본
연구에서는 minPts도 같이 고려함으로써 SL로 인정하기 위한 데이
터가 불충분한 경우를 제외할 수 있도록 하였다. SL에 포함되는 데
이터의 수가 적다는 것은 관찰된 SL가 충분한 지지 근거를 가지지 못한다는 것을 의미하고, 머무른 시간이 짧다는 것은 많은 경우 중 요한 정보가 아니기 때문에 두 가지 경우 모두에 대해 ST선정에서 제외하도록 하였다.
Input: T, eps, maxSpeed, minTime, minPts Output: S, w
Procedure STAYDETECTION(T, eps, minTime, minPts, maxSpeed) ←
for each unvisited location point p in trajectory T do mark p as VISITED
NB ← getNeighbor(p, eps, maxSpeed)
if | | < minPts and seqTime(NB) < minTime then mark p as NOISE
45 else
C ← a new cluster C.id ← a new id add point p to cluster C
for each neighbor ∈ NB do if is not visited then mark as VISITED
′ ← getNeighbor(p, eps, maxSpeed)
If | | ≥ minPts and seqTime( ′) ≥ minTime then ← ∪ ′
end if end if
if is not yet member of any cluster then add to cluster C
else
C.id = the id of cluster holding end if
end for S . ←
end if end for return S, w end procedure
[그림 9] 클러스터링 기반 머무름(ST) 알고리즘
46
위의 [그림 9]는 본 과정에서 사용한 알고리즘을 도식화 한 것 이다. NB는 주어진 데이터 포인트 p에 대하여 거리 eps 내에 최대
속도인 maxSpeed를 만족하고 시퀀스의 관점에서 연속적으로 되어
있는 데이터들의 집합이다. 만약 NB에 포함된 데이터의 수가 minPts보다 작거나, NB에 포함되어 있는 데이터 포인트들의 최초 시 간과 마지막 시간의 차이가 최소 만족 시간인 minTime보다 작을 경 우 해당 데이터 포인트 p를 노이즈로 표기한다. 만약 위의 조건을 만족할 경우에는 실제 클러스터링을 수행하며 이 과정은 DBSCAN [86]의 클러스터링 방법론과 동일하게 진행된다.
위의 과정을 통해 SL들의 집합 S와 다음 과정에서 가중치로 사 용할 각 위치 좌표 별 이웃 수 w를 획득할 수 있으며, 스마트 디바 이스의 위치 제공자의 특성상 시퀀스 중 이상점이 발생하거나, 환경 적 또는 기기적 요인들로 인해 측정에 왜곡이 발생하는 경우가 빈 번하게 발생하기 때문에 시퀀스가 파편화되거나, 시퀀스 상으로 떨 어져 있으면 같은 장소를 재방문 하더라도 다른 클러스터로 인지하
게 된다. 각 SL 후보들은 한 번의 방문을 의미하고, 경우에 따라서
는 노이즈에 의해 파편화되어 한번의 방문이 여러 개의 다른 SL 후
보로 분리되어 인지될 수 있으며 이러한 현상은 아래의 [그림 10]에
서 확인할 수 있다. GPS 센서의 특성상 실내에서는 정확하게 장소를
획득할 수 없기 때문에 SP를 의미하는 파란색 점들이 분리되어 나 타남을 왼쪽 그림에서 확인할 수 있다. 오른쪽 그림은 개념적으로 장소가 인지되어야 하는 과정을 도식화 한 것으로 왼쪽의 파란색 점들에 대응하는 s 과 s 가 하나의 장소로 인식되어야 함을 의미한 다. 본 연구를 통해 추출하고자 하는 중요 장소는 같은 지점을 여러 번 방문하는 장소함으로써 사용자에게 자주 방문할 정도로 의미 있 는 장소를 확인하는 것으로 추출된 이들 SL들을 같은 장소로 판단
47
되는 유사군 들을 융합하는 과정을 수행할 필요성이 있으며 이 과 정을 추후 절차에서 수행한다.
[그림 10] 측위 정보에 의한 위치 파편화 발생 예시
추후 절차를 통해 파편화된 SP을 합치는 과정이 존재하므로 정 지된 장소를 오류 없이 정확히 인지하여 이후의 과정에 전달하는 것이 이 단계에서 중요하게 고려해야 할 사항 중 하나이다. 그렇기 때문에 알고리즘의 파라미터를 파편화가 다수 발생하더라도 빠짐없 이 SP를 인지할 수 있도록 보수적으로 설정하는 것이 적절하다고 할 수 있다. 본 연구에서는 실험을 통해 SP 추출 알고리즘의 파라미 터를 ePs는 0.001, minPts는 5, minTime은 2분, maxSpeed는 8km/h으 로 설정하였다.