冷启动是推荐系统的重要挑战之一。那么,什么是冷启动?如何设计一个好的冷启动方案?本文将主要从以下7个方面给大家讲清楚这些问题: 什么是冷启动? 解决冷启动面临的挑战 解决冷启动为何如此重要? 解决冷启动的方法和策略 不同推荐产品形态冷启动的解决方案 设计冷启动时,需要注意的问题 冷启动未来发展趋势 希望通过本文,你能对推荐系统的冷启动有个全面的认识,并结合自己公司的实际业务,将冷启动策略更好的落地到真实推荐场景中 总之,推荐系统冷启动主要分为标的物冷启动、用户冷启动、系统冷启动三大类。 现在我们大概知道了什么是冷启动,看起来很好理解,但却不是这么容易搞定。下面我们就讲讲冷启动的难点。 信息做推荐(标的物冷启动) 采用快速试探策略(用户冷启动、标的物冷启动) 采用兴趣迁移策略(用户冷启动、系统冷启动) 采用基于关系传递的策略(标的物冷启动) 上面这些策略是整体的思路,下面分别针对用户冷启动 、标的物冷启动、系统冷启动这三类冷启动给出具体可行的解决方案。
版权声明:本文为博主-姜兴琪原创文章,未经博主允许不得转载。
作者:十方 冷启动问题,大家并不陌生。但是如何解决呢?加特征,加样本,加图谱,加规则? 十方在做信息流广告推荐时,主要通过加一些泛化特征解决冷启动问题,但是这样并不一定是最好的方案,新广告很大程度上,还是会被模型"低估"。如何解决冷启动问题呢? 不得不面对的冷启动! 通过实验证明该方法在各个场景下能显著提高冷启动user/item的推荐性能。 由于冷启动的item相比较与流行的item,更容易被采样作为负样本,因此这个偏差会影响模型的效果,解决办法就是用下式概率分布进行负采样: ? 大家是怎么解决冷启动问题的呢?欢迎留言讨论。
冷启动问题,大家并不陌生。但是如何解决呢?加特征,加样本,加图谱,加规则? 十方在做信息流广告推荐时,主要通过加一些泛化特征解决冷启动问题,但是这样并不一定是最好的方案,新广告很大程度上,还是会被模型"低估"。如何解决冷启动问题呢? ? ? ? 不得不面对的冷启动! ? 冷启动问题可以逃避吗?当然不能,就拿广告推荐来说,当一个客户想投广告,由于该广告从未曝光过,召回模型可能都无法召回,更别说后面的粗排和精排模型是否会过滤掉,所以很难起量。 通过实验证明该方法在各个场景下能显著提高冷启动user/item的推荐性能。 ? ? ? 问题描述 ? ? ? 由于冷启动的item相比较与流行的item,更容易被采样作为负样本,因此这个偏差会影响模型的效果,解决办法就是用下式概率分布进行负采样: ?
什么叫冷启动 拿起你的手机,把后台的任务都清理掉,然后再点击你想要打开的app图标,这个时候,就是所谓的app冷启动了。有人肯定会说,有冷启动那不是还有热启动? 并不是的,这是因为app的冷启动时间过长的原因造成app进入假死状态了。这也是我们本篇文章所要优化的。 解决 我们先来解决打开app的时候闪白屏的这个问题。 上图是方法二app冷启动的打开流程图,这个流程我就不说了,自己看图吧,这里代码也没什么还写,无非就是写EventBus的发送事件和处理事件,这个也不用上代码了吧?
那么问题来了,搭建完网站之后,在产品初期没用户、没流量、没钱,总之就是什么都没有的时候怎么解决网站冷启动问题? 估计大多数伙伴的反应都是: 这题有点难啊! 1)技术层面的冷启动,从推荐算法及系统的角度来说,主要包括以下三个方面: a、用户冷启动,即一个新用户,没有任何历史行为数据,怎么做推荐。 b、物品冷启动,一个新上线的物品,没有用户对它产生过行为,怎么推荐给感兴趣的用户。 c、系统冷启动,一个新开发的网站,没有用户数据,怎么做个性化推荐。 系统冷启动,可以引入外部资源,如专家知识,建立起物品的相关度。 利用用户在其他地方已经沉淀的数据进行冷启动。 制造选项,让用户选择自己感兴趣的点后,即时生成粗粒度的推荐。 利用用户的手机等兴趣偏好进行冷启动。 2)用户与内容调性: 冷启动阶段种子用户的获取非常重要,也有很多需要注意的点。比如,种子用户尽量选择影响力、活跃度都比较高的用户,并对你的业务已经有了一定的认知。
冷启动问题简介 冷启动问题主要分为3类: 用户冷启动:用户冷启动主要解决如何给新用户做个性化推荐的问题。 物品冷启动:物品冷启动主要解决如何将新的物品推荐给可能对它感兴趣的用户这一问题。 系统冷启动:系统冷启动主要解决如何在一个新开发的网站上(没有用户,也没有用户行为,只有一些物品的信息)设计个性化推荐系统,从而在网站刚发布时就让用户体验到个性化推荐服务这一问题。 对于这3种不同的冷启动问题,有不同的解决方法。一般来说,可以参考如下解决方案。 利用物品的内容信息 物品冷启动需要解决的问题是如何将新加入的物品推荐给对它感兴趣的用户。物品冷启动在新闻网站等时效性很强的网站中非常重要。 UserCF算法对物品冷启动问题并不非常敏感。
iTerm2 在升级系统之后,冷启动(开机后第一次启动)的速度异常的慢,需要几十秒才能进入可用状态。之后无论是开新窗口还是退出重进的速度都还挺正常的。 虽然升级系统之前冷启动速度也不快,但并没有慢到这么令人难以忍受。 经过几轮较量,最终恢复了秒级冷启动。将过程和尝试的办法记录如下。 DISABLE_AUTO_UPDATE="true" 新版本: zstyle ':omz:update' mode disabled 事实证明,冷启动慢跟这个也没有关系。 参考资料: 关闭Oh my zsh自动更新[11] Round 4:xcodebuild 过了三招,此时 zprof 的结果中已经没有了什么耗时大户,然而冷启动时间依然慢的令人发指。 不过二楼的回复内容,最终引导我走向 Final Round 彻底解决了 iTerm2 冷启动速度慢的问题。
近日在开发过程中,发现每次点击app从桌面启动都有一个在桌面明显的等待时间,机型越低端的越明显,冷启动优化看来已经势在必行,所以怒而一顿研究再解决之。 1冷启动 第一次启动、被用户杀死进程或系统自动回收进程后,整个app后台任务被清理,再次启动app,称为 冷启动。
首先科普一下关于APP冷热启动的区别: app冷启动: 当应用启动时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用, 这个启动方式就叫做冷启动(后台不存在该应用进程)。 其次就是关于冷启动出现的白屏解决问题,排除是代码的逻辑繁琐产生的启动白屏或是黑屏问题(可以在启动页设置一个图片,当启动完图片的时候会不会出现黑屏或者是白屏来判断是不是代码的逻辑问题,具体设置方法在底文给出
什么叫冷启动 拿起你的手机,把后台的任务都清理掉,然后再点击你想要打开的app图标,这个时候,就是所谓的app冷启动了。有人肯定会说,有冷启动那不是还有热启动? 并不是的,这是因为app的冷启动时间过长的原因造成app进入假死状态了。这也是我们本篇文章所要优化的。 解决 我们先来解决打开app的时候闪白屏的这个问题。 image.png 上图是方法二app冷启动的打开流程图,这个流程我就不说了,自己看图吧,这里代码也没什么还写,无非就是写EventBus的发送事件和处理事件,这个也不用上代码了吧?
关于云函数冷启动优化的思考 随着容器技术的广泛应用,XaaS形式的概念层出不穷。 但是实际的应用情况我们有目共睹,云函数的冷启动对客户端带来的是高延迟的糟糕体验。一个云函数冷启动,需要经过资源调度,代码下载,代码部署几个步骤。还没等到执行代码逻辑,用户已经退出程序了。 # 思路一 在云函数中调用另一个云函数逻辑,假设执行 云函数逻辑需要 时长,冷启动需要 时长,执行 云函数逻辑需要 时长,冷启动需要 时长那么执行这个逻辑的需要总时长大概是 在调用云函数之前,检查该云函数的 link_container_list,冷启动该云函数同时,对link_container_list中的云函数也进行冷启动(资源调度)。 # 思路四 既然冷启动的原因是因为资源容器会被销毁,再次触发需要重新创建,那么为什么不能一次创建长期维持呢?
好把这个总结是拖了很久才写),虽然由于坑多,最终没有接入到项目构建中,但受Interdex启发,在应用冷启动速度优化方面有了新的收获。 PS:本篇提到的冷启动速度优化,不包括Android 5.0及以上系统 一、redex的使用与坑 1.安装与使用 使用redex的第一个坑就是环境。 F.Interdex 需要使用者提供程序启动时加载类序列作为配置文件,按此顺序调整dex中类的顺序,可以有效提升冷启动速度,提升幅度在30%左右。 二、Interdex,冷启动速度优化 想直接接入redex成本较大,但要我们直接放弃这些优化空间,内心也是拒绝的。那么我们能否参考facebook的思路,尝试自行实现一些优化项呢? 三、总结 Interdex优化确实可以明显提升应用冷启动速度,原理也比较简单:把互相引用的类尽量放在同个dex,增加类的pre-verify。
文章内容主要分为三部分,首先介绍腾讯云函数的架构设计,其次看看函数的冷启动是如何产生的,以及冷启动包含哪些过程,最后分享腾讯云函数的一些优化方向方法。 腾讯云函数架构设计 ? 函数冷启动优化实践 介绍了腾讯云函数的架构之后,接下来详细看下云函数冷启动相关的问题和优化思路。 函数冷启动就是指函数第一次调用时平台部署函数实例的过程。不单止函数计算,也许万事都有冷启动。 图三:函数冷启动的过程 从流程图可以看出函数冷启动包含了哪些过程。黄色的路径是函数实例已经存在的热调用情况,复用了函数实例,热调用的延时是毫秒的级别。 如果没有可服用的实例就会走到右边蓝色部分的冷启动过程。 图七:自动扩缩容系统 前面分享的优化方向主要是在降低冷启动时延方面,当然最好的情况是可以提前创建出来避免冷启动。
应用启动分为冷启动、热启动、温启动。而冷启动是应用程序从零开始,里面涉及到更复杂的知识。我们这次主要是对应用的冷启动进行分析和优化。 在分析如何优化前,我们可以先了解一下,我们的应用是不是需要对冷启动进行优化。 在官方文档中描述到当冷启动在5秒或者更长的时,Android vitals就会认为你的应用需要进行冷启动相关的优化。 好了,下面我们就聊一下如果检测出我们应用的冷启动时间。 冷启动优化总结 对于冷启动优化,需要我们一步步去分析,不像布局优化那般照搬套路,所以在官方文档中也多次出现bottleneck瓶颈这个词汇,说明了我们的冷启动优化之路不会一马平川,大家要善用Android
本文首先介绍冷启动的基本概念,并通过冷启动实际案例来说明如何解决新用户或新项目的冷启动问题。 01 什么是冷启动 推荐系统的主要目标是将大量的物品推荐给可能喜欢的用户, 这里就涉及物品和用户两类对象,任何平台,物品和用户都是不断增长变化的,所以一定会频繁的面对新的物品和新的用户, 推荐系统冷启动问题指的就是对于新注册的用户或者新入库的物品 SIGIR22 | 基于行为融合的冷启动推荐算法 近期推荐系统冷启动顶会论文集锦 一文梳理冷启动推荐算法模型进展 总之,推荐系统冷启动主要分为物品冷启动、用户冷启动和系统冷启动三大类。 02 解决冷启动的方案 一、 客户冷启动 (1)利用用户注册信息 很多产品在新用户注册时是需要用户填写一些信息的,这些用户注册时填的信息就可以作为为用户提供推荐的指导。 03 冷启动实际案例 上一节中给出了各种常见的冷启动方案,针对不同的业务场景,所选择的方案不尽相同。综合考虑如上方案,其具体技术实现难度均较为简单,本节将通过两个案例,来说明如何解决冷启动问题。
通过配置预置并发,可预先进行计算资源的准备,降低冷启动、运行环境初始化及业务代码初始化引起的耗时。
安卓启动方式一般有3种: >Coldstart——冷启动: 此种方式最为耗时,一般是因为进程被干掉或者是第一次启动app,系统需要重新fork进程进行一系列初始化,后台没有该应用的进程。 但其表现行为与冷启动一致,还是会先显示一个Preview Window(黑白屏)直到app渲染activity。 接下来看看如何优化冷启动: 既然我们已经找到这个黑白屏是出自系统的预览窗口,我们就可以通过操控这个窗口来实现。
这两个问题分别是用户冷启动和物品冷启动,统称为冷启动推荐。冷启动问题是推荐系统中极具挑战的一个问题,也是一个业界学术界同时高度关注的问题,本期为大家分享一些冷启动推荐算法层面的思路。 冷启动推荐特指如何给新用户或者新物品进行推荐。“新”也就意味着交互数据少,因此很难抓获冷启动用户兴趣偏好,以及冷启动物品的特质。 如何进行好的冷启动推荐,主要可以从以下几个方面着手: 高效地利用side information 高效地利用有限的交互数据 Explore & exploit 除了常见的用户和物品冷启动推荐以外,还有一些其他场景的冷启动问题 冷启动物品的ID embedding和非冷启动物品的ID embedding的分布不相同,而深度推荐模型的深度模块更适合非冷启动物品(大量数据都是在非冷启动物品上产生)。 ---- 五、总结 本文主要介绍了算法层面的冷启动问题的解决方案。实际上解决冷启动问题仅仅依赖算法是不够的,还有很多其他途径来解决冷启动问题。
转载:PaperWeekly 链接:mp.weixin.qq.com/s/627wrUxkAPoRlO0YFxRcoA 仅作为学术交流分享 ---- 推荐系统冷启动通常分为三类,即用户冷启动、物品冷启动还有系统冷启动 无论那种冷启动都因为只有较少的数据和特征来训练模型,所有需要不同的技术方案来提升推荐效果。另外冷启动结合产品方案可以加速冷启动的过程。 其中用户冷启动的问题对于移动互联网基于内容推荐产品中非常重要,不管是新产品还是体量很大的产品,都存在大量新用户和低活用户,即冷启动用户。 首先用非冷启动用户的历史交互数据去分布训练一个 FM 模型,得到所有历史用户,物品和属性的 embedding 并为冷启动用户做参数初始化。 文章还研究了在最大对话轮数更小(7 和 10)下的情况,ConTS 仍然显著优于其他方法;探究了在不同程度冷启动条件下模型之间的差异,结果表明 ConTS 适合冷启动场景而其他一些方法如 EAR [3]