4 U5 G! z, Q$ j: @9 J, o# k7 w一、逻辑回归(Logistic Regression) 9 {6 {6 C' n( r! _逻辑回归是个二元分类(Binary Classification)的模型,并有其对应的机率值,举例:明天会下雨的机率有90%。7 Z0 _2 _1 m. n
& U1 |; ]' N6 g- U1 @1 [
基本概念是利用线性回归线(Linear Regression Line),将资料分为A/B两类,再透过Sigmoid Function (or Logistic Function) 输出A类别的机率值(0~1),若机率>0.5则判断为A类别,因为是二元分类,所以当机率<0.5则被归类为B类别。* _: {- Z% W6 F4 s- b
/ t2 z5 J; Y9 N5 e( T1 e8 _3 l若需处理多元分类问题,有两种方法:; J7 `! N9 B% G' p w2 s
1. One versus Rest (or One versus All):将每个分类与其他剩余的资料做比较,若有N个类别,就需要N个二元分类器。以下方图例来说明,若有类别1~3,每次各使用一个类别与剩余的两个类别作二元分类后,会得到三个分类器,预测时把资料放到三个分类器中,看哪个分类器的分数较高,就判断为该类别。( d+ _! W, q) H& t
t) H& N" V% K& A( x2 `' P" Z8 ZOne versus Rest Example (Source from Internet) + _+ x+ y. N: v- t3 E) A8 o8 I5 I, D $ Q8 o7 J, F$ I* I5 ?5 O2. One versus One:每次选择两个类别做分类,若有N个类别,就会有N*(N-1)/2个分类器,将每次分类的结果做投票,最后判断为票数最高的那个类别。举下方图例来说,有三个类别,会有三组分类器,最后新资料会判断为票数较高的类别1。0 s3 l+ i3 b8 T* _$ ^6 y
& w1 W; L( f& X) M3 J5 yOne versus One Example (Source from Internet) $ r( Y% Y" c# ~/ A0 h& i - S* v# N% n2 O" ^Logistic Regression的优点: 8 m; d& N2 L6 w◆ 资料线性可分(包含在高维度空间找到linear plane)1 F, S" K8 S/ C9 F% {* c
◆ 除了分类,也可以得到A/B两类的机率6 q# e- ^" Z0 u. q1 C7 s
◆ 执行速度较快 ( m: k- G6 q5 P/ r q7 C3 e( A
Logistic Regression的缺点: . U Y! s! W7 q0 @◆ 线性回归线的切法可能不够漂亮# f% o: q; ?/ I; {/ \- e# Z
◆ 不能很好地处理大量、多类特征: G+ x' a$ W) B7 p
& O2 e" O7 r9 V D$ Q; i* k6 [二、 支持向量机( 支持向量机,SVM) . F3 ?5 {. Y' v( q% R支持向量机(Support Vector Machine)是在寻找一个超平面(Hyper-plane)来做分类,并使两个类别之间的边界距离最大化(会忽略异常点Outlier)。6 H. h H, @* U! M. L
2 G! X3 j' u+ K- {SVM也可使用于非线性分类(如下图B),透过Kernels functions将低维空间转换为高维空间,让资料可以在高维空间被线性分类。想像红色球的重量比蓝色球还重,在平面上一拍,让球往上弹,重量重的红色球会较快落下,在立体空间就可以找出个平面来切分红色和蓝色球。 " }' L b+ Z4 L3 \2 P" v3 R+ S1 F! y, u* B6 ^6 c/ [, ]; e
Support Vector Machine Example (Source from Internet)2 Y& ^/ n6 z( y1 p! G k
" V7 F m- J$ r" G b9 w
SVM的优点: 7 u3 e0 I3 k3 S! H/ x. m+ }◆ 切出来的线或平面很漂亮,拥有最大边界距离(margin) * d* c+ p. `" g◆ 在高维空间可以使用(即使维度数大于样本数也有效) 4 v0 [" g! C7 J9 O, @◆ 在资料量较小、非线性、高维度与局部最小点等情况下有相对的优势2 Q; `* [! p$ _. \1 ]# A
: a* y# i* j; a& \# ~5 a
SVM的缺点: - f* _6 Z+ }$ x8 N6 u3 {7 |9 U◆ 当资料太多时,所需的训练时间太长,而使效果不佳 . _/ k+ M' q# Y# s◆ 当资料集有太多noise时(如目标类别有重叠),预测的效果也会不好 0 n7 ~- J( O+ j1 q% y8 h◆ SVM不会直接提供机率的估计值/ A" W% k8 P- a$ H; z# Z
/ ~( D3 N. N" O* v& `三、决策树(Decision Tree) A; w! {/ o( V- N: H- g
透过模型预测可以得知某个方程式来做分类,但方程式可能很难懂或很难解释,这时需要决策树(Decision Tree),它的准确性可能没有很精准,但「解释性」高,所以决策树是一种条件式的分类器,以树状结构来处理分类问题。: g! Z N4 \. [& E
$ ^+ X1 a" ]; z
建构决策树的方式,是将整个资料集依据某个特征分为数个子资料集,再从子资料集依据某个特征,分为更小的资料集,直到子资料集都是同一个类别的资料,而该如何分类则是透过资讯熵(Entropy)和资讯增益(Information Gain)来决定。( \0 A. Y7 w9 i h
* B1 W5 @: }) B/ k: u
1. 资讯熵(Entropy):用来衡量资料的不纯度,若资料为同一类Entropy=0,若资料「等分」成不同类别Entropy=1。 1 |4 r' A. O$ T! K 1 x8 V0 k$ c3 A# c' x# ~6 c; d2. 资讯增益(Information Gain):用来衡量某个特征对于资料分类的能力,而建构决策树就是要找到具有最高资讯增益的分类法(得到纯度最高的分支)。简单来说,原本的资料集(High Entropy=E1),经过分类,得到多个资料集(Low Entropy=E2),其中的E1-E2=Information Gain。* e) [ O; I5 U7 R0 K! a% Y5 N