Package elki.similarity.kernel
Class PolynomialKernel
- java.lang.Object
-
- elki.similarity.AbstractVectorSimilarity
-
- elki.similarity.kernel.PolynomialKernel
-
- All Implemented Interfaces:
Distance<NumberVector>,PrimitiveDistance<NumberVector>,PrimitiveSimilarity<NumberVector>,Similarity<NumberVector>
- Direct Known Subclasses:
LinearKernel
public class PolynomialKernel extends AbstractVectorSimilarity implements PrimitiveDistance<NumberVector>
Polynomial Kernel function that computes a similarity between the two feature vectors x and y defined by \((x^T\cdot y+b)^{\text{degree}}\).- Since:
- 0.1
- Author:
- Simon Paradies
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPolynomialKernel.ParParameterization class.
-
Field Summary
Fields Modifier and Type Field Description private doublebiasBias of the similarity function.static intDEFAULT_DEGREEThe default degree.private intdegreeDegree of the polynomial kernel function.
-
Constructor Summary
Constructors Constructor Description PolynomialKernel(int degree)Constructor.PolynomialKernel(int degree, double bias)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description doubledistance(NumberVector fv1, NumberVector fv2)Computes the distance between two given DatabaseObjects according to this distance function.<T extends NumberVector>
DistanceSimilarityQuery<T>instantiate(Relation<T> database)Instantiate with a database to get the actual distance query.booleanisMetric()Is this distance function metric (satisfy the triangle inequality)booleanisSymmetric()Is this function symmetric?doublesimilarity(NumberVector o1, NumberVector o2)Computes the similarity between two given DatabaseObjects according to this similarity function.-
Methods inherited from class elki.similarity.AbstractVectorSimilarity
getInputTypeRestriction
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface elki.distance.PrimitiveDistance
getInputTypeRestriction
-
-
-
-
Field Detail
-
DEFAULT_DEGREE
public static final int DEFAULT_DEGREE
The default degree.- See Also:
- Constant Field Values
-
degree
private final int degree
Degree of the polynomial kernel function.
-
bias
private final double bias
Bias of the similarity function.
-
-
Method Detail
-
similarity
public double similarity(NumberVector o1, NumberVector o2)
Description copied from interface:PrimitiveSimilarityComputes the similarity between two given DatabaseObjects according to this similarity function.- Specified by:
similarityin interfacePrimitiveSimilarity<NumberVector>- Parameters:
o1- first DatabaseObjecto2- second DatabaseObject- Returns:
- the similarity between two given DatabaseObjects according to this similarity function
-
isSymmetric
public boolean isSymmetric()
Description copied from interface:DistanceIs this function symmetric?- Specified by:
isSymmetricin interfaceDistance<NumberVector>- Specified by:
isSymmetricin interfaceSimilarity<NumberVector>- Returns:
truewhen symmetric
-
isMetric
public boolean isMetric()
Description copied from interface:DistanceIs this distance function metric (satisfy the triangle inequality)- Specified by:
isMetricin interfaceDistance<NumberVector>- Returns:
truewhen metric.
-
distance
public double distance(NumberVector fv1, NumberVector fv2)
Description copied from interface:PrimitiveDistanceComputes the distance between two given DatabaseObjects according to this distance function.- Specified by:
distancein interfacePrimitiveDistance<NumberVector>- Parameters:
fv1- first DatabaseObjectfv2- second DatabaseObject- Returns:
- the distance between two given DatabaseObjects according to this distance function
-
instantiate
public <T extends NumberVector> DistanceSimilarityQuery<T> instantiate(Relation<T> database)
Description copied from interface:DistanceInstantiate with a database to get the actual distance query.- Specified by:
instantiatein interfaceDistance<NumberVector>- Specified by:
instantiatein interfacePrimitiveDistance<NumberVector>- Specified by:
instantiatein interfacePrimitiveSimilarity<NumberVector>- Specified by:
instantiatein interfaceSimilarity<NumberVector>- Parameters:
database- The representation to use- Returns:
- Actual distance query.
-
-