If the system is based on matching with a euclidean distance, it is a simple matter to give different weights to each dimension in the distance calculation. An unreliable dimension would be given a small weight. In an HMM the same effect can be obtained by manipulating the covariance matrix. If rows corresponding to unreliable dimensions are set to some large value, those dimensions will be effectively ignored. (See also Cooke et al. 1994b for a more complicated account of how to ignore dimensions).
Each time a covariance matrix is modified, its inverse must be recalculated. Presumably this must be done for all models, which might be expensive if the adjustment that must be made varies from frame to frame. [SR people, please tell me if I'm talking bullshit].
Of course these adjustments occur in the recognition phase, not in a training phase.
At first look it would seem that weight adjustment could be performed by passing the recognizer a vector of weights. Is this sufficiently general? Should one imagine a call-back function, as for template adjustment? What should it be passed? (covariance matrices?).