def UpdateSet(self, dataset):
for data in dataset:<EOL><INDENT>for hypo in self.Values():<EOL><INDENT>like = self.Likelihood(data, hypo)<EOL>self.Mult(hypo, like)<EOL><DEDENT><DEDENT>return self.Normalize()<EOL>
Updates each hypothesis based on the dataset.

        This is more efficient than calling Update repeatedly because
        it waits until the end to Normalize.

        Modifies the suite directly; if you want to keep the original, make
        a copy.

        dataset: a sequence of data

        returns: the normalizing constant