-
정답이 없는 데이터를 분류할 수 있게 학습하는 방법입니다.
군집화
개념
유사한 속성들을 갖는 관측치들을 묶어 전체 데이터를 몇 개의 군집으로 나누는 것
기준
동일한 군집에 소속된 관측치들을 서로 유사할 수 록 좋다
상이한 군집에 소속된 관측치들은 서로 다를 수 록 좋다.
수행 시 주요 고려사항
- 어떤 거리 척도를 사용하여 유사도를 츨정할 것인가
- 어떤 군집화 알고리즘을 사용할 것인가
- 어떻게 최적의 군집 수를 결정할 것인가
- 어떻게 군집화 결과를 측정 평가할 것인가
유사도 척도
- 유클리디안 거리 (Euclidean)
- 맨하탄 거리 (Manhattan)
- 마할라노비스 거리 (Mahalanobis Distance)
- 상관계수 거리 (Correlation)
알고리즘
군집화 알고리즘 종류
- 계측적 군집화
- 개체들을 가까운 집단부터 차근차근 묶어나가는 방식
- 군집화 결과 뿐만 아니라 유사한 개체들이 결합되는 dendrogram 생성
- 분리형 군집화
- 전체 데이터의 영역을 특정 기준에 의해 동시에 구분
- 각 개체들을 사전에 정의된 개수의 군집 중 하나에 속하게 함
- 자기조직화 지도
- 2 차원의 격자에 각 개체들이 대응하도록 인공신경망과 유사한 학습을 통해 군집 도출
- 분포 기반 군집화
- 데이터의 분포를 기반으로 높은 밀도를 갖는 세부 영역들로 전체 영역을 구분
계측적 군집화
dendrogram :개체들이 결합되는 순서를 나타내는 트리형태의 구조이다.
사전에 군집의 수를정하지 않아도 수행할 수 있다.
군집을 할 때, 사용하는 4가지 방법이 있다.
- Min distance : 군집에서 다른 군집 까지의 거리가 가장 가까운 데이터의 거리를 측정해서, 가장 가까운 거리에 속한 군집에 포함시킨다.
- Max distance : 군집에서 다른 군집 까지의 거리가 가장 먼 데이터의 거리를 측정해서, 가장 가까운 거리에 속한 군집에 포함시킨다.
- Group average distance : 군집과 군집 사이의 모든 데이터의 거리를 측정해서, 가장 가까운 거리에 속한 군집에 포함시킨다.
- Between centroids distance : 군집과 군집 사이의 거리 평균을 측정해서, 가장 가까운 거리에 속한 군집에 포함시킨다.
k-평균 군집화(K-Means Clustering)
(k = 군집화의 수)
- 대표적인 분리형 군집화 알고리즘이다.
- 각 군집은 하나의 중심을 가진다.
- 각 개체는 가장 가까운 중심에 할당되며 , 같은 중심에 할당된 개체들이 모여 하나의 군집을 형성
- 사전에 k가 정해져야 알고리즘을 실행 가능하다.
수행 방법 예)
- 초기 중심 k 개를 임의로 생성
- 초기 중심은 대부분 랜덤이다.
- 개별 데이터 샘플로부터 각 중심까지의 거리를 계산 후 , 가장 가까운중심을 통해 생성되는 군집에 할당
- 각 군집의 중심을 다시 계산
- 중심이 변하지 않을 때 까지 2,3 의 과정 반복
초기 설정의 위험을 피하고자 다양한 연구가 존재한다. 하지만, 많은 경우 초기 중심 설정이 최종 결과에 큰 영향을 미치지는 않는다.
문제점
- 서로 다른 크기의 군집을 잘 찾아내지 못함
- 서로 다른 밀도의 군집을 잘 찾아내지 못함
- 지역적 패턴이 존재하는 군집을 판별하기 어려움
최적의 군집 수 결정 방법
결과 측정 및 평가를 한다. -> Silhouette
- a(i): 관측치 i 로 부터 같은 군집 내에 있는 모든 다른 개체들 사이의 평균 거리
- b(i): 관측치 i 로 부터 다른 군집 내에 있는 개체들 사이의 평균 거리 중 최솟값
- 일반적으로 /S의 값0.5 보다 크면 군집 결과가 타당하다고볼수있음
- 1 에 가까우면 군집이 전혀 되지 않음
k-평균
여러 종류의 많은 데이터를 최대한 비슷한 것 끼리 k개의 글러스터로 묶는 알고리즘이다.
각 클러스터와 거리 차이의 분산을 최소화하는 방식으로 동작한다.
(출처 위키백과 kmeans_animation_withoutWatermark)
주성분 분석
고차원 데이터
- 변수의 수가 많음 --> 불필요한 변수 존재
- 시각적으로 표현하기 어려움
- 계산 복잡도 증가 --> 모델링 비효율적
-> 많은 이유로 바로 사용하기 어렵다. 그래서 중요한 변수만을 선택해서 '차원 축소'를 사용한다.
차원 축소 방법
변수 선택(feature selection): 분석 목적에 부합하는소수의 예측변수만을 선택한다.
- 장점 : 선택한 변수 해석 용이
- 단점 : 변수간 상관관계 고려 어려움
변수 추출 (feature extraction): 예측변수의 변환을 통해 새로운 변수 추출
- 장점 : 변수간 상관관계 고려 , 일반적으로 변수의 개수를 많이 줄일 수 있음
- 단점 : 추출된 변수의 해석이 어려움
-> 두개 다 지도학습 기반과 비지도 학습 기반이다.
지도 변수 선택법 : Lasso, Genetic algorithm 등
지도 변수 추출법 : Partial Least squares(PLS)
비지도 변수 선택법 : PCA Loading
비지도 변수 추출법 : Principal component analysis(PCA) 등
PCA
고차원 데이터를 효과적으로 분석하기 위한 분석 기법
차원 축소, 시각화, 군집화, 압축 등을 위해서 사용된다.
- n 개의 관측치와 p 개의 변수로 구성된 데이터를 상관관계가 없는 k개의 변수로 구성된 데이터 (n 개의 관측치 로 요약하는 방식
- 요약된 변수는 기존 변수의 선형조합으로 생성된다
- 사영(projection)시키는 기법을 사용한다.
데이터 차원 축소와 시각화 및 해석을 목적을 한다.
일반적으로 PCA는 전체 분석 과정 중 초기에 사용한다.
주성분 분석
두 개의 축에 사영시킬 경우 우측 기저가 좌측 기저에 비해 손실되는 정보의 양 분산의 크기가 크다 가 적으므로 상대적으로 선호되는 기저라고 할 수 있다
주성분 추출
- 데이터 정규화
- 기존 변수의 공분산과 상관계수 계산
- 상관계수 행렬로부터 고유값 및 고유벡터 계산
- 고유값 및 해당되는 고유벡터를 순서대로 나열한다.
- 정렬된 고유값을 토대로 기존 변수로 변환한다.
PCA의 한계
- 단일 가우시안 부포로 추정할 수 있는 데이터에 대해 서로 독립적인 축을 찾는데 사용할 수 있다. 하지만 다중 가우시안 자료들에 대해서는 적용하기 어렵다.
- 분류 예측 문제에 대해서 데이터의 범주 정보를 고려하지 않기 때문에 범주간 구분이 잘 되도록 변환을 해주는 것은 아니다
'기계학습' 카테고리의 다른 글
트리 알고리즘 (0) 2021.10.29 서포트 벡터 머신 (0) 2021.10.15 분류 알고리즘 (0) 2021.10.01 머신 러닝 만들기 - 선형 회귀 (0) 2021.09.24 머신러닝 만들기 - K최근접 이웃회귀 (0) 2021.09.24