机器学习笔记【Week9】

一、异常检测问题动机

  • 在现实中,我们经常会遇到 “异常检测” 的任务:识别罕见、异常、不符合正常模式的数据点。
    • 例:工业设备故障检测,银行欺诈识别,异常流量检测等。
  • 核心特点:异常样本稀少,难以用监督学习训练模型。

二、高斯分布

  • 建立算法前,需要假设每个特征满足 高斯(正态)分布

    • 在单一特征 xjx_jxj 上:
      p(xj;μj,σj2)=12π σjexp⁡(−(xj−μj)22σj2) p(x_j; \mu_j, \sigma_j^2) = \frac{1}{\sqrt{2\pi}\,\sigma_j} \exp\left(-\frac{(x_j - \mu_j)^2}{2\sigma_j^2}\right) p(xj;μj,σj2)=2πσj1exp(2σj2(xjμj)2)

    • 参数:

      • μj\mu_jμj:该特征的均值(样本平均)
      • σj2\sigma_j^2σj2:方差(样本方差)
  • 若所有特征相互独立,样本在多维空间上的概率为:
    p(x)=∏j=1np(xj;μj,σj2) p(x) = \prod_{j=1}^n p(x_j; \mu_j, \sigma_j^2) p(x)=j=1np(xj;μj,σj2)

三、算法流程

  1. 估计参数 μj\mu_jμj, σj2\sigma_j^2σj2,使用训练集中每个特征的样本统计量。
  2. 计算异常概率:对于新样本 xxx,计算其在模型下的联合似然 p(x)p(x)p(x)
  3. 设定阈值 ϵ\epsilonϵ
    • p(x)<ϵp(x) < \epsilonp(x)<ϵ,则判定为异常(anomaly)。
    • 否则为正常样本。

通过此方法,我们能识别出那些在训练数据分布之下概率极低的样本。

四、异常检测系统的开发与评估

  • 开发流程:
    1. 从正常数据中估计 p(x)p(x)p(x)
    2. 设定阈值 ϵ\epsilonϵ,根据历史异常样本调优。
    3. 使用混淆矩阵指标(TP, FP, FN, TN)评估系统效果。
  • 评估标准:
    • 精准率(Precision)召回率(Recall)F1 分数
    • 目标:低误报率、高召回率(尤其在安全或故障检测场景)。

五、与监督学习的对比

特性异常检测(无监督)监督学习
数据需求正常样本丰富,异常样本稀少同时需要正常和异常样本
应用场景异常未知、难以标注的场景标签已知、结构明确的分类任务
模型训练目标学习正常分布最小化预测误差
  • 异常检测更适合异常样本稀少或未知的情况。

六、特征选择

  • 特征选取关键性强:
    • 异常表现往往体现在特定特征上,不选择合适特征可能无法检测异常。
    • 可考虑大量候选特征,采用统计方法初筛,再人工选 +
    • 重要:避免冗余特征造成噪声、过拟合或高维问题。

七、实践建议

  • 建议基于领域知识选择特征,例如:
    • 监控系统:时间、人为操作数据、温度、压力等环境变量;
    • 金融领域:交易金额、频率、地理偏移等;
    • 一般场景:不仅采用数值特征,还应注意衍生与组合特征设计。
  • 数据预处理建议:
    • 标准化或归一化处理,保证每个特征都能被高斯假设合理拟合;
    • 挑选异常标签作为验证集,用于阈值设定和调优。

八、推荐系统问题背景

推荐系统帮助用户发现他们可能喜欢的物品,解决数据海量化导致的选择困难问题。
常见应用场景:

  • 电影推荐(Netflix, 豆瓣)
  • 商品推荐(Amazon, 淘宝)
  • 音乐推荐(Spotify, 网易云)

数据表示:

  • nun_unu 是用户数量,nmn_mnm 是物品数量。
  • y(i,j)y^{(i,j)}y(i,j):用户 jjj 对物品 iii 的评分。
  • r(i,j)=1r(i,j) = 1r(i,j)=1 如果评分存在,否则为 0。

九、协同过滤的动机

核心假设:喜欢相似物品的用户,通常对其他相似物品也有类似偏好。

数学上:

  • 每个物品 iii 用向量 x(i)∈Rnx^{(i)} \in \mathbb{R}^nx(i)Rn 表示其特征。
  • 每个用户 jjj 用向量 θ(j)∈Rn\theta^{(j)} \in \mathbb{R}^nθ(j)Rn 表示其偏好。

预测评分:

y^(i,j)=(θ(j))Tx(i) \hat{y}^{(i,j)} = (\theta^{(j)})^T x^{(i)} y^(i,j)=(θ(j))Tx(i)
这里的内积表示:

  • 如果 θ(j)\theta^{(j)}θ(j)x(i)x^{(i)}x(i) 方向一致(高相似度),评分就高。
  • 如果方向相反(不匹配),评分就低。

十、协同过滤成本函数

我们希望学出使预测评分与真实评分尽量接近的参数:
J(x,θ)=12∑(i,j):r(i,j)=1((θ(j))Tx(i)−y(i,j))2+λ2∑j∥θ(j)∥2+λ2∑i∥x(i)∥2 J(x, \theta) = \frac{1}{2} \sum_{(i,j): r(i,j)=1} \left( (\theta^{(j)})^T x^{(i)} - y^{(i,j)} \right)^2 + \frac{\lambda}{2} \sum_j \|\theta^{(j)}\|^2 + \frac{\lambda}{2} \sum_i \|x^{(i)}\|^2 J(x,θ)=21(i,j):r(i,j)=1((θ(j))Tx(i)y(i,j))2+2λjθ(j)2+2λix(i)2
原理解析:

  • 前半部分:最小化预测评分误差的平方和。
  • 正则化项:
    • 防止过拟合(防止 x(i)x^{(i)}x(i)θ(j)\theta^{(j)}θ(j) 的值无限增大以拟合少数评分)。
    • 控制模型复杂度,提升泛化能力。

十一、梯度更新公式

为了最小化成本函数,我们对每个参数求偏导:
∂J∂x(i)=∑j:r(i,j)=1((θ(j))Tx(i)−y(i,j))θ(j)+λx(i) \frac{\partial J}{\partial x^{(i)}} = \sum_{j: r(i,j)=1} \left( (\theta^{(j)})^T x^{(i)} - y^{(i,j)} \right) \theta^{(j)} + \lambda x^{(i)} x(i)J=j:r(i,j)=1((θ(j))Tx(i)y(i,j))θ(j)+λx(i)

∂J∂θ(j)=∑i:r(i,j)=1((θ(j))Tx(i)−y(i,j))x(i)+λθ(j) \frac{\partial J}{\partial \theta^{(j)}} = \sum_{i: r(i,j)=1} \left( (\theta^{(j)})^T x^{(i)} - y^{(i,j)} \right) x^{(i)} + \lambda \theta^{(j)} θ(j)J=i:r(i,j)=1((θ(j))Tx(i)y(i,j))x(i)+λθ(j)

用梯度下降或高阶优化方法(如 L-BFGS)同时更新 x(i)x^{(i)}x(i)θ(j)\theta^{(j)}θ(j)

十二、推荐系统与矩阵分解的关系

矩阵视角:
设评分矩阵 Y∈Rnm×nuY \in \mathbb{R}^{n_m \times n_u}YRnm×nu,协同过滤希望找到:
Y≈XΘT Y \approx X \Theta^T YXΘT
其中:

  • X∈Rnm×nX \in \mathbb{R}^{n_m \times n}XRnm×n:每行是物品特征 x(i)x^{(i)}x(i)
  • Θ∈Rnu×n\Theta \in \mathbb{R}^{n_u \times n}ΘRnu×n:每行是用户参数 θ(j)\theta^{(j)}θ(j)

这类似于 低秩矩阵分解,但不同于传统 SVD:

  • 只拟合已评分项。
  • 通过正则化避免过拟合。

矩阵分解解释了推荐系统能在稀疏评分矩阵中填补空白。

十三、均值归一化

为什么需要?

有的物品评分普遍高(如经典电影),有的用户评分普遍高或低。
若不处理:

  • 模型可能学出错误的特征和偏好方向。

方法:

  • 每个物品减去均值:

ynorm(i,j)=y(i,j)−μ(i) y_{\text{norm}}^{(i,j)} = y^{(i,j)} - \mu^{(i)} ynorm(i,j)=y(i,j)μ(i)

训练完成后预测值:
y^(i,j)=(θ(j))Tx(i)+μ(i) \hat{y}^{(i,j)} = (\theta^{(j)})^T x^{(i)} + \mu^{(i)} y^(i,j)=(θ(j))Tx(i)+μ(i)
均值归一化后:

  • 参数更易学。
  • 推荐结果不受评分基准偏置干扰。

十四、冷启动与扩展问题

冷启动

  • 新用户:没有历史评分,难以学出 θ(j)\theta^{(j)}θ(j)
  • 新物品:没有评分,无法学 x(i)x^{(i)}x(i)

解决方案:

  • 混合推荐(协同过滤 + 内容推荐)。
  • 初始阶段用物品属性或用户画像特征。

可扩展性

  • 协同过滤可以高效并行化,适合大规模分布式系统。
  • 常与近似优化(随机梯度下降、分布式矩阵分解)结合。

十五、推荐系统

主题方法本质工程实践
协同过滤矩阵分解,梯度下降学习用户与物品的低维向量表示正则化防过拟合、均值归一化去偏置、混合推荐应对冷启动
矩阵分解评分矩阵低秩分解潜在因子模型适用于稀疏评分矩阵

十六、背后原理深挖

正则化的本质:

  • 避免在已评分样本上过拟合。
  • 让低维表示更平滑,提升泛化能力。

为什么是内积?

  • 内积度量向量相似性,符合“相似物品评分相近”的假设。
  • 简单高效,可快速计算所有物品的预测分数。

与 SVD 区别:

  • SVD 对整个矩阵分解,协同过滤只针对已评分项。
  • 协同过滤更灵活(可加正则、均值归一化、融合上下文)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值