协同过滤
有些用户有些商品,某些用户已经给出了某些商品的评分,需要根据用户
的已知评分来推断未某些用户对某些商品可能被评多少分。其本质是补全
矩阵。矩阵分解是补全矩阵的主要方法,首先估计出分解矩阵是什么。然
后计算缺失值。
- 协同:找到共同的偏好信息
- 过滤:给出预测
矩阵分解
Basic MF
Basic MF是最基础的分解方式,将评分矩阵R分解为用户矩阵U和项目矩
阵S, 通过不断的迭代训练使得U和S的乘积越来越接近真实矩阵,矩阵
分解过程如图:
预测值接近真实值就是使其差最小,这是我们的目标函数,然后采用
梯度下降的方式迭代计算U和S,它们收敛时就是分解出来的矩阵。我
们用损失函数来表示误差(等价于目标函数):
上式中R_ij是评分矩阵中已打分的值,U_i和S_j相当于未知变量。
为求得公式1的最小值,相当于求关于U和S二元函数的最小值
(极小值或许更贴切)。通常采用梯度下降的方法:
学习率设为1.5较为合适
截断SVD加速网络
网络的输出等于 Ax+b
对权值矩阵A进行分解 分解的对角矩阵只保留最大值再解得 A^
A^与A具有类似的F范数
对于原始网络一层一共有n*m个参数也就是A矩阵的个数
使用svd后由以上公式可以将网络看成两层网络
第一层的权重为 SV 偏置为0
第二层的权重为 U 偏置为b
参数个数为 tm+tn
FEATURED TAGS
c语言
c++
面向对象
指针
容器
python
函数
数据结构
回归
损失函数
神经网络
机器学习
似然函数
极大似然
标准化
深度学习
卷积网络
参数估计
beta分布
数据处理
gradio
模型工程化
网页
模型加速工具
c++实现
变量
占位符
tensorflow
线性回归
学习tensorflow
HMM
RNN
强化学习
LSTM
pandas
不定长序列损失
pytorch
目标检测
RPN
非极大值抑制
ROIpooling
VGG16
Transformer
BERT
Python
装饰器
方法
Pytorch
FPN
图像分类
CNN
多模态
生成
GPT
Tranformer
生成模型
audio