matlab算法,工具源码
Kernel Adaptive Filtering Toolbox
===
A Matlab benchmarking toolbox for kernel adaptive filtering.
Kernel adaptive filters are online machine learning algorithms based on kernel methods. Typical applications include time-series prediction, nonlinear adaptive filtering, tracking and online learning for nonlinear regression. This toolbox includes algorithms, demos, and tools to compare their performance.
<p align="center">
<img src="doc/kaf_diagram.png" width="60%">
<div align="center"><i>Nonlinear system identification using kernel adaptive filtering.</i></div>
</p>
Maintainer: [Steven Van Vaerenbergh](http://gtas.unican.es/people/steven), University of Cantabria, Spain.
Contributors:
- [Miguel Lazaro-Gredilla](http://www.tsc.uc3m.es/~miguel), Universidad Carlos III de Madrid, Spain.
- [Sohan Seth](http://www.sohanseth.com/), University of Edinburgh, UK.
- [Masahiro Yukawa](http://www.ykw.elec.keio.ac.jp/yukawa/), Keio University, Japan.
- [Masa-aki Takizawa](http://www.ykw.elec.keio.ac.jp/member.html), Keio University, Japan.
- [Osamu Toda](http://www.ykw.elec.keio.ac.jp/member.html), Keio University, Japan.
- [Motoya Ohnishi](http://www.ykw.elec.keio.ac.jp/member.html), Keio University, Japan.
- [Dominik Rzepka](http://home.agh.edu.pl/~drzepka/), AGH University of Science and Technology, Poland.
- [Pantelis Bouboulis](http://bouboulis.mysch.gr/), University of Athens, Greece.
- [Stephan Rhode](https://www.fast.kit.edu/lff/1011_3295.php), Karlsruher Institut für Technologie, Germany.
Official web: https://github.com/steven2358/kafbox/
This toolbox is a collaborative effort: every developer wishing to contribute code or suggestions can do so. More info below.
Sample run
---
Figure generated by `demo/demo_sample_run.m`.
<p align="center">
<img src="demo/fig/kafbox_sample_run.gif" width="75%">
<div align="center"><i>Online learning of a 1D nonlinear regression by a kernel adaptive filter on a fixed budget.</i></div>
</p>
Directories included in the toolbox
---
`data/` - data sets
`demo/` - demos and test files
`doc/` - documentation
`lib/` - algorithm libraries and utilities
Setup
---
1. Run `install.m` to add the toolbox folders to the path.
2. Type `savepath` to save the changes to the path.
Octave / Matlab pre-2008a
-------------------------
This toolbox uses the `classdef` command which is not supported in Matlab pre-2008a and not yet in Octave. The older 0.x versions of this toolbox do not use `classdef` and can therefore be used with all versions of Matlab and Octave. http://sourceforge.net/projects/kafbox/files/
Usage
---
Each kernel adaptive filtering algorithm is implemented as a Matlab class. To use one, first define its options:
```matlab
options = struct('nu',1E-4,'kerneltype','gauss','kernelpar',32);
```
Next, create an instance of the filter. E.g., for an instance of the original KRLS algorithm run:
```matlab
kaf = krls(options);
```
One iteration of training is performed by feeding one input-output data pair to the filter:
```matlab
kaf.train(x,y);
```
The outputs for one or more test inputs are evaluated as follows:
```matlab
Y_test = kaf.evaluate(X_test);
```
Example: time-series prediction
---
Code from `demo/demo_prediction.m`
```matlab
% Demo: 1-step ahead prediction on Lorenz attractor time-series data
[X,Y] = kafbox_data(struct('file','lorenz.dat','embedding',6));
% make a kernel adaptive filter object of class krls with options:
% ALD threshold 1E-4, Gaussian kernel, and kernel width 32
kaf = krls(struct('nu',1E-4,'kerneltype','gauss','kernelpar',32));
%% RUN ALGORITHM
N = size(X,1);
Y_est = zeros(N,1);
for i=1:N,
if ~mod(i,floor(N/10)), fprintf('.'); end % progress indicator, 10 dots
Y_est(i) = kaf.evaluate(X(i,:)); % predict the next output
kaf.train(X(i,:),Y(i)); % train with one input-output pair
end
fprintf('\n');
SE = (Y-Y_est).^2; % test error
%% OUTPUT
fprintf('MSE after first 1000 samples: %.2fdB\n\n',10*log10(mean(SE(1001:end))));
```
Result:
MSE after first 1000 samples: -40.17dB
Citing KAFBOX
---
If you use this toolbox in your research please cite ["A Comparative Study of Kernel Adaptive Filtering Algorithms"](http://gtas.unican.es/pub/356):
@inproceedings{vanvaerenbergh2013comparative,
author = {Van Vaerenbergh, Steven and Santamar{\'i}a, Ignacio},
booktitle = {2013 IEEE Digital Signal Processing and Signal Processing Education Meeting (DSP/SPE)},
title = {A Comparative Study of Kernel Adaptive Filtering Algorithms},
doi = {10.1109/DSP-SPE.2013.6642587},
pages = {181--186},
year = {2013},
month = aug,
note = {Software available at \url{https://github.com/steven2358/kafbox/}}
}
Included algorithms
---
- Kernel Recursive Least-Squares (KRLS) algorithm with approximate linear dependency criterion, as proposed in Y. Engel, S. Mannor, and R. Meir. "The kernel recursive least-squares algorithm", IEEE Transactions on Signal Processing, volume 52, no. 8, pages 2275-2285, 2004.
- Sliding-Window Kernel Recursive Least-Squares (SW-KRLS), as proposed in S. Van Vaerenbergh, J. Via, and I. Santamaria. "A sliding-window kernel RLS algorithm and its application to nonlinear channel identification", 2006 IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), Toulouse, France, 2006.
- Naive Online Regularized Risk Minimization Algorithm (NORMA), as proposed in J. Kivinen, A. Smola and C. Williamson. "Online Learning with Kernels", IEEE Transactions on Signal Processing, volume 52, no. 8, pages 2165-2176, 2004.
- Kernel Least-Mean-Square (KLMS), as proposed in W. Liu, P.P. Pokharel, and J.C. Principe, "The Kernel Least-Mean-Square Algorithm," IEEE Transactions on Signal Processing, vol.56, no.2, pp.543-554, Feb. 2008.
- Fixed-Budget Kernel Recursive Least-Squares (FB-KRLS), as proposed in S. Van Vaerenbergh, I. Santamaria, W. Liu and J. C. Principe, "Fixed-Budget Kernel Recursive Least-Squares", 2010 IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP 2010), Dallas, Texas, U.S.A., March 2010.
- Kernel Recursive Least-Squares Tracker (KRLS-T), as proposed in S. Van Vaerenbergh, M. Lazaro-Gredilla, and I. Santamaria, "Kernel Recursive Least-Squares Tracker for Time-Varying Regression," IEEE Transactions on Neural Networks and Learning Systems, vol.23, no.8, pp.1313-1326, Aug. 2012.
- Quantized Kernel Least Mean Squares (QKLMS), as proposed in Chen B., Zhao S., Zhu P., Principe J.C., "Quantized Kernel Least Mean Square Algorithm," IEEE Transactions on Neural Networks and Learning Systems, vol.23, no.1, Jan. 2012, pages 22-32.
- Random Fourier Feature Kernel Least Mean Square (RFF-KLMS) algorithm, as proposed in Abhishek Singh, Narendra Ahuja and Pierre Moulin, "Online learning with kernels: Overcoming the growing sum problem," 2012 IEEE International Workshop on Machine Learning for Signal Processing (MLSP), Sept. 2012.
- Extended Kernel Recursive Least Squares (EX-KRLS), as proposed in W. Liu and I. Park and Y. Wang and J.C. Principe, "Extended kernel recursive least squares algorithm", IEEE Transactions on Signal Processing, volume 57, number 10, pp. 3801-3814, oct. 2009.
- Gaussian-Process based estimation of the parameters of KRLS-T, as proposed in Steven Van Vaerenbergh, Ignacio Santamaria, and Miguel Lazaro-Gredilla, "Estimation of the forgetting factor in kernel recursive least squares," 2012 IEEE International Workshop on Machine Learning for Signal Processing (MLSP), Sept. 2012.
- Kernel Affine Projection (KAP) algorithm with Coherence Criterion, as proposed in C. Richard, J.C.M. Bermudez, P. Honeine, "Online Prediction of Time Series Data With Kernels," IEEE Transactions on Signal Processing, vol.57, no.3, pp.1058,1067, March 2009.
- Kernel Normalized Least-Mean-Square (KNLMS) algorithm with Coherence Criterion, as proposed in C. Richard, J.C.M. Bermudez, P. Honeine, "Online Prediction of Time Series Data With K
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
matlab算法,工具源码,适合毕业设计、课程设计作业,所有源码均经过严格测试,可以直接运行,可以放心下载使用。 Matlab(Matrix Laboratory)是一种专为数值计算和科学与工程应用而设计的高级编程语言和环境。在算法开发和实现方面,Matlab具有以下一些好处: 丰富的数学和科学函数库:Matlab提供了广泛的数学、信号处理、图像处理、优化、统计等领域的函数库,这些函数库可以帮助开发者快速实现各种复杂的数值计算算法。这些函数库提供了许多常用的算法和工具,可以大大简化算法开发的过程。 易于学习和使用:Matlab具有简单易用的语法和直观的编程环境,使得算法开发者可以更快速地实现和测试他们的算法。Matlab的语法与数学表达式和矩阵操作非常相似,这使得算法的表达更加简洁、清晰。 快速原型开发:Matlab提供了一个交互式的开发环境,可以快速进行算法的原型开发和测试。开发者可以实时查看和修改变量、绘制图形、调试代码等,从而加快了算法的迭代和优化过程。这种快速原型开发的特性使得算法开发者可以更快地验证和修改他们的想法。 可视化和绘图功能:Matlab具有强大的可视化和
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计+课设-内核自适应滤波的Matlab基准工具箱.zip (130个子文件)
kaf.bib 16KB
extra.bib 3KB
vanvaerenbergh2006sliding.bib 434B
vanvaerenbergh2012kernel.bib 432B
richard2009online.bib 304B
yukawa2012multikernel.bib 294B
liu2010kernel.bib 209B
kafbox_sq_dist.c 2KB
Copyright 776B
mimotestbed8K.dat 148KB
lorenz.dat 97KB
mg30.dat 44KB
santafe.dat 31KB
kafbox_sample_run.gif 179KB
.gitignore 324B
.gitignore 68B
.gitignore 60B
kafbox_minimize.m 9KB
L2_s.m 7KB
krlst.m 6KB
krlst_split.m 6KB
kafbox_profiler_plotresults.m 6KB
kapsm.m 6KB
qklms_fb.m 5KB
demo_template_prediction.m 5KB
phypass.m 5KB
unit_test.m 5KB
unit_test_profiler.m 4KB
demo_sample_run.m 4KB
mxklms.m 4KB
krlst_profiler.m 4KB
klms_csal1.m 4KB
demo_profiler_prediction_lorenz.m 4KB
mknlms_cs.m 3KB
nlkapa.m 3KB
klms_csl1.m 3KB
krls_profiler.m 3KB
fig3.m 3KB
fbkrls.m 3KB
fbkrls_profiler.m 3KB
swkrls.m 3KB
lkapa.m 3KB
exkrls.m 3KB
kap.m 3KB
kalman.m 3KB
krls.m 3KB
fbklms.m 3KB
swkrls_profiler.m 3KB
kafbox_profiler_simulation.m 3KB
kafbox_gpr.m 3KB
kafbox_data_channel_switch.m 3KB
exkrls_profiler.m 3KB
fig1a.m 3KB
kap_profiler.m 3KB
knlms.m 3KB
fig2.m 3KB
demo_reconverge_all.m 3KB
kafbox_covProd.m 3KB
qklms_profiler.m 2KB
generate_channel_switch.m 2KB
kafbox_profiler_storet.m 2KB
kafbox_profiler_convergence_analysis.m 2KB
kafbox_covSum.m 2KB
demo_sinc_all.m 2KB
fig2.m 2KB
qklms.m 2KB
kafbox_parameter_estimation.m 2KB
norma_profiler.m 2KB
kafbox_sq_dist.m 2KB
norma.m 2KB
demo_prediction_mackey_glass.m 2KB
rffklms.m 2KB
knlms_profiler.m 2KB
fig1.m 2KB
kafbox_template.m 2KB
fig2_12.m 2KB
demo_parameter_estimation_lorenz.m 2KB
problms.m 2KB
klms.m 2KB
klms_profiler.m 2KB
kafbox_covSEiso2.m 2KB
kafbox_profiler.m 2KB
run_all_demos.m 2KB
kernel.m 2KB
rls_profiler.m 2KB
rls.m 2KB
demo_prediction_kstep_split.m 2KB
kafbox_profiler_msecurves.m 2KB
kafbox_covSEiso.m 2KB
nlkapa_profiler.m 2KB
kafbox_template_profiler.m 2KB
demo_parameter_estimation_nonstationary.m 2KB
lkapa_profiler.m 2KB
kafbox_covLambda.m 2KB
demo_template_system_identification.m 2KB
kafbox_data.m 1KB
lms.m 1KB
kflops.m 1KB
nlms.m 1KB
nlms_profiler.m 1KB
共 130 条
- 1
- 2
资源评论
若明天不见
- 粉丝: 1w+
- 资源: 272
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- TG-2024-05-23-204718255.mp4
- 候志强@181 5428 8938_20240420112107.amr
- spispispispispi
- 实验二:IP协议分析.zip
- 驱动代码驱动代码驱动代码驱动代码
- SVID_20240523_141155_1.mp4
- Code for the complete guide to tkinter tutorial
- 关于百货中心供应链管理系统.zip
- SimpleFolderIcon-master 修改Unity的Project下的文件夹图标
- A python Tkinter widget to display tile based maps
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功