A MATLAB toolbox for nonlinear signal processing and machine learning
Author: Steven Van Vaerenbergh
Official web: https://github.com/steven2358/kmbox
The Kernel Methods Toolbox (KMBOX) is a collection of MATLAB programs that implement kernel-based algorithms, with a focus on regression algorithms and online algorithms. It can be used for nonlinear signal processing and machine learning.
KMBOX includes implementations of algorithms such as kernel principal component analysis (KPCA), kernel canonical correlation analysis (KCCA) and kernel recursive least-squares (KRLS).
The goal of this distribution is to provide easy-to-analyze algorithm implementations, which reveal the inner mechanics of each algorithm and allow for quick modifications. The focus of these implementations is therefore on readability rather than speed or memory usage.
The starting point of this toolbox was a set of programs written for the Ph.D. Thesis "Kernel Methods for Nonlinear Identification, Equalization and Separation of Signals".
Template files are provided to encourage external authors to include their own code into the toolbox.
The code has been developed and copyrighted © 2014 by Steven Van Vaerenbergh. It is distributed under the terms of the BSD (3-Clause) License. In short, this means that everyone is free to use it, to modify it and to redistribute it on a free basis. It is not in the public domain; it is copyrighted and there are restrictions on its distribution (see LICENSE.txt).
install.m
to add the library folder to the path.savepath
to save the changes to the path.The name of each function uses the prefix km_
to minimize interference with other toolboxes. Usage of each function is specified in the function file itself.
Most algorithms have a corresponding demonstration file in the "demo" folder that starts with "km_demo". These are scripts that can be executed without setting any additional parameters.
The code uses the following conventions:
If you use this toolbox in your research please cite this Ph.D. thesis:
@phdthesis {vanvaerenbergh2010kernel,
author = {Van Vaerenbergh, Steven}
title = {Kernel methods for nonlinear identification, equalization and separation of signals},
year = {2010},
school = {University of Cantabria},
month = feb,
note = {Software available at \url{https://github.com/steven2358/kmbox}}
}
Option 1: email it to me (steven@gtas.dicom.unican.es)
Option 2: fork the toolbox on GitHub, push your change to a named branch, then send me a pull request.
Include at least one "demo" file for each algorithm.
History of changes:
Changes starting v0.10 are documented in the Git repository.
v0.9 (2013-05-21)
v0.8 (2013-02-11)
v0.7 (2012-09-01):
v0.6 (2012-03-26):
v0.5 (2012-02-14):
v0.4 (2011-05-04):
v0.3 (2010-12-03):
v0.2 (2010-11-08):
v0.1 (2010-09-08):
问题内容: 我一直很难弄清楚该怎么做。从八度的网站,似乎Java类是通过类路径中找到。此堆栈溢出答案指示“静态Java路径”是“动态Java路径”。但是我不确定如何设置静态java路径。 在我感兴趣的特定情况下,我试图将javaplex包与Octave一起使用- 我已经联系了Github上javaplex的作者,他们说如果Octave可以加载Java类,那么我可以使用它。据我所知,八度可以做到这一
主要内容:MATLAB vs Octave,以下是纠正/补充内容:GNU Octave是像MATLAB这样的高级编程语言,它能与MATLAB兼容。它也是用于数值计算。 Octave具有以下MATLAB的常见功能 - 矩阵是基本数据类型 它内置了对复杂数字的支持 它具有内置的数学函数和库 它支持用户定义的函数 GNU Octave也是免费的可再分发软件。可以根据自由软件基金会发布的GNU通用公共许可证(GPL)的条款重新分发和/或修改它。 MATLAB vs Oc
问题内容: 我希望能够使用gnu octave编程多个线程,以便它将利用多个处理器。 我在Fedora 17 Linux上安装了GNU Octave,并执行了以下操作: 在我的计算机上安装了最新版本的octave 3.6.2。它的效果很好,但是当您将两个巨大的矩阵相乘时,它会使八度使用的一个CPU陷入瘫痪。如果矩阵乘法利用所有内核,那就太好了,因为在这种情况下,CPU显然是瓶颈。 倍频程能否充分利
我正在尝试使用fft和IFFT来增加/减少信号的频率。第一个曲线图是1Hz,第二个曲线图是2Hz,我试图通过改变fft和ifft值来获得。 我可以在频域和时域之间转换,但如何使用fft/IFFT来增加或减少信号的频率呢? 注意:是的,我知道我可以通过改变公式的频率值来改变频率,但我只是将其用作测试信号。我将使用的信号不会有方程,它们将被导入。
? 安装方式 mac系统 安装教程在: http://wiki.octave.org/Octave_for_MacOS_X 在https://www.macports.org/install.php下载对应osx版本的安装包,下载安装 port会把下载的包安装到/opt/local/var/macports/ 如果没装xcode命令行工具,需要安装: xcode-select --install
Install Refer https://www.gnu.org/software/octave/. Ubuntu: apt-get install octave gnuplot Max OSX: brew tap homebrew/science && brew update && brew upgrade && brew install octave Basic operations Nor
GNU Octave是一种高级编程语言,如MATLAB,它主要与MATLAB兼容。 它也用于数值计算。 Octave与MATLAB具有以下共同特征 - 矩阵是基本数据类型 它内置了对复杂数字的支持 它有内置的数学函数和库 它支持用户定义的功能 GNU Octave也是可自由再发行的软件。 您可以根据自由软件基金会发布的GNU通用公共许可证(GPL)的条款重新分发和/或修改它。 MATLAB与Oct
Octave 是一个类似matlab和Scilab的数学软件包,可以进行各种运算,编程。它还有丰富的C++接口可以让用户编程时调用。它绘图使用gnuplot。 Octave的使用也是基于字符终端模式的,当需要绘图时,将会调用Gnuplot进行数据绘图,并显示出来。 Octave是用C++编写的,它内容丰富的库也可以供用户在编写软件时调用。Octave库的详细介绍在/usr/share/doc/oc