协同过滤

ItemCF 基于物品相似度的协同过滤

核心假设: 用户的兴趣具有连贯性,喜欢某个物品的用户往往会对相似的物品感兴趣

物品相似度计算

\[ w_{ij} = \frac{C[i][j]}{\sqrt{|N(i)\cdot |N(j)|}} \] 其中 \(N(i)\)表示与物品,\(C[i][j]\)有交互的用户总数,是两个物品的共现次数(同时对两个物品有过行为的用户数)。分母对共现次数进行标准化,防止热门商品占据绝对优势。 基于用户-物品倒排表可以大幅提速:为每个用户维护一个物品交互列表,遍历时将列表中的物品两两配对,累加共现矩阵\(C[i][j]\),再除以 \(\sqrt{|N(i)\cdot |N(j)|}\)得到余弦相似度,只需计算真正有共同用户的物品对。 ### 处理评分数据的相似度计算 前面的余弦相似度适用于隐式反馈场景(如点击、浏览),当有显式评分数据(如5星评分)时,皮尔逊相关系数更符合 [ w_{ij} = ]

基于相似物品,可以预测用户对未接触物品的评分:

[ {u,j} = {r_j} + ] #### 参数说明 - ( S_j ):与物品 (j) 相似的物品集合
- ( U
{ij} ):同时评价过物品 (i) 和 (j) 的用户集合
- ( r_{ui} ):用户 (u) 对物品 (i) 的评分
- ( {r_i} ):物品 (i) 的平均评分

Swing算法

核心假设:如果多个用户在其他共同购买行为较少的情况下,同时购买了同一对物品,那么这对物品之间的关联性就更可信。

相比于ItemCF的优势

传统ItemCF在处理这类细粒度的商品关系时往往力不从心——它将所有用户-物品交互一视同仁,无论是用户深思熟虑的购买,还是偶然的误点击、好奇心驱动的浏览,都被赋予相同的权重。这种做法不仅难以区分真正的兴趣关联和随机噪声,更无法有效捕捉物品间的替代性与互补性关系。 ### swing具体内容 Swing 首先将用户与物品的交互数据转化为二部图:

  • 用户和物品分别作为两类节点
  • 发生过交互则添加一条连接边

设:

  • ( U_i ) 和 ( U_j ):分别表示与物品 ( i ) 和 ( j ) 有过交互的用户集合
  • ( I_u ):用户 ( u ) 交互过的所有物品集合

对于同时购买(或交互)过物品 ( i ) 和 ( j ) 的每一对用户 ( (u, v) ),如果他们之间的其他共同购买行为越少

[ |I_u I_v| ]

则说明他们共同选择这对物品的行为越具有特异性,应贡献更高的相似度得分

Suprise 算法

UserCF

类似ItemCF

矩阵低秩分解

FreeSVD

BiasSVD

对于这个的公式 \[ \hat r_{ui} = \mu + b_u + b_i + p_u^T q_i \] 里面的bias没有和pq相乘的原因 很有意思。

I2I召回

这个的理论基础来自于Word2Vec。

方法 数学公式 参数说明 适用特点
皮尔逊相关系数 \(r = \frac{\sum (x_i - \bar{x})(y_i - \bar{y})}{\sqrt{\sum (x_i - \bar{x})^2}\sqrt{\sum (y_i - \bar{y})^2}}\) \(x_i, y_i\):样本值;\(\bar{x}, \bar{y}\):均值 线性关系
斯皮尔曼 ρ \(\rho = 1 - \frac{6 \sum d_i^2}{n(n^2 - 1)}\) \(d_i\):排名差;\(n\):样本数 单调关系(非线性可)
肯德尔 τ \(\tau = \frac{C - D}{\frac{1}{2}n(n-1)}\) \(C\):一致对数;\(D\):不一致对数 小样本、稳健
距离相关系数 \(\mathrm{dCor}(X,Y) = \frac{\mathrm{dCov}(X,Y)}{\sqrt{\mathrm{dVar}(X)\mathrm{dVar}(Y)}}\) dCov:距离协方差;dVar:距离方差 任意依赖关系
互信息 (MI) \(I(X;Y)=\sum_{x,y} p(x,y)\log \frac{p(x,y)}{p(x)p(y)}\) \(p(x,y)\):联合概率;\(p(x)\):边缘概率 任意非线性
最大信息系数 (MIC) \(\mathrm{MIC} = \max_{grids} \frac{I(X;Y)}{\log \min(m,n)}\) 网格划分;\(m,n\):分箱数 非线性探索
Hoeffding's D \(D = \sum (F_{XY} - F_XF_Y)^2\)(积分形式) \(F_{XY}\):联合分布;\(F_X,F_Y\):边缘分布 任意依赖
克莱姆 V \(V = \sqrt{\frac{\chi^2}{n(k-1)}}\) \(\chi^2\):卡方统计量;\(k\):较小类别数 类别 vs 类别
相关比 η² \(\eta^2 = \frac{\sum n_k(\bar{y}_k - \bar{y})^2}{\sum (y_i - \bar{y})^2}\) \(n_k\):组样本数;\(\bar{y}_k\):组均值 类别 → 连续
点双列相关 \(r_{pb} = \frac{\bar{y}_1 - \bar{y}_0}{s_y}\sqrt{\frac{n_1 n_0}{n^2}}\) \(\bar{y}_1,\bar{y}_0\):两组均值;\(s_y\):标准差 二分类 + 连续
偏相关系数 \(r_{xy \cdot z} = \frac{r_{xy} - r_{xz}r_{yz}}{\sqrt{(1-r_{xz}^2)(1-r_{yz}^2)}}\) \(r_{xy}\) 等:两两皮尔逊相关 控制变量
Phi_K 基于 \(\chi^2\) → 非线性映射(无简单闭式) 通过分箱 + 卡方推导 混合变量

一个比较好的分析路径是:先用距离相关系数或MIC进行探索性分析,捕捉潜在的依赖关系;如果发现关系是单调的,可以再切换回斯皮尔曼相关系数,以获得更具体的相关方向和强度信息。

数据科学生命周期

alt text 1. 提问 - 核心:提出好问题,问题类型(描述、探索、推理、预测)决定分析方向。 - 关键:将宽泛问题转化为可被数据回答的具体问题,明确所需数据与分析路径。

2. 获取数据 - 来源:昂贵(需精确协议)或廉价(如在线数据)。 - 重点:检查数据质量(缺失、异常值)、范围、代表性及潜在偏见,必要时进行数据清洗与转换。

3. 理解数据 - 方法:探索性数据分析(图表、统计)、统计模型(如回归)。 - 特点:高度迭代,可能回溯至前阶段以优化数据或问题。

4. 了解世界 - 目标:将发现推广至样本之外。 - 手段:推断总体(A/B检验、置信区间),预测未来(预测区间、训练/测试拆分)。

问题与数据范围

如果要问自己一些关于数据的问题,可以从下面三个方面来进行提问: - 来源:谁收集?为何收集?(判断数据是否适用) - 时空:何时?何地?(判断情境是否相关) - 范围:目标群体?访问方式?选择与测量方法?仪器与校准?

偏差类型 - 覆盖偏差:抽样框未覆盖目标人群全体。 - 选择偏差:选择机制使样本单位概率不均(如便利样本、志愿者)。 - 无应答偏差:单位或项目无应答者与应答者存在系统性差异。 - 测量偏差:仪器或问题导致系统性单向偏离真实值。

方差类型 - 抽样方差:偶然选择样本导致的结果波动。 - 分配方差:实验分组随机性导致的结果波动。 - 测量误差:重复测量时围绕真值的随机波动。

仿真与数据设计

简单随机抽样:从骨灰罐中不更换弹珠的过程相当于简单的随机抽样。在简单的随机抽样中,每个样本被选中的概率相同。虽然方法名称中包含“简单”一词,但构 分层抽样 将人口划分为不重叠的组,称为地层(一个组称为地层,多个组为地层),然后从每个组中随机抽取一个简单样本。这就像每个层都有一个独立的骨灰盒,然后分别从每个骨灰罐中抽取弹珠。地层不必大小相同,我们也不必从每个地层取相同数量的弹珠。

集群抽样 这个详细一点,弄一个简单的example 将总体划分为不重叠的子群,称为簇,取一个简单的随机样本,并将该簇中的所有单元纳入样本。我们可以把这看作是从一个装有大弹珠的罐子中随机抽取的样本,而这些弹珠本身是装小弹珠的容器。(大型弹珠不一定包含相同数量的弹珠。)打开时,大弹珠样本会变成小弹珠样本。(群聚通常比地层小。) As an example, we might organize our seven marbles, labeled –, into three clusters, , , and . Then, a cluster sample of size one has an equal chance of drawing any of the three clusters. In this scenario, each marble has the same chance of being in the sample: But every combination of elements is not equally likely: it is not possible for the sample to include both and , because they are in different clusters.

Often, we are interested in a summary of the sample; in other words, we are interested in a statistic. For any sample, we can calculate the statistic, and the urn model helps us find the distribution of possible values that statistic may take on. Next, we examine the distribution of a statistic for our simple example.

抽样分布

这个很重要

智能体

Agent是一个能感知环境、做出决策、执行动作,并通过经验学习改进自身行为的自主实体。 现在LLM出来过后,Agent的研究领域基本上采取大模型来作为大脑构建LLM + Agent

这个的话我知道的有Reflection和RAG等机制

Reflection机制为自我反思机制,大模型自己判断自己的思路是否正确。这个玩意我看过的有在 gemini 解决IMO题目的时候看到过

多智能体系统

  • 多智能体系统工程应用
    • 多智能体的分布式问题求解机制
    • 多智能体的可扩展性
    • 多智能体的鲁棒性
  • 多智能体的控制理论
    • 有限时间容错控制
    • 多智能体间的通信,激励设计
  • 多智能体RL
    • 多智能体奖励分配
    • 多智能体表征学习

LLM与多智能体系统

大模型赋能的智能体团队 这种系统在 这篇survey里面的说法是 现在主流的研究在开发这种多智能体系统上,尤其是针对某个具体场景开发多智能体系统。 文章里面说这种多智能体系统包括 > - 智能体(Agents):具有角色、能力、行为和知识模型的核心行动者。其能力包括学习、规划、推理和决策等,这些能力赋予智能体及整个系统以智能。 > - 环境(Environment):智能体所处的外部世界,智能体可以感知该环境并对其采取行动。环境可以是模拟的,也可以是物理空间,例如工厂、道路、电网等。 > - 交互(Interactions):智能体之间通过标准的智能体通信语言进行交流。根据系统需求,智能体之间的交互可包括合作、协调、协商等多种形式。 > - 组织结构(Organization):智能体既可以采用层级化控制结构,也可以基于涌现行为进行自组织。

里面的环境这块就说明这种多智能体系统的玩意主要是在某个具体场景进行落地,然后来发论文

e.g. 金融方面的:TradingAgents: Multi-Agents LLM Financial Trading Framework 法律方面的:LawLuo: A Multi-Agent Collaborative Framework for Multi-Round Chinese Legal Consultation 安全方面的:AI-Driven Multi-Agent System for Real-Time Security Analysis of Software Releases

多智能体的基础设施建设 AgentScope: A Flexible yet Robust Multi-Agent Platform 然后还有langgraph langchain AutoGen这块。 多智能体协作

协作类型又分为合作,竞争,合作竞争 合作方面:各个智能体的目标基本对齐到一个共同目标 G,强调分工与配合。如AgentVerse 竞争方面:智能体之间存在冲突目标,让 LLM 智能体相互对抗以优化决策。 比方说提供一个游戏环境,让LLM互相打。如LLMArena ACL 2024 合作竞争相结合的。这个一般出现在社科类研究,这里就没写。

多智能体控制理论

AI智能体博弈方面的问题

这里的话就是多智能体=可学习的博弈参与者,所以就有一堆围绕策略收敛、均衡概念、合作/对抗机制的工作。 一些比较新的综述把 MARL 明确放在"博弈论 + 机器学习"的交叉位置,讨论不同奖励结构下的合作、对抗、混合博弈; 多智能体场景特有的问题:非平稳性、信用分配、可扩展性等。 综述A Survey of Progress on Cooperative Multi-agent Reinforcement Learning e.g. 多个智能体共同博弈学习,最终达到某个稳态: 像下面这篇论文就是在带状态扰动/对抗者的马尔可夫博弈里,定义了一个均衡并给出 Q-learning 收敛条件。 Robust Multi-Agent Reinforcement Learning with State Uncertainty

多智能体间的通信,激励设计

Multi-Agent Incentive Communication (AAAI 2023) 在强化学习框架下,每个智能体可发送"激励信号"给其他智能体,该信号直接加到接收方的局部Q值上,引导其行为朝向全局最优; Efficient Communication in Multi-Agent Reinforcement Learning with Consensus-guided Messages(AAAI 2024)

多智能体系统可扩展性的研究

比如一个系统能够在10个agent下运行,那么100个,1900个能不能稳定运行这种,去找系统的负载的类型的文章 e.g. The scalability impact on Organization-based Multi-Agent Systems

多智能体强化学习

对AI系统方面某个agent所作出的工作

因为在合作 MARL/MAS 中,只有一个团队奖励,怎么知道哪个 agent 在什么时候贡献了多少?或者在奖励非常稀疏的时候,又如何让学习收敛,然后就有了这种类型的工作 FACMAC: Factored Multi-Agent Centralised Policy Gradients(NeurIPS 2021)

ndividual Reward Assisted Multi-Agent Reinforcement Learning(ICML 2022)

STAS: Spatial-Temporal Return Decomposition for Solving Sparse Rewards Problems in MARL(AAAI 2024)

多智能体表征学习

这个主要是为了让后续的值分解/策略学习更容易。 这种学习又分为三类,分别是基于角色的表征,使用图结构的表征,关系建模的表征。和 为值分解门优化的 latent 表征。

基于角色的表征

ROMA: Multi-Agent Reinforcement Learning with Emergent Roles (ICML 2020) 这篇论文就通过引入了入一个角色embedding空间,每个 agent 在其中采样一个 role,policy 以 role 为条件。通过互信息和正则项,让同一角色的 agent 行为相似,可以共享经验;不同角色的 agent 行为差异大,有任务分工。 #### 使用GNN的表征 MAGNet: Multi-agent Graph Network for Deep MARL #### 为值分解专门优化的latent表征 UNSR:Unit-wise Attentive State Representation 先用 transformer 学一个更 disentangled 的 unit-wise state 表征,再增强 MIXING 网络中的 credit assignment

成员推理攻击(membership inference attack)

首先该攻击是指在已经知道模型和一个数据的情况下,去判断这个数据是否用于模型的训练。

alt text alt text ## 影子数据集的构建方法

第一种方法使用对目标模型的黑盒访问来合成这些数据。第二种方法使用关于从中提取目标训练数据集的总体的统计数据。第三种方法假设对手可以访问目标训练数据集的潜在噪声版本。第一种方法不假设任何关于目标模型训练数据分布的先验知识,而第二和第三种方法允许攻击者在推断给定记录是否在其训练数据集中之前仅查询目标模型一次。

The second, sampling phase starts when the target model’s probability yc that the proposed data record is classified as belonging to class c is larger than the probabilities for all other classes and also larger than a threshold confmin. This ensures that the predicted label for the record is c, and that the target model is sufficiently confident in its label prediction. We select such record for the synthetic dataset with probability y ∗ c and, if selection fails, repeat until a record is selected. This synthesis procedure works only if the adversary can efficiently explore the space of possible inputs and discover inputs that are classified by the target model with high confi- dence. For example, it may not work if the inputs are highresolution images and the target model performs a complex image classification task. Statistics-based synthesis. The attacker may have some statistical information about the population from which the target model’s training data was drawn. For example, the attacker may have prior knowledge of the marginal distributions of different features. In our experiments, we generate synthetic training records for the shadow models by independently sampling the value of each feature from its own marginal distribution. The resulting attack models are very effective. Noisy real data. The attacker may have access to some data that is similar to the target model’s training data and can be considered as a “noisy” version thereof. In our experiments with location datasets, we simulate this by flipping the (binary) values of 10% or 20% randomly selected features, then

Marcov Decision Process

inference search problem

Definition: search problem

  • s_start: starting state
  • Actions(s): possible actions
  • Cost(s, a): action cost
  • Succ(s, a): successor
  • IsEnd(s): reached end state?

BackTracking Search 回溯搜索

ALgorithms | Cost | time | Space |
Backtracing Search | Any | \(O(b^D)\) b(is branch factor,D is deepth) | \(O(D)\) |

|DFS | 0 | \(O(b^D)\) | \(O(D)\) | |BFS | C | \(O(b^d) (d is BF tree deepth)\) | \(O(D)\) | 如果没有负成本 那么找到的就是最优策略 | DFS-ID |

DFS-ID每次深搜都会有搜索的最大深度限制,如果没有找到解,那么就增大深度,再进行深搜,如此循环直到找到解为止。

reflex-based model

e.g. linear classifiers deep neural networks

Fully feed-forward(no backtracking), no reasoning about what was going on

state-based model

e.g. 在下国际象棋的时候 白棋怎么走下一步,这种需要一定的推理的玩意儿

Search problem

Markov decision processes

Adversarial games

Variable-based models

Constraint satisfaction problems: hard constraints(e.g. sudoku, scheduling) Bayesian networks: soft dependencies(e.g. tracking cars from sensors)

Q: 在有好数据的情况下,imitation learning是否总是比reinforce learning更好? 因为此时 imitation learning 没有exploration的部分,从而避免了reinforce learning 中的exploration 从而一直学到好数据?

A: 一般而言强化学习的算法和策略带来的结果始终比模仿学习好。 e.g. imitation learning 不会得到和预先数据相悖的东西。而强化学习,如AlphaGo,可以得到和人类棋手相异的东西。 如果想要超越人类的表现,就不能仅仅依赖人类的表现来进行决策

marcov过程建模例题 marcov

状态空间S:(学生掌握加法的情况,学生掌握减法的情况) 动作空间A: 智能体分配学生加减法的情况(加法,减法) 奖励函数R: 学生答对题目的情况(对+1,错-1) 转移模型T(s,a,s`) 描述练习后学生掌握技能的概率 目标: 寻找策略Π,使得期望折扣总奖励最大 BUT 这里有一个风险,即问题代理只会给出简单的问题来确保总奖励最大 建模2
状态空间S:(学生所掌握的知识,可能已经问过的问题)。对于已经问过的问题,可能存在一个充分统计量来表示。 动作空间A: 问了一个问题后(学生内在知识的变化和问题历史的变化)

目标:学生解决问题的总时间最小。

MDP MDP 和 Marcov 过程不同点在于多了一个reward函数。

0%