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

2020-12-05 CDA數據分析師

介紹

在我們學習機器算法的時候,可以將機器學習算法視為包含刀槍劍戟斧鉞鉤叉的一個軍械庫。你可以使用各種各樣的兵器,但你要明白這些兵器是需要在合適的時間合理的地點使用它們。作為類比,你可以將「回歸算法」想像成能夠有效切割數據的劍,但無法處理高度複雜的數據。相反的是,「支持向量機(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)在支持向量機中使用高斯核函數之前,我們通常使用特徵歸一化。那麼什麼是真正的特徵歸一化?

我們進行特徵歸一化時,以便新特徵佔主導地位有時,對於分類變量,特徵歸一化是不可行的當我們在支持向量機中使用高斯核函數時,特徵歸一化總是有幫助的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%。你認為這背後的原因是什麼?

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

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

kernel是將低維數據映射到高維空間這是一個相似函數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

相關焦點

  • 一個簡單的案例帶你了解支持向量機算法(Python代碼)
    介紹掌握機器學習算法並不是一個不可能完成的事情。大多數的初學者都是從學習回歸開始的。是因為回歸易於學習和使用,但這能夠解決我們全部的問題嗎?當然不行!因為,你要學習的機器學習算法不僅僅只有回歸!把機器學習算法想像成一個裝有斧頭,劍,刀,弓箭,匕首等等武器的軍械庫。你有各種各樣的工具,但你應該學會在正確的時間和場合使用它們。
  • 改進遺傳算法的支持向量機特徵選擇解決方案
    支持向量機是一種在統計學習理論的基礎上發展而來的機器學習方法[1],通過學習類別之間分界面附近的精確信息,可以自動尋找那些對分類有較好區分能力的支持向量,由此構造出的分類器可以使類與類之間的間隔最大化,因而有較好的泛化性能和較高的分類準確率。由於支持向量機具有小樣本、非線性、高維數、避免局部最小點以及過學習現象等優點,所以被廣泛運用於故障診斷、圖像識別、回歸預測等領域。
  • 改進遺傳算法的支持向量機特徵選擇解決方案介紹
    支持向量機是一種在統計學習理論的基礎上發展而來的機器學習方法[1],通過學習類別之間分界面附近的精確信息,可以自動尋找那些對分類有較好區分能力的支持
  • 從零推導支持向量機 (SVM) | 雷鋒網
    為了能使優化問題繼續保持為二次規劃問題,我們需要引入一個取值為連續值的變量,刻畫樣本滿足約束的程度。我們引入鬆弛變量 (slack variable) ξi,用於度量樣本違背約束的程度。當樣本違背約束的程度越大,鬆弛變量值越大。
  • 智能財務風險預警方法—支持向量機
    ,此外,支持向量機還可以用在一些預測或者分析等領域,應用非常廣泛,工程科學等方面都能有所應用。當今世界上的支持向量機支持向量機的研究部分中,實際和理論方面的研究兩方在快速發展,如今支持向量機已經可以用於生物醫學識別,文本識別,人臉識別,手寫識別等非常多的領域。支持向量機將分類樣本映射為向量空間的特徵向量集合,並在向量空間中構造最優分類超平面,使得在保證分類正確的同時,不同類別的集合與最優分類超平面的間隔最大。
  • 支持向量機其實沒那麼玄乎
    在機器學習中,支持向量機也是一種常見的算法。支持向量機的原理是,在兩類的樣本中,尋找到能最好劃分類別的超平面。如果在平面中找不到,那就進入更多維度的空間,直至某個維度的空間能夠劃分出最合適的支持向量。兩條支持向量中間的那個超平面就是機器能夠利用的判斷邏輯。
  • 「研究」支持向量機和其它類人工神經網絡的聯繫及區別
    支持向量機(Support Vector Machines,SVM)是20世紀90年代初,由Vapnik教授領導的研究小組提出的一種新的智能機器,它基於Vapnik等人在上世紀60年代末提出統計學習理論。
  • 如何使用支持向量機學習非線性數據集
    支持向量機(SVM)什麼是支持向量機呢?支持向量機是監督機器學習模型,可對數據進行分類分析。實際上,支持向量機算法是尋找能將實例進行分離的最佳超平面的過程。如果數據像上面那樣是線性可分離的,那麼我們用一個線性分類器就能將兩個類分開。
  • 形象講解支持向量機
    支持向量機(SVM)是由分離超平面的判別分類器。換句話說,給定標記的訓練數據(監督學習),算法輸出最佳超平面,其對新示例進行分類。在二維空間中,這個超平面是將平面分成兩部分的線,其中每一類都位於兩側。本文以一個外行的角度來學習假設在圖表上給出了兩個標籤類的圖,如圖(A)所示。你能決定一個分類線嗎?
  • 機器學習|劉老師專欄—從邏輯回歸到支持向量機(一)
    劉老師專欄,今天分享的是從邏輯回歸到支持向量機解決分類問題的思路,算法理論知識固然重要,但更值得學習的是解決問題的思考方式,仔細欣賞劉老師的分享吧~需要複習邏輯回歸?請戳:機器學習|劉老師專欄——機器的「是非觀」機器學習|劉老師專欄——機器學習與是非題(二)機器學習|劉老師專欄——關於邏輯回歸的更多思考支持向量機是解決分類問題的另一個重要方法,關於這個方法的具體內容,因為我覺得插入公式和圖片都很麻煩,所以不再贅述。而且,相比於教材來說,贅述也不過是一種重複。
  • 超詳細支持向量機知識點,面試官會問的都在這裡了
    它的基本思想是在特徵空間中尋找間隔最大的分離超平面使數據得到高效的二分類,具體來講,有三種情況(不加核函數的話就是個線性模型,加了之後才會升級為一個非線性模型):當訓練樣本線性可分時,通過硬間隔最大化,學習一個線性分類器,即線性可分支持向量機;當訓練數據近似線性可分時,引入鬆弛變量,通過軟間隔最大化,學習一個線性分類器,即線性支持向量機;當訓練數據線性不可分時,通過使用核技巧及軟間隔最大化
  • 支持向量機+sklearn繪製超平面
    核函數4.SVM 應用實例1.快速了解SVM 支持向量機(support vector machines,SVM)是一種二類分類模型。它的基本模型是定義在特徵空間上的間隔最大的線性分類器,間隔最大使它有別於感知機;而且SVM還支持核技巧,能夠對非線形的數據進行分類,其實就是將非線形問題變換為線性問題,通過解變換後的線性問題來得到原來非線形問題的解。舉個例子來說明支持向量機是來幹什麼的吧!
  • Python入門5大機器學習算法(附代碼),你知道哪幾個?
    讓我們再次通過一個簡單的例子來理解這個算法。假設你的朋友讓你解開一個謎題。這只會有兩個結果:你解開了或是你沒有解開。想像你要解答很多道題來找出你所擅長的主題。這個研究的結果就會像是這樣:假設題目是一道十年級的三角函數題,你有 70%的可能會解開這道題。然而,若題目是個五年級的歷史題,你只有30%的可能性回答正確。
  • 深度講解支持向量機背後的數學思想
    在支持向量機(support vector machine,SVM)算法中,有諸多數學思想。學習SVM是一個非常好的實踐數學思想的過程,為我們以後創新解決問題思路提供了啟發。在卷積神經網絡興起之前,在機器學習界一直是非常受追捧的算法,不光是因為其有良好的泛化能力、很高的準確度,更是因為其完備的數學理論依據以及諸多較難理解的數學知識。
  • 如何學習SVM(支持向量機)以及改進實現SVM算法程序 - 雷鋒網
    雷鋒網 AI 科技評論按,本文為韋易笑在知乎問題如何學習SVM(支持向量機)以及改進實現SVM算法程序下面的回覆,雷鋒網 AI 科技評論獲其授權轉載。以下為正文:學習 SVM 的最好方法是實現一個 SVM,可講理論的很多,講實現的太少了。
  • Python 爬蟲面試題 170 道
    最近在刷面試題,所以需要看大量的 Python 相關的面試題,從大量的題目中總結了很多的知識,同時也對一些題目進行拓展了,但是在看了網上的大部分面試題都有這幾個問題:有些部分還是 Python2 的代碼回答的很簡單,關鍵的題目沒有點出為什麼
  • 流行的機器學習算法總結,幫助你開啟機器學習算法學習之旅
    這個算法可以對數據進行分類和分組,以識別一些隱藏或未發現的類別,通常用作監督學習的初步步驟。無監督學習強化學習強化學習算法旨在在探索和開發之間找到完美的平衡,而無需標記數據或用戶幹預。這些算法通過選擇一個動作並觀察結果來工作,在此基礎上,它了解結果的準確程度。 反覆重複此過程,直到算法選擇正確的策略為止。
  • 七年級數學經典培優題與易錯題例題掌握了這些題型中考不慌...
    前幾期圖文七年級數學絕對值知識關鍵點你掌握了嗎?這幾個點沒理解很難高分我們詳細講了關於七年級絕對值需要注意的知識點,今天我匯總了一些絕對值經典題型和易錯題,希望大家能夠花點時間自己做一遍!1:已知整數x,y滿足|x-2|+|y+4|=1,求x和y的值。
  • 前沿丨水中目標新型被動檢測理論及方法
    以實測的某水下航行器輻射噪聲數據為基礎,對提出的兩種新型智能被動檢測模型進行目標檢測的仿真研究。第6章,水中目標混合智能識別研究。基於幅值譜分析、濾波、Hilbert包絡解調和改進的EMD等現代信號處理方法、特徵距離評估技術的特徵選擇方法和支持向量機(SVMs)分類器,結合遺傳算法融合策略,提出一種組合SVMs的水聲目標智能識別模型。
  • 小升初數學圓的單元評估檢測題,教你掌握重點難點
    推遲開學差不多有一個月的時間了,有的學生把老師留的作業已經學會了,需要進行一下單元檢測,下面貝貝老師為大家分享一份相對不錯的習題《圓的單元評估檢測題》,希望對大家有所幫助。填空題第5小題,圓的周長公式:C=πd=2πr,因而半徑或直徑擴大幾倍,周長也就擴大了幾倍,圓的面積公式:S=πr,因而半徑擴大了幾倍,面積就擴大平方倍。