b* u6 v5 d; h" d. v基本概念是利用线性回归线(Linear Regression Line),将资料分为A/B两类,再透过Sigmoid Function (or Logistic Function) 输出A类别的机率值(0~1),若机率>0.5则判断为A类别,因为是二元分类,所以当机率<0.5则被归类为B类别。 % ?3 [- e- W3 X; F8 z+ @1 `+ u! ?& o7 N! i
若需处理多元分类问题,有两种方法: g" ^; l* U+ C. z. [, f1. One versus Rest (or One versus All):将每个分类与其他剩余的资料做比较,若有N个类别,就需要N个二元分类器。以下方图例来说明,若有类别1~3,每次各使用一个类别与剩余的两个类别作二元分类后,会得到三个分类器,预测时把资料放到三个分类器中,看哪个分类器的分数较高,就判断为该类别。1 H+ f9 D8 c; ^8 j
- e7 l- E `/ I& j3 A6 b/ ?One versus Rest Example (Source from Internet)* p* O1 U; A0 y
2 Y8 ^- K9 Y7 @
2. One versus One:每次选择两个类别做分类,若有N个类别,就会有N*(N-1)/2个分类器,将每次分类的结果做投票,最后判断为票数最高的那个类别。举下方图例来说,有三个类别,会有三组分类器,最后新资料会判断为票数较高的类别1。5 i/ H2 R7 B" c/ u% U
0 h* B* T( W/ k fOne versus One Example (Source from Internet) , Q% H' b2 J& \- _* Y ; v. P' z; T0 j3 w8 o* k0 KLogistic Regression的优点:1 b ~0 X1 M' y; F
◆ 资料线性可分(包含在高维度空间找到linear plane)8 L7 T+ r" A/ s) X$ V$ b4 M0 k: w
◆ 除了分类,也可以得到A/B两类的机率2 u: _3 A0 A2 R3 A. g8 I9 F
◆ 执行速度较快 / M8 ~" @. M& `& c0 s( P' F5 M3 N# b! z# K1 R4 U
Logistic Regression的缺点: ; h8 R* `5 n# R/ B4 P$ V◆ 线性回归线的切法可能不够漂亮4 y# o6 d6 t8 U; ?1 V7 U
◆ 不能很好地处理大量、多类特征 7 k# W# S, {# q7 e" x , w+ \/ g- e6 f1 \# R8 r9 k8 a二、 支持向量机( 支持向量机,SVM) ! R- p* M4 m3 @支持向量机(Support Vector Machine)是在寻找一个超平面(Hyper-plane)来做分类,并使两个类别之间的边界距离最大化(会忽略异常点Outlier)。 + h4 u5 K9 o2 [% W( l- S) v- E$ [( J& R* B1 ]1 I
SVM也可使用于非线性分类(如下图B),透过Kernels functions将低维空间转换为高维空间,让资料可以在高维空间被线性分类。想像红色球的重量比蓝色球还重,在平面上一拍,让球往上弹,重量重的红色球会较快落下,在立体空间就可以找出个平面来切分红色和蓝色球。; H! L2 J$ v$ F; N+ w; O6 @/ ?) `
6 {% F* X7 V2 G, Y
Support Vector Machine Example (Source from Internet) 8 z( I$ J+ q2 s, m! N$ u7 Y) T; `6 ?8 C) r6 Y
SVM的优点: ; ]; A% w, M9 ?9 N◆ 切出来的线或平面很漂亮,拥有最大边界距离(margin) 7 ]2 G& e2 P: ]# S! \4 O◆ 在高维空间可以使用(即使维度数大于样本数也有效); k# N3 Z) f7 q" |
◆ 在资料量较小、非线性、高维度与局部最小点等情况下有相对的优势0 D$ u. O0 F% O) P1 ]0 k1 U+ H" ^
; R$ F3 X; Z- J
SVM的缺点: 0 Z1 f* M" l: Y* G+ M& A5 Z2 @; V◆ 当资料太多时,所需的训练时间太长,而使效果不佳0 r3 n& e& B: O% C( x, G
◆ 当资料集有太多noise时(如目标类别有重叠),预测的效果也会不好 3 A; P' g. w% X v8 `◆ SVM不会直接提供机率的估计值3 ]" Y! @. D) q. f
" N9 i+ E t! x! a" }三、决策树(Decision Tree) ; B7 c: E& A! ~, F5 v5 B透过模型预测可以得知某个方程式来做分类,但方程式可能很难懂或很难解释,这时需要决策树(Decision Tree),它的准确性可能没有很精准,但「解释性」高,所以决策树是一种条件式的分类器,以树状结构来处理分类问题。. W$ f0 B* u0 h
" ]/ }9 x& q" S E# e! a
建构决策树的方式,是将整个资料集依据某个特征分为数个子资料集,再从子资料集依据某个特征,分为更小的资料集,直到子资料集都是同一个类别的资料,而该如何分类则是透过资讯熵(Entropy)和资讯增益(Information Gain)来决定。8 M+ ^5 n- L! Y
. J1 M' ]$ |7 j* p/ h1. 资讯熵(Entropy):用来衡量资料的不纯度,若资料为同一类Entropy=0,若资料「等分」成不同类别Entropy=1。: q8 L/ F% c" j2 r S