public class PPCA extends java.lang.Object implements Projection<double[]>, java.io.Serializable
y ∼ W * x + μ + ε
where latent variables x ∼ N(0, I), error (or noise) ε ∼ N(0, Ψ),
and μ is the location term (mean). In PPCA, an isotropic noise model is used,
i.e., noise variances constrained to be equal (Ψi = σ2).
A close form of estimation of above parameters can be obtained
by maximum likelihood method.
PCA,
Serialized Form| Constructor and Description |
|---|
PPCA(double[][] data,
int k)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
double[] |
getCenter()
Returns the center of data.
|
double[][] |
getLoadings()
Returns the variable loading matrix, ordered from largest to smallest
by corresponding eigenvalues.
|
double |
getNoiseVariance()
Returns the variance of noise.
|
double[][] |
getProjection()
Returns the projection matrix.
|
double[] |
project(double[] x)
Project a data point to the feature space.
|
double[][] |
project(double[][] x)
Project a set of data toe the feature space.
|
public PPCA(double[][] data,
int k)
data - training data of which each row is a sample.k - the number of principal component to learn.public double[][] getLoadings()
public double[] getCenter()
public double getNoiseVariance()
public double[][] getProjection()
public double[] project(double[] x)
Projectionproject in interface Projection<double[]>public double[][] project(double[][] x)
Projectionproject in interface Projection<double[]>