推荐算法与推荐系统_学术界与工业界的理解
产学研结合,学术界和工业界,一直都是有关联的,
推荐,更是,
工业界和学术界的推荐
工业界的推荐,现在是一个庞大的系统,
做推荐系统的一般是互联网大厂,而互联网大厂能用又好用的特征太多了,不需要死磕图关系……
我倒是很想多了解,当可用特征太少、只剩下图值得深挖的场景里面用GNN的成功例子,不过比较遗憾可能油水没有互联网推荐系统多,所以做的人也许很少
这个问题问得非常专业,很适合在你论文中用来对比“理论与实践”的结合点。我来系统地整理一下:
工业界推荐系统的整体架构(自上而下)
工业界的推荐系统一般是一个多层级、模块化、线上线下结合的大规模系统。整体从上到下可以划分为以下几个关键层次: ...
深度学习中模型训练过程中的一些理解
训练loss
trainloss 在降低,但是 validscore ndcg@10增长减慢,甚至下降
另一组模型的trainloss更高,但是validscore ndcg@10反而更大,
这种现象在训练深度学习模型时并不罕见,尤其是在推荐系统中。以下是一些可能的原因和解决方法:
1. 过拟合
原因:训练损失降低但验证指标(如 NDCG@10)增长减慢或下降,通常是因为模型过拟合。模型在训练集上表现良好,但在验证集上表现不佳。
解决方法:
正则化:增加 Dropout 层或 L2 正则化。
数据增强:增加训练数据的多样性。
早停:在验证损失不再下降时停止训练。
简化模型:减少模型的 ...
pytorch学习笔记_1_常用函数
pytorch中常用函数
pytorch学习笔记_3_pytorch中的一些概念
PyTorch中的广播机制(Broadcasting)
1. 广播机制原理
广播(broadcasting)是指当进行张量(Tensor)运算时,如果两个张量的形状(shape)不同,PyTorch 会自动扩展它们,使它们具有相同的形状,从而能够进行逐元素运算(element-wise operation)。这一机制避免了显式复制数据,提高了计算效率,并节省了内存。
2. 广播的条件
维度必须要么相等,要么其中一个维度为 1,要么该维度不存在(会被自动补 1)。
不能广播的情况:如果在某个维度上,两个张量的形状既不相等也不包含 1,则无法广播。
3. 广播的规则
PyTorch 在进行广播 ...
终端shell使用-instance_learning
awk
1(base) [iprobe@node118 202311]$ cat access1-20231116.log.* | grep "tj=" | awk '{if($6~"tj=" )print $0}' | awk '{print $6" "$(NF-2)}' | awk -F "\"" '{print $1$2}' | awk 'BEGIN{sum=0 ...
pytorch学习笔记_2_dataloader
pytorch中dataloader中的next方法
深度学习中的embedding范式
深度学习中的embedding范式
1. 什么是embedding
在深度学习中,embedding是指将高维度的离散特征映射到低维度的连续空间中,以便模型能够更好地学习特征之间的关系。embedding的目的是将离散特征转换为连续特征,使得模型能够更好地学习特征之间的相似性和关联性,从而提高模型的泛化能力和性能。
Embedding 是深度学习中一种重要的表示学习技术,旨在将高维或离散数据映射到连续、低维的实数向量空间。这种低维表示保留了数据的语义信息,并能够使离散的类别数据适合于深度学习模型处理。
Embedding 的原理
定义
Embedding 可以理解为一种编码方式,将离散的 ...
深度学习经典数据集
深度学习经典数据集
Docker学习
镜像
当你创建一个 Docker 镜像时,镜像内的文件是固定的,意味着该镜像包含了创建时所有的文件系统状态,包括应用、依赖、配置文件等。这个镜像本身是不可变的,也就是说一旦镜像被创建,镜像内的文件和结构不会再被修改。
镜像的不可变性:
Docker 镜像是分层构建的,每一层都表示文件系统的一个增量。当你创建一个新的镜像时,这些层是只读的,镜像一旦生成后就不会改变。
你可以使用 docker commit 或重新构建镜像来创建新的镜像版本,但原始镜像不会被修改。
容器是镜像的可写副本:
当你使用 docker run 命令启动一个容器时,Docker 会在镜像的基础上创建一个容器。 ...
深度学习中一些设置的理解
深度学习中一些设置的理解
1. batch_size: 为什么要设置batch_size
batch_size=1单个样本训练计算loss形象的说就是你让野人(模型)学习辨别猫狗,但是你每次只给他看一张图(仅一种形态的猫或狗),这样会有2个不可避免的问题:
梯度更新不稳定:就算前后两次都给dog图片,但两种品种的dog特征可能差距巨大,这时候需要更新权重(野人会困惑)的方向差异很大(就是梯度的方差大),更新会不稳定,且如果数据集没有经过清洗,很可能会朝错误的方向学习,最后导致训练震荡。相反,如果使用较大的 batch_size,梯度更新会更加平滑和稳定,模型能够更好地学到数据的总体分 ...