Homepage › Solution manuals › Kevin P. Murphy › Machine Learning: a Probabilistic Perspective › Exercise 4.22 - QDA with 3 classes
Exercise 4.22 - QDA with 3 classes
Answers
Solve (a) and (b) numerically:
import math import numpy as np mu1=np.array([0,0]) mu2=np.array([1,1]) mu3=np.array([1,-1]) s1=np.array([[0.7,0],[0,0.7]]) s2=np.array([[0.8,0.2],[0.2,0.8]]) s3=np.array([[0.8,0.2],[0.2,0.8]]) def p(x): f1=np.linalg.det(s1)**(-0.5)*math.exp(-0.5*(mu1-x)@np.linalg.inv(s1)@(mu1-x)) f2=np.linalg.det(s2)**(-0.5)*math.exp(-0.5*(mu2-x)@np.linalg.inv(s2)@(mu2-x)) f3=np.linalg.det(s3)**(-0.5)*math.exp(-0.5*(mu3-x)@np.linalg.inv(s3)@(mu3-x)) return f1,f2,f3 x1=np.array([-0.5,0.5]) x2=np.array([0.5,0.5]) print(p(x1)) print(p(x2))
The outcome is:
(0.9995321962501862, 0.31309336105606445, 0.030361279346887253) (0.9995321962501862, 1.005427487616282, 0.18990072283298057)
So the predicted labels are 1 and 2 respectively.
2021-03-24 13:42