def rbfbasis(self,l,mu=None): if not mu: if not self.xtrain: mu=self.xtrain else: print('DEFINE TRAINING DATA or MU') return(None) self.feat=basisfuncs.rbf(l,mu)
def logliklihood(self,l): liklifeat=basisfuncs.rbf(l,self.xtrain) R=liklifeat(self.xtrain) Rinv=np.linalg.inv(R+10e-10*np.eye(R.shape[0])) if self.mu!=0: self.mu=np.dot(np.dot(np.ones((1,R.shape[0])),Rinv),self.ytrain)/np.dot(np.dot(np.ones((1,R.shape[0])),Rinv),np.ones((R.shape[0],1))) self.sigma2=1/float(R.shape[0])*np.dot(np.dot((self.ytrain-self.mu).transpose(),Rinv),(self.ytrain-self.mu)) lnlikli=float(R.shape[0]*np.log(self.sigma2)+np.log(np.linalg.det(R))) return(lnlikli)
def rbfbasis(self,l,mu=None): if not mu: if not self.xtrain: mu=self.xtrain else: print('DEFINE TRAINING DATA or MU') return(None) self.feat=basisfuncs.rbf(l,mu) self.model=np.zeros((len(mu),1)) # initialize model self.m0=self.model
def rbfbasis(self, l): mu = self.xtrain self.feat = basisfuncs.rbf(l, mu) self.model = np.zeros((len(mu), 1)) # initialize model