Sampling 3

[Sampling] Reservoir Sampling

1. Reservoir Sampling 정의 n개의 항목 목록에서 k 개의 샘플을 무작위로 선택하기 위한 무작위 알고리즘으로, 여기서 n은 매우 크거나 알 수 없는 숫자이다. 일반적으로 n은 목록이 주 메모리에 맞지 않을 정도로 크다. 예를 들어 Google 및 Facebook의 검색어 목록이다. 특징 데이터 스트림에서 샘플링하는 알고리즘 2. Process 단순화하기 위해 숫자의 큰 배열 (또는 스트림)이 주어지며 1 < = k < = n 인 k 숫자를 무작위로 선택하는 효율적인 함수를 작성해야한다. 입력 배열을 stream[] 으로 하자. 간단한 해결책은 최대 크기 k의 배열 저장소 reservoir[]를 만드는 것이다. 스트림 [0..n-1]에서 항목을 하나씩 무작위로 선택한 뒤, 선택한 항목이 이..

Sampling 2023.02.13

[Sampling] 중요도 샘플링 (Importance Sampling: IS)

1. Importance Sampling 정의 효율적으로 기댓값을 추정하기 위해 고안되었으며, 확률 밀도 추정 및 강화 학습 등의 다양한 활용에 이용 기댓값을 계산하고자 하는 확률 분포 p(x)의 확률 밀도 함수 (probability density function, PDF)를 알고는 있지만 p에서 샘플을 생성하기가 어려울 때, 비교적 샘플을 생성하기가 쉬운 q(x)에서 샘플을 생성하여 p 의 기댓값을 계산하는 것 즉, pdf(p(x))로 임의의 샘플을 생성하지 않음. Monte Carlo sampling 정확도를 향상시키기 위해 왜곡된 pdf(q(x))를 찾는다. 활용 예 어휘량이 많은 neural language models의 학습을 가속화하기 위해 Estimate partition function ..

Sampling 2023.02.13

[Sampling] 라틴 하이퍼큐브 샘플링(Latin Hypercube Sampling: LHS)

1. Latin Hypercube Sampling 정의 - stratified Monte Carlo(MC)의 한 종류로 기본 아이디어는 샘플링 포인트의 분포를 확률 밀도 함수(probability density function: pdf)에 가깝게 만드는 것 - 샘플링 영역은 x의 각 구성 요소의 범위를 나누어 특정 방식으로 분할된다. x의 요소가 독립이거나, 독립을 기반으로 변형가능할 경우에만 고려한다. 특징 - 분포를 동일한 확률구간으로 분할한다. - 주로 long-running model에 사용하도록 의도됨(효율적인 계층화 특성 때문에) 2. Process process 1) x 변수로부터 샘플 크기 N을 생성한다. x1, x2, ..., xn 각 변수의 범위는 동일한 확률 크기(1/N)를 기준으로 ..

Sampling 2023.02.13