Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/24/17 18:31:44 (7 years ago)
Author:
gkronber
Message:

#2699: worked on kernel ridge regression. moved beta parameter to algorithm. reintroduced IKernel interface to restrict choice of kernel in kernel ridge regression. speed-up by cholesky decomposition and optimization of the calculation of the covariance matrix.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/RBFRegression/HeuristicLab.Algorithms.DataAnalysis/3.4/KernelRidgeRegression/KernelFunctions/PolysplineKernel.cs

    r14883 r14887  
    2222using System;
    2323using HeuristicLab.Common;
    24 using HeuristicLab.Core;
    25 using HeuristicLab.Data;
    26 using HeuristicLab.Parameters;
     24using HeuristicLab.Core;         
    2725using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2826
    29 namespace HeuristicLab.Algorithms.DataAnalysis {
     27namespace HeuristicLab.Algorithms.DataAnalysis.KernelRidgeRegression {
    3028  [StorableClass]
    31   [Item("PolysplineKernel", "A kernel function that uses the multiquadratic function")]
     29  // conditionally positive definite. (need to add polynomials) see http://num.math.uni-goettingen.de/schaback/teaching/sc.pdf
     30  [Item("PolysplineKernel", "A kernel function that uses the poly-spline function ||x-c||^Beta.")]
    3231  public class PolysplineKernel : KernelBase {
    3332
     
    4039                : base(original, cloner) { }
    4140    public PolysplineKernel() {
    42       Parameters.Add(new FixedValueParameter<DoubleValue>(BetaParameterName, "The Beta in the kernelfunction ||x-c||^Beta", new DoubleValue(1.5)));
    4341    }
    4442    public override IDeepCloneable Clone(Cloner cloner) {
     
    4846
    4947    protected override double Get(double norm) {
    50       return Math.Pow(norm, Beta);
     48      return Math.Pow(norm, Beta.Value);
    5149    }
    5250
    5351    protected override double GetGradient(double norm) {
    54       return Math.Pow(norm, Beta) * Math.Log(norm);
     52      return Math.Pow(norm, Beta.Value) * Math.Log(norm);
    5553    }
    5654  }
Note: See TracChangeset for help on using the changeset viewer.