正则化- logistics回归

正则化是一种常见的机器学习技术,它是在模型训练过程中为了防止过拟合而引入的一种约束方法,它通过在模型的损失函数中增加正则项来实现。正则项通常是模型参数的范数(L1 或 L2 范数),通过限制参数的大小来使得模型更加简单,从而减少过拟合的风险。

在 logistic 回归中,正则化可以通过在损失函数中增加一个正则项来实现。L1 正则化通过在损失函数中增加参数向量的 L1 范数,使得许多参数被压缩到 0,从而实现特征选择。L2 正则化通过在损失函数中增加参数向量的 L2 范数,使得每个参数都被惩罚,但不会被压缩到 0。

在实际应用中,可以使用交叉验证等技术来选择最佳的正则化参数。可以使用 Scikit-learn 等 Python 库来实现正则化,例如:

from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 定义模型,并指定 L1 正则化
model = LogisticRegression(penalty='l1', solver='liblinear')

# 分割数据集为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 训练模型
model.fit(X_train, y_train)

# 预测测试集,并计算准确率
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy:.2f}")
`


L1 正则化和 L2正则化的区别

在这个例子中,penalty 参数指定使用 L1 正则化,solver 参数指定使用 liblinear 算法来求解模型参数。在训练过程中,模型会自动对参数进行正则化,并使用交叉验证来选择最佳的正则化参数。最终,可以通过计算准确率来评估模型的性能。

L1 正则化和 L2 正则化都是常用的正则化方法,它们的主要区别在于正则化项的形式不同。

L1 正则化使用 L1 范数作为正则化项,它的形式为: λ ∑ i = 1 n ∣ w i ∣ \lambda\sum_{i=1}^{n}|w_i| λ

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值