jhplot
Class HBsom
- java.lang.Object
-
- jhplot.HBsom
-
public class HBsom extends java.lang.Object
The Bayesian self-organizing map (BSOM). This is a method for estimating a probability distribution generating data points on the basis of a Bayesian stochastic model. It is also regarded as a learning method for a kind of neural network. The black dots in the below figure denote artificially generated data points. Based on work of: Akio Utsugi.This class is based on: A. Utsugi (1996) ``Topology selection for self-organizing maps", Network: Computation in Neural Systems, vol. 7, no. 4, 727-740.
A. Utsugi (1997) ``Hyperparameter selection for self-organizing maps", Neural Computation, vol. 9, no. 3, pp. 623-635.
-
-
Constructor Summary
Constructors Constructor and Description HBsom()
Initialize BSOM.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description void
doc()
Show documentationdouble
getAlpha()
Get alpha.double
getBeta()
Get beta.double
getDelta()
Get calculation precision.int
getNiterations()
Get number of iterations used for fittingP1D
getResult()
Get results of training.void
run()
Run the algorithmvoid
setAlphaBeta(double alpha, double beta)
Set initial alpha and beta parameters.void
setData(H1D h)
Load histogram data to BSOMvoid
setData(P1D p1d)
Load data to BSOMvoid
setDelta(double delta)
Set calculation precision.void
setNPoints(int units)
Set number of points for fitvoid
visible()
Set visible framevoid
visible(boolean vis)
Set frame visible or not
-
-
-
Field Detail
-
bsom
public Bsom bsom
-
-
Method Detail
-
setNPoints
public void setNPoints(int units)
Set number of points for fit- Parameters:
units
- set number of points for fit.
-
setData
public void setData(P1D p1d)
Load data to BSOM- Parameters:
p1d
- input data
-
setData
public void setData(H1D h)
Load histogram data to BSOM- Parameters:
p1d
- input histogram data
-
doc
public void doc()
Show documentation
-
setAlphaBeta
public void setAlphaBeta(double alpha, double beta)
Set initial alpha and beta parameters. The BSOM model has a pair of hyperparameters: alpha and beta, which represent `the strength of topological constraint' and `the estimate of noise level in data' respectively. You can vary them using the sliders. Observe the variation of the centroid configuration according to the values of the hyperparameters and grasp their meaning. Then try to find the optimal values of the hyperparameters giving the best centroid configuration. Remark that the configuration depends on not only the present values of hyperparameters but also their history. Poor moving of the hyperparameters will lead to a poor local optimal configuration.- Parameters:
alpha
- alpha valuebeta
- beta value
-
getResult
public P1D getResult()
Get results of training.- Returns:
- P1D with results.
-
run
public void run()
Run the algorithm
-
visible
public void visible(boolean vis)
Set frame visible or not- Parameters:
vis
- true if visible
-
setDelta
public void setDelta(double delta)
Set calculation precision. Iterations stop if (current(alpha)-previous(alpha) .lt. delta) The value should be very small for best results- Parameters:
delta
- precision
-
getDelta
public double getDelta()
Get calculation precision.
-
getNiterations
public int getNiterations()
Get number of iterations used for fitting
-
getAlpha
public double getAlpha()
Get alpha. The strength of topological constraint
-
getBeta
public double getBeta()
Get beta. This is the estimate of noise level in data.
-
visible
public void visible()
Set visible frame
-
-
DMelt 3.0 © DataMelt by jWork.ORG