深度学习-机器学习(5.1支持向量机)
1.支持向量機(Support Vector Machine)(英文簡寫SVM)屬于監督學習(Supervised Learning):分類(Classifcation)
2.機器學習的一般框架:
?訓練集->提取特征向量->結合一定的算法(分類器:比如決策樹,KNN)->得到結果
3.介紹:
? ? ? 3.1例子
? ? ? ? ? ? ? ? ? ? ? ? ??
在這個例子中加入提取了一些實例的向量,可以別映射出上圖的這些點,如圖有兩類的實例,假如數據是N維的,則h3為一個超平面(hyper plane),那么如何畫這個超平面使能很好的分開著兩類 不同的點呢?
其實可以畫無數條線,哪條線最好的區分這些點呢?例如:H1,H2,H3等線,大家大部分會選紅線。這就引入了SVM基本的創造的動機,就是要找一個超平面。
3.2SVM尋找區分兩類的超平面(hyper plane),是邊際最大。
? 再例如:
? ? ? ? ? ??
? ? ? ? ? ?就可以畫出如圖的超平面即圖中的實線,而實線到兩邊虛線的距離之和為邊際(margin)
? ? ? ? ? ?選取margin最大的超平面。
? ? ? ? ? 如何選取是邊際(margin)最大的超平面(Max Margin Hyperplane)?
? ? ? ? 超平面到一側最近的距離等于到另一側最近點的距離,兩側的兩個超平面平行。
3.線性可區分(linear separable) 和 線性不可區分(linear ?inseparable)
? ? ?(1)線性不可區分:無法通過超平面無法完全分開
? ? ??? ? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? ? ? ? ?
? ?(2)線性可區分 ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
4.定義與公式建立
? ? ? ?超平面可以定義為: ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
W:向量,類似于權重的一個向量 ?X:訓練實例 ?b:bias 偏向
4.1假設2維特征向量:X=(x1,x2)
? 把b想象為額外的wight
?超平面方程為:
????????????????????? ? ? ??
所有超平面右上方的點滿足:
????????????????????????????
所有超平面左下方的點滿足:
? ? ? ? ? ? ? ? ? ? ? ? ? ?
調整weight,使超平面定義邊際的兩邊:
? ? ? ? ??
即+1表示一類,-1表示一類
綜合以上兩式,得到:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
所有坐落在邊際的兩邊的超平面上的被稱為“支持向量(support vectors)”
分界的超平面和H1或H2上任意一點的距離為:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
其中是向量的范數(norm)
? ? ? ? ?
所以最大的邊際距離為:
?????????????????????????????????? ? ? ? ?
下一節繼續支持向量機
????????????????????????????????????
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
總結
以上是生活随笔為你收集整理的深度学习-机器学习(5.1支持向量机)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第六讲 Python中的字符串(二)(字
- 下一篇: 深度学习-机器学习(5.2支持向量机SV