|
|
|||||||||||||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object de.lmu.ifi.dbs.elki.logging.AbstractLoggable de.lmu.ifi.dbs.elki.math.linearalgebra.pca.ProgressiveEigenPairFilter
@Title(value="Progressive Eigenpair Filter") @Description(value="Sorts the eigenpairs in decending order of their eigenvalues and returns the first eigenpairs, whose sum of eigenvalues explains more than the a certain percentage of the unexpected variance, where the percentage increases with subspace dimensionality.") public class ProgressiveEigenPairFilter
The ProgressiveEigenPairFilter sorts the eigenpairs in descending order of their eigenvalues and marks the first eigenpairs, whose sum of eigenvalues is higher than the given percentage of the sum of all eigenvalues as strong eigenpairs. In contrast to the PercentageEigenPairFilter, it will use a percentage which changes linearly with the subspace dimensionality. This makes the parameter more consistent for different dimensionalities and often gives better results when clusters of different dimensionality exist, since different percentage alpha levels might be appropriate for different dimensionalities. Example calculations of alpha levels: In a 3D space, a progressive alpha value of 0.5 equals: - 1D subspace: 50 % + 1/3 of remainder = 0.667 - 2D subspace: 50 % + 2/3 of remainder = 0.833 In a 4D space, a progressive alpha value of 0.5 equals: - 1D subspace: 50% + 1/4 of remainder = 0.625 - 2D subspace: 50% + 2/4 of remainder = 0.750 - 3D subspace: 50% + 3/4 of remainder = 0.875 Reasoning why this improves over PercentageEigenPairFilter: In a 100 dimensional space, a single Eigenvector representing over 85% of the total variance is highly significant, whereas the strongest 85 Eigenvectors together will by definition always represent at least 85% of the variance. PercentageEigenPairFilter can thus not be used with these parameters and detect both dimensionalities correctly. The second parameter introduced here, walpha, serves a different function: It prevents the eigenpair filter to use a statistically weak Eigenvalue just to reach the intended level, e.g. 84% + 1% >= 85% when 1% is statistically very weak.
Field Summary | |
---|---|
static double |
DEFAULT_PALPHA
The default value for alpha. |
static double |
DEFAULT_WALPHA
The default value for alpha. |
static OptionID |
EIGENPAIR_FILTER_PALPHA
OptionID for PALPHA_PARAM |
private double |
palpha
The threshold for strong eigenvectors: the strong eigenvectors explain a portion of at least alpha of the total variance. |
private DoubleParameter |
PALPHA_PARAM
Parameter progressive alpha. |
private double |
walpha
The noise tolerance level for weak eigenvectors |
private DoubleParameter |
WALPHA_PARAM
Parameter weak alpha. |
Fields inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable |
---|
debug, logger |
Constructor Summary | |
---|---|
ProgressiveEigenPairFilter(Parameterization config)
Constructor, adhering to Parameterizable |
Method Summary | |
---|---|
FilteredEigenPairs |
filter(SortedEigenPairs eigenPairs)
Filter eigenpairs. |
Methods inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable |
---|
debugFine, debugFiner, debugFinest, exception, progress, verbose, warning |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final OptionID EIGENPAIR_FILTER_PALPHA
PALPHA_PARAM
public static final double DEFAULT_PALPHA
private final DoubleParameter PALPHA_PARAM
private double palpha
public static final double DEFAULT_WALPHA
private final DoubleParameter WALPHA_PARAM
private double walpha
Constructor Detail |
---|
public ProgressiveEigenPairFilter(Parameterization config)
Parameterizable
config
- ParameterizationMethod Detail |
---|
public FilteredEigenPairs filter(SortedEigenPairs eigenPairs)
filter
in interface EigenPairFilter
eigenPairs
- the eigenPairs (i.e. the eigenvectors and
|
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |