自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 面试常见LeetCode算法题

最近在面试,整理一下LeetCode高频题* 翻转单链表七句话。用一个遍历存放Before。然后while root!=None就进行迭代,循环内部四步走,把下一步放到Temp,然后更新当前node的next。然后更新node和before。* 二分查找:while(left <= right),然后,key大于mid就更新左,key小于mid就更新右,等于则返回。 外面return -left。* 快速排序:先Partition返回用pivot把数组分成两半,然后quickS.

2021-01-30 19:20:04 374

原创 YouTubeDNN模型

item向量和用户观看历史的item也可以用一个Embedding矩阵。双塔也有连续向量,对连续向量进行了x直接入和x²输入,扩大特征的变化。输入特征对 搜索词、观看记录进行item的mean-pooling。塔输入全是用户特征。

2023-07-30 17:49:21 131

原创 Item冷启优化

实现细节:Look-Alike其实就是一种特殊的ucf,并且对于item冷启是比较有利的,因为新item的emb是学习不充分的,但是交互的user不一定是新用户,他的emb可能是学习充分的,这样利于item冷启。维护类目_id 或者 关键词 -> item_i的时间倒排,召回合并多个列表。物料自身的基本属性,关键词提取召回(比如物料中包含的公司名,人名,地名等)线上环境(新召回、精排变动、重排规则)的变化都有可能导致保量失败。根据目标时间、目标曝光、发布时间、已有曝光,决定权重。召回只分发最近30天内的。

2023-05-03 00:29:42 752

原创 [面试题]java高性能的多计数器

需要实现一个并发安全的多计数器,可以记录不同数字出现的次数,简单而言就是类似于 Map 的数据结构,但该数据结构所占用的内存较大:一个 Node 对象就需要占用 96Byte,如果算上 Node[] 则该数据结构整体的内存占用将是非常可观的。为了降低编程难度,只需要实现一个无需扩容的 MultiAtomicInteger 即可,该类的构造函数需要指定最大容量。综上所述,我们需要实现一个。

2023-01-18 14:21:09 738

原创 Attention相关

自回归模型:过去某个时刻的输出,也会作为当前的时刻的输入。(例如encoder-decoder类的模型,再输出y2的时候需要依赖y0和y1)Transform 也是一个encoder-decoder结构。LayerNorm和BatchNorm区别:BatchNorm:训练时,把当前batch内的样本的某列特征进行处理,处理成均值0方差为1(减这个batch内这一列的均值,再除以方差即可)。预测时,算一个全局的均值的方差做为使用。此外还可以通过学习λ、β参数来变换到任意均值和反查。La...

2022-02-06 23:09:06 2073

原创 图神经网络-GCN、GraphSAGE、NGCF、LightGCN

①GCN做卷积分为两种方式:一种是基于频域(谱域)(spectral domain)。频域可以类比到对图片进行傅里叶变换后,再进行卷积。(通过对图的拉普拉斯矩阵做特征分解,将它定义在傅里叶 domain上)一是基于顶点域(空间域) (vertex domain),即顶点域可以类比到直接在图片的像素点上进行卷积。②基于频域的卷积是如何做的?第一步:L=D-A得到第二步:对L做特征分解。第三步:??当给了一张图,我们有了它的邻接矩阵A和度矩阵D。计算拉普拉斯矩阵,..

2022-02-03 19:13:03 5203 3

原创 阿里Swing算法简介

公式:思想:通过用户来连接商品,形成图。两个都购买过商品i,j的用户,如果这两个用户共同购买的物品越少,则物品i和 j的相似性越高。举例:item_i的点击用户:[u1,u2,u4,u5,u7]item_j的点击用户:[u1,u3,u4,u5]得分:sim<i,j>=f(u1,u3)+f(u1,u5)+f(u4+u5)其中:f(u1,u3)=1/(α+u1和u3并集个数...

2021-12-16 10:34:19 504 1

原创 AliasSample采样算法

def create_alias_table(df): s = [row['weight'] for index, row in df.iterrows()] prob_values = np.array(s) # prob_values存放的是各个类型发生的累计概率*类型种数 prob_values = prob_values / sum(prob_values) # 归一化 skus = [row['skuId'] for index, row in df.iter.

2021-10-01 21:09:50 363

原创 FM如何做召回

FM如何写成Embedding相乘的形式:已知FM=偏置项+Item一阶项+User一阶项+U_U交叉+I_I交叉+U_I交叉当User给定时,U的一阶项和U-U的二阶项对排序无影响。把所有user侧的隐向量相加,得到user的Embedding,把所有item侧的隐向量相加,得到item的Embedding,那么UserEmbedding*Item的Embedding就等于U_I交叉所以转换后FM=User的Embedding*Item的Embedding+偏置项(I-I交叉、item的一阶项

2021-09-09 21:44:25 1074

原创 Tensorflow2-Keras的简单模型Wide&Deep

import tensorflow as tfimport osimport tensorflow.keras.backend as Kimport numpy as npnp.set_printoptions(threshold=np.inf)os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"# load sample as tf datasetdef get_dataset(file_path): dataset = tf.data.expe.

2021-08-15 23:49:46 440

原创 FM算法原理

FM模型是怎么工作的?例如我们有两个字段:颜色(红、黑、白)和品类(化妆品、手机)。我们需要使用FM预测对下面两个商品的点击率item1:红色的化妆品 item2:黑色的手机FM训练后得到参数:权重:红色0.11 黑色:0.26 白色:0.16 化妆品:0.24 手机:0.31 维度为2的向量:颜色:红色[0.426,0.376]、黑色[0.636,0.739]、白色[0.832,0.584]。 品类:化妆品[0.723,0,372]、手机[0.903,0.133]......

2021-08-05 01:27:06 315

原创 CART-回归树 实例

例如:根据 职业和年龄来预测月薪。职业 年龄 月薪 程序员 22 20000 程序员 23 26000 程序员 29 30000 教师 23 12000 教师 25 14000 样本x:[1, 0, 22], [1, 0, 23], [1, 0, 29], [0, 1, 23], [0, 1, 25] (注:我们对职业特征进行了one-hot升维)样本y:[...

2021-01-16 22:02:31 3221 1

原创 TF-IDF计算相似文章

%spark_recommend.pysparkfrom pyspark.sql.types import BooleanType,LongTypefrom scipy.stats import norm, tfrom pyspark.sql import SparkSession, DataFrame, functions as Ffrom pyspark.sql.functions ...

2020-12-31 01:03:34 211

原创 一个案例弄懂ElasticSearch分词匹配原理和同义词

基础:ES支持两种同义方式。一种是单向同义词,一种是双向同义词。臀部,臀,屁股斑=>斑,雀斑 i-pod,i pod,i pad =>ipod说明:对于臀部,臀,屁股。我们可以理解成相互完全等价。对于“斑”“雀斑”,如果文章分词后包含“斑”,会自动存入“斑”“雀斑”两个字词,这样搜索斑或者雀斑都会命中该文章。如果使用"i-pod","i pod","i pad"转为"ipod”,那就会出现一个问题就是在因为存储的是"ipod”,所以搜"i pad"就不会命中该文章了。不推荐使用

2020-06-13 13:28:32 2116

原创 帖子粗排公式-决策树

需求:给出一个公式对帖子进行粗排16个特征:浏览数view_cnt,点击率ctr,搜索词和文章的相关性text_score,评论数comment_cnt,创建时间create_hours....第一步:合并训练和测试数据拉取最近7天的帖子的点击记录,和16个特征。把前1天的数据合并为test测试集,把前2~7天合并为训练集。第二步:特征处理特征实例:0 93 0 5 None None 0.11201316033651 0 0 0 0 55.56929 3153 0.029495 0

2020-05-30 22:14:26 177

原创 Word2Vec计算相似文章

第一步:得到用户帖子的点击日志。from pyspark.sql.types import BooleanType,LongTypefrom scipy.stats import norm, tfrom pyspark.sql import SparkSession, DataFrame, functions as Ffrom pyspark.sql.functions import udf,litfrom dateutil.parser import parseimport string

2020-05-09 15:37:10 143

原创 ItemCF-jaccard相似度计算相似item

from pyspark.sql import SparkSession, functions as Fimport heapqfrom pyspark.sql.types import StructType, StructField, LongType,FloatType, ArrayType, IntegerTypespark = SparkSession.builder.appNa...

2020-04-09 02:04:16 583

原创 合并两个有序链表

非递归: /** * 用一个遍历来装排好序的链表,和一个遍历记录最其实的位置。 * @param l1 * @param l2 * @return */ public static ListNode mergeTwoLists(ListNode l1, ListNode l2) { ListNode resul...

2020-01-16 23:24:07 79

原创 中心极限定理实践

呈任意分布的样本,进行m次抽样,每次取n个。这m次抽样的平均值接近正态分布。下面我们验证一下:数据:用户粉丝数我们有约100w用户的信息,我们只关注用户的粉丝数这个字段。毫无疑问用户的粉丝数都是长尾分布,如图:import pandas as pdimport randomdef get_user_sample(data): sample = []...

2020-01-12 13:11:02 209

原创 ElasticSearch-分组取top n(TopHits)

需求搜索“双眼皮”的所有商品,按照机构聚合降序min_price降序,每个机构显示按取价格高的Top 3。查询语句:{ "query":{ "match":{ "title":"双眼皮" } }, "size":0, "from":0, "sort":[ { ...

2020-01-02 20:42:02 7557

原创 商品搜索-特征处理(实例)

这是在排序时拿到的所有数据{"sort_feature_u_":"{\"u_uid\":25872428,\"u_age\":0,\"vip_status\":1,\"u_r_gender\":2,\"u_f_ml_rt\":1.0,\"u_f_fm_rt\":0.0,\"cre_days\":326,\"lo_pro_id\":2,\"lo_ci_id\":2,\"yidi\":[[\"\...

2020-01-01 23:14:36 350

原创 ElasticSearch-对象类型和嵌套(nested)对象

一、对象类型使用json、json数组作为字段值,动态映射会默认使用对象类型(type object)。1.1字段值为json对象POST users/users/1{ "name":"王月", "description":{ "date":"2015-12-22", "title":"go to School" }}相...

2019-12-28 19:11:12 2461 1

原创 ElasticSearch-别名用法

别名的意义:索引的别名就像域名域名一样,例如百度的域名是www.baidu.com,但是你并不知道这个域名对应的是哪个ip,能翻遍我们切换索引。查看索引:GET _cat/indices(查看所有索引)查看别名:GET _cat/aliases(查看所有别名和别名与索引的对应关系)例如定时任务需要重新创建用户表,我们今天是20191228,我们创建一个user20191228索...

2019-12-28 14:53:29 377

原创 LR模型-商品搜索实战

一个请求都已一个唯一标识字段,这样我们能拿到,这个请求曝光了哪些商品,点击了哪些商品,这个请求发生那一刻的特征。%spark_recommend.pysparkimport pandas as pdfrom pyspark.ml.feature import VectorAssembler, MinMaxScalerfrom pyspark.ml.linalg import Spars...

2019-10-07 14:52:39 219

原创 机器学习-LR模型

LR模型,理解成一个线性方程:如果只有一个特征:也就是y=ax+b,如果有两个特征也就是y=ax1+bx2+c这里我们根据 距海边的距离 预测 城市的最高温度。from sklearn.linear_model import LinearRegressionimport numpy as npimport matplotlib.pyplot as pltmodel = Line...

2019-08-10 18:31:58 1439

原创 栈排序-O(1)空间复杂度(猎聘网)

有两个栈a和b。栈a中数据是无序,栈b无数据。现在需要把a中的数据移动到b,并且最后b是有序的(栈顶最小)。要求:空间复杂度为O(1).private static void fun(Stack<Integer> a, Stack<Integer> b) { while (!a.isEmpty()){ Integer one = a.pop()...

2019-04-03 13:54:55 568

原创 [mysql]分组取Top n、最近一条

一直没有时间写分享,终于等到双十一,任何需求都不准上,这才抽出时间整理一下搜集了好几天的SQL。需求:查出用户最近一条登录记录。(110w条)前提:默认时间和id都是递增。(求时间最大-&gt;求id最大)第一种:select * from user_login_log where id in(select max(id) from user_login_log group b...

2018-11-10 19:26:50 8086 8

原创 SpringBoot 通过注解封装API

包装前:{"name":"王月","age":0}包装后:{"status":{"code":0,"name":"OK","msg":"succeed"},"result":{"name":"王月","age":0}}实现思路:Re

2018-08-16 15:34:00 2284

原创 mysql隔离级别

事务并发的三种问题:脏读:读取了别的事务未提交的数据。不可重复读:你读取过的数据 , 再次读取出来被人改了。幻读:同一个事务,第1次和第2次读出来的记录数不一样。mysql四种隔离级别:●读未提交READ_UNCOMMITTED 写事务阻止写,但是没有阻止读。会出现脏读、不可重复读、幻读。●读已提交READ_COMMITTED 写事务会阻止写和读事务,但是读没有阻止写,会出现不可重复读、幻读...

2018-04-19 15:45:23 188

原创 【sql】exists的用法,exists与in的区别

一直以来很少用exists,以为和in用法一样,最近一看才发现,that is not the case!exists用法强调的是子查询是否有返回集,不需知道具体返回的是什么,如果有就显示主查询的内容,没有就不显示。因此,子查询中select *和select 任意字段 效果是一样的,如下:SELECT * FROM customer c WHERE NOT EXISTS (SELECT cg.d...

2018-04-10 10:49:55 382

原创 Mac电脑下,搭建三台Hadoop集群

集群:Mac:172.16.122.1Master:172.16.122.101Slave1:172.16.122.102Slave2:172.16.122.101第一步、安装CentOS7第二步、安装GUI:命令yum install NetworkManager-tui第三步、配置虚拟机的nat上网模式①更改虚拟机上网模式:改成【桥接模式-wifi】 ②...

2018-03-26 16:13:53 4383

原创 Django配置haystack、Woosh或ElasticSearch、jieba

不多说直接上代码项目名:first    app名称:info目录结构:项目setting.py:INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions',

2018-02-04 06:45:50 1753

原创 从零到启动Django+mysql项目【Windows版】

话不多说,在mac下安装很轻松,换了台电脑大概花了得4 5个小时,知道我成功启动项目。环境:python2.7+mysql5.7+pycharm+Django+win7x64+pip工具目标:在pycharm成功启动一个连接mysql数据库的Django项目①安装python2.7:到官网下载安装包,然后环境变量添加path即可。 参考:http://www.runoob.co

2018-01-20 13:50:53 2862

原创 双硬盘装Window+Ubuntu

如果你是只有一个硬盘,那你直接按照如下文档安装即可,注意两点:①在安装Ubuntu时选择的时候要注意,选自定义自盘空间,我选了错,直接把我第一个ssd的东西全部给格式化了。②在选择[安装启动引导器的设备]时,要选择刚刚挂/boot对应的分区。不然会报错【无法将GRUB安装到/dev/sda/】http://blog.csdn.net/coderjyf/article/details

2018-01-07 17:49:24 210

原创 如何在Idea一个窗口打开多个项目

首先要知道idea和eclipse中的“项目”概念不同。Idea的项目等同于eclipse中的workspace。Idea的module等同于eclipse中的project。所以我们要实现的是:在一个项目倒入多个module。①   创建新的空白项目,并修改项目的路径(相当于创建了一个空文件夹)②File-New-Module from Exist Source。依次把下载的项目当做...

2018-01-03 09:33:46 55137 10

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除