O
- Object type@Title(value="Intrinsic t-Stochastic Neighbor Embedding") @Reference(authors="Erich Schubert, Michael Gertz", title="Intrinsic t-Stochastic Neighbor Embedding for Visualization and Outlier Detection: A Remedy Against the Curse of Dimensionality?", booktitle="Proc. Int. Conf. Similarity Search and Applications, SISAP 2017", url="https://doi.org/10.1007/978-3-319-68474-1_13", bibkey="DBLP:conf/sisap/SchubertG17") public class IntrinsicNearestNeighborAffinityMatrixBuilder<O> extends NearestNeighborAffinityMatrixBuilder<O>
Furthermore, this approach uses a different rule to combine affinities: rather than taking the arithmetic average of \(p_{ij}\) and \(p_{ji}\), we use \(\sqrt{p_{ij} \cdot p_{ji}}\), which prevents outliers from attaching closely to nearby clusters.
Reference:
Erich Schubert, Michael Gertz
Intrinsic t-Stochastic Neighbor Embedding for Visualization and Outlier
Detection: A Remedy Against the Curse of Dimensionality?
Proc. Int. Conf. Similarity Search and Applications, SISAP 2017
Modifier and Type | Class and Description |
---|---|
static class |
IntrinsicNearestNeighborAffinityMatrixBuilder.Parameterizer<O>
Parameterization class.
|
Modifier and Type | Field and Description |
---|---|
(package private) IntrinsicDimensionalityEstimator |
estimator
Estimator of intrinsic dimensionality.
|
private static Logging |
LOG
Class logger.
|
numberOfNeighbours
distanceFunction, MIN_PIJ, perplexity, PERPLEXITY_ERROR, PERPLEXITY_MAXITER
sigma
Constructor and Description |
---|
IntrinsicNearestNeighborAffinityMatrixBuilder(DistanceFunction<? super O> distanceFunction,
double perplexity,
IntrinsicDimensionalityEstimator estimator)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
<T extends O> |
computeAffinityMatrix(Relation<T> relation,
double initialScale)
Compute the affinity matrix.
|
protected void |
computePij(DBIDRange ids,
KNNQuery<?> knnq,
boolean square,
int numberOfNeighbours,
double[][] pij,
int[][] indices,
double initialScale)
Compute the sparse pij using the nearest neighbors only.
|
protected void |
convertNeighbors(DBIDRange ids,
DBIDRef ix,
boolean square,
KNNList neighbours,
DoubleArray dist,
IntegerArray ind,
Mean m)
Load a neighbor query result into a double and and integer array, also
removing the query point.
|
computeH, computeSigma, containsIndex, convertNeighbors
computePi, computePij, estimateInitialBeta, getInputTypeRestriction
buildDistanceMatrix, computeH
private static final Logging LOG
IntrinsicDimensionalityEstimator estimator
public IntrinsicNearestNeighborAffinityMatrixBuilder(DistanceFunction<? super O> distanceFunction, double perplexity, IntrinsicDimensionalityEstimator estimator)
distanceFunction
- Distance functionperplexity
- Perplexityestimator
- Estimator of intrinsic dimensionalitypublic <T extends O> AffinityMatrix computeAffinityMatrix(Relation<T> relation, double initialScale)
AffinityMatrixBuilder
computeAffinityMatrix
in interface AffinityMatrixBuilder<O>
computeAffinityMatrix
in class NearestNeighborAffinityMatrixBuilder<O>
T
- Relation typerelation
- Data relationinitialScale
- initial scaleprotected void computePij(DBIDRange ids, KNNQuery<?> knnq, boolean square, int numberOfNeighbours, double[][] pij, int[][] indices, double initialScale)
computePij
in class NearestNeighborAffinityMatrixBuilder<O>
ids
- ID rangeknnq
- kNN querysquare
- Use squared distancesnumberOfNeighbours
- Number of neighbors to getpij
- Output of distancesindices
- Output of indexesinitialScale
- Initial scaling factorprotected void convertNeighbors(DBIDRange ids, DBIDRef ix, boolean square, KNNList neighbours, DoubleArray dist, IntegerArray ind, Mean m)
ids
- Indexesix
- Current Objectsquare
- Use squared distancesneighbours
- Neighbor listdist
- Output distance arrayind
- Output index arraym
- Mean id, for statistics.Copyright © 2019 ELKI Development Team. License information.