自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 用户画像图谱

后续补充

2022-09-19 11:56:37 1945 1

转载 正则化的详细解释

转载

2022-05-26 22:09:13 258

转载 机器学习中的评估指标与损失函数

转载文章

2022-03-30 14:50:18 295

原创 聚类算法之核函数

一:监督学习与无监督学习1,监督学习监督学习就是人们常说的分类,通过训练已有样本得到一个最优模型,利用该模型将输入转化成输出,对输出进行判断,从而实现分类,也就是具有了对未知数据进行分类的能力。2,无监督学习他与监督学习最大的区别在于事先没有任何的训练样本,直接对数据进行建模,典型的例子就是聚类算法3,如何选择监督学习还是无监督学习首先看是否有训练数据,也就是是否有标签,如果有,就用监督学习(分类),否则就用无监督学习。其次,看数据条件是否可改善。如果可以将数据进行改善,就用监督学习,否则无监

2022-02-13 17:46:26 2428

原创 回归算法总论

一:回归总论1,什么是回归算法回归分析是一种研究自变量与因变量之间相互关系的一种建模技术,主要用来预测时间序列,找到变量之间的关系。2,回归的种类按照自变量和因变量之间的关系类型,可分类线性回归和非线性回归,按照自变量的多少可分为一元回归和多元回归二:线性回归1,概念线性回归一般用来做连续值的预测,自变量可以是连续的,也可以是离散的,但预测结果是连续的,回归的性质是线性的,他使用最佳拟合直线在自变量和因变量之间建立一种线性关系2,线性回归的数学假设(1):假设输入x和输出y是线性关系,预

2022-02-11 17:55:37 1713

原创 GBDT、xgboost、LightGBM之间的比较

一:为什么会有XGBOOST和LightGBM首先,我们需要知道,这两种算法都是gbdt的具体实现算法,gbdt作者在前面的文章中已经解释的很清楚了,读者可以先去做一个了解。那有了gbdt为什么不直接用,而是要衍生出这两种模型呢,其实主要是因为gbdt在每一次迭代的时候都会遍历整个训练数据多次,一旦数据量过大,如果把所有数据内存,可能会限制训练数据的大小,如果不进内存,反复的读写训练数据又会非常耗时,尤其是面对工业级海量的数据,普通gbdt基本上没办法用。所以就有了lightGBM和xgboost.二:

2021-12-31 17:33:51 1605

原创 youtube的深度学习推荐系统模型

首先:本文来自于王喆老师的《深度学习推荐系统》一书,很不错,推荐大家去看看一:推荐系统的应用场景作为全球最大的视频分享网站,youtube平台中几乎所有的视频都来自于ugc,这样的内容产生模式有两个特点。(1)商业模式不同,netfix和国内的爱奇艺等流媒体他们的大部分内容都是采购或者自制的电影,剧集等头部内容,youtobe内容的头部效应没这么严重(2)youtube的用户基数巨大,用户很难发现喜欢的内容YouTube视频内容的特点使得推荐系统的作用比其他流媒体重要得多,除此之外,YouTube

2021-12-14 21:34:16 1632

原创 集成学习小结

1,集成学习概述集成方法是由多个较弱的模型集成模型组,一般的弱分类器可以是DT, SVM, NN, KNN等构成。其中的模型可以单独进行训练,并且它们的预测能以某种方式结合起来去做出一个总体预测。该算法主要的问题是要找出哪些较弱的模型可以结合起来,以及如何结合的方法。这是一个非常强大的技术集,因此广受欢迎。所以,集成学习面临着两个主要问题,一是如何通过学习得到多个基学习器,二是如何选择一种结合策略,将多个基学习器组合成一个强学习器。集成学习的基学习器一般来说有两种,一种是同类的,一种是不同类的,如g

2021-12-12 14:43:04 781

原创 随机森林--Bagging算法的典型代表

一:Bootstrap方法简介简称自助法,是一种有放回的抽样方法,他是非参数统计中一种重要的方法,通过估计样本方差,进而对总体的分布特性进行统计推断。首先,Bootstrap通过重抽样(通过boostrap 采样法,初始训练集中约有63.2%的样本出现在采样集中),避免了Cross-Validation造成的样本减少问题,其次,Bootstrap也可以创造数据的随机性**。Bootstrap是一种有放回的重复抽样方法,抽样策略就是简单的随机抽样。**采样步骤:1,采用有放回的抽样的方式从原始样本中抽取

2021-12-10 20:24:25 2348

原创 Grapy Embedding--更多结构信息的图嵌入技术

一:Graph Embeding 出现的原因word2vec 和其衍生的Item2vec做为一种embedding技术的基础性方法,都是建立在序列样本(词序列,用户行为序列)基础之上的。但是在互联网背景下,数据对象之间更多的是以图结构的方式呈现的,典型的例子就是由用户行为序列产生的物品关系图,以及由属性和实体之间组成的知识图谱(knowledge graph).在面对图结构时候,传统的序列embedding方法就显得力不从心了,因此graph embedding 就成了最新的研究方向。二:Graph E

2021-12-09 17:28:02 1007

原创 广义item2vec的典型例子----双塔模型

一: DSSM模型理论知识1. DSSM模型的原理DSSM(Deep Structured Semantic Models)也叫深度语义匹配模型,最早是微软发表的一篇应用于NLP领域中计算语义相似度任务的文章。DSSM深度语义匹配模型原理很简单:获取搜索引擎中的用户搜索query和doc的海量曝光和点击日志数据,训练阶段分别用复杂的深度学习网络构建query侧特征的query embedding和doc侧特征的doc embedding,线上infer时通过计算两个语义向量的cos距离来表示语义相似

2021-12-08 12:08:48 1465

原创 item2vec--word2vec在推荐领域的使用

一:绪论在word2vec诞生以后,embedding的思想迅速从自然语言处理领域扩大到各个领域,推荐系统也不例外,既然word2vec可以对词序列中的词进行embedding,那么也可以对用户购买序列中的一个商品也应该存在相应的embedding方法,与 Word2Vec 对应,这种方法被称为 Item2Vec,代表论文是微软研究人员在 2016 年发表《Item2Vec: Neural Item Embedding for Collaborative Filtering》。论文把 Word2vec 的

2021-12-05 15:29:03 1273

原创 pca原理--主成分分析

一:数学基础1.1 内积两个向量的 A 和 B 内积我们知道形式是这样的:内积运算将两个向量映射为实数,其计算方式非常容易理解,但我们无法看出其物理含义。接下来我们从几何角度来分析,为了简单起见,我们假设 A 和 B 均为二维向量,则:其几何表示如下:我们可以看到A向量到B向量的内积就等于A向量到B向量的投影长度乘以B向量的模。如果B向量的模等于等于1,即|B| = 1,则有A*B = |A|COS(α)也就是说,A 与 B 的内积值等于 A 向 B 所在直线投影的标量大小。1.2 基

2021-11-30 20:59:18 2401

原创 特征工程之特征预处理

特征预处理主要包括以下几个方面的内容,第一,特征的归一化和标准化,第二:异常特征样本的清洗,第三:样本数据不平衡问题处理。1,特征的标准化和归一化(1):z-score标准化:这是用的最多的特征预处理方法,基本上所有的线性模型在拟合目标函数的时候都会采用该方法来做特征预处理,具体做法是求出样本特征x的均值mean和标准差std,然后用mean\std来代原来的特征。这样特征就变成了均值为0,方差为1.在sklearn中,我们可以用StandardScaler来做z-score标准化。当然,如果我们是用p

2021-11-27 23:18:12 591

原创 特征工程之特征表达

对某个特征的具体表现形式做处理,主要包括一下几个方面,一是缺失值处理,二是特殊特征处理(例如地理位置),三是离散特征连续化处理和离散化处理,四是连续特征的离散化处理。1,缺失值处理对于缺失特征处理,我们首先要判断该特征是连续型特征还是离散型特征,如果是连续性特征,我们一般使用该特征的全部样本,取平均值来进行填充。如果是离散型特征,就用特征样本中出现频率最多的值来进行填充。在sklearn中,可以使用preprocessing.Imputer来选择这三种不同的处理逻辑做预处理。2,特殊特征处理 有些特

2021-11-27 18:01:38 154

原创 word2vec原理

首先声明,本文源自于刘建平老师的博客,原文写的非常好,在此结合鄙人的项目经验和大家分享。word2vec原理(一) CBOW与Skip-Gram模型基础一:词向量基础word2vec是谷歌于2013年提出的一个nlp工具,他的特点就是将词向量化,这样,词与词之间就可以定量的去度量他们之间的相互关系,发掘词之间的联系,用词向量来表示词并不是word2vec的首创,很早之前就出现了,最早的词向量是很冗长的,它使用词向量的维度来表示词汇表的大小,对于词汇表中的某个具体词,他的对应位置为1,比如我们有下面的5

2021-11-27 16:03:32 3884

原创 特征工程之特征选择

一:特征来源在实际项目中,特征的来源主要有两个,一个是业务已经整理好的特征数据,另一个是根据业务特征进行进一步挖掘产生的高级特征数据。二:特征选择方法我们的业务特征可能会有成千上万的维度,但我们在进行特征降维之前,我们有必要使用特征工程方法选择出重要的合适的特征,这些方法并不涉及领域知识,更多的是统计学方法。例如方差筛选方法,方差越大的特征,对我们来说就是越重要的特征,相反如果方差较小,比如小于1,那么这个特征对算法的作用就可能没那么大,极端的,某个特征的方差接近于0的时候,即所有样本的该特征取值基本

2021-11-27 11:33:10 396

原创 DIEN-序列模型与推荐系统的结合

一:DIEN的进化动机1,序列信息加强了最近行为对下次行为预测的影响。2,序列模型能够学习到购买趋势的信息如果放弃了序列信息,则模型学习时间和趋势这类信息的能力就会变弱,推荐模型就仍是基于用户所有购买历史的综合推荐,而不是针对下一次购买的推荐,显然从业务角度讲,后者才是推荐系统真正的目标。二:DIEN的模型结构从整体上看,模型仍然是输入层+embedding层+链接层+全链接神经网络层+输出层。...

2021-11-12 17:32:46 1276

转载 AFM模型

转载自该文章

2021-11-07 21:38:03 107

原创 NFM--FM的神经网络化尝试

一:绪论:我们都知道,无论是FM还是FMM,归根到底是一个二阶特征交叉的模型。受到组合爆炸问题的困扰,FM几乎不可能扩大到三阶以上,这就不可避免的限制了FM的表达能力(不管是一阶特征还是两辆组合的二阶特征,本质上都是线性模型,同时高阶特征对于FM模型来说,训练复杂度过高),而深度神经网络理论上可以拟合任意复杂函数,且特征表达能力强,因此可以尝试用深度神经网络去拟合FM中的二阶向量内积部分。于是就有了NFM。...

2021-11-04 23:02:53 1099

原创 DeepFM--用FM代替wide部分

一:DeepFM算法的提出由于deepFM算法结合了因子分解机和深度神经网络算法在特征学习中的优点:同时提取到了底阶组合特征和高阶组合特征,所以被广泛利用。在DeepFM算法中,FM算法负责一阶特征和由一阶特征两两组合而成的二阶特征进行特征提取,DNN算法负责对输入的一阶特征进行全链接操作而形成的高阶特征进行特征抽取。具有以下特点:1,结合了广度和深度模型的优点,联合训练FM和DNN模型,同时学习低阶特征组合和高阶特征组合。2,端到端模型,无需特征工程3,FM模块和DNN模块共享相同的输入和Em

2021-11-04 17:01:28 270

原创 FM与深度学习模型的结合--FNN

一:FNN–用FM的隐向量完成Embedding层的初始化。1,提出背景:(1)基于FM的特征组合受到计算复杂度的影响因而只能进行二阶特征交叉,但当面对海量高度稀疏的用户行为反馈数据时,二阶交叉是明显不够的,三阶,四阶甚至更高阶的特征组合交叉才能进一步提高模型的学习能力,如何能在引入更高阶的同时,又能将计算复杂度控制在一定范围之内,Dnn就是答案。(2)在神经网络的初始化过程中,往往采用随机初始化这种不含任何先验信息的初始化方式,由于Embedding层的输入极端稀疏,再加上Embedding的参数数

2021-11-03 17:55:10 974

原创 Wide&Deep模型

一:wide&deep正如其名字一样,模型是由单层的wide部分和多层的Deep部分组成的混合模型,其中wide部分主要作用是让模型具有较强的记忆能力,deep部分主要是让模型具有较强的泛化能力。这样的结构特点,使模型同时具有了逻辑回归和Dnn的优点–能够快速处理并记忆大量历史行为特征,并具有强大的表达能力。二:记忆能力与泛化能力(1)记忆能力记忆能力可以被理解为模型直接学习并利用历史数据中物品或特征的 ‘共现频率’的能力。例如逻辑回归和系统过滤等模型就具体较强的记忆能力。由于这类模型结构简

2021-11-02 22:33:49 917

原创 PNN模型及其变体

一:绪论1,这么是pnn相对于前面我们讲的deep crossing 模型而言,pnn模型在输入层,embedding层,多层神经网络,输出层等并没有结构上的变化,唯一的区别在于pnn用乘积层(product layer)代替了原来的stacking layer,也就是说embedding后的向量不再是通过简单的拼接而成,而是通过product 操作进行两两交互,更有针对性的获取特征交叉信息。其次,相对于NCF 模型固定的用户-物品特征向量输入而言,pnn模型输入引入了多组特征向量,那么也就要求特征向量

2021-11-01 17:39:27 1690

原创 NeuralCF模型--CF与深度学习的结合

1. 简介NCF是协同过滤在神经网络上的实现——神经网络协同过滤。由新加坡国立大学与2017年提出。从深度学习的角度视角来看看待矩阵分解模型,那么矩阵分解层的用户隐向量和物品隐向量完全可以看做是一种Embedding方法。最终的scoring层就是将两种隐向量进行内积操作后所得到的的相似度矩阵分解得到低维隐向量求内积是线性的,并且矩阵分解的模型结构较为简单,特别是Scoring层,无法对优化目标进行有效的拟合。而神经网络模型能带来非线性的效果,NeuralCF采用“多层神经网络+输出层”的结构代替了

2021-10-30 00:01:20 708

转载 详解softmax函数以及相关求导过程

在参考了王喆老师的《深度学习推荐系统》之后,作者借鉴了哈工大博士相关文章,写的非常好,直接转载阅读即可,为表感谢,在此处注明原文链接

2021-10-29 22:58:14 164

原创 Deep crossing模型及tensorflow实现

一:绪论1 ,概念:Deep crossing 模型是微软于2016年提出的一个深度学习架构在推荐系统完整应用的模型。相比于与Autorec相对简单的模型结构带来的表征能力的不足,Deep crossing 模型完整的解决了从特征方程,稀疏向量稠密化,多层神经网络进行优化目标拟合等一系列深度学习在推荐系统中的应用问题。2,应用场景Deeping crossing 模型应用场景主要是微软的搜索引擎Bing中的广告推荐场景,其拟合目标是尽可能的增加搜索广告的点击率,准确的预测广告的点击率,并以此作为广告

2021-10-29 17:45:06 359

原创 常见的激活函数

概论:学习神经网络的时候我们总是听到激活函数这个词,而且很多资料都会提到常用的激活函数,比如Sigmoid函数、tanh函数、Relu函数。那么我们就来详细了解下激活函数方方面面的知识。本文的内容包括几个部分:什么是激活函数?激活函数的用途(为什么需要激活函数)?有哪些激活函数,都有什么性质和特点?应用中如何选择合适的激活函数?1:什么是激活函数神经网络中的每个神经元节点接受上一层神经元的输出值作为本神经元的输入值,并将输入值传递给下一层,输入层神经元节点会将输入属性值直接传递给下一层(隐层或

2021-10-20 01:04:55 1147

原创 DNN的反向传播算法

一:DNN的反向传播算法我们在监督学习中的一般问题是,假设我们有m个训练样本,{(x1,y1),(x2,y2),…,(xm,ym)},其中x是输入维度,输入特征维度为n_in,y为输出向量,输出的特征唯独为n_out,.我们需要利用这m个训练样本训练出一个模型,以便于在一个新的输入向量输入后,经过模型计算,可以预测y向量的输出。那么在Dnn中,我们使输入层有n_in个输入神经元,输出层有n_out个神经元。再加上若干个隐藏层神经元,此时我们需要找到适合所有隐藏层和输出层的线性权重系数矩阵W和偏置b,让所

2021-10-19 23:42:23 773

原创 深度神经网络模型(DNN)与前向传播过程

一:从感知机到神经网络感知机模型由若干个输入和一个输出组成,模型如下:输入和输出之间呈线性关系,得到输出结果接着是一个神经元激活函数(符号函数):最终得到输出结果1或者-1,也就是分类结果。神经网络模型则在感知机模型的基础之上做了扩张,总结为以下三点:1,增加了隐层,也就是输入和输出之间的层,隐层可以有很多层,增加了隐层的好处就是模型的表征能力增强,如下图,当然隐层的增加同时也会带来计算复杂度的增加。2,输出层的神经元可以不止一个。可以有多个输出。这样模型可以灵活的处理分类和回归的问题

2021-10-16 00:02:22 1274

原创 感知器算法

前言:其实作者之前一直没怎么重视过感知器算法,只是在很早以前学习Dnn时,一笔带过,直到最近,看了一篇大神的文章,深有启发,这里结合作者自己所用所学,对感知器算法进行一次系统的阐述。感知器算法最早于1957年作为一种分类算法提出,是最古老的分类算法,虽然其泛化能力不强,与当今普遍使用模型相比,其分类任务做的并不是很多。但是,最为一种原始的分类算法,我们有必要研究其模型架构,模型推导,模型学习过程等等。同时,按照刘建平老师的提示,感知器的学习,对支持向量机有莫大的帮助。在看完刘老师的文章后,作者发现,确实如

2021-10-13 23:43:45 4127

原创 推荐系统中的AutoRec

一:前言笔者最近在总结推荐系统主流模型,从十多年前的经典的协同过滤算法开始,一直到现有的各大企业所用的推荐模型,笔者一直在思考一个问题,那就是神经网络在计算机领域内的大热,是如何承上启下,承接传统MF,CF算法,又是如何连接到最新的各种模型,创造散发出各大模型的呢。原则上讲,很多读者跟笔者一样,肯定很早就研究过AutoRec,但我们应该考虑的是,在澳大利亚国立大学提出著名的《AutoRec: Autoencoders Meet Collaborative Filtering》之前,我们应该如何思考解决这个

2021-10-11 17:47:50 479

原创 GBDT总结

一:声明本文基本转自刘建平先生的该篇文章,原文写的很好,读者可以去看看。本文中,作者将根据自己实际项目和所学结合该文章,阐述自己的观点和看法。二:GBDT概述GBDT也是集成学习Boosting家族的成员,但是却和传统的Adaboost有很大的不同。回顾下Adaboost,我们是利用前一轮迭代弱学习器的误差率来更新训练集的权重,这样一轮轮的迭代下去。GBDT也是迭代,使用了前向分布算法,但是弱学习器限定了只能使用CART回归树模型,同时迭代思路和Adaboost也有所不同。在GBDT的迭代中,假设我

2021-10-06 23:23:58 479

原创 推荐系统中的GBDT+LR

一:GBDT模型(Gradient Boosting Decision Tree)前言:在研究GBDT模型之前,我们需要知道什么是提升树算法,回归问题的提升树为什么要拟合当前模型的残差,模型的大致训练过程,为什么可以将损失函数负梯度在当前模型的值当成残差近似值,等等,详情可以看笔者这篇文章,该文章也有不足之处,例如在阐述GBDT的实现步骤时没有提及损失函数等,笔者将在本文中进行具体阐述。  前面介绍的协同过滤和矩阵分解存在的劣势就是仅利用了用户与物品相互行为信息进行推荐,忽视了用户自身特征,物品自身特征

2021-10-01 15:50:29 404

原创 从FM到FFM--自动特征交叉的解决方案

一:特征交叉的由来–LR推荐模型的缺陷1,逻辑回归推荐模型出现的原因:矩阵分解的缺陷无法加入物品、用户、上下文信息等场景信息和补充策略,使得矩阵分解丧失了很多利用信息的机会,当缺乏用户和物品历史信息时无法进行有效推荐。2,逻辑回归模型的优势:该图大致介绍了逻辑回归模型的大致流程,这里不在详细描述。不懂的地方可以去看博主的该文章LR推荐模型的优势:很明显,LR模型就是为了避免矩阵分解模型因为无法利用上下文信息带来的信息损失问题。他能够综合利用用户、物品、上下文信息等多种特征,生成较为全面的推荐模型

2021-09-20 16:14:21 600

原创 梯度下降算法

(一)梯度下降的原理:梯度下降是一个一阶优化算法,又称为最速下降法。梯度下降法是最小化目标函数(假设为J(θ))的一种方法,其中θ为模型的参数,梯度下降法利用目标函数的梯度∇θJ(θ)的反方向来更新参数。学习率α 是指每次更新梯度时所指定的步长,η 的大小直接决定了函数最终会收敛于全局最小值还是局部最小值(待会儿笔者将详细介绍这里的最小值和极小值)。常见的梯度下降有三中形式,他们之间的区别在于计算目标函数梯度时用到多少数据。根据数据数量的不同,我们在参数更新的精度和更新过程的耗时不断权衡。(二)梯度下降

2021-09-11 16:19:27 5159

原创 bandit算法与推荐系统

导语首先声明,本文基本转载于陈开江先生的《Bandit 算法与推荐系统》一文,加上笔者自己的结合目前推荐项目的理解。不准确之处,愿诸君指正。拜谢。推荐系统中经常会遇到EE问题和冷启动问题,在笔者项目过程中,无可厚非的遇到了冷启动问题。对于这两个问题,前者涉及到了平衡准确和多样,后者涉及到了产品推荐算法和运营。bandit算法就是为解决这两个问题的一种在线学习算法。一:什么是bandits算法1.1:为选择而生原文中,作者阐述bandit 为为选择而生,笔者认为,bandit算法更准确的说是为选择困

2021-09-04 18:00:11 1071

原创 协同过滤的进化--矩阵分解算法(MF)

基础知识线性代数,机器学习,梯度下降解决的问题协同过滤处理稀疏矩阵的能力较弱;协同过滤中相似度矩阵维护难度大解决思路**引例:通过隐向量给每个用户与每首音乐打上标签

2021-09-02 17:24:41 2764

原创 协同过滤浅析

一:协同过滤概况1,概念:“协同”指的是和周围群体合作(共线矩阵),利用群体智慧(相似度),来发现与自己相似的用户。根据他们的喜好来过滤得到我们感兴趣的信息;或者根据自己使用过的物品的相似物品来产生推荐。这就是协同过滤的核心思想。2,目标场景:存在共线矩阵的情况下,进行点击率预测,评分预测。例如:3,相似度计算方式:...

2021-08-27 17:47:11 711 1

转载 TF-IDF与TextRank

这两个可以说自然语言处理当中比较经典的关键词提取算法,虽然简单,但是应用还是相当广泛,面试中被问起这两个,不能说清楚也是一件很尴尬的事情。废话不多说,直接开始。1. TF-IDF简介TF-IDF(Term Frequency/Inverse Document Frequency)是信息检索领域非常重要的搜索词重要性度量;用以衡量一个关键词w对于查询(Query,可看作文档)所能提供的信息。词频(Term Frequency, TF)表示关键词w在文档Di中出现的频率:其中,count(w)为关键词w

2021-08-20 19:59:50 777

空空如也

空空如也

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

TA关注的人

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