SOM 알고리즘 개요SOM(Self-Organizing Feature Map, 자기조직화 특징 지도)은 신경망 관점에 기반한 군집화(clustering)와 데이터 시각화 기법입니다. 신경망 기반이라는 배경에도 불구하고, SOM은 프로토타입 기반 군집화(prototype-based clustering)의 한 변형이라는 맥락에서 매우 간단하게 설명될 수 있습니다.SOM 알고리즘의 동작 절차SOM 알고리즘은 다음과 같은 순서로 진행됩니다.중심점(centroid)들을 초기화합니다.다음 객체를 선택합니다.해당 객체에 가장 가까운 중심점을 찾
연관 패턴 평가가 필요한 이유연관 분석(association analysis) 알고리즘은 어마어마한 수의 패턴을 생성할 수 있습니다. 예를 들어 데이터 집합에 항목이 여섯 개뿐이더라도, 특정 지지도와 신뢰도 임계값에서 수천 개의 연관 규칙이 만들어질 수 있습니다. 실제 금융 데이터베이스처럼 규모와 차원이 큰 데이터에서는 수천 개, 심지어 수백만 개의 패턴이 손쉽게 생성되며, 그중 상당수는 전혀 가치 없는 것들입니다.생성된 패턴 가운데 가장 흥미로운 것들을 골라내는 일은 결코 쉬운 작업이 아닙니다. 어떤 사람에게는 쓸모없는 정보가 다
표준 레이블의 정의그래프 동형성(graph isomorphism) 문제를 다루는 표준적인 방법 중 하나는 각 그래프를 코드(code) 또는 표준 레이블(canonical label)이라 불리는 특정 문자열 표현으로 변환하는 것입니다. 표준 레이블의 가장 중요한 성질은 다음과 같습니다.두 그래프가 동형(isomorphic)이라면, 두 그래프의 코드는 반드시 동일해야 한다.이 성질 덕분에 우리는 그래프 자체를 직접 비교하는 대신, 각 그래프의 표준 레이블만 분석함으로써 동형성 여부를 손쉽게 판별할 수 있습니다.1단계: 인접 행렬(Adj
네거티브 패턴 마이닝 기법이란?데이터 마이닝에서 드물게 나타나는 패턴(infrequent pattern)을 추출하기 위해 개발된 초기 기법은 모든 아이템을 대칭 이진 변수(symmetric binary variable)로 간주합니다. 이 접근법은 트랜잭션 데이터를 부정 아이템(negative item)으로 보강하여 이진화하는 방식으로 진행됩니다.원본 데이터에 부정 아이템을 추가하면 각 트랜잭션은 긍정 아이템과 부정 아이템을 모두 포함하게 됩니다. 여기에 Apriori와 같은 기존 빈발 항목집합(frequent itemset) 생성
데이터 마이닝에서 패턴의 지지도 기댓값(expected support)을 결정하는 방법은 크게 두 가지가 있습니다. 하나는 개념 위계(concept hierarchy)를 활용하는 방식이고, 다른 하나는 간접 연관(indirect association)이라 불리는 이웃 기반(neighborhood-based) 접근법입니다.개념 위계에 기반한 지지도 기댓값객관적인 측도만으로는 흥미 없는 저빈도(infrequent) 패턴을 걸러내기에 충분하지 않습니다. 예를 들어 빵과 노트북 컴퓨터는 각각 자주 구매되는 품목입니다. 이 둘로 이루어진 품
클러스터링(Clustering)은 물리적 또는 추상적인 객체들의 집합을 성격이 유사한 클래스로 묶는 과정을 의미합니다. 하나의 클러스터는 같은 클러스터 내부에서는 서로 유사하고, 다른 클러스터의 객체들과는 뚜렷이 구별되는 데이터 객체들의 집합입니다. 여러 응용 분야에서 클러스터에 속한 데이터 객체들은 하나의 그룹으로 간주되어 활용됩니다. 클러스터 분석은 인간이 오랫동안 수행해 온 본질적인 활동이기도 합니다.클러스터 분석은 레코드에 대한 다양한 측정값을 기반으로 유사한 레코드들을 그룹으로 형성하는 데 사용됩니다. 여기서 핵심 설계 원
클러스터 분석이란 무엇인가?클러스터 분석(군집 분석)은 인류가 오랜 시간 수행해 온 본질적인 활동 중 하나입니다. 이 기법은 다양한 측정값을 기준으로 유사한 레코드들을 그룹 또는 클러스터로 묶는 데 사용됩니다. 핵심 설계 목표는 분석의 목적에 실질적으로 유용한 방식으로 클러스터를 정의하는 것입니다.클러스터 분석은 천문학, 고고학, 의학, 화학, 교육학, 심리학, 언어학, 사회학 등 매우 폭넓은 분야에서 활용되고 있습니다.클러스터 분석의 학문적 배경클러스터 분석은 통계학의 한 분야로서 오랫동안 활발하게 연구되어 왔습니다. 이 기법의
데이터 마이닝에서 활용되는 클러스터링 기법은 데이터 객체를 그룹화하는 관점에 따라 여러 유형으로 나눌 수 있습니다. 각 유형의 특징과 차이점을 살펴보겠습니다.계층형(Hierarchical) vs 분할형(Partitional)클러스터링 유형을 구분하는 첫 번째 기준은 클러스터 집합이 중첩(nested)되어 있는지, 즉 계층 구조를 갖는지 아니면 분할(partitional) 방식인지에 대한 것입니다. 분할형 클러스터링은 데이터 객체 집합을 서로 겹치지 않는 부분집합(클러스터)으로 나누는 방식으로, 모든 데이터 객체는 정확히 하나의 부분
데이터 마이닝에서 클러스터 분석이란?클러스터 분석(Cluster Analysis)은 다양한 측정 기준에 따라 서로 유사한 레코드들을 하나의 그룹 또는 클러스터로 묶는 데이터 마이닝 기법입니다. 분석 목적에 맞게 클러스터를 정의할 수 있다는 점이 큰 장점이며, 이러한 기법은 천문학, 고고학, 의학, 화학, 교육학, 심리학, 언어학, 사회학 등 매우 다양한 분야에서 폭넓게 활용되고 있습니다.클러스터는 정의하는 방식에 따라 여러 유형으로 나눌 수 있으며, 대표적인 유형은 다음과 같습니다.1. 잘 분리된 클러스터(Well-Separated
K-평균 클러스터링이란?K-평균 클러스터링(K-Means Clustering)은 데이터 마이닝에서 가장 널리 사용되는 분할 기반(partitioning) 군집화 알고리즘입니다. K-평균은 데이터셋에 있는 각 데이터를 새롭게 형성된 여러 클러스터 중 하나에만 배정하며, 레코드나 데이터 포인트는 거리(distance) 또는 유사도(similarity) 측정 기준을 바탕으로 가장 가까운 클러스터에 할당됩니다.k-평균 알고리즘은 입력 매개변수 k를 받아 n개의 객체로 이루어진 집합을 k개의 클러스터로 나눕니다. 이때 목표는 클러스터 내부
K-Means 알고리즘은 널리 사용되는 군집화 기법이지만, 실제 적용 과정에서 여러 가지 문제에 직면할 수 있습니다. 대표적인 문제점인 빈 클러스터 처리, 이상치의 영향, 그리고 후처리를 통한 SSE 최적화 방법을 자세히 살펴보겠습니다. 1. 빈 클러스터(Empty Clusters) 처리 기본 K-Means 알고리즘의 첫 번째 문제는 할당 단계에서 어떤 데이터 포인트도 특정 클러스터에 배정되지 않아 빈 클러스터가 발생할 수 있다는 점입니다. 이런 상황이 생기면 제곱 오차(SSE)가 불필요하게 커지므로, 새로운 중심점(centroi
앙상블(Ensemble) 기법의 기본 개념은 초기 데이터로부터 여러 개의 분류기를 만들고, 알려지지 않은 새로운 예제를 예측할 때 이들의 결과를 종합하여 최종 판단을 내리는 것입니다. 앙상블 분류기는 다양한 방식으로 구성할 수 있으며, 대표적인 네 가지 방법을 아래에서 자세히 살펴보겠습니다.1. 훈련 데이터셋을 조작하는 방법이 방법은 원본 데이터를 특정 샘플링 분포에 따라 재표본화(resampling)하여 여러 개의 훈련 데이터셋을 생성하는 방식입니다. 샘플링 분포는 각 인스턴스가 훈련용으로 선택될 확률을 결정하며, 시행(트라이)마
랜덤 포레스트란 무엇인가?랜덤 포레스트(Random Forest)는 의사결정 트리(Decision Tree) 분류기를 위해 특별히 설계된 앙상블(Ensemble) 기법의 한 종류입니다. 여러 개의 결정 트리가 내린 예측 결과를 통합하는 방식으로 작동하며, 각 트리는 서로 다른 무작위 벡터(random vector) 집합의 값을 기반으로 생성됩니다.AdaBoost와의 차이점랜덤 포레스트의 무작위 벡터는 고정된(constant) 확률 분포로부터 생성된다는 점이 특징입니다. 이는 AdaBoost처럼 분류하기 어려운 인스턴스에 맞춰 확률
ROC(수신자 조작 특성) 곡선이란 무엇일까요? ROC는 수신자 조작 특성(Receiver Operating Characteristic)의 약자로, 분류기(classifier)의 성능을 시각적으로 평가하는 대표적인 그래프 기법입니다. ROC 곡선은 분류기의 참 양성률(TPR, True Positive Rate)과 거짓 양성률(FPR, False Positive Rate) 사이의 상충 관계(trade-off)를 한눈에 보여줍니다. ROC 곡선에서는 참 양성률(TPR)이 세로축(y축)에, 거짓 양성률(FPR)이 가로축(x축)에 배치됩니
샘플링 기반 접근 방식이란?샘플링(sampling)은 머신러닝에서 클래스 불균형(class imbalance) 문제를 해결하기 위해 널리 사용되는 대표적인 방법입니다. 핵심 아이디어는 학습 데이터셋의 예제 분포를 조정하여, 소수 클래스(희귀 클래스)가 학습 과정에서 충분히 잘 반영되도록 만드는 것입니다.샘플링 기법에는 크게 언더샘플링(undersampling), 오버샘플링(oversampling), 그리고 두 가지를 결합한 하이브리드(hybrid) 방식이 있습니다. 예를 들어 양성 예제 100개와 음성 예제 1,000개로 구성된 데
데이터 마이닝에서 지지도와 신뢰도를 사용하는 이유지지도(Support)의 중요성지지도는 연관 규칙 분석에서 매우 중요한 척도입니다. 지지도가 지나치게 낮은 규칙은 우연히 쉽게 나타날 수 있어 신뢰하기 어렵기 때문입니다.비즈니스 관점에서도 마찬가지입니다. 지지도가 낮은 규칙은 실질적인 가치가 떨어집니다. 사용자가 함께 구매하는 경우가 드문 상품을 대상으로 프로모션을 진행해도 수익을 기대하기 어렵기 때문입니다.연관 규칙이란?연관 규칙(association rule)은 X→Y 형태의 함축 표현으로, 여기서 X와 Y는 서로 교집합이 없는(
지원 계산(Support Counting)의 정의지원 계산은 apriori-gen 함수의 후보 가지치기(candidate pruning) 단계를 통과한 각 후보 항목집합(candidate itemset)이 데이터셋에 등장하는 빈도, 즉 지원도(support)를 결정하는 절차입니다. 연관 규칙 분석에서 지원 계산은 가장 계산 집약적인 단계 중 하나로, 효율적인 구현이 전체 알고리즘 성능에 큰 영향을 미칩니다.지원 계산의 두 가지 기본 방법1. 트랜잭션과 후보 항목집합의 전수 비교첫 번째 방법은 각 트랜잭션을 모든 후보 항목집합과 하나
Apriori 알고리즘의 계산 복잡도(computational complexity)는 여러 요인에 따라 달라집니다. 아래에서는 알고리즘의 성능을 좌우하는 주요 변수와 각 처리 단계별 연산 비용을 자세히 살펴봅니다.1. 지지도 임계값(Support Threshold)지지도 임계값을 낮추면 더 많은 항목집합이 빈발(frequent)로 판정됩니다. 이렇게 되면 생성·검토해야 할 후보 항목집합 수가 크게 늘어나므로 알고리즘의 계산 복잡도가 증가합니다.또한 임계값이 낮아질수록 빈발 항목집합의 최대 크기도 커지는 경향이 있으며, 최대 크기가
최대 빈도 항목집합의 정의최대 빈도 항목집합(maximal frequent itemset)은 직접 상위집합(direct superset) 가운데 어느 하나도 빈도 항목집합에 해당하지 않는 빈도 항목집합을 의미합니다. 격자(lattice) 구조 안의 항목집합들은 빈도 항목집합과 비빈도 항목집합이라는 두 그룹으로 나뉘며, 이 두 그룹을 구분하는 경계를 빈도 항목집합 경계(frequent itemset border)라고 부릅니다. 이 경계는 보통 점선으로 표시됩니다.경계 위에 위치한 항목집합은 모두 빈도 항목집합이고, 경계 아래에 있는
Apriori 알고리즘과 빈발 항목집합 생성Apriori 알고리즘은 빈발 항목집합(frequent itemset) 생성 과정에서 발생하는 조합적 폭발(combinatorial explosion) 문제를 가장 효과적으로 해결한 알고리즘입니다. Apriori 원리를 활용해 지수적으로 증가하는 탐색 공간을 크게 줄임으로써 이를 실현합니다. 그러나 상당한 성능 향상에도 불구하고, 거래 데이터셋(transaction dataset)을 여러 번 반복해서 읽어야 하기 때문에 상당한 I/O 오버헤드가 발생한다는 단점이 있습니다.또한 거래의 폭(항