构建企业级推荐系统
未读推荐系统范式
完全个性化范式
群组个性化范式
完全非个性化范式
标的物关联标的物范式
笛卡尔积范式
2. 推荐算法3阶段pipeline架构
3. 推荐召回算法
3.1 完全非个性化范式
对所有的用户推荐一样的标的物列表,比如最热榜、最新榜
可以基于简单的计数统计来生成推荐,基本不会用到复杂的机器学习。可能用整合各类用户行为数据。
优点 :可解释性强,根据从众心理,效果也可以。可以作为冷启动或者默认的推荐算法。
3.2 完全个性化范式
3.2.1 基于内容的个性化推荐算法
核心:只依赖用户自己的历史行为而不必知道其他用户的行为,通过用户对标的物的操作,为用户附加标的物的属性,作为用户的兴趣标签。
可以分为以下两类:
基于用户特征表示的推荐
将标的物属性通过TF-IDF或者LDA算法转化为特征向量,对用户操作过的标的物的特征向量加权平均作为用户的特征向量,利用用户特征向量和标记物特征向量计算余弦值得到相似度。
基于倒排索引的推荐
倒排索引概念
搜索领域 引自:https://www.cnblogs.com/zlslch/p/6440114.html
倒排索引是实现“单词-文 ...
题目
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。
百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”
零
回顾大学的自己,一直在尝试认清自己的定位。这过程中,曾明了过,也曾迷惘过,到现在毕业了还是模糊一片。说实话,我并不擅长学术,成绩也就中等水平,我不刻意追求考试的高分,我认为那意义不大。我只想把自己分内的喜欢的事情做到尽善尽美。有时候,小有成就的我也会自我膨胀,膨胀了就会撞墙;看到有同龄人如此优秀,我也会妄自菲薄,陷入自我怀疑。我喜欢追求新鲜事物,不过有时也是三分钟热度;我谨言慎行,也想着改变现状;我低调却也希望收获真诚,又害怕与人交往… 诚然,大学这四年是我人生中最自由、最丰富的四年,就想电视剧的展示的一样,我走出了那个生活了十余载的小县城,和四年前虎头虎脑的自己相比,已然判若两人。
在这里记录下的每一个碎片,都是我生活的一部分。对于大学四年的总结,是为了总结自己的变化历程,更是为了纪念自己。
壹 流水账式记录
高考后
2016年6月9日,我结束了高考。6月10日,第一次来到上海大学。6月11日,参加上海大学高校专项计划的学校复试。复试科目为数学和英语,记得当初数学卷子的难度尚可,至于英语,上海的英语教育水平果然不是盖的。
无论如何,我通过了学校的复试,高考分数低了录取线10分, ...
机器学习
未读使用Numpy构建神经网络
本节将使用Python语言和Numpy库来构建神经网络模型,向读者展示神经网络的基本概念和工作过程。
构建神经网络/深度学习模型的基本步骤
如之前的介绍,应用于不同场景的深度学习模型具备一定的通用性,均可以从下述五个步骤来完成模型的构建和训练。
数据处理:从本地文件或网络地址读取数据,并做预处理操作,如校验数据的正确性等。
模型设计:完成网络结构的设计(模型要素1),相当于模型的假设空间,即模型能够表达的关系集合。
训练配置:设定模型采用的寻解算法(模型要素2),即优化器,并指定计算资源。
训练过程:循环调用训练过程,每轮均包括前向计算 、损失函数(优化目标,模型要素3)和后向传播这三个步骤。
保存模型:将训练好的模型保存,以备预测时调用。
下面使用Python编写预测波士顿房价的模型,一样遵循这样的五个步骤。
正是由于这个建模和训练的过程存在通用性,即不同的模型仅仅在模型三要素上不同,而五个步骤中的其它部分保持一致,深度学习框架才有用武之地。
波士顿房价预测
波士顿房价预测是一个经典的机器学习问题,类似于程序员世界的“Hello World”。波士顿地 ...
最近牙疼,疼到睡不着的那种。每晚总得深夜起来,喝上几口凉水,摸黑找出一片甲硝唑含上,到阳台站上一会儿,继续感受着隐隐阵痛。
夜已深。整个城市有一种褪色的沉淀感,周围很安静,听不见白日里的嘈杂声。这地界也算得上是在上海市区吧,附近的高层住宅楼依稀闪着几点亮光,然而在光污染的影响下,它们在橘黄色的天空背景下并不起眼。我知道,那是还没有入睡的人们。
我有点好奇,那些灯火下映射的人,他们是谁,他们又在做什么?我决意去了解一下
于是,我开始写代码QAQ
方法也比较干脆,通过分析微博同城的信息,看看大家的动态。俗话说<爬虫写得好,牢饭吃到饱>,这次写的爬虫简单至极,没有并发请求,没有用代理,甚至连请求头都是一成不变。
几天下来,我获取了超过100万条上海本地的微博数据,去重并筛选出在凌晨发的之后数据里少了很多(如无特殊说明,本文凌晨均指0点-5点),因为这些都是公开数据,这边放上来应该也无碍。
首先看一下性别,女性竟然是男性的三倍,是不是说女性更容易熬夜。
当然,其实这很大程度上是由于微博上女性用户数量多于男性的缘故。通过计算各性别用户在凌晨发博数据在全天的占比,发现,女性的比值 ...
BFC(边距重叠解决方案)
BFC(Block Formatting Context):块级格式化上下文。你可以把它理解成一个独立的区域。
另外还有个概念叫IFC。不过,BFC问得更多。
BFC 的原理/BFC的布局规则【非常重要】
BFC 的原理,其实也就是 BFC 的渲染规则(能说出以下四点就够了)。包括:
BFC 内部的子元素,在垂直方向,边距会发生重叠。
BFC在页面中是独立的容器,外面的元素不会影响里面的元素,反之亦然。(稍后看举例1)
BFC区域不与旁边的float box区域重叠。(可以用来清除浮动带来的影响)。(稍后看举例2)
计算BFC的高度时,浮动的子元素也参与计算。(稍后看举例3)
如何生成BFC
有以下几种方法:
方法1:overflow: 不为visible,可以让属性是 hidden、auto。【最常用】
方法2:浮动中:float的属性值不为none。意思是,只要设置了浮动,当前元素就创建了BFC。
方法3:定位中:只要posiiton的值不是 static或者是relative即可,可以是absolute或fixed,也就生成了一个BF ...
1 前言
错误监控包含的内容是:
前端错误的分类
每种错误的捕获方式
上报错误的基本原理
面试时,可能有两种问法:
如何监测 js 错误?(开门见山的方式)
如何保证产品质量?(其实问的也是错误监控)
2 前端错误的分类
包括两种:
即时运行错误(代码错误)
资源加载错误
3 每种错误的捕获方式
3.1 即时运行错误的捕获方式
方式1:try ... catch。
这种方式要部署在代码中。
方式2:window.onerror函数。这个函数是全局的。
1window.onerror = function(msg, url, row, col, error) { ... }
参数解释:
msg为异常基本信息
source为发生异常Javascript文件的url
row为发生错误的行号
方式二中的window.onerror是属于DOM0的写法,我们也可以用DOM2的写法:window.addEventListener("error", fn);也可以。
问题延伸1:
window.onerror默认无法捕获跨域 ...
1 前言
前端通信类的问题,主要包括以下内容:
什么是同源策略及限制
同源策略是一个概念,就一句话。有什么限制,就三句话。能说出来即可。
前后端如何通信
如果你不准备,估计也就只能说出ajax。这个可以考察出知识面。
如何创建Ajax
Ajax在前后端通信中经常用到。做业务时,可以借助第三方的库,比如vue框架里的库、jQuery也有封装好的方法。但如果让你用原生的js去实现,该怎么做?
这就是考察你的动手能力,以及框架原理的掌握。如果能写出来,可以体现出你的基本功。是加分项。
跨域通信的几种方式
这部分非常重要。无非就是问你:什么是跨域、跨域有什么限制、跨域有几种方式。
下面分别讲解。
2 同源策略的概念和具体限制
同源策略:限制从一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的关键的安全机制。(来自MDN官方的解释)
具体解释:
源包括三个部分:协议、域名、端口(http协议的默认端口是80)。如果有任何一个部分不同,则源不同,那就是跨域了。
限制:这个源的文档没有权利去操作另一个源的文档。这个限制体现在: ...
机器学习
未读机器学习实战 第二章 端到端的机器学习项目
真实数据
流行数据存储库
UC Irvine Machine Learning Respository
Kaggle datasets
Amazon’s AWS datasets
元门户网站
http://dataportals.org
http://opendatamonitor.net
http://quandl.com
Web Pages
Wikipedia’s list of Machine Learning datasets
quora.com question (http://goo.gl/zDR78y)
https://www.reddit.com/r/datasets
性能指标
RMSE(均方根误差)
68-95-99.7规则
回归任务首选性能指标
平均绝对误差(MAE)
RMSE对应欧几里得范数,||-||2
MAE对应||-||1,曼哈顿距离
范数指数越高,越关注大的价值,忽视小的价值
下载数据
os.path.join()
用法:将多个路径组合后返回
语法*:os.path.join(path1[,pat ...