머신러닝
[클러스터링] GMM(Gaussain Mixture Model)
1. 정의 GMM은 데이터가 여러 개의 가우시안 분포(Gaussian Distribution)을 가진 데이터 집합들이 섞여서 생성된 것이라는 가정하에 클러스터링을 수행하는 방식이다. 가우시안 분포 흔히 정규 분포로 알려져 있으며 좌우 대칭형의 종 형태를 가진다. 평균 $\mu$를 중심으로 높은 데이터 분포를 가지며 평균이 0이고, 표준편차가 1이다. 4개의 데이터 세트가 있다면, 위와 같이 나타날 것이고 수행 방식은 다음과 같다. 1) GMM으로부터 개별 정규 분포의 평균과 분산 추정 2) 각 데이터가 어떤 정규 분포에 해당되는지의 확률 추정 위 과정을 모수 추정이라고 하고 이를 위해 GMM은 EM(Expectation and Maximaization) 방법을 적용한다. 2. 사용법 iris 데이터셋을 ..
[클러스터링] 평균 이동(Mean Shift)
1. 정의 평균 이동은 K-Means와 유사하게 중심을 군집의 중심을 지속적으로 움직이면서 클러스터링을 수행한다. 다만, 평균 이동은 중심을 데이터가 모여 있는 밀도가 가장 높은 곳으로 이동시킨다. 데이터의 분포도를 이용해 중심점을 찾는데, 확률 밀도 함수를 이용하고 이를 찾기 위해서 KDE(Kernel Density Estimation)을 이용한다. KDE 커널함수를 통해 어떤 변수의 확률 밀도 함수를 추정하는 대표적인 방법. 관측된 데이터 각각에 커널 함수를 적용한 값을 모두 더한 뒤 데이터 건수로 나눠 확률 밀도 함수를 추정한다. 대표적인 커널 함수로 가우시안 분포 함수가 적용된다. 그리고 KDE의 식은 아래와 같다. $$ \mathrm{KDE}=\frac{1}{n} \sum_{i=1}^{n} K_..
[클러스터링] K-Means 알고리즘
1. 정의 K-Means 알고리즘은 주어진 데이터를 k개의 클러스터로 묶는 알고리즘으로 각 클러스터와 거리 차이의 분산을 최소화하는 방식으로 동작한다. (출처:위키피디아) 수행 과정은 아래와 같다. 1) 임의의 군집 중심점(centroid)를 설정 2) 각 데이터는 가장 가까운 중심점에 소속됨 3) 중심점에 할당된 데이터들의 평균 중심으로 중심점 이동 4) 이동된 중심점으로 각 데이터 소속 변경 5) 4번에서 소속변경이 없다면 멈추고 계속 있다면 소속변경이 없을 때까지 3~4번을 반복 2. 특징 2-1. 장점 일반적으로 많이 사용되는 알고리즘으로 쉽고 간결하다. 2-2. 단점 거리 기반 알고리즘으로 속성의 개수가 많다면 정확도가 떨어진다. 반복을 수행하는데, 반복 횟수가 많을 경우 수행 시간이 느리다. ..
[머신러닝] PCA (주성분 분석)
0. 들어가기전에 [머신러닝] 차원의 저주와 차원 축소에서 이어집니다. 1. PCA (Principal Component Analysis) PCA는 가장 대표적인 차원 축소 기법으로 여러 변수 간에 존재하는 상관관계를 이용해 이를 대표하는 주성분(Principal Component)을 추출해 차원을 축소하는 기법이다. 목적 1. 고차원의 데이터를 저차원으로 줄인다. 2. 공통된 (상관관계가 높은) 변수들을 줄여서 주성분을 찾는다. 1-1. 방법 1. 기존 데이터의 정보 유실을 최소화하기 위하여 가장 높은 분산을 가지는 데이터의 축을 찾아 해당 축으로 차원을 축소한다. (분산이 데이터의 특성을 가장 잘 나타내는 것으로 간주) 2. 첫 번째 축에서 직교하는 축을 선정하여 해당 축으로 차원을 축소한다. (직교..
[머신러닝] 차원의 저주와 차원 축소
1. 차원의 저주 (Curse of dimensionality) 데이터 학습을 위해 차원이 증가하면서 학습데이터 수가 차원의 수보다 적어져 성능이 저하되는 현상 일반적으로 차원이 증가할수록 데이터 포인트 간의 거리가 기하급수적으로 멀어지게 되고, 희소(sparse)한 구조를 가지게 된다. 피처가 많을 경우, 개별 피처간에 상관관계가 높을 가능성이 높고 다중 공선성 문제를 야기한다. 다중 공선성 문제 독립변수들 간에 강한 상관관계가 나타나는 문제 2. 차원 축소 차원의 저주를 해결하는 방법 중 하나이다. 일반적으로 피처 선택(feature selection)과 피처 추출(feature extraction)으로 나뉜다. 피처 선택: 종속성이 강한 불필요한 피처는 제거하고, 데이터의 특징을 잘 나타내는 주요 ..
[통계] 1종 오류와 2종 오류 & 오차행렬(confusion matrix)
1. 정의 위키피디아에 따르면 다음과 같이 정의된다. 1종 오류: 귀무가설이 실제로 참이지만, 이에 불구하고 귀무가설을 기각하는 오류 2종 오류: 귀무가설이 실제로 거짓이지만, 이에 불구하고 귀무가설을 기각하지 못하는 오류 2. 설명 귀무가설은 아무일도 일어나지 않았음을 의미한다. 따라서 다음과 같이 생각할 수 있다. 1종 오류: 실제로는 아무 일도 일어나지 않았지만, 어떤일이 발생했을 것이라고 예측하는 오류 2종 오류: 실제로는 어떤 일이 발생했지만, 아무 일도 일어나지 않았을 것이라고 예측하는 오류 2-1. 예시 몇가지 예시를 들어본다. 화재 경보 - 귀무 가설: 아파트에 불이 나지 않았다. - 1종 오류: 실제로는 아파트에 불이 나지 않았지만, 화재 경보가 울린 경우 - 2종 오류: 실제로는 아파트..
[통계] 귀무가설과 대립가설
1. 들어가기전에 통계를 공부하다보면 p-value, 검정력, 1종 오류, 2종 오류 등등 어려운 단어가 너무 많이 나온다. 이들을 알아보기전에, 기본이 되는 귀무가설과 대립가설을 알 필요가 있다. 2. 정의 2-1. 귀무가설 귀무 가설은 영어로 null hypothesis라고 하는데, 처음부터 버릴 것을 예상하는 가설이다. 따라서 새로울 게 없다는 뜻으로 기존에 존재하는 가설이다. 2-2. 대립가설 귀무 가설에 대립되는 가설로 연구자가 입증되기를 주장하는 가설이다. 3. 의미 일반적으로 참이 아님을 증명하는 것이 참임을 증명하는 것보다 쉽다. 그렇기 때문에 귀무가설이 아님을 증명하는 방식으로 진행한다고 생각하면 되겠다. 따라서 정리하면, 연구자는 대립 가설을 세우고 실험을 통해 대립 가설을 입증하고자 ..
[전처리] 데이터 스케일링
1. 스케일링 하는 이유 데이터별로 값들의 범위가 다양하게 존재할 수가 있다. 예를 들어, 값이 대체로 큰 데이터와 값이 대체로 작은 데이터가 존재한다. (ex. 키와 몸무게) 이러한 경우에는 같은 값이라도 서로 다른 영향을 미치게 될 것이고 이는 학습에 악영향을 줄 수 있다. 따라서, 스케일링을 통해 각 칼럼이 비슷한 범위를 가지도록 하여 문제를 해결할 수 있다. 2. 스케일링 종류 및 특징 스케일링은 보통 표준화(Standard Scaler) · 최소-최대 스케일링(Min-Max Scaling) · 로버스트 정규화(Robust Scaler) 이렇게 3가지가 있다. 2-1. 표준화(Standard Scaler) $$Z = \frac{X_i - mean(X)}{sd(X)}$$ 데이터를 표준화된 정규분포꼴..
[통계] 공분산과 상관계수
1. 들어가기 전에 머신러닝을 공부하다가, 판다스에서 상관계수를 계산해주는 코드를 작성하였다. import pandas as pd url = "" data = pd.read_csv(url) data.corr() 피어슨, 스피어만과 같은 상관계수는 많이 들어봤는데 판다스에서 default로 어떤 상관계수를 쓰고 어떤 상관계수들을 받고 각각 특징이 궁금해졌다. 우선, 공식 홈페이지를 살펴본 결과, 피어슨 상관계수를 default로 사용한다. 그리고 피어슨, 켄달, 스피어만 상관계수를 사용할 수 있다. 상관계수를 이해하기전 공분산을 이해하는 것이 필수이므로 공분산을 알아본 뒤, 상관계수의 정의를 살펴보고 각각 특징을 알아보자. 2. 공분산 정의 2개의 확률변수의 선형 관계를 나타내는 값이다. (출처: 위키피디..