( v( b9 Y7 G) `& @1 A, u监督式学习(Supervised Learning):给予「有标签」的资料,举例来说:给机器一堆苹果和橘子的照片,并说明哪些是苹果、哪些是橘子,再拿一张新的照片询问机器这是苹果还是橘子,而监督式学习又可分为回归(Regression)和分类(Classification)。 ]$ Z; _) ^8 R( H; y/ S ! ]* L4 O: n! @+ B1 E# B非监督式学习(Unsupervised Learning):给予「无标签」的资料,让机器找出潜在的规则,举例来说:给予机器一堆苹果和橘子的照片,但没有告诉机器这些照片各别是哪种水果,让机器自行找到资料间的相似性,而非监督式学习又可分为分群(Clustering)和降维(Dimension Reduction)。 $ B6 z" c$ R( x& x* K- N# S" ]) N" r. G7 W4 ^& g
这篇文章会以监督式学习中的分类模型为主。 1 V$ {8 Y/ O5 |! \: t8 P / Q: C( V; J7 U g0 W t" t* _9 }+ {一、逻辑回归(Logistic Regression)! s2 Q1 r1 W$ ?$ }
逻辑回归是个二元分类(Binary Classification)的模型,并有其对应的机率值,举例:明天会下雨的机率有90%。$ L% D% A$ E# Q/ f1 x7 @5 g
7 f: d r k3 Y: p1 y A+ ]6 R% u基本概念是利用线性回归线(Linear Regression Line),将资料分为A/B两类,再透过Sigmoid Function (or Logistic Function) 输出A类别的机率值(0~1),若机率>0.5则判断为A类别,因为是二元分类,所以当机率<0.5则被归类为B类别。 7 \* h5 J( J Z R( ?+ r9 W 6 |4 x# H3 E% v% i$ ^: k$ q若需处理多元分类问题,有两种方法: 0 \( L/ R# k9 J( ^( k1. One versus Rest (or One versus All):将每个分类与其他剩余的资料做比较,若有N个类别,就需要N个二元分类器。以下方图例来说明,若有类别1~3,每次各使用一个类别与剩余的两个类别作二元分类后,会得到三个分类器,预测时把资料放到三个分类器中,看哪个分类器的分数较高,就判断为该类别。 0 E( P6 k8 f7 |. ~ {9 W u. V; i- [! n) t
One versus Rest Example (Source from Internet)$ C- H- [% s/ W: y! Q a0 K
, n& _5 H% L2 A7 }$ J0 S+ F: w2. One versus One:每次选择两个类别做分类,若有N个类别,就会有N*(N-1)/2个分类器,将每次分类的结果做投票,最后判断为票数最高的那个类别。举下方图例来说,有三个类别,会有三组分类器,最后新资料会判断为票数较高的类别1。 * c/ m2 O q8 j0 G 4 e: `$ G+ {, a# t* e" u" n2 rOne versus One Example (Source from Internet) 0 g3 {# x0 y0 w: a& u) c$ Y5 ?% N# s8 E7 h4 ]
Logistic Regression的优点:; `; `, V8 D; u+ X0 N. x% X2 X
◆ 资料线性可分(包含在高维度空间找到linear plane)* I$ h- ?7 ^! T5 m5 A' X& g- p9 J8 Z
◆ 除了分类,也可以得到A/B两类的机率/ U, ]% D0 u% \& o5 C
◆ 执行速度较快* Y, ^+ O, Z$ O, ~! z
2 M, m/ c9 i& ^6 _9 ?
Logistic Regression的缺点: / I9 N3 X5 Z6 `! `3 C◆ 线性回归线的切法可能不够漂亮 ) e4 a) o+ j5 M! e◆ 不能很好地处理大量、多类特征 % x" t5 }* H K8 u# @* V4 g& ~. B$ `) \3 T ^
二、 支持向量机( 支持向量机,SVM)/ F9 I3 e' e& o) ~( l4 v: R, s) z
支持向量机(Support Vector Machine)是在寻找一个超平面(Hyper-plane)来做分类,并使两个类别之间的边界距离最大化(会忽略异常点Outlier)。 % _2 {9 Z$ g6 O6 h# P8 } x1 f" m' \8 g2 ]. e6 N! K: USVM也可使用于非线性分类(如下图B),透过Kernels functions将低维空间转换为高维空间,让资料可以在高维空间被线性分类。想像红色球的重量比蓝色球还重,在平面上一拍,让球往上弹,重量重的红色球会较快落下,在立体空间就可以找出个平面来切分红色和蓝色球。2 v. U! l; z1 ?! n3 u