---
# System prepended metadata

title: 線性分類-邏輯回歸（Logistic Regression）
tags: [監督式學習（Supervised learning）, 機器學習]

---

## 介紹邏輯回歸（Logistic Regression）
在機器學習的分類問題中，邏輯回歸（Logistic Regression）是一種經典且廣泛應用的統計方法，主要用於處理二元分類問題，雖然名稱中帶有「回歸」，但 Logistic Regression 並非像線性回歸那樣用來預測連續數值，而是透過非線性轉換來估計某個類別的機率，並進行二元分類任務。

這種方法的核心概念是使用 Sigmoid 函數將線性模型的輸出結果轉換為 0 到 1 之間的數值，並根據設定的閾值（如下圖的閥值為 0.5）來決定分類結果，只要大於等於 0.5，則分類為 Y = 1，而小於 0.5，則分類為 Y = 0。

![image](https://hackmd.io/_uploads/B1k3QXCY1l.png)

## 邏輯迴歸的 Cost Function 以及 Optimization
### Cost Function
在 Logistic Regression 的模型訓練過程中，希望找到一組最佳的參數 W 和 b，使得模型的預測機率能夠最接近真實標籤，並常使用交叉熵損失函數（Cross-Entropy），如下，其中 $y^{(i)}$ 代表實際類別（0 或 1），$ŷ ^ {(i)}$ 代表模型的預測機率，m 則是訓練樣本數量。

$J(W, b) = -\frac{1}{m} \sum_{i=1}^{m} \left[ y^{(i)} \log \hat{y}^{(i)} + (1 - y^{(i)}) \log (1 - \hat{y}^{(i)}) \right]$

### Optimization
為了尋找最佳的參數 W 和 b，我們使用梯度下降（Gradient Descent）方法來最小化交叉熵損失函數。

$W := W - \alpha \frac{\partial J}{\partial W}$
$b := b - \alpha \frac{\partial J}{\partial b}$

## 為何不使用線性回歸進行二元分類？
1. <font color="#1936C9">線性回歸的決策邊界是線性的</font>：它無法有效處理非線性可分的數據，在分類問題中，數據點之間的關係往往並非單純的線性模式。
1. <font color="#1936C9">線性回歸的輸出是連續數值</font>：範圍從負無窮大到正無窮大，這與二元分類的需求不符，因為分類問題的預測應該是一個概率值，理論上應該落在 0 到 1 之間。
3. <font color="#1936C9">線性回歸的損失函數通常是均方誤差（MSE）</font>：MSE 容易受到異常值（Outlier）的影響，這可能導致錯誤的分類邊界。

---
:::info
以上就是這篇文章「線性分類-邏輯回歸（Logistic Regression）」的所有內容，第一次看的人會花比較多時間消化吸收，這是很正常的事情，若有任何問題，歡迎在下方與我聯繫、討論，接下來也會繼續分享相關文章，敬請期待。