summaryrefslogtreecommitdiff
path: root/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel')
-rw-r--r--src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/KernelMatrix.java15
-rw-r--r--src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/LaplaceKernelFunction.java14
-rw-r--r--src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/LinearKernelFunction.java18
-rw-r--r--src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/PolynomialKernelFunction.java30
-rw-r--r--src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/RadialBasisFunctionKernelFunction.java14
-rw-r--r--src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/RationalQuadraticKernelFunction.java16
-rw-r--r--src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/SigmoidKernelFunction.java12
-rw-r--r--src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/package-info.java2
8 files changed, 56 insertions, 65 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/KernelMatrix.java b/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/KernelMatrix.java
index 39fb97a5..7acd784b 100644
--- a/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/KernelMatrix.java
+++ b/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/KernelMatrix.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.distance.similarityfunction.kernel;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2013
+ Copyright (C) 2014
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -34,14 +34,12 @@ import de.lmu.ifi.dbs.elki.database.ids.DBIDUtil;
import de.lmu.ifi.dbs.elki.database.ids.DBIDs;
import de.lmu.ifi.dbs.elki.database.query.similarity.SimilarityQuery;
import de.lmu.ifi.dbs.elki.database.relation.Relation;
-import de.lmu.ifi.dbs.elki.distance.distancevalue.NumberDistance;
import de.lmu.ifi.dbs.elki.distance.similarityfunction.PrimitiveSimilarityFunction;
import de.lmu.ifi.dbs.elki.logging.LoggingUtil;
import de.lmu.ifi.dbs.elki.math.linearalgebra.Matrix;
/**
- * Provides a class for storing the kernel matrix and several extraction methods
- * for convenience.
+ * Kernel matrix representation.
*
* @author Simon Paradies
*
@@ -141,8 +139,7 @@ public class KernelMatrix {
* @param relation the database that holds the objects
* @param ids the IDs of those objects for which the kernel matrix is computed
*/
- public <O, D extends NumberDistance<?, ?>> KernelMatrix(PrimitiveSimilarityFunction<? super O, D> kernelFunction, final Relation<? extends O> relation, final DBIDs ids) {
- LoggingUtil.logExpensive(Level.FINER, "Computing kernel matrix");
+ public <O> KernelMatrix(PrimitiveSimilarityFunction<? super O> kernelFunction, final Relation<? extends O> relation, final DBIDs ids) {
this.kernel = new Matrix(ids.size(), ids.size());
if(ids instanceof DBIDRange) {
this.idmap = new RangeMap((DBIDRange) ids);
@@ -155,7 +152,7 @@ public class KernelMatrix {
for(i1.seek(0); i1.valid(); i1.advance()) {
O o1 = relation.get(i1);
for(i2.seek(i1.getOffset()); i2.valid(); i2.advance()) {
- double value = kernelFunction.similarity(o1, relation.get(i2)).doubleValue();
+ double value = kernelFunction.similarity(o1, relation.get(i2));
kernel.set(i1.getOffset(), i2.getOffset(), value);
kernel.set(i2.getOffset(), i1.getOffset(), value);
}
@@ -169,7 +166,7 @@ public class KernelMatrix {
* @param relation the database that holds the objects
* @param ids the IDs of those objects for which the kernel matrix is computed
*/
- public <O, D extends NumberDistance<?, ?>> KernelMatrix(SimilarityQuery<? super O, D> kernelFunction, final Relation<? extends O> relation, final DBIDs ids) {
+ public <O> KernelMatrix(SimilarityQuery<? super O> kernelFunction, final Relation<? extends O> relation, final DBIDs ids) {
LoggingUtil.logExpensive(Level.FINER, "Computing kernel matrix");
kernel = new Matrix(ids.size(), ids.size());
if(ids instanceof DBIDRange) {
@@ -182,7 +179,7 @@ public class KernelMatrix {
for(i1.seek(0); i1.valid(); i1.advance()) {
O o1 = relation.get(i1);
for(i2.seek(i1.getOffset()); i2.valid(); i2.advance()) {
- double value = kernelFunction.similarity(o1, i2).doubleValue();
+ double value = kernelFunction.similarity(o1, i2);
kernel.set(i1.getOffset(), i2.getOffset(), value);
kernel.set(i2.getOffset(), i1.getOffset(), value);
}
diff --git a/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/LaplaceKernelFunction.java b/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/LaplaceKernelFunction.java
index 2a5f6028..a2297409 100644
--- a/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/LaplaceKernelFunction.java
+++ b/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/LaplaceKernelFunction.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.distance.similarityfunction.kernel;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2013
+ Copyright (C) 2014
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -24,8 +24,8 @@ package de.lmu.ifi.dbs.elki.distance.similarityfunction.kernel;
*/
import de.lmu.ifi.dbs.elki.data.NumberVector;
-import de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractVectorDoubleDistanceFunction;
-import de.lmu.ifi.dbs.elki.distance.similarityfunction.AbstractVectorDoubleSimilarityFunction;
+import de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractNumberVectorDistanceFunction;
+import de.lmu.ifi.dbs.elki.distance.similarityfunction.AbstractVectorSimilarityFunction;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.OptionID;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints.CommonConstraints;
@@ -33,11 +33,11 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.Parameteriz
import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.DoubleParameter;
/**
- * Provides the laplace / exponential radial basis function kernel.
+ * Laplace / exponential radial basis function kernel.
*
* @author Erich Schubert
*/
-public class LaplaceKernelFunction extends AbstractVectorDoubleSimilarityFunction {
+public class LaplaceKernelFunction extends AbstractVectorSimilarityFunction {
/**
* Scaling factor mgamma. (= - 1/sigma)
*/
@@ -54,8 +54,8 @@ public class LaplaceKernelFunction extends AbstractVectorDoubleSimilarityFunctio
}
@Override
- public double doubleSimilarity(NumberVector<?> o1, NumberVector<?> o2) {
- final int dim = AbstractVectorDoubleDistanceFunction.dimensionality(o1, o2);
+ public double similarity(NumberVector o1, NumberVector o2) {
+ final int dim = AbstractNumberVectorDistanceFunction.dimensionality(o1, o2);
double sim = 0.;
for(int i = 0; i < dim; i++) {
final double v = o1.doubleValue(i) - o2.doubleValue(i);
diff --git a/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/LinearKernelFunction.java b/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/LinearKernelFunction.java
index a86ad55d..6a5b0a79 100644
--- a/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/LinearKernelFunction.java
+++ b/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/LinearKernelFunction.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.distance.similarityfunction.kernel;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2013
+ Copyright (C) 2014
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -24,12 +24,12 @@ package de.lmu.ifi.dbs.elki.distance.similarityfunction.kernel;
*/
import de.lmu.ifi.dbs.elki.data.NumberVector;
-import de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractVectorDoubleDistanceFunction;
+import de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractNumberVectorDistanceFunction;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer;
/**
- * Provides a linear Kernel function that computes a similarity between the two
- * feature vectors V1 and V2 defined by V1^T*V2.
+ * Linear Kernel function that computes a similarity between the two feature
+ * vectors V1 and V2 defined by V1^T*V2.
*
* Note: this is effectively equivalent to using
* {@link de.lmu.ifi.dbs.elki.distance.distancefunction.minkowski.EuclideanDistanceFunction}
@@ -51,18 +51,18 @@ public class LinearKernelFunction extends PolynomialKernelFunction {
}
@Override
- public double doubleSimilarity(final NumberVector<?> o1, final NumberVector<?> o2) {
- final int dim = AbstractVectorDoubleDistanceFunction.dimensionality(o1, o2);
+ public double similarity(final NumberVector o1, final NumberVector o2) {
+ final int dim = AbstractNumberVectorDistanceFunction.dimensionality(o1, o2);
double sim = 0.;
- for (int i = 0; i < dim; i++) {
+ for(int i = 0; i < dim; i++) {
sim += o1.doubleValue(i) * o2.doubleValue(i);
}
return sim;
}
@Override
- public double doubleDistance(final NumberVector<?> fv1, final NumberVector<?> fv2) {
- return Math.sqrt(doubleSimilarity(fv1, fv1) + doubleSimilarity(fv2, fv2) - 2 * doubleSimilarity(fv1, fv2));
+ public double distance(final NumberVector fv1, final NumberVector fv2) {
+ return Math.sqrt(similarity(fv1, fv1) + similarity(fv2, fv2) - 2 * similarity(fv1, fv2));
}
/**
diff --git a/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/PolynomialKernelFunction.java b/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/PolynomialKernelFunction.java
index 2b25ba19..a726003c 100644
--- a/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/PolynomialKernelFunction.java
+++ b/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/PolynomialKernelFunction.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.distance.similarityfunction.kernel;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2013
+ Copyright (C) 2014
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -27,10 +27,9 @@ import de.lmu.ifi.dbs.elki.data.NumberVector;
import de.lmu.ifi.dbs.elki.database.query.DistanceSimilarityQuery;
import de.lmu.ifi.dbs.elki.database.query.distance.PrimitiveDistanceSimilarityQuery;
import de.lmu.ifi.dbs.elki.database.relation.Relation;
-import de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractVectorDoubleDistanceFunction;
-import de.lmu.ifi.dbs.elki.distance.distancefunction.PrimitiveDoubleDistanceFunction;
-import de.lmu.ifi.dbs.elki.distance.distancevalue.DoubleDistance;
-import de.lmu.ifi.dbs.elki.distance.similarityfunction.AbstractVectorDoubleSimilarityFunction;
+import de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractNumberVectorDistanceFunction;
+import de.lmu.ifi.dbs.elki.distance.distancefunction.PrimitiveDistanceFunction;
+import de.lmu.ifi.dbs.elki.distance.similarityfunction.AbstractVectorSimilarityFunction;
import de.lmu.ifi.dbs.elki.math.MathUtil;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.OptionID;
@@ -40,12 +39,12 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.DoubleParameter;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.IntParameter;
/**
- * Provides a polynomial Kernel function that computes a similarity between the
- * two feature vectors V1 and V2 defined by (V1^T*V2)^degree.
+ * Polynomial Kernel function that computes a similarity between the two feature
+ * vectors V1 and V2 defined by (V1^T*V2)^degree.
*
* @author Simon Paradies
*/
-public class PolynomialKernelFunction extends AbstractVectorDoubleSimilarityFunction implements PrimitiveDoubleDistanceFunction<NumberVector<?>> {
+public class PolynomialKernelFunction extends AbstractVectorSimilarityFunction implements PrimitiveDistanceFunction<NumberVector> {
/**
* The default degree.
*/
@@ -83,8 +82,8 @@ public class PolynomialKernelFunction extends AbstractVectorDoubleSimilarityFunc
}
@Override
- public double doubleSimilarity(NumberVector<?> o1, NumberVector<?> o2) {
- final int dim = AbstractVectorDoubleDistanceFunction.dimensionality(o1, o2);
+ public double similarity(NumberVector o1, NumberVector o2) {
+ final int dim = AbstractNumberVectorDistanceFunction.dimensionality(o1, o2);
double sim = 0.;
for(int i = 0; i < dim; i++) {
sim += o1.doubleValue(i) * o2.doubleValue(i);
@@ -93,22 +92,17 @@ public class PolynomialKernelFunction extends AbstractVectorDoubleSimilarityFunc
}
@Override
- public DoubleDistance distance(final NumberVector<?> fv1, final NumberVector<?> fv2) {
- return new DoubleDistance(doubleDistance(fv1, fv2));
- }
-
- @Override
public boolean isMetric() {
return true;
}
@Override
- public double doubleDistance(NumberVector<?> fv1, NumberVector<?> fv2) {
- return Math.sqrt(doubleSimilarity(fv1, fv1) + doubleSimilarity(fv2, fv2) - 2 * doubleSimilarity(fv1, fv2));
+ public double distance(NumberVector fv1, NumberVector fv2) {
+ return Math.sqrt(similarity(fv1, fv1) + similarity(fv2, fv2) - 2 * similarity(fv1, fv2));
}
@Override
- public <T extends NumberVector<?>> DistanceSimilarityQuery<T, DoubleDistance> instantiate(Relation<T> database) {
+ public <T extends NumberVector> DistanceSimilarityQuery<T> instantiate(Relation<T> database) {
return new PrimitiveDistanceSimilarityQuery<>(database, this, this);
}
diff --git a/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/RadialBasisFunctionKernelFunction.java b/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/RadialBasisFunctionKernelFunction.java
index a7613a78..a0287b36 100644
--- a/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/RadialBasisFunctionKernelFunction.java
+++ b/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/RadialBasisFunctionKernelFunction.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.distance.similarityfunction.kernel;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2013
+ Copyright (C) 2014
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -24,8 +24,8 @@ package de.lmu.ifi.dbs.elki.distance.similarityfunction.kernel;
*/
import de.lmu.ifi.dbs.elki.data.NumberVector;
-import de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractVectorDoubleDistanceFunction;
-import de.lmu.ifi.dbs.elki.distance.similarityfunction.AbstractVectorDoubleSimilarityFunction;
+import de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractNumberVectorDistanceFunction;
+import de.lmu.ifi.dbs.elki.distance.similarityfunction.AbstractVectorSimilarityFunction;
import de.lmu.ifi.dbs.elki.utilities.Alias;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.OptionID;
@@ -34,12 +34,12 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.Parameteriz
import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.DoubleParameter;
/**
- * Provides the Gaussian radial basis function kernel (RBF Kernel).
+ * Gaussian radial basis function kernel (RBF Kernel).
*
* @author Erich Schubert
*/
@Alias({ "rbf" })
-public class RadialBasisFunctionKernelFunction extends AbstractVectorDoubleSimilarityFunction {
+public class RadialBasisFunctionKernelFunction extends AbstractVectorSimilarityFunction {
/**
* Scaling factor gamma. (= - 1/(2sigma^2))
*/
@@ -56,8 +56,8 @@ public class RadialBasisFunctionKernelFunction extends AbstractVectorDoubleSimil
}
@Override
- public double doubleSimilarity(NumberVector<?> o1, NumberVector<?> o2) {
- final int dim = AbstractVectorDoubleDistanceFunction.dimensionality(o1, o2);
+ public double similarity(NumberVector o1, NumberVector o2) {
+ final int dim = AbstractNumberVectorDistanceFunction.dimensionality(o1, o2);
double sim = 0.;
for(int i = 0; i < dim; i++) {
final double v = o1.doubleValue(i) - o2.doubleValue(i);
diff --git a/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/RationalQuadraticKernelFunction.java b/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/RationalQuadraticKernelFunction.java
index 0a3dc45c..54398fd3 100644
--- a/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/RationalQuadraticKernelFunction.java
+++ b/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/RationalQuadraticKernelFunction.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.distance.similarityfunction.kernel;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2013
+ Copyright (C) 2014
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -24,8 +24,8 @@ package de.lmu.ifi.dbs.elki.distance.similarityfunction.kernel;
*/
import de.lmu.ifi.dbs.elki.data.NumberVector;
-import de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractVectorDoubleDistanceFunction;
-import de.lmu.ifi.dbs.elki.distance.similarityfunction.AbstractVectorDoubleSimilarityFunction;
+import de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractNumberVectorDistanceFunction;
+import de.lmu.ifi.dbs.elki.distance.similarityfunction.AbstractVectorSimilarityFunction;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.OptionID;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.constraints.CommonConstraints;
@@ -33,12 +33,12 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.Parameteriz
import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.DoubleParameter;
/**
- * Provides the rational quadratic kernel, a less computational approximation of
- * the Gaussian RBF kerne ({@link RadialBasisFunctionKernelFunction}).
+ * Rational quadratic kernel, a less computational approximation of the Gaussian
+ * RBF kernel ({@link RadialBasisFunctionKernelFunction}).
*
* @author Erich Schubert
*/
-public class RationalQuadraticKernelFunction extends AbstractVectorDoubleSimilarityFunction {
+public class RationalQuadraticKernelFunction extends AbstractVectorSimilarityFunction {
/**
* Constant term c.
*/
@@ -55,8 +55,8 @@ public class RationalQuadraticKernelFunction extends AbstractVectorDoubleSimilar
}
@Override
- public double doubleSimilarity(NumberVector<?> o1, NumberVector<?> o2) {
- final int dim = AbstractVectorDoubleDistanceFunction.dimensionality(o1, o2);
+ public double similarity(NumberVector o1, NumberVector o2) {
+ final int dim = AbstractNumberVectorDistanceFunction.dimensionality(o1, o2);
double sim = 0.;
for(int i = 0; i < dim; i++) {
final double v = o1.doubleValue(i) - o2.doubleValue(i);
diff --git a/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/SigmoidKernelFunction.java b/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/SigmoidKernelFunction.java
index a88225f9..11f33f16 100644
--- a/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/SigmoidKernelFunction.java
+++ b/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/SigmoidKernelFunction.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.distance.similarityfunction.kernel;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2013
+ Copyright (C) 2014
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -24,8 +24,8 @@ package de.lmu.ifi.dbs.elki.distance.similarityfunction.kernel;
*/
import de.lmu.ifi.dbs.elki.data.NumberVector;
-import de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractVectorDoubleDistanceFunction;
-import de.lmu.ifi.dbs.elki.distance.similarityfunction.AbstractVectorDoubleSimilarityFunction;
+import de.lmu.ifi.dbs.elki.distance.distancefunction.AbstractNumberVectorDistanceFunction;
+import de.lmu.ifi.dbs.elki.distance.similarityfunction.AbstractVectorSimilarityFunction;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizer;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.OptionID;
import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.Parameterization;
@@ -37,7 +37,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.DoubleParameter;
*
* @author Erich Schubert
*/
-public class SigmoidKernelFunction extends AbstractVectorDoubleSimilarityFunction {
+public class SigmoidKernelFunction extends AbstractVectorSimilarityFunction {
/**
* Scaling factor c, bias theta
*/
@@ -56,8 +56,8 @@ public class SigmoidKernelFunction extends AbstractVectorDoubleSimilarityFunctio
}
@Override
- public double doubleSimilarity(NumberVector<?> o1, NumberVector<?> o2) {
- final int dim = AbstractVectorDoubleDistanceFunction.dimensionality(o1, o2);
+ public double similarity(NumberVector o1, NumberVector o2) {
+ final int dim = AbstractNumberVectorDistanceFunction.dimensionality(o1, o2);
double sim = 0.;
for (int i = 0; i < dim; i++) {
final double v = o1.doubleValue(i) * o2.doubleValue(i);
diff --git a/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/package-info.java b/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/package-info.java
index ec847f80..6d0d3da2 100644
--- a/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/package-info.java
+++ b/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/package-info.java
@@ -7,7 +7,7 @@
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
-Copyright (C) 2013
+Copyright (C) 2014
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team