코딩 기록들
[ AI 기초 ] 07. Unsupervised Learning 비지도학습 본문
비지도학습
- 자율학습, Unsupervised Learning
- 기계학습의 일종, 데이터가 어떻게 구성되었는지 알아내는 문제의 범주
- 통계의 밀도추정과 깊은연관 있음 (비지도학습=데이터의 주요특징 요약하고 설명할수있음)
- 입력값에대한 목표치(정답)가 주어지지 않음 (-> 클러스터링,, 차원축소및 이를 이용한 데이터시각화, 생성모델등 다양한 task 포괄하는 개념)
- 클러스터링 대표 알고리즘 : K-means, DBSCAN 알고리즘, point assignment
- 차원축소의 방법들 : PCA(Principal Component Analysus), T-SNE
Clustering
- 크게 두가지방법으로 나뉨
1) Point assignment clustering - 각각의 점을 원소로 가지는 클러스터들로부터 전체를 포함하는 클러스터 하나를 만들때까지 반복적으로 두개의 '가까운' 클러스터 합치며 진행
2) 계층적 군집 - 모든클러스터가 하나의 원소 가질때까지 계속쪼개는 방법 - hierarchical clustering
k-Means Clustering
- k값이 주어졌을때 주어진 데이터들을 k개의 클러스터로 묶는 알고리즘(k개의 기준점을 중심으로 가장 가까운 데이터들을 뭉치는 방식)
- means = 각 클러스터의 중심과 데이터들의 평균거리를 의미
- 각 클러스터에 할당된 데이터포인트의 평균좌표를 이용해 중심점을 반복적으로 업데이터하며 클러스터 형성하는 알고리즘
- 진행단계 -
1) 각 클러스터의 할당이 바뀌지 않을때까지 반복
2) 할당된 클러스터를 기반으로 새로운 중심점 계산( 중심점은 클러스터 내부 점들의 좌표 산술 평균)
3) 각 클러스터의 할당이 바뀌지 않을때까지 반복
Hierarchical Clustering (계층적 군집분석)
- k-means clustering 과 달리, 사전에 군집수 k를 설정할 필요가 없다
- 비슷한 군집끼리 묶어가며 최종적으로는 하나의 케이스 될때까지 군집을 묶음
- Dendrogram 그래프 통해 시각화
- 진행단계 -
1) 각 데이터 포인트를 클러스터로 할당 (n개의 클러스터)
2) 가까운 클러스터끼리 병합
3) 1개의 클러스터가 될떄까지 반복
비지도 학습의 평가 (silhouette)
Silhouette (실루엣)
- 실루엣값은 클러스터안의 데이터들이 다른 클러스터와 비교해서 얼마나 비슷한가를 나타냄
- 같은클러스터 내 점들끼리는 가깝고, 다른클러스터 간 거리는 멀수록 높은값
- 실루엣값이 1에근접 = 클러스터내 평균거리가 다른클러스터의 평균거리보다 가깝다는걸 의미
비지도학습 실습은 아래 링크 참고
https://github.com/SeungHyunKee/IoTClient/blob/master/Unsupervised_Learning.ipynb
GitHub - SeungHyunKee/IoTClient
Contribute to SeungHyunKee/IoTClient development by creating an account on GitHub.
github.com
'AI 기초' 카테고리의 다른 글
[ AI 기초 ] 06. 지도학습 (Supervised Learning) 개념 (0) | 2022.10.31 |
---|---|
[ AI기초 ] 05-2. 사이킷런 실습 (K-최근접 이웃, 분류 알고리즘) (0) | 2022.10.30 |
[ AI기초 ] 05-1. 사이킷런 실습 (iris, 분류 알고리즘) (0) | 2022.10.30 |
[ AI 기초 ] 06. Supervised Learning 실습 (1) | 2022.10.29 |
[ AI기초 ] 05. 사이킷런(scikit-learn) 개념 (0) | 2022.10.29 |