1、核模型(Kernel function)
在线性模型中,多项式或三角函数等基函数与训练样本{(xi,yi)}毫不相关的。下面我们介绍一种模型,在基函数设计的时候会使用到输入样本{xi}。
note:是在基函数设计的时候使用到样本,那么训练的是什么?下面看公式。
核模型,是以使用被称为 核模型的 二元函数 K(.,.), 的线性结合方式加以定义的。 上面的theta就是我们要学习的对象 ,注意 theta为一个向量,可以表述为下面的形式。
可以把公式中的xi看做标记点(landmark),并将样本x和标记点之间相似特征;这里面可以看成一种广义的距离(相似程度),这种距离度量的方式就称之为核函数。
最常见的核函数是高斯核函数: 上面的 xi(有的书中写作c)就是核函数的 标记点,也可称之为均值; h称为带宽;一般的带宽选择有技巧,带宽小怎么样?带宽小,拟合的比较紧凑。具体Google。 xi称之为均值,说是均值但是选取的时候怎么选,还是从训练样本中选取。 下面给出核函数是如何衡量距离的? 在高斯核模型中,对各个输入的样本{xi}进行高斯核的学习,并把其参数 theta进行学习。
2、KDE(核密度估计)
二、MATLAB代码
%KDE,目标检测 clc close all N=20;%训练集数目 h=40; %带宽 thr=0.000002;%阈值 train_set=cell(1,N); par=double(15/(8*pi*N*h^3));%核函数系数 %读取并存储训练集 for i=1:N train_set{i}=double(imread(strcat(frame_,num2str(i),.jpg))); end test=double(imread(frame_0777.jpg)); [m,n,d]=size(test);%图像规格 KDE=zeros(m,n); %存储KDE值 %利用EP核函数计算概率 tic for i=1:N %N张图片,计算每张图片KDE mul=1; for j=1:d %d通道计算 current_frame=train_set{i}; temp=((current_frame(:,:,j)-test(:,:,j))./h).^2;%EP核函数 temp=max(1-temp,0); %EP核函数 %temp=exp(-(current_frame(:,:,j)-test(:,:,j)).^2/2/h^2);%高斯核函数 mul=mul.*temp; End KDE=KDE+mul;%累加一张图片KDE End KDE=KDE*par;%得到KDE toc %绘制三维KDE图 mesh(KDE) colorbar title(道路 KDE 估计图); xlabel(X轴); ylabel(Y轴); zlabel(Z轴); %目标检测 motion=(KDE<thr); %阈值比较 result=mat2gray(motion); %转换为灰度图像 figure;imshow(result); title(道路目标检测结果图)
二、运行结果 下列运行结果采用基于EP核函数的KDE;(1)中为所提供的训练集,共20帧,带宽h选择为40;(2)中为自己在互联网上找的连续帧,训练集为15帧,带宽h为40。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/291365.html