机器学习对数几率回归损失函数
时间: 2025-01-04 22:33:09 浏览: 8
### 对数几率回归损失函数解释
对数几率回归(Logistic Regression, LR)是一种广泛应用于分类问题中的统计方法。其核心在于通过构建概率模型来预测离散型变量的结果。
#### 损失函数定义
对于二元分类问题,设输入特征向量为 \( \mathbf{x} \),对应的标签为 \( y\in\{0,1\} \) ,则对数几率回归的概率表达形式如下:
\[ P(y=1|\mathbf{x};\theta)=h_\theta(\mathbf{x})=\frac{1}{1+\exp(-\theta^\top\mathbf{x})}, \]
其中 \( h_\theta(\mathbf{x}) \) 表示给定参数 \( \theta \) 和样本 \( \mathbf{x} \) 下属于类别 1 的条件概率[^3]。
为了衡量模型预测值与真实值之间的差距,引入了损失函数的概念。在对数几率回归中,通常使用的损失函数是对数似然损失函数的负值,即交叉熵损失函数:
\[ L(\theta)=-\left[y\log(h_\theta(\mathbf{x}))+(1-y)\log(1-h_\theta(\mathbf{x}))\right]. \]
该公式能够有效地惩罚错误分类的情况,并且当实际标签接近于预测概率时趋于零[^4]。
#### 公式推导过程
考虑一组训练数据集 \( D={(x^{(i)},y^{(i)})}_{i=1}^m \),目标是在所有可能的选择中找到使得整体可能性最大的那组参数 \( \theta \)[^2]。因此最大化下述连乘积的形式:
\[ p(D;\theta)=p((x,y)^{(1)};θ)p((x,y)^{(2)};θ)...p((x,y)^{(m)};θ). \]
取自然对数得到对数似然函数:
\[ l(\theta)=\sum_{i=1}^{m}\left[y^{(i)}\log(h_\theta(x^{(i)}))+(1−y^{(i)})\log(1−h_\theta(x^{(i)}))\right], \]
进一步转换成最小化的目标函数就是上述提到的平均化的负对数似然作为损失函数\(L(\theta)\):
\[ J(\theta) =-\frac{1}{m}\sum_{i=1}^{m}[y^{(i)}\log(h_\theta(x^{(i)}))+(1−y^{(i)})\log(1−h_\theta(x^{(i)}))] .\]
此过程中利用到了极大似然估计的思想以及信息论的相关理论基础[^1]。
```python
import numpy as np
def sigmoid(z):
return 1 / (1 + np.exp(-z))
def compute_loss(X, y, theta):
m = len(y)
predictions = sigmoid(np.dot(X, theta))
loss = (-1/m) * (
np.sum(
y*np.log(predictions)+(1-y)*np.log(1-predictions)
)
)
return loss
```
阅读全文