본문 바로가기

Machine learning/Unsupervised Learning

(6)
[클러스터링] T-SNE 이 글은 Joshua Starmer의 StatQuest: t-SNE, Clearly Explained 를 정리한 것임을 밝힙니다. T-SNE(T-distributed Stochastic Neighbor Embedding)는 고차원 데이터를 저차원으로 시각화하기 위한 기계 학습 알고리즘이다. 이 기술은 특히 고차원 공간에서의 데이터 포인트 간 거리를 저차원(주로 2차원 또는 3차원) 공간에서 잘 보존하는 데 중점을 둔다. T-SNE는 우선 각 데이터 포인트를 중심으로 한 주변의 다른 데이터 포인트들과의 유사도를 고차원에서 확률 분포로 나타낸다. 이 때, 가우시안 분포를 사용한다. 그 다음, 저차원 공간에서도 비슷한 확률 분포를 만들어 내려고 한다. 이를 위해, 저차원에서는 t-분포를 사용하여 데이터 포인트..
[차원축소] PCA(주성분분석) 이 글은 Joshua Starmer의 StatQuest: Principal Component Analysis (PCA), Step-by-Step 를 정리한 것임을 밝힙니다. PCA 주성분 분석(PCA, Principal Component Analysis)은 고차원 데이터의 주요 특성을 추출해 차원을 축소하는 통계적 방법이다. 이 방법은 데이터에서 중요한 정보를 유지하면서 차원을 감소시켜 데이터를 더 단순한 형태로 표현한다. 이 글에서는 PCA를 하는 과정을 설명하면서 PCA에 대해 설명해보겠다. PCA 과정 Gene1, Gene2 피처 2개가 있는 데이터로 예시를 들어보자. 1. 데이터 정규화 및 이동 PCA를 위해서는 먼저 피처들을 같은 스케일로 맞춰줘야 한다. 단위가 같은 크기로 반영되어야 하기 때문..
추천시스템 쉽게 이해하기 (Content-based, Collaborative filtering) 이 글에서는 추천 시스템의 두 가지 주요 방식인 '콘텐츠 기반 필터링(Content-based Filtering)'과 '협업 필터링(Collaborative Filtering)'에 대해 살펴볼 것이다. 이 두 방식은 매우 다르지만, 각각의 방식이 어떻게 사용자에게 맞춤형 추천을 제공하는지를 이해하는 것이 중요하다. 먼저 간단히 설명하자면, - Content-based Filtering: 제품의 특성에 대한 선호도 기반 - Collaborative Filtering: 제품을 평가한 사용자 기반 자세히 알아보도록 하자! Content-based Filtering 콘텐츠 기반 필터링은 제품의 특성을 추출하여, 비슷한 제품의 특성을 가진 다른 제품을 추천해주는 방식이다. 대표적인 예로, 음악의 가사, 음정, 분..
[클러스터링] CH-index 지도 학습은 정확도나 지표를 통해서 모델의 성능을 확인할 수 있지만, 비지도 학습인 군집 분석은 객관적인 성능을 확인할 명확한 지표가 없다. 그렇다면, 군집 분석이 잘 되었는지 어떻게 확인할까? 그래서, '거리' 개념을 통해 클러스터링이 잘 되었는지 확인한다. WSS(Total Within Sum of Squares) WSS = 한 클러스터 내에서 중심과 각 데이터 포인트 거리 제곱의 평균의 합 → 이 값이 작을수록 데이터 포인트들이 각 군집의 중심에 가까워지며, 군집화가 잘 이루어졌음을 의미한다. 따라서, WSS는 군집의 응집도를 측정하는 지표로 볼 수 있다. 그러나, WSS에는 한 가지의 맹점이 있다. 바로, k가 증가할수록 WSS는 무조건 감소한다는 점이다. (예를 들어, k가 샘플의 수와 같게 된..
[클러스터링] DBSCAN K-means가 거리에 따라 클러스터링을 했다면, 데이터 포인트 밀도에 따라 클러스터링을 해주는 알고리즘이 있다.밀도 기반 군집 분석인 DBSCAN에 대해 정리해보고자 한다.DBSCAN (Density Based Spatial Clustering of Applications with Noise)DBSCAN은 두 가지의 하이퍼파라미터를 갖는다.epsilon: MinPts 가 들어있는 범위를 결정 짓는 radius의 크기MinPts: 만약, Epsilon 안에 MinPts 만큼의 데이터가 있으면 해당 포인트는 core point가 된다. DBSCAN Pointcore point: MinPts의 개수를 갖고있는 중간 지점의 pointborder point: core point의 epsilon 안에 있지만, ..
[클러스터링] K-means 오늘은 비지도 학습 방법 중 많이 쓰이는 K-means clustering 알고리즘에 대해 정리해 보겠다. 머신러닝에서 Label이 없을 때 비지도 학습으로 비슷한 행끼리 클러스터링을 묶어줄 수 있다. K-means에서 K는 연구자가 설정하는 군집의 개수에 해당한다. 이 알고리즘은 단순해서 직관적이고 이해가 쉽다는 장점이 있다. 프로세스는 아래와 같다. K-means 프로세스 1) 설정한 K의 개수만큼, centroid를 설정한다. (이때, centroid는 랜덤이거나, 특정 데이터 포인트의 위치로 정해준다.) 2) centroid에서 가까운 거리에 있는 데이터들을 해당 클러스터로 묶어준다.(주로 Euclidean distance 사용) 3) k개의 클러스터에서 각각 클러스터의 중심점을 찾아 centro..