public class BarnesHutTsne extends Tsne implements Model
Modifier and Type | Class and Description |
---|---|
static class |
BarnesHutTsne.Builder |
Modifier and Type | Field and Description |
---|---|
static String |
Y_GRAD |
adaGrad, finalMomentum, gains, initialMomentum, iterationListener, learningRate, log, maxIter, minGain, momentum, normalize, perplexity, r, realMin, stopLyingIteration, switchMomentumIteration, tolerance, useAdaGrad, usePca, y, yIncs
Constructor and Description |
---|
BarnesHutTsne(org.nd4j.linalg.api.ndarray.INDArray x,
org.nd4j.linalg.api.ndarray.INDArray y,
int numDimensions,
double perplexity,
double theta,
int maxIter,
int stopLyingIteration,
int momentumSwitchIteration,
double momentum,
double finalMomentum,
double learningRate) |
BarnesHutTsne(org.nd4j.linalg.api.ndarray.INDArray x,
org.nd4j.linalg.api.ndarray.INDArray y,
int numDimensions,
String simiarlityFunction,
double theta,
boolean invert,
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 |
---|---|
void |
accumulateScore(double accum)
Sets a rolling tally for the score.
|
void |
applyLearningRateScoreDecay()
Update learningRate using for this model.
|
int |
batchSize()
The current inputs batch size
|
void |
clear()
Clear input
|
Pair<org.nd4j.linalg.api.ndarray.INDArray,Double> |
computeGaussianKernel(org.nd4j.linalg.api.ndarray.INDArray distances,
double beta,
int k)
Computes a gaussian kernel
given a vector of squared distance distances
|
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)
|
void |
computeGradientAndScore()
Update the score
|
NeuralNetConfiguration |
conf()
The configuration for the neural network
|
void |
fit()
All models have a fit method
|
void |
fit(org.nd4j.linalg.api.ndarray.INDArray data)
Fit the model to the given data
|
void |
fit(org.nd4j.linalg.api.ndarray.INDArray data,
int nDims) |
ConvexOptimizer |
getOptimizer()
Returns this models optimizer
|
org.nd4j.linalg.api.ndarray.INDArray |
getParam(String param)
Get the parameter
|
double |
getPerplexity() |
String |
getSimiarlityFunction() |
double |
getTheta() |
Gradient |
gradient()
Calculate a gradient
|
protected Pair<Double,org.nd4j.linalg.api.ndarray.INDArray> |
gradient(org.nd4j.linalg.api.ndarray.INDArray p) |
Pair<Gradient,Double> |
gradientAndScore()
Get the gradient and score
|
void |
initParams()
Initialize the parameters
|
org.nd4j.linalg.api.ndarray.INDArray |
input()
The input/feature matrix for the model
|
boolean |
isInvert() |
void |
iterate(org.nd4j.linalg.api.ndarray.INDArray input)
Run one iteration
|
int |
numParams()
the number of parameters for the model
|
int |
numParams(boolean backwards)
the number of parameters for the model
|
org.nd4j.linalg.api.ndarray.INDArray |
params()
Parameters of the model (if any)
|
Map<String,org.nd4j.linalg.api.ndarray.INDArray> |
paramTable()
The param table
|
void |
plot(org.nd4j.linalg.api.ndarray.INDArray matrix,
int nDims,
List<String> labels,
String path)
Plot tsne
|
double |
score()
The score for the model
|
void |
setConf(NeuralNetConfiguration conf)
Setter for the configuration
|
void |
setInvert(boolean invert) |
void |
setParam(String key,
org.nd4j.linalg.api.ndarray.INDArray val)
Set the parameter with a new ndarray
|
void |
setParams(org.nd4j.linalg.api.ndarray.INDArray params)
Set the parameters for this model.
|
void |
setParamTable(Map<String,org.nd4j.linalg.api.ndarray.INDArray> paramTable)
Setter for the param table
|
void |
setSimiarlityFunction(String simiarlityFunction) |
void |
step(org.nd4j.linalg.api.ndarray.INDArray p,
int i)
An individual iteration
|
org.nd4j.linalg.api.ndarray.INDArray |
symmetrized(org.nd4j.linalg.api.ndarray.INDArray rowP,
org.nd4j.linalg.api.ndarray.INDArray colP,
org.nd4j.linalg.api.ndarray.INDArray valP)
Symmetrize the value matrix
|
void |
update(org.nd4j.linalg.api.ndarray.INDArray gradient,
String paramType)
Perform one update applying the gradient
|
void |
validateInput()
Validate the input
|
calculate, getIterationListener, getY, getYGradient, hBeta, plot, setIterationListener, setY
public static final String Y_GRAD
public BarnesHutTsne(org.nd4j.linalg.api.ndarray.INDArray x, org.nd4j.linalg.api.ndarray.INDArray y, int numDimensions, double perplexity, double theta, int maxIter, int stopLyingIteration, int momentumSwitchIteration, double momentum, double finalMomentum, double learningRate)
public BarnesHutTsne(org.nd4j.linalg.api.ndarray.INDArray x, org.nd4j.linalg.api.ndarray.INDArray y, int numDimensions, String simiarlityFunction, double theta, boolean invert, 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 String getSimiarlityFunction()
public void setSimiarlityFunction(String simiarlityFunction)
public boolean isInvert()
public void setInvert(boolean invert)
public double getTheta()
public double getPerplexity()
public org.nd4j.linalg.api.ndarray.INDArray computeGaussianPerplexity(org.nd4j.linalg.api.ndarray.INDArray d, double u)
computeGaussianPerplexity
in class Tsne
d
- the data to convertu
- the perplexity of the modelpublic org.nd4j.linalg.api.ndarray.INDArray input()
Model
public void validateInput()
Model
validateInput
in interface Model
public ConvexOptimizer getOptimizer()
Model
getOptimizer
in interface Model
public org.nd4j.linalg.api.ndarray.INDArray getParam(String param)
Model
public void initParams()
Model
initParams
in interface Model
public Map<String,org.nd4j.linalg.api.ndarray.INDArray> paramTable()
Model
paramTable
in interface Model
public void setParamTable(Map<String,org.nd4j.linalg.api.ndarray.INDArray> paramTable)
Model
setParamTable
in interface Model
public void setParam(String key, org.nd4j.linalg.api.ndarray.INDArray val)
Model
public void clear()
Model
protected Pair<Double,org.nd4j.linalg.api.ndarray.INDArray> gradient(org.nd4j.linalg.api.ndarray.INDArray p)
public org.nd4j.linalg.api.ndarray.INDArray symmetrized(org.nd4j.linalg.api.ndarray.INDArray rowP, org.nd4j.linalg.api.ndarray.INDArray colP, org.nd4j.linalg.api.ndarray.INDArray valP)
rowP
- colP
- valP
- public Pair<org.nd4j.linalg.api.ndarray.INDArray,Double> computeGaussianKernel(org.nd4j.linalg.api.ndarray.INDArray distances, double beta, int k)
distances
- beta
- public void fit()
Model
public void step(org.nd4j.linalg.api.ndarray.INDArray p, int i)
public void update(org.nd4j.linalg.api.ndarray.INDArray gradient, String paramType)
Model
public void plot(org.nd4j.linalg.api.ndarray.INDArray matrix, int nDims, List<String> labels, String path) throws IOException
plot
in class Tsne
matrix
- the matrix to plotnDims
- the numberlabels
- path
- the path to writeIOException
public double score()
Model
public void computeGradientAndScore()
Model
computeGradientAndScore
in interface Model
public void accumulateScore(double accum)
Model
accumulateScore
in interface Model
accum
- the amount to accumpublic org.nd4j.linalg.api.ndarray.INDArray params()
Model
public int numParams()
Model
public int numParams(boolean backwards)
Model
public void setParams(org.nd4j.linalg.api.ndarray.INDArray params)
Model
public void applyLearningRateScoreDecay()
Model
applyLearningRateScoreDecay
in interface Model
public void fit(org.nd4j.linalg.api.ndarray.INDArray data)
Model
public void fit(org.nd4j.linalg.api.ndarray.INDArray data, int nDims)
public void iterate(org.nd4j.linalg.api.ndarray.INDArray input)
Model
public Pair<Gradient,Double> gradientAndScore()
Model
gradientAndScore
in interface Model
public int batchSize()
Model
public NeuralNetConfiguration conf()
Model
public void setConf(NeuralNetConfiguration conf)
Model
Copyright © 2016. All Rights Reserved.