public class Tsne extends Object implements Serializable
Modifier and Type | Class and Description |
---|---|
static class |
Tsne.Builder |
Modifier and Type | Field and Description |
---|---|
protected org.nd4j.linalg.learning.AdaGrad |
adaGrad |
protected double |
finalMomentum |
protected org.nd4j.linalg.api.ndarray.INDArray |
gains |
protected double |
initialMomentum |
protected IterationListener |
iterationListener |
protected double |
learningRate |
protected static org.slf4j.Logger |
log |
protected int |
maxIter |
protected double |
minGain |
protected double |
momentum |
protected boolean |
normalize |
protected double |
perplexity |
protected static org.springframework.core.io.ClassPathResource |
r |
protected double |
realMin |
protected int |
stopLyingIteration |
protected int |
switchMomentumIteration |
protected double |
tolerance |
protected boolean |
useAdaGrad |
protected boolean |
usePca |
protected org.nd4j.linalg.api.ndarray.INDArray |
y |
protected org.nd4j.linalg.api.ndarray.INDArray |
yIncs |
Constructor and Description |
---|
Tsne() |
Tsne(int maxIter,
double realMin,
double initialMomentum,
double finalMomentum,
double momentum,
int switchMomentumIteration,
boolean normalize,
boolean usePca,
int stopLyingIteration,
double tolerance,
double learningRate,
boolean useAdaGrad,
double perplexity,
double minGain) |
Modifier and Type | Method and Description |
---|---|
org.nd4j.linalg.api.ndarray.INDArray |
calculate(org.nd4j.linalg.api.ndarray.INDArray X,
int nDims,
double perplexity) |
org.nd4j.linalg.api.ndarray.INDArray |
computeGaussianPerplexity(org.nd4j.linalg.api.ndarray.INDArray d,
double u)
Convert data to probability
co-occurrences (aka calculating the kernel)
|
IterationListener |
getIterationListener() |
org.nd4j.linalg.api.ndarray.INDArray |
getY() |
org.nd4j.linalg.api.ndarray.INDArray |
getYGradient(int n,
org.nd4j.linalg.api.ndarray.INDArray PQ,
org.nd4j.linalg.api.ndarray.INDArray qu) |
protected Pair<Double,org.nd4j.linalg.api.ndarray.INDArray> |
gradient(org.nd4j.linalg.api.ndarray.INDArray p) |
Pair<org.nd4j.linalg.api.ndarray.INDArray,org.nd4j.linalg.api.ndarray.INDArray> |
hBeta(org.nd4j.linalg.api.ndarray.INDArray d,
double beta)
Computes a gaussian kernel
given a vector of squared distance distances
|
void |
plot(org.nd4j.linalg.api.ndarray.INDArray matrix,
int nDims,
List<String> labels)
Plot tsne (write the coordinates file)
|
void |
plot(org.nd4j.linalg.api.ndarray.INDArray matrix,
int nDims,
List<String> labels,
String path)
Plot tsne
|
void |
setIterationListener(IterationListener iterationListener) |
void |
setY(org.nd4j.linalg.api.ndarray.INDArray y) |
void |
step(org.nd4j.linalg.api.ndarray.INDArray p,
int i)
An individual iteration
|
protected int maxIter
protected double realMin
protected double initialMomentum
protected double finalMomentum
protected double minGain
protected double momentum
protected int switchMomentumIteration
protected boolean normalize
protected boolean usePca
protected int stopLyingIteration
protected double tolerance
protected double learningRate
protected org.nd4j.linalg.learning.AdaGrad adaGrad
protected boolean useAdaGrad
protected double perplexity
protected org.nd4j.linalg.api.ndarray.INDArray gains
protected org.nd4j.linalg.api.ndarray.INDArray yIncs
protected org.nd4j.linalg.api.ndarray.INDArray y
protected transient IterationListener iterationListener
protected static org.springframework.core.io.ClassPathResource r
protected static final org.slf4j.Logger log
public Tsne()
public Tsne(int maxIter, double realMin, double initialMomentum, double finalMomentum, double momentum, int switchMomentumIteration, boolean normalize, boolean usePca, int stopLyingIteration, double tolerance, double learningRate, boolean useAdaGrad, double perplexity, double minGain)
public Pair<org.nd4j.linalg.api.ndarray.INDArray,org.nd4j.linalg.api.ndarray.INDArray> hBeta(org.nd4j.linalg.api.ndarray.INDArray d, double beta)
d
- the databeta
- public org.nd4j.linalg.api.ndarray.INDArray computeGaussianPerplexity(org.nd4j.linalg.api.ndarray.INDArray d, double u)
d
- the data to convertu
- the perplexity of the modelpublic org.nd4j.linalg.api.ndarray.INDArray calculate(org.nd4j.linalg.api.ndarray.INDArray X, int nDims, double perplexity)
X
- nDims
- perplexity
- protected Pair<Double,org.nd4j.linalg.api.ndarray.INDArray> gradient(org.nd4j.linalg.api.ndarray.INDArray p)
public org.nd4j.linalg.api.ndarray.INDArray getYGradient(int n, org.nd4j.linalg.api.ndarray.INDArray PQ, org.nd4j.linalg.api.ndarray.INDArray qu)
public void step(org.nd4j.linalg.api.ndarray.INDArray p, int i)
p
- the probabilities that certain points
are near each otheri
- the iteration (primarily for debugging purposes)public void plot(org.nd4j.linalg.api.ndarray.INDArray matrix, int nDims, List<String> labels) throws IOException
matrix
- the matrix to plotnDims
- the number of dimensionslabels
- IOException
public void plot(org.nd4j.linalg.api.ndarray.INDArray matrix, int nDims, List<String> labels, String path) throws IOException
matrix
- the matrix to plotnDims
- the numberlabels
- path
- the path to writeIOException
public org.nd4j.linalg.api.ndarray.INDArray getY()
public void setY(org.nd4j.linalg.api.ndarray.INDArray y)
public IterationListener getIterationListener()
public void setIterationListener(IterationListener iterationListener)
Copyright © 2015. All Rights Reserved.