- 博客(276)
- 收藏
- 关注
原创 数学、机器学习、深度学习目录
文章目录机器学习深度学习深度学习练习题机器学习1.机器学习实战(1) k-近邻算法(kNN)和决策树2.机器学习实战(2) 基于概率论的分类方法:朴素贝叶斯 python33.机器学习实战(3) Logistic回归 逻辑回归 基于python34.待更新5.机器学习实战(5) AdaBoost元算法 基于python36.机器学习实战(6) 预测数值型数据:回归7.机器学习实战(...
2019-02-10 00:10:29 912
原创 COPC评估
这个原因才是你模型缺特征,尤其是缺乏活跃用户的特征,通常活跃用户,系统 rank 为了指标,会使用很重的行为画像作为特征,很容易放大历史点击记录,更加倾向于把他们排上去,如果你高估了该用户的点击倾向,就会导致分数给的很高,但是现实用户不怎么点的现象。这个也会触发新的问题,也就是常说的离线 AUC 很高,但是线上没效果,道理都一样,你模型仅仅是把正负样本的间隔拉开了,并没有真正改善用户看到的内容和布局,才导致高分段 ctr 不见增长。如果你发现auc上升,点击率却不上升,请优先排查bug。
2024-04-17 18:35:23 446
原创 差分数组-解题
你可以假设所有人都出生于 1900 年至 2000 年(含 1900 和 2000 )之间。如果一个人在某一年的任意时期处于生存状态,那么他应该被纳入那一年的统计中。例如,生于 1908 年、死于 1909 年的人应当被列入 1908 年和 1909 年的计数。给定 N 个人的出生年份和死亡年份,第 i 个人的出生年份为 birth[i],死亡年份为 death[i],实现一个方法以计算生存人数最多的年份。如果有多个年份生存人数相同且均为最大值,输出其中最小的年份。
2024-04-15 11:03:40 152
原创 先验概率和后验概率
具体来说,如果我们有一个分类任务,真实标签(对应于先验概率)可以表示为一个"one-hot"向量,例如在一个三分类问题中,某个样本真实的类别是第二类,那么它的表示可以是[0, 1, 0]。这里,"1"的位置表示这个样本属于第二类的概率是100%,而其他位置为0表示该样本属于其他类的概率是0%。交叉熵是用来衡量两个概率分布之间差异的,其核心目的在于通过最小化模型输出(后验概率)与真实标签分布(可以视作一种“目标”先验概率分布)之间的交叉熵,使模型学习到的概率分布尽可能地接近真实的概率分布。
2024-04-12 21:10:04 742
原创 Normalization
Norm介绍归一化层,目前主要有这几个方法,Batch Normalization(2015年)、Layer Normalization(2016年)、Instance Normalization(2017年)、Group Normalization(2018年)、Switchable Normalization(2018年);batchNorm是在batch上,对NHW做归一化,对小batchsize效果不好;layerNorm在通道方向上,对CHW归一化,主要对RNN作用明显;instance
2024-04-11 15:37:14 431
原创 最长子序列问题
给你一堆n个箱子,箱子宽 wi、深 di、高 hi。箱子不能翻转,将箱子堆起来时,下面箱子的宽度、高度和深度必须大于上面的箱子。实现一种方法,搭出最高的一堆箱子。箱堆的高度为每个箱子高度的总和。子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的。给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。输入使用数组[wi, di, hi]表示每个箱子。
2024-04-11 14:13:08 208
原创 lambdamart
这个loss就是BPR(Bayesian Personal Ranking)Loss。有的博文也会叫做PairWise Logistic Loss 损失函数。RankNet使用了sigmoid函数来转化排序概率。文档相关性相等的情况。的公式能推导出下面第二行公式。包含以下三种情况,包含了。
2024-04-09 17:56:51 904
原创 推荐系统-向量召回
Ppostazt1∗ztazt所有发生过点击行为的用户总数点击过t的用户数a是一个超参,一般在1e-3~1e-5之间。
2024-04-01 14:01:09 1004
原创 Youtube DNN:Deep Neural Networks for YouTube Recommendations
大规模的推荐场景,能够支持分布式训练和提供有效率的服务。不断更新的新物料。稀疏的用户行为,包含大量的噪声。我们已经描述了用于推荐YouTube视频的深度神经网络架构,分为两个不同的问题:召回和排序。我们的深度协同过滤模型能够有效地吸收多种信号,并通过捕获非对称的协同观看行为和防止未来信息泄漏,在现场指标上表现良好,超越了YouTube以前使用的矩阵分解方法。从分类器中保留区分性信号也是取得良好结果的关键,否则模型会过度拟合代理问题,并且无法很好地转移到首页。
2023-10-30 12:01:27 719
原创 kubectl 常用命令
pod端口映射 kubectl port-forward pod_name 6379:6379。查看pod状态 kubectl describe pods trainer-ps-0。删除已配置的资源 kubectl delete -f calico.yaml。删除pod kubectl delete pod test-pod。kubectl常用命令。
2023-06-30 15:15:11 156
原创 The POM for xxx is missing, no dependency
主要含义是指公司部分仓库的依赖不通过镜像下载。1.在setting.xml注释掉镜像部分。,xxx是公司仓库id。
2023-06-01 20:20:15 1099
原创 torch.addcdiv 和 torch.tensor.addcdiv_
TORCH.ADDCDIVtorch.addcdiv(input, tensor1, tensor2, *, value=1, out=None) -> Tensor# input + value * tensor1 / tensor2# input, tensor1, tensor2需要是可广播的tensort = torch.randn(1, 3)t1 = torch.randn(1, 3)t2 = torch.randn(3, 1)torch.addcdiv(t, t1, t2,
2022-04-01 11:23:00 699
原创 SWA(随机权重平均)
SWA(随机权重平均)[Averaging Weights Leads to Wider Optima and Better Generalization](Averaging Weights Leads to Wider Optima and Better Generalization)随机权重平均:在优化的末期取k个优化轨迹上的checkpoints,平均他们的权重,得到最终的网络权重,这样就会使得最终的权重位于flat曲面更中心的位置,缓解权重震荡问题,获得一个更加平滑的解,相比于传统训练有更泛化
2022-03-23 17:55:57 4122
原创 parser.add_argument bool类型参数设置
ArgumentParser在传布尔类型变量时,传入参数按字符串处理,所以无论传入什么值,参数值都为True。import argparseparser = argparse.ArgumentParser()parser.add_argument("--t1", default=False, type=bool)parser.add_argument("--t2", default=False, action='store_true')args = parser.parse_args()pr
2022-03-18 19:55:48 2519
原创 How to Fine-Tune BERT for Text Classification
文章目录简介方法论微调策略进一步预训练多任务预训练实验1结果长文本处理(Dealing with long texts)选择某层的特征(Features from different layers)灾难性遗忘(Catastrophic Forgetting)逐层衰减的比率(Layer-wise Decreasing Layer Rate)实验2结果任务内数据预训练(Within-Task Further Pre-Training)领域内和交叉领域进一步预训练(In-Domain and Cross-Doma
2022-03-16 17:07:37 1167
原创 EMA指数滑动平均(Exponential Moving Average)
指数滑动平均(Exponential Moving Average)指数滑动平均也叫权重移动平均(Weighted Moving Average),是一种给予近期数据更高权重的平均方法。假设有nnn个权重数据:[θ1,θ2,⋯ ,θn][\theta_1,\theta_2,\cdots,\theta_n][θ1,θ2,⋯,θn],EMA的计算公式:vt=βvt−1+(1−β)θt(1)v_t=\beta v_{t-1}+(1-\beta)\theta_t\tag{1}vt=βvt−1+(
2022-03-08 20:23:39 6344
原创 对比学习梳理
文章目录自监督对比学习监督对比学习监督学习做预训练模型fine-tuning对比学习的思想是去拉近相似的样本,推开不相似的样本,而目标是要从样本中学习到一个好的语义表示空间。自监督对比学习自监督对比学习是将样本“照镜子”,转为有监督任务。以图像领域提取图片feature为例,在不使用图片类别等信息的情况下,对无标签的图片做augmentation(旋转、裁剪、添加noise等),将一个batch的样本转为监督任务,具体如下:一个batch包含N张图,通过augmentation获得NNN张图,将
2022-02-23 17:05:12 367
转载 用狄拉克函数来构造非光滑函数的光滑近似
文章目录狄拉克函数在机器学习中,我们经常会碰到不光滑的函数,但我们的优化方法通常是基于梯度的,这意味着光滑的模型可能更利于优化(梯度是连续的),所以就有了寻找非光滑函数的光滑近似的需求。事实上,本博客已经多次讨论过相关主题,比如《寻求一个光滑的最大值函数》、《函数光滑化杂谈:不可导函数的可导逼近》等,但以往的讨论在方法上并没有什么通用性。不过,笔者从最近的一篇论文《SAU: Smooth activation function using convolution with approximate ide
2022-02-22 19:40:41 571
原创 label smoothing理论推导
我们知道,softmax容易使模型过度自信过拟合,label smoothing作为一种改善方案可以提高模型的泛化能力。label_smoothing上篇博客推导过反向求导的结果如下softmax求导/label_smoothing求导/知识蒸馏求导y^i=softmax(zi)=expzi∑j=1Kexpzjloss=−∑i=1Nyilogy^i\hat{y}_i=\text{softmax}{(z_i)}=\frac{\exp{z_i}}{\sum_{j=1}^K\exp{z_j}}\\
2022-02-07 19:58:44 2086
原创 softmax求导/label_smoothing求导/知识蒸馏求导
softmax求导y^i=softmax(zi)=expzi∑j=1Kexpzjloss=−∑i=1Nyilogy^i\hat{y}_i=\text{softmax}{(z_i)}=\frac{\exp{z_i}}{\sum_{j=1}^K\exp{z_j}}\\loss=-\sum_{i=1}^Ny_i\log\hat{y}_iy^i=softmax(zi)=∑j=1Kexpzjexpziloss=−i=1∑Nyilogy^i链式求导∂loss∂zi=∂loss∂y
2022-01-22 23:14:34 1878 3
原创 lr schedule
constant_schedule学习率不变def get_constant_schedule(optimizer: Optimizer, last_epoch: int = -1): return LambdaLR(optimizer, lambda _: 1, last_epoch=last_epoch)warmupdef get_constant_schedule_with_warmup(optimizer: Optimizer, num_warmup_steps: int, las
2022-01-21 10:21:21 719
原创 向量和矩阵乘法表示
Am×nBn×m=[∑i=1na1ibi1∑i=1na1ibi2⋯∑i=1na1ibim∑i=1na2ibi1∑i=1na2ibi2⋯∑i=1na2ibim⋮⋮⋱⋮∑i=1namibi1∑i=1namibi2⋯amibim]=[a1Tb1a1Tb2⋯a1Tbma2Tb1a2Tb2⋯a2Tbm⋮⋮⋱⋮amTb1amTb2⋯amTbm]=∑i=1n[a1ibi1a1ibi2⋯a1ibima2ibi1a2ibi2⋯a2ibim⋮⋮⋱⋮amibi1amibi2⋯amibim]=∑i=1naibiT\begin{a
2021-12-26 21:35:43 1796
原创 torch.gather/torch.scatter
torch.gather(input, dim, index, *, sparse_grad=False, out=None) → Tensor参数:input 被索引的tensordim 索引沿着的维度index 索引的index官方给出的三维例子:out[i][j][k] = input[index[i][j][k]][j][k] # if dim == 0out[i][j][k] = input[i][index[i][j][k]][k] # if dim == 1out[i]
2021-12-15 19:28:23 2627
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人