- 博客(616)
- 资源 (1)
- 问答 (4)
- 收藏
- 关注
原创 【Python】正则
以下字符都需要用反斜线(\)来进行特殊字符的转义。\n - 换行符\t - 制表符\ - 反斜线本身. - 点号(任意单个字符)星号(0次或多次重复前面的元素)加号(1次或多次重复前面的元素)?- 问号(零次或一次重复前面的元素)[] - 方括号内的任何字符集合() - 分组操作符{} - 花括号内指定数量的重复次数起因,python正则匹配,从'你好aaa+'匹配‘aaa+’,我就想完整的匹配aaa+,但是实际效果是'你好a'这种的也能匹配上。
2024-03-06 15:34:05 650
原创 GradNorm理解
gradnorm在单个batch step的流程总结如下:整体任务是指L=w_aL_a+w_bL_b, W是神经网络的参数值, gradnorm主要在动态学w_a, w_b;
2023-12-13 15:48:06 5498 1
原创 【推荐系统】AITM笔记
Expert-Bottom 模式的主要思想是控制 Expert 模块如何在多任务模型底部的所有任务之间共享,而 Tower 模块 顶部分别处理每个任务。为 [0.025%, 0.05%, 0.125%, 0.25%, 0.5%, 1%, 2.5%, 5%],1. 如果受众目前没有申请信用卡,并不意味着他们将来不会申请该卡,所以我们不能使用太多的负样本进行训练。我们对 𝑎𝑐𝑡𝑖𝑣𝑎𝑡𝑖𝑜𝑛 负样本进行下采样,以保持训练集中正样本的比例 𝜆 分别。weight: 用户本身价值,以及用户对业务的价值。
2023-11-10 16:48:06 618
原创 【Leetcode】各结构的时间复杂度
二分法就是把一个数据规模为N的先分为N/2,然后再分为N/4,N/8,N/16…一直等分到N/y =1的时候就不分了,现在我们来考虑下,到底分多少次才能把规模为N的数据分到结果为1,这里假设为x次,这个x就是次数,也是我们用大O表示法表示的时间复杂度,我们只需要把x取到就可以了。二叉树的高度:二叉树的高度是从叶节点开始(其高度为1)自底向上逐层累加的。二叉树的深度:二叉树的深度是从根节点开始(其深度为1)自顶向下逐层累加的。因此二分法的时间复杂度就是O(logN)二叉树时间复杂度:O(n)
2023-11-09 17:39:13 573
原创 【机器学习】XGB/LGBM
XGBoost的decision tree用的是pre-sorted based的算法,也就是在tree building之前对各维特征先排序,代表性的算法是SLIQ和SPRINT。SLIQ和SPRINT算法的特点决定了树生长的方式是level-wise(breadth-first)的。而LightGBM的decision tree是histogram based的算法,也就是先将特征离散化,代表性的算法是CLOUDS,Mcrank和Machado。即采用leaf-wise的方式。
2023-11-05 23:46:21 393
原创 【Python】多进程线程与CPU核数
多进程数量设置为CPU核数,或者略小于CPU核数;多线程数量,如果是CPU密集任务设为1;如果是IO密集设为合理的值;
2023-11-03 14:37:45 3046 2
原创 【pyspark】expected zero arguments for construction of ClassDict
net.razorvine.pickle.PickleException: expected zero arguments for construction of ClassDict (for json.decoder.JSONDecodeError)
2023-10-31 17:54:12 338
原创 【Spark】配置参数关系-重要
eg:资源配置10个Executor节点,每个节点2个Core,那么同一时间可以并行计算的task数为20,如果RDD有2个分区,那么计算时只使用2个Core,其余18个Core空转,浪费资源,每个Executor中的一个Core(线程,虚拟核数)同时只能执行一个Task,所以Spark调优中会通过增大RDD分区数,增大任务并行度来提高效率。并行度指所有Executor可以同时执行的Task数,如果RDD有100个分区,那么需要5轮计算完毕,
2023-10-27 16:32:02 924
原创 libGL.so.1: cannot open shared object file: No such file or directory
解决ImportError libGL.so.1
2023-10-23 11:54:13 1877
原创 【Interview】拟牛顿求一个数的平方根
初始化选A点,求切线,与x轴交点 A′ ,改点横坐标 对应B点,再求切线,与x轴交点 B′ ,之后一直进行,会迭代到曲线与x轴的交点。,逐渐迭代收敛到一个数的平方根。我们要求m的平方根,构造函数。牛顿迭代法的思路是通过。
2023-10-17 11:50:51 196
原创 【推荐算法】ctr cvr联合建模问题合集
ctr和cvr分开建模相比ctcvr的优势?总结:1、ctr的数据可以试试获取,能实时训练。但是cvr存在延迟现象,样本更新慢。一起训练容易出现跷跷板现象。2、分开建模可以输出2个指标,便于调控。3、CTR肯定是需要单独建模的,因为它影响用户的长期的,也影响未来。CTCVR低,不代表用户不喜欢,也可能是因为其他原因(比如没钱,这个很容易建模,拿用户过去消费的金额,与当前商品的,一比就能知道)
2023-10-16 19:30:51 862
原创 【Interview】想法合集
区别在于是否线上可以无限召回,比如基于统计的召回,需要事先把召回结果存入kv中,在线下召回结果已经确定了;而基于embedding的召回,可以得到item的embedding,然后线上可以通过近邻索引来召回topn,这样只要有item的embedding,基本上都能得到topn的召回,所以可以起到兜底的效果。i2i相比u2i的优点;主要有两大类型,分别是。
2023-10-16 18:36:26 165
原创 【推荐系统】wss课程-重排序
如果 i 与集合 S 中的某个 j 很相似,则启抑制作用,不利于 i 被选中。衡量物品 i 与集合 S 的相似度。- 每轮都从未选中的物品中与已选中的物品计算 MR,把分数最高的 i 从 R 中移出来。每一轮的 S 都会发生变化,所以每轮的 MRi都要重新计算。i已选中,j 未选中。目标:精排分数高且与所有已选中物品都不相似。sim(i,j),j 求最大化,消掉 j。MMR 就是对 MR 就最大化。marginal 边缘的;
2023-10-06 23:35:24 133
原创 【推荐系统】geohash召回
浮点数编码成字符串占用的字节数较多。给定当前位置:东方明珠 -> 坐标&搜索半径。如何利用genhash去搜索附近的邻居?geohash比经纬度好在哪里?1个浮点数占用存储空间4个字节。查询周边的特定商家:餐厅。
2023-09-15 18:51:01 172
原创 【机器学习】XGB如果类别不平衡怎么解决?和深度学习解决办法一样吗?
xgboost-样本类别不平衡 - 知乎分类问题中类别不平衡问题的有效解决方法_多分类问题时 scale_pos_weight-CSDN博客解决样本不平衡问题的奇技淫巧 汇总_数据小样本 同时每天数据都在变_songhk0209的博客-CSDN博客
2023-09-15 16:56:10 188
原创 【Hive】drop table需注意外部表
ALTER TABLE tb_nameSET TBLPROPERTIES('EXTERNAL' = 'FALSE');
2023-09-05 19:42:13 488
原创 【知识点】温度超参数
考虑一下出现困难负样本的原因,有可能是因为两张图片确实非常相似,通常是两张图片有着相同的前景,让算法产生了混淆。也就是说,其实网络已经学到了一定的语义特征,这对下游任务是有帮助的,强行将两张非常相似图片提取出的特征相互远离,有可能打破这种语义信息,导致在执行下游任务时,效果不升反降。如果没有引入temperature参数,当有困难负样本过来时,loss相对较小,对参数的惩罚也就较小。因此,必须对所有错误分类的样本都加大惩罚,所以,要加入一个小于1的temperature参数,来放大对于困难负样本的惩罚。
2023-08-28 15:56:57 288
原创 【Pytorch】CUDA error: no kernel image is available for execution on the device
当前的 PyTorch 安装支持 CUDA 功能 sm_37 sm_50 sm_60 sm_70。记录一下pytorch安装的cuda版本和GPU cuda不一致的解决。sm_80对应的cuda是11.1,而我安装的cuda是10.2。一般就是pytorch和cuda安装的不匹配。如果我安装的torch配的cuda信息如下,具有 CUDA 功能 sm_80 的。与当前 PyTorch 安装不兼容。改一下就好了,根据官网。
2023-08-25 16:04:47 499
原创 【推荐系统】wss课程-排序
这节课的内容是推荐系统排序的多目标模型。这节课的内容分两部分。- 第一部分是模型结构。模型把用户特征、物品特征、统计特征、场景特征作为输入,输出对多个指标的预估。- 第二部分内容是降采样和校准。在实际的推荐系统中,正负样本的比例严重不平衡,负样本数量远多于正样本,因此需要对负样本做降采样。以点击率为例,对负样本做降采样会导致模型高估点击率,因此需要用公式做校准。多条召回通道从几亿篇选出几千篇,粗排给召回的笔记逐一打分,保留几百篇。精排再打分,不做截断,带着分数进入重排。
2023-08-13 17:12:13 914 2
原创 【推荐系统】wss课程-行为序列
用户行为序列 = lastN(用户最近交互过的 N 个物品)用户特征中的 last N特征很有效,加入召回和排序中所有指标都会大涨。用户 lastn行为序列可以反应出用户对什么物品感兴趣。
2023-08-07 00:59:41 201
原创 【】断点位置与使用
step into mycode(只能跳转当前脚本的函数) 和 step into(也可以跳入外部脚本写的函数 ) 差不多,唯一区别: step into mycode遇到当前脚本写的函数,会进入函数内部执行;如果是其他包导入的函数,就不会跳入那个函数。函数执行一遍,想要出来,回到主程序上,点击 step over。resume program 跳过当前断点,直到运行到下一个断点处。step out 从里面的函数,一层一层往外面的函数跳。step into 运行到函数部分,进入函数内部执行。
2023-07-26 23:57:35 207
原创 【Python】矩阵乘法3种实现方案
两个张量对应的元素相乘(element-wise),在PyTorch中可以通过 torch.mul 函数(或者∗ *∗运算符)实现。3、一般来说,@ 比.dot()方法要慢一点点。dot是numpy里的函数,主要用于求向量相乘,矩阵乘法,矩阵与向量乘法。两个张量矩阵相乘(Matrix product),在PyTorch中可以通过 torch.matmul 函数实现。点积 对于元素相乘并相加,也就是说会降维。2、用这个 @ 运算符可以不用再使用。的意思,也是dot()的意思。1、@ 符在numpy里就是。
2023-07-06 22:02:05 1132
原创 【Faiss】余弦相似分数等于L2归一化再内积
Faiss提供了faiss.METRIC_INNER_PRODUCT 和faiss.METRIC_L2。IndexIVFFlat在参数选择时,使用faiss.METRIC_INNER_PRODUCT。normalize_L2 并 向量的内积 -》 余弦相似性。如果从式子上看 就是分母通分,两个式子是相同的。只需要我们代码加上normalize_L2。说明关于余弦相似性的计算。
2023-07-06 21:42:16 996
原创 【计算机视觉】对比学习采样器sampler
L=500,n_label=10,batch=500//10=50,需要采50个batch,每个batch里10个商品*n_instance。总共有31w的图片,要想31w/4800=64.5=64,想要全部图片看一次需要设置这里的epoch=64次,想要看多次则64*多次。每个epoch会过完所有的label,也就是会过完所有的商品,但只会过40*10*12张图片=4800张。在该文档里,category表示类别,label表示商品,instance表示商品不同角度的图片。L个商品,C个类目,
2023-07-05 12:07:40 715
原创 【计算机视觉】对比学习综述(自己的一些理解)
具体做法为:对一个 batch 输入的图片,随机用不同的数据增强方法生成两个 view,对他们用相同的网络 结构进行特征提取,得到 y 和 y’,来自同一张图像的两个不同的表示构成一对正样本对,来自不同图像任意表示对为一对负样本对。从 InfoNCE loss 我们可以看出,增加负例的数量可以防止过拟合,与此同时,负例越多,这个任务的难度就越大,因而通过增加负例的方式可作为一个优化方向。-----》以上下划线。其核心是通过计算样本表示间的距离,拉近正样本, 拉远负样本,因而训练得到的模型能够区分正负例。
2023-07-04 17:04:55 1150
原创 【深度学习】Pytorch训练模型损失Loss为Nan或者无穷大(INF)原因
Pytorch训练模型损失Loss为Nan或者无穷大(INF)原因
2023-06-30 18:04:56 178
原创 【深度学习】contrastive loss与triplet loss
自己总结一下,三元组如果正负样本足够开,距离足够远,loss为0,因为模型已经学的不错了,不需要继续学习。最好的负样本是,model预测负样本的把握不太大的。如果负样本是很难分的,例如d(a,p)>=d(a,n),即负样本和anchor离的更近,loss是最大的,但模型不容易学出来。并且三元组loss每次只对一条样本(a,p,n)进行loss计算,不考虑其他的负样本。CLIP则是batch_size个样本一起做对比loss的,可以看到bs-1个负样本。对比loss都是bs-1个负样本一起计算的吗。
2023-06-29 19:57:17 803
原创 【Python】Flask web生产环境部署gunicorn+nginx
简单理解,这里就是把原来接触的uWSGI这个包换成了Gunicorn。
2023-04-19 17:00:36 288 1
原创 【推荐系统】model 落地(样本/特征/预测服务)
其他章节一天访问量会有百亿级别,单机是无法满足服务,做分布式模型服务分布式模型服务-> 无状态,机器间不会被依赖一些结论用历史上一个训练好的模型做初始化,用过去一个月,或者是三个月的样本做全量训练。但此时,训练量是很大的,比如,今天用前30天的样本进行训练,明天用新增数据做增量训练,极大加快了模型的训练速度。有利于把最新的样本反应到 model 里面去,对用户、商品冷启都有好的效果。为什么在线特征定期同步给离线平台?——节约性能。
2023-04-16 23:38:22 432
计算机图形学纹路和隐藏面
2015-10-29
安卓开发怎么与服务器进行连接
2015-10-27
opengl怎么把图片由平铺改为填充
2015-10-21
关于asp网页的显示问题
2015-10-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人