비지도학습 Flashcards
군집화
[리드] 개체집합 내 유사성 분석
[정의] 데이터의 유사성을 측정 집단으로 분류하고 군집내 유사성과 군집간 상이성을 규명하는 비지도 학습 기법
[유형] 상호 배반적 군집, 계보적 군집, 중복 군집, 퍼지(Fuzzy) 군집
[기법]
1. 비계층적(분할적) 군집 : k-means, k-medoids, DBSCAN
2. 계층적 군집 (hierarchical) : 병합적 군집(최단 연결법, 최장 연결법, 평균 연결법, 중앙 연결법, Ward 연결법) 분리형 (다이아나 방법)
[비교] 계층적 군집 분석 vs 비계층적 군집 분석
- 특징 : 선행조건 불필요 / 선행 조건 필요
k-means
[정의] 데이터를 임의의 중심점을 기준으로 최소의 거리가 되도록 K개의 군집화 하여 분류하는 비지도학습
[장/단]
- (장) 고속 처리 (데이터 규모 n일 경우 O(n)), 분석로직 단순
- (단) 노이즈 취약, 초기 K 값에 민감
[구성요소] 초기 K값, 중심점, 클러스터, 평균거리
[수행절차]
1. 초기 k-설정 : 클러스터 개수 결정(k), 임의 Code-Vecotr k개 설정
2. 군집 분류 : 유클리드 거리 계산, 가장 가까운 중심을 해당 데이터의 대표로 설정
3. CodeVector 갱신 : 각 데이터 좌표들의 평균을 새로운 중심으로 갱신/이동
4. 검증 및 완료 : 2~3단계 반복, 변경이 없으면 학습 완료
[문제점/해결방안]
- (문) 초기 중심 값에 민감한 반응, 노이즈와 아웃라이어의 모델이 민감
- (해) k-medoids
* 원형의 군집이 아닌 경우에 군집화를 이루기가 어렵다는 단점이 존재 (k-medoids 동일)
k-medoids
[정의] 군집의 무게 중심을 구하기 위해서 데이터의 평균대신 중간점(medoids)를 사용
- 데이터 간의 모든 거리 비용을 반복하여 계산해야하기에 K-means보다는 상대적으로 많은 시간이 소요
EM Clustering
[정의] Gaussian Mixture 모델을 기반으로 E-Step과 M-Step을 반복하여 군집을 형성하는 클러스터링
[특징] 가우시안 정규분포 적용
[장/단] (장) 통계적 확률 계산, 다양한 데이터 적용 (단) 연산 복잡도 높음, 처리시간, 공간 저효율
[절차]
1. 초기화 : K결정
2. E-Step : 평균/분산 계산
3. M-Step : 확률계산
4. 수렴 및 종료
계층적 군집화
[리드] 유사성기반 군집 모델
[정의] 데이터 Set 모든 점간 거리 기반 유사성 계산, 반복적 병합/분리 수행의 비지도학습 클러스터링 모델
[유형] 병합형(Top-Down), 분리형(Bottom-Up)
[특징] 휴리스틱 민감도 개선(분할기반 군집의 휴리스틱 선정에 따른 민감도 문제 개선), 해석 용이 (덴드로그램이용한 표현), 느린 분석 속도 (자료가 커지면 분석시간 소요)
* 유클리디안 거리 측정 기법 등 활용한 탐색적(Greedy) 분석 방법
[동작절차] 1. 초기 클러스터 정의 (모든 데이트를 Cluster 정의 → 2. 유사 군집 병합/분리 : 유사도 측정 → 3. Clustering 완료 : 2를 반복 수행 후 단일 클러스터 완성시 학습 완료
* 분할적 알고리즘의 경우 분할 방법수가 복잡하고 상위 클러스터의 잘못된 결정이 미치는 파급 효과가 크므로 주로 병합적 군집 모델 활용
[거리 척도 기법]
- 최단 연결법 : 두 군집내 데이터 간 가장 짧은 거리 기준 ( Min{ d(Ai, Bj) }, 이상치에 취약)
- 최장 연결법 : 두 군집내 데이터 간 가장 긴 거리 기준 ( Max{ d(Ai, Bj) }, 큰 군집 분리 경향)
- 평균 연결법 : 두 군집 데이터 간 모든 조합의 평균 거리 (평균의 합, 높은 계산비용 발생)
- Ward 연결법 : 오차 제곱합의 증가분에 기반한 측정 (SSE 합, 이상치에 덜 취약)
* 이외에 중심연결법, 중앙값, 분리형의 다이애나 기법 존재
병합적 군집
[리드] 계층적 군집화
[정의] 데이터 Set 모든 점 간 거리 기반 유사성 계산, 유사 클러스터간 병합 반복 통한 계통수(Dendrogram) 완성, 비지도 Clustering 학습 모델
[특징]
- 민감도 개선 : 분할기반 군집의 휴리스틱 선정에 따른 민감도 문제 개선
- 해석 용이 : 계통수 통한 군집 결과 표현, 설명 및 해석 가능
[절차]
1. 가장 가까운 거리의 데이터를 서로 병합
2. 최종적으로 하나의 클러스터로 합처질때까지 진행
3. Dendrogram형태의 자연적인 계층구조로 정렬
자기조직화지도(SOM)
[리드] 인공신경망을 이용한 군집화 알고리즘
[정의] 비지도 경쟁학습 방식을 통해 데이터의 구조탐색, 차원축소, 시각화가 가능한 비계층형 군집화 모델
[특징] 층구조 신경망, 출력층이 격자구조, 경쟁학습, 은닉 계층 없음
* 입력층과 경쟁층 2개 층 구조이며 각 층간은 가중치로 Fully connected 되어 연결
[구성요소]
- 구조 요소 : 입력층(입력벡터), 경쟁층(격자형태로 배치)
- 학습 요소 : 가중치(값의 중요도), 경쟁학습 (뉴런 연결 강도와 입력 벡터의 거리 계산, 가까운 뉴런이 승리)
* 고차원으로 표현된 데이터를 저차원으로 변환해서 보는데 유용
DBSCAN
[리드] 밀도기반 군집화 기법, DBSCAN
[정의] 밀도반지름 ε, 최소 좌표개수 MinPts 기반 코어, 경계, 노이즈 데이터 구분, 밀도 접근성 확장 통한 노이즈 식별 향상 비지도 Clustering 학습 모델
[특징]
- Noise 강건성 : 밀도 근접성을 활용한 Core기반 군집화
- 기하학적 형태 군집 : 오목, 동심원, 반달 형태등 기하학적 형태 군집 가능
[구성] Epsilon, Core point(중심), Boder point(중심외), Noise point, minPts (객체의 최소 개수, 핵심개체)
[절차]
1. Density 기준 선정 : ε 반경 내 minPts개가 존재해야 군집 판단
2. Core 판별 : 임의 점 p1, p2 등에서 ε 반경 내 minPts 만족 시 군집
3. Noise 분류 : 임의 점 p1 에서 ε 반경 내 p2 미 존재 시 Noise로 분류
4. Clustering 완성 : 각 점에서 ε 반경 내 minPts 충족하는 객체집합(군집) 완성
[복잡도] ① 시간복잡도 : 일반DB(O(logn)), 인덱싱구조(O(nlogn)) ② 공간복잡도 : 거리행렬(O(n^2)), 비행렬(O(n))
* 노이즈 및 아웃라이어 식별의 장점과 더불어 ε, minPts 선정에 따른 민감도 단점 보유
[문제점/개선방안]
- 휴리스틱 앱실론, Minpts 결정에 의한 성능 이슈 –> 계층적 군집모델 활용
- 밀도가 낮은 군집 인식 불가
군집분석의 척도
[거리 기반] 특징/활용
- 유클리디안 거리 : 두 점 사이의 대각선 최단거리를 계산, 피타고라스 정리(자연어 처리)
- 맨하튼 거리 : 두 점 사이의 수평, 수직 거리의 절대값을 계산(직접회로, 해밍거리, 머신러닝)
- 민코우스키 거리 : 유클리안 거리와 맨하탄 거리를 일반화한 기법 (모델 알고리즘,KNN)
- 마할라노비스 거리 : 유클리드 거리에서 점수를 늘려 거리를 구하는기법
- 레벤슈타인 거리 : 문자열 사이의 유사도, 맞춤법 오류 확인
- 해밍 거리 : 한 문자열을 다른 문자열로 바꾸기 위해 몇 글자를 바꿔야 하는지 정의
[유사도 기반]
- 자카드 유사도 : 두 집합의 교집합을 합집합으로 나눈 값
- 코사인 유사도 : 벡터간의 코사인 각도(-1~1 사이값), 0도=1, 90도=0, 180도=-1
- 피어슨 상관관계 : 두 변수의 상관 관계, (+1과 -1 사이의 값을 가지며, +1은 완벽한 양의 선형 상관 관계, 0은 선형 상관 관계 없음, -1은 완벽한 음의 선형 상관 관계를 의미)
- 스피어먼의 순위 상관계수 : 두 변수의 순위 사이의 통계적 의존성 측정 (단조적인 관계 평가)
유클리디안
[유클리디안] 데이터간 유사성 측정을 위한 두 점 사이의 대각선 최단거리
- (장) 차원마다 영향력을 그대로 반영, 벡터 사이 관계 확인 가능
맨해튼거리
[맨하탄거리] 사각형 격자에서 두점 좌표를 가로지르지 않고 갈 수 있는 최단 절대값 거리
- (장) 더 높은 차원으로 쉽게 일반화
- (단) 차원 간 차이 크기를 고려하지 않고 동일 취급
- (활용) 집접회로, 해밍거리, 머신러닝
민코우스키 거리
[민코우스키 거리] 유클리안 거리와 맨하트 거리를 일반화
- (특징) 두 성분중 더 크게 떨어진 성분 수렴, 많이 떨어진 특성 부각시 사용
- (활용) KNN등의 거리기반 모델에 단순/직관적/학습용이 등의 이유로 사용
차원축소
[정의] 시각화하거나 연산하기 어려운 고차원을 저차원으로 줄여서 표현하는 기법
[알고리즘]
1. PCA (Principal Component Analysis) : 데이터의 최적 표현의 견지에서 데이터를 축소, 공분산
2. ICA (Independent Component Analysis) : 독립적인 성분으로 분리, Blind Source Separation, 요인 분석
3. LDA (Linear Discriminant Analysis) : 데이터의 최적 분류의 견지에서 데이터 축소, 산포행렬
PCA
[리드] 잠재적 변수 탐색위한 차원축소 알고리즘
[정의] 고차원 공간의 표본들을 선형 연관성이 없는 저차원 공간(주성분)의 표본으로 변환하여 분석하는 알고리즘
[특징] 축소기준(차원분산값이 큰축 설정, 데이터 Loss 최소화), 가정(독립변수간 선형 관계 가정)
* 최소한의 Loss 기반 정보 압축 = 가장 높은 분산을 가지는 차원으로 축소 수행
* 상관도가 높은 변수들을 하나의 주성분 혹은 요인으로 축소
[프로세스]
1. 공분산 계산 : 확률변수들의 관계를 나타내는 행렬
2. 고유 벡터 계산 : 공분산의 고유치 행렬과 고유벡터 행렬 계산
3. 고유치 선택 : 고유치 값이 큰 것부터 m개 선택
4. 변환 행렬 생성 : 선택된 고유치 대응 고유 벡터를 열 벡터로 가지는 행렬 W
5. 선형 변환 : W에 의해 선형 변환된 특징 데이터 Y도출
* PCA 이용하여 얼굴인식, 지문인식 가능
ICA
[정의] 다변량의 신호를 통계적으로 독립적인 하부 성분으로 분리하는 계산 방법