Skip to content

Commit 1e7c277

Browse files
committed
Merge branch 'v0.19.x-md' of https://github.com/apachecn/scikit-learn-doc-zh into v0.19.x-md
2 parents f319f37 + a97eaeb commit 1e7c277

File tree

20 files changed

+3
-538
lines changed

20 files changed

+3
-538
lines changed

docs/10.md

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,8 @@
1616

1717
使用简单(naive)的假设-每对特征之间都相互独立:
1818

19-
```py
20-
2119
![P(x_i | y, x_1, \dots, x_{i-1}, x_{i+1}, \dots, x_n) = P(x_i | y) ,](img/9fd83615429a9be9e5698d35bec8642a.jpg)
2220

23-
```
24-
2521
对于所有的 :math: <cite>i</cite> ,这个关系式可以简化为
2622

2723
```py
@@ -61,12 +57,8 @@
6157

6258
[`GaussianNB`](generated/sklearn.naive_bayes.GaussianNB.html#sklearn.naive_bayes.GaussianNB "sklearn.naive_bayes.GaussianNB") 实现了运用于分类的高斯朴素贝叶斯算法。特征的可能性(即概率)假设为高斯分布:
6359

64-
```py
65-
6660
![P(x_i \mid y) &= \frac{1}{\sqrt{2\pi\sigma^2_y}} \exp\left(-\frac{(x_i - \mu_y)^2}{2\sigma^2_y}\right)](img/92c470d884176abfcc29a5218ccf0aef.jpg)
6761

68-
```
69-
7062
参数 ![\sigma_y](img/abd232bd41a9d1b51021b788e2a82dd9.jpg) 和 ![\mu_y](img/1d57cc4e24d28b8283f98bda247d84e7.jpg) 使用最大似然法估计。
7163

7264
```py
@@ -87,12 +79,8 @@ Number of mislabeled points out of a total 150 points : 6
8779

8880
参数 ![\theta_y](img/bbdbd3f496f907578ff01cc798adde74.jpg) 使用平滑过的最大似然估计法来估计,即相对频率计数:
8981

90-
```py
91-
9282
![\hat{\theta}_{yi} = \frac{ N_{yi} + \alpha}{N_y + \alpha n}](img/cb5a89fd247e8cbbea21b00a12d188e6.jpg)
9383

94-
```
95-
9684
```py
9785
式中 是 训练集 中 特征 在类 中出现的次数,
9886
```
@@ -107,12 +95,8 @@ Number of mislabeled points out of a total 150 points : 6
10795

10896
伯努利朴素贝叶斯的决策规则基于
10997

110-
```py
111-
11298
![P(x_i \mid y) = P(i \mid y) x_i + (1 - P(i \mid y)) (1 - x_i)](img/375fd0c32c15c4547b00ae36c0ec0a6a.jpg)
11399

114-
```
115-
116100
与多项分布朴素贝叶斯的规则不同 伯努利朴素贝叶斯明确地惩罚类 ![y](img/0775c03fc710a24df297dedcec515aaf.jpg) 中没有出现作为预测因子的特征 ![i](img/43e13b580daefe5ba754b790dfbd216c.jpg) ,而多项分布分布朴素贝叶斯只是简单地忽略没出现的特征。
117101

118102
在文本分类的例子中,词频向量(word occurrence vectors)(而非词数向量(word count vectors))可能用于训练和用于这个分类器。 `BernoulliNB` 可能在一些数据集上可能表现得更好,特别是那些更短的文档。 如果时间允许,建议对两个模型都进行评估。

docs/11.md

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -235,48 +235,28 @@ Q_{right}(\theta) = Q \setminus Q_{left}(\theta)](img/d5a26fae0e652d4e951d9ec9ae
235235

236236
选择使不纯度最小化的参数
237237

238-
```py
239-
240238
![\theta^* = \operatorname{argmin}_\theta G(Q, \theta)](img/af78ae4aadd0f0961cf4d9564897b1ff.jpg)
241239

242-
```
243-
244240
重新计算子集 ![Q_{left}(\theta^*)](img/33eb0dacfcc0df16c84bfaed52d31859.jpg) 和 ![Q_{right}(\theta^*)](img/a1bd06d03e764db224f0e10b4f024bdd.jpg) ,直到达到最大允许深度,![N_m < \min_{samples}](img/0fec9d3a9833abc417480a03be883b3e.jpg) 或 ![N_m = 1](img/be71aa00cd62f24b4657f7993d1b3a45.jpg)。
245241

246242
### 1.10.7.1\. 分类标准
247243

248244
对于节点 ![m](img/94156b879a7455cb0d516efa9c9c0991.jpg) ,表示具有 ![N_m](img/ee68d82006856c6355aa0dca42cd5054.jpg) 个观测值的区域 ![R_m](img/018a312145ba4dee4c257135644ced91.jpg) ,如果分类结果采用值是 0,1,…,K-1 的值,让
249245

250-
```py
251-
252246
![p_{mk} = 1/ N_m \sum_{x_i \in R_m} I(y_i = k)](img/17430579d0bcbef3e2d99eba470792c8.jpg)
253247

254-
```
255-
256248
是节点 ![m](img/94156b879a7455cb0d516efa9c9c0991.jpg) 中k类观测的比例通常用来处理杂质的方法是Gini
257249

258-
```py
259-
260250
![H(X_m) = \sum_k p_{mk} (1 - p_{mk})](img/c236b4ae30d04ba7fae7fa499a2ba9ea.jpg)
261251

262-
```
263-
264252
Cross-Entropy (交叉熵)
265253

266-
```py
267-
268254
![H(X_m) = - \sum_k p_{mk} \log(p_{mk})](img/a539f6901c50549f8d30f6d7f6f3e177.jpg)
269255

270-
```
271-
272256
和 Misclassification (错误分类)
273257

274-
```py
275-
276258
![H(X_m) = 1 - \max(p_{mk})](img/b146555411b22bcf0ad73d4720455038.jpg)
277259

278-
```
279-
280260
在 ![X_m](img/fe5ed835e0d3407e3f2d694d8bc049a1.jpg) 训练 ![m](img/94156b879a7455cb0d516efa9c9c0991.jpg) 节点上的数据时。
281261

282262
### 1.10.7.2\. 回归标准

docs/12.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -418,12 +418,8 @@ Note
418418
419419
[[F2001]](#f2001) 提出一个简单的正则化策略,通过一个因子 ![\nu](img/f996477bc9806499e6b6a1ea4d9ae8eb.jpg) 来衡量每个弱分类器对于最终结果的贡献:
420420
421-
```py
422-
423421
![F_m(x) = F_{m-1}(x) + \nu \gamma_m h_m(x)](img/10ce8fc56aa233e3e9cec9776dc315e6.jpg)
424422
425-
```
426-
427423
参数 ![\nu](img/f996477bc9806499e6b6a1ea4d9ae8eb.jpg) 由于它可以控制梯度下降的步长, 因此也叫作 **learning rate** ,它可以通过 `learning_rate` 参数来设置.
428424
429425
在训练一定数量的弱分类器时,参数 `learning_rate` 和参数 `n_estimators` 之间有很强的制约关系。 较小的 `learning_rate` 需要大量的弱分类器才能维持训练误差的稳定。经验表明数值较小的 `learning_rate` 将会得到更好的测试误差。 [[HTF2009]](#htf2009) 推荐把 `learning_rate` 设置为一个较小的常数 (例如: `learning_rate <= 0.1` )同时通过提前停止策略来选择合适的 `n_estimators` . 有关 `learning_rate` 和 `n_estimators` 更详细的讨论可以参考 [[R2007]](#r2007).

docs/14.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,8 @@
1414

1515
例如,假设我们有一个特征是布尔值的数据集,我们想要移除那些在整个数据集中特征值为0或者为1的比例超过80%的特征。布尔特征是伯努利( Bernoulli )随机变量,变量的方差为
1616

17-
```py
18-
1917
![\mathrm{Var}[X] = p(1 - p)](img/468283fb7514d3373112cb7db7c43356.jpg)
2018

21-
```
22-
2319
因此,我们可以使用阈值 [``](#id3).8 * (1 - .8)``进行选择:
2420

2521
```py

docs/18.md

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -167,54 +167,34 @@ L-BFGS 是利用 Hessian 矩阵来近似函数的二阶偏导数的求解器,
167167

168168
给出一组训练样本 ![(x_1, y_1), (x_2, y_2), \ldots, (x_n, y_n)](img/ad854ab6b0056f9b521d823a98548d3f.jpg) 其中 ![x_i \in \mathbf{R}^n](img/1f1667a67d885f419222cbd85c70dd56.jpg) , ![y_i \in \{0, 1\}](img/6a8621a4ada40acd48b43436ca6a4527.jpg) ,一个单隐藏层单神经元 MLP 学习到的函数是 ![f(x) = W_2 g(W_1^T x + b_1) + b_2](img/d2fed0ae8e2b987a781ee01a92c31dfb.jpg) ,其中 ![W_1 \in \mathbf{R}^m](img/77eee205b1d286584f4002a39c9b32a3.jpg) 和 ![W_2, b_1, b_2 \in \mathbf{R}](img/855d4e5dae2b0286042ee7eef0c91ab5.jpg) 是模型参数. ![W_1, W_2](img/4609693b88f682790da8203535625471.jpg) 分别是输入层与隐藏层之间和隐藏层与输出层之间的权重, ![b_1, b_2](img/09ed5f467366506cf3b8d425d00db588.jpg) 分别是隐藏层和输出层的偏置值. ![g(\cdot) : R \rightarrow R](img/f7129cf20abc58eaa0e261335a7606a6.jpg) 是激活函数,默认为双曲正切函数。 具体形式如下,
169169

170-
```py
171-
172170
![g(z)= \frac{e^z-e^{-z}}{e^z+e^{-z}}](img/f72a2f9f160a11abc8568b72386776fe.jpg)
173171

174-
```
175-
176172
对于二分类, ![f(x)](img/da2ce2d49bbab0c389600d1c82fccf9b.jpg) 经过 logistic 函数 ![g(z)=1/(1+e^{-z})](img/05c3632395ec8941c82954de930b9d3e.jpg) 得到 01 之间的输出值。 阈值设置为 0.5 ,输出大于等于 0.5 的样本分到 positive class (正类),其他的分为 negative class (负类)。
177173

178174
如果多于两类,则 ![f(x)](img/da2ce2d49bbab0c389600d1c82fccf9b.jpg) 本身将是一个大小为 (n_classes,) 的向量。 它需要经过 softmax 函数而不是 logistic 函数进行变换,具体形式如下,
179175

180-
```py
181-
182176
![\text{softmax}(z)_i = \frac{\exp(z_i)}{\sum_{l=1}^k\exp(z_l)}](img/2d4c303729e327500afa8bdb343713ff.jpg)
183177

184-
```
185-
186178
其中 ![z_i](img/e0532dc18cc4c92c2b39f4b29d33cd13.jpg) 表示 softmax 函数的第 ![i](img/43e13b580daefe5ba754b790dfbd216c.jpg) 个输入的元素,它对应于第 ![i](img/43e13b580daefe5ba754b790dfbd216c.jpg) 类, ![K](img/e279b8169ddd6581c5606c868ba52fae.jpg) 是类别的数量。 计算结果是样本 ![x](img/5c82dbae35dc43d2f556f9f284d9d184.jpg) 属于每个类别的概率的向量。 最终输出的分类结果是具有最高概率的类别。
187179

188180
在回归问题中,输出依然是 ![f(x)](img/da2ce2d49bbab0c389600d1c82fccf9b.jpg) ;因此,输出激活函数就是恒等函数。
189181

190182
MLP 根据特定问题使用不同的损失函数。 二分类问题的损失函数的是交叉熵,具体形式如下,
191183

192-
```py
193-
194184
![Loss(\hat{y},y,W) = -y \ln {\hat{y}} - (1-y) \ln{(1-\hat{y})} + \alpha ||W||_2^2](img/a201561ab545f4fd9cba5a2e0eae9a94.jpg)
195185

196-
```
197-
198186
其中 ![\alpha ||W||_2^2](img/1f7b275b5002d3772b809055d9199f91.jpg) 是 L2 正则化的模型复杂度惩罚项; ![\alpha > 0](img/11cde057716cf1a820780a60c8ffa8e4.jpg) 这个非负的超参数控制惩罚的程度。
199187

200188
对于回归问题,MLP 使用平方误差损失函数,具体形式如下,
201189

202-
```py
203-
204190
![Loss(\hat{y},y,W) = \frac{1}{2}||\hat{y} - y ||_2^2 + \frac{\alpha}{2} ||W||_2^2](img/929e25fd2cb34bf9709d68d266786fd3.jpg)
205191

206-
```
207-
208192
从随机初始化权重开始,多层感知器(MLP)不断更新这些权重值来最小化损失函数。计算完损失之后,从输出层到前面各层进行反向传播,更新权重参数的值,旨在减小损失函数。
209193

210194
在梯度下降中,计算得到损失函数关于每个权重的梯度 ![\nabla Loss_{W}](img/9ca39b9e9aa5f1a4660e45f3c9b5ef7b.jpg) 并从权重 ![W](img/369b6e6bd43ee84fe99e14c8d78cdc9f.jpg) 中减掉。用公式表示为,
211195

212-
```py
213-
214196
![W^{i+1} = W^i - \epsilon \nabla {Loss}_{W}^{i}](img/92e5a41435bd53653e9ad36f030cbd61.jpg)
215197

216-
```
217-
218198
其中 ![i](img/43e13b580daefe5ba754b790dfbd216c.jpg) 是当前迭代步数, ![\epsilon](img/58ef9e1b5d2ee139dcb588a3879ca1a6.jpg) 是大于 0 学习率。
219199

220200
算法停止的条件或者是达到预设的最大迭代次数,或者是损失函数低于某个特定值。

docs/2.md

Lines changed: 0 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,8 @@
1111

1212
下面是一组用于回归的方法,其中目标值 y 是输入变量 x 的线性组合。 在数学概念中,如果 ![\hat{y}](img/047826f1c2e6f2687b304cb5217be8d8.jpg) 是预测值。
1313

14-
```py
15-
1614
![\hat{y}(w, x) = w_0 + w_1 x_1 + ... + w_p x_p](img/4ee9f6c666393981b6458e54c3ec89d0.jpg)
1715

18-
```
19-
2016
在整个模块中,我们定义向量 ![w = (w_1,..., w_p)](img/b003858334d1ad594207911e84219151.jpg) 作为 `coef_` ,定义 ![w_0](img/57e15e43b846791e47a202e1a9a5d8ce.jpg) 作为 `intercept_`
2117

2218
如果需要使用广义线性模型进行分类,请参阅 [logistic 回归](#logistic-regression)
@@ -25,12 +21,8 @@
2521

2622
[`LinearRegression`](generated/sklearn.linear_model.LinearRegression.html#sklearn.linear_model.LinearRegression "sklearn.linear_model.LinearRegression") 拟合一个带有系数 ![w = (w_1, ..., w_p)](img/3f5adc0c9b0e51a0759ed6ac49f94431.jpg) 的线性模型,使得数据集实际观测数据和预测数据(估计值)之间的残差平方和最小。其数学表达式为:
2723

28-
```py
29-
3024
![\underset{w}{min\,} {|| X w - y||_2}^2](img/1b6228a71a038f66ac7b8a2743adf4e7.jpg)
3125

32-
```
33-
3426
[![http://sklearn.apachecn.org/cn/0.19.0/_images/sphx_glr_plot_ols_0011.png](img/af7b81123e6cdf0b42acec802041beef.jpg)](../auto_examples/linear_model/plot_ols.html)
3527

3628
[`LinearRegression`](generated/sklearn.linear_model.LinearRegression.html#sklearn.linear_model.LinearRegression "sklearn.linear_model.LinearRegression") 会调用 `fit` 方法来拟合数组 X, y,并且将线性模型的系数 ![w](img/8a58e8df6a985a3273e39bac7dd72b1f.jpg) 存储在其成员变量 `coef_` 中:
@@ -59,12 +51,8 @@ array([ 0.5, 0.5])
5951

6052
[`Ridge`](generated/sklearn.linear_model.Ridge.html#sklearn.linear_model.Ridge "sklearn.linear_model.Ridge") 回归通过对系数的大小施加惩罚来解决 [普通最小二乘法](#ordinary-least-squares) 的一些问题。 岭系数最小化的是带罚项的残差平方和,
6153

62-
```py
63-
6454
![\underset{w}{min\,} {{|| X w - y||_2}^2 + \alpha {||w||_2}^2}](img/c7e49892dca2f0df35d1261a276693f2.jpg)
6555

66-
```
67-
6856
其中, ![\alpha \geq 0](img/a4775baaa990a4fbffcfc2688e3b5578.jpg) 是控制系数收缩量的复杂性参数: ![\alpha](img/d8b3d5242d513369a44f8bf0c6112744.jpg) 的值越大,收缩量越大,这样系数对共线性的鲁棒性也更强。
6957

7058
[![http://sklearn.apachecn.org/cn/0.19.0/_images/sphx_glr_plot_ridge_path_0011.png](img/a4a20739f22e7059a927ba615ec373da.jpg)](../auto_examples/linear_model/plot_ridge_path.html)
@@ -118,12 +106,8 @@ The [`Lasso`](generated/sklearn.linear_model.Lasso.html#sklearn.linear_model.Las
118106

119107
在数学公式表达上,它由一个带有 ![\ell_1](img/3bf32d926cdf24f440b6b831f0d9cc37.jpg) 先验的正则项的线性模型组成。 其最小化的目标函数是:
120108

121-
```py
122-
123109
![\underset{w}{min\,} { \frac{1}{2n_{samples}} ||X w - y||_2 ^ 2 + \alpha ||w||_1}](img/187eddee2de4e12860dc001c5f74b2b4.jpg)
124110

125-
```
126-
127111
lasso estimate 解决了加上罚项 ![\alpha ||w||_1](img/b2ea359213f8f5b01eead0821e29e856.jpg) 的最小二乘法的最小化,其中, ![\alpha](img/d8b3d5242d513369a44f8bf0c6112744.jpg) 是一个常数, ![||w||_1](img/62eb544f1f6e234c61099fea1517300b.jpg) 是参数向量的 ![\ell_1](img/3bf32d926cdf24f440b6b831f0d9cc37.jpg)-norm 范数。
128112

129113
[`Lasso`](generated/sklearn.linear_model.Lasso.html#sklearn.linear_model.Lasso "sklearn.linear_model.Lasso") 类的实现使用了 coordinate descent (坐标下降算法)来拟合系数。 查看 [最小角回归](#least-angle-regression) ,这是另一种方法:
@@ -195,28 +179,16 @@ scikit-learn 通过交叉验证来公开设置 Lasso `alpha` 参数的对象: [`
195179

196180
在数学上,它由一个线性模型组成,以混合的 ![\ell_1](img/3bf32d926cdf24f440b6b831f0d9cc37.jpg) ![\ell_2](img/8851bd0fe9749b4841b30cee41fb040d.jpg) 作为正则化器进行训练。目标函数最小化是:
197181

198-
```py
199-
200182
![\underset{w}{min\,} { \frac{1}{2n_{samples}} ||X W - Y||_{Fro} ^ 2 + \alpha ||W||_{21}}](img/aba64ff85b1f99c5d1c4f8e1ace15f89.jpg)
201183

202-
```
203-
204184
其中 ![Fro](img/987fc6b717a40e57a95fb79a8e809309.jpg) 表示 Frobenius 标准:
205185

206-
```py
207-
208186
![||A||_{Fro} = \sqrt{\sum_{ij} a_{ij}^2}](img/9259b19a18f30f67db9e45b8c0b361c7.jpg)
209187

210-
```
211-
212188
并且 ![\ell_1](img/3bf32d926cdf24f440b6b831f0d9cc37.jpg) ![\ell_2](img/8851bd0fe9749b4841b30cee41fb040d.jpg) 读取为:
213189

214-
```py
215-
216190
![||A||_{2 1} = \sum_i \sqrt{\sum_j a_{ij}^2}](img/2f373d871220ee042a8c2ee44e6fff3a.jpg)
217191

218-
```
219-
220192
[`MultiTaskLasso`](generated/sklearn.linear_model.MultiTaskLasso.html#sklearn.linear_model.MultiTaskLasso "sklearn.linear_model.MultiTaskLasso") 类的实现使用了坐标下降作为拟合系数的算法。
221193

222194
## 1.1.5\. 弹性网络
@@ -357,12 +329,8 @@ OMP 是基于每一步的贪心算法,其每一步元素都是与当前残差
357329

358330
为了得到一个全概率模型,输出 ![y](img/0775c03fc710a24df297dedcec515aaf.jpg) 也被认为是关于 ![X w](img/827de4e90947894fc96dd0432ff0d7dd.jpg) 的高斯分布。
359331

360-
```py
361-
362332
![p(y|X,w,\alpha) = \mathcal{N}(y|X w,\alpha)](img/eaf558e2c8d1fbd5426664c1698d80bd.jpg)
363333

364-
```
365-
366334
Alpha 在这里也是作为一个变量,通过数据中估计得到。
367335

368336
贝叶斯回归有如下几个优点:
@@ -452,12 +420,8 @@ array([ 0.49999993, 0.49999993])
452420

453421
也就是说,每个权值 ![w_{i}](img/848835d5b40c5bd74a6e592a65eed5d6.jpg) 从一个中心在 0 点,精度为 ![\lambda_{i}](img/fcf31635bf1c46833111df71ab92b68e.jpg) 的高斯分布中采样得到的。
454422

455-
```py
456-
457423
![p(w|\lambda) = \mathcal{N}(w|0,A^{-1})](img/7afe3c56e3473a3a7f18cf983ed5e79c.jpg)
458424

459-
```
460-
461425
并且 ![diag \; (A) = \lambda = \{\lambda_{1},...,\lambda_{p}\}](img/5db611c8f58fbd9a9776c013656a16ff.jpg).
462426

463427
与 [`Bayesian Ridge Regression`_](#id53) 不同, 每个 ![w_{i}](img/848835d5b40c5bd74a6e592a65eed5d6.jpg) 都有一个标准差 ![\lambda_i](img/fc333385a9012524b39bc23303de30d4.jpg) 。所有 ![\lambda_i](img/fc333385a9012524b39bc23303de30d4.jpg) 的先验分布 由超参数 ![\lambda_1](img/a6334506478d6feb4025038294ccfa00.jpg) 、 ![\lambda_2](img/535f86af715e90b9c394e3cbf53d99eb.jpg) 确定的相同的 gamma 分布确定。
@@ -488,20 +452,12 @@ scikit-learn 中 logistic 回归在 [`LogisticRegression`](generated/sklearn.lin
488452

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

491-
```py
492-
493455
![\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)
494456

495-
```
496-
497457
类似地,带 L1 正则的 logistic 回归解决的是如下优化问题:
498458

499-
```py
500-
501459
![\underset{w, c}{min\,} \|w\|_1 + C \sum_{i=1}^n \log(\exp(- y_i (X_i^T w + c)) + 1) .](img/d7ff3091308658ce388554d420581459.jpg)
502460

503-
```
504-
505461
在 [`LogisticRegression`](generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression "sklearn.linear_model.LogisticRegression") 类中实现了这些优化算法: “liblinear”, “newton-cg”, “lbfgs”, “sag” 和 “saga”。
506462

507463
“liblinear” 应用了坐标下降算法(Coordinate Descent, CD),并基于 scikit-learn 内附的高性能 C++ 库 [LIBLINEAR library](http://www.csie.ntu.edu.tw/~cjlin/liblinear/) 实现。不过 CD 算法训练的模型不是真正意义上的多分类模型,而是基于 “one-vs-rest” 思想分解了这个优化问题,为每个类别都训练了一个二元分类器。因为实现在底层使用该求解器的 [`LogisticRegression`](generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression "sklearn.linear_model.LogisticRegression") 实例对象表面上看是一个多元分类器。 [`sklearn.svm.l1_min_c`](generated/sklearn.svm.l1_min_c.html#sklearn.svm.l1_min_c "sklearn.svm.l1_min_c") 可以计算使用 L1 罚项时 C 的下界,以避免模型为空(即全部特征分量的权重为零)。
@@ -677,12 +633,8 @@ scikit-learn 中实现的 [`TheilSenRegressor`](generated/sklearn.linear_model.T
677633
678634
关于时间复杂度和空间复杂度,Theil-Sen 的尺度根据
679635
680-
```py
681-
682636
![\binom{n_{samples}}{n_{subsamples}}](img/00af2cbeb1deda7098a17d0491060339.jpg)
683637
684-
```
685-
686638
这使得它不适用于大量样本和特征的问题。因此,可以选择一个亚群的大小来限制时间和空间复杂度,只考虑所有可能组合的随机子集。
687639
688640
示例:
@@ -707,12 +659,8 @@ scikit-learn 中实现的 [`TheilSenRegressor`](generated/sklearn.linear_model.T
707659
708660
这个 [`HuberRegressor`](generated/sklearn.linear_model.HuberRegressor.html#sklearn.linear_model.HuberRegressor "sklearn.linear_model.HuberRegressor") 最小化的损失函数是:
709661
710-
```py
711-
712662
![\underset{w, \sigma}{min\,} {\sum_{i=1}^n\left(\sigma + H_m\left(\frac{X_{i}w - y_{i}}{\sigma}\right)\sigma\right) + \alpha {||w||_2}^2}](img/dfab82d3a21680e5b6d3898a02dc6e01.jpg)
713663
714-
```
715-
716664
其中
717665
718666
```py
@@ -749,36 +697,20 @@ scikit-learn 中实现的 [`TheilSenRegressor`](generated/sklearn.linear_model.T
749697
750698
例如,可以通过构造系数的 **polynomial features** 来扩展一个简单的线性回归。在标准线性回归的情况下,你可能有一个类似于二维数据的模型:
751699
752-
```py
753-
754700
![\hat{y}(w, x) = w_0 + w_1 x_1 + w_2 x_2](img/76814b51cd880ede8da9a2b5ad3d4143.jpg)
755701
756-
```
757-
758702
如果我们想把抛物面拟合成数据而不是平面,我们可以结合二阶多项式的特征,使模型看起来像这样:
759703
760-
```py
761-
762704
![\hat{y}(w, x) = w_0 + w_1 x_1 + w_2 x_2 + w_3 x_1 x_2 + w_4 x_1^2 + w_5 x_2^2](img/5656d5270c0ee866d09e2b271ed04a67.jpg)
763705
764-
```
765-
766706
观察到这 _还是一个线性模型_ (这有时候是令人惊讶的): 看到这个,想象创造一个新的变量
767707
768-
```py
769-
770708
![z = [x_1, x_2, x_1 x_2, x_1^2, x_2^2]](img/642372b631f22b9db0dc4f30d9ab67e6.jpg)
771709
772-
```
773-
774710
有了这些重新标记的数据,我们可以将问题写成
775711
776-
```py
777-
778712
![\hat{y}(w, x) = w_0 + w_1 z_1 + w_2 z_2 + w_3 z_3 + w_4 z_4 + w_5 z_5](img/b2996ad4866e8a26c7ba42c0229385af.jpg)
779713
780-
```
781-
782714
我们看到,所得的 _polynomial regression_ 与我们上文所述线性模型是同一类(即关于 ![w](img/8a58e8df6a985a3273e39bac7dd72b1f.jpg) 是线性的),因此可以用同样的方法解决。通过用这些基函数建立的高维空间中的线性拟合,该模型具有灵活性,可以适应更广泛的数据范围。
783715
784716
这里是一个例子,使用不同程度的多项式特征将这个想法应用于一维数据:

0 commit comments

Comments
 (0)