Main Content

random

가우스 혼합 분포의 확률 변량

설명

예제

Y = random(gm)은 m차원 가우스 혼합 분포 gm에서 1×m 확률 변량을 생성합니다.

예제

Y = random(gm,n)n 확률 변량을 반환합니다. Y의 각 행은 m차원 가우스 혼합 분포 gm에서 생성된 확률 변량입니다.

예제

[Y,compIdx] = random(___)은 위에 열거된 구문의 입력 인수에 대해 n×1 인덱스 벡터 compIdx도 반환합니다. compIdx(i)i번째 확률 변량 Y(i,:)를 생성하는 데 사용되는 혼합 성분을 나타냅니다.

예제

모두 축소

gmdistribution 객체를 만들고 확률 변량을 생성합니다.

두 개의 이변량 가우스 혼합 분포 성분으로 구성된 분포 파라미터(평균 및 공분산)를 정의합니다.

mu = [1 2;-3 -5];
sigma = [1 1]; % shared diagonal covariance matrix

gmdistribution 객체는 gmdistribution 함수를 사용하여 생성할 수 있습니다. 기본적으로, 이 함수는 성분의 비율이 동일하도록 혼합합니다.

gm = gmdistribution(mu,sigma)
gm = 

Gaussian mixture distribution with 2 components in 2 dimensions
Component 1:
Mixing proportion: 0.500000
Mean:     1     2

Component 2:
Mixing proportion: 0.500000
Mean:    -3    -5

1,000개의 확률 변량을 생성합니다.

rng('default'); % For reproducibility
[Y,compIdx] = random(gm,1000);

compIdx(i)i번째 확률 변량 Y(i,:)를 생성하는 데 사용되는 혼합 성분을 나타냅니다. Component 1에 의해 생성된 확률 변량의 개수를 계산합니다.

numIdx1 = sum(compIdx == 1)
numIdx1 = 512

randomgm의 혼합 비율이 같으므로 Component 1을 사용하여 확률 변량의 약 절반을 생성합니다.

scatter를 사용하여 생성된 확률 변량을 플로팅합니다.

scatter(Y(:,1),Y(:,2),10,'.') % Scatter plot with points of size 10

Figure contains an axes object. The axes object contains an object of type scatter.

난수 생성기를 재설정하여 동일한 확률 변량을 생성합니다.

두 개의 이변량 가우스 혼합 성분으로 구성된 분포 파라미터(평균, 공분산 및 혼합 비율)를 정의합니다.

p = [0.4 0.6];               % Mixing proportions     
mu = [1 2;-3 -5];            % Means
sigma = cat(3,[2 .5],[1 1])  % Covariances 1-by-2-by-2 array
sigma = 
sigma(:,:,1) =

    2.0000    0.5000


sigma(:,:,2) =

     1     1

cat 함수는 세 번째 배열 차원을 따라 공분산을 결합합니다. 정의된 공분산 행렬은 대각 행렬입니다. sigma(1,:,i)는 성분 i의 공분산 행렬의 대각선 요소를 포함합니다.

gmdistribution 객체는 gmdistribution 함수를 사용하여 생성할 수 있습니다.

gm = gmdistribution(mu,sigma);

난수 생성기의 현재 상태를 저장한 다음, gm을 사용하여 확률 변량을 생성합니다.

s = rng;
r = random(gm)
r = 1×2

   -1.1661   -7.2588

난수 생성기의 상태를 s로 복원한 다음, gm을 사용하여 확률 변량을 생성합니다. 값이 이전과 같습니다.

rng(s);
r1 = random(gm)
r1 = 1×2

   -1.1661   -7.2588

입력 인수

모두 축소

가우스 혼합 분포(가우스 혼합 모델 또는 GMM이라고도 함)로, gmdistribution 객체로 지정됩니다.

gmdistribution 또는 fitgmdist를 사용하여 gmdistribution 객체를 생성할 수 있습니다. gmdistribution 객체는 gmdistribution 함수를 사용하여 분포 파라미터를 지정하여 생성할 수 있습니다. fitgmdist 함수를 사용해, 고정된 개수의 성분이 주어진 경우에 gmdistribution 모델을 데이터에 피팅합니다.

생성할 확률 변량의 개수로, 양의 정수로 지정됩니다.

데이터형: single | double

출력 인수

모두 축소

확률 변량으로, 1×m 숫자형 벡터 또는 n×m 숫자형 행렬로 반환됩니다. Y의 각 행은 m차원 가우스 혼합 분포 gm에서 생성된 확률 변량입니다.

성분 인덱스로, 양의 정수 또는 n×1 인덱스 벡터로 반환됩니다. 여기서 compIdx(i)i번째 확률 변량 Y(i,:)를 생성하는 데 사용되는 혼합 성분을 나타냅니다.

버전 내역

R2007b에 개발됨