AMATLABtoolboxfornonlinearsignalprocessingandmachinelearning
Author:StevenVanVaerenbergh
Officialweb:https://github.com/steven2358/kmbox
AboutTheKernelMethodsToolbox(KMBOX)isacollectionofMATLABprogramsthatimplementkernel-basedalgorithms,withafocusonregressionalgorithmsandonlinealgorithms.Itcanbeusedfornonlinearsignalprocessingandmachinelearning.
KMBOXincludesimplementationsofalgorithmssuchaskernelprincipalcomponentanalysis(KPCA),kernelcanonicalcorrelationanalysis(KCCA)andkernelrecursiveleast-squares(KRLS).
Thegoalofthisdistributionistoprovideeasy-to-analyzealgorithmimplementations,whichrevealtheinnermechanicsofeachalgorithmandallowforquickmodifications.Thefocusoftheseimplementationsisthereforeonreadabilityratherthanspeedormemoryusage.
ThestartingpointofthistoolboxwasasetofprogramswrittenforthePh.D.Thesis"KernelMethodsforNonlinearIdentification,EqualizationandSeparationofSignals".
Templatefilesareprovidedtoencourageexternalauthorstoincludetheirowncodeintothetoolbox.
CopyrightnoticeThecodehasbeendevelopedandcopyrighted©2014byStevenVanVaerenbergh.ItisdistributedunderthetermsoftheBSD(3-Clause)License.Inshort,thismeansthateveryoneisfreetouseit,tomodifyitandtoredistributeitonafreebasis.Itisnotinthepublicdomain;itiscopyrightedandtherearerestrictionsonitsdistribution(seeLICENSE.txt).
InstallationRuninstall.mtoaddthelibraryfoldertothepath.Typesavepathtosavethechangestothepath.UsageThenameofeachfunctionusestheprefixkm_tominimizeinterferencewithothertoolboxes.Usageofeachfunctionisspecifiedinthefunctionfileitself.
Mostalgorithmshaveacorrespondingdemonstrationfileinthe"demo"folderthatstartswith"km_demo".Thesearescriptsthatcanbeexecutedwithoutsettinganyadditionalparameters.
Thecodeusesthefollowingconventions:
Fordatamatrices,dataisstoredandaccessedinrowformat:eachdatapointisarowinthedatamatrix.CitingKMBOXIfyouusethistoolboxinyourresearchpleasecitethisPh.D.thesis:
@phdthesis{vanvaerenbergh2010kernel,author={VanVaerenbergh,Steven}title={Kernelmethodsfornonlinearidentification,equalizationandseparationofsignals},year={2010},school={UniversityofCantabria},month=feb,note={Softwareavailableat\url{https://github.com/steven2358/kmbox}}}IncludedalgorithmsKernelRidgeRegression(KRR).PrincipalComponentAnalysis(PCA).KernelPrincipalComponentAnalysis(KPCA),asproposedinB.Scholkopf,A.SmolaandK.R.Muller,"Nonlinearcomponentanalysisasakerneleigenvalueproblem",NeuralComputation,volume10,no.5,pages1299-1319,1998.ApproximateLinearDependencyKernelRecursiveLeast-Squares(ALD-KRLS),asproposedinY.Engel,S.Mannor,andR.Meir."Thekernelrecursiveleast-squaresalgorithm",IEEETransactionsonSignalProcessing,volume52,no.8,pages2275–2285,2004.Sliding-WindowKernelRecursiveLeast-Squares(SW-KRLS),asproposedinS.VanVaerenbergh,J.Via,andI.Santamaria."Asliding-windowkernelRLSalgorithmanditsapplicationtononlinearchannelidentification",2006IEEEInternationalConferenceonAcoustics,Speech,andSignalProcessing(ICASSP),Toulouse,France,2006.NaiveOnlineRegularizedRiskMinimizationAlgorithm(NORMA),asproposedinJ.Kivinen,A.SmolaandC.Williamson."OnlineLearningwithKernels",IEEETransactionsonSignalProcessing,volume52,no.8,pages2165-2176,2004.Fixed-BudgetKernelRecursiveLeast-Squares(FB-KRLS),asproposedinS.VanVaerenbergh,I.Santamaria,W.LiuandJ.C.Principe,"Fixed-BudgetKernelRecursiveLeast-Squares",2010IEEEInternationalConferenceonAcoustics,Speech,andSignalProcessing(ICASSP2010),Dallas,Texas,U.S.A.,March2010.IncompleteCholeskyDecomposition(ICD),asproposedinFrancisR.BachandMichaelI.Jordan."KernelIndependentComponentAnalysis",JournalofMachineLearningResearch,volume3,pages1-48,2002.KernelRecursiveLeast-SquaresTracker(KRLS-T),asproposedinM.Lazaro-Gredilla,S.VanVaerenberghandI.Santamaria,"ABayesianApproachtoTrackingwithKernelRecursiveLeast-Squares",2011IEEEInternationalWorkshoponMachineLearningforSignalProcessing(MLSP2011),Beijing,China,September,2011.KernelCanonicalCorrelationAnalysis(KCCA),asproposedinD.R.Hardoon,S.SzedmakandJ.Shawe-Taylor,"CanonicalCorrelationAnalysis:AnOverviewwithApplicationtoLearningMethods",NeuralComputation,Volume16(12),Pages2639--2664,2004.QuantizedKernelLeastMeanSquares(QKLMS),asproposedinChenB.,ZhaoS.,ZhuP.,PrincipeJ.C."QuantizedKernelLeastMeanSquareAlgorithm,"IEEETransactionsonNeuralNetworksandLearningSystems,vol.23,no.1,Jan.2012,pages22-32.AlternatingKernelCanonicalCorrelationAnalysisforblindequalizationofsingle-inputmultiple-outputWienersystems,asproposedinS.VanVaerenbergh,J.ViaandI.Santamaria,"BlindIdentificationofSIMOWienerSystemsbasedonKernelCanonicalCorrelationAnalysis",acceptedforpublicationinIEEETransactionsonSignalProcessing,2013.Kerneldensityestimation(KDE).Kernel-basedIdentificationofHammersteinsystems(KIHAM),asproposedinS.VanVaerenberghandL.A.Azpicueta-Ruiz,"Kernel-BasedIdentificationofHammersteinSystemsforNonlinearAcousticEcho-Cancellation",2014IEEEInternationalConferenceonAcoustics,Speech,andSignalProcessing(ICASSP),Florence,Italy,May2014.Nystrommethodbasedkernelmatrixdecompositionandkernelridgeregression,asproposedinC.K.I.WilliamsandM.Seeger,"UsingtheNyströmmethodtospeedupkernelmachines."Proceedingsofthe14thAnnualConferenceonNeuralInformationProcessingSystems.No.EPFL-CONF-161322.2001.HowtocontributecodetothetoolboxOption1:emailittome(steven@gtas.dicom.unican.es)
Option2:forkthetoolboxonGitHub,pushyourchangetoanamedbranch,thensendmeapullrequest.
Includeatleastone"demo"fileforeachalgorithm.
ChangelogHistoryofchanges:
Changesstartingv0.10aredocumentedintheGitrepository.
v0.9(2013-05-21)
inclusionofKDEcodeanddemominorchangesv0.8(2013-02-11)
inclusionofAKCCAcodeanddemominorchangesv0.7(2012-09-01):
inclusionofQKLMScodeminorchangesv0.6(2012-03-26):
inclusionofademoforkernelcanonicalcorrelationanalysis(KCCA)v0.5(2012-02-14):
inclusionofKRLS-Tadditionofafileidentifiertoeachfilev0.4(2011-05-04):
inclusionofNORMA,fixed-budgetKRLS,kernelPCA,incompleteCholeskydecompositioninclusionofincompletecholeskydecompositionalgorithm(km_kernel_icd).includedalistingofdependenciesinfunctionheaders.formatchange:dafaultformatfordatamatricesisnowonedatapointperrow(insteadofonepercolumn).formatchange:oneinputargumentlessforonlinealgorithmsv0.3(2010-12-03):
modificationstoALD-KRLSimplementation.v0.2(2010-11-08):
inclusionofkernelrecursiveleast-squaresalgorithms(km_krls):ALD-KRLS(ApproximateLinearDependencyKRLS),SW-KRLS(Sliding-WindowKRLS).correctionofminordetailsv0.1(2010-09-08):
originalpackage,includeslinearPCAandkernelridgeregressionalgorithms.
评论