public class BarnesHutTsne extends Object implements Model
Modifier and Type | Class and Description |
---|---|
static class |
BarnesHutTsne.Builder |
Modifier and Type | Field and Description |
---|---|
protected org.nd4j.linalg.learning.AdaGrad |
adaGrad |
protected double |
finalMomentum |
protected double |
initialMomentum |
protected IterationListener |
iterationListener |
protected double |
learningRate |
protected static org.slf4j.Logger |
logger |
protected int |
maxIter |
protected double |
minGain |
protected double |
momentum |
protected boolean |
normalize |
protected double |
perplexity |
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 |
static String |
Y_GRAD |
Constructor and Description |
---|
BarnesHutTsne(int numDimensions,
String simiarlityFunction,
double theta,
boolean invert,
int maxIter,
double realMin,
double initialMomentum,
double finalMomentum,
double momentum,
int switchMomentumIteration,
boolean normalize,
int stopLyingIteration,
double tolerance,
double learningRate,
boolean useAdaGrad,
double perplexity,
IterationListener iterationListener,
double minGain) |
Modifier and Type | Method and Description |
---|---|
void |
accumulateScore(double accum) |
void |
applyLearningRateScoreDecay() |
int |
batchSize() |
void |
clear() |
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() |
NeuralNetConfiguration |
conf() |
void |
fit() |
void |
fit(org.nd4j.linalg.api.ndarray.INDArray data) |
void |
fit(org.nd4j.linalg.api.ndarray.INDArray data,
int nDims)
Deprecated.
|
org.nd4j.linalg.api.ndarray.INDArray |
getData()
Return the matrix reduce to the NDim.
|
int |
getNumDimensions() |
ConvexOptimizer |
getOptimizer() |
org.nd4j.linalg.api.ndarray.INDArray |
getParam(String param) |
double |
getPerplexity() |
String |
getSimiarlityFunction() |
double |
getTheta() |
Gradient |
gradient() |
protected Pair<Double,org.nd4j.linalg.api.ndarray.INDArray> |
gradient(org.nd4j.linalg.api.ndarray.INDArray p) |
Pair<Gradient,Double> |
gradientAndScore() |
void |
initParams() |
org.nd4j.linalg.api.ndarray.INDArray |
input() |
boolean |
isInvert() |
void |
iterate(org.nd4j.linalg.api.ndarray.INDArray input) |
int |
numParams() |
int |
numParams(boolean backwards) |
org.nd4j.linalg.api.ndarray.INDArray |
params() |
Map<String,org.nd4j.linalg.api.ndarray.INDArray> |
paramTable() |
void |
plot(org.nd4j.linalg.api.ndarray.INDArray matrix,
int nDims,
List<String> labels,
String path)
Deprecated.
use
fit(INDArray) and saveAsFile(List, String) instead. |
void |
saveAsFile(List<String> labels,
String path)
Save the model as a file with a csv format, adding the label as the last column.
|
double |
score() |
void |
setBackpropGradientsViewArray(org.nd4j.linalg.api.ndarray.INDArray gradients) |
void |
setConf(NeuralNetConfiguration conf) |
void |
setData(org.nd4j.linalg.api.ndarray.INDArray data) |
void |
setInvert(boolean invert) |
void |
setNumDimensions(int numDimensions) |
void |
setParam(String key,
org.nd4j.linalg.api.ndarray.INDArray val) |
void |
setParams(org.nd4j.linalg.api.ndarray.INDArray params) |
void |
setParamsViewArray(org.nd4j.linalg.api.ndarray.INDArray params) |
void |
setParamTable(Map<String,org.nd4j.linalg.api.ndarray.INDArray> paramTable) |
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(Gradient gradient) |
void |
update(org.nd4j.linalg.api.ndarray.INDArray gradient,
String paramType) |
void |
validateInput() |
protected static final org.slf4j.Logger logger
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 Y
public static final String Y_GRAD
protected transient IterationListener iterationListener
public BarnesHutTsne(int numDimensions, String simiarlityFunction, double theta, boolean invert, int maxIter, double realMin, double initialMomentum, double finalMomentum, double momentum, int switchMomentumIteration, boolean normalize, int stopLyingIteration, double tolerance, double learningRate, boolean useAdaGrad, double perplexity, IterationListener iterationListener, 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 int getNumDimensions()
public void setNumDimensions(int numDimensions)
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 void validateInput()
validateInput
in interface Model
public ConvexOptimizer getOptimizer()
getOptimizer
in interface Model
public org.nd4j.linalg.api.ndarray.INDArray getParam(String param)
public void initParams()
initParams
in interface Model
public Map<String,org.nd4j.linalg.api.ndarray.INDArray> paramTable()
paramTable
in interface Model
public void setParamTable(Map<String,org.nd4j.linalg.api.ndarray.INDArray> paramTable)
setParamTable
in interface Model
public void setParam(String key, org.nd4j.linalg.api.ndarray.INDArray val)
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 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 update(org.nd4j.linalg.api.ndarray.INDArray gradient, String paramType)
public void saveAsFile(List<String> labels, String path) throws IOException
labels
- path
- the path to writeIOException
@Deprecated public void plot(org.nd4j.linalg.api.ndarray.INDArray matrix, int nDims, List<String> labels, String path) throws IOException
fit(INDArray)
and saveAsFile(List, String)
instead.matrix
- the matrix to plotnDims
- the numberlabels
- path
- the path to writeIOException
public void computeGradientAndScore()
computeGradientAndScore
in interface Model
public void accumulateScore(double accum)
accumulateScore
in interface Model
public void setParams(org.nd4j.linalg.api.ndarray.INDArray params)
public void setParamsViewArray(org.nd4j.linalg.api.ndarray.INDArray params)
setParamsViewArray
in interface Model
public void setBackpropGradientsViewArray(org.nd4j.linalg.api.ndarray.INDArray gradients)
setBackpropGradientsViewArray
in interface Model
public void applyLearningRateScoreDecay()
applyLearningRateScoreDecay
in interface Model
@Deprecated public void fit(org.nd4j.linalg.api.ndarray.INDArray data, int nDims)
public void iterate(org.nd4j.linalg.api.ndarray.INDArray input)
public Pair<Gradient,Double> gradientAndScore()
gradientAndScore
in interface Model
public NeuralNetConfiguration conf()
public void setConf(NeuralNetConfiguration conf)
public org.nd4j.linalg.api.ndarray.INDArray getData()
public void setData(org.nd4j.linalg.api.ndarray.INDArray data)
Copyright © 2016. All Rights Reserved.