GNM(Gaussian Mixture Model)
·
머신러닝
GNM(Gaussian Mixture Model) GNM 군집화는 군집화를 적용하고자 하는 데이터가 여러 개의 가우시안 분포를 섞어서 생성된 모델로 가정해 수행하는 방식이다. 정규 분포로도 알려진 가우시안 분포는 좌우 대칭형의 종(Bell) 형태를 가진 연속 확률 함수 이다. GNM은 데이터를 여러 개의 가우시안 분포가 섞인 것으로 간주한다. 섞인 데이터 분포에서 개별 유형의 가우시안 분포를 추출한다. 먼저 아래 사진처럼 세 개의 가우시안 불포를 합치면 다음과 같은 형태가 될 것이다. ( 파란색 선 : 개별 가우시안 분포, 빨간색선 : 합친 가우시안 분포 ) 군집화를 수행하려는 실제 데이터 셋의 데이터 분포도가 다음과 같다면 쉽게 이 데이터 셋이 정규 분포 A, B, C를 합쳐서 된 데이터 분포도임을 알..
평균이동(Mean Shift)
·
머신러닝
Mean Shift 평균 이동(Mean Shift)는 K-평균과 유사하게 중심을 군집의 중심으로 지속적으로 움직이면서 군집화를 수행한다. 하지만 K-평균이 중심에 소속된 데이터의 평균 거리 중심으로 이동하는 데 반해, Mean Shift는 중심을 데이터가 모여 있는 밀도가 가장 높은 곳으로 이동시킨다. 다음 그림에서 볼 수 있듯이 평균 이동 알고리즘은 특정 대역폭을 가지고 최초의 확률 밀도 중심 내에서 데이터의 확률 밀도 중심이 더 높은 곳으로 중심을 이동한다. 평균 이동은 데이터의 분포도를 이용해 군집 중심점을 찾는다. 군집 중심점은 데이터 포인트가 모여 있는 곳이라는 생각에서 착안한 것이며 이를 위해 확률 밀도 함수(P.D.F)를 이용한다. 가장 집중적으로 데이터가 모여있어 확률 밀도 함수가 피크인 ..
군집 평가 - 실루엣 분석
·
머신러닝
군집 평가(Cluster Evaluation) 대부분의 군집화 데이터 셋은 비교할만한 데이터 셋을 가지고 있지 않다. 또한 군집화는 분류와 유사해 보일 수 있으나 성격이 많이 다르다. 데이터 내에 숨어 있는 별도의 그룹을 찾아서 의미를 부여하거나 동일한 분류 값에 속하더라도 그 안에서 더 세분화된 군집화를 추구하거나 서로 다른 분류 값의 데이터도 더 넓은 군집화 레벨하 등의 영역을 가지고 있다. 비지도 학습의 특성상 어떠한 지표라도 정확하게 성능을 평가하기는 어렵다. 그럼에도 불구하고 군집화의 성능을 평가하는 대표적인 방법으로 실루엣 분석을 이용한다. 실루엣 분석 이란 실루엣 분석은 각 군집 간의 거리가 얼마나 효율적으로 분리 돼있는지를 나타낸다. 효율적으로 잘 분리 됐다는 것은 다른 군집과의 거리는 떨..
군집화 - K-Means
·
머신러닝
군집화 K-means 알고리즘 K-means는 군집화에서 가장 일반적으로 사용되는 알고리즘이다. K-means는 군집 중심점이라는 특정한 임의의 지점을 선택해 해당 중심에 가장 가까운 포인트들을 선택하는 군집화 기법이다. 군집 중심점은 선택된 포인트의 평균 지점으로 이동하고 이동된 중심점에서 다시 가까운 포인트를 선택, 다시 중심점을 평균 지점으로 이동하는 프로세스를 반복적으로 수행한다. 모든 데이터 포인트에서 더 이상 중심점의 이동이 없을 경우 반복을 멈추고 해당 중심점에 속하는 데이터 포인트들을 군집화 하는 기법이다. 다음 그림에서 K-means가 어떻게 동작하는지 살펴보자. K-means 의 특징 일반적인 군집화에서 가장많이 활용 되는 알고리즘 알고리즘이 쉽고 간결. 거리 기반 알고리즘으로 속성의 ..
NMF(Non - Negative Matrix Factorization)
·
머신러닝
NMF(Non - Negative Matrix Factorization) NMF는 Truncated SVD와 같이 낮은 랭크를 통한 행렬 근사 방식의 변형이다. NMF는 원본 행렬 내의 모든 원소 값이 모두 양수라는것이 보장되면 다음과 같이 좀 더 간단하게 두 개의 기반 양수 행렬로 분해 될 수 있는 기법을 지칭한다. 이렇게 분해된 행렬은 잠재 요소를 특성으로 가지게 된다. 분해 행렬 W는 원본 행에 대해서 이 잠재 요소에 값이 얼마나 되는지에 대응하며, 분해 행렬 H는 이 잠재 요소가 원본 열 (즉, 원본속성)으로 어떻게 구성됐는지를 나타내는 행렬이다. NMF는 SVD와 유사하게 차원 축소를 통한 잠재 요소 도출로 이미지 변환 및 압축, 텍스트의 토픽 도출등의 영역에서 사용되고 있다. 사이킷런에서 NM..
Truncated SVD
·
머신러닝
Truncated SVD 를 이용한 행렬 분해 Truncated SVD는 Sigma 행렬에 있는 대각원소 ,즉 특이값 중 상위 일부 데이터만 추출해 분해하는 방식이다. 이렇게 분해하면 인위적으로 더 작은 차원의 U,∑, V^T를 분해하기 때문에 원본 행렬을 정확하게 원복할 수 없다. 그러나 데이터 정보가 압축되어 분해됨에도 불구하고 상당한 수준으로 원본 행렬을 근사 할 수 있다. Truncated SVD는 넘파이가 아닌 사이파이에서만 지원된다. 사이파이는 SVD뿐만 아니라 Truncated SVE도 지원한다. 일반적으로 사이v파이 SVD는 scipy.linalg.svd를 이용하면되지만 Truncated SVD는 희소 행렬로만 지원 돼서 scipy.sparse.linalg.svds를 이용 해야한다. imp..
ariz1623
'머신러닝' 태그의 글 목록 (2 Page)