∑_1^n▒{y_i (〖ln(〗〖∅(β^T x_i )〗 )+(1-y_i)ln〖(1-∅(β^T x_i ))〗 } 运用累加求和函数写成代码python
时间: 2023-12-07 13:04:32 浏览: 61
累加数(python)1
利用Python中的向量化计算,可以将逻辑回归的损失函数写成更加简洁的代码,如下所示:
```python
import numpy as np
def logistic_regression_loss(beta, X, y):
"""
Logistic regression loss function
:param beta: model parameter vector
:param X: feature matrix
:param y: label vector
:return: loss value
"""
z = np.dot(X, beta)
logit = 1 / (1 + np.exp(-z))
loss = np.sum(y * np.log(logit) + (1 - y) * np.log(1 - logit))
loss = -loss / X.shape[0]
return loss
```
其中,`np.dot(X, beta)`表示特征矩阵和参数向量的矩阵乘法,得到每个样本的预测值,`1 / (1 + np.exp(-z))`表示逻辑函数,`np.sum(y * np.log(logit) + (1 - y) * np.log(1 - logit))`表示对每个样本的损失值进行求和,最后再除以样本个数求平均得到总体损失值。
阅读全文