code: def _expectation(p, mean, none, kern, feat, nghp=None):
      r
      return functools.reduce(tf.add, [
          expectation(p, mean, (k, feat), nghp=nghp) for k in kern.kernels])
docs: r"""
      Compute the expectation:
      expectation[n] = <m(x_n)^T (\Sum_i Ki_{x_n, Z})>_p(x_n)
          - \Sum_i Ki_{.,.} :: Sum kernel
  
      :return: NxQxM