---
# System prepended metadata

title: Week 2 Note
tags: [WIDM Study Group]

---

# Week 2 Note

###### tags: `WIDM Study Group`

## Chapter 4 Classification
在Classfication中，我們輸入一個X，而model告訴我們X的類別
ex. 機器翻譯、文法偵錯、臉部表情偵測...等
![](https://i.imgur.com/3PDDWd7.png)

得到寶可夢的特徵並數值化
![](https://i.imgur.com/PGgqLwz.png)


## example of Classification(Pokemon)
![](https://i.imgur.com/EKEi1kG.png)

以二分類為例，我們可以使用Regression。
輸出為{1, -1}，即輸出為1到-1之間，接近1為class1，接近-1為class2。則我們以0為分界，若輸入大於0為class1，反之則為class2。
![](https://i.imgur.com/yc07fRR.png)

## Why not Regesssion
在Linear Regression中，做Binary Classification是可行的。
但若資料是分群的(如右圖Class1)，則會造成model收斂於紫線(為了降低誤差)。
![](https://i.imgur.com/xEiD5P8.png)

## Ideal Alternatives
先定義一function f(x)，裡面有一g(x)。將x帶入g(x)，若g(x)>0為類別1，否則為類別0。
定義Loss function L(f):f(x)分類錯誤的次數。
![](https://i.imgur.com/cjh4lGp.png)

## 以機率模型實現
以箱子抽球為例
![](https://i.imgur.com/ting6eJ.png)

將Box變為class，給一個x(要分類的對象)，它屬於某個class的機率為何，我們需要知道：
* $P(C1)$:從class1抽出來的機率
* $P(C2)$:從class2抽出來的機率
* $P(x|C1)$:從class1抽出x的機率
* $P(x|C2)$:從class2抽出x的機率

有了上面四種機率，就可以計算出$P(C1|x)$的機率(x是class1的機率)
![](https://i.imgur.com/giY92h3.png)
### example
![](https://i.imgur.com/Qg6Q9bj.png)

如何判斷一個未出現在training set的data的機率?
![](https://i.imgur.com/VR5KvNW.png)

假設從Gaussian中取出79個點，現在給一個新的點(不存在79個資料集中的新資料)，就可以利用Gaussian Distribution function來計算出抽到該點的機率。

以分佈來看，該點愈接近中心點被抽到的機率會愈高，離中心愈遠被抽到的機率則愈低，因此黑點，New $x$離中心有點遠，被抽到的機率就會有點小。

所以，如何找出$μ$與$Σ$就是一個問題，而找出它們的概念就是Maximum Likelihood。
![](https://i.imgur.com/E5xklym.png)

任何一個Gaussian Distribution都可以找出這79個點，只是可能性(Likelihood)不同。以右上分佈為例，它sample出左下角的機率很低，但不會為0。而要找出最大的$μ$與$Σ$，就必須用Likelihood function，即這79個點的乘積。
![](https://i.imgur.com/SSFqGXU.png)

## Maximum Likelihood
* 要找出最大的function，就必須找出最大的$μ$與$Σ$，即($μ^*$, $Σ^*$)
    * 窮舉所有的$μ^*$和$Σ^*$，並找出最大的者：$μ^∗,Σ^∗$$=arg$ $\max\limits_{μ,Σ}L(μ,Σ)$

算出$μ^*$和$Σ^*$的方法就如同機率與統計的算法一樣。

![](https://i.imgur.com/3T3VdBB.png)

有了上面的公式就可以求出兩個calss的各別$μ$與$Σ$，也就可以計算出$P(C1|X)$。
![](https://i.imgur.com/zz9Iki7.png)

## Now we can do classification
若$P(C1|X)>0.5$，這個$x$就屬於class1
![](https://i.imgur.com/tquUVzm.png)

## How’s the results?
由右上圖可明顯的看出來這二類別並未有個明顯的分界。即使考慮了額外的七個特徵(類別)，正確率也沒有明顯的提升。
![](https://i.imgur.com/IspeQUG.png)

## Modifying Model
在實務上並不會讓每個高斯模型都擁有自己的$μ$和$Σ$，而是會共享參數，藉此減少參數的計算量。常見作法是不同類別有著相同的$Σ$。
![](https://i.imgur.com/zlLaB7V.png)

## Modifying Model-2
調整式子，讓水系與一般系神奇寶貝擁有相同的covariance，計算它們的likelihood：
* $L(μ^1,μ^2,Σ)=f_{u^1,Σ}(x^1)f_{u^1,Σ}(x^2)...f_{u^1,Σ}(x^{79})f_{u^2,Σ}(x^{80})f_{u^2,Σ}(x^{81})...f_{u^2,Σ}(x^{140})$
![](https://i.imgur.com/9QOa45k.png)

## Modifying Model-Result
共用covariance之後，分界變為線性，這也稱為線性模型，並且考慮所有特徵之後正確率提升為73%。
![](https://i.imgur.com/y92DAXi.png)

## Three Steps(Review)
* Model
    * 有P(C1),P(C2),P(x|C1),P(x|C2)四種機率分佈，這就是模型的參數，只要你選不同的μ(mean)與Σ(covariance)，就會得到不同的機率分佈模型。
    * P(C1)>0.5, class=1
* Goodness of a function
    * 要得到最好的模型，就必須找到最大的$μ$與$Σ$，以Maximum Likelihood求得。
![](https://i.imgur.com/7o8kfyX.png)

## Posterior Probability
![](https://i.imgur.com/u0YNy0Q.png)

---
## 補充
假設$μ$與$Σ$為已知，將高斯函數在$z$展開並將共同係數提出整理，得：
* ![](https://i.imgur.com/gJSANQ1.png)

可得知$P(C1|x)=σ(z)=σ(w⋅x+b)$，由此可證明當兩類別為同一分佈時，分界線會呈線性的。
![](https://i.imgur.com/TxjMw0i.png)
以上計算步驟太繁瑣了，能不能直接得到w及b呢?-Logistic Regression


---




# chapter 5 Logistic Regression

## Step 1：Function Set
我們要找posteriori probability，當機率$P_{w,b}(C_{1}|x)≥0.5$則輸出$C_{1}$，否則即輸出$C_{2}$。
![](https://i.imgur.com/tHR8IYW.png)
![](https://i.imgur.com/6fuJ2On.png)

## Step 2: Goodness of a Function
設我們有任一組w,b可產生N筆Data($x^1 ... x^N$)
與Chapter 4 進行Classification時相同，用Maximum Likelihood找w,b。
![](https://i.imgur.com/Zi4bcLm.png)
![](https://i.imgur.com/dxd6k0o.png)
![](https://i.imgur.com/KM2cR5B.png)
![](https://i.imgur.com/wzQBvmf.png)
![](https://i.imgur.com/al3Xu4E.png)
![](https://i.imgur.com/CPdoOEM.png)
![](https://i.imgur.com/kHgsogx.png)
## Comparison－Logistic v.s. Linear
我們可以發現，在更新參數$w_{i}$ Logistic 和 Linear 是一樣的，差別在於輸出(紫色線部分)。前者輸出介於0到1之間，後者則可為任何數值。
![](https://i.imgur.com/xCye0YO.png)

## Limitation of Logistic Regression
使用Regression分類就是找到一條直線去分類資料
![](https://i.imgur.com/SlO2fj3.png)
![](https://i.imgur.com/eHP27ys.png)
x1,x2為座標點，-0.5為bias $b$
![](https://i.imgur.com/fbKKoXb.png)

## XOR Problem
但今天資料為分散的，就難以以一條線去做簡單分類。
![](https://i.imgur.com/vLamyCp.png)
![](https://i.imgur.com/KEbg8BQ.png)
這時我們就可將多一點的Regression疊在一起，輸出時再多加一層Regression來分類。
![](https://i.imgur.com/YW2E6Lb.png)

## That's Deep Learning
![](https://i.imgur.com/fl5PAeq.png)

---
# 補充：Perceptron v.s. Logistic Regression
傳統的Perceptron使用step function當作輸出。
![](https://i.imgur.com/G01lWle.png)
因step function為非線性，難以用微分計算誤差，故改用Sigmoid $σ(in)$。
![](https://i.imgur.com/m7una26.png)

---