일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 코딩테스트
- 생성모델
- 합성곱 신경망
- 입력층
- KONLPY
- COLAB
- 딥러닝
- 카운트 벡터
- RNN
- 텍스트 마이닝
- 망각 게이트
- 합성곱층
- 시계열 분석
- 성능 최적화
- 순환 신경망
- 이미지 분류
- 클러스터링
- 과적합
- 풀링층
- 전이학습
- 원-핫 인코딩
- 출력층
- cnn
- 임베딩
- 양방향 RNN
- 자연어 전처리
- 완전연결층
- 코랩
- NLTK
- 프로그래머스
Archives
- Today
- Total
Colab으로 하루에 하나씩 딥러닝
클러스터링_2.가우시안 혼합 모델 본문
728x90
가우시안 혼합 모델(Gaussian Mixture Model, GMM)
- 가우시안 분포가 여러 개 혼합된 클러스터링 알고리즘
- 가우시안 분포: 평균을 중심으로 대칭적인 종 모양의 사건의 발생할 확률을 나타냄
- 현실에 있는 복잡한 형태의 확률 분포를 K개를 혼합하여 표현하자는 것(K=하이퍼파라미터)
- 클러스터링에서는 주어진 데이터에 대해 이 데이터가 어떤 가우시안 분포에 속하는지 찾는 것
가우시안 혼합 모델 실습
### 라이브러리 호출
import numpy as np
import matplotlib.pyplot as plt
from sklearn.mixture import GaussianMixture
### git 클론을 통한 필요 데이터셋 로드
!git clone https://github.com/gilbutITbook/080263.git
### 데이터 로딩
X_train = np.load('/content/080263/chap11/data/data.npy')
상세 설명
- 파일을 배열로 불러오는 방법
- np.load(): np.save()로 저장된 data.npy 파일을 배열로 불러옴
- np.save(): 배열 한 개를 numpy 형식의 바이너리 파일로 저장
### GMM 생성
gmm = GaussianMixture(n_components=2)
gmm.fit(X_train)
print(gmm.means_)
print('\n')
print(gmm.covariances_)
X, Y = np.meshgrid(np.linspace(-1,6), np.linspace(-1,6))
XX = np.array([X.ravel(), Y.ravel()]).T
Z = gmm.score_samples(XX)
Z = Z.reshape((50,50))
plt.contour(X, Y, Z)
plt.scatter(X_train[:,0], X_train[:,1])
plt.show()
상세 설명
- 평균 주위에 대부분의 데이터가 모여 있음
- 타원 가장 안쪽 부분에 대부분의 데이터가 있음
- GMM은 데이터가 두 개 이상의 가우시안 분포를 따르는 경우에 사용 가능
참고: 서지영, 『딥러닝 텐서플로 교과서』, 길벗(2022)
'딥러닝_개념' 카테고리의 다른 글
생성모델_1.오토인코더 (0) | 2023.02.03 |
---|---|
클러스터링_3.자기 조직화 지도 (0) | 2023.01.31 |
클러스터링_1.K-평균 군집화 (0) | 2023.01.27 |
성능 최적화_3.조기 종료를 통한 최적화 (0) | 2023.01.26 |
성능 최적화_2.드롭아웃을 통한 최적화 (0) | 2023.01.25 |