​ 本文来自公众号"AI大道理". ​ 什么是正负样本? 正负样本是在训练过程中计算损失用的,而在预测过程和验证过程是没有这个概念的. 正样本并不是手动标注的GT. 正负样本都是针对于算法经过处理生成的框而言,而非原始的GT数据. 正例是用来使预测结果更靠近真实值的,负例是用来使预测结果更远离除了真实值之外的值的. 训练的时候为什么需要进行正负样本筛选? 在目标检测中不能将所有的预测框都进入损失函数进行计算,主要原因是框太多,参数量太大,因此需要先将正负样本选择出来,再进行损失函数的计…
论文针对当前anchor-free目标检测算法的问题提出了DDBNet,该算法对预测框进行更准确地评估,包括正负样本以及IoU的判断.DDBNet的创新点主要在于box分解和重组模块(D&R)和语义一致性模块,分别用于解决中心关键点的回归不准问题以及中心关键点与目标语义不一致问题.从实验来看,DDBNet达到了SOTA,整篇论文可圈可点,但里面的细节还需要等源码公开才知道   来源:晓飞的算法工程笔记 公众号 论文: Dive Deeper Into Box for Object Detecti…
前文再续书接上一回,机器学习的主要目的,是根据特征进行预测.预测到的信息,叫标签. 从特征映射出标签的诸多算法中,有一个简单的算法,叫简单线性回归.本文介绍简单线性回归的概念. (1)什么是简单线性回归 "回归(regression)"是什么?如之前所讲,预测模型可区分为"分类器"跟"回归器",回归器,就是用来预测趋势变化的,比如预测明天哪支股会涨停,预测某天的降雨量是多少,预测未来一年房价的变化,等等.所以回归就是预测的意思,没有什么高深的.线…
正负样本比率失衡SMOTE [TOC] 背景 这几天测试天池的优惠券预测数据在dnn上面会不会比集成树有较好的效果,但是正负样本差距太大,而处理这种情况的一般有欠抽样和过抽样,这里主要讲过抽样,过抽样有一种简单的方法叫随机过抽样,但是随机过抽样只是随机的复制,很容易过拟合,所以SMOTE比较好,SMOTE还有一些改进版本,更好用,这里讲一般的SMOTE即可 公式 \(x\) : 任意一个样本 \(\tilde{x}\) : \(x\)最临近的\(K\)个样本的随机一个,\(x\not= \til…
系列博客,原文在笔者所维护的github上:https://aka.ms/beginnerAI, 点击star加星不要吝啬,星越多笔者越努力. 4.4 多样本单特征值计算 在前面的代码中,我们一直使用单样本计算来实现神经网络的训练过程,但是单样本计算有一些缺点: 很有可能前后两个相邻的样本,会对反向传播产生相反的作用而互相抵消.假设样本1造成了误差为0.5,w的梯度计算结果是0.1:紧接着样本2造成的误差为-0.5,w的梯度计算结果是-0.1,那么前后两次更新w就会产生互相抵消的作用. 在样本数…
单特征 NDCG 能计算模型的 NDCG,也就能计算单特征的 NDCG,用于评估单特征的有效性,跟 Group AUC 用途一样 单特征 NDCG 如何衡量好坏 如果是 AUC,越大于或小于 0.5,特征越有效,但 NDCG 没有这个特点,NDCG 都是正的,而且,样本正负比例不同,NDCG 的值也不同,变化很大.那么在同样的样本下,就需要有个基准用来说明好坏. 一个可靠的方案是把随机数作为一个特征,以其 NDCG 为基准,比随机数 NDCG 高得越多,特征就越有效. 为什么要打散 有些离散化的…
<C和指针>第6章第4道编程题: 质数就是只能被1和本身整除的数.Eratosthenes筛选法是一种计算质数的有效方法.这个算法的第一步就是写下所有从2至某个上限之间的所有整数.在算法的剩余部分,遍历整个列表并剔除所有不是质数的整数. 后面的步骤是这样的.找到列表中的第1个不被剔除的数(也就是2),然后将列表后面所有逢双的数都剔除,因为它们都可以被2整除,因此不是质数.接着,再回到列表的头部重新开始,此时列表中第一个尚未被剔除的第1个数是3,所以在3之后把每逢第3个数(3的倍数)剔除.完成这…
1.tf.losses.mean_squared_error函数 tf.losses.mean_squared_error( labels, predictions, weights=1.0, scope=None, loss_collection=tf.GraphKeys.LOSSES, reduction=Reduction.SUM_BY_NONZERO_WEIGHTS ) labels:真实的输出张量,与“predictions”相同. predictions:预测的输出. weights…
tf.nn.softmax_cross_entropy_with_logits(logits, labels, name=None) 第一个参数logits:就是神经网络最后一层的输出 第二个参数labels:实际的标签 具体的执行流程大概分为两步: 第一步是先对网络最后一层的输出做一个softmax,这一步通常是求取输出属于某一类的概率,对于单样本而言,输出就是一个num_classes大小的向量([Y1,Y2,Y3...]其中Y1,Y2,Y3...分别代表了是属于该类的概率) softmax…
https://github.com/dmlc/gluon-cv/blob/master/gluoncv/model_zoo/rpn/rpn_target.py def forward(self, ious): """RPNTargetSampler is only used in data transform with no batch dimension. Parameters ---------- ious: (N, M) i.e. (num_anchors, num_…