Construct a mixture of experts distribution structure
D = mixturefactory(GateD, ExpertD)
D = mixturefactory(GateD, ExpertD) returns a structure representing a mixture of experts distribution. GatetD is a gate structure. ExpertD defines the expert distributions and it may be either a conditional distribution structure or a cell array of conditional distribution structures on the same data space.
When ExpertD is a conditional distribution structure, it defines the expert component distribution type. The number of experts equals GateD.num().
When ExpertD is a cell array of conditional distribution structures, the function constructs a heterogeneous mixture of experts distribution where each expert may be of a different distribution type. The number of elements in the cell array should equal GateD.num().
- D (num-by-1 cell array of distribution parameter structures) : Contains the parameters for each expert.
- G : Sturucture containing the parameters of the gate.
Probability Density Function
The distribution has the following density:
where is the k-th gate component defined by the gate distribution and is the k-th expert component.
D_k = D.expert(idx)
D_k = D.expert(idx) where idx is the index of a component, gives the component distribution structure at idx.
D_k = D.expert(idx) where idx is an index vector with more than one element, returns a cell array of the distribution structures indexed in idx.
Valid range for the indices is from 1 to D.numtotal().
Number of components (excluding any fixed components)
num = D.num()