# 1. 군집화란?
- 복잡한 데이터의 구조에 대하여 알 수 있는 방법 제공
- 군집화 알고리즘은 특정 유사도(similarity) 척도에 의존함
- 무방향성 지식 발견 도구(특정 목표변수 없음, 사전에 분류된 데이터도 없고, 독립변수 종속변수의 구분 역시 없음)
- 비슷한 레코드의 군집을 찾음 (marketing-segment라고 부름)
- 자동 군집 탐지는 혼자서는 거의 쓰이지 않는 데이터마이닝 기법임 (군집을 찾는 것이 궁극적인 목표가 아님)
* 자동 군집 탐지 알고리즘
1. K- 평균 알고리즘
2. 가우스 혼합 모형
3. 응집 군집화
4. 분할 군집화
5. 자기 조직화 지도 (SOM)- 신경망
# 2. 차원이란?
- 어떤 것을 설명하기 위해 독립적으로 측정되어야 할 것들
- dimension/feature/변수/필드 라고 부름
- 차원의 수가 증가하면 군집을 가시화하기가 더 어려워짐
# 3. 유사성의 형식적인 정의
1. 모든 필드들이 수치형일 경우
- 유클리드식 거리
- 코사인 거리 (두 벡터 사이의 각) : 1-cos각
(1을 빼주는 이유: cos 0=1, cos90=0 즉, 코사인 사이각이 가장 작을 때=거리가 가까울때 가장 큰 숫자를 반환. vice versa.
따라서 1을 빼줘서 거리적으로 클 때 큰 숫자를 반환)
- 맨하튼 거리
2. 범주형일 경우
- 같은 값을 갖는 특징을 카운팅
- 전체 필드의 수 중 동일한 것의 비율
#4. 군집 적합성 검사/ 군집화 품질의 평가(Cluster goodness)
1) 군집간의 평균 거리 계산
2) 군집 멤버들과 최근접 이웃 군집 멤버들간의 거리 계산
3) 한 멤버의 실루엣 점수: (이웃 군집의 멤버와의 평균거리 - 군집 내 타 멤버들과의 평균거리)/(이웃 군집의 멤버와의 평균 거리)
즉, 한 군집의 실루엣 점수는 군집 내 멤버들의 실루엣 점수의 평균
전체 데이터 집합의 실루엣 점수는 전체 레코드의 실루엣 점수의 평균 --> 군집의 적정성 평가
- K를 바꿔가면서 군집화하고 실루엣 스코어 계산해서 어떤 때에 값이 가장 좋은 지 평가하게 됨
- 단점: 군집 수가 많을 경우 많은 계산이 필요함
#5. 군집화를 위한 데이터 준비
1) 단위(Scaling)
- 0과 1사이의 값으로 mapping
- 각 변수의 평균으로 나눔 (indexing a variable)
- 각 변수로부터 평균값을 빼고 표준편차로 나눔 (표준화, Z-점수로의 변환)
- 벡터 정규화 (vector normalization): 하나의 레코드에 해당하는 벡터의 크기가 1이 되도록 길이를 조정(방향성만 보겠다는 의미)
Ex. 첫번째 레코드: 부채 200,000원, 자산 100,000원 / 두번째 레코드: 부채 10,000원, 자산 5,000원
정규화 후 두 레코드는 부채와 자산의 비율이 같으므로 동일하게 보임
2) 가중치(Weight)
- 어떤 변수가 다른 변수보다 더 중요하다는 정보를 입력
- 가중치를 이용하여 비즈니스 상황의 지식을 기반으로 한 편향을 도입
#6. 군집 해석
1) 군집의 중심값들을 이용하여 군집의 특징 인식
2) 군집들 간의 차이점을 통해서 각 군집의 특징 인식
# 7. 자동 군집 탐지 알고리즘 설명
1. K-means 알고리즘
-K는 상수: 특정 정해진 수이며 분석가가 정해줘야함
*K평균 알고리즘 3단계
step 1. 임의로 K개의 데이터 포인트를 시드로 선택
step 2. 각 레코드를 가장 가까운 시드에 배정
step 3. 군집의 중심성 찾기- 중심성들은 알고리즘 다음 반복에서의 시드가 됨
step 2, 3가 반복됨
군집의 경계가 더이상 변하지 않을 때까지 계속 됨
Ex.학생키로 군집화 ({150, 162, 164, 178, 180}, K=2, 초기 seed=162, 164)
1차 배정 K1={150, 162}, K2={164, 178, 180}
평균 계산 S1=156, S2=174
2차 배정 K1={150, 162, 164}, K2={178, 180}
평균 계산 S1=158.7, S2=179
3차 배정 K1={150, 162, 164}, K2={178, 180}
변경이 없으므로 종료
* 단점
- K-평균 군집화는 항상 좋은 군집 결과를 보장하지 않음 (실루엣 평가도 완전히 믿을 것은 못됨)
- 특히 중첩되는 군집들에는 K-평균 군집화가 적절하지 않음
- 평균값을 이용하므로 이상치의 영향을 많이 받음 (hard 버전이기 때문에 제약이 존재)
- median 을 쓰는 방법이 있음 (이상치에 강건함)
Ex. K-Medians, K-Medoids, K-Modes (hard 버전: 한 레코드는 반드시 한 군집에 배정되어야한다는 제약)
K-평균 군집화의 soft버전(확률 적용, 가우시안 혼합)
* K의 선택 (실루엣 지수로 평가하는 방법 존재)
- 군집 내에서의 레코드간 평균거리 (가까울수록 good)
- 군집들 사이의 거리 (멀면 good)
- 유용성 평가를 위해서는 좀더 주관적인 평가가 필요함
2. 가우스 혼합 모형(EM: Expectation-Maximization clustering)
- K-평균 군집화 방법의 확률적인 변형
- 가우스 분포 (정규화분포를 일반화시킨 것)
- 시드들을 가우스 분포의 중심으로 취급
* 가우스 혼합 모형 알고리즘 단계
step 1. 추정 단계
각 가우스 분포가 각 데이터 점에서 가지는 책임(resposibility)을 산출
중심에 가까울수록 확률이 높고, 멀수록 확률이 낮다(가우스 분포니까 당연!)
step 2. 최대화 단계
새로운 책임(resposibility)을 반영하여 각 군집에 대한 새로운 중심점을 계산
주어진 가우스 분포에 대한 중심점은 가우스 분포에 대한 가중치가 반영된 모든 점들의 평균
- K-평균과는 다른 모양
1) 정규분포는 2개의 파라미터(평균과 표준편차를 가짐)
2) 표준편차가 모든 차원에서 동일할 필요는 없음 (곡선이 꼭 원이 될 필요가 없음 타원 가능)
3. 응집 군집화 Bottom-up
- 나중에 정리...
4. 분할 군집화 Top-down
- 의사결정나무의 유사한 접근법
나중에..정리...
5. 자기 조직화 지도 (SOM: Self-Organizing Maps)
- 무방향성 데이터 마이닝 기법
- 코호넨 신경망이라고도 부름
- 인공 신경망을 이용한 군집화 기법
* 피드 포워드 신경망과의 차이
- 다른 위상: 하나의 입력층과 하나의 출력층 (은닉층 X)
즉, 입력층이 직접 출력층에 있는 노드와 연결됨
1. 입력층: 각 단위는 하나의 변수에 연결, 각 간선에는 독립적인 가중치를 가짐
2. 출력층: 다수의 단위로 구성, 각각의 단위는 모든 입력층의 단위들과 연결, 격자 형태로 배치(단위들끼리 연결X)
- 학습하는 방법 : 얇은 철판에 공을 던지는 것을 상상하기. 같은 자리에 여러번 공을 던지면 깊게 파이고 다른 자리에 던지면 조금만 파임
- SOM은 승리한 가중치 뿐만 아니라 승리한 단위 바로 근처에 있는 단위들의 가중치도 강화함
근접도 매개변수: 근접한 단위들의 범위와 조정의 정도 조절 (범위에 따라 근접한 노드들까지 weight 조정에 포함시킬지 결정할 수 있음)
따라서, 서로 비슷한 군집들이 더 가까이 뭉치도록 해줌
'머신러닝 스터디 > 머신러닝' 카테고리의 다른 글
장바구니 분석과 연관규칙 (0) | 2022.10.02 |
---|---|
의사결정나무(Decision Tree) (0) | 2022.09.28 |