---Informationanddata

如果你被问到的问题就是现在给你一个spotify请给我设计一个音乐推荐系统period

你一定说巧妇难为无米之炊,我首先需要历史数据

基本上最能用的历史数据可以被再细分为三个主要的table1interactiontableorlogtable即每一个点击每一个购买每一个评价都是以一个(user item)pair的格式记录下来的(1)每一条记录是可以包含somecontextualinformation的比如时间戳音乐听了多久购买花了多少时间等等要动脑筋想想什么信息是有用的尽量多log下来(2)log可能不止记录了购买信息还有查看信息scrolldown看到但未被点击信息都是indicatedifferentlevelofpreference2dimentiontable:user即每一个user是有自己的metadata信息的比如年龄性别地域等等demographic信息3dimentiontable:item和上面一样只不过是item的metadata我一般不会在这个stage对item做embedding即向量化而是存最原始的raw数据---FeatureEnginneering+Modeling之前把这两个分开的原因是面试官可能会分别问这两个的问题但实际上你的featureengineering一定是要为model服务的这里给出我经常会使用的几种简单的推荐系统模型(0)rulebasedmodel(难易程度1makesense程度5)(1)转化成classification/regression模型(难易程度2makesense程度5)(2)matrixfactorization(难易程度3makesense程度2)(3)facorizationmachine(难易程度3makesense程度3)(4)wideanddeeplearning(难易程度4makesense程度4)我个人最喜欢的而且觉得比较稳妥的是(0)+(1)说的好是绝对没问题的至于(2)(3)(4)网上有大把的资料但你不能看一篇paper或者video就上了一定要谨慎想好可能遇到的问题比如-matrixfactorization可能会问你怎么加进useranditemmetadata你的retrainplan是什么-wideanddeeplearning可能会问你deeppart的神经网络怎么搭的为什么一句话追求fancy就要担着玩儿大了的风险对于(0)来说作为一个basismodel有提到的价值在处理coldstart的时候是很有用的但不可恋战一定尽快带过rule无外乎根据两个heuristic-对user_i找到和ta类似的user看看别人买了什么推荐给ta-对user_i买的item_j找到类似的东西推荐给ta这里面涉及的知识点就是怎么定义“类似”即需要一个distancemetric这点大家去网上找吧很多的similaritymetrics重点是(1)这里依然拿spotifymusic推荐当例子那么如果转化成一个binaryclassification问题我们就要拿出所有的musiclisteninghistorylog即tupleof(useritemcontext)比如(berserker888Titanium2019-01-01:12:00:00)当做我们的positivecase即y值为1那我听了这一首歌就没有听剩下的所有歌那我在这个context下所有没听的歌理论上都是negativecase这里要知道unbalanceddata的危害以及一种randomsamplenegativecase的逻辑同样可以把问题转化成regression问题就像之前说的我看了没有听我听了和我压根没看的东西代表着3种preferencelevel下面简短启发一下feature的展开useritemcontext都是需要vectorize化的最简单的就是直接joinuseritemdimensiontable拿到metadata但有的时候比如item是视频图像或者自然语言就需要我们通过一些方法比如pretraineddeeplearningmodeltakebottlenecklayer请大家自行搜索wordembedding和imageembedding稍微tricky一点的是contextualfeature这里可能需要aggregatelog来达到目的我建议大家提前想好一些feature给一个例子:hasuser_ilistenedtoitem_j'scategoryinthepastweekatnight?---Evaluation一定要区分statisticalmetric和businessmetric前者是你训练模型时候定义的metric主要用来tunehyperparameter的比如accuracyF1-score后者定义你的模型是否有意义的metric比如推荐歌单平均听的时长一般后者意义更大更会被问因为是无法直接直接optimize的只能通过abtesting才测试所以也有可能会被问到一点点experimentdesign的知识

2021-09-08推荐系统,巧妇难为无米之炊,我首先需要历史数据相关推荐

  1. 巧妇难为无米之炊 走出软件测试的困境

    巧妇难为无米之炊 走出软件测试的困境 作者:刘利君 北京市凯迪四维软件有限公司总经理   发文时间:2004.06.04 来 源: 软件世界 随着信息技术在国内不同行业应用的开展,人们已经不再怀疑软件 ...

  2. 【Leetcode】每日一题2021/09/08

    这道题前面做过 class Solution {public String replaceSpace(String s) {String res = new String();int len = s. ...

  3. 橘子CPS联盟操作手册2021.09

    橘子CPS联盟操作手册2021.09 目录 橘子CPS联盟操作手册2021.09 橘子CPS联盟是干嘛的 橘子CPS基本操作流程 PC端操作 1.注册 2.登陆 3.渠道管理 4.分享网站 5.分享网 ...

  4. 【Flutter】Flutter 开发环境搭建 ( 2021年08月25日 补充最新资料 | 最新安装教程 )

    文章目录 前言 一.Android Studio 环境安装 Flutter / Dart 插件 二.Flutter SDK 下载 三.设置 Flutter 环境变量 1.设置 Flutter SDK环 ...

  5. 2021.09.27 MySQL笔记

    2021.09.27 MySQL笔记 文章目录 2021.09.27 MySQL笔记 一.展示当前存在的所有数据库 二.使用(选中)一个数据库 三.创建一个数据表 四.查询并展示该数据库内的所有数据表 ...

  6. 实习日志 (2021.09.13)

    2021.09.13星期一 今天把之前的算法题终于给弄明白了,并能够按照自己的思路去把他给完成,总结这个题目并不是很难,最重要的是要把链表给弄懂,一开始由于我对链表不是很熟悉,导致我在写该题目的时候花 ...

  7. 2021.09青少年软件编程(Python)等级考试试卷(三级)

    2021.09青少年软件编程(Python)等级考试试卷(三级) 一.单选题(共25题,每题2分,共50分) 1.使用map函数可以实现列表数据元素类型的转换,而无需通过循环.则将列表L=['1',' ...

  8. 2021.04.08 线程和进程的使用

    2021.04.08 线程和进程的作用 直接通过Thread创建子线程 Thread(target=需要在子线程中调用的函数,args=(函数的实参列表)) from threading import ...

  9. 2021.09.24—皮皮与帅帅的第二篇情话

    2021.09.24我们小情书的第二天 每天晚上,小兔子都会一个人来到溪水边,坐在地上数着星星.而且他个人也非常喜欢一闪一闪的东西.对于小兔子来说,每颗星星都是特别的,于是她就给每颗星星都起了一个可爱 ...

  10. 电大计算机网考怎么过,史上最牛--电大计算机网考小抄(考试必备)--2016.09.08【呕心沥血整理、电大考试必过】.doc...

    史上最牛--电大计算机网考小抄(考试必备)--2016.09.08[呕心沥血整理.电大考试必过] 计算机网考Windows操作系统及其应用-选择题B A.Ctrl + Alt B.Ctrl + Shi ...

最新文章

  1. StringUtils之equals
  2. 数据结构(python)
  3. 15个PHP库,你值得拥有!(下)
  4. C++ 接口(抽象类)
  5. css什么是自适应布局,CSS自适应布局
  6. 未来大数据的处理和发展的五个趋势
  7. kafka 0.9 java开发_kafka 0.9 java producer and consumer demo
  8. ICML2021 | Self-Tuning: 如何减少对标记数据的需求?
  9. 国外ARM开发网站列表
  10. 基于Redis的微博关注与粉丝
  11. 数据分析师需要掌握哪方面的计算机技能?
  12. 天线远场定义_暗室静区及天线近场和远场的介绍
  13. GitHub十大热门Python项目,过程很有趣
  14. ts类中的private和protected
  15. 【笨木头Cocos2dx 038】战争迷雾效果 第01章_要探索,不要地图全开!
  16. 计算机组成原理-存储器的层次结构
  17. 深度学习之残差网络原理深度刨析
  18. 【中科大软院】还香不香?20软院考研四千字复盘
  19. 新房子没网络,怎么用光猫和路由器上网
  20. 【论文查询】如何查询论文被其他哪些文献引用过?超详细!!!

热门文章

  1. App.config配置详解
  2. oracle 11g给表建触发器错误“索引中丢失 IN 或 OUT 参数:: 1
  3. IOS自动化定位方式
  4. Office WORD如何在图片上添加文字
  5. 面向开发者的最佳 Android 库列表
  6. Java项目部署到云服务器最简单的方法
  7. java一个进程可以村多少个线程_一台 Java 服务器可以跑多少个线程?
  8. java模拟面试题目_JAVA模拟面试题库
  9. python的精髓_思维python2e的学习精髓(4):案例研究界面设计,ThinkPython2e,精粹,四,接口...
  10. mysql损坏打不开_mysql 断电导致表打不开解决方案