Cyan's Blog

Search

Search IconIcon to open search

Part.13_Cost_Function-Logistic_Regression(ML_Andrew.Ng.)

Last updated Aug 19, 2021 Edit Source

# Cost Function - Logistic Regression

2021-08-19

Tags: #CostFunction #LogisticRegression #MachineLearning

# Representation

如果我们采用 线性回归的损失函数: 均方误差

, 那么因为Logistic 回归的h(x)h(x)里面有形式很复杂的Logistic函数, 损失函数将不再是 凸函数

凸优化与线性回归问题

Gradient Descent & Convex Optimization / 凸优化 2021-08-02 Tags: #MachineLearning #ConvexOptimization #Math 在这里(和下面的引用里面).md), 我们特殊的线性规划的损失函数一定是一个凸函数, 那么在其他情况下, 线性规划还是凸函数吗, 线性规划问题会陷入局部最优的问题中去吗? Note that, while gradient descent...

11/19/2023

, 将会很难最小化, 所以我们需要考虑另外的损失函数形式:

我们采用这样的对数形式 Update: 这其实是 Cross_Entropy-交叉熵

$$ \begin{array}{ll} J(\theta)=\frac{1}{m} \sum_{i=1}^{m} \operatorname{Cost}\left(h_{\theta}\left(x^{(i)}\right), y^{(i)}\right) & \\ \\ \operatorname{Cost}\left(h_{\theta}(x), y\right)=-\log \left(h_{\theta}(x)\right) & \text { if } \mathrm{y}=1 \

\operatorname{Cost}\left(h_{\theta}(x), y\right)=-\log \left(1-h_{\theta}(x)\right) & \text { if } \mathrm{y}=0 \end{array}$$

# Intuition

这样, 总体上, 在预测值与真实值越接近的时候损失函数越接近于0.

Cost(hθ(x),y)=0 if hθ(x)=yCost(hθ(x),y) if y=0 and hθ(x)1Cost(hθ(x),y) if y=1 and hθ(x)0\begin{array}{ll} Cost(h_θ(x),y)=0 \text{ if } h_θ(x)=y\\ Cost(h_θ(x),y)→∞ \text{ if } y=0 \text{ and } h_θ(x)→1\\ Cost(h_θ(x),y)→∞ \text{ if } y=1 \text{ and } h_θ(x)→0\\ \end{array}

这样的损失函数形式确保了logistic regression的 J(θ)J(θ) 是凸函数.

# 证明

证明Logistic回归的损失函数是凸函数

证明Logistic回归的损失函数是凸函数

证明Logistic回归的损失函数是凸函数 2021-09-11 Tags: #MachineLearning #LogisticRegression #ConvexOptimization #CostFunction 证明 原函数 Part.13CostFunction-LogisticRegression(MLAndrew.Ng.).md) h=g(Xθ)J(θ)=1m[yTlog(h)+(1y)Tlog(1h)]\begin{aligned} h&=g(X \theta) \\ J(\theta)&=-\frac{1}{m} \cdot\left[y^{T} \log (h)+(1-y)^{T} \log (1-h)\right] \end{aligned} 一阶导数 在梯度下降里面我们已经求出了一阶导数了: .md#推导) 二阶导数 h(x)=g(θTx)h(x)=g\left(\theta^Tx\right) $$\begin{aligned} \frac{\partial}{\partial \theta_{j}} h(x)&= \frac{\partial}{\partial \theta_{j}} g\left(\theta^Tx\right)\\ &=g\left(\theta^Tx\right)\left(1-g\left(\theta^Tx\right)\right) \frac{\partial}{\partial...

11/19/2023

# 更简洁的形式

我们可以把两种情况写成一个式子: Cost(hθ(x),y)=ylog(hθ(x))(1y)log(1hθ(x))\operatorname{Cost}\left(h_{\theta}(x), y\right)=-y \log \left(h_{\theta}(x)\right)-(1-y) \log \left(1-h_{\theta}(x)\right) (观察上面的式子: 在y=1y=1的时候, 1y=01-y=0, 在y=0y=0的时候, 1y=11-y=1)

# Cost Function

所以损失函数可以表示为: J(θ)=1mi=1mCost(hθ(x(i)),y(i))=1mi=1m[y(i)log(hθ(x(i)))+(1y(i))log(1hθ(x(i)))] \begin{align} J(\theta)&=\frac{1}{m} \sum_{i=1}^{m} \operatorname{Cost}\left(h_{\theta}\left(x^{(i)}\right), y^{(i)}\right) \\ &=-\frac{1}{m} \sum_{i=1}^{m}\left[y^{(i)} \log \left(h_{\theta}\left(x^{(i)}\right)\right)+\left(1-y^{(i)}\right) \log \left(1-h_{\theta}\left(x^{(i)}\right)\right)\right]\\ \end{align} (注意提出来的负号)

向量化

的表示为: h=g(Xθ)J(θ)=1m[yTlog(h)+(1y)Tlog(1h)] \begin{aligned} h&=g(X \theta) \\ J(\theta)&=-\frac{1}{m} \cdot\left[y^{T} \log (h)+(1-y)^{T} \log (1-h)\right] \end{aligned}