高斯核函数matlab实现
时间: 2023-09-05 08:14:01 浏览: 131
基于高斯核函数的SVM支持向量机分类matlab仿真+仿真录像
5星 · 资源好评率100%
高斯核函数在MATLAB中可以通过以下代码实现:
```matlab
function K = gaussian_kernel(X1, X2, sigma)
% X1: m1 x n matrix (m1 examples, n features)
% X2: m2 x n matrix (m2 examples, n features)
% sigma: scalar value
% Calculate pairwise squared Euclidean distances between examples
dist = bsxfun(@plus, dot(X1,X1,2), dot(X2,X2,2)') - 2*(X1*X2');
% Calculate kernel matrix
K = exp(-dist/(2*sigma^2));
end
```
代码中,`X1`和`X2`分别表示两个数据集,`sigma`表示高斯核函数中的标准差。首先,使用`bsxfun`函数计算`X1`中每个样本与`X2`中每个样本之间的欧几里得距离的平方,并保存在`dist`中。然后,将距离矩阵`dist`作为输入,计算高斯核函数,并将结果保存在`K`中。最后,返回`K`作为函数的输出。
阅读全文