|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.udo.cs.myRVM.RVMBase
edu.udo.cs.myRVM.ConstructiveRegression
public class ConstructiveRegression
Constructive RVM for regression problems (see bla).
Field Summary | |
---|---|
protected Jama.Matrix |
A
|
protected double[] |
alpha
|
protected java.util.LinkedList<java.lang.Integer> |
basisSet
|
protected double |
beta
|
protected Jama.Matrix |
mu
|
protected double[][] |
phi
|
protected Jama.Matrix |
PHI_t
|
protected double |
q
|
protected double |
s
|
protected Jama.Matrix |
SIGMA
|
protected Jama.Matrix |
SIGMA_chol
|
protected double[][] |
t
|
protected double[] |
tVector
|
protected double[][] |
x
Data shared accross various methods |
Fields inherited from class edu.udo.cs.myRVM.RVMBase |
---|
model, parameter, problem |
Constructor Summary | |
---|---|
ConstructiveRegression(RegressionProblem problem,
Parameter parameter)
Constructor |
Method Summary | |
---|---|
protected double[] |
convertListToDoubleArray(java.util.List list)
Take a list holding "Double"-objects and return an "double[]" |
protected void |
deleteBasis(int selectedBasis)
Delete a basis function from the model. |
protected void |
includeBasis(int selectedBasis)
Include a basis function into the model. |
protected double |
innerProduct(double[] x,
double[] y)
Return the inner product of x and y (x.length == y.length assumed) |
Model |
learn()
The hard work is done here |
protected void |
prune(java.util.LinkedList<java.lang.Integer> basisSet)
Create pruned versions of all important matrices / vectors so that only rows / columns matching the indices in basisSet are kept. |
protected void |
reestimateAlpha(int selectedBasis)
Reestimate alpha by setting it to the value which maximizes the marginal likelihood: alpha_i = s^2_i / (q^2_i - s_i) |
java.lang.String |
toString()
Identify the RVM |
protected void |
updateBeta()
Update beta (same as for the "normal" regression rvm) |
protected void |
updateCriteriumScalars(int selectedBasis)
Compute the scalars s_m, q_m which are part of the criterium for inclusion / deletion of the given basis m: S_m = beta * phi^t_m * phi_m - beta^2 * phi^t_m * PHI * SIGMA * PHI^t * phi_m Q_m = beta * phi^t_m * t - beta^2 * phi^t_m * PHI * SIGMA * PHI^t * t s_m = alpha_m * S_m / (alpha_m - S_m) q_m = alpha_m * Q_m / (alpha_m - S_m) |
protected void |
updateMu()
Update the mean of the weight posterior distribution (mu): mu = beta * SIGMA * PHI^t * t |
protected void |
updateSIGMA()
Update the covariance Matrix of the weight posterior distribution (SIGMA) along with its cholesky factor: SIGMA = (A + beta * PHI^t * PHI)^{-1} SIGMA_chol with SIGMA_chol * SIGMA_chol^t = SIGMA |
Methods inherited from class edu.udo.cs.myRVM.RVMBase |
---|
getModel |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected double[][] x
protected double[][] t
protected double[] tVector
protected double[][] phi
protected Jama.Matrix PHI_t
protected double[] alpha
protected double beta
protected Jama.Matrix A
protected Jama.Matrix SIGMA
protected Jama.Matrix SIGMA_chol
protected Jama.Matrix mu
protected double s
protected double q
protected java.util.LinkedList<java.lang.Integer> basisSet
Constructor Detail |
---|
public ConstructiveRegression(RegressionProblem problem, Parameter parameter)
Method Detail |
---|
protected double[] convertListToDoubleArray(java.util.List list)
protected double innerProduct(double[] x, double[] y)
protected void prune(java.util.LinkedList<java.lang.Integer> basisSet)
protected void updateSIGMA()
protected void updateMu()
protected void updateCriteriumScalars(int selectedBasis)
protected void reestimateAlpha(int selectedBasis)
protected void includeBasis(int selectedBasis)
protected void deleteBasis(int selectedBasis)
protected void updateBeta()
public Model learn()
learn
in class RVMBase
public java.lang.String toString()
toString
in class java.lang.Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |