python模型训练 warm_start_logistic_regression---python实现

logistic regression(用python实现)

一、 理论知识

logistic 回归,虽然名字里有 “回归” 二字,但实际上是解决分类问题的一类线性模型。在某些文献中,logistic 回归又被称作 logit 回归,maximum-entropy classification(MaxEnt,最大熵分类),或 log-linear classifier(对数线性分类器)。该模型利用函数 logistic function 将单次试验(single trial)的可能结果输出为概率。

scikit-learn 中 logistic 回归在 LogisticRegression 类中实现了二分类(binary)、一对多分类(one-vs-rest)及多项式 logistic 回归,并带有可选的 L1 和 L2 正则化。

注意,scikit-learn的逻辑回归在默认情况下使用L2正则化,这样的方式在机器学习领域是常见的,在统计分析领域是不常见的。正则化的另一优势是提升数值稳定性。scikit-learn通过将C设置为很大的值实现无正则化。

作为优化问题,带 L2罚项的二分类 logistic 回归要最小化以下代价函数(cost function):

m i n   w , c 1 2 w T w + C ∑ i = 1 n log ⁡ ( exp ⁡ ( − y i ( X i T w + c ) ) + 1 ) . \underset{w, c}{min\,} \frac{1}{2}w^T w + C \sum_{i=1}^n \log(\exp(- y_i (X_i^T w + c)) + 1) .w,cmin​21​wTw+Ci=1∑n​log(exp(−yi​(XiT​w+c))+1).

类似地,带 L1 正则的 logistic 回归解决的是如下优化问题:

m i n   w , c ∥ w ∥ 1 + C ∑ i = 1 n log ⁡ ( exp ⁡ ( − y i ( X i T w + c ) ) + 1 ) . \underset{w, c}{min\,} \|w\|_1 + C \sum_{i=1}^n \log(\exp(- y_i (X_i^T w + c)) + 1) .w,cmin​∥w∥1​+Ci=1∑n​log(exp(−yi​(XiT​w+c))+1).

Elastic-Net正则化是L1 和 L2的组合,来使如下代价函数最小:

min ⁡ w , c 1 − ρ 2 w T w + ρ ∥ w ∥ 1 + C ∑ i = 1 n log ⁡ ( exp ⁡ ( − y i ( X i T w + c ) ) + 1 ) . \min_{w, c} \frac{1 - \rho}{2}w^T w + \rho \|w\|_1 + C \sum_{i=1}^n \log(\exp(- y_i (X_i^T w + c)) + 1) .w,cmin​21−ρ​wTw+ρ∥w∥1​+Ci=1∑n​log(exp(−yi​(XiT​w+c))+1).

其中ρ控制正则化L1与正则化L2的强度(对应于l1_ratio参数)。

注意,在这个表示法中,假定目标y_i在测试时

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值