機器學習筆記之SVM(SVR)算法

學過SVM后,看了那么多別人的文章,是時候自己總結一波了。權當寫的筆記供自己日后再回顧吧。
PS:結合自己在工作過程中(我這里用SVR做股票預測)用到的知識來寫的,不會很全面,若有些知識這里沒提及讀者可自行查找。
1 概述
支持向量機(support vector machine)是一種分類算法,但是也可以做回歸,根據輸入的數據不同可做不同的模型(若輸入標簽為連續值則做回歸,若輸入標簽為分類值則用SVC()做分類)。通過尋求結構化風險最小來提高學習機泛化能力,實現經驗風險和置信范圍的最小化,從而達到在統計樣本量較少的情況下,亦能獲得良好統計規律的目的。通俗來講,它是一種二類分類模型,其基本模型定義為特征空間上的間隔最大的線性分類器,即支持向量機的學習策略便是間隔最大化,最終可轉化為一個凸二次規劃問題的求解。

SVM算法的優缺點:
SVM算法優點區
? 可用于線性/非線性分類,也可以用于回歸;
? 低泛化誤差;
? 容易解釋;
? 計算復雜度較低;
? 可以解決高維問題;
缺點區
? 對參數和核函數的選擇比較敏感;
? 原始的SVM只比較擅長處理二分類問題;
SVM屬于監督學習算法,監督學習流程如圖所示:
這里寫圖片描述

2 算法原理
2-1 在n維空間中找到一個分類超平面,將空間上的點分類。如下圖是線性分類的例子。
這里寫圖片描述
圖 2-1-1 線性分類的例子
2-2. 一般而言,一個點距離超平面的遠近可以表示為分類預測的確信或準確程度。SVM就是要最大化這個間隔值。而在虛線上的點便叫做支持向量Supprot Verctor。如圖4-1-1-2所示:
這里寫圖片描述
圖2-1-1-2 支持向量的標識圖
2-3. 實際中,我們會經常遇到線性不可分的樣例,此時,我們的常用做法是把樣例特征映射到高維空間中去如圖4-1-1-3所示:
這里寫圖片描述
圖2-1-1-3 對于線性不可分數據的處理方法
3 數據處理
preprocessing.scale()作用:
scale()是用來對原始樣本進行縮放的,范圍可以自己定,一般是[0,1]或[-1,1]。
縮放的目的主要是
1)防止某個特征過大或過小,從而在訓練中起的作用不平衡;
2)為了計算速度。因為在核計算中,會用到內積運算或exp運算,不平衡的數據可能造成計算困難。

4 SVR參數選擇
對于SVM算法,我們首先導入sklearn.svm中的SVR模塊。SVR()就是SVM算法來做回歸用的方法(即輸入標簽是連續值的時候要用的方法),通過以下語句來確定SVR的模式(選取比較重要的幾個參數進行測試。隨機選取一只股票開始相關參數選擇的測試)。
svr = SVR(kernel=’rbf’, C=1e3, gamma=0.01)

4-1. kernel:核函數的類型,一般常用的有’rbf’,’linear’,’poly’,等如圖4-1-2-1所示,發現使用rbf參數時函數模型的擬合效果最好。
這里寫圖片描述
圖4-1-2-1 函數參數“Linear”,“RBF”,“Poly”對模型的擬合效果圖”

4-2. C:懲罰因子。C表征你有多么重視離群點,C越大越重視,越不想丟掉它們。C值大時對誤差分類的懲罰增大,C值小時對誤差分類的懲罰減小。當C越大,趨近無窮的時候,表示不允許分類誤差的存在,margin越小,容易過擬合;當C趨于0時,表示我們不再關注分類是否正確,只要求margin越大,容易欠擬合。如圖4-1-2-2所示發現當使用1e3時最為適宜。
這里寫圖片描述
圖 4-1-2-2 參數C與準確度的關系圖

4-3. gamma: 是’rbf’,’poly’和’sigmoid’的核系數且gamma的值必須大于0。隨著gamma的增大,存在對于測試集分類效果差而對訓練分類效果好的情況,并且容易泛化誤差出現過擬合。如圖4-1-2-3所示發現gamma=0.01時準確度最高。
這里寫圖片描述
圖4-1-2-3 參數gamma與準確度的關系圖

以上大概就是就是建立股票預測模型的整個過程,在這里重點講的還是算法中各個方法的作用和各主要參數代表的含義,希望對大家有所幫助。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/456876.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/456876.shtml
英文地址,請注明出處:http://en.pswp.cn/news/456876.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[轉]基于圖的機器學習技術:谷歌眾多產品和服務背后的智能

近來機器學習領域實現了很多重大的進展,這些進展讓計算機系統具備了解決復雜的真實世界問題的能力。其中,谷歌的機器學習又是怎樣的 ? 近來機器學習領域實現了很多重大的進展,這些進展讓計算機系統具備了解決復雜的真實世界問題的…

安裝mysql后在安裝目錄下只有my-default.ini沒有my.ini文件 解決-The MySQL server is running with the --secure-file-priv

WIN10 系統環境 安裝mysql后在安裝目錄下只有my-default.ini沒有my.ini文件 。 mysql報錯 ---------- The MySQL server is running with the --secure-file-priv option so it cannot execute this statement -------- 但是更改或想要查找配置文件就需要如下操作 在 安裝…

loewe測試軟件,實測Loewe三角包 最輕的小包最貼心的設計

原標題:實測Loewe三角包 最輕的小包最貼心的設計導語:每周一期的“包治百病”又跟大家見面來啦!“包治百病”全方位評測包包的容量、重量、背法、在不同身高妹子身上的效果、各種驚人的小細節以及可能存在的問題,為有意購買這些包…

hadoop集群的搭建(分布式安裝)

集群 計算機集群是一種計算機系統,他通過一組松散集成的計算機軟件和硬件連接起來高度緊密地協同完成計算工作。集群系統中的單個計算機通常稱為節點,通常通過局域網連接。集群技術的特點:1、通過多臺計算機完成同一個工作。達到更高的效率 2…

解決:Error establishing a database connection阿里云修改數據庫密碼

今天閑來無事想把所有的二級密碼改成一致的,所以就把阿里云的mysql數據庫的密碼改了,結果,打開頁面報錯了,下邊的截圖是我問題解決后,重新復現的。如果修復這個問題后wordpress登錄頁面白板,此時不要著急&a…

機器學習各算法思想(極簡版)

讀到的一篇不錯的文章,拿來和大家分享一下。 轉自–頭條公眾號–極數蝸牛 (1)線性回歸 回歸最早是由高爾頓研究子女身高與父母身高遺傳關系提出的,發現子女平均身高總是向中心回歸而得名。其實“一分辛苦一分才”中就蘊含了線性…

PAT A 1118. Birds in Forest (25)【并查集】

并查集合并 #include<iostream> using namespace std; const int MAX 10010; int father[MAX],root[MAX]; int findfather(int x){if(xfather[x]) return x;else{int Ffindfather(father[x]);father[x]F;return F;} } void Union(int a , int b){int faAfindfather(a);i…

斯坦福計算機錄取難嗎,申請斯坦福究竟有多難? 什么樣條件的人才能被斯坦福錄取?斯坦福大學直播!...

原標題&#xff1a;申請斯坦福究竟有多難&#xff1f; 什么樣條件的人才能被斯坦福錄取&#xff1f;斯坦福大學直播&#xff01;申請斯坦福究竟有多難&#xff1f; 什么樣條件的人才能被斯坦福錄取&#xff1f;斯坦福大學直播&#xff01;西海岸小哈佛之稱的斯坦福大學&#xf…

解決:building 'twisted.test.raiser' extension安裝scrapy報錯

解決&#xff1a;building twisted.test.raiser extension error: Microsoft Visual C 14.0 is required. Get it with "Microsoft Visual C Build Tools": https://visualstudio.microsoft.com/downloads/ 安裝scrapy報錯&#xff0c;在Twisted安裝部分 解決方案…

Linux配置網絡出現Eroor adding default gateway的解決方案

最近在學習有關大數據方面的東西&#xff0c;剛開始要搭建模擬的虛擬機集群。用的是Minimal CentOS6.7版本Linux下的系統。因為我要為各個虛擬機設置靜態IP&#xff0c;所以就參考網上博客說的進行如下操作: 一、安裝完系統后先配置網絡&#xff1a; cd /etc/sysconfig/netwo…

揭秘8大自媒體平臺注冊方法,通過率百分之九十

寫在前面&#xff1a;準備材料&#xff1a;手機號&#xff0c;郵箱&#xff0c;手持照&#xff0c;輔助材料(非必選項)&#xff0c;邀請碼(非必選項)。輔助材料萬能公式&#xff1a;方法①新浪博客16級博客發8篇相關的文章&#xff0c;昵稱、描述、頭像都與所注冊自媒體號對應&…

AC日記——簡單密碼 openjudge 1.7 10

10:簡單密碼 總時間限制: 1000ms內存限制: 65536kB描述Julius Caesar曾經使用過一種很簡單的密碼。對于明文中的每個字符&#xff0c;將它用它字母表中后5位對應的字符來代替&#xff0c;這樣就得到了密文。比如字符A用F來代替。如下是密文和明文中字符的對應關系。密文A B C D…

計算機表格怎么求面積,在wps表格中怎么把數據生成面積圖?

面積圖強調數量隨時間而變化的程度&#xff0c;適用于顯示有限數量的若干組數據。可以利用面積圖來分析銷售的數據。在這里我用3種品牌的手提電腦在 2010年四個季度的銷售量作為數據源&#xff0c;使用“堆積面積圖”來顯示各種手提電腦銷售量所占大小并隨時間變化的趨勢。那么…

機器學習如何解決問題

原文 http://tech.meituan.com/mt-mlinaction-how-to-ml.html 前言 前言 隨著大數據時代的到來&#xff0c;機器學習成為解決問題的一種重要且關鍵的工具。不管是工業界還是學術界&#xff0c;機器學習都是一個炙手可熱的方向&#xff0c;但是學術界和工業界對機器學習的研究…

Linux中python2和python3的pip設置 及清華安裝源

啟動python2&#xff0c;我們可以直接在命令行輸入&#xff1a;python2 啟動python3&#xff0c;我們可以在命令行輸入&#xff1a;python或者python3. 但是pip沒有設置的話&#xff0c;在命令行輸入 pip --version 或者 pip2 --version&#xff0c;指向的都是python2. 現在…

java 循環 基本類型

1.基本if選擇結構 格式&#xff1a;if&#xff08;布爾表達式&#xff09;{ 表達式結果為true&#xff0c;則執行此代碼塊 } 例&#xff1a;if(week <5 ){ System.out.println(“上班”) } 2.if else結構 格式&#xff1a;if(布爾表達式){ 表達式結果為true&#xff0c;則執…

CodePlex關閉,建議遷移至GitHub

Microsoft決定停止提供CodePlex開源項目免費托管服務。他們建議開發人員可以遷移到GitHub或任何其他托管服務提供商。\\盡管有些人希望CodePlex關閉的消息僅僅是4月1日愚人節玩笑&#xff0c;但是Microsoft副總裁Brian Harry已經證明這并不是一個玩笑。在提供服務11年之后&…

計算機最佳參數,對使用者來說,學會計算機性能參數提取,給出性能評價很重要...

對計算機進行系統信息提取&#xff0c;并且給出性能評價&#xff0c;可以這樣做先看思維導圖&#xff1a;對計算機進行系統信息提取&#xff0c;并且給出性能評價&#xff0c;可以通過軟件測試實現&#xff01;一、 關于硬件健康的問題&#xff0c;避免買到二手配件。硬盤的使用…

word如何在任意頁開始添加頁碼

第一步&#xff0c;將光標定位到需要插入頁碼的前一頁末尾。就是說&#xff0c;如果你想從第二頁開始添加頁碼&#xff0c;那么你就將光標定位到第一頁末尾&#xff0c;如圖&#xff1a; 然后按照圖中標出的提示&#xff0c;選擇“頁面布局”選項卡&#xff0c;點擊“分隔符…