提交 3fde811a 编写于 作者: L loopyme

调整公式

上级 f7a602d7
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
inlineMath: [ ['$','$'], ['\\(','\\)'] ],
processEscapes: true
}
});
</script>
<script type="text/javascript" async src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_CHTML">
</script>
# 1.1\. 广义线性模型
校验者:
......@@ -453,7 +441,7 @@ logistic 回归,虽然名字里有 “回归” 二字,但实际上是解决
scikit-learn 中 logistic 回归在 [`LogisticRegression`](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression) 类中实现了二分类(binary)、一对多分类(one-vs-rest)及多项式 logistic 回归,并带有可选的 L1 和 L2 正则化。
作为优化问题,带 $l_2$罚项的二分类 logistic 回归要最小化以下代价函数(cost function):
作为优化问题,带 L2罚项的二分类 logistic 回归要最小化以下代价函数(cost function):
![\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) .](img/203c5a2c58d6567a86dbc86faa92209e.jpg)
......@@ -461,19 +449,19 @@ scikit-learn 中 logistic 回归在 [`LogisticRegression`](https://scikit-learn.
![\underset{w, c}{min\,} \|w\|_1 + C \sum_{i=1}^n \log(\exp(- y_i (X_i^T w + c)) + 1) .](img/d7ff3091308658ce388554d420581459.jpg)
Elastic-Net正则化是L1 和 L2的组合,来使下代价函数最小:
Elastic-Net正则化是L1 和 L2的组合,来使下代价函数最小:
$$ \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) $$
![\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) .](img/021new1.jpg)
其中$\rho$控制正则化$l_1$与正则化$l_2$的强度(对应于`l1_ratio`参数)。
其中ρ控制正则化L1与正则化L2的强度(对应于`l1_ratio`参数)。
注意,在这个表示法中,假定目标$y_i$在测试时属于集合\[-1,1\]。我们还可以发现Elastic-Net在$\rho=1$时与$l_1$罚项等价,在$\rho=0$时与$l_2$罚项等价
注意,在这个表示法中,假定目标y_i在测试时属于集合\[-1,1\]。我们还可以发现Elastic-Net在ρ=1时与L1罚项等价,在ρ=0时与L2罚项等价
[`LogisticRegression`](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression) 类中实现了这些优化算法: `liblinear``newton-cg``lbfgs``sag``saga`
`liblinear`应用了坐标下降算法(Coordinate Descent, CD),并基于 scikit-learn 内附的高性能 C++ 库 [LIBLINEAR library](http://www.csie.ntu.edu.tw/~cjlin/liblinear/) 实现。不过 CD 算法训练的模型不是真正意义上的多分类模型,而是基于 “one-vs-rest” 思想分解了这个优化问题,为每个类别都训练了一个二元分类器。因为实现在底层使用该求解器的 [`LogisticRegression`](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression) 实例对象表面上看是一个多元分类器。 [`sklearn.svm.l1_min_c`](https://scikit-learn.org/stable/modules/generated/sklearn.svm.l1_min_c.html#sklearn.svm.l1_min_c) 可以计算使用 $l_1$时 C 的下界,以避免模型为空(即全部特征分量的权重为零)。
`liblinear`应用了坐标下降算法(Coordinate Descent, CD),并基于 scikit-learn 内附的高性能 C++ 库 [LIBLINEAR library](http://www.csie.ntu.edu.tw/~cjlin/liblinear/) 实现。不过 CD 算法训练的模型不是真正意义上的多分类模型,而是基于 “one-vs-rest” 思想分解了这个优化问题,为每个类别都训练了一个二元分类器。因为实现在底层使用该求解器的 [`LogisticRegression`](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression) 实例对象表面上看是一个多元分类器。 [`sklearn.svm.l1_min_c`](https://scikit-learn.org/stable/modules/generated/sklearn.svm.l1_min_c.html#sklearn.svm.l1_min_c) 可以计算使用 L1时 C 的下界,以避免模型为空(即全部特征分量的权重为零)。
`lbfgs`, `sag``newton-cg` 求解器只支持 $l_2$罚项,对某些高维数据收敛更快。这些求解器的参数 `multi_class`设为 `multinomial` 即可训练一个真正的多项式 logistic 回归 [5] ,其预测的概率比默认的 “`one-vs-rest`” 设定更为准确。
`lbfgs`, `sag``newton-cg` 求解器只支持 L2罚项,对某些高维数据收敛更快。这些求解器的参数 `multi_class`设为 `multinomial` 即可训练一个真正的多项式 logistic 回归 [5] ,其预测的概率比默认的 “`one-vs-rest`” 设定更为准确。
`sag` 求解器基于平均随机梯度下降算法(Stochastic Average Gradient descent) [6]。在大数据集上的表现更快,大数据集指样本量大且特征数多。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册