본문 바로가기

머신러닝, 딥러닝50

GMM (Gaussian Mixture Models) 📚 GMM ✅ 개요 • KNN, 위계적 군집화, DBSCAN 등의 알고리즘은 벡터간 유사도로 군집화를 실시한다. 반면 GMM은 관측된 데이터가 특정 확률 분포를 이용해서 생성되었다고 가정하는 확률 모델이다. • GMM은 독립변수에 대한 다변량 분포(multivariate distribution)를 사용해서 데이터가 생성되었다고 가정한다. 하나의 분포가 하나의 군집을 의미하고, 다변량 분포에서는 여러 개의 확률 분포(=여러 개의 피쳐)를 사용한다. GMM에서는 각 분포가 가우시안 분포(=정규 분포)를 따른다. ✅ 정규 분포 (= 가우시안 분포) 독립변수가 하나인 경우 정규분포는 아래와 pdf를 따른다. 정규분포의 주요 파라미터는 평균과 분산이고 아래와 같이 표현할 수 있다. 독립변수가 1개인 데이터가 있을.. 2022. 6. 18.
서포트 벡터 머신 (Support Vector Machine) 📚 SVM ✅ 개요 • 2010년 전후로 많이 사용되었는데 정형 데이터에 대해서는 앙상블 기법, 비정형 데이터에 대해서는 인공신경망이 등장하면서 상대적으로 사용 빈도가 감소했다. • 주로 분류 문제에 많이 사용된다. 관측치를 벡터로 변환해서 공간상의 점으로 표현하고 그 점들을 구분하는 여러 개의 hyperplane(직선) 중에서 최적의 직선을 찾는 방식으로 학습한다. • n차원 공간(피쳐가 n개가 있는 경우)에 대한 하이퍼플레인은 다음과 같이 표현된다. 즉 위와 같이 2차원 공간에서는 직선의 형태가 되고 b0, b1, b2와 같은 파라미터에 의해서 직선의 형태가 달라진다. SVM은 학습을 통해서 최적의 파라미터를 탐색한다. ✅ 최적의 hyperplane을 탐색하는 방법 hyperplane과 가장 가까운 .. 2022. 6. 18.
특이값 분해 (Singular Value Decomposition) 📚 특이값 분해 (Singular Value Decomposition) ✅ 기본 개념 위의 고유분해를 사용하면 하나의 행렬을 서로 다른 3개의 행렬로 분해할 수 있다. 이 때 분해하는 행렬은 정사각 행렬이어야 한다. 한편, 분해 대상 행렬이 정사각 행렬이 아니라 직사각 행렬일 경우에는 위와 같이 SVD를 사용할 수 있다. 각 기호에 대한 설명은 아래와 같다. X : 정사각행렬이 아닌 m x n 형태의 행렬 U : XXT 행렬의 고유벡터를 열로 갖는 행렬 V : XTX 행렬의 고유벡터를 열로 갖는 행렬 D : 대각원소가 XTX 또는 XXT의 eigen values(λi)에 루트를 씌운 값(√λi )인 대각 행렬. 이 값을 X에 대한 singular value라고 한다. 📌예시 X 가 3x2 형태의 행렬일 .. 2022. 6. 17.
차원축소 - PCA(Principal Component Analysis) 📚 PCA(주성분 분석) ✅ Principal Component 개념 • PCA는 Feature extraction 방법 중 하나이다. Principal component는 하나의 벡터인데, 이는 독립변수들이 가지고 있는 정보(분산으로 표현)를 설명하는 축을 의미한다. • 전체 PC의 수 = 전체 독립변수 수 • 각 PC가 설명하는 정도가 다 다르기 때문에, 분산을 설명하는 큰 PC를 새로운 feature로 선택해서 사용할 수 있다. → 원 데이터의 정보(분산)의 손실을 최소화하면서 피쳐의 수를 감소시킬 수 있다. 📌예시 1 예를 들어 위와 같이 총 피쳐가 5개이고 각 피쳐의 분산의 크기에 따라서 정렬하고, 설명력이 높인 상위 두개의 PC인 PC1, PC2를 선택했다고 하자. 이를 통해서 피쳐의 수를 5.. 2022. 5. 30.
차원축소 기본 - 고유값, 고유벡터, 고유분해 📚 차원 축소 ✅ 차원의 저주 (Curse of Dimensionality) : 피쳐의 수가 지나치게 많아져서 발생하는 문제 • 지도 학습 : 노이즈 제거를 통해서 과적합 가능성 감소 및 모델 성능 향상 • 비지도 학습 : 피쳐가 많으면 각 관측치 간의 거리가 유사해진다. 거리 계산하는 요소가 많아지면 평준화되는 경향이 있다. 또한 한 관측치를 설명하는 피쳐가 많으면, 중요한 피쳐가 무엇인지 파악하기 어렵기 때문에 벡터가 관측치의 unique한 특성을 반영할 수가 없어서 벡터간 구분이 어렵다. • 각 관측치가 가지고 있는 피쳐의 수 = 해당 벡터가 존재하는 공간의 차원의 수 = 해당 벡터의 원소의 수 ✅ 차원 축소 방법 📌1. Feature Selection • 원래 피쳐 중에서 목적에 적합한 중요 변수.. 2022. 5. 29.
앙상블 기법(Ensemble Method) - Boosting 📚Boosting - Adaboosting, Gradient Boosting Boosting 방식은 sub sample을 사용하지 않고 원래의 학습 데이터에 여러 개의 weak learner를 순차적으로 적용한다. 이전 learner가 잘못 예측한 부분을 이후의 learner가 보완하는 방식으로 학습이 진행된다. Gradient boosting, Adaptive boosting이 여기에 속한다. 최근에는 배깅보다 부스팅 방식이 성능이 더 뛰아나서 많이 사용된다. 부스팅 방식에서는 각 data point에 유니크한 가중치가 부여되는데, 이전 learner에서 제대로 예측하지 못한 data point의 경우 다음 learner에서 가중치를 더 크게 부여해서 올바르게 학습되도록 유도한다. 📚 AdaBoosti.. 2022. 5. 28.