- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 564681 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174627
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
支持向量机分类算法- g7 t1 t2 ~4 O9 X
# f5 f! [( N) ]🚀 优质资源分享 🚀
, P3 C! ?5 l& {1 y6 M学习路线指引(点击解锁) 知识定位 人群定位: P( M% }. F; A4 l! `& E
🧡 Python实战微信订餐小程序 🧡 进阶级 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
3 V- t; U% ]2 R0 F0 _! d💛 ython量化交易实战💛 入门级 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统
8 M2 Y1 H/ o9 K2 F" }: B, v, V支持向量机SVM' }; r( C- [- T6 s" |
* e. k- g ], z9 g0 [
支持向量机原理
5 _$ S/ ]' h; x7 ?$ M# H7 Z7 q3 [& X- u7 @0 H1 h8 V9 i' f
1.寻求最有分类边界) Z/ A/ J5 V Y) h' G
1 R1 c1 R% o3 h7 _ |* ?' P
正确:对大部分样本可以正确的划分类别$ Z4 X! K. o* r3 ]% K {1 s( }+ t
* i W6 Y" u/ A' ?( J. N
泛化:最大化支持向量间距
# `. p" W5 h$ g, g9 }
7 S: N. t g0 y3 b% J& F* f公平:与支持向量等距
, W0 Z) M% \" Z' e* ~
) C% `1 g/ f* ?简单:线性、直线或平面,分割超平面
6 F; o% f( q4 R' _* R' J
" J- B( [* U, f: |( {2.基于核函数的生维变换: w- v6 w. S3 V' N- }' |
4 Z: `; E' i8 A* e, v通过名为核函数的特征变换,增加新的特征,使得低维度的线性不可分问题变为高维度空间中线性可分问题。
- u0 B M6 `! B/ @
! D# b5 y+ q! f& B! T9 K/ c' _一、引论! i; ~- N* S9 Y; s! z' j6 q0 {0 V
! r0 Y2 U: f# u/ z
使用SVM支持向量机一般用于分类,得到低错误率的结果。SVM能够对训练集意外的数据点做出很好的分类决策。那么首先我们应该从数据层面上去看SVM到底是如何做决策的,这里来看这样一串数据集集合在二维平面坐标系上描绘的图:0 t4 _; d( o) j+ f f8 s9 k
: Y5 W% d% V+ z1 H; S6 r% z/ ~, k- b$ X- H( |, V
q9 X# J$ w' h% s2 \
现在我们需要考虑,是否能够画出一条直线将圆形点和星星点分开。像first第一张图片来看,圆点和星点就分的很开,很容易就可以在图中画出一条直线将两组数据分开。而看第二张图片,圆点和星点几乎都聚合在一起,要区分的话十分困难。9 x% N. e8 t! ?# S. b# G& U0 M
( Y3 {# |& A" {' C9 h
我们要划线将他们区分开来的话,有有无数条可以画,但是我们难以找到一条最好区分度最高的线条将它们几乎完全区分。那么在此我们需要了解两个关于数据集的基本概念:
; W5 @/ J* D/ Z
( h! t2 u$ m" f. Y0 @& W二、理论铺垫
# u! I' u+ ^# Q6 i& c& ]" |( R6 F$ G3 o8 q1 _
线性可分性(linear separability)7 l4 l! f8 k+ N1 i w
5 y8 s4 C5 D" `# i6 @
; N( j* z: H. E& v1 j; u$ n9 V0 N2 g- i# {# e# e( c4 k
而对机器学习来说,涉及的多是高维空间(多维度)的数据分类,高维空间的SVM,即为超平面。机器学习的最终目的就是要找到最合适的(也即最优的)一个分类超平面(Hyper plane),从而应用这个最优分类超平面将特征数据很好地区分为两类。
$ }5 Z% U }# O. \- g% X$ h9 c# i6 s/ C) a* E
1 P% j0 n, [. Y; G) D
/ r7 t# s; |# m# }3 J }决策边界
% x2 ]( x: a3 W
/ B( R! G& \) c0 S2 O9 A6 Q& `1 K4 wSVM是一种优化的分类算法,其动机是寻找一个最佳的决策边界,使得从决策边界与各组数据之间存在margin,并且需要使各侧的margin最大化。那么这个决策边界就是不同类之间的界限。
; s( c( q, U/ S0 E1 c8 t* e, J- _5 n& e2 f( a) |; {
1 k) T4 F$ `; e6 \ U4 N' @
( R& R) v# P' R% ~总而言之:在具有两个类的统计分类问题中,决策边界或决策表面是超平面,其将基础向量空间划分为两个集合,一个集合。 分类器将决策边界一侧的所有点分类为属于一个类,而将另一侧的所有点分类为属于另一个类。' ~' ?! I4 X0 Z8 ], i
9 F$ B& F1 ]- C支持向量(support vector)& Y* _; B+ d2 a+ _$ z R; Q. @4 f
/ I8 H; ~0 ]- c3 l$ e
在了解了超平面和决策边界我们发现SVM的核心任务是找到一个超平面作为决策边界。那么满足该条件的决策边界实际上构造了2个平行的超平面作为间隔边界以判别样本的分类:8 }. r% q& A% \+ @
& |% T7 @9 P/ K8 ?8 r& C3 V
3 i$ D6 G, d9 ?* Q3 }- q5 `) X
8 P' Q, O" P$ K+ q8 I3 r! E; a4 J# e" K
" z5 U. p2 a( K3 |% d9 W: E7 J( {7 R
核方法
. p1 @* ^* }* Y7 m- L' x/ t# i- u% e2 v. |8 y
0 V* L8 a; s' u6 n4 a; L, E4 O
# \& s v9 ~4 |" G, d( x3 B
2 z) o# F4 o6 A# p1 D
6 p5 c0 z0 u& R3 O6 C以回避内积的显式计算。
$ v6 V! l _) \" [, U! ^) W
5 p9 Q' j4 c3 A% w) N' |常见的核函数:
}, v% h* M5 c* ]" W8 |$ C3 S! |; l p9 B+ m
& x, K) c( O% g, I8 [
( k- @# J: W) I: c) l/ M G
kernel : {'linear', 'poly', 'rbf', 'sigmoid', 'precomputed'}, default='rbf'* e6 [* M1 V# I* V) m% W
14 ^# L& z$ s" z. q
当多项式核的阶为1时,其被称为线性核,对应的非线性分类器退化为线性分类器。RBF核也被称为高斯核(Gaussian kernel),其对应的映射函数将样本空间映射至无限维空间。
3 G8 M8 y) i) \' |2 J" J2 y2 S+ f& M+ W7 w$ w, A+ z# U
SMO序列最小优化算法, f% O8 I4 a& D# k7 q5 C& z
, u9 C/ d; x) ]0 C1 f6 x
" q" g7 Z7 R% p2 {8 |
( u9 w! `; r6 n& h3 i
5 ?) T' @0 h% d- C f2 s: T5 M; N+ q/ W- O7 b
. O4 {; Q: V( i3 \* b" ?6 Y0 ~7 W& j. N4 H4 C& Y9 M+ D/ o
三、Python sklearn代码实现:; j. l1 \0 {; H s4 J. W( O
; y6 R5 G4 t% i2 T& X) l
sklearn.svm.SVC****语法格式为:
0 M- F% s5 ` j8 u4 \# l
5 V$ T# H! V& u$ L: q! fclass sklearn.svm.SVC( *, - ?4 m" r7 f$ C) @( h& v
C=1.0,
' S: j0 i" t! ?: ~! Y kernel='rbf',
( c; s$ L5 T6 ]% U( q0 D5 W1 a degree=3,
1 l& F* U# z& m5 h7 c* \ gamma='scale',
# F1 h* w- G8 D, [. R coef0=0.0, 7 V6 ?* R. Z' S$ H+ [; H |; J; t' a
shrinking=True,
6 o. J/ y9 T* [ x probability=False, % C2 Q! w( r9 X: a1 e4 ?# x% F# ?
tol=0.001,
1 u6 s& j' ~/ S; o* _6 D8 ^. D" A cache\_size=200,
1 ?4 u# L, y } class\_weight=None,
7 Q8 D( G/ B. B2 K# N/ X' K verbose=False,
: F7 v$ A# B( X: A6 C max\_iter=- 1, 1 F! i0 o* K( o6 O$ f- A2 r
decision\_function\_shape='ovr',
7 E3 u' w' K# b break\_ties=False, - ?2 a/ Y7 u- t; {
random\_state=None)( |0 ?0 C6 b* h" u$ x# m; M
: o# i& f! f' {" T1 m4 Z/ U8 _, B7 q+ ?: C( n# \7 J J7 e
2
, E. i- y% b0 V& {) x Q& T3
' ?+ y: E0 c$ B3 R r3 Q9 A4% {* e9 r ]0 m% [
5
8 k8 r3 ?( ]& K* ^* c. t6
9 [) S! G8 n; X3 Y M4 [: M4 O7
" D M+ ^$ V2 p8
; D4 W" L: s+ G3 `9 R9 m! G6 }7 t6 y: x9 J* l; X
109 J s7 x7 ]9 _0 d# z! J* {9 a
11& \9 `( {: q- r B. ?! o2 n
12* R1 L+ M( P. b. `; z5 ^ q
13
9 ?1 O" q# e) l14 }; c) {/ J& u% u/ N1 y% e
15
$ G3 L+ P, e# H' U8 y. K) q16
! a% p& S5 X- X! S0 M$ _& p基于鸢尾花数据的实现及解释
+ W5 ^4 r2 B4 M
4 v2 B& X* q8 R G, J9 f8 ]代码如下:2 [& d3 {5 S. [0 l- R, D
6 D. t" ^: n4 R: a/ k: f3 o
1 # 导入模块1 C/ a6 Y) l1 K: \$ d. Y5 }' J
2 import numpy as np
6 B6 n3 c' r- m c i2 T 3 import matplotlib.pyplot as plt6 O0 p' |6 ]! h! a
4 from sklearn import svm, datasets/ x. o6 p! m, C. L
5 from sklearn.model\_selection import train\_test\_split
5 F: n( U6 [" |2 q: S) Y) c( u 6 d4 U% C2 F4 o7 D% [; _
7 # 鸢尾花数据
) J) k4 n% R. h, }4 |+ S) D' H 8 iris = datasets.load\_iris() #原始数据
1 z* P: J4 O& y) r! o 9 feature = iris.data[:, :2] # 为便于绘图仅选择2个特征(根据前两列数据和结果进行分类)
& E) b2 V) g3 c8 O, j10 target = iris.target
3 F3 l" r. b# P8 S. z: c" T& U1 N11
3 y/ J0 ^/ p3 U. W3 P, V12 #数组分组训练数据和测试数据
# I8 L8 y+ T5 k7 @- r( P `; q/ m5 v13 x\_train,x\_test,y\_train,y\_test=train\_test\_split(feature,target,test\_size=0.2,random\_state=2020)
2 U) x9 s8 Y" t# _( n" M9 C; _- ]14 5 m( d7 m( s7 t# M& J/ e" R# B
15 # 测试样本(绘制分类区域),我们数据选了两列即就是两个特征,所以这里有xlist1,xlist2
$ e+ p! ?7 |. Q9 M# U16 xlist1 = np.linspace(x\_train[:, 0].min(), x\_t+ y3 \/ U" E. T Y6 o b* U
————————————————
$ z( P$ I6 \. ]/ `' c版权声明:本文为CSDN博主「qq_43479892」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。& a' o9 @' a3 q% m# }6 Q3 M
原文链接:https://blog.csdn.net/qq_43479892/article/details/126811791
) c- u H; W( A, H8 i; a- p8 h- ~3 |; @9 H' K, r4 l
4 @6 i k% ]& U |
zan
|