第10讲:支持向量机与朴素贝叶斯、推荐算法
支持向量机与朴素贝叶斯、推荐算法
导入
在分类问题中,我们希望根据训练样本建立一个分类器,使其能够对新的观测进行准确分类。支持向量机(Support Vector Machine, SVM)是基于统计学习理论发展起来的一类经典方法,既可用于分类,也可用于回归。其核心思想是在特征空间中寻找一个最优分割超平面,使不同类别之间的间隔最大化。
分类问题回顾
当因变量取离散值时,我们称之为分类问题,可写为:
\[y = f(x)\]其中,$f$ 是关于 $x$ 的函数,通常称为分类器。Logistic 模型、决策树、随机森林、支持向量机等都属于经典分类器。
支持向量机的基本思想
支持向量机的理论出发点非常直观:在特征空间中寻找一个能够将不同类别一分为二的超平面。对于二分类问题,通常用 $y_i \in {-1,1}$ 表示两个类别。
超平面
在 $p$ 维空间中,一个超平面可写为:
\[\beta_0 + \beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_p x_p = 0\]或写成向量形式:
\[\beta_0 + \beta^T x = 0\]对任一点 $x$,只需考察 $\beta_0 + \beta^T x$ 的符号,就可以判断该点位于超平面的哪一侧。
最大间隔分类器
若训练数据线性可分,则可以构造一个超平面把两个类别完全分开。支持向量机追求的不仅是“分开”,更是“尽可能分得远”,也就是最大化分类间隔。距离分类边界最近的那些点称为支持向量,它们决定了最优分类边界的位置。
支持向量分类器
实际数据往往不是完全线性可分的。为了提高模型的稳定性和泛化能力,引入了软间隔(soft margin)思想,允许少量样本落入间隔带甚至被错分,从而得到支持向量分类器(Support Vector Classifier)。
其本质仍然是一个“损失函数 + 惩罚项”的优化问题,通过在分类准确率与间隔宽度之间进行权衡,控制模型复杂度。
支持向量机(SVM)
当不同类别在原始低维空间中线性不可分时,可以通过把数据映射到更高维特征空间来实现线性可分。为了避免显式构造高维特征,SVM 使用了核函数技巧(kernel trick)。
常见核函数包括:
- 线性核
- 多项式核
- 径向基核(RBF)
- Sigmoid 核
核函数的引入使支持向量机能够处理复杂的非线性分类边界。
SVM 与 Logistic 回归的关系
SVM 与 Logistic 回归都可以用于二分类问题,也都可写成“损失函数 + 惩罚项”的形式。两者的结果通常较为接近,但侧重点不同:
- 当类别区分度较高时,SVM 往往更合适;
- 若需要得到显式概率估计,则 Logistic 回归更方便;
- 对于非线性边界,结合核函数的 SVM 更常用。
支持向量回归(SVR)
支持向量机不仅可用于分类,也可用于回归。支持向量回归(Support Vector Regression, SVR)采用 $\varepsilon$-不敏感损失函数:
\[V_\varepsilon = \begin{cases} 0, & |\gamma| < \varepsilon \\ |\gamma| - \varepsilon, & \text{others} \end{cases}\]即当预测误差落在 $\varepsilon$ 管道内时不计损失,超过阈值的部分才计入损失。只有偏离足够大的样本才影响模型,这些样本同样称为支持向量。
朴素贝叶斯方法
朴素贝叶斯的基本思想
朴素贝叶斯(Naive Bayes)是一类基于贝叶斯定理的概率分类方法。它通过估计后验概率:
\[P(Y = k \mid X = x)\]并将样本分到后验概率最大的类别中:
\[\hat{y} = \arg \max_k P(Y = k \mid X = x)\]这类分类器本质上属于贝叶斯分类器的简化形式。
贝叶斯分类器
给定输入 $X=x_0$,将观测分到条件概率最大的那一类是合理的:
\[\max_j P(Y=j \mid X=x_0)\]这类方法产生最低的理论测试错误率,称为贝叶斯错误率。
条件独立假设
朴素贝叶斯的关键简化在于假设:在给定类别 $Y$ 的条件下,各个特征彼此条件独立。于是:
\[P(X_1, X_2, \cdots, X_p \mid Y=k) = \prod_{j=1}^p P(X_j \mid Y=k)\]因此,后验概率可写为:
\[P(Y=k \mid X) \propto P(Y=k)\prod_{j=1}^p P(X_j \mid Y=k)\]这大大降低了参数估计难度,使得朴素贝叶斯在高维、小样本或文本分类问题中非常高效。
朴素贝叶斯的优点
- 模型简单,训练速度快;
- 对高维数据较友好;
- 对文本分类、垃圾邮件识别、情感分析等任务效果较好;
- 需要估计的参数相对较少。
朴素贝叶斯的局限
- 条件独立假设在现实中往往不严格成立;
- 当特征之间相关性较强时,性能可能下降;
- 概率估计有时不够精细,但分类结果往往仍然可用。
推荐算法
推荐算法的背景
推荐算法是通过用户行为数据、物品属性数据或交互数据,推测用户可能喜欢的内容,从而实现个性化推荐的方法。它广泛应用于电商、新闻、短视频、音乐、电影、社交媒体等场景。其研究起源于 20 世纪 90 年代,GroupLens 研究小组曾开发 MovieLens 电影推荐系统,用于个性化电影推荐。
为什么需要推荐算法
在购物、阅读小说、观看电影或短视频时,平台往往会向用户推荐相似产品、相近题材内容或潜在感兴趣的信息。推荐算法的目标,就是在信息过载环境中,把“用户可能感兴趣”的内容更高效地呈现出来。
常见推荐方法包括:
- 协同过滤推荐
- 内容推荐
- 相似性推荐
- 关联规则推荐
- 深度学习推荐
协同过滤算法
协同过滤(Collaborative Filtering)是最经典的推荐算法之一,核心思想是:
- 相似的用户喜欢相似的物品
- 相似的物品会被相似的用户喜欢
协同过滤主要分为两类:
基于用户的协同过滤
基于用户的协同过滤建立在如下假设上:和你兴趣相似的人喜欢的东西,你也有较大概率喜欢。
其做法是:
- 使用用户对物品的评分向量(评分矩阵的行);
- 计算用户与用户之间的相似度;
- 为目标用户找到若干“邻居”用户;
- 根据邻居对目标物品的评价,预测目标用户对该物品的评分并进行推荐。
基于物品的协同过滤
基于物品的协同过滤建立在如下假设上:如果两个物品被很多相似用户共同喜欢,那么它们彼此相似。
其做法是:
- 基于用户-物品评分矩阵计算物品之间的相似度;
- 找出与用户已喜欢物品最相似的其他物品;
- 向用户推荐这些相似物品。
协同过滤的优点与局限
优点:
- 不依赖复杂的内容特征工程;
- 适合发现“意想不到但合理”的兴趣迁移;
- 在用户行为数据充足时效果较好。
局限:
- 冷启动问题:新用户或新物品缺乏历史记录;
- 数据稀疏问题:评分矩阵通常非常稀疏;
- 热门偏置:更容易推荐热门项目。
关联规则推荐
关联规则推荐的典型故事是“尿布与啤酒”。其思想是:从大量事务数据中发现不同项目之间的共现规律,并据此进行联合推荐。
基本概念
设
\[I = \{I_1, I_2, \cdots, I_m\}\]为数据项集合(Itemset),事务集记为:
\[D = \{T_1, T_2, \cdots, T_n\}\]其中每个事务 $T_k$ 是项集 $I$ 的一个非空子集。
支持度
若项集 $X$ 出现在事务集中的次数为 $\text{occur}(X)$,事务总数为 $\text{count}(D)$,则支持度定义为:
\[\text{supp}(X) = \frac{\text{occur}(X)}{\text{count}(D)} \times 100\]若支持度超过最小支持度阈值,则称 $X$ 为频繁项集。
关联规则
若 $X, Y \subseteq I$ 且 $X \cap Y = \emptyset$,则
\[X \Rightarrow Y\]称为一条关联规则。
常用评价指标包括:
- 支持度(Support):规则出现的频繁程度;
- 置信度(Confidence):在出现 $X$ 的情况下同时出现 $Y$ 的概率;
- 提升度(Lift):衡量 $X$ 与 $Y$ 的关联强度是否高于独立情形。
关联规则的应用
- 购物篮分析(Market Basket Analysis)
- 交叉销售与捆绑销售
- 货架布局优化
- 异常识别
内容推荐与相似性推荐
除了协同过滤,推荐系统还常用内容推荐方法。其基本思想是:根据物品本身的属性、标签、文本描述或主题信息,为用户推荐与其历史偏好内容相似的项目。
例如:
- 看过科幻小说的用户继续推荐科幻题材作品;
- 浏览过某类商品的用户推荐同类商品;
- 阅读过某类新闻的用户推荐主题相近的文章。
这种方法对新物品较友好,但容易出现“信息茧房”问题,即推荐结果过于单一。
深度学习推荐
随着数据规模和特征复杂度不断增加,推荐算法也逐渐发展出深度学习方法。深度学习推荐通常结合:
- 用户特征
- 物品特征
- 行为序列
- 文本、图像、音频等多模态信息
常见思路包括:
- 用神经网络学习用户与物品的表示向量;
- 用序列模型建模用户兴趣变化;
- 用注意力机制捕捉用户对不同内容的偏好;
- 用深度排序模型优化推荐顺序。
推荐算法的整体理解
从整体上看,不同推荐算法分别利用了不同的信息来源:
- 协同过滤:利用用户—物品交互行为;
- 内容推荐:利用物品内容属性;
- 关联规则:利用项目共现关系;
- 深度学习推荐:综合利用多源异构数据。
在真实平台中,通常并不是单独使用某一种方法,而是采用多种方法组合,形成混合推荐系统,以提高推荐效果和业务价值。
总结
本讲围绕支持向量机、朴素贝叶斯和推荐算法展开。支持向量机重点解决分类边界与高维映射问题;朴素贝叶斯强调基于后验概率的快速分类;推荐算法则是分类与预测思想在互联网平台中的重要应用方向。
如果用一句话概括本讲内容,可以表述为:
从支持向量机到朴素贝叶斯,再到推荐算法,核心目标都是利用已有数据建立规则或模型,对未知样本、未知类别和潜在兴趣进行有效预测。
