티스토리 뷰

카테고리 없음

비지도 학습

루돌푸다요 2024. 3. 30. 21:17

 

비지도 학습 예시 

- 고객 특성에 따른 그룹화 
ex : 헤비유저, 일반유저 

- 구매 내역별로 데이터 그룹화 

Ex: 생필품 구매 

더보기

다시 말해 비지도 학습은 데이터 기반으로 레이블링을 하는 작업이라고 하겠습니다. 

정답이 없는 문제이기 때문에 지도 학습보다 조금 어렵고 주관적인 판단이 개입하게 됩니다. 

붓꽃 데이터를 이용한 군집화 예시 

K - 평균 군집화 혹은 알고리즘은 가장 일반적으로 사용되는 알고리즘 입니다. 쉬운 예시를 위해서 붓꽃 데이터 (IRis) 데이터로 살펴 보겠습니다. 

 

  • sepal_length : 꽃 받침의 길이
  • sepal_width : 꽃 받침의 너비 
  • petal_length : 꽃 잎의 길이 
  • petal_width : 꽃 잎의 너비 
  • species(Y, 레이블) : 붓꽃 종 (setosa, virginica, versicolor)
더보기

꽃에 대한 정보(x)로 종, Species(Y) 를 맞추는 문제를 푼다면 지도학습이라고 합니다. 반면, Species가 없다면 ? 
정보에 따라서 데이터를 분류해볼 수 있지 않을까요 ? 

Labeling이 안된 꽃 받침 길이 -너비 산점도

 

Labeling 이 된 꽃 받침 길이 - 너비 산점도 

 

 

더보기

실제 데이터는 위와 같이 표기 되었어요. 이렇게 3개로 분류된 건 학자들의 나름의 기준으로 정의 했기 때문입니다. 

"데이터" 의 기준으로 보면 3개가 아닌 K 개의 그룹으로 정해 볼 수 있을 거예요 

 

 

K-Means Clustering 수행 순서 

 

1. K개 군집 수 설정 

2. 임의의 중심을 선정 

3.해당 중심점과 거리가 가까운 데이터를 그룹화 

 

4. 데이터의 그룹의 무게 중심으로 중심점을 이동 

5. 중심점을 이동했기 때문에 다시 거리가 가까운 데이터를 그룹화 

(3~5번 반복) 

이렇게 임의로 분석가가 선정한 K 군집 수 (위 그림에서는 3) 를 기준으로 데이터 군집화 프로세스를 진행 한답니다. 

 

  • 장점 
    -일반적이고 적용 하기 쉬움
  • 단점 
    - 거리 기반으로 가까움을 측정하기 때문에 차원이 많을 수록 정확도가 떨어짐 
    - 반복 횟수가 많을 수록 시간이 느려짐 
    - 몇 개의 군집(K)을 선정할지 주관적임 
    - 평균을 이용하기 때문에(중심점) 이상치에 취약함
  • python 라이브 러리 
    - sklearn.cluster.KMeans
  • 함수 입력 값 
    - N_cluster : 군집화 갯수 
    - max_iter : 최대 반복 횟수 
  • 메소드 
    - labels_ : 각데이터 포인트가 속한 군집 중심점 레이블 
    - cluster_centers : 각 군집 중심점의 좌표 

 

실루엣 계수 

- 비지도 학습 특성 상 답이 없이 때문에 그 평가를 하긴 쉽지 않습니다. 다만, 군집화가 잘 되어 있다는 것은 다른 군집간의 거리는 떨어져 있고 동일한 군집끼리는 가까이 있다는 것을 의미합니다 

 

이를 정량화 하기 위해 실루엣 분석(silhouette analysis) 이란 간 군집 간의 거리가 얼마나 효율적으로 분리되어 있는지 측정합니다. 수식은 다음과 같지만 그냥 이해만 해보세요 .

 

실루엣 계수 
- 수식

 

- 해석 : 1로 갈수록 근처의 군집과 더 멀리 떨어짐. 0 에 가까울 수록 근처 군집과 가까워 진다는 것 

수식을 해석해보자면 특정한 데이터 i 의 실루엣 계수는 얼마나 떨어져 있는가 (b(i) - a(i)) 가 클 수록 크며, 이를 단위 정규화를 위해 a(i), b(i) 값 중에 큰 값으로 나눕니다.

 

좋은 군집화의 조건 

- 실루엣 값이 높을 수록 (1에 가까움)

- 개별 군집의 평균 값의 편차가 크지 않아야 함 

python 라이브러리

sklearn.metrics.sihouette_score : 전체 데이터의 실루엣 계수 평균 값 반환 

함수 입력 값
x: 데이터 세트 
labels : 레이블 
metrics: 측정 기준 기본은 euclidean