Logistic Regression === ###### tags: `李宏毅` ## 課程資訊 * [Youtube](https://www.youtube.com/watch?v=hSXFuypLukA&ab_channel=Hung-yiLee) * [PDF](https://drive.google.com/file/d/1wz4OmSyhOLdaLgYKQe33MePsPWn9EOwt/view?usp=sharing) ## 實作步驟 1. Function Set 2. Goodness of a Function 3. Find the best function  ### 1. Function Set 定義模型的樣子,以下圖為例,把每個輸入乘以一個 w(weight),然後加上 b(bias) 得到的結果 z 再經過 Sigmoid Function $σ(z)=\dfrac{1}{1+e^{-z}}$ 就會是 Class1 的機率。  在這個步驟 1,Logistic Regression 和 Linear Regression 的差別在於 Logistic Regression 的輸出會在 0~1 之間,Linear Regression 則是輸出多少都可以。 ### 2. Goodness of a Function 目標就是找到 w、b 最大化 Training Data 的對應類別的機率。  改寫 Loss Function 變成最小化 $-lnL(w,b)$,這樣就可以把 $f_{w,b}(x^1)$、$f_{w,b}(x^2)$ 相加。另外把實際的類別,預測正確的為 1,反之為 0。  最後把它們 Summation,然後把實際的機率(0, 1) 和預測的機率取 Cross Entropy,即 $H(p,q)=-\sum_{x}^{}p(x)ln(q(x))$,算出來的結果是 Loss。意義上就是希望兩邊的結果越相近越好。  在這個步驟 2,Logistic Regression 和 Linear Regression 的差別在於 Logistic Regression 是用 Cross Entropy 的和,而 Lienar Regression 是用 Square Error。 在 Logistic Regression 不用 Square 的原因是如果 $f_{w,b}$ 等於 0 或 1,微分會變成 0。這會造成如果 Training Data 離正確值很遠,修正的幅度卻很小。  ### 3. Find the best function 把 L 對每個 $w_i$ 做偏微分,然後乘以 Learning Rate 做調整,偏微分結果如下圖。  在這個步驟 3,Logistic Regression 和 Linear Regression 偏微分後的結果是一樣的,都是 $w_i = wi-η\sum_{n}^{}-(y^n-f_{w,b}(x^n))x_i^n$。 ## Discriminative vs Generative 兩者差在找 w、b 的方式,Discriminative 是直接根據 Training data 去找 w、b;而前面使用的 Generative 則是有假設一些情況,例如假設它是 Gaussian、Naive Bayes 等等。兩者找到的結果是不同的,Discriminative 的結果是比較好的。  如果 Training Data 很少,使用 Generative Model 會有一些自己的假設,所以反而可以表現得比 Discriminative Model 好。 ## Multi-class Classification 每個 Class 都會有自己的 w_i、b_i,每個 z_i 就等於 $w_i*x+b_i$,然後放入 Softmax 算出機率。那為什麼是用 exponential? $y_i=\dfrac{e^{z_i}}{\sum_{}^{}e^{z_i}}$ 最後一樣是用 Cross Entropy 當 Loss Function。  ## Limit of Logistic Regression 無法把交錯的類別分開,也是說只能用直線區分。可以使用 Feature Transformation,把資料點轉移到另一個 Space。不過不一定能找到好的 Transformation,所以問題就會變成怎麼找到好的 Transformation Function。  可能的解決方法是 Cascading Logistic Regression Model。把 Logistic Regression 拿來做 Feature Transformation,然後再用另一個 Logistic Regression 做分類。  所以其實 Logistic Regression 的結果不只可以是預測值,也可以是另一個 Logistic Regression,當很多 Logistic Regression 疊起來時就是 Neural Network。 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up