Classification
舉幾個簡單的例子
Transaction : Fraud / No fraud
Tumor : Malignant / Benign
我們會用 0/1 來代表結果
1 = Positive class (通常為計算中比較想知道的結果)
例如 :
y∈{0,1}∣ 0 = benign tumor, 1 = malignant tumor 當然 classification 可以有多種結果
但現在只專注在 binary classification problem
我們可以利用 linear regression 來找到 Hypothesis
只要簡單的設置一個 threshold (例如 0.5)
y < 0.5
的是 0 而 y > 0.5
的是 1
但這方法不好,假設今天有一個 outlier 出現在 plot 的最右方
另外,若使用 linear regression 來預測 hypothesis 時
hθ(x) can be >1 or <0 所以我們在解決 classification problem 時
會使用 Logistic Regression,他會使得 h 的區間在合理範圍
0≤hθ(x)≤1 Hypothesis Representation
所以在解決 classification problem 時
我們的 hypothesis 將套用 Logistic Function g (又稱作 Sigmoid Function)
g(z)=1+e−z1 Logistic function 的長相像這樣
不超過 0 和 1 的 boundary,而且看起來很適合處理 classification
所以我們將他套入原本的 hypothesis :
hθ(x)=g(θTx)=1+e−θTx1 現在 hypothesis 有了全新的意義
hypothesis 現在代表 1 出現的 Probability
也就是 positive class 的出現機率
用機率的方法表示如下 :
hθ(x)=P(y=1∣x;θ)=1−P(y=0∣x;θ) or P(y=0∣x;θ)+P(y=1∣x;θ)=1 用 tumor 的例子來說 :
if hθ(x)=0.7then the tumor have 70% to be 1 (malignant).and the tumor have 30% to be 0 (benign). Decision Boundary
為了更好的辨識 0/1
我們以 0.5 作為間隔值
也就是說大於等於 0.5 的都是 1,而小於 0.5 的是 0
hθ(x)≥0.5→y=1hθ(x)<0.5→y=0 另外我們觀察到 sigmoid function
只要 y > 0.5 那 z 就一定大於 0
若 y < 0.5 那 z 就一定小於 0
z=0,g(z)=1+e−01=21z→∞,g(z)=1+e−∞1=1z→−∞,g(z)=1+e∞1=0 因此我們可以推測出 :
g(z)≥0.5when z≥0hθ(x)=g(θTx)≥0.5when θTx≥0 現在我們只要看 θTx 就可以判斷 :
θTx≥0⇒y=1θTx<0⇒y=0 而介於兩者中間的那一條線,就是 Decision Boundary
Linear Decision Boundary
假設我們已經知道下方 training sets 的 hypothesis 了
(會在之後的篇幅講到如何找到 hypothesis)
hθ(x)=g(θ0+θ1x1+θ2x2),θ=−311 將 θ 代回 hypothesis 可以得到
−3+x1+x2≥0⇒y=1x1+x2≥3⇒y=1x1+x2<3⇒y=0 而x1+x2=3
就是分割兩群 data set 的 decision boundary
Non-linear Decision Boundary
在 classification problem 中我們也可以沿用 linear regression 的技巧
使用 quadratic, cubic 等不同 function 來表示 hypothesis
例如上面這種類型的 training sets
Hypothesis 為
hθ(x)θ=g(θ0+θ1x1+θ2x2+θ3x12+θ4x22)=−10011 所以
−1+x12+x22≥x12+x22≥01⇒y=1 我們就可以知道 decision boundary 為 :
x12+x22=1 也就是圈起來的那條線