推荐系统三十六式学习笔记:03|这些你必须应该具备的思维模式

目录

  • 对关键元素重要性的认识:
  • 目标思维和不确定思维
  • 总结:

今天我主要带你认识两方面的内容:一个是重新认识推荐系统关键元素的重要性,另一个是要建立起两个思维模式。

对关键元素重要性的认识:

要开发一个推荐系统产品,有这么四个关键的元素需要注意:
1、UI和UE
2、数据
3、领域知识
4、算法

他们的重要性依次递减,权重大致是4-3-2-1,要正确认识不同阶段不同因素的重要性;

最先优化的一定是产品的UI和UE,即人机交互设计和用户体验设计。颜值即正义的法则放在推荐系统中也是成立的。

数据与UI和UE是几乎同等重要的元素,它是推荐系统的食材。数据贯穿了产品始终,对数据的尊重就是对理性和科学的尊重。UI、UE、数据是一个产品的基石,无论其有没有推荐系统存在都是基石。

领域知识,与之对应的是常识和通识。没有哪一个产品不涉及领域知识,电商产品有自己的领域知识,音乐产品也有自己的领域知识。至于新闻类产品,更是有自己的领域知识。

大多数人最不了解的似乎是算法,其实算法的左右没有你想象的那么大,但也一定不是可有可无。一种对算法的常见误会就是:短期高估,长期低估。在一款个性化产品诞生之初,算法所起到的作用可以忽略,我们不能指望它能让产品起死回生,一飞冲天。但就此抛出算法是无用的也是很愚蠢的。

目标思维和不确定思维

四个元素的重要性认识清楚后,还需认识两个思维模式:目标思维和不确定思维

我个人对于软件有一个粗略分类。传统的软件是一个信息流通管道,从信息生产端到信息消费端的通道。比如一款内容app,写内容的可以正常记录,读内容的可以顺畅加载,在高并发下依然能扛得住,这就是一个正常的产品了。

但推荐系统这种产品和信息流通管道的本质不一样,它是一个信息过滤工具,要解决的不是信息流通本身,而是如何让流通更有效率。

这两个本质不同的软件产品,决定了我们要以不同的视角去对待推荐系统。传统的软件产品追求的是稳定喝满足预期,背后思想强调的是逻辑和因果链条,软件体验上设定好行为和响应,软件设计上强调分层以应对无比复杂的操作逻辑。核心词可以表述为:逻辑,因果,分层。

反观推荐系统这种信息过滤系统,追求的是指标的增长,背后思想强调的是目标和不确定性;我们并不能很确定地模拟每个人将会看到什么,也不能很好地复现一些操作过程,充满了不确定性,但是在推荐系统未动的情形下,目标先行是常识。

关于目标思维,可以参考机器学习,通常来说,训练机器学习模型是一个不断最小化目标函数的过程,先设定一个目标函数,然后通过不断迭代让这个函数值到最小值。

我们把一个推荐系统也可以看做一个函数,这个函数的输入有:UI、UE、数据、领域知识等等,输出是我们关注的指标:留存率、新闻的阅读时间、电商的GMV、视频的vv等等;

我们做任何调整:如加新的策略、替换现有的推荐算法、修改UI等等,都是在改变这个函数的参数,如果输出值在增长,就说明修改有效,就可以继续沿着这个方向修改,一旦无效或者起反作用就需要立即回滚。

目标思维的背后是量化一切的价值取向。首先要量化的就是目标本身,接下来要量化的是所有优化改进动作,量化一切的价值取向和前面说的数据的重要性是一体两面,要量化就要回收数据,数据收集对了才能得到正确的量化结果。

盯着量化后的目标去行动后,还需要具备另一个思维:不确定性思维。什么是确定思维,可以理解为完全依靠逻辑和因果链条引发而成的,只要初始条件给定,那么结果就是一定的。这是确定性思维,就是对于结果有预期,可以提前推演出来。

反之就是不确定性思维:不用因果逻辑严丝合缝地提前推演,而是用概率的眼光去看结果。

为什么负责推荐系统产品的人一定要有不确定性思维呢?原因有以下几个。
1、绝大多数推荐算法都是概率算法,因此本身就无法保证得到确切结果,只是概率上得到好的效果。
2、推荐系统追求的是目标的增长,而不是一城一池的得失;
3、如果去花时间为了一个case而增加补丁,那么付出的成本和得到的收益将会大打折扣;
4、本身出现意外的推荐也是有益的,可以探索用户的新兴趣,这属于推荐系统的一个经典问题:EE问题,会在后面的内容中专门讲;

总结:

今天,我主要说了两个内容:
1、推荐系统构成元素的相对重要性,搞清楚重点,才能快速前进;
2、建立器目标和不确定性思维,抓住目标,不择手段地增长目标,不纠结一城一池的得失。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/21614.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

字符串和字符串函数(2)

前言: 在字符串和字符串函数(1)-CSDN博客中,已将将字符串和字符函数的使用了解,并且实现模拟了一些字符串的库函数。 接下来将继续深入学习字符串和字符串函数。并且模拟实现一些较为复杂的函数。 可控制字符…

【Linux基础】安装nginx

【Linux基础】安装nginx 文章目录 【Linux基础】安装nginx1、下载nginx2、安装nginx3、使用nginx4、配置nginx环境变量 1、下载nginx 在Nginx的官网的下载页面中(http://nginx.org/en/download.html),就展示了当前Nginx版本,并提供了下载的连接。 如下&a…

图像处理之基于标记的分水岭算法(C++)

图像处理之基于标记的分水岭算法(C) 文章目录 图像处理之基于标记的分水岭算法(C)前言一、基于标记点的分水岭算法应用1.实现步骤:2.代码实现 总结 前言 传统分水岭算法存在过分割的不足,OpenCV提供了一种…

【C语言进阶】动态内存管理及柔性数组

动态内存的开辟在C语言中相当重要的知识 1、为什么会存在动态内存分配 内存的开辟方式: int a20;//在栈空间上开辟4个字节 int arr[10];//在栈空间上开辟40个字节的连续空间 这种开辟空间的方式有两个特点: 1、开辟的空间大小是固定的 2、数组在声明的…

二叉树创建和遍历

个人主页 :敲上瘾-CSDN博客二叉树介绍:二叉树(详解)-CSDN博客 目录 一、二叉树的创建 二、二叉树的遍历 1.前序遍历 2.中序遍历 3.后序遍历 4.层序遍历 三、相关计算 1.总节点个数计算 2.叶子节点个数计算 3.深度计算 一、二叉树的创建 关于…

如何在路由器上安装代理服务:详细教程

如何在路由器上安装代理服务:详细教程 步骤一:通过漏洞进入路由器系统开启Telnet服务使用Telnet登录路由器系统查看系统信息和CPU信息步骤二:交叉编译MIPS程序 Go对MIPS的支持 安装TFTP Server使用BusyBox tftp传输文件在路由器系统中下载编译…

❤机器学习正则化算法的总结。耗时10个小时完成。❤

❤纯 干 货~❤ 目录 纯干货 1、L1 正则化(Lasso 正则化) 2、L2 正则化(岭正则化) 3、弹性网络正则化(Elastic Net 正则化) 4、Dropout 正则化(用于神经网络) 5、贝叶斯Rid…

海外盲盒小程序:跨文化营销的利器

在全球化的浪潮下,跨境电商正迎来前所未有的发展机遇。作为这一领域中的新兴力量,海外盲盒小程序凭借其独特的魅力和优势,正逐渐崭露头角,成为跨文化营销的利器。本文将探讨海外盲盒小程序在跨文化营销中的应用及其带来的价值。 一…

【30天精通Prometheus:一站式监控实战指南】第16天:snmp_exporter从入门到实战:安装、配置详解与生产环境搭建指南,超详细

亲爱的读者们👋   欢迎加入【30天精通Prometheus】专栏!📚 在这里,我们将探索Prometheus的强大功能,并将其应用于实际监控中。这个专栏都将为你提供宝贵的实战经验。🚀   Prometheus是云原生和DevOps的…

ldap协议(常用于统一身份认证)与dict协议(在线词典)

文章目录 LDAPDICT LDAP LDAP(Light Directory Access Portocol),轻量目录访问协议。 目录是一个为查询、浏览和搜索而优化的数据库,它成树状结构组织数据,类似文件目录一样。 目录数据库和关系数据库不同&#xff0c…

Docker安装极简版(三分钟搞定)

什么是Docker? Docker是一个开源的应用容器引擎,它允许开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 化。容器是…

简易图像处理器的设计

1 概述 Python是一种高级、通用、解释型的编程语言,由Guido van Rossum于1991年创造。它被设计为易读易写的语言,具有简洁而清晰的语法,使得它成为许多领域的首选语言,如Web开发、科学计算、人工智能、数据分析等。结合本科阶段以…

三维地图校内导航系统解决方案

在如今的数字化时代,越来越多的学校开始实施智慧校园计划,旨在为学生和教师提供更高效、便捷的学习和教学环境。智慧校园运用互联网、大数据、人工智能等技术,对校园内各信息进行收集、整合、分析和应用,实现教学、管理、服务等多…

【matlab】绘图插入并放大/缩小子图

参考链接 代码分为两个:绘图代码与magnify.m 绘图代码就是普通的绘图代码,以下为例 %https://zhuanlan.zhihu.com/p/655767542 clc clear close all x 0:pi/100:2*pi; y1 sin(x); plot(x,y1,r-o); hold on y2sin(x)-0.05; y3sin(x)0.05; xlim([0 2*…

eclipse-向Console控制台输出信息

首先这里主要用到的是org.eclipse.ui.console这个包,所以现在顺道先来了解一下: org.eclipse.ui.console是一个可扩展的console视图插件,利用它可以实现各种console,并把它们显示出来。该插件本身就实现了一个Message Console&…

本地 Java API 访问云上 HDFS 集群的问题与解决

前言 这篇文章默认是已经在云上配置好了 Haoop 集群,因此本文主要是记录一些可能会出现错误的地方。 如果还不会配置 Hadoop 集群,那么可以参考本专栏的另一篇文章:云上配置 Hadoop 集群详解 另外在进行本文的学习之前也建议先看看该文章&…

边缘计算的AI小板——OrangePi AI Pro

简介 OrangePi AI Pro是一款基于Allwinner H6处理器的嵌入式AI计算设备,适用于物联网和边缘计算。它具有强大的性能、低功耗、多接口和小尺寸。 本文分为三个部分: 一、对该板进行简单的开箱介绍。 二、 将SD卡中的系统迁移到由于该板支持SD卡、SSD…

必看——怎么让网站实现HTTPS访问?

让网站实现HTTPS访问的步骤可以简化为以下几个基本步骤,非常适合非技术背景人士理解: 1. 申请SSL证书: - SSL证书是实现HTTPS的关键,它能加密网站数据,保证用户信息的安全。你可以从一些提供免费SSL证书的机构&#xf…

Spring boot集成mybatis

Spring boot集成mybatis maven依赖 我的spring boot版本是2.5.0&#xff0c;集成mybatis&#xff0c;首先需要数据库的支持&#xff0c;这里我选择mysql数据库&#xff0c;版本是8.0.11&#xff0c;然后使用druid连接池&#xff0c;其次就需要加上mybatis的依赖。 <!--mys…

[ue5]建模场景学习笔记(2)——用vectornoise降低重复率

1.问题分析&#xff1a; 利用改uv的方式降低重复率并不理想&#xff0c;在一定程度上的确能够达到降低重复率的效果&#xff0c;但远看仍然有较清晰的重复效果&#xff0c;尝试优化一下。 2.操作实现&#xff1a; 1.首先先看一下修改后的效果&#xff1a; 这是未修改前&#…