【语音识别】基于支持向量机SVM实现脑电信号分期睡眠监测matlab 源码
一、简介
支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。
1 数学部分
1.1 二维空间
2 算法部分
二、源代码
function [model,H] = lssvmMATLAB(model)
% Only for intern LS-SVMlab use;
%
% MATLAB implementation of the LS-SVM algorithm. This is slower
% than the C-mex implementation, but it is more reliable and flexible;
%
%
% This implementation is quite straightforward, based on MATLAB's
% backslash matrix division (or PCG if available) and total kernel
% matrix construction. It has some extensions towards advanced
% techniques, especially applicable on small datasets (weighed
% LS-SVM, gamma-per-datapoint)
% Copyright (c) 2002, KULeuven-ESAT-SCD, License & help @ http://www.esat.kuleuven.ac.be/sista/lssvmlab
%fprintf('~');
%
% is it weighted LS-SVM ?
%
weighted = (length(model.gam)>model.y_dim);
if and(weighted,length(model.gam)~=model.nb_data),warning('not enough gamma''s for Weighted LS-SVMs, simple LS-SVM applied');weighted=0;
end
% computation omega and H
omega = kernel_matrix(model.xtrain(model.selector, 1:model.x_dim), ...model.kernel_type, model.kernel_pars);
% initiate alpha and b
model.b = zeros(1,model.y_dim);
model.alpha = zeros(model.nb_data,model.y_dim);
for i=1:model.y_dim,H = omega;model.selector=~isnan(model.ytrain(:,i));nb_data=sum(model.selector);if size(model.gam,2)==model.nb_data, try invgam = model.gam(i,:).^-1; catch, invgam = model.gam(1,:).^-1;endfor t=1:model.nb_data, H(t,t) = H(t,t)+invgam(t); endelsetry invgam = model.gam(i,1).^-1; catch, invgam = model.gam(1,1).^-1;endfor t=1:model.nb_data, H(t,t) = H(t,t)+invgam; endend v = H(model.selector,model.selector)\model.ytrain(model.selector,i);%eval('v = pcg(H,model.ytrain(model.selector,i), 100*eps,model.nb_data);','v = H\model.ytrain(model.selector, i);');nu = H(model.selector,model.selector)\ones(nb_data,1);%eval('nu = pcg(H,ones(model.nb_data,i), 100*eps,model.nb_data);','nu = H\ones(model.nb_data,i);');s = ones(1,nb_data)*nu(:,1);model.b(i) = (nu(:,1)'*model.ytrain(model.selector,i))./s;model.alpha(model.selector,i) = v(:,1)-(nu(:,1)*model.b(i));
end
% Copyright (c) 2010, KULeuven-ESAT-SCD, License & help @ http://www.esat.kuleuven.be/sista/lssvmlabdisp(' This demo illustrates facilities of LS-SVMlab');
disp(' with respect to unsupervised learning.');disp(' a demo dataset is generated...');
clear yin yang samplesyin samplesyang mema
% initiate variables and construct the data
nb =200;
sig = .20;% construct data
leng = 1;
for t=1:nb, yin(t,:) = [2.*sin(t/nb*pi*leng) 2.*cos(.61*t/nb*pi*leng) (t/nb*sig)]; yang(t,:) = [-2.*sin(t/nb*pi*leng) .45-2.*cos(.61*t/nb*pi*leng) (t/nb*sig)]; samplesyin(t,:) = [yin(t,1)+yin(t,3).*randn yin(t,2)+yin(t,3).*randn];samplesyang(t,:) = [yang(t,1)+yang(t,3).*randn yang(t,2)+yang(t,3).*randn];
end% plot the data
figure; hold on;
plot(samplesyin(:,1),samplesyin(:,2),'+','Color',[0.6 0.6 0.6]);
plot(samplesyang(:,1),samplesyang(:,2),'+','Color',[0.6 0.6 0.6]);
xlabel('X_1');
ylabel('X_2');
title('Structured dataset');
disp(' (press any key)');
pause%
% kernel based Principal Component Analysis
%
disp(' ');
disp(' extract the principal eigenvectors in feature space');
disp(' >> nb_pcs=4;'); nb_pcs = 4;
disp(' >> sig2 = .8;'); sig2 = .8;
disp(' >> [lam,U] = kpca([samplesyin;samplesyang],''RBF_kernel'',sig2,[],''eigs'',nb_pcs); ');
[lam,U] = kpca([samplesyin;samplesyang],'RBF_kernel',sig2,[],'eigs',nb_pcs);
disp(' (press any key)');
pause%
% make a grid over the inputspace
%
disp(' ');
disp(' make a grid over the inputspace:');
disp('>> Xax = -3:0.1:3; Yax = -2.0:0.1:2.5;'); Xax = -3:0.1:3; Yax = -2.0:0.1:2.5;
disp('>> [A,B] = meshgrid(Xax,Yax);'); [A,B] = meshgrid(Xax,Yax);
disp('>> grid = [reshape(A,prod(size(A)),1) reshape(B,1,prod(size(B)))'']; ');
三、运行结果
【语音识别】基于支持向量机SVM实现脑电信号分期睡眠监测matlab 源码相关推荐
- 【优化求解】基于粒子群算法求解多目标优化问题matlab源码
[优化求解]基于粒子群算法求解多目标优化问题matlab源码 1 算法介绍 1.1 关于速度和位置 粒子群算法通过设计一种无质量的粒子来模拟鸟群中的鸟,粒子仅具有两个属性:速度和位置,速度代表移动的快 ...
- matlab resampc函数,基于contourlet变换的红外与可见光图像融合matlab源码
基于contourlet变换的红外与可见光图像融合matlab源码 matlab 2020-12-1 下载地址 https://www.codedown123.com/53619.html 基于con ...
- 信号检测:基于双稳随机共振的微弱信号检测含Matlab源码
信号检测:基于双稳随机共振的微弱信号检测含Matlab源码 双稳随机共振是一种有效的微弱信号检测方法,广泛应用于各个领域.本文将介绍如何使用Matlab实现基于双稳随机共振的微弱信号检测,并提供相应的 ...
- 【交通标志识别】基于matlab Hog+SVM路标检测与识别【含Matlab源码 1715期】
一.SVM路标检测识别简介 1 路标识别 完整的路标识别系统包括:图像的获取与预处理,图像分割(路标定位),特征提取,模式分类(路标识别)等部分.其中模式分类是系统的关键技术.较常用的模式分类方法是神 ...
- 【语音识别】基于mfcc特征模板匹配算法实现声纹识别matlab源码含GUI
在任意一个Automatic speech recognition 系统中,第一步就是提取特征.换句话说,我们需要把音频信号中具有辨识性的成分提取出来,然后把其他的乱七八糟的信息扔掉,例如背景噪声啊, ...
- 【交通标志识别】Hog+SVM路标检测与识别【含Matlab源码 1715期】
⛄一.SVM路标检测识别简介 1 路标识别 完整的路标识别系统包括:图像的获取与预处理,图像分割(路标定位),特征提取,模式分类(路标识别)等部分.其中模式分类是系统的关键技术.较常用的模式分类方法是 ...
- 【滤波器】基于低通滤波器语音信号加噪与去噪含Matlab源码
1 简介 1.1 课题的背景与意义 通过语音传递信息是人类最重要.最有效.最常用和最方便的交换信息的形式.让计算机能听懂人类的语言,是人类自计算机诞生以来梦寐以求的想法,用现代手段研究语音信号,使人们 ...
- 【指纹识别】基于模板匹配算法指纹识别匹配门禁系统matlab源码
一.简介 1 指纹识别的引入和原理 1.1 指纹的基本知识 指纹,由于其具有终身不变性.唯一性和方便性,已几乎成为生物特征识别的代名词.指纹是指人的手指末端正面皮肤上凸凹不平产生的纹线.纹线有规律的排 ...
- 【元胞自动机】基于元胞自动机模拟双通道人群疏散含Matlab源码
1 简介 为了消除礼堂的安全隐患,制定行之有效的应急预案,有必要对礼堂人群疏散运动进行研究,掌握礼堂人群疏散的一般特点和规律.采用基于二维元胞自动机模型对某高校礼堂发生人群疏散运动进行仿真,找出影响礼 ...
- 【路径规划-TSP问题】基于蚁群算法求解实际地图旅行商问题含Matlab源码
1 内容介绍 旅行商问题的传统求解方法是遗 传算法,此算法收敛速度慢,并不能获得问题的最优解.为了求取旅行商问题的最优解,本文在阐述蚁群算法的基本原理,模型以及在旅行商问题中的实现过程的基 础上,提出 ...
最新文章
- 怎么用python统计字数_使用Python 统计高频字数的方法
- vb6 打印选项对话框_办公必备技能,Word打印问题及解决方案全在这,轻松解决打印难题...
- 为什么越来越多的程序员开始学机器学习的原因
- Web App 和 Native App,哪个是趋势?
- 报告 | 斯坦福2019 AI年度报告出炉!700亿美元投入AI,自动驾驶融资最多
- 微软谷歌出资500万美元推出 Alpha-Omega 项目,提升软件供应链安全
- linux 创建目录和删除目录
- MySQL 的DDL DML DQL DCL细节解析 知道这些就够了
- 基于级联双向胶囊网络的鲁棒三元组知识抽取
- Python I/O及FIle方法
- win10计算机本地无法连接,Win10没有本地连接怎么办?
- webstorm 初体验 - 主题色和编辑器配色 - 参考vscode
- 天珣系统查找计算机登陆,天珣内网安全风险管理与审计系统
- Bootstrap Validate 下拉框验证
- Flash音乐暂停播放按钮
- python打印九九乘法表上三角_用Python打印九九乘法表正三角和倒三角。
- 字符串查找函数和错误信息报告函数
- 12. 查询表product——查询库存商品中,最高单价、最低单价分别是多少
- 中国鹊桥,国际交友网
- BI神器Power Query(10)-- PQ从文件夹导入数据