+ N& b% L7 W% r0 G监督式学习(Supervised Learning):给予「有标签」的资料,举例来说:给机器一堆苹果和橘子的照片,并说明哪些是苹果、哪些是橘子,再拿一张新的照片询问机器这是苹果还是橘子,而监督式学习又可分为回归(Regression)和分类(Classification)。5 r. `9 i" A7 T) ^6 B! k. w# A
# O8 k9 U4 l& ~7 B, F; V非监督式学习(Unsupervised Learning):给予「无标签」的资料,让机器找出潜在的规则,举例来说:给予机器一堆苹果和橘子的照片,但没有告诉机器这些照片各别是哪种水果,让机器自行找到资料间的相似性,而非监督式学习又可分为分群(Clustering)和降维(Dimension Reduction)。 ( q% D+ i3 P! y% w2 ?6 R+ H' N" H+ m: Z$ u
这篇文章会以监督式学习中的分类模型为主。: G) A) ]7 r4 O: _
% b9 X# e# V1 x+ E' k' _( p8 n
一、逻辑回归(Logistic Regression)( U! J$ H: u) E& B7 O ~: M* O/ R
逻辑回归是个二元分类(Binary Classification)的模型,并有其对应的机率值,举例:明天会下雨的机率有90%。4 N c* W% d0 y, T$ r7 v6 r
* l9 U# w, l" q
基本概念是利用线性回归线(Linear Regression Line),将资料分为A/B两类,再透过Sigmoid Function (or Logistic Function) 输出A类别的机率值(0~1),若机率>0.5则判断为A类别,因为是二元分类,所以当机率<0.5则被归类为B类别。$ N' d( _, l7 K+ j
, f0 M. C4 e# u9 b若需处理多元分类问题,有两种方法: / f0 Z! A. `( }* N+ o. r4 M8 k1. One versus Rest (or One versus All):将每个分类与其他剩余的资料做比较,若有N个类别,就需要N个二元分类器。以下方图例来说明,若有类别1~3,每次各使用一个类别与剩余的两个类别作二元分类后,会得到三个分类器,预测时把资料放到三个分类器中,看哪个分类器的分数较高,就判断为该类别。0 Z, s. V0 Y3 L& D( L
( e4 A' t7 F% P; `* X( d
One versus Rest Example (Source from Internet) 4 q7 p- X' R) N' k" o |' }, K5 g7 u+ o' @1 N' h" J& W; d
2. One versus One:每次选择两个类别做分类,若有N个类别,就会有N*(N-1)/2个分类器,将每次分类的结果做投票,最后判断为票数最高的那个类别。举下方图例来说,有三个类别,会有三组分类器,最后新资料会判断为票数较高的类别1。% [2 s2 X! [6 R3 o( P
1 H( l6 ?0 Z7 V9 c
One versus One Example (Source from Internet) : f. m2 n4 j( }1 ~5 D" F, L& c& F1 }. n5 @* Z: G5 t B8 a
Logistic Regression的优点:; K) }; V. z* j8 b i, |
◆ 资料线性可分(包含在高维度空间找到linear plane)% ]; D I7 A4 {9 n
◆ 除了分类,也可以得到A/B两类的机率 5 l# ]( j% Q2 z5 q* X! [7 z◆ 执行速度较快 7 U1 ~& Z9 a$ S# @6 i7 ~ % a) b W3 m$ K7 E& KLogistic Regression的缺点: + n' _9 }. U- e- \8 D◆ 线性回归线的切法可能不够漂亮 1 s+ C2 T& j, |6 C! Q0 l% h0 B% Z◆ 不能很好地处理大量、多类特征3 d ]% i ~% H0 F9 u
. ]- n7 w( E5 ?1 ^
二、 支持向量机( 支持向量机,SVM)0 o- n$ S/ w* L+ R# @9 X
支持向量机(Support Vector Machine)是在寻找一个超平面(Hyper-plane)来做分类,并使两个类别之间的边界距离最大化(会忽略异常点Outlier)。7 w: P. d& [. g Q