前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >独家 | 25道SVM题目,测一测你的基础如何?(附资源)

独家 | 25道SVM题目,测一测你的基础如何?(附资源)

作者头像
数据派THU
发布2018-07-30 10:22:20
3.2K0
发布2018-07-30 10:22:20
举报
文章被收录于专栏:数据派THU

翻译:张逸

校对:韩海畴

本文共3163字,建议阅读8分钟。

本测试共25道题,帮助你检验对SVM原理和应用的掌握程度。

介绍

在某种意义上,你可以把机器学习算法看作有很多刀剑的军械库。里边有各种各样的工具,你要做的,就是得学会在对的时间使用对的工具。举个例子,如果把“回归”看作是一把剑,它可以轻松地将一部分数据大卸八块,但面对高度复杂的数据时却无能为力。相反,支持向量机就像一把锋利的小刀--它适用于规模更小的数据集,这并不代表这把刀威力不够,相反的,它在构建模型时表现的非常强大。

这个测试就是帮助你检验对SVM原理和应用的掌握程度。已经有超过550个人参加了这个测试。如果你当时错过了也没关系,我们在这篇帖子中整理了所有的问题和答案。

相关资源

这里有一些更深入的资源: Essentials of Machine Learning Algorithms (with Python and R Codes) Understanding Support Vector Machine algorithm from examples (along with code)

测试开始!

阅读下面的文字,回答1-2题:

假设有一个线性SVM分类器用来处理二分类问题,下图显示给定的数据集,其中被红色圈出来的代表支持向量。

1. 若移动其中任意一个红色圈出的点,决策边界是否会变化?

  1. 不会

答案:A 这三个支持向量确定决策边界的位置,如果它们中的任意一个被改变,决策边界一定会变化。

2. 若移动其中任意一个没有被圈出的点,决策边界会发生变化?

  1. 正确
  2. 错误

答案:B 支持向量以外的点并不会影响决策边界。

3. SVM中的泛化误差代表什么?

  1. 分类超平面与支持向量的距离
  2. SVM对新数据的预测准确度
  3. SVM中的误差阈值

答案:B 泛化误差在统计学上的意义是“样本外误差”。这是一种模型在未知的新数据上预测准确性的度量。

4. 若参数C(cost parameter)被设为无穷,下面哪种说法是正确的?

  1. 只要最佳分类超平面存在,它就能将所有数据全部正确分类
  2. 软间隔SVM分类器将正确分类数据
  3. 二者都不对

答案:A 在如此高的误分类惩罚下,不会存在软间隔分类超平面,因为一点错误都不可能发生。

5. 怎样理解“硬间隔”?

  1. SVM只允许极小误差
  2. SVM允许分类时出现一定范围的误差
  3. 二者都不对

答案:A 硬间隔表明SVM对分类正确性的要求非常严格,所以模型会尽力在训练集上表现的更好,这通常会造成过拟合。

6. SVM算法的最小时间复杂度是O(n²),基于此,以下哪种规格的数据集并不适该算法?

  1. 大数据集
  2. 小数据集
  3. 中等数据集
  4. 不受数据集大小影响

答案:A 除了规模要小,具有明显分类边界的数据集也更适合SVM算法。

7. SVM算法的性能取决于:

  1. 核函数的选择
  2. 核函数的参数
  3. 软间隔参数C
  4. 以上所有

答案:D 上述三点都会影响到算法的表现,应尽量选择最佳的参数,以最大限度提高效率、减少误差以及避免过拟合。

8. 支持向量是最靠近决策表面的数据点

  1. 正确
  2. 错误

答案:A 支持向量是最接近超平面的点,这些点也最难分类,他们会直接影响决策边界的位置。

9. 以下哪种情况会导致SVM算法性能下降?

  1. 数据线性可分
  2. 数据干净、格式整齐
  3. 数据有噪声,有重复值

答案:C 当数据集有大量噪声和重叠点时,要想得到一个清晰的分类超平面非常困难。

10. 假设你选取了高Gamma值的径向基核(RBF),这表示:

  1. 建模时,模型会考虑到离超平面更远的点
  2. 建模时,模型只考虑离超平面近的点
  3. 模型不会被数据点与超平面的距离影响

答案:B Gamma参数会调整远离超平面的数据点对模型的影响。 Gamma值较低,模型受到很多约束,会包含训练集中所有数据点,并不会捕捉到真正的模式。 Gamma值较高,模型对数据集形状的勾勒更加有效。

11. SVM中的代价参数C表示什么?

  1. 交叉验证的次数
  2. 用到的核函数
  3. 在分类准确性和模型复杂度之间的权衡
  4. 以上都不对

答案:C 代价参数的大小决定了SVM能允许的误分类程度。 C的值小:优化的目标是得到一个尽可能光滑的决策平面。 C的值大:模型只允许出现很小数量的误分类点。 它可以简单的看做是对误分类的惩罚。

阅读下面的文字,回答12-13题:

假定有一个数据集S,但该数据集有很多误差(这意味着不能太过依赖任何特定的数据点)。若要建立一个SVM模型,它的核函数是二次多项式核,同时,该函数使用变量C(cost parameter)作为一个参数。

12. 若C趋于无穷,以下哪种说法正确?

  1. 数据仍可正确分类
  2. 数据无法正确分类
  3. 不确定
  4. 以上都不对

答案:A 若变量C的值很大,说明误分类的惩罚项非常大,优化的目标应该是让分类超平面尽量将所有的数据点都正确分类。

13. 若C的值很小,以下哪种说法正确?

  1. 会发生误分类现象
  2. 数据将被正确分类
  3. 不确定
  4. 以上都不对

答案:A 因为误分类的惩罚项非常小,模型得出的分类面会尽可能将大多数数据点正确分类,但有部分点会出现误分类现象。

14. 若训练时使用了数据集的全部特征,模型在训练集上的准确率为100%,验证集上准确率为70%。出现的问题是?

  1. 欠拟合
  2. 过拟合
  3. 模型很完美

答案:B 在训练集上准确率高,但在测试集上表现差是典型的过拟合现象。

15. 下面哪个是SVM在实际生活中的应用?

  1. 文本分类
  2. 图片分类
  3. 新闻聚类
  4. 以上都对

答案:D SVM在实际生活中的应用领域非常广泛,从分类、聚类到手写字体识别都有涉及。

阅读下面这段文字,回答16-18题

假定你现在训练了一个线性SVM并推断出这个模型出现了欠拟合现象。

16. 在下一次训练时,应该采取下列什么措施?

  1. 增加数据点
  2. 减少数据点
  3. 增加特征
  4. 减少特征

答案:C 最好的选择就是生成更多的特征。

17. 假定你上一道题回答正确,那么根本上发生的是:

1 偏差(bias)降低

2 方差(variance)降低

3 偏差增加

4 方差增加

  1. 1和2
  2. 2和3
  3. 1和4
  4. 2和4

答案:C 如果要使得模型性能更好,就要在偏差和方差之间做出权衡。 【补充】 泛化误差 = 偏差+方差+误差 误差:由数据本身或模型本身的问题引起,是期望泛化误差的下界。 偏差:描述预测值的期望和真实值之间的差距,度量模型本身拟合能力。 方差:描述预测值的变化范围,离散程度。度量了同样大小的训练集的变动导致的学习性能的变化。度量模型对学习样本的依赖性。 一般模型越复杂,学习能力越强,误差会越小但方差越大。反之模型越简单,对数据的拟合能力越弱,误差大同时方差小。

18. 还是上面的问题,如果不在特征上做文章,而是改变一个模型的参数,使得模型效果改善,以下哪种方法是正确的?

  1. 增加代价参数C
  2. 减小代价参数C
  3. 改变C的值没有作用
  4. 以上都不对

答案:A 增加参数C的值会确保得到正则化的模型。

19. 在应用高斯核SVM之前,通常都会对数据做正态化(normalization),下面对特征正态化的说法哪个是正确的?

1 对特征做正态化处理后,新的特征将主导输出结果

2 正态化不适用于类别特征

3 对于高斯核SVM,正态化总是有用

  1. 1
  2. 1和2
  3. 1和3
  4. 2和3

答案:B

阅读下面这段文字,回答20-22题:

假定现在有一个四分类问题,你要用One-vs-all策略训练一个SVM的模型。请看下面的问题:

20. 由题设可知,你需要训练几个SVM模型?

  1. 1
  2. 2
  3. 3
  4. 4

答案:D 多分类问题中,One-vs-all策略要求为每一个类建立唯一的分类器,属于此类的所有样例均为正例,其余全部为负例。

21. 假定数据集中每一类的分布相同,且训练一次SVM模型需要10秒,若完成上面的任务,共花费多少秒?

  1. 20
  2. 40
  3. 60
  4. 80

答案:B 花费时间为10*4=40秒。

22. 现在问题变了,如果目前只需要将数据集分为2类,需要训练多少次?

  1. 1
  2. 2
  3. 3
  4. 4

答案:A 该情况下训练SVM一次就能获得满意的结果。

阅读下面的文字,回答23-24题:

假定你使用阶数为2的线性核SVM,将模型应用到实际数据集上后,其训练准确率和测试准确率均为100%。

23. 假定现在增加模型复杂度(增加核函数的阶),会发生以下哪种情况?

  1. 过拟合
  2. 欠拟合
  3. 什么都不会发生,因为模型准确率已经到达极限
  4. 以上都不对

答案:A 增加模型的复杂度会导致过拟合现象,这与模型当前的状态无关。

24. 在增加了模型复杂度之后,你发现训练准确率仍是100%,原因可能是?、

1 数据是固定的,但我们在不断拟合更多的多项式或参数,这会导致算法开始记忆数据中的所有内容

2 由于数据是固定的,SVM不需要在很大的假设空间中搜索

  1. 1
  2. 2
  3. 1和2
  4. 二者都不对

答案:C

25. 下面关于SVM中核函数的说法正确的是?

1 核函数将低维空间中的数据映射到高维空间

2 它是一个相似度函数

  1. 1
  2. 2
  3. 1和2
  4. 以上都不对

答案:C

来看看大家答题情况的统计结果吧

结语

如果对帖子的内容有什么问题,可以在下面的评论区跟我交流。

原文标题:

25 Questions to test a Data Scientist on Support Vector Machines

原文链接:

https://www.analyticsvidhya.com/blog/2017/10/svm-skilltest/

译者简介

张逸,中国传媒大学大三在读,主修数字媒体技术。对数据科学充满好奇,感慨于它创造出来的新世界。目前正在摸索和学习中,希望自己勇敢又热烈,学最有意思的知识,交最志同道合的朋友。

转载须知

如需转载,请在开篇显著位置注明作者和出处(转自:数据派ID:datapi),并在文章结尾放置数据派醒目二维码。有原创标识文章,请发送【文章名称-待授权公众号名称及ID】至联系邮箱,申请白名单授权并按要求编辑。

发布后请将链接反馈至联系邮箱(见下方)。未经许可的转载以及改编者,我们将依法追究其法律责任。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-06-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据派THU 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档