본문 바로가기
728x90
반응형

분류 전체보기249

[CS246] Dimensionality Reduction (2) - PCA Principal Component Analysis (PCA) PCA 알고리즘으로 생성된 새로운 차원(dimension)을 주성분(principal component)라 부른다. 원래 PCA 자체로는 차원축소가 아니지만, 이 포스트에서는 차원축소로 응용되는 특성에 대해 다룬다. PCA: Algorithm 데이터의 분산이 가장 큰 방향을 새로운 차원의 축으로 삼는 것이 핵심이다. (해당 축으로 데이터를 정사영했을 때 가장 range가 큰 것) 데이터의 분산이 곧 데이터의 분포를 가장 잘 설명할 것이기 때문이다. 첫번째 차원: 데이터의 분산이 가장 큰 방향 두번째 차원: 첫번째 차원과 수직이면서, 데이터의 분산이 2번째로 큰 방향 n번째 차원: 첫번째, 두번째, ..., (n-1)번째 차원과 모두 수직이면서.. 2023. 10. 8.
[CS246] Dimensionality Reduction (1) - Introduction Demensionality Reduction Reducing Matrix Reduction 대부분의 데이터는 행렬로 표현할 수 있다. 예를 들어, $m \times n$ 행렬은 $m$개의 점들과 $n$개의 feature로 생각할 수 있다. 선형대수를 이용하면, 행렬을 3개의 행렬의 곱으로 나타낼 수 있다. 이때 새로 생기는 3개의 행렬은 더 작은 차원 $r$을 공유한다. 예를 들어, SVD를 이용하면 $m \times n$ 행렬은 각각 $m\ times r,\ r \times r,\ r times n$ 이렇게 3개의 행렬을 얻게 되고 가운데 행렬은 대각행렬이기 때문에 $r \times r$은 사실상 $r \times 1$ 이다. Latent Factors 원래 데이터의 차원을 $D$, 그리고 축소된(혹은.. 2023. 10. 7.
[Sampling] Markov Chain Monte Carlo (MCMC) (2) - Metropolis-Hastings Algorithm Metropolis-Hastings MCMC에서 가장 많이 사용되는 알고리즘 중 하나이다. 임의의 target distribution에 대하여 이 알고리즘을 적용할 수 있다는 것이 장점이다. 물론 proposal distribution $q(x'|x)$와 unnormalized distribution $\tilde{p}(x)$는 필요하다. 그러나 full target distribution $p(x)$는 필요하지 않다. 이 알고리즘의 퀄리티는 proposal distribution $q(x'|x)$에 달려있다. Metropolis-Hastings Algorithm $x^{(1)}$을 랜덤하기 초기화한다. for $t=1, \dots$ do Propose $x' \sim q(x'|x^{(t)})$ acce.. 2023. 10. 4.
[CS246] CURE Algorithm: Extension of k-means to clusters of arbitrary shapes Motivation k-mean과 BFR 알고리즘은 convex하거나 fixed-axis와 같은 클러스터 shape에 여러 가정이 있었다. CURE 알고리즘은 이러한 cluster shape에 어떠한 가정을 하지 않고 유클리드 거리만을 가정한다. 데이터가 정규분포일 필요도 없고, 고정된 축일 필요도 없다. 따라서 centroid 개념도 필요하지 않다. 대신에, collection of representative points가 클러스터의 표현을 나타낸다. 클러스터 개수는 $k$개라고 가정한다. CURE는 Clustering Using REpresentatives의 앞글자를 따온 것이고, 원래 논문의 제목은 "CURE: An Efficient Clustering Algorithm for Large Datab.. 2023. 10. 2.
[CS246] BFR Algorithm: Extension of k-means to large data Motivation k-mean 알고리즘은 모든 데이터를 메모리에 올리고 클러스터링 알고리즘을 수행한다. 그러나 현실세계의 데이터는 너무 커서(데이터베이스로 관리 등) 메인메모리에 올릴 수 없다. BFR 알고리즘을 매우 큰 데이터(disk-resident data sets)에 k-mean 클러스터링을 적용하는 알고리즘이다. BFR은 논문의 세 저자 Paul S. Bradley, Usama M. Fayyad, Cory A. Reina의 앞글자를 딴 것이다. (논문: Scaling Clustering Algorithms to Large Database) BFR Overview Assume 모든 클러스터는 axis-aligned ellipse이다. (그러나 각 axis마다 표준편차가 다른 것은 허용된다) Id.. 2023. 10. 1.
Python의 round는 사사오입? 오사오입? 초등학교와 중학교에서 배운 반올림은 5이상에서 올리고, 5미만에서 버린다. 사사오입이라고도 부른다. 파이썬에서 반올림은 `round` 함수가 있는데, 사사오입이 아니라 오사오입이다. (banker's rounding이라고도 한다) ※ 올림과 버림은 음수로 오면 헷갈리기 쉽다. 수학적으로 각각 ceil과 floor이다. ※ 반올림의 수학적 표현은 floor(x+0.5) 이다. 이게 무엇인가 하면, 5미만은 버림, 5초과에서 올린다. 5의 경우 앞자리가 짝수면 버리고, 홀수면 올린다. 예를 들면, 2.5의 경우 5의 앞자리가 2인 짝수로 버린다. 즉 round(2.5)=2 이다. 3.5의 경우, 5의 앞자리가 3인 홀수로 올린다. 즉 round(3.5)=3 이다. 음수의 경우, 절댓값에 반올림을 적용하고, .. 2023. 10. 1.
728x90
반응형