diff --git a/2021-guangzhou.html b/2021-guangzhou.html index bc4a8f6..0e5d29e 100644 --- a/2021-guangzhou.html +++ b/2021-guangzhou.html @@ -85,6 +85,12 @@ + + + + + + diff --git a/about.html b/about.html index 3865d44..9c51ff8 100644 --- a/about.html +++ b/about.html @@ -82,6 +82,12 @@ + + + + + + diff --git a/bayes.html b/bayes.html index a52465a..0bdaf65 100644 --- a/bayes.html +++ b/bayes.html @@ -85,6 +85,12 @@ + + + + + + diff --git a/categories.html b/categories.html index cca41dd..88e954b 100644 --- a/categories.html +++ b/categories.html @@ -82,6 +82,12 @@ + + + + + + diff --git a/changsha.html b/changsha.html new file mode 100644 index 0000000..f2ed5ba --- /dev/null +++ b/changsha.html @@ -0,0 +1,158 @@ + + + + + + + + + + + + + + + + + + + + + + + 长沙吃吃逛逛 | Patrick’s Blog + + + + + + + + + + + + + + +
+ +
+
+ +
+ +
+ +

长沙吃吃逛逛

+ +
+ + Posted on Fri, Mar 3, 2023 + + + + 🚞Memory + + +
+ +
+

决定把去长沙的过程写得详细一点,因为很喜欢长沙,特别是住在河西金融中心人少的地方😂

第一天晚上从大连飞去长沙,在黄花机场第一次坐了磁浮列车,速度和乘坐体验都和北京首都机场线差不多🤣。酒店订在了 4 号线茶子山地铁站附近的全季酒店,旁边是凯德壹中心,里面的茶颜悦色几乎不用排队,很不错😋,柠季的鸭屎香柠檬茶也很好喝。重要的是超级喜欢益阳麻辣烫,特别是加在里面的粉,外卖随便点的臭豆腐也好吃。

第二天早上吃了金融中心附近很贵的炒码面,味道还可以。上午去了湖南博物院,快速参观了湖南历史和辛追夫人展。

女书 @湖南博物院

看了王师傅的视频第一次去吃豪客来牛排,在辽宁和北京都没见过hhh👀 好开心

很像乡里别 @豪客来牛排

晚上去长郡中学看了一下,就在黄兴广场附近,羡慕长郡的高中生买小吃很方便。

冒充长郡高中生 @长郡中学

还顺路去了很多地方啦,比如步行街、南门口、杜甫江阁,又沿着江走了走,从橘子洲大桥上走到橘子洲的hhh,并没有坐地铁去。橘子洲晚上去也是很多人,都是来打卡合影的。

傻傻的游客照 @橘子洲头

后面几天又吃了炊烟,感觉确实比在北京吃的费大厨好吃一点hhh,可能因为我比较爱吃牛肉一点。在 IFS 逛了逛,在超级文和友逛了逛,在湖南大学逛了逛,在岳麓山狼狈地爬了爬(下雨天跟着高德地图爬了一条泥巴路,真的很蠢)。

中间抽出一天时间去了张家界,从观沙岭坐城铁就可以到,感觉湖南的城际铁路修的真不错👍

去了天门山景区,结果山上又是下雨,雾蒙蒙的,不过人很少,我觉得也很有趣hhhh

工作人员教的游客照手势 @天门山

最后想说大连太美啦,特别是从飞机上看,真的好喜欢大连🥰

大连 @飞机

+ + + + \ No newline at end of file diff --git a/dalian.html b/dalian.html index f461165..90a484c 100644 --- a/dalian.html +++ b/dalian.html @@ -29,8 +29,8 @@ - - + + @@ -85,6 +85,12 @@ + + + + + + diff --git a/decision-tree.html b/decision-tree.html index 6ce6e1d..7a68941 100644 --- a/decision-tree.html +++ b/decision-tree.html @@ -85,6 +85,12 @@ + + + + + + diff --git a/index.html b/index.html index 5c994e1..469696c 100644 --- a/index.html +++ b/index.html @@ -80,6 +80,12 @@ + + + + + + @@ -135,13 +141,39 @@

Patrick’s Blog

+
+

+ + + + + 长沙吃吃逛逛 + +

+ +

+ 2023 年初在长沙和张家界 +

+ +
+ + Posted on Fri, Mar 3, 2023 + + + + 🚞Memory + + +
+
+

- 利用逆倾向分数 (IPS) 降低选择性偏差 + 利用逆倾向分数 (IPS) 降低选择偏差

@@ -176,7 +208,7 @@

- 2022年在大连的夏天 — 8503 + 2022 年在大连的夏天 — 8503

diff --git a/linear-algebra-01.html b/linear-algebra-01.html index c6c4d9e..98b837f 100644 --- a/linear-algebra-01.html +++ b/linear-algebra-01.html @@ -85,6 +85,12 @@ + + + + + + diff --git a/linear-algebra-02.html b/linear-algebra-02.html index 8cd4a76..3c74714 100644 --- a/linear-algebra-02.html +++ b/linear-algebra-02.html @@ -85,6 +85,12 @@ + + + + + + diff --git a/mapreduce.html b/mapreduce.html index 016c725..e420ba7 100644 --- a/mapreduce.html +++ b/mapreduce.html @@ -85,6 +85,12 @@ + + + + + + diff --git a/mysql-01.html b/mysql-01.html index 73dd031..18bcf14 100644 --- a/mysql-01.html +++ b/mysql-01.html @@ -85,6 +85,12 @@ + + + + + + diff --git a/mysql-02.html b/mysql-02.html index 016e1d1..76b6724 100644 --- a/mysql-02.html +++ b/mysql-02.html @@ -85,6 +85,12 @@ + + + + + + diff --git a/mysql-03.html b/mysql-03.html index 8c0c37d..b1df161 100644 --- a/mysql-03.html +++ b/mysql-03.html @@ -85,6 +85,12 @@ + + + + + + diff --git a/mysql-04.html b/mysql-04.html index 84b50b8..d57bf8d 100644 --- a/mysql-04.html +++ b/mysql-04.html @@ -85,6 +85,12 @@ + + + + + + diff --git a/not-enough-data-01.html b/not-enough-data-01.html index f51c424..5e282e4 100644 --- a/not-enough-data-01.html +++ b/not-enough-data-01.html @@ -85,6 +85,12 @@ + + + + + + diff --git a/recommendation-01.html b/recommendation-01.html index b75b023..2b8335b 100644 --- a/recommendation-01.html +++ b/recommendation-01.html @@ -25,9 +25,9 @@ } - 利用逆倾向分数 (IPS) 降低选择性偏差 | Patrick’s Blog + 利用逆倾向分数 (IPS) 降低选择偏差 | Patrick’s Blog - + @@ -85,6 +85,12 @@ + + + + + + @@ -125,7 +131,7 @@
-

利用逆倾向分数 (IPS) 降低选择性偏差

+

利用逆倾向分数 (IPS) 降低选择偏差

@@ -143,7 +149,7 @@

利用逆倾向分数 (IPS) 降低选择性偏差

-

Recommendations as Treatments: Debiasing Learning and Evaluation

1 引言

推荐系统中几乎所有数据都受选择性偏差 (selection bias) 的限制。以想要优化的效果为条件进行观测会导致数据出现非随机缺失 Missing Not At Random (MNAR)。以因果推断的视角来看,在推荐系统中向一个用户推荐一个物品就是一次介入 (intervention)

本文主要贡献:

  1. 使用因果推断等问题中常用的倾向加权 (propensity-weighting) 技术来估计推荐系统质量。特别是得到了许多性能指标(如 MSE, MAE, DCG)的无偏估计。
  2. 使用这些估计量提出了一个在选择性偏差下学习推荐系统的经验风险最小化 Empirical Risk Minimization (ERM) 框架,并推导了泛化误差上界 (generalization error bound)。
  3. 使用 ERM 框架得到了一个可以解释选择性偏差的矩阵分解 (matrix factorization) 方法。
  4. 探讨了在观测背景 observational settings(选择性偏差是由于用户的自己选择)下估计倾向的方法,描述了框架对于错误指定的倾向的鲁棒性。

2 相关工作

过去处理推荐数据 MNAR 的方法是基于缺失值模型和评分模型的联合似然 (joint likelihood) 进行缺失值填充。

3 推荐的无偏性能估计

例子:

用户 u{1,,U}u\in\{1,\dots,U\},电影 i{1,,I}i\in\{1,\dots,I\}

图 1 中真实评分矩阵 YU×IY\in\Re^{U\times I}

二元矩阵 O{0,1}U×IO\in\{0,1\}^{U\times I} 表示用户提供了哪部电影的评分,[Ou,i=1][观测到  Yu,i].[O_{u,i}=1]\Leftrightarrow [\small观测到\normalsize\;Y_{u,i}].

例子中喜欢电影和给电影评分强相关,矩阵 PP 描述边缘概率 Pu,i=P(Ou,i=1)P_{u,i}=P(O_{u,i}=1),每个评分以该概率显现出来。

考虑如下两个任务:

3.1 任务 1:估计评分预测的准确度

该任务评价一个预测的评分矩阵 Y^\hat{Y} 能够多好地反映真实评分 YY。标准评价指标比如平均绝对值误差 Mean Absolute Error (MAE) 和均方误差 Mean Squared Error (MSE) 可以写成这样的形式:

Recommendations as Treatments: Debiasing Learning and Evaluation

1 引言

推荐系统中几乎所有数据都受选择偏差 (selection bias) 的限制。以想要优化的效果为条件进行观测会导致数据出现非随机缺失 Missing Not At Random (MNAR)。以因果推断的视角来看,在推荐系统中向一个用户推荐一个物品就是一次介入 (intervention)

本文主要贡献:

  1. 使用因果推断等问题中常用的倾向加权 (propensity-weighting) 技术来估计推荐系统质量。特别是得到了许多性能指标(如 MSE, MAE, DCG)的无偏估计。
  2. 使用这些估计量提出了一个在选择偏差下学习推荐系统的经验风险最小化 Empirical Risk Minimization (ERM) 框架,并推导了泛化误差上界 (generalization error bound)。
  3. 使用 ERM 框架得到了一个可以解释选择偏差的矩阵分解 (matrix factorization) 方法。
  4. 探讨了在观测背景 observational settings(选择偏差是由于用户的自己选择)下估计倾向的方法,描述了框架对于错误指定的倾向的鲁棒性。

2 相关工作

过去处理推荐数据 MNAR 的方法是基于缺失值模型和评分模型的联合似然 (joint likelihood) 进行缺失值填充。

3 推荐的无偏性能估计

例子:

用户 u{1,,U}u\in\{1,\dots,U\},电影 i{1,,I}i\in\{1,\dots,I\}

图 1 中真实评分矩阵 YU×IY\in\Re^{U\times I}

二元矩阵 O{0,1}U×IO\in\{0,1\}^{U\times I} 表示用户提供了哪部电影的评分,[Ou,i=1][观测到  Yu,i].[O_{u,i}=1]\Leftrightarrow [\small观测到\normalsize\;Y_{u,i}].

例子中喜欢电影和给电影评分强相关,矩阵 PP 描述边缘概率 Pu,i=P(Ou,i=1)P_{u,i}=P(O_{u,i}=1),每个评分以该概率显现出来。

考虑如下两个任务:

3.1 任务 1:估计评分预测的准确度

该任务评价一个预测的评分矩阵 Y^\hat{Y} 能够多好地反映真实评分 YY。标准评价指标比如平均绝对值误差 Mean Absolute Error (MAE) 和均方误差 Mean Squared Error (MSE) 可以写成这样的形式:

R(Y^)=1UIu=1Ui=1Iδu,i(Y,Y^)(1)R(\hat{Y})=\frac{1}{U\cdot I}\sum_{u=1}^{U}\sum_{i=1}^{I}\delta_{u,i}(Y,\hat{Y}) \tag{1}

其中 δu,i(Y,Y^)\delta_{u,i}(Y,\hat{Y}) 适当地选择。

利用逆倾向分数 (IPS) 降低选择性偏差 \text{MAE:}\quad \delta_{u,i}(Y,\hat{Y})&=|Y_{u,i}-\hat{Y}_{u,i}|,\\ \text{MSE:}\quad \delta_{u,i}(Y,\hat{Y})&=(Y_{u,i}-\hat{Y}_{u,i})^2,\\ \text{Accuracy:}\quad \delta_{u,i}(Y,\hat{Y})&=\mathbf{1}\{Y_{u,i}=\hat{Y}_{u,i}\}. -\end{aligned}

传统方法:由于 YY 仅部分可知,只在观测到的项上取平均来估计 R(Y^)R(\hat{Y})

R^naive(Y^)=1{(u,i):Ou,i=1}(u,i):Ou,i=1δu,i(Y,Y^).(5)\hat{R}_{naive}(\hat{Y})=\frac{1}{|\{(u,i):O_{u,i}=1\}|}\sum_{(u,i):O_{u,i}=1}\delta_{u,i}(Y,\hat{Y}).\tag{5}

该估计量称为朴素估计量。以图 1 中 Y^1\hat{Y}_1Y^2\hat{Y}_2 为例,R^naive(Y^)\hat{R}_{naive}(\hat{Y}) 会认为 Y^2\hat{Y}_2Y^1\hat{Y}_1 有更好的 MAE。该错误就是由于选择性偏差,由于 1 星的评分在观测到的数据中没有被充分表示,δu,i(Y,Y^)\delta_{u,i}(Y,\hat{Y})Yu,iY_{u,i} 是相关的。R^naive(Y^)\hat{R}_{naive}(\hat{Y}) 不是真实性能 R(Y^)R(\hat{Y}) 的无偏估计:

EO[R^naive(Y^)]R(Y^).\mathbb{E}_O[\hat{R}_{naive}(\hat{Y})]\ne R(\hat{Y}).

3.2 任务 2:估计推荐质量

Y^\hat{Y} 重新定义为类似于 OO 的二元矩阵来编码推荐,[Y^u,i=1][i  被推荐给  u][\hat{Y}_{u,i}=1]\Leftrightarrow [i\;\small被推荐给\normalsize\;u],限制每个用户 kk 个推荐。图 1 中的 Y^3\hat{Y}_3 为例子。一种合理的度量推荐质量的方法是用户从推荐的电影中获得的累积增益 Cumulative Gain (CG),这里在例子中定义为被推荐的电影的平均评分。CG 可以写成公式 (1) 的形式:

CG:δu,i(Y,Y^)=(I/k)Y^u,iYu,i.\text{CG:}\quad \delta_{u,i}(Y,\hat{Y})=(I/k)\hat{Y}_{u,i}\cdot Y_{u,i}.

但除非用户看过了 Y^\hat{Y} 中的所有电影,否则是无法通过公式 (1) 直接计算出 CG 的。

反事实问题 (counterfactual question):只有 Ou,i=1O_{u,i}=1 即用户 uu 提供了电影 ii 的评分才观测到 Yu,iY_{u,i}。那么如果用户不去看 OO 中显示的电影,而是去看我们的推荐 Y^\hat{Y},(用 CG 来表示)用户会感觉怎么样呢?

对于推荐的顺序和上面描述的基于集合的推荐类似,如折扣累积增益 Discounted Cumulative Gain (DCG), DCG@k, 前 k 准确度 Precision at k (PREC@k) 等指标也适用于这个背景。对于这些,将每行中 Y^\hat{Y} 的值定义为预测的排序,那么

传统方法:由于 YY 仅部分可知,只在观测到的项上取平均来估计 R(Y^)R(\hat{Y})

R^naive(Y^)=1{(u,i):Ou,i=1}(u,i):Ou,i=1δu,i(Y,Y^).(5)\hat{R}_{naive}(\hat{Y})=\frac{1}{|\{(u,i):O_{u,i}=1\}|}\sum_{(u,i):O_{u,i}=1}\delta_{u,i}(Y,\hat{Y}).\tag{5}

该估计量称为朴素估计量。以图 1 中 Y^1\hat{Y}_1Y^2\hat{Y}_2 为例,R^naive(Y^)\hat{R}_{naive}(\hat{Y}) 会认为 Y^2\hat{Y}_2Y^1\hat{Y}_1 有更好的 MAE。该错误就是由于选择偏差,由于 1 星的评分在观测到的数据中没有被充分表示,δu,i(Y,Y^)\delta_{u,i}(Y,\hat{Y})Yu,iY_{u,i} 是相关的。R^naive(Y^)\hat{R}_{naive}(\hat{Y}) 不是真实性能 R(Y^)R(\hat{Y}) 的无偏估计:

EO[R^naive(Y^)]R(Y^).\mathbb{E}_O[\hat{R}_{naive}(\hat{Y})]\ne R(\hat{Y}).

3.2 任务 2:估计推荐质量

Y^\hat{Y} 重新定义为类似于 OO 的二元矩阵来编码推荐,[Y^u,i=1][i  被推荐给  u][\hat{Y}_{u,i}=1]\Leftrightarrow [i\;\small被推荐给\normalsize\;u],限制每个用户 kk 个推荐。图 1 中的 Y^3\hat{Y}_3 为例子。一种合理的度量推荐质量的方法是用户从推荐的电影中获得的累积增益 Cumulative Gain (CG),这里在例子中定义为被推荐的电影的平均评分。CG 可以写成公式 (1) 的形式:

CG:δu,i(Y,Y^)=(I/k)Y^u,iYu,i.\text{CG:}\quad \delta_{u,i}(Y,\hat{Y})=(I/k)\hat{Y}_{u,i}\cdot Y_{u,i}.

但除非用户看过了 Y^\hat{Y} 中的所有电影,否则是无法通过公式 (1) 直接计算出 CG 的。

反事实问题 (counterfactual question):只有 Ou,i=1O_{u,i}=1 即用户 uu 提供了电影 ii 的评分才观测到 Yu,iY_{u,i}。那么如果用户不去看 OO 中显示的电影,而是去看我们的推荐 Y^\hat{Y},(用 CG 来表示)用户会感觉怎么样呢?

对于推荐的顺序和上面描述的基于集合的推荐类似,如折扣累积增益 Discounted Cumulative Gain (DCG), DCG@k, 前 k 准确度 Precision at k (PREC@k) 等指标也适用于这个背景。对于这些,将每行中 Y^\hat{Y} 的值定义为预测的排序,那么

DCG:δu,i(Y,Y^)=(I/log(rank(Y^u,i)))Yu,i,PREC@k:δu,i(Y,Y^)=(I/k)Yu,i1{rank(Y^u,ik)}.\begin{aligned} diff --git a/svm.html b/svm.html index 9a60cfc..d098703 100644 --- a/svm.html +++ b/svm.html @@ -85,6 +85,12 @@ + + + + + + diff --git a/tag/Causal Inference.html b/tag/Causal Inference.html new file mode 100644 index 0000000..4988311 --- /dev/null +++ b/tag/Causal Inference.html @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + #Causal Inference | Patrick’s Blog + + + + + + + +

+
+
+

#Causal Inference

+
+
+ +
+
+
© Patrick’s Blog 2022
+
·
+
Powered by Notablog. +
+
+ + + \ No newline at end of file diff --git a/tag/Database.html b/tag/Database.html index 7885d07..a0eeab1 100644 --- a/tag/Database.html +++ b/tag/Database.html @@ -76,6 +76,12 @@ + + + + + + diff --git a/tag/Distributed.html b/tag/Distributed.html index 0d567cd..ce343ab 100644 --- a/tag/Distributed.html +++ b/tag/Distributed.html @@ -76,6 +76,12 @@ + + + + + + diff --git a/tag/Information Theory.html b/tag/Information Theory.html index 918e528..ef44d2f 100644 --- a/tag/Information Theory.html +++ b/tag/Information Theory.html @@ -76,6 +76,12 @@ + + + + + + diff --git a/tag/Linear Algebra.html b/tag/Linear Algebra.html index 0ec267b..05e0357 100644 --- a/tag/Linear Algebra.html +++ b/tag/Linear Algebra.html @@ -76,6 +76,12 @@ + + + + + + diff --git a/tag/ML.html b/tag/ML.html index 829a995..722c05c 100644 --- a/tag/ML.html +++ b/tag/ML.html @@ -76,6 +76,12 @@ + + + + + + diff --git a/tag/Math.html b/tag/Math.html index c817bf8..96bb795 100644 --- a/tag/Math.html +++ b/tag/Math.html @@ -76,6 +76,12 @@ + + + + + + diff --git a/tag/Recommendation.html b/tag/Recommendation.html index b4a9c31..38bc6ac 100644 --- a/tag/Recommendation.html +++ b/tag/Recommendation.html @@ -76,6 +76,12 @@ + + + + + + @@ -119,7 +125,7 @@

- 利用逆倾向分数 (IPS) 降低选择性偏差 + 利用逆倾向分数 (IPS) 降低选择偏差

diff --git "a/tag/\360\237\223\226Note.html" "b/tag/\360\237\223\226Note.html" index 6e9b926..ab0fc89 100644 --- "a/tag/\360\237\223\226Note.html" +++ "b/tag/\360\237\223\226Note.html" @@ -76,6 +76,12 @@ + + + + + + @@ -119,7 +125,7 @@

- 利用逆倾向分数 (IPS) 降低选择性偏差 + 利用逆倾向分数 (IPS) 降低选择偏差

diff --git "a/tag/\360\237\232\236Memory.html" "b/tag/\360\237\232\236Memory.html" index c81c4ca..2bebf48 100644 --- "a/tag/\360\237\232\236Memory.html" +++ "b/tag/\360\237\232\236Memory.html" @@ -76,6 +76,12 @@ + + + + + + @@ -113,6 +119,32 @@

#🚞Memory

+ +

@@ -124,7 +156,7 @@

- 2022年在大连的夏天 — 8503 + 2022 年在大连的夏天 — 8503