def quadratic_discriminant_func(self, x, k):
mu_k = self.Mu[k]
pi_k = self.Pi[k]
sigma_k = self.Sigma_hat[k]
pinv = self.math.pinv
# assume that each row of x contain observation
result = -(np.log(np.linalg.det(sigma_k)))/2 \
- ((x - mu_k) @ pinv(sigma_k, rcond=0) @ (x - mu_k).T)/2 + log(pi_k)
return result
评论列表
文章目录