OPTICS
| 기계 학습과 데이터 마이닝 |
|---|
OPTICS는 공간 데이터에서 밀도 기반[1] 군집을 찾기 위한 알고리즘이다. 1999년 미하엘 앙커스트(Mihael Ankerst), 마르쿠스 M. 브로이닉(Markus M. Breunig), 한스-페터 크리겔, 요르크 잔더가 발표하였다.[2] 기본 개념은 DBSCAN과 유사하지만,[3] DBSCAN의 주요 약점 중 하나인 데이터의 밀도가 다를 때 의미 있는 군집을 탐지하는 문제를 해결한다. 이를 위해 데이터베이스의 점들을 공간적으로 가장 가까운 점들이 정렬 순서상 인접하도록 (선형적으로) 정렬한다. 추가로, 각 점에는 두 점이 같은 군집에 속하기 위해 받아들여야 하는 밀도를 나타내는 특별한 거리가 저장된다. 이는 덴드로그램으로 표현된다.
기본 개념
DBSCAN과 마찬가지로 OPTICS는 두 개의 매개변수를 필요로 한다. 고려할 최대 거리(반경)를 나타내는 ε과 군집을 형성하는 데 필요한 점의 수를 나타내는 MinPts이다. 점 p의 ε-이웃 내에 (점 p 자신을 포함하여) 최소 MinPts 개의 점이 발견되면 p를 핵심점(core point)이라고 한다. DBSCAN과 달리 OPTICS는 더 밀도가 높은 군집의 일부인 점들도 고려하므로, 각 점에는 MinPts 번째로 가까운 점까지의 거리를 설명하는 핵심 거리(core distance)가 할당된다.
점 p로부터 다른 점 o까지의 도달 가능 거리(reachability-distance)는 o와 p 사이의 거리와 p의 핵심 거리 중 더 큰 값이다.
p와 o가 가장 가까운 이웃이라면, 이는 p와 o가 같은 군집에 속하도록 가정해야 하는 를 의미한다.
핵심 거리와 도달 가능 거리는 (ε에 대해) 충분히 밀도가 높은 군집을 사용할 수 없는 경우 정의되지 않는다. 충분히 큰 ε을 주면 이러한 일은 일어나지 않지만, 모든 ε-이웃 질의가 전체 데이터베이스를 반환하게 되어 의 시간 복잡도를 초래한다. 따라서 더 이상 흥미롭지 않은 군집의 밀도를 차단하고 알고리즘의 속도를 높이기 위해 ε 매개변수가 필요하다.
엄밀히 말해 ε 매개변수는 반드시 필요한 것은 아니다. 단순히 가능한 최대값으로 설정할 수 있다. 그러나 공간 인덱스를 사용할 수 있는 경우 복잡도 측면에서 실제적인 역할을 한다. OPTICS는 이 매개변수를 제거함으로써, 최소한 최대값만 제공하면 되도록 DBSCAN을 추상화한다.
의사 코드
OPTICS의 기본 접근 방식은 DBSCAN과 유사하지만, 처리되지 않은 군집 멤버들을 집합에 유지하는 대신 우선순위 큐 (예: 인덱싱된 힙 사용)에 유지한다.
function OPTICS(DB, ε, MinPts) is
for each point p of DB do
p.reachability-distance = UNDEFINED
for each unprocessed point p of DB do
N = getNeighbors(p, ε)
mark p as processed
output p to the ordered list
if core-distance(p, ε, MinPts) != UNDEFINED then
Seeds = empty priority queue
update(N, p, Seeds, ε, MinPts)
for each next q in Seeds do
N' = getNeighbors(q, ε)
mark q as processed
output q to the ordered list
if core-distance(q, ε, MinPts) != UNDEFINED do
update(N', q, Seeds, ε, MinPts)
update() 함수에서는 우선순위 큐 Seeds가 각각 와 의 -이웃으로 업데이트된다.
function update(N, p, Seeds, ε, MinPts) is
coredist = core-distance(p, ε, MinPts)
for each o in N
if o is not processed then
new-reach-dist = max(coredist, dist(p,o))
if o.reachability-distance == UNDEFINED then // o is not in Seeds
o.reachability-distance = new-reach-dist
Seeds.insert(o, new-reach-dist)
else // o in Seeds, check for improvement
if new-reach-dist < o.reachability-distance then
o.reachability-distance = new-reach-dist
Seeds.move-up(o, new-reach-dist)
따라서 OPTICS는 최소 도달 가능 거리(원래 알고리즘에서는 핵심 거리도 내보내지만, 추후 처리에는 필수가 아님)가 주석으로 달린 특정 순서로 점들을 출력한다.
군집 추출
도달 가능성 플롯(일종의 덴드로그램)을 사용하면 군집의 계층적 구조를 쉽게 얻을 수 있다. 이는 x축에 OPTICS가 처리한 점의 순서를, y축에 도달 가능 거리를 나타내는 2D 플롯이다. 군집에 속한 점들은 가장 가까운 이웃까지의 도달 가능 거리가 낮기 때문에, 군집은 도달 가능성 플롯에서 계곡 형태로 나타난다. 계곡이 깊을수록 군집의 밀도가 높다.
위의 이미지는 이 개념을 설명한다. 왼쪽 상단 영역에는 합성 예제 데이터 세트가 표시되어 있다. 오른쪽 상단은 OPTICS에 의해 생성된 신장 부분 그래프를 시각화하며, 하단은 OPTICS로 계산된 도달 가능성 플롯을 보여준다. 이 플롯의 색상은 레이블이며 알고리즘에 의해 계산된 것은 아니지만, 플롯의 계곡이 위 데이터 세트의 군집과 어떻게 대응되는지 잘 보여준다. 이 이미지에서 노란색 점들은 노이즈로 간주되며, 도달 가능성 플롯에서 계곡을 찾을 수 없다. 이 점들은 일반적으로 계층적 결과 내의 항상 존재하는 "모든 데이터" 군집을 제외하고는 군집에 할당되지 않는다.
이 플롯에서 군집을 추출하는 작업은 시각적 확인 후 x축의 범위를 선택하거나, y축의 임계값을 선택하여 수동으로 수행할 수 있다(결과는 동일한 및 minPts 매개변수를 가진 DBSCAN 군집화 결과와 유사함; 여기서 0.1 정도의 값이 좋은 결과를 낼 수 있음). 또는 급경사, 무릎 감지, 국소 최대값을 통해 계곡을 감지하려는 다양한 알고리즘을 사용할 수도 있다. 급격한 하강으로 시작하여 급격한 상승으로 끝나는 플롯의 범위는 계곡으로 간주되며, 고밀도의 인접 영역에 대응된다. 계곡의 마지막 점들을 내부 또는 외부 군집에 할당할 때는 이전 점을 고려하여 추가적인 주의를 기울여야 한다.[4] 이런 방식으로 얻은 군집화는 일반적으로 계층적 군집화이며, 단일 DBSCAN 실행으로는 달성할 수 없다.
복잡도
DBSCAN과 마찬가지로 OPTICS는 각 점을 한 번씩 처리하며, 이 과정에서 한 번의 -이웃 질의를 수행한다. 시간 복잡도로 이웃 질의를 보장하는 공간 인덱스가 주어진다면, 전체 시간 복잡도는 이 된다. 그러나 최악의 경우 DBSCAN과 같이 이다. 원본 OPTICS 논문의 저자들은 DBSCAN과 비교하여 1.6배의 실제 상수 속도 저하를 보고했다. 값이 너무 크면 이웃 질의 비용이 선형 복잡도로 상승할 수 있으므로, 값이 알고리즘 비용에 큰 영향을 미칠 수 있음에 유의해야 한다.
특히 (데이터 세트의 최대 거리보다 크게)로 선택하는 것은 가능하지만, 모든 이웃 질의가 전체 데이터 세트를 반환하기 때문에 이차 복잡도를 초래한다. 공간 인덱스를 사용할 수 없는 경우에도 힙을 관리하는 데 추가 비용이 든다. 따라서 은 데이터 세트에 적합하게 선택해야 한다.
확장
OPTICS-OF[5]는 OPTICS 기반의 이상 탐지 알고리즘이다. 주요 용도는 다른 이상 탐지 방법 대비 낮은 비용으로 기존 OPTICS 실행에서 이상치를 추출하는 것이다. 더 잘 알려진 버전인 LOF도 동일한 개념에 기반한다.
DeLi-Clu[6]는 Density-Link-Clustering의 약자로, 계층적 군집화와 OPTICS의 아이디어를 결합하여 ε 매개변수를 제거하고 OPTICS보다 성능을 개선한다.
HiSC[7]는 OPTICS 기반의 계층적 부분 공간 군집화 방법이다.
HiCO[8]는 OPTICS 기반의 계층적 상관 군집화 알고리즘이다.
DiSH[9]는 더 복잡한 계층을 찾을 수 있는 HiSC의 개선판이다.
FOPTICS[10]는 랜덤 투영을 사용하여 더 빠른 구현을 제공한다.
HDBSCAN*[11]은 DBSCAN의 개선판을 기반으로 하며, 경계점들을 군집에서 제외함으로써 하티건(Hartigan)이 정의한 밀도 수준의 기본 정의를 더 엄격하게 따른다.[12]
OPTICS Cordillera[13]는 데이터 세트의 군집화 정도를 나타내는 설명적 Scagnostics 측정치이다. OPTICS를 사용하여 덴드로그램을 생성한 다음, 덴드로그램 정보를 0(군집화 없음)과 1(최대 군집화) 사이의 군집화 정도로 집계한다.
가용성
OPTICS, OPTICS-OF, DeLi-Clu, HiSC, HiCO 및 DiSH의 자바 구현은 ELKI 데이터 마이닝 프레임워크에서 사용할 수 있다(여러 거리 함수에 대한 인덱스 가속 및 ξ 추출법을 사용한 자동 군집 추출 기능 포함). 다른 자바 구현체로는 Weka 확장(군집 추출용 ξ 미지원)이 있다.
R 패키지 "dbscan"은 유클리드 거리에 대해서만 K-d 트리를 사용한 인덱스 가속을 지원하는 C++ 기반의 OPTICS 구현(전통적인 dbscan 방식 및 ξ 군집 추출 방식 모두 포함)을 포함하고 있다.
OPTICS의 파이썬 구현은 PyClustering 라이브러리와 Scikit-learn에서 사용할 수 있다. HDBSCAN*은 hdbscan 라이브러리에서 사용할 수 있다.
각주
- ↑ Kriegel, Hans-Peter; Kröger, Peer; Sander, Jörg; Zimek, Arthur (May 2011). “Density-based clustering”. 《Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery》 1 (3): 231–240. doi:10.1002/widm.30. S2CID 36920706.
- ↑ Ankerst, Mihael; Breunig, Markus M.; Kriegel, Hans-Peter; Sander, Jörg (1999). “OPTICS: Ordering points to identify the clustering structure”. 《ACM SIGMOD Record》 28 (2): 49–60. doi:10.1145/304181.304187.
- ↑ Martin Ester; Hans-Peter Kriegel; Jörg Sander; Xiaowei Xu (1996). Evangelos Simoudis; Jiawei Han; Usama M. Fayyad (편집). 《A density-based algorithm for discovering clusters in large spatial databases with noise》. Proceedings of the Second International Conference on Knowledge Discovery and Data Mining (KDD-96). 전미인공지능학회. 226–231쪽. CiteSeerX 10.1.1.71.1980. ISBN 1-57735-004-9.
- ↑ Schubert, Erich; Gertz, Michael (2018년 8월 22일). 《Improving the Cluster Structure Extracted from OPTICS Plots》 (PDF). Lernen, Wissen, Daten, Analysen (LWDA 2018). 318–329쪽 – CEUR-WS 경유.
- ↑ Markus M. Breunig; Hans-Peter Kriegel; Raymond T. Ng; Jörg Sander (1999). 〈OPTICS-OF: Identifying Local Outliers〉. 《Principles of Data Mining and Knowledge Discovery》. Lecture Notes in Computer Science 1704. 슈프링어. 262–270쪽. doi:10.1007/b72280. ISBN 978-3-540-66490-1. S2CID 27352458.
- ↑ Achtert, Elke; Böhm, Christian; Kröger, Peer (2006). 〈DeLi-Clu: Boosting Robustness, Completeness, Usability, and Efficiency of Hierarchical Clustering by a Closest Pair Ranking〉. Ng, Wee Keong; Kitsuregawa, Masaru; Li, Jianzhong; Chang, Kuiyu (편집). 《Advances in Knowledge Discovery and Data Mining, 10th Pacific-Asia Conference, PAKDD 2006, Singapore, April 9-12, 2006, Proceedings》. Lecture Notes in Computer Science. Springer. 119–128쪽. doi:10.1007/11731139_16. ISBN 978-3-540-33206-0.
- ↑ Achtert, Elke; Böhm, Christian; Kriegel, Hans-Peter; Kröger, Peer; Müller-Gorman, Ina; Zimek, Arthur (2006). 〈Finding Hierarchies of Subspace Clusters〉. Fürnkranz, Johannes; Scheffer, Tobias; Spiliopoulou, Myra (편집). 《Knowledge Discovery in Databases: PKDD 2006, 10th European Conference on Principles and Practice of Knowledge Discovery in Databases, Berlin, Germany, September 18-22, 2006, Proceedings》. Lecture Notes in Computer Science. Springer. 446–453쪽. doi:10.1007/11871637_42. ISBN 978-3-540-45374-1.
- ↑ Achtert, E.; Böhm, C.; Kröger, P.; Zimek, A. (2006). 〈Mining Hierarchies of Correlation Clusters〉. 《18th International Conference on Scientific and Statistical Database Management (SSDBM'06)》. 119–128쪽. CiteSeerX 10.1.1.707.7872. doi:10.1109/SSDBM.2006.35. ISBN 978-0-7695-2590-7. S2CID 2679909.
- ↑ Achtert, Elke; Böhm, Christian; Kriegel, Hans-Peter; Kröger, Peer; Müller-Gorman, Ina; Zimek, Arthur (2007). 〈Detection and Visualization of Subspace Cluster Hierarchies〉. Ramamohanarao, Kotagiri; Krishna, P. Radha; Mohania, Mukesh K.; Nantajeewarawat, Ekawit (편집). 《Advances in Databases: Concepts, Systems and Applications, 12th International Conference on Database Systems for Advanced Applications, DASFAA 2007, Bangkok, Thailand, April 9-12, 2007, Proceedings》. Lecture Notes in Computer Science. Springer. 152–163쪽. doi:10.1007/978-3-540-71703-4_15. ISBN 978-3-540-71702-7.
- ↑ Schneider, Johannes; Vlachos, Michail (2013). 〈Fast parameterless density-based clustering via random projections〉. 《Proceedings of the 22nd ACM international conference on Information & Knowledge Management》. 861–866쪽. doi:10.1145/2505515.2505590. ISBN 978-1-4503-2263-8.
- ↑ Campello, Ricardo J. G. B.; Moulavi, Davoud; Zimek, Arthur; Sander, Jörg (2015년 7월 22일). “Hierarchical Density Estimates for Data Clustering, Visualization, and Outlier Detection”. 《ACM Transactions on Knowledge Discovery from Data》 10 (1): 1–51. doi:10.1145/2733381. S2CID 2887636.
- ↑ J.A. Hartigan (1975). 《Clustering algorithms》. John Wiley & Sons.
- ↑ Rusch, Thomas; Hornik, Kurt; Mair, Patrick (2018). “Assessing and Quantifying Clusteredness: The OPTICS Cordillera”. 《Journal of Computational and Graphical Statistics》 27 (1): 220–233. doi:10.1080/10618600.2017.1349664.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.