机器学习:矩阵分解、GBDT、LTR、Word2Vec、CRF、LSTM等常见算法总结
一、矩阵分解
1. 核心思想
将一个大矩阵 �R(通常是稀疏的,如用户-物品评分矩阵)分解成两个或多个低维矩阵的乘积,通过挖掘其潜在特征(Latent Factor)来填补缺失值。
��×�≈��×�×��×�Rm×n≈Pm×k×Qk×n
其中 �k 远小于 �m 和 �n。
2. 常见变种
-
SVD(奇异值分解): 基础的代数分解,要求矩阵稠密,不适合直接处理大规模稀疏数据。
-
Funk-SVD(隐语义模型): 只分解已有评分,通过梯度下降法优化,忽略了用户和物品的偏置项。
-
SVD++: 在 Funk-SVD 的基础上引入了隐式反馈(如用户点击、浏览记录)。
-
NMF(非负矩阵分解): 限制分解出的矩阵元素非负,具有更好的可解释性。
3. 应用场景
-
推荐系统: 协同过滤(预测用户对物品的评分)。
-
主题模型: LSA(潜在语义分析),用于文本降维和主题提取。
-
图嵌入: 对图的邻接矩阵进行分解,得到节点向量。
二、GBDT(梯度提升决策树)
1. 核心思想
一种集成学习方法,属于Boosting流派。它通过构建多棵决策树(通常是CART回归树)串行生成强学习器。
-
核心逻辑: 每一棵新树试图去拟合之前所有树组合结果的负梯度(即残差的近似方向)。
-
公式概念: ��(�)=��−1(�)+学习率×ℎ�(�)Fm(x)=Fm−1(x)+学习率×hm(x),其中 ℎ�(�)hm(x) 是当前树。
2. 常见变种
-
XGBoost: 对GBDT进行了工程优化和算法改进(加入了正则化项、二阶泰勒展开、列采样等),是工业界的利器。
-
LightGBM: 基于XGBoost进一步优化,引入了单边梯度采样和互斥特征捆绑技术,训练速度更快,内存占用更小。
-
CatBoost: 专门针对类别型特征优化,能够自动处理类别特征,并解决了预测偏移问题。
3. 特点
-
优点: 精度高,泛化能力强;能够处理非线性数据;特征工程相对简单;对异常值鲁棒性较好。
-
缺点: 串行训练难以并行加速(相比随机森林);数据维度很高时,效率可能不如神经网络;容易过拟合(需设置早停和学习率)。
4. 应用场景
-
CTR预估(广告点击率预估)
-
金融风控(信用评分)
-
各类排名和回归任务
三、LTR(Learning to Rank,排序学习)
LTR不是一个具体的算法,而是一个问题框架,指的是用机器学习方法来解决排序问题。
1. 三种主要方法
| 类别 | 核心思想 | 代表算法 | 特点 |
|---|---|---|---|
| Pointwise | 将排序问题转化为回归、分类或有序分类问题。只考虑单个文档的绝对相关度。 | McRank, 使用GBDT做回归 | 忽略了文档之间的相对顺序关系。 |
| Pairwise | 将排序问题转化为二元分类问题(判断文档 A 是否比文档 B 更相关)。目标是减少逆序对。 | RankNet, LambdaRank | 关注了文档间的相对关系,但优化的是逆序对数,而不是最终的评价指标(如NDCG)。 |
| Listwise | 直接优化整个列表的排序指标,或者最小化损失函数使其逼近排序指标。 | LambdaMART (GBDT + LambdaRank), ListNet | 效果最好,最接近最终需求,但计算复杂度较高。 |
2. 应用场景
-
搜索引擎
-
推荐系统中的物品排序
-
广告排序
四、Word2Vec(词嵌入)
1. 核心思想
将离散的、稀疏的One-hot词向量映射到低维稠密的实数向量空间中,使得语义相近的词在向量空间中的距离也相近(分布式假设:上下文相同的词,语义相似)。
2. 两种模型架构
-
CBOW(连续词袋模型): 用周围的词(上下文)来预测中心词。训练速度较快,对高频词有较好平滑效果。
-
Skip-gram: 用中心词来预测周围的词。对于低频词和罕见词的效果更好。
3. 优化技巧
-
Hierarchical Softmax: 利用霍夫曼树代替softmax,减少计算量。
-
Negative Sampling(负采样): 每次只更新一小部分负样本的权重,大幅提升训练速度。
4. 应用场景
-
NLP基础: 作为深度学习模型的嵌入层输入。
-
文本相似度计算
-
类比推理 (经典的 “国王——男人 + 女人 = 王后”)
五、CRF(条件随机场)
1. 核心思想
一种判别式概率图模型,通常用于序列标注任务。与HMM(隐马尔可夫模型,生成式)不同,CRF不关心联合概率分布,而是直接建模在给定观测序列 �X 的条件下,整个状态序列 �Y 的全局条件概率 �(�∣�)P(Y∣X)。
2. 核心特点
-
全局归一化: 它考虑的是整个序列的路径概率,解决了Label Bias Problem(标记偏置问题)。
-
特征灵活: 可以灵活地定义任意位置、任意上下文相关的特征函数(包括状态特征和转移特征)。
3. 应用场景
-
词性标注(POS Tagging)
-
命名实体识别(NER)
-
分词(Word Segmentation)
-
语义角色标注
4. 与深度学习的结合
目前常用BiLSTM-CRF结构:BiLSTM负责提取上下文特征(作为发射分数),CRF层负责学习标签之间的转移约束(如B-Person后面不能跟I-Location)。
六、LSTM(长短期记忆网络)
1. 核心思想
一种特殊的循环神经网络(RNN),专门设计用来解决传统RNN在处理长序列数据时容易出现的梯度消失或梯度爆炸问题。
2. 核心结构(门控机制)
LSTM通过三个“门”来控制信息的流动,保护和控制细胞状态:
-
遗忘门: 决定要从过去的细胞状态中丢弃什么信息。
-
输入门: 决定要将哪些新信息存入细胞状态。
-
输出门: 决定基于当前的细胞状态,输出什么信息。
3. 常见变种
-
GRU(门控循环单元): LSTM的简化版本,将遗忘门和输入门合并为“更新门”,参数更少,训练更快,效果与LSTM相当。
4. 应用场景
-
机器翻译
-
文本生成
-
情感分析
-
时间序列预测(如股票预测、天气预测)
总结对比
| 算法 | 核心领域 | 主要任务 | 输入/输出特点 |
|---|---|---|---|
| 矩阵分解 | 推荐系统 | 填充矩阵,挖掘潜在特征 | 矩阵 -> 低维向量 |
| GBDT | 通用机器学习 | 回归、分类、排序 | 表格数据 -> 数值/类别 |
| LTR | 信息检索 | 排序 | 查询-文档对 -> 分数列表 |
| Word2Vec | NLP | 词向量表征 | 文本语料 -> 词向量 |
| CRF | NLP | 序列标注 | 序列特征 -> 标签序列 |
| LSTM | 深度学习 | 序列建模 | 时序数据 -> 序列/向量 |

更多推荐

所有评论(0)