⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kernel.m

📁 核方法&svm是模式识别是很重要的方法
💻 M
字号:
function mat_kernel=Kernel(mat_train,mat_test,kernelType,kPara)
% input parameters:
% mat_train---the train data, a row represents a sample
% mat_test---- the test data, a row represents a sample
% kernelType-- the kernel type
% kPara------- the kernel parameter(s)
% output parameter:
% mat_kernel-- the kernel matrix

% Written by WangZhe on 2004-09-27. 

switch lower(kernelType)
    case 'linear'
        mat_kernel=mat_train*mat_test';
    case 'poly'
        mat_kernel=(mat_train*mat_test'+1).^kPara;
    case 'rbf'
        TrainSampleNum=size(mat_train,1);
        TestSampleNum=size(mat_test,1);
        mat_temp=sum(mat_train.^2,2)*ones(1,TestSampleNum)...
                +ones(TrainSampleNum,1)*sum(mat_test.^2,2)'...
                -2*mat_train*mat_test';
        mat_kernel=exp(-mat_temp/(kPara^2));
    case 'sigmoid'
        mat_kernel=tan(kPara(1)*mat_train*mat_test'/256-kPara(2));        
    case 'exp'
        mat_kernel=(1+exp(kPara*mat_train*mat_test')).^(-1);
    otherwise 
        mat_kernel=mat_train*mat_test';
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -