当前位置:   article > 正文

【机器学习】成本函数在逻辑回归中的形式以及逻辑回归的成本函数

【机器学习】成本函数在逻辑回归中的形式以及逻辑回归的成本函数

引言

在机器学习中,逻辑回归是一种用于二分类问题的线性回归的扩展。逻辑回归的成本函数是用来评估模型预测结果与实际结果之间差异的函数

一、成本函数在逻辑回归中的形式

逻辑回归的成本函数是交叉熵损失(Cross-Entropy Loss)的一种形式,它由两部分组成:正例的损失和负例的损失

1.1 成本函数的具体形式

1.1.1 对于单个训练样本

损失(loss)函数定义为:
loss ( y , y ^ ) = − y log ⁡ ( y ^ ) − ( 1 − y ) log ⁡ ( 1 − y ^ ) \text{loss}(y, \hat{y}) = -y \log(\hat{y}) - (1 - y) \log(1 - \hat{y}) loss(y,y^)=ylog(y^)(1y)log(1y^)
其中:

  • y y y是真实的标签值,取值为 0 或 1。
  • y ^ \hat{y} y^是模型预测的概率,即 y ^ = P ( y = 1 ∣ x ; θ ) \hat{y} = P(y = 1 | x; \theta) y^=P(y=1∣x;θ),这是通过逻辑函数(logistic function)计算得出的。

逻辑函数(也称为sigmoid函数)定义为:
y ^ = σ ( z ) = 1 1 + e − z \hat{y} = \sigma(z) = \frac{1}{1 + e^{-z}} y^=σ(z)=1+ez1
其中:

  • z z z是线性回归的输出,即 z = θ T x + b z = \theta^T x + b z=θTx+b θ \theta θ是权重参数, b b b是偏置项

将上述损失函数应用于整个训练集,得到成本函数(Cost Function)
J ( θ ) = 1 m ∑ i = 1 m loss ( y ( i ) , y ^ ( i ) ) J(\theta) = \frac{1}{m} \sum_{i=1}^{m} \text{loss}(y^{(i)}, \hat{y}^{(i)}) J(θ)=m1i=1mloss(y(i),y^(i))
其中:

  • m m m是训练样本的数量, y ( i ) y^{(i)} y(i) y ^ ( i ) \hat{y}^{(i)} y^(i)分别是第 i i i个样本的真实标签和预测概率
  • 成本函数 J ( θ ) J(\theta) J(θ)的目的是通过最小化这个函数来找到最佳的参数 θ \theta θ,使得模型在训练数据上的预测误差最小
  • 在逻辑回归中,通常使用梯度下降(Gradient Descent)或其变体来最小化成本函数

二、逻辑回归的成本函数实现

2.1 导入第三方库

import numpy as np
%matplotlib widget
import matplotlib.pyplot as plt
from lab_utils_common import plot_data, sigmoid, dlc
plt.style.use('./deeplearning.mplstyle')
  • 1
  • 2
  • 3
  • 4
  • 5

2.2 数据集

我们从决策边界实验中使用的数据集开始

X_train = np.array([[0.5, 1.5], [1,1], [1.5, 0.5], [3, 0.5], [2, 2], [1, 2.5]])  #(m,n)
y_train = np.array([0, 0, 0, 1, 1, 1])                                           #(m,)
  • 1
  • 2

我们将使用一个辅助函数来绘制这些数据。标签为声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】

推荐阅读
相关标签