25道題檢測你對支持向量機算法的掌握程度

介紹

在我們學習機器算法的時候,可以將機器學習算法視爲包含刀槍劍戟斧鉞鉤叉的一個軍械庫。你可以使用各種各樣的兵器,但你要明白這些兵器是需要在合適的時間合理的地點使用它們。作爲類比,你可以將“迴歸算法”想象成能夠有效切割數據的劍,但無法處理高度複雜的數據。相反的是,“支持向量機(SVM)”就像一把鋒利的刀,它比較適用於較小的數據集,但在較小的數據集上面,它可以構建更加強大的模型。

相信在你學習機器學習算法解決分類問題的時候,肯定聽說過支持向量機(SVM),在過去的五十年中SVM在隨着時間進行演化,並且在分類之外也得到了應用,比如迴歸、離散值分析、排序。我相信你在不同的途徑中肯定也接觸過支持向量機,是不是覺得已經對這個東西有些頭痛,認爲很多人都會,但是自己好像怎麼都不能明白過來它的原理,或者說你已經對自己有關支持向量機的知識已經很有自信了,那麼現在你來對地方了,這份技能測試就是專門測試你對於支持向量機的掌握程度已經是否可以應用。這份測試已經有超過550多人蔘加了,最後我會放出這些人的分數的分佈情況,從而方便你對比一下自己的支持向量機的水平程度。

技能測試問題(每題1分)

問題背景:1-2

假設你使用的是一個線性SVM分類器,是用來解決存在的2分類問題。現在你已經獲得了以下數據,其中一些點用紅色圈起來表示支持向量。

1)如果從數據中刪除以下任何一個紅點。決策邊界會改變嗎?

A)YES B)NO

2)[是或否]如果從數據中刪除非紅色圓圈點,決策邊界會發生變化嗎?

A)真 B)假

3)有關於支持向量機的泛化誤差是什麼意思?

A)超平面與支持向量的距離 B)支持向量機對未知數據的預測精度如何 C)支持向量機中的閾值誤差量

4)當C參數設置爲無窮大時,以下哪項成立?

A)如果存在最優的超平面,那麼則會是完全可以分類數據 B)軟邊際分類器將分離數據

C)以上都不是

5)硬邊緣是什麼意思?

A)SVM允許分類中的誤差很小 B)SVM允許分類中的誤差很大 C)以上都不是

6)訓練支持向量機的最小時間複雜度是O(n2)。根據這一事實,什麼尺寸的數據集不是最適合SVM的?

A)大型數據集 B)小型數據集 C)中型數據集 D)大小無關緊要

7)支持向量機的有效性取決於:

A)內核的選擇 B)內核的參數 C)軟邊距的參數C D)以上所有

8)支持向量是最接近決策邊界的數據點。

A)是 B)否

9)支持向量機在以下什麼情況中的效果最差:

A)數據是線性可分的 B)數據乾淨並且可以使用 C)數據有噪音且包含重疊點

10)假設在支持向量機中使用高Gamma值並且使用RBF內核。這意味着什麼?

A)模型考慮甚至遠離超平面的點進行建模 B)模型只考慮超平面附近的點進行建模 C)模型不會受到點距離超平面的影響並進行建模 D)沒有以上

11)支持向量機中的代價參數表示:

A)要進行的交叉驗證的數量 B)要使用的內核 C)模型的分類錯誤和簡單性之間的權衡 D)以上都不是

12)

假設你正在基於數據X進行構建支持向量機模型。數據X可能容易出錯,這意味着你不應該過多地信任任何特定的數據點。假如現在你想建立一個支持向量機模型,它的二次核函數爲2次多項式,它使用鬆弛變量C作爲它的超參數之一。基於此,請給出以下問題的答案。

當你使用非常大的C值(C->無窮大)時會發生什麼?

注意:對於小C,也可以正確地對所有數據點進行分類

A)對於給定的超參數C,我們仍然可以正確的對數據進行分類 B)對於給定的超參數C,我們不能對數據進行正確的分類 C)不好說 D)以上都不是

13)當使用非常小的C值(C~0)會發生什麼?

A)將會發生分類錯誤 B)數據將被正確的分類 C)不好說 D)以上都不是

14)如果我正在使用我的數據集的所有特徵,並且我在訓練集上達到100%的準確率,但在驗證集上卻只達到約70%,我應該注意什麼?

A)欠擬合 B)沒什麼注意的,模型是非常完美的 C)過度擬合

15)以下哪項是支持向量機在現實世界中的實際應用?

A)文本和超文本分類 B)圖像分類 C)新聞文章的聚類 D)以上所有

問題背景:16 - 18

假設你在訓練支持向量機後訓練了一個具有線性決策邊界的支持向量機,你正確的發現了你的支持向量機的模型還不合適。

16)下面選項中哪一個是你更能考慮進行迭代支持向量機的?

A)增加你的數據點 B)減少你的數據點 C)嘗試計算更多的變量 D)嘗試減少變量

17)假設你在前一個問題中給出了正確的答案。你認爲實際上會發生什麼?

1.我們正在降低偏差 2.我們正在降低方差 3.我們正在增加偏差 4.我們正在增加方差

A)1和2 B)2和3 C)1和4 D)2和4

18)在上面的問題中,假設你想要更改其中一個(支持向量機)超參數,以便效果與之前的問題相同,也就是模型不適合?

A)我們將增加參數C B)我們將減小參數C C)C中的變化不起作用 D)這些都不是

19)在支持向量機中使用高斯核函數之前,我們通常使用特徵歸一化。那麼什麼是真正的特徵歸一化?

  1. 我們進行特徵歸一化時,以便新特徵占主導地位
  2. 有時,對於分類變量,特徵歸一化是不可行的
  3. 當我們在支持向量機中使用高斯核函數時,特徵歸一化總是有幫助的

A)1 B)1和2 C)1和3 D)2和3

問題背景:20-22

假設你正在處理4分類問題,並且你希望在數據上訓練支持向量機模型,因爲你正在使用One-vs-all方法。現在回答以下問題

20)在這種情況下我們需要訓練支持向量機模型多少次

A)1 B)2 C)3 D)4

21)假設你的數據中具有相同的類分佈。現在,比如說在一對一訓練中進行1次訓練,支持向量機模型需要10秒鐘。那麼端到端訓練一對一的方法需要多少秒?

A)20 B)40 C)60 D)80

22)假設你的問題現在已經發生了改變。現在,數據只有2個類。在這種情況下,你認爲我們需要訓練支持向量機多少次?

A)1 B)2 C)3 D)4

問題背景:23 - 24

假設你使用的支持向量機的線性核函數爲2次多項式,現在認爲你已將其應用於數據上並發現它完全符合數據,這意味着,訓練和測試精度爲100%。

23)現在,假設你增加了這個內核的複雜度(或者說多項式的階數)。你認爲會發生什麼?

A)增加複雜性將使數據過度擬合 B)增加複雜性將使數據不適應模型 C)由於你的模型已經100%準確,因此不會發生任何事情 D)以上都不是

24)在上一個問題中,在增加複雜性之後,你發現訓練精度仍然是100%。你認爲這背後的原因是什麼?

  1. 由於數據是固定的,我們擬合更多的多項式項或參數,因此算法開始記憶數據中的所有內容
  2. 由於數據是固定的,SVM不需要在大的假設空間中進行搜索

A)1 B)2 C)1和2 D)這些都不是

25)支持向量機中的kernel是什麼?

  1. kernel是將低維數據映射到高維空間
  2. 這是一個相似函數

A)1 B)2 C)1和2 D)這些都不是

答案與講解

1)正確答案:A

這三個例子的位置使得刪除它們中的任何一個都會在約束中引入鬆弛效果。因此決策邊界將完全改變。

2)正確答案:B

從數據另一方面來說,數據中的其餘點不會對決策邊界產生太大影響。

3)正確答案:B

統計中的泛化誤差通常是樣本外誤差,它是用來衡量模型預測先見未知的數據值的準確性。

4)正確答案:A

在如此高水平的誤差分類懲罰水平上,軟邊際將不會存在,因爲沒有錯誤的餘地。

5)正確答案:A

硬邊界意味着SVM在分類方面非常嚴格,並且試圖在訓練集中完美的完成分類,從而導致過度擬合。

6)正確答案:A

分類邊界清晰的數據集與支持向量機的分類效果最好

7)正確答案:D

支持向量機的有效性取決於你如何選擇上面提到的三個基本需求,從而最大化你的效率,減少誤差和過度擬合。

8)正確答案:A

它們是最接近超平面的點,也是最難分類的點。它們還對決策邊界的位置有直接影響。

9)正確答案:C

當數據具有噪聲和重疊點時,如何在不分類的情況下畫出清晰的超平面是一個很大的問題。

10)正確答案:B

SVM調整中的gamma參數表示超平面附近的或遠離超平面的點的影響

對於較低的gamma值,模型將被過於約束幷包括訓練數據集中的所有的點,而不會真正的捕獲形狀。

對於更高的gamma值,模型將很好地捕獲數據集的形狀。

11)正確答案:C

代價參數決定了支持向量機被允許在多大程度上“彎曲”數據。對於低的代價參數,你的目標是一個光滑平穩的超平面,對於更高的代價,你的目標是正確地分類更多的點。它也簡稱爲分類錯誤的代價。

12)正確答案:A

對於較大的C值,錯誤分類的點的代價非常高,因此決策邊界將儘可能完美地分離數據。

13)正確答案:A

該分類器可以最大化的提高大多數點之間的邊距,同時會對少數點進行錯誤的分類,因爲代價是非常低的。

14)正確答案:C

如果我們非常容易就達到了100%的訓練準確度,那麼我們就需要檢查來確認我們是否過度擬合了數據。

15)正確答案:D

支持向量機是高度通用的模型,可用於幾乎所有現實世界的問題,從迴歸到聚類和手寫識別。

16)正確答案:C

這裏最好的選擇是爲模型創建嘗試更多的變量。

17)正確答案:C

更好的模型將降低偏差並增加方差

18)正確答案:A

增加C參數在這裏是正確的,因爲它將確保模型的規範化

19)正確答案:B

表述一和二是正確的。

20)正確答案:D

對於一個4分類問題,如果使用one-vs-all方法,則必須至少訓練SVM 4次。

21)正確答案:B

需要10×4 = 40秒

22)正確答案:A

僅訓練一次SVM就可以得到合適的結果

23)正確答案:A

增加數據的複雜性會使算法過度擬合數據。

24)正確答案:C

兩個給定的陳述都是正確的。

25)正確答案:C

兩個給定的陳述都是正確的。

結果檢查

是不是已經對完答案,已經算出自己的分數了呢,以下是參與者得分的總體分佈,看一下自己的水平在那個位置吧:

在這個圖表中,列表示的得分的人數,行表示獲得的分數,全部答對的人只有1位,相信看完自己的分數後,你應該對自己的水平有了一定的瞭解,也明白自己對於支持向量機的哪些知識還有些不足,這樣我們可以更好的去學習。

25 Questions to test a Data Scientist on Support Vector Machines

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章