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.

User profile picture
2021-03-24 13:42
Comments