From ad95f840fb704ef6e47445725a849ac4fcebfa0a Mon Sep 17 00:00:00 2001
From: tianxuzhang
Date: Sat, 9 Dec 2023 10:34:12 +0000
Subject: [PATCH] deploy: a37964ed36ec9432ce8640365b0301b073114a46
---
.../\345\233\236\345\275\222/index.ipynb" | 1 -
...346\226\257\345\233\236\345\275\222.ipynb" | 53 +++++++++++++++++--
"docs/\345\233\236\345\275\222/index.html" | 1 -
...\346\226\257\345\233\236\345\275\222.html" | 41 +++++++++++++-
searchindex.js | 2 +-
5 files changed, 90 insertions(+), 8 deletions(-)
diff --git "a/_sources/docs/\345\233\236\345\275\222/index.ipynb" "b/_sources/docs/\345\233\236\345\275\222/index.ipynb"
index 851dcbd..78bb1dc 100644
--- "a/_sources/docs/\345\233\236\345\275\222/index.ipynb"
+++ "b/_sources/docs/\345\233\236\345\275\222/index.ipynb"
@@ -34,7 +34,6 @@
"\n",
"* [贝叶斯方法](https://tianxuzhang.github.io/introduction-to-machine-learning/docs/回归/贝叶斯方法.html)\n",
" * 贝叶斯岭回归\n",
- " * 主动相关决策理论 - ARD\n",
"\n",
"* 广义线性模型\n",
" * [逻辑回归](https://tianxuzhang.github.io/introduction-to-machine-learning/docs/回归/逻辑回归.html)\n",
diff --git "a/_sources/docs/\345\233\236\345\275\222/\350\264\235\345\217\266\346\226\257\345\233\236\345\275\222.ipynb" "b/_sources/docs/\345\233\236\345\275\222/\350\264\235\345\217\266\346\226\257\345\233\236\345\275\222.ipynb"
index 4707f7b..60c814e 100644
--- "a/_sources/docs/\345\233\236\345\275\222/\350\264\235\345\217\266\346\226\257\345\233\236\345\275\222.ipynb"
+++ "b/_sources/docs/\345\233\236\345\275\222/\350\264\235\345\217\266\346\226\257\345\233\236\345\275\222.ipynb"
@@ -10,8 +10,8 @@
"贝叶斯回归是一种基于贝叶斯统计推断的回归方法。它通过引入先验分布来表达对参数的不确定性,并利用观测数据来更新参数的后验分布。假设我们有一个训练集包含$N$个样本,每个样本由输入特征$X$和对应的输出标签$y$组成。要经过的步骤是参数建模 -> 后验推断 -> 参数估计和预测。\n",
"\n",
"优缺点:\n",
- "* 贝叶斯回归提供了全面的概率建模方式,能够量化参数的不确定性,并灵活地引入先验知识。它对小样本、高噪声数据以及需要考虑模型不确定性的情况特别有帮助。\n",
- "* 然而,贝叶斯回归也有一些挑战和限制,例如计算复杂度较高,需要进行概率推断和参数估计。\n",
+ "* 贝叶斯回归引入先验知识。适用于小样本、高噪声以及需要考虑模型不确定性的数据。\n",
+ "* 计算复杂度较高,需要进行概率推断和参数估计,不适用于高维数据。\n",
"\n",
"下面是使用Python和PyMC3库实现贝叶斯线性回归的示例代码:"
]
@@ -210,7 +210,54 @@
"metadata": {},
"source": [
"## 主动相关决策理论 - ARD\n",
- "\n"
+ "\n",
+ "ARDRegression类似于贝叶斯岭回归(Bayesian Ridge Regression),但具有更强的稀疏性。这是因为ARDRegression引入了不同于贝叶斯岭回归的先验假设,即权重 $w$ 的分布不再是球形的高斯分布,而是轴对齐的椭圆高斯分布。\n",
+ "\n",
+ "ARDRegression中的每个权重 $wi$ 都有一个单独的标准差 $λ_i$ 。所有 $λ_i$ 的先验分布由超参数 $λ1$ 、$λ2$ 等确定,通常使用相同的 $\\gamma$ 分布。\n",
+ "\n",
+ "ARDRegression可以用于特征选择,因为它倾向于将不相关或弱相关的特征的权重设为0,从而实现了稀疏性。这使得模型更容易解释,并且可以提高泛化性能。\n",
+ "\n",
+ "不过ARD也比较慢。\n",
+ "\n",
+ "下面给个sklearn的例子:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "9669dc59",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Mean Squared Error: 0.010270127022996813\n"
+ ]
+ }
+ ],
+ "source": [
+ "from sklearn.datasets import make_regression\n",
+ "from sklearn.linear_model import ARDRegression\n",
+ "from sklearn.model_selection import train_test_split\n",
+ "from sklearn.metrics import mean_squared_error\n",
+ "\n",
+ "# 生成随机回归数据集\n",
+ "X, y = make_regression(n_samples=100, n_features=10, noise=0.1, random_state=42)\n",
+ "\n",
+ "# 将数据集拆分为训练集和测试集\n",
+ "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n",
+ "\n",
+ "# 创建并拟合ARDRegression模型\n",
+ "model = ARDRegression()\n",
+ "model.fit(X_train, y_train)\n",
+ "\n",
+ "# 使用模型进行预测\n",
+ "y_pred = model.predict(X_test)\n",
+ "\n",
+ "# 计算均方误差(Mean Squared Error)\n",
+ "mse = mean_squared_error(y_test, y_pred)\n",
+ "print(\"Mean Squared Error: \", mse)"
]
},
{
diff --git "a/docs/\345\233\236\345\275\222/index.html" "b/docs/\345\233\236\345\275\222/index.html"
index 28e2373..76c55be 100644
--- "a/docs/\345\233\236\345\275\222/index.html"
+++ "b/docs/\345\233\236\345\275\222/index.html"
@@ -418,7 +418,6 @@ Contents
贝叶斯方法
广义线性模型
diff --git "a/docs/\345\233\236\345\275\222/\350\264\235\345\217\266\346\226\257\345\233\236\345\275\222.html" "b/docs/\345\233\236\345\275\222/\350\264\235\345\217\266\346\226\257\345\233\236\345\275\222.html"
index 64f2cca..d028ff5 100644
--- "a/docs/\345\233\236\345\275\222/\350\264\235\345\217\266\346\226\257\345\233\236\345\275\222.html"
+++ "b/docs/\345\233\236\345\275\222/\350\264\235\345\217\266\346\226\257\345\233\236\345\275\222.html"
@@ -397,8 +397,8 @@ 贝叶斯回归
优缺点:
-贝叶斯回归提供了全面的概率建模方式,能够量化参数的不确定性,并灵活地引入先验知识。它对小样本、高噪声数据以及需要考虑模型不确定性的情况特别有帮助。
-然而,贝叶斯回归也有一些挑战和限制,例如计算复杂度较高,需要进行概率推断和参数估计。
+贝叶斯回归引入先验知识。适用于小样本、高噪声以及需要考虑模型不确定性的数据。
+计算复杂度较高,需要进行概率推断和参数估计,不适用于高维数据。
下面是使用Python和PyMC3库实现贝叶斯线性回归的示例代码:
@@ -570,6 +570,43 @@
贝叶斯岭回归