2023.02.26 学习周报
文章目录
- 摘要
- 文献阅读
- 1.题目
- 2.摘要
- 3.介绍
- 4.模型
- 4.1 SESSION-PARALLEL MINI-BATCHES
- 4.2 SAMPLING ON THE OUTPUT
- 4.3 RANKING LOSS
- 5.实验
- 5.1 数据集
- 5.2 验证方式
- 5.3 baselines
- 5.4 实验结果
- 6.结论
- 深度学习
- 元胞自动机
- 1.定义
- 2.构成
- 3.特性
- 4.思想
- 5.统计特征
- 流形学习
- 1.降维
- 2.空间
- 3.距离
- 4.聚类与降维
- 5.流形
- 6.为什么用流形
- 总结
摘要
This week, I read an article related to the sequential recommendation system, this article proposes a method based on Recurrent Neural Network, which models the whole session and aims to solve the problem that recommendations can only be made based on short session data. Considering the actual situation, this article makes some modifications to the classical Recurrent Neural Network, mainly embodied in the ranking loss function, so as to make the model more suitable for this particular problem. This article compares the model with two datasets on four baselines, the experimental results show that the method used in this article has been significantly improved. In addition, I learn Cellular Automata and Manifold Learning; In the process of learning Cellular Automata, I explain its advantages and ideas from many aspects; In the process of Manifold Learning, I understand manifolds from two aspects: why to use manifold distance and what manifold is.
本周,我阅读了一篇与顺序推荐系统相关的文章,文章提出了一种基于循环神经网络的方法,它对整个会话进行建模,旨在解决只能基于短会话数据进行推荐的问题。文章考虑了实际情况,对经典的循环神经网络进行一些修改,主要体现在排名损失函数,以此让模型更适合于这个特定问题。文章将模型与两个数据集在四个基线上进行相比,实验结果表明文章使用的方法得到显著改进。此外,我学习了元胞自动机和流形学习,在学习元胞自动机的过程中,我从多个方面去说明它的优势与思想;在学习流形学习的过程中,我从为什么要用流形距离以及流形是什么两个方面去理解流形。
文献阅读
1.题目
文献链接:Session-based recommendations with recurrent neural networks
2.摘要
We apply recurrent neural networks (RNN) on a new domain, namely recommender systems. Real-life recommender systems often face the problem of having to base recommendations only on short session-based data (e.g. a small sportsware website) instead of long user histories (as in the case of Netflix). In this situation the frequently praised matrix factorization approaches are not accurate. This problem is usually overcome in practice by resorting to item-to-item recommendations, i.e. recommending similar items. We argue that by modeling the whole session, more accurate recommendations can be provided. We therefore propose an RNN-based approach for session-based recommendations. Our approach also considers practical aspects of the task and introduces several modifications to classic RNNs such as a ranking loss function that make it more viable for this specific problem. Experimental results on two data-sets show marked improvements over widely used approaches.
3.介绍
问题:对于缺少user-items矩阵的情况下,矩阵分解法不可用,而采用基于邻域的方法解决,但是基于领域的方法一般只会考虑session最后一个事件(比如user的最后一次点击),而忽略了前缀的session。
方案:本篇文章利用RNN的特性(LSTM和GRU的记忆性)来优化session-based recommendation。
本文贡献:
1)首次将递归神经网络(RNN)应用于推荐系统;
2)以往的推荐系统只考虑到用户的最后一次点击情况,而忽略了过去的点击信息;
3)通过对整个session进行建模,可以提出更为准确的建议。因此,文章提出了一种基于RNN的基于会话的推荐方法。
本文工作:
1)证明了RNN可以用于session-based recommendation;
2)文章不仅解决了对稀疏序列数据建模的问题,还设计了适配于该推荐任务的ranking loss function。
4.模型
1)推荐模型的初始化输入是用户进入该网站点击的第一个项目;
2)GRU的输入是session当前的输入item,输出是下一个item;
3)模型的输出是item的预测偏好,即每个item成为session下一个item的可能性;
4)文章通过实验证明了weighted one-hot representation优于embedding layer,其中weighted的含义是权重值随时序向前递减;
5)文章通过实验证明了将输入介入到深层GRU有助于提高模型表现效果。
4.1 SESSION-PARALLEL MINI-BATCHES
该任务可以对序列不等长的情况进行序列补长,即做Padding,如下图所示:
当一个batch内的session结束时,会用这个batch以外的session去填补,此时模型的参数需要重新设置。
4.2 SAMPLING ON THE OUTPUT
文章中提到由于item数量过大,文章将对正样本和负样本分别采样计算得分及更新权重。文章做了一个假设,missing item,因此文章中的负样本为该batch中其他训练数据中的item。
4.3 RANKING LOSS
推荐系统的核心是基于相关性的项目排名。文章使用了Pairwise ranking,即比较正样本和负样本的得分,并确保正样本的损失要低于负样本。文章使用了两种基于Pairwise ranking的loss function:
1)BPR:矩阵分解法,公式如下:
其中:Ns指采样大小,r s,i指desired item的得分,r s,j指负样本的得分。
2)TOP1:正则估计,公式如下:
由于正样本会被用于负样本,即这里加入正则化项的目的是为了稳定性。
5.实验
5.1 数据集
两个数据集:
1)RecSys Challenge 2015,网站点击流,并去除单点击session和验证集,其中不包含于训练集的item。
2)Youtube-like OTT video service platform Collection,作者自己收集的数据。
5.2 验证方式
两个指标:recall@20和MRR
方式:通过逐步检查session的下一个event的item排名来进行评估
5.3 baselines
1)POP:顺序推荐训练集中最受欢迎的item;
2)S-POP:推荐当前session中最受欢迎的item;
3)Item-KNN:推荐与实际item相似的item,相似度被定义为session向量之间的余弦相似度
4)BPR-MF:一种矩阵分解法,新会话的特征向量为其内的item的特征向量的平均,把它作为用户特征向量。
5.4 实验结果
如下图所示,实验结果表明物品协同过滤的表现更好。
如下图所示,总结了性能最佳的参数化。文章证明了adagrad优化效果最好,并且单层GRU表现最好。
实验结果表明:
1)增加GRU的维度可以提升效果;
2)神经网络明显优于Item-KNN;
3)tanh作为神经网络输出的激活层更佳;
4)文章设计的TOP1 loss function略优于BPR。
6.结论
文章首次将RNN应用到新的领域(Session-based Recommendation),针对本次任务,作者修改了最基本的GRU,还设计了RNN的训练、评估方法及ranking loss,以更好地适应任务。通过实验表明,文章提出的方法可以显著优于用于此任务的最新基线。
深度学习
元胞自动机
1.定义
元胞自动机:把一个空间划分成网络,每一个点表示一个元胞;它们的状态赋值,在网格中用颜色的变化来表示;在事先设定的规则下,元胞的演化就用网格颜色的变化来描述。
通过对元胞自动机这些网络中格点的不同定义,以及初始条件的不同,可以模拟出不同的现象和过程。它用简单的局域相互作用表现复杂系统的整体行为及其时间演化。
元胞自动机有三个显著的特点,能高效地模拟许多复杂现象:
1)大规模同步并行;
2)局域相互作用;
3)结构简单。
2.构成
元胞自动机由元胞、元胞空间、邻居及规则四部分组成:
1)元胞:元胞自动机最基本的部分。元胞的状态是生还是死,随着时间的推移,元胞的状态不断地变化;
2)元胞空间:由多个元胞组成的元胞空间;
3)邻居:冯诺依曼型邻居和摩尔型邻居;
4)规则:元胞自动机根据规则进行局部元胞间的相互作用而引起全局变化。
简单来说,元胞自动机可以视为由一个元胞空间和定义于该空间的变换函数所组成。
A、元胞空间的几何划分
任意维数的欧几里德空间规则划分。对于一维元胞自动机,元胞空间划分只有一种;而高维的元胞自动机,元胞空间的划分则可能有多种形式;对于常见的二维自动机,元胞空间通常可按三角形、四边形或六边形三种网格排列。
1)三角网格拥有较少的邻居数目,但在某些时候很有用。缺点是计算机的表达与显示不方便。
2)四边形网格直观简单,特别适合在计算机环境下进行表达显示。
3)六边形网格能较好地模拟各向同性的现象,因此模型能更加自然而真实。缺点是计算机的表达与显示不方便。
B、边界条件
在理论上,元胞空间在各个维向上是无限延展的。但在实际应用过程中,无法在计算机上实现这一理想条件。
C、构形
某个时刻在元胞空间上所有元胞状态的空间分布组合。在数学上,它通常可以表示为一个多维的整数矩阵。
3.特性
1)离散性:元胞自动机是高度离散的。它不仅表现在空间和时间上离散,而且在函数值,即元胞的状态值也是离散的。
2)动力学演化的同步性:元胞自动机具有利用简单的,局部规则的和离散的方法,描述复杂的,全部的和连续系统的能力。
3)相互作用的局部性:元胞自动机的规则是局部的,而动力学行为规则是全局的,在模拟的过程中,具体的演化过程也是局部的,即仅同周围的元胞有关系。
4.思想
基于个体的自底向上的研究方法
5.统计特征
1)平稳型:当其在初始条件为中心的一个元胞状态为生时,在经过有限步演化后生的元胞比率趋于平稳。
2)周期型:当其在初始条件为中心的一个元胞状态为生时,在经过有限步演化后生的元胞比率趋于某一周期性的变化。
3)混沌型:自任何初始状态开始,经过一定时间演化后,处于一种完全无序随机的状态,几乎找不到任何规律。
4)复杂型:在演化的过程中可能产生复杂的结构,这种结构既不是完全的随机混乱,又没有固定的周期和状态。
流形学习
1.降维
降维的本质:换个角度、坐标系以及空间去重新审视数据。
2.空间
所谓换一个空间,就是换一种距离的度量手段,即两个点之间的距离。
在欧式空间中,两点之间的距离:
在流形学习中,这种度量手段换成了测地线距离、分散距离等等。不同的算法,采用不一样的定义。
3.距离
现在有一个问题,如何计算北京到纽约的距离?
根据欧式空间的思想,北京到纽约应该是穿过地心的一条直线;但在球形空间下,这种距离的度量手段,就不太适用了;于是采用测地线,即沿着球面走的一个曲线。
上图中,从聚类思想上看,①和③相似性高,①和②相似性低;但是明明①和②距离更近,①和③距离更远;从流形思想上看,①可以沿着周围的点一步步走到③,却无法沿着周围的点一步步走到②。
4.聚类与降维
聚类:将2维中的点,进行分类,即根据样本之间的相似度归堆。
降维(流形学习):将高维度降维到低维度后,再进行后续操作,即去掉冗余信息量或噪声。
5.流形
二维到一维:
如果用二维坐标来表示一个圆,我们没有办法让这个二维坐标系上的所有点都是这个圆上的点。也就是说,用二维坐标来表示这个圆其实是有冗余的。
在极坐标下,一个圆只用x轴就能被唯一确定。圆心在原点的圆,只需要一个参数就能确定:半径。当你连续改变半径的大小,就能产生连续不断的”能被转换成二维坐标“表示的圆。因此,二维空间中的圆就是一个一维流形。
6.为什么用流形
1)将原来在欧氏空间中适用的算法加以改造,使得它工作在流形上,直接或间接地对流形的结构和性质加以利用;
2)直接分析流形的结构,并试图将其映射到一个欧氏空间中,在得到的结果上运用以前适用于欧氏空间的算法来进行学习。
总结
本周,我学习了元胞自动机的相关知识,它是一个时间和空间都离散的动力系统;散布在规则格网中的每一元胞取有限的离散状态,遵循同样的作用规则,依据确定的局部规则作同步更新;大量元胞通过简单的相互作用而构成动态系统的演化。我学习了流形学习相关的知识,从为什么要用流形距离以及流形是什么去了解其中的关键点。由于本周对降维的知识未学习完,因此下周会补充关于降维的知识,以及继续机器学习的相关知识。
相关文章:
2023.02.26 学习周报
文章目录摘要文献阅读1.题目2.摘要3.介绍4.模型4.1 SESSION-PARALLEL MINI-BATCHES4.2 SAMPLING ON THE OUTPUT4.3 RANKING LOSS5.实验5.1 数据集5.2 验证方式5.3 baselines5.4 实验结果6.结论深度学习元胞自动机1.定义2.构成3.特性4.思想5.统计特征流形学习1.降维2.空间3.距离…...
局域网实现PC、Pad、Android互联
文章目录局域网实现PC、Pad、Android互联一、网络邻居1、 Windows 配置1.1 开启共享功能1.2 设置用户1.3 共享文件夹2、 Pad 连接二、 FTP & HTTP1、 电脑配置1.1 HTTP 服务1.2 FTP 服务2、 连接3、 电脑连接 FTP三、 其他方式局域网实现PC、Pad、Android互联 在我们使用多…...
AC自动机
AC自动机 该模型应用场景是什么样的?假如有一篇很长的文章,然后有一个敏感词表单,请从这篇文章里找出包含了哪些敏感词。即便是用KMP进行快速匹配,那也只能每次遍历整篇文章才能找到一种敏感词,KMP只适用于单一子串匹配…...
git入门
目录 1. git简介 1.1 git是什么 1.2 git与svn的区别 2. github 2.1 创建仓库 2.2 删除仓库 2.3 新建文件及文件夹 3. git的基本操作 3.1 配置账户及邮箱 3.2 git文件状态与工作区域 3.3 常用命令 3.4 克隆(clone) 3.5 查看git仓库的状态 3.…...
RK3568编译Android11和目录讲解
文章目录 前言一、下载android11源码二、环境搭建1.增加交换内存三、编译瑞芯微原厂源码四、目录讲解总结前言 本文记录在Ubuntu18.04中编译Android11,只有编译了源码,后面才能进行驱动的开发,有兴趣的小伙伴可以和我一起学习吧! 提示:以下是本篇文章正文内容,下面案例可…...
java泛型学习篇(二)
java泛型学习篇(二) 1 自定义泛型类 1.1 基本语法 Class 类型 <T,R,M...>{ //成员,其中...代表<>括号里面的参数可以有多个ja }1.2 注意点 1.2.1 属性和方法都是可以使用泛型的 T t;//属性使用泛型,合法public T getT() {return t;} //方法使用泛型,合法 publi…...
Java基础
Java基础Java基础一、课前问答二、概述三、Java的历史四、Java的特点五、计算机执行机制以及Java执行机制5.1 计算机的执行机制5.2 Java的执行机制六、常用DOS命令七、第一个Java程序八、包的使用九、编码规范十、注释Java基础 一、课前问答 1、什么是程序 2、什么是语言 3、什…...
骨骼控制(一)——动画动态节点(AnimDynamics)
文章目录一、引言二、骨骼控制三、UE蓝图中提供的骨骼控制节点——AnimDynamics动画蓝图节点1、什么是AnimDynamics动画蓝图节点①使用盒体计算惯性②使用约束来限制移动2、AnimDynamics节点的几种常用例子①单骨骼模拟②骨骼链模拟 <h2 id1>③群魔乱舞(这是错…...
Linux系统下搭建maven环境
文章目录前述从官网下载安装包安装 maven修改maven配置修改环境变量测试前述 安装 maven 环境前,需要先安装 java 环境,如果没有安装 java 环境,可以参考:https://blog.csdn.net/weixin_45583303/article/details/118631855 从官…...
English Learning - L2 语音作业打卡 Day3 2023.2.23 周四
English Learning - L2 语音作业打卡 Day3 2023.2.23 周四💌 发音小贴士:💌 当日目标音发音规则/技巧:🍭 Part 1【热身练习】🍭 Part2【练习内容】🍭【练习感受】🍓元音[ ɔ: ]&…...
RK3568平台开发系列讲解(驱动基础篇)GIC v3中断控制器
🚀返回专栏总目录 文章目录 一、什么是GIC二、GIC v3中断类型三、GIC v3基本结构3.1、Distributor3.2、CPU interface简介3.3、Redistributor简介3.4、ITS(Interrupt translation service)4、中断状态和处理流程沉淀、分享、成长,让自己和他人都能有所收获!😄 📢ARM多核…...
决策树、随机森林、极端随机树(ERT)
声明:本文仅为个人学习记录所用,参考较多,如有侵权,联系删除 决策树 通俗来说,决策树分类的思想类似于找对象。现想象一个女孩的母亲要给这个女孩介绍男朋友,于是有了下面的对话: 女儿&#x…...
软件测试之因果图法
因果图法 1. 概述 因果图法是一种**利用图解法分析输入条件、输出结果的各种组合情况,**从而设计测试用例的方法. 因果图法适用于有多个输入和多个输出,而且输入和输入之间有相互的组合关系,输入和输出之间有相互的制约和依赖关系. 使用场景和判定表…...
vue中子组件间接修改父组件传递过来的值
一、前言 Vue官方文档Props单向数据流讲解 Vue中遵循单向数据流,所有的 props 都遵循着单向绑定原则,props 因父组件的更新而变化,自然地将新的状态向下流往子组件,而不会逆向传递。这避免了子组件意外修改父组件的状态的情况&a…...
Java I/O
前言 关于IO, 想必你听过很多中I/O方式, 有的是OS视角的, 有的是JDK本身支持的, 有的是纯实现视角。但是作为一个developer, 我希望你能先搞清楚上下文之后, 再去理解内容, 否则容易抬杠。这个上下文有横向和纵向两个维度。纵向维度包括JDK底层, JDK上层包装库, 开发框架(如Ne…...
pytorch学习日记之图片的简单卷积、池化
导入图片并转化为张量 import torch import torch.nn as nn import matplotlib.pyplot as plt import numpy as np from PIL import Image mymi Image.open("pic/123.png") # 读取图像转化为灰度图片转化为numpy数组 myimgray np.array(mymi.convert("L"…...
【java基础】抽象类和抽象方法
文章目录基本介绍抽象类抽象方法使用总结基本介绍 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就…...
RDD的内核调度【博学谷学习记录】
RDD的依赖关系RDD的依赖: 指的一个RDD的形成可能是有一个或者多个RDD得出, 此时这个RDD和之前的RDD之间产生依赖关系在Spark中, RDD之间的依赖关系,主要有二种依赖关系:1- 窄依赖:目的: 为了实现并行计算操作, 并且提高容错的能力指的: 一个RDD上的一个分区的数据, 只能完整的交…...
二叉树——二叉搜索树的最小绝对差
二叉搜索树的最小绝对差 链接 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数,其数值等于两值之差的绝对值。 示例 1: 输入:root [4,2,6,1,3] 输出:1 示例 2&…...
git的使用(终端输入指令)下
文章目录前言1、git 分支创建分支查看分支切换分支合并分支删除分支2.提交到远程仓库远程提交链接一下自己仓库总结前言 上章链接 :git的使用(终端输入指令)上 我们接着上着来说 上章把 git 的 功能实现了一部分,本章我们接着上文…...
python使用influxdb-client管理InfluxDB的bucket
bucket的概念类似数据库的“库”,同时每个库中的数据都因为存在“时间戳”,每个数据都会有一个对应的时间点 influxdb-client-python官方github页面:https://github.com/influxdata/influxdb-client-python 管理bucket的官方示例࿱…...
【c++】模板2—类模板
文章目录类模板语法类模板与函数模板区别类模板中成员函数常见时机类模板对象做函数参数类模板与继承类模板成员函数类外实现类模板分文件编写类模板与友元类模板语法 类模板作用: 建立一个通用类,类中的成员数据类型可以不具体制定,用一个虚…...
基于SpringCloud的可靠消息最终一致性03:项目骨架代码(下)
上一节把整个项目的演示内容、项目结构、POM文件和配置文件都讲完了,接下来继续。 先安装并启动Nacos,然后在其中建立一个名为xiangwang-payment-dev.yaml的配置文件,内容为: # 指定运行环境 spring:autoconfigure:exclude: com.alibaba.druid.spring.boot.autoconfigure.D…...
linux如何彻底的删除文件
一、使用rm命令删除 直接用rm 先用ls -alt看下文件信息及拥有者等 可以看到拥有者是eve用户,所以在eve用户的终端中rm命令即可, 如果是root或者其他,则优先用root或其他账号进行删除 (base) eveEve:~$ ls -alt a.txt -rw-rw-r-- 1 eve eve …...
数据仓库Hive的安装和部署
1)去apache.hive.org官网下载hive 目前hive主要有三大版本,Hive1.x、Hive2.x、Hive3.x Hive1.x已经2年没有更新了,所以这个版本后续基本不会再维护了,不过这个版本已经迭代了很多年了,也是比较稳定的 Hive2.x最近一直…...
Python调用CANoe常见问题
一、Win32com已经安装成功但是在pycharm中提示错误 No module named win32com.clientPyCharm中出现unresolved reference的解决方法 一直提示需要升级pip版本Pywin32已成功安装,但仍提示没有win32com模块...
一起Talk Android吧(第五百零七回:图片滤镜ImageFilterView)
文章目录背景介绍功能介绍图片滤镜图片圆角图片缩放图片旋转图片平移各位看官们大家好,上一回中咱们说的例子是"如何调整组件在约束布局中的角度",这一回中咱们说的例子是" 图片滤镜ImageFilterView"。闲话休提,言归正转,…...
Java 解释器和即时解释器(JIT)之间的区别
区别是: 翻译 .class (字节码文件) 的粒度和方式不同 解释器是一个逐条解释并执行字节码指令的组件,每次**只翻译一条**指令并执行,然后再翻译下一条指令。 它的翻译粒度是一条指令,而且是按需翻译&#x…...
Acwing 蓝桥杯 第二章 二分与前缀和
今天来补一下之前没写的总结,题是写完了,但是总结没写感觉没什么好总结的啊,就当打卡了789. 数的范围 - AcWing题库思路:一眼二分,典中典先排个序,再用lower_bound和upper_bound维护相同的数的左界和右界就…...
CSDN原力增长规则解读 实测一个月
CSDN原力越来越难了,当然,这对生态发展来说也是好事。介绍下原力增长有哪些渠道吧。发布原创文章:10分/次,每日上限为15分、2篇回答问题:1分/次,每日上限2分,2回答发动态:1分/次&…...
eclips怎么做网站/种子资源
博为峰小博老师:JComboBox的事件处理也可分为两种,一种是取得用户选取的项目;另一种是用户在JComboBox上自行输入完毕后按下回车键,运行相对应的工作。对于第一种事件的处理,可使用ItemListener实现。对于第二种事件的处理&#x…...
wordpress 搜索制作/广州seo排名优化服务
这个作业属于哪个课程C语言程序设计II我在这个课程的目标是理解变量、内存单元和地址之间的关系;掌握如何定义指针变量,怎样使用指针变量,怎样进行指针变量的初始化;掌握指针变量的基本运算;理解指针作为函数参数的作用…...
淄博高端网站建设公司/google chrome
2019独角兽企业重金招聘Python工程师标准>>> 最近在写android程序,要经常用到BaseAdapter,用多了觉得很不好用,代码很多冗余。于是网上找个好的替代品,发现有一个叫做easy-adapter的库,试用了下觉得很好用&…...
网站运营费用/关键词排名优化提升培训
前面内容,我们详细了解了使用Python获取百家姓起源的方法 前情回顾 《百家姓》中姓氏起源,新华字典如何解释?用Python带你1步搞定 还带大家将百家姓的起源内容存入到了Excel中 Excel展示 复习Excel样式设置,案例演示Python将《百家…...
wordpress5.2 icp备案号/网络营销策略包括哪几大策略
文章目录高度相关的几个基本概念RTKLIB中高度设置与计算参考文献由于在GNSS定位中由多种高度表示,不同的高度概念很容易混淆,中英文对应有时候也容易搞混。因此整理了一下常用的两种高度——椭球高、正高的概念与计算,并且标注了对应的英文&a…...
嘉兴 网站 建设/福州seo博客
说明:站在巨人肩膀上才能成长得更快高大。像本引文中这样的案例真是不错,虽然仅是个雏形,但它已经向您展示了“保卫萝卜”这样塔防游戏的核心逻辑!!!原文链接: http://www.cocoachina.com/bbs/r…...