public class FVGaussianRBF extends FVRBF
FVRBF whose response is dictated by a Gaussian kernel. More specifically, this RBF returns
e^(-1 * d(x, c)^2 / e^2), where d(x, c) is the distance from a query state s to a defined "center,"
c, of this RBF and e is a bandwidth parameter on (0, +infinity) that affects the range of influence of this RBF. The
larger the bandwidth value, the more uniform the response it gives to any arbitrary input state. The distance
between the query state and the center state is determined by a provided distance function.| Modifier and Type | Field and Description |
|---|---|
protected double |
epsilon
The bandwidth parameter.
|
centeredState, metric| Constructor and Description |
|---|
FVGaussianRBF(double[] centeredState,
double epsilon)
Initializes using an
FVEuclideanDistance distance metric. |
FVGaussianRBF(double[] centeredState,
FVDistanceMetric metric,
double epsilon)
Initializes.
|
| Modifier and Type | Method and Description |
|---|---|
static java.util.List<FVRBF> |
generateGaussianRBFsForStates(java.util.List<State> states,
StateToFeatureVectorGenerator fvGen,
double epsilon)
Creates a
List of FVGaussianRBF units
for each State provided using the given StateToFeatureVectorGenerator, and epsilon value
and using a default FVEuclideanDistance metric for all units. |
static java.util.List<FVRBF> |
generateGaussianRBFsForStates(java.util.List<State> states,
StateToFeatureVectorGenerator fvGen,
FVDistanceMetric metric,
double epsilon)
Creates a
List of FVGaussianRBF units
for each State provided using the given StateToFeatureVectorGenerator, metric, and epsilon value. |
double |
responseFor(double[] input)
Returns the RBF response from its center state to the query input state.
|
protected double epsilon
public FVGaussianRBF(double[] centeredState,
FVDistanceMetric metric,
double epsilon)
centeredState - the centered state for this unit represented as a double arraymetric - the distance metric with which to compare statesepsilon - the Gaussian bandwidth value; the larger the value, the more uniform a response this unit givespublic FVGaussianRBF(double[] centeredState,
double epsilon)
FVEuclideanDistance distance metric.centeredState - the centered state for this unit represented as a double arrayepsilon - the Gaussian bandwidth value; the larger the value, the more uniform a response this unit givespublic double responseFor(double[] input)
FVRBFresponseFor in class FVRBFinput - the query input state represented with a double array.public static java.util.List<FVRBF> generateGaussianRBFsForStates(java.util.List<State> states, StateToFeatureVectorGenerator fvGen, FVDistanceMetric metric, double epsilon)
List of FVGaussianRBF units
for each State provided using the given StateToFeatureVectorGenerator, metric, and epsilon value.states - the State objects around which a GaussianRBF will be createdfvGen - the StateToFeatureVectorGenerator used to convert states to a double array usable by FVRBF units.metric - the DistanceMetric to useepsilon - the bandwidth parameter.List of GaussianRBF units.public static java.util.List<FVRBF> generateGaussianRBFsForStates(java.util.List<State> states, StateToFeatureVectorGenerator fvGen, double epsilon)
List of FVGaussianRBF units
for each State provided using the given StateToFeatureVectorGenerator, and epsilon value
and using a default FVEuclideanDistance metric for all units.states - the State objects around which a GaussianRBF will be createdfvGen - the StateToFeatureVectorGenerator used to convert states to a double array usable by FVRBF units.epsilon - the bandwidth parameter.List of GaussianRBF units.