首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >支持向量机参数matlab

支持向量机参数matlab
EN

Stack Overflow用户
提问于 2017-04-23 03:33:18
回答 1查看 1.3K关注 0票数 0

我正在研究我的人工智能问题,我正在按照这个例子中的说明:

Matlab深度学习实例

在那里,他们使用支持向量机来分类:

代码语言:javascript
复制
classifier = fitcecoc(trainingFeatures, trainingLabels, ...
    'Learners', 'Linear', 'Coding', 'onevsall', 'ObservationsIn', 'columns');

我用我自己的数据集尝试了这个例子,它有一个89.5%的高超能力--它工作得很好,但是现在我想用我自己的支持向量机来尝试我自己的设置,而不是默认的设置。

我在文档中看到,fitcecoc默认使用带有线性核的支持向量机,现在我想尝试不同的核,例如高斯和多项式。

在课程机器学习过程中,我知道支持向量机有一个参数( Andrew称它为C),并且每个内核都有它自己的参数。此外,我还在Mathworks URL中找到了有关内核参数的信息:

内核参数..。

根据这个链接..。

  • 高斯核有其参数SIGMA
  • 多项式核有其参数P,它是多项式函数的阶数。

所以我写下了这段代码:

代码语言:javascript
复制
Oursvm = templateSVM('KernelFunction','polynomial');
classifier = fitcecoc(trainingFeatures, trainingLabels,'Learners',...
    Oursvm,'Coding', 'onevsall', 'ObservationsIn', 'columns');

现在,我想更改P参数,在模板SVM加倍中,我发现我可以这样设置它:

代码语言:javascript
复制
Oursvm = templateSVM('KernelFunction','polynomial','PolynomialOrder',9);

模板支持向量机

默认值为3,但无论我在PolynomialOrder中使用哪个数字,精度都是,对于p=1或p=2或偶数p=9,总是相同的3.2258

是不是很奇怪?

  • 我错过了什么?
  • 另外,如何为高斯核设置SIGMA参数?因为使用默认配置进行培训的能力很低,而且在SVM模板文档中,他们没有明确指定如何设置这个参数。
  • 如何设置支持向量机的C参数?
  • 最后,我读到你至少需要10次训练样本,而不是输入数据的维度,如果输入数据的维数是4096,那么为什么深度学习示例只使用201个样本(每个类67个,三个类总计)?
EN

回答 1

Stack Overflow用户

发布于 2017-04-23 09:29:02

Andrew在week7 kernels2视频中描述了你的问题:

大C-给出较低的偏差,高的方差(容易过度拟合)

小C-给出更高的偏差,低的方差(容易不合适)

高斯核的σ是相反的:

大西格玛-给出更高的偏差,低的方差(容易不合适)

小西格玛-给出较低的偏差,高方差(容易过度拟合)

所以你可以试着及时调优一个参数。至于安德鲁,我看不出有什么理由使用多项式核。通常是线性和高斯的,这取决于数字、例子和特征。总帐

对于最后一个问题,如果训练示例数量较少,并且有如此多的特性,您应该尝试使用线性内核。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43567084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档