自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 推荐算法之Embedding方法汇总

推荐算法的效果离不开embedding的使用,embedding是推荐算法中很重要的一个组成部分,不过也是根据不同的业务需求和数据采取不同的embedding方式,在这里我也是稍微总结常用的几种embedding方法吧。用一句话来总结一下embedding就是将稀疏矩阵向量,变成稠密矩阵向量。...

2022-07-25 21:49:10 4463

原创 推荐算法之排序召回推荐指标总结

最近想起总结一下常用的推荐指标了,觉得这也是最基础的知识点吧。不过这个也不是很全,只是将一些我认为基础的常用的进行了一下总结,后续在任务中遇到其他的再进行补充吧。比如我们常听到的AUC,MAP(MeanAveragePrecison),HR(HitRatio),NDCG(NormalizedDiscountedCumulativeGain),等。...

2022-07-21 14:25:06 1520

原创 推荐系统之ROC和AUC详解

这个绝对是重量级内容了,也是很基础的东西。对于模型来讲,不同的阈值会有不同的泛化能力,这时候,如果想比较两个模型的泛化能力,这个阈值的高低也会受到影响,所以就需要能够综合考虑着所有阈值下的模型的泛化性能,这样还可以使得模型适应与不同的任务,那这时候应该怎么评估模型呢?ROC曲线是常用的工具。在这里和我们前面说过的PR曲线是类似的(mAP),但是在之前的PR曲线中横纵坐标是查准率和查全率。目标检测指标mAP详解。............

2022-07-21 11:32:59 2738

原创 LPRNet

前段时间做了一个车牌检测识别的项目, 在识别阶段用了LPRNet。今天写一篇文章来记录一下自己对LPRNet的浅显认知吧,毕竟自己也不是这个方向的,仅做大体了解。LPRNet可以说是一个端到端的车牌识别算法,并没有预先进行字符分割,这就使得车牌识别的算法实时性强,并且准确性高、支持可变长字符车牌识别。早期的车牌识别算法主要是先进行字符分割然后在进行字符分类,但是字符分割很容易受到图像噪声以及分辨率的影响,但是在LPRNet上面,使用整张图片作为输入,输出最终的字符序列。具体而言,采用的是全连接层+CTC损失

2022-07-12 17:07:17 2530

原创 推荐系统之DIN模型(注意力机制对业务的理解)

前面讲过了AFM,AFM是对注意力机制的一个浅显的尝试,并没有基于业务上进行设计的一个模型。在工业领域例如在线广告上点击率(Click-through rate,CTR)预测是一个很重要的任务。在每次点击费用(cost-per-click,CPC)的广告系统中,广告按有效价格,即每千个有效成本(effective cost per mille,eCPM)排名,该价格是出价与CTR的乘积,而点击率则需要通过系统预估。因此,CTR预估模型的效果直接影响最终收益,并在广告系统中发挥关键作用。DIN是2018年阿里

2022-07-04 16:33:09 1612 1

原创 【目标检测】YOLOV5详解

YOLOV5和YOLOV4有很多相同的地方,最大的改变还是基础架构的变化。Yolov5官方代码中,给出的目标检测网络中一共有4个版本,分别是Yolov5s、Yolov5m、Yolov5l、Yolov5x四个模型。首先先看一下YOLOV5s的网络架构。上图即Yolov5的网络结构图,可以看出,还是分为输入端、Backbone、Neck、Prediction四个部分。(1)输入端:Mosaic数据增强、自适应锚框计算、自适应图片缩放(2)Backbone:Focus结构,CSP结构(3)Neck:FPN+P

2022-06-30 16:09:42 17634

原创 【目标检测】YOLOV4详解

前面讲完了V1、V2、V3,其中YOLOV4 和V3的网络区别就是多了CSP和PAN结构,以及一个SSP。贴一下网络结构图。 首先介绍一下网络结构中出现的各种组件。CBM:是由Conv+BN+Mish激活函数组成,和V3不同的是这里的激活函数由Leaky_relu换成了Mish。CBL:这个组件就是YOLOV3中的最小组件,但是在这里V4 将CBL放在了Neck模块里,并没有放在Backbone。Res unit:借鉴Resnet网络中的残差结构,让网络可以构建的更深。CSPX:借鉴CSPNet网络结构,由

2022-06-30 14:11:33 4051

原创 【目标检测】YOLOV3详解

前面的V1、V2已经讲完了,再讲解一下YOLOV3了。v3除了网络结构,其余变动不多,主要是将当今一些较好的检测思想融入到了YOLO中,在保持速度优势的前提下,进一步提升了检测精度,尤其是对小物体的检测能力。具体来说,YOLOv3主要改进了网络结构、网络特征及后续计算三个部分。YOLOv3继续吸收了当前优秀的检测框架的思想,如残差网络和特征融合等,提出了如图下图所示的网络结构,称之为DarkNet-53。作者在ImageNet上实验发现darknet-53相对于ResNet-152和ResNet101,不仅

2022-06-28 17:37:28 17054 6

原创 【目标检测】YOLOV2详解

前面我们已经讲解过了YOLOV1,因此在这里我会接着前几天的讲解,进一步写一下YOLOV2的基本思想和改进。YOLOv2的论文全名为YOLO9000: Better, Faster, Stronger,它斩获了CVPR 2017 Best Paper Honorable Mention。在这篇文章中,作者首先在YOLOv1的基础上提出了改进的YOLOv2,然后提出了一种检测与分类联合训练方法,使用这种联合训练方法在COCO检测数据集和ImageNet分类数据集上训练出了YOLO9000模型,其可以检测超过9

2022-06-28 15:58:09 7719 1

原创 推荐算法之AFM模型(注意力机制的引入)

前面已经将结果很多推荐系统+深度学习的基础模型了,从这篇文章开始也进入到了注意力机制的章节。在AFM开始,大家都不再局限于将特征进行两两交互问题上面,而是开始探索一些新的结构。"Attention Mechanism"这个词现在已经不是新东西了,它来源于人类自然的选择注意习惯, 最典型的例子就是我们观察一些物体或者浏览网页时,不会聚焦于整个物体或者页面,而是会选择性的注意某些特定区域,忽视一些区域,往往会把注意力放到某些显眼的地方。 如果在建模过程中考虑到注意力机制对预测结果的影响,往往效果会更好。 近年来

2022-06-27 17:38:34 3672 1

原创 【目标检测】YOLOV1详解

最近在公司实习,看到其实很多落地的模型都是基于yolo来改进的。在闲暇之余又重新温故了一下yolo系列,并想着将它们进行一个总结。今天就从V1下手,接下来的几个系列也会分别进行详解。相比起Faster R-CNN的两阶段算法,2015年诞生的YOLOv1创造性地使用端到端(end to end)结构完成了物体检测任务。直接预测物体的类别和位置,没有RPN网络,也没有Anchor的预选框,因此速度很快。YOLOv1是YOLO系列的基准,虽然后面在工程上面大家都是直接使用YOLOV5的开源代码,但是还得需要直

2022-06-24 17:55:10 9221 1

原创 推荐系统之NFM

CTR预测任务中, 高阶特征和低阶特征的学习都非常的重要。 推荐模型我们也学习了很多,基本上是从最简单的线性模型(LR), 到考虑低阶特征交叉的FM, 到考虑高度交叉的神经网络,再到两者都考虑的W&D组合模型。 其实这些模型又存在着自己的问题,也是后面模型不断需要进行改进的原理,主要有下面几点:简单的线性模型虽然简单,同样这样是它的不足,就是限制了模型的表达能力,随着数据的大且复杂,这种模型并不能充分挖掘数据中的隐含信息,且忽略了特征间的交互,如果想交互,需要复杂的特征工程。FM模型考虑了特征的二阶交叉,

2022-06-23 16:13:37 986

原创 目标检测指标mAP详解

相信刚刚接触目标检测的小伙伴也是有点疑惑吧,目标检测的知识点和模型属实有点多,想要工作找CV的话,目标检测是必须掌握的方向了。我记得在找实习的时候,面试官就问到了我目标检测的指标是什么,答:mAP!问:mAP是什么?我:.......!☺所以在本文中我也是详细说一下mAP 的含义,有什么不对的或者不全的欢迎大家指正!mAP是mean of Average Precision的缩写,意思是平均精确度(average precision)的平均(mean),是object detection中模型性能的衡量标准

2022-06-21 16:16:44 22351 3

原创 NMS及IOU原理讲解和代码解析

NMS(non maximum suppression),中文名非极大值抑制,在很多计算机视觉任务中都有广泛应用,如:边缘检测、目标检测等。这里主要以人脸检测中的应用为例,来说明NMS,并给出Matlab和C++示例程序。以下图为例,由于滑动窗口,同一个人可能有好几个框(每一个框都带有一个分类器得分)。而我们的目标是一个人只保留一个最优的框:于是我们就要用到非极大值抑制,来抑制那些冗余的框: 抑制的过程是一个迭代-遍历-消除的过程。主要分为以下三步:(1)将所有框的得分排序,选中最高分及其对应的框:(2)遍

2022-06-20 15:41:53 1379

原创 推荐算法之DeepFM

今天的模型是DeepFM,这算是一个非常经典的模型了。在介绍这个模型之前先针对之前模型的不足进行一个小总结,这也是DeepFM模型提出来的一个原因。CTR预测任务中, 高阶特征和低阶特征的学习都非常的重要。 推荐模型我们也学习了很多,基本上是从最简单的线性模型(LR), 到考虑低阶特征交叉的FM, 到考虑高度交叉的神经网络,再到两者都考虑的W&D组合模型。 其实这些模型又存在着自己的问题,也是后面模型不断需要进行改进的原理,主要有下面几点:所以DeepFM也就应运而生了,老规矩先看一下知识脉络图:DeepF

2022-06-14 21:28:33 10029 1

原创 推荐系统之FNN

今天继续写王喆老师的《深度学习推荐系统》,我会根据已经梳理好的知识体系对其中的模型分别讲解。前面也已经讲过很多模型了,前一个模型是Deep&Cross其中是对W&D模型的Deep部分进行的改进。按理说今天还是将根据W&D的思想衍生而来的其他模型,但是今天先讲一下FM在深度学习时代的三大延伸模型变体FNN(Factorization Machine supported Neural Network)模型, DeepFM(Factorization-Machine based Neural Network)模型

2022-06-13 21:17:58 1356

原创 机器学习之L1正则化和L2正则化(附源码解析)

今天还是机器学习的基础知识内容,也是最基础的哈。首先说一下什么是正则化,其实它就是一个减少方差的策略。那么什么是方差呢?在这里也引入一个和方差相辅相成的概念--偏差。我们通常所说的过拟合现象,也就是指的高方差,就是模型在训练集上训练的超级好,几乎全部都能拟合。 但是这种情况如果换一个数据集往往就会非常差, 正则化的思想就是在我们的目标函数中价格正则项, 即:在这里正则项有两种,分别是L1和L2,先来看一下两者的表达式: 如果加上这种正则项,就是希望我们的代价函数小,同时也希望我们这里的小,这样就说明每个样本

2022-06-10 22:33:14 4247 1

原创 Batch Normalization详解以及BN和LN的区别

最近要找工作,也是复习一下面经。之前经常看过的BN也是面试中的重中之重,记得当时面试华为诺亚方舟实验室的时候,面试官就问到了我BN和LN的区别,当时也仅仅是将这两者的区别说出来了,但是并没有进行扩展,现在想想也是有点后悔的(其实当时自己也不知道该扩展啥)。在今天也就做一下总结,来概括一下这两者的区别以及BN的动机原理。在机器学习领域有个非常重要的假设样本之间的独立同分布,也就是训练数据和测试数据假设是满足相同分布,这样我们通过训练数据训练模型才能够在测试数据上获得较好的效果(这个独立同分布是一个前提)。 然

2022-06-09 19:27:20 1354 1

原创 A ConvNet for the 2020s 详解

前面个讲过了MobileNet系列,从V1到V3做了很多改进,效果也是越来越好。但是这些改进很多都是基于block来进行改进的,而这一问题就可以让我们直接将这个block用于其他backbone上面,并有着优秀的性能。在今年年初读到的这篇文章,当时就觉得很不错,也是仔细刨析了一下现在卷积和transformer的较量,给了我们坚定卷积的决心。在这篇文章中也是涉及到了前面中block中的一些改变。不过这些改变不是为了轻量型而做出的,在这里也是总结一下。感兴趣的小伙伴也可以看一下我前面这篇文章:MobileNe

2022-06-09 11:19:34 2963

原创 MobileNet系列(万文长字详细讲解,一篇足以)

本篇讲一下CV相关的东西,MobileNet,想必大家已经很熟悉了,包括里面的一些模块,一些轻量型思想也是经常用到的。在这里我也是想着做一下总结,整理一下,也讲一讲自己的理解和看法。卷积神经网络CNN已经普遍应用在计算机视觉领域,并且已经取得了不错的效果。近年来CNN模型深度越来越深,模型复杂度也越来越高,如深度残差网络(ResNet)其层数已经多达152层。然而,在某些真实的应用场景如移动或者嵌入式设备,如此大而复杂的模型时难以被应用的。首先是模型过于庞大,面临着内存不足的问题,其次这些场景要求低延迟,或

2022-06-07 21:39:10 13055 4

原创 深度学习之优化器(优化算法)

前面已经讲过几中梯度下降算法了,并且给了一个收尾引出这一章节,想看的小伙伴可以去看看这一篇文章:机器学习之梯度下降算法。前面讲过对SGD来说,最要命的是SGD可能会遇到“峡谷”和“鞍点”两种困境峡谷类似⼀个带有坡度的狭长小道,左右两侧是 “峭壁”;在峡谷中,准确的梯度方向应该沿着坡的方向向下,但粗糙的梯度估计使其稍有偏离就撞向两侧的峭壁,然后在两个峭壁间来回震荡。鞍点的形状类似⼀个马鞍,⼀个方向两头翘,⼀个方向两头垂,而中间区域近似平地;⼀旦优化的过程中不慎落入鞍点,优化很可能就会停滞下来(坡度不明显,很可

2022-06-06 20:31:02 1548 1

原创 机器学习之梯度下降算法

因为是CV出身的,转了推荐算法,前面也写了很多关于推荐算法的东西,但是最近写的有点疲了,思前想后决定先放一下推荐算法的基础模型。这几天先写一下机器学习和深度学习的东西,各个领域融会贯通一下。梯度下降算法是求解无约束多元函数极值最常用的数值方法, 很多机器学习常用算法和神经网络都是以它作为算法框架进行优化参数。 所以这个算法非常重要。梯度下降也是一种优化算法, 通过迭代的方式寻找使模型目标函数达到最小值时的最优参数, 当目标函数为凸函数的时候,梯度下降的解是全局最优解,但在一般情况下,梯度下降无法保证全局最优

2022-06-05 11:21:52 2183

原创 推荐算法之Deep&Cross模型

这算是Wide&Deep模型的一个补充吧,前面写了一篇文章推荐算法之Wide&Deep模型,本想着这两个模型合在一起写的,结果Deep&Cross模型都快写完了,断网了,没保存,只有前面的W&D模型(万字长文啊,心态炸裂)。休息了一会打算重开一个继续写吧,真的是难熬,关于前面总结的其余模型优劣点在这里就不说了,可以参考我前面的文章。还是老规矩,先上一下总体框架图吧。 关于这个模型其实就是对W&D中Wide部分进行改进的模型,前文中我们说过,W&D模型原理很简单,但是最主要的是要掌握W&D这种线性和非线性,处

2022-06-03 21:59:22 1000

原创 推荐算法之Wide&Deep模型

前言推荐系统进入深度学习领域以来,一共讲解了四个使用深度学习的模型了,今天来讲一下Wide&Deep模型,也是具有着里程碑意义的,前面讲解的AutoRec和Deep Crossing模型是在神经网络的复杂度和层数方面进行的进化,而这两个模型也是使用深度学习从用户和物品相似度的角度来进行系统推荐的。其中对AutoRec和DeepCrossing这两个模型有些遗忘的小伙伴可以看看我这篇文章,推荐算法之AutoRec与Deep Crossing模型,但是这两个模型在特征交叉这个方面并没有进行很合理的设

2022-05-29 21:07:32 6267 1

原创 推荐系统之PNN模型

前言今天开始整理讲解Product-based Neural Network(PNN)模型,前面讲解的AutoRec和Deep Crossing模型是在神经网络的复杂度和层数方面进行的进化,而这两个模型也是使用深度学习从用户和物品相似度的角度来进行系统推荐的。其中对AutoRec和DeepCrossing这两个模型有些遗忘的小伙伴可以看看我这篇文章,推荐算法之AutoRec与Deep Crossing模型,但是这两个模型在特征交叉这个方面并没有进行很合理的设计,更多的是使用了全连接层来增加了模型的复杂度

2022-05-28 17:31:32 1612 1

原创 集成学习之Xgboost

前言写完了Adaboost,也是大体了解了集成学习的原理以及分类,还不是很了解的同学可以点进去看看。然后还有GBDT,接下来就写一下集成学习中很重要的一个算法Xgboost。先写在前面,如果对Adaboost和GBDT这两个算法还不是很熟悉的小伙伴,可以先去阅读一下这两个算法相关的文章。因为我之前讲过这两个算法,所以在本文就不讲了,直接开始我们的Xgboost算法相关讲解。二、Xgboost的基本原理梯度提升(Gradient boosting),是指boosting算法每一步的弱分类器都是

2022-05-25 23:07:47 822

原创 推荐系统之NeuralCF模型

前言今天开始整理讲解NeuralCF模型,这个模型相比较AutoRec和DeepCrossing添加了更多特征交叉的想法,前面讲解的AutoRec和Deep Crossing模型是在神经网络的复杂度和层数方面进行的进化,而这两个模型也是使用深度学习从用户和物品相似度的角度来进行系统推荐的, 但是这两个模型在特征交叉这个方面并没有进行很合理的设计,更多的是使用了全连接层来增加了模型的复杂度和使得所有特征进行了一个统一的交叉。这样存在着很大的问题,即两个毫不相关的特征也较交叉在了一起,这就使得对模型权重有所

2022-05-25 20:54:08 887

原创 推荐算法之AutoRec与Deep Crossing模型

前言这一章节算是从传统的机器学习推荐模型转到深度学习的推荐模型中去了。在2016年, 随着微软的Deep Crossing, 谷歌的Wide&Deep以及FNN、PNN等一大批优秀的深度学习模型被提出, 推挤系统和计算广告领域全面进入了深度学习时代, 时至今日, 依然是主流。 在进入深度学习时代, 推荐模型主要有下面两个进展:1、与传统的机器学习模型相比, 深度学习模型的表达能力更强, 能够挖掘更多数据中隐藏的模式2、深度学习模型结构非常灵活, 能够根据业务场景和数据特点, 灵活调整模型结

2022-05-21 22:31:38 1053

原创 集成学习之AdaBoost算法

前言写完GBDT就一直想要写一下有关集成学习的内容,也是给自己一个刨根问底的机会,那么就从这篇文章开刀吧,这一章节公式几乎没有,也不会过多的去解读公式的含义,只需要让大家能够理解集成学习的东西。能够将这种算法融入到自己的心中去,还是说希望大家也不要太深究这些公式,有些时候,这些公式只是给算法一个更为合理的解释,理解这个算法背后的原理和应用其实对大部分朋友来说更尤为重要,当然了有能力的朋友看懂公式也是超重要的。一、Adaboost原理集成算法是很强大的,就比如很火的xgboost,lightgbm

2022-05-16 17:28:19 1172

原创 推荐系统之GBDT+LR

前言前面讲过的FM与FFM模型虽然增强了模型的交叉能力,但是不管怎样都只能做二阶的交叉,如果想要继续加大特征交叉的维度,那就会出大计算爆炸的情况。所以Facebook提出了梯度提升树(GBDT)+逻辑回归(LR)的模型,具体来说首先利用GBDT自动将特征进行筛选和组合,进而生成新的离散特征向量,然后再把特征向量当作LR模型输入,从而预估CTR。关于逻辑回归(LR)的部分前面已经讲过了,这里具体的讲一下GBDT这个大家伙。在讲解之前先看一章图来了解一下传统推荐模型的进化关系图,讲完这一章传统的推荐算法模型

2022-05-09 22:07:17 4195 2

原创 机器学习之分类回归树(CART)

前言写这一章本来是想来介绍GBDT-LR这一个推荐模型的。但是这里面就涉及到了很多机器学习的基础树形算法,思前想后还是决定分成几篇文章来写,这里先介绍一下CART数,因为在GBDT中用来分类回归的树形结构就是CART,为了更好的理解这个推荐模型,首选需要的就是打好基础,介绍完CART之后,我就会介绍XGBoost等一些集成学习的东西,然后就是GBDT,当然了还有Xgboost。的确是一个大家族啊,当然了这些并不是全部的东西,还有LightGBM、catboost这几大巨头算法。这些之后再介绍吧。一、

2022-05-09 10:31:34 10229 1

原创 推荐算法之FM(因子分解机)与FFM

前言关于FM和FFM的知识有很多,比如召回层或者排序层亦或者是多路召回、统一召回。这些内容以后也会写相应的文章来进行详细的讲解,在这篇文章中只是将这两种算法的基本原理以及公式讲清楚就足够了。一、POLY2模型在进行FM以及FFM模型讲解之前,先讲解一下POLY2模型。前面的文章讲过逻辑回归,虽然这是一个非常优秀的算法,但是仅仅依靠单一特征来进行判定的情况下,就会造成信息损失的问题,所以我们还需要进行多维度特征交叉。针对特征交叉问题POLY2模型进行特征的暴力组合来解决这类问题。数学形式如下所示:

2022-05-05 21:38:27 1802

原创 推荐算法之逻辑回归

前言从本文开始算是正式进入推荐算法的这一行列了。逻辑回归再推荐算法中有着举足轻重的地位,现在很多的算法几乎都多多少少有着逻辑回归的影子。相比较协同过滤,逻辑回归能够综合用户、物品和上下文等多种不同的特征,生成一个全面的结果。并且逻辑回归中的“感知机”也是作为神经网络中最基础的单一神经元,是深度学习的基础型结构。在传统的推荐系统中,逻辑回归衍生出来经典的模型和算法。例如常见的因子分解机FM,Facebook提出的GBDT+LR组合的模型,以及阿里巴巴曾经主流的推荐模型LS-PLM。今天就一起系统的来学习一

2022-05-04 20:26:44 2490

原创 推荐算法之矩阵分解

协同过滤详见:https://blog.youkuaiyun.com/qq_38375203/article/details/124518238?spm=1001.2014.3001.5502一、协同过滤的下一步发展协同过滤是一个非常直观且可解释性很强的模型,但是它并不具备泛化的能力。或者说协同过滤无法将两个物品相似这一信息转换到别的物品上。这就会产生头部效应,即热门的物品会有着丰富的矩阵向量参数,而冷门的物品的矩阵向量就很稀疏,这就导致了冷门物品很少被推荐,这就是我们常说的冷启动问题。为了解决这个问题,增

2022-05-03 15:42:55 818

原创 one-hot和multi-hot编码

one-hot和multi-hot编码

2022-04-30 21:47:04 6508 2

原创 推荐算法之协同过滤

协同过滤算法详解

2022-04-30 21:18:35 4017

空空如也

空空如也

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

TA关注的人

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