修正了部分文档中的笔误
This commit is contained in:
parent
af055d8853
commit
80925f5436
|
|
@ -50,7 +50,7 @@ $$
|
|||
P(C_{i}) = \frac{n_{i}}{n}
|
||||
$$
|
||||
|
||||
其中, $\small{C_{i}}$ 表示类别, $\small{n_{i}}$ 是类别 $\small{C_{i}}$ 的样本数量, $\small{n}$ 是总的样本容量。
|
||||
其中, $\small{C_{i}}$ 表示类别, $\small{n_{i}}$ 是类别 $\small{C_{i}}$ 的样本数量, $\small{n}$ 是总的样本容量。
|
||||
|
||||
2. **计算条件概率**:
|
||||
|
||||
|
|
@ -58,7 +58,7 @@ $$
|
|||
P(x_{j}|C_{i}) = \frac{n_{i,j}}{n_{i}}
|
||||
$$
|
||||
|
||||
其中, $\small{n_{i,j}}$ 是在类别 $\small{C_{i}}$ 中,特征 $\small{x_{j}}$ 出现的次数。
|
||||
其中, $\small{n_{i,j}}$ 是在类别 $\small{C_{i}}$ 中,特征 $\small{x_{j}}$ 出现的次数。
|
||||
|
||||
#### 预测阶段
|
||||
|
||||
|
|
@ -193,13 +193,13 @@ array([ True, True, True, True, True, True, True, True, True,
|
|||
|
||||
上面两个函数希望能帮助大家理解朴素贝叶斯的工作原理,实际工作中我们还是推荐大家使用 scikit-learn 库的`navie_bayes`模块封装的类来创建朴素贝叶斯模型,该模块下有五个朴素贝叶斯算法的变体,每种变体针对不同类型的数据和特征分布,对应的五种朴素贝叶斯分类器分别是:`BernoulliNB`、`CategoricalNB`、`ComplementNB`、`GaussianNB`和`MultinomialNB`,它们之间的差别如下表所示:
|
||||
|
||||
| 分类器 | 特征类型 | 主要假设 | 对应公式 |
|
||||
| --------------- | -------- | ------------------------------------ |----|
|
||||
| `BernoulliNB` | 二元特征 | 特征服从 Bernoulli 分布 | $\small{P(x_{i}|C) = p^{x_{i}} \cdot (1 - p)^{1 - x_{i}}}$ |
|
||||
| `CategoricalNB` | 类别特征 | 特征服从多项式分布,常用于处理类别数据 | $\small{P(x_{i}|C)} = \frac{N_{i,j} + \alpha}{N_{i} + {\alpha}K}$ |
|
||||
| `ComplementNB` | 计数特征 | 利用补集概率,常用于处理不平衡数据集 | $\small{P}$ |
|
||||
| `GaussianNB` | 连续特征 | 特征服从高斯分布 | |
|
||||
| `MultinomialNB` | 计数特征 | 特征服从多项式分布,常用于文本分类 | |
|
||||
| 分类器 | 特征类型 | 主要假设 |
|
||||
| --------------- | -------- | ------------------------------------ |
|
||||
| `BernoulliNB` | 二元特征 | 特征服从 Bernoulli 分布 |
|
||||
| `CategoricalNB` | 类别特征 | 特征服从多项式分布,常用于处理类别数据 |
|
||||
| `ComplementNB` | 计数特征 | 利用补集概率,常用于处理不平衡数据集 |
|
||||
| `GaussianNB` | 连续特征 | 特征服从高斯分布 |
|
||||
| `MultinomialNB` | 计数特征 | 特征服从多项式分布,常用于文本分类 |
|
||||
|
||||
对于鸢尾花数据集,由于其特征是连续值,我们可以用`GaussianNB`来创建模型,代码如下所示。
|
||||
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
1. **线性回归**(Linear Regression):假设输入变量和输出变量之间是线性关系。
|
||||
|
||||
- 一元线性回归:建立一个因变量与单个自变量之间线性关系的模型。
|
||||
一元线性回归:建立一个因变量与单个自变量之间线性关系的模型。
|
||||
|
||||
$$
|
||||
y = \beta_0 + \beta_1 x + \varepsilon
|
||||
|
|
@ -25,7 +25,7 @@ $$
|
|||
|
||||
其中, $\small{y}$ 是目标变量(因变量), $\small{x}$ 是输入变量(自变量), $\small{\beta_{0}}$ 是截距,表示 $\small{x=0}$ 时的预测值, $\small{\beta_{1}}$ 是回归系数(斜率),表示输入变量对输出变量影响的大小, $\small{\varepsilon}$ 是误差项,用于表示数据中的随机噪声或无法解释的部分。
|
||||
|
||||
- 多元线性回归:建立一个因变量与多个自变量之间线性关系的模型。
|
||||
多元线性回归:建立一个因变量与多个自变量之间线性关系的模型。
|
||||
|
||||
$$
|
||||
y = \beta_{0} + \beta_{1} x_{1} + \beta_{2} x_{2} + \cdots + \beta_{n} x_{n} + \varepsilon
|
||||
|
|
@ -52,7 +52,7 @@ $$
|
|||
5. **逻辑回归**(Logistic Regression):逻辑回归虽然名字中带“回归”,但实际上是用于分类问题的模型。它通过 Sigmoid 函数将线性组合的输入值映射到区间 $\small{(0, 1)}$ ,表示分类概率,适用于二分类问题;也可以扩展为 Softmax 回归,解决多分类问题。
|
||||
|
||||
$$
|
||||
P(y=1|x) = \frac{1}{1 + e^{-(\beta_{0} + \beta_{1} x_{1} + \cdots + \beta_{n} x_{n})}}
|
||||
P(y=1 \vert x) = \frac{1}{1 + e^{-(\beta_{0} + \beta_{1} x_{1} + \cdots + \beta_{n} x_{n})}}
|
||||
$$
|
||||
|
||||
### 回归系数的计算
|
||||
|
|
@ -273,7 +273,7 @@ $$
|
|||
3. 平均绝对误差(Mean Absolute Error, MAE)。MAE 是另一个常用的误差度量指标,定义为预测值与真实值误差的绝对值平均值。
|
||||
|
||||
$$
|
||||
\text{MAE} = \frac{1}{m} \sum_{i=1}^{m}|y_{i} - \hat{y}_{i}|
|
||||
\text{MAE} = \frac{1}{m} \sum_{i=1}^{m} \lvert y_{i} - \hat{y}_{i} \rvert
|
||||
$$
|
||||
|
||||
4. 决定系数(R-Squared, $\small{R^2}$)。 $\small{R^2}$ 是一个相对指标,用于衡量模型对数据的拟合程度,其值越接近 1 越好。 $\small{R^2}$ 的计算公式为:
|
||||
|
|
@ -345,10 +345,10 @@ print(f'决定系数: {r2:.4f}')
|
|||
套索回归引入 $\small{L1}$ 正则化项,不仅防止过拟合,还具有特征选择的功,特别适用于高维数据。套索回归的损失函数如下所示:
|
||||
|
||||
$$
|
||||
L(\mathbf{\beta}) = \sum_{i=1}^{m}(y_{i} - \hat{y}_{i})^{2} + \lambda \sum_{j=1}^{n}|\beta_{j}|
|
||||
L(\mathbf{\beta}) = \sum_{i=1}^{m}(y_{i} - \hat{y}_{i})^{2} + \lambda \sum_{j=1}^{n} \lvert \beta_{j} \rvert
|
||||
$$
|
||||
|
||||
其中, $\small{L1}$ 正则化项 $\small{\lambda \sum_{j=1}^{n}|\beta_{j}|}$ 会将某些不重要的回归系数缩减为 0,从而实现特征选择。可以通过 scikit-learn 库`linear_model`模块的`Lasso`类实现套索回归,代码如下所示。
|
||||
其中, $\small{L1}$ 正则化项 $\small{\lambda \sum_{j=1}^{n} \lvert \beta_{j} \rvert}$ 会将某些不重要的回归系数缩减为 0,从而实现特征选择。可以通过 scikit-learn 库`linear_model`模块的`Lasso`类实现套索回归,代码如下所示。
|
||||
|
||||
```python
|
||||
from sklearn.linear_model import Lasso
|
||||
|
|
@ -379,7 +379,7 @@ print(f'决定系数: {r2:.4f}')
|
|||
弹性网络回归结合了岭回归和套索回归的优点,通过同时引入 $\small{L1}$ 和 $\small{L2}$ 正则化项,适用于高维数据且特征之间存在相关的情况,其损失函数如下所示:
|
||||
|
||||
$$
|
||||
L(\mathbf{\beta}) = \sum_{i=1}^{m}(y_{i} - \hat{y}_{i})^{2} + \alpha \lambda \sum_{j=1}^{n}|\beta_{j}| + (1 - \alpha) \lambda \sum_{j=1}^{n}\beta_{j}^{2}
|
||||
L(\mathbf{\beta}) = \sum_{i=1}^{m}(y_{i} - \hat{y}_{i})^{2} + \alpha \lambda \sum_{j=1}^{n} \lvert \beta_{j} \rvert + (1 - \alpha) \lambda \sum_{j=1}^{n}\beta_{j}^{2}
|
||||
$$
|
||||
|
||||
其中, $\small{\alpha}$ 是控制 $\small{L1}$ 和 $\small{L2}$ 正则化的权重比例。
|
||||
|
|
|
|||
Loading…
Reference in New Issue