diff --git a/Day81-90/84.朴素贝叶斯算法.md b/Day81-90/84.朴素贝叶斯算法.md index 12b08f7..594ea6c 100755 --- a/Day81-90/84.朴素贝叶斯算法.md +++ b/Day81-90/84.朴素贝叶斯算法.md @@ -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`来创建模型,代码如下所示。 diff --git a/Day81-90/85.回归模型.md b/Day81-90/85.回归模型.md index 210b00c..5e96f4b 100755 --- a/Day81-90/85.回归模型.md +++ b/Day81-90/85.回归模型.md @@ -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}$ 正则化的权重比例。