Sampling

짜장범벅·2022년 6월 4일
0

0. Sampling

Sampling이란 표본에서 일부를 추출하는 방법이다.

1. Kinds of Sampling

sampling의 대표적인 방법은 다음과 같다.

  • Simple Random Sampling(단순 랜덤 샘플) : 단순히 random number generator를 이용해 사용자가 입력한 수 만큼 샘플을 임의로 추출하는 방법
  • Systematic Sampling(계통 추출법) : sort된 데이터에 대해 임의의 k개씩 띄운 샘플을 추출하는 방법
  • Cluster Sampling(집락 추출법) : 표본을 Clustering해서 비슷한 특성을 갖는 집단으로 구분하여 그 비율만큼 임의로 추출하는 방법
  • Stratified Sampling(층화 추출법) : 표본을 여러 집단으로 구분한 후에 각 집단에서 추출하는 방법

각 추출법에 대해 장단점이 있다. 예를 들어 index에 민감한 표본이라면 systematic sampling이 잘 작동할 것이다. 또한 cluster를 이루는 표본에 대해서는 cluster sampling이 잘 작동할 것이다. 하지만 대게 그렇듯이 어떤 절차를 거친 방법은 random한 방법인 simple random sampling보다 느린 단점을 가질 것이다. 그렇다면 어떤 sampling을 사용하는 것이 좋을까?

2. Viewpoint of Sampling

통계와 머신 러닝에서 sampling을 보는 관점은 각각 다르다.

우선 통계에서는 값을 추정하기 위해 최대한 공평하게 sampling하는 것이 중요하다. 즉, 특정 데이터에 쏠린 sampling을 하는 것을 우려해서 simple random sampling을 기피한다. 통계에서는 sampling의 inference 관점에서 sampling을 하게 되는 것이다.

반면, 기계학습에서는 train set이 부족한 경우 다양성을 확보하기 위해 sampling을 한다. 특정한 값을 갖는 데이터에 대한 weights를 조정하는 것이 필요한 경우가 있다. 따라서 심지어 극단적인 데이터에 대해서도 어느정도 필요성을 갖게 된다. 물론 그러한 데이터가 많게 되면 머신 러닝의 성능을 담보할 수 없기 때문에 '적당히' 있어야 한다.

3. Reference

[1] https://ko.wikipedia.org/wiki/%EC%B8%B5%ED%99%94%EC%B6%94%EC%B6%9C%EB%B2%95

profile
큰일날 사람

0개의 댓글