自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 KL散度与交叉熵

三者的关系2. KL散度=交叉熵-熵3. 熵:可以表示一个事件A的自信息量,也就是A包含多少信息。4. KL散度:可以用来表示从事件A的角度来看,事件B有多大不同,适用于衡量事件A,B之间的差异。5. 交叉滴:可以用来表示从事件A的角度来看,如何描述事件B,适用于衡量不同事件B之间的差异6. 对于不同的事件B,计算事件AB的KL散度时都同时减去事件A的熵(KL散度=交叉熵-熵(A)),因此,如果只是比较不同B事件之间的差异,计算交叉熵和计算KL散度是等价的。7. 交叉熵、KL散度都不具备对称性.

2021-08-18 13:55:15 727 1

原创 优化方法 Momentum,AdaGrad,RMSProp,Adam

一、 Momentum如下图图 a 所示,当一个维度比另一个维度下降地明显更加急促时(经常是局部最优点),朴素 SGD 容易存在收敛极慢的问题。momentum(动量)的引入可以直观地较好处理这个问题,其在计算当前时刻的更新向量vt 时,引入了上一次更新向量 vt-1,具体如下:γ一般为0.9二、Adagrad注意是逐个元素应用,所以可以使每个参数的学习率不同从上图可以看出,随着迭代的增加,我们的学习率是在逐渐变小的,这在“直观上”是正确的:当我们越接近最优解时,函数的“坡度”会越平缓

2021-08-18 10:34:27 858

原创 准确率(accuracy)、召唤率(recall)和精确率(precision)、ROC,AUC

准确率(accuracy)、召唤率(recall)和精确率(precision)一、概述召回率、准确率、精确率、F值的作用:在机器学习、数据挖掘、推荐系统完成建模之后,需要对模型的效果做评价。二、定义首先给出一个大家经常见到的图:混淆矩阵假正:实际——负例假负:实际——正例详细定义1.准确率(accuracy)=(TP+TN)/(TP+FN+FP+TN) 【正确的/总的】通俗解释: 在所有样本中,预测正确的概率2. 精确率(precision)=TP/(TP+FP) 【真正/

2021-08-18 10:14:44 5918

原创 机器学习算法——Kmeans

1.k-mean算法的原理1、选取K个点做为初始聚集的簇心2、分别计算每个样本点到K个簇核心的距离(这里的距离一般取欧氏距离或余弦距离),找到离该点最近的簇核心,将它归属到对应的簇3、所有点都归属到簇之后,M个点就分为了K个簇。之后重新计算每个簇的重心(平均距离中心),将其定为新的“簇核心”;4、反复迭代2-3步骤,直到达到某个中止条件。直到质心不再改变2.聚类算法聚类算法:是一种典型的无监督学习算法,主要用于将相似的样本自动归到一个类别中。聚类算法与分类算法最大的区别是:聚类算法是无监督的

2021-08-17 16:32:59 1367

原创 推荐系统相关

1.如何做多路召回目前工业界的推荐系统,在召回阶段,一般都采取多路召回策略。上图展示了一个简化版本的例子,以微博信息流排序为例,不同业务召回路数不太一样,但是常用的召回策略,基本都会包含,比如兴趣标签,兴趣Topic,兴趣实体,协同过滤,热门,相同地域等,多者几十路召回,少者也有7/8路召回。对于每一路召回,会拉回K条相关物料,这个K值是个超参,需要通过线上AB测试来确定合理的取值范围。如果你对算法敏感的话,会发现这里有个潜在的问题:1.如果召回路数太多,对应的超参就多,这些超参组合空间很大,如何

2021-08-16 00:36:41 83

原创 代码随记(一)

1.如果要导出训练好的模型tf.keras.models.save_model(model,"./mycode/Rank/models/deepfm/001/") # 保存model=tf.keras.models.load_model(’./mycode/Rank/models/deepfm/001/’) # 加载

2021-08-16 00:36:22 70

原创 FM模型、FFM模型

一、FMFM部分,我们又可以将其拆分为一阶线性加和部分与二阶特征交叉部分。FM二阶特征交叉部分。可以看出,实现FM二阶特征交叉部分,只需两个操作项,第一项“和平方”,第二项“平方和”。随机梯度下降SGD进行求解:优点:1.在大规模稀疏特征应用环境下比较好用、它的泛化能力强2.复杂度降到线性它可以通过数学公式改写,把表面貌似是 kn*2 的复杂度降低到 kn,其中n是特征数量,k是特征的embedding size,这样就将FM模型改成了和LR类似和特征数量n成线性规模的时间复杂度了

2021-08-16 00:35:53 645

原创 DeepFM、xDeepFM

可以看到,整个模型大体分为两部分:FM(左边)和DNN(右边)。FM Layer负责提取Wide特征,DNN部分(上图中的Hidden Layer 部分)提取deep特征,注意FM Layer 和Hidden Layer 共享输入层(Dense Embedding 层, 这个Embedding层得权重矩阵就是FM算法中的辅助矩阵V) 最后将两部分特征拼接到一起输出,这样该模型就具有学习高阶和低阶特征的能力。模型大概的流程如下:1.首先利用FM进行embedding得到Dense Embeddings.

2021-08-16 00:35:13 853

原创 BERT、Elmo、GPT

解决问题:“机器如何看懂人类的文字,如何把文字输入电脑”一、发展历史1.1 of n encoding每一个词有一个独特编码,词于词之间没有任何关联(欧氏距离一样)2.word class给词分类,但太粗糙了。每个class里仍有1.中的问题(欧式距离相同)3.word embedding每个词汇用一个向量表示,向量中的每一个维度表示某个特性。(用上下文完成训练)同一个type,同一个embedding但对于**【一词多义】(不同的token(含义),同一个type(字形))**,仍用

2021-08-14 20:02:05 260

原创 随机森林和GBDT

1. Random ForestRandom Forest(随机森林),用随机的方式建立一个森林。RF 算法由很多决策树组成,每一棵决策树之间没有关联。建立完森林后,当有新样本进入时,每棵决策树都会分别进行判断,然后基于投票法给出分类结果。1.1 思想Random Forest(随机森林)是 Bagging 的扩展变体,它在以决策树为基学习器构建 Bagging 集成的基础上,进一步在决策树的训练过程中引入了随机特征选择,因此可以概括 RF 包括四个部分:随机选择样本(放回抽样);随机选择特征;

2021-08-13 16:30:05 1713

原创 从反向传播推导到梯度消失and爆炸的原因及解决方案(从DNN到RNN)

梯度消失,爆炸产生原因:求和操作其实不影响,主要是是看乘法操作就可以说明问题所以,总结一下,为什么会发生梯度爆炸和消失:本质上是因为神经网络的更新方法,梯度消失是因为反向传播过程中对梯度的求解会产生sigmoid导数和参数的连乘,sigmoid导数的最大值为0.25,权重一般初始都在0,1之间,乘积小于1,多层的话就会有多个小于1的值连乘,导致靠近输入层的梯度几乎为0,得不到更新。梯度爆炸是也是同样的原因,只是如果初始权重大于1,或者更大一些,多个大于1的值连乘,将会很大或溢出,导致梯度更新过

2021-08-08 22:15:56 1102 1

原创 GBDT与XGBoost与LightGBM

1. XGBoost与GBDT的区别GBDT:它是一种基于boosting增强策略的加法模型,训练的时候采用前向贪心算法进行学习,每次迭代都学习一棵CART树来拟合之前 t-1 棵树的预测结果与训练样本真实值之间的残差。XGBoost:在GBDT基础上进行了一系列优化,比如损失函数采用了二阶泰勒展式、目标函数加入正则项、支持并行和缺失值自动处理等,但二者在核心思想上没有大的变化。相同点:生成树的核心思想及方法相同。不同点:1.基分类器:XGBoost的基分类器不仅支持CART决策树,还

2021-07-20 16:53:03 705

原创 决策树学习算法——ID3,C4.5,CART详解

一、决策树决策树的学习过程包括三个步骤:a)特征选择。不同的特征和预测目标具有不同强度的相关性,选择相关性最强的特征能够有效提高预测效果。b)节点分裂。训练集会在决策树中按照节点规则分流,如果 节点A 没办法给出一个满意的分类结果,那它就会选择分裂,分成 2 个或者多个节点。那么根据什么分裂呢?节点A 会用熵来判断用哪个特征分裂是最优的。c)剪枝。决策树不加限制地分裂容易产生过拟合现象,剪枝可以一定程度地缓解过拟合,提高泛化能力。决策树的学习算法有多种,常用的有:ID3,C4.5,CART。下面逐

2021-07-19 16:55:12 5143 4

原创 激活函数总结

一、引入激活函数的目的图1:带一层隐藏层的神经网络先看一个只含一层隐藏层的神经网络,如图1所示。输入为 n 条样本X,隐藏层H的权重和偏置分别为W_h,b_o,输出层O的权重和偏置分别为W_o,b_o。输出层的计算为:H=XW_h+b_h (1)O=HW_o+b_o (2)将(1),(2)联合起来可得:O=(XW_h+b_h)W_o+b_o=XW_hW_o+b_hW_o+b_o从(3)可以看出,虽然加入了隐藏层,但是还是等效于单层的神经网络:权重为 W_hW_o ,偏置为 b_hW_o+b_

2021-07-17 19:45:15 2193

原创 二叉树的递归思想

**1. 二叉树的最大深度**【递归】如果我们知道了左子树和右子树的最大深度 l 和 r,那么该二叉树的最大深度即为 max(l,r) + 1而左子树和右子树的最大深度又可以以同样的方式进行计算。class Solution: def maxDepth(self, root): if root is None: return 0 else: left_height = self.maxDepth(ro

2021-02-13 21:41:53 682 1

原创 树的遍历

**1. 二叉树的层序遍历**层序遍历就是逐层遍历树结构。【广度优先搜索算法】——适用:树或图,用途:遍历或搜索,“队列”的数据结构实现该算法从一个根节点开始,首先访问节点本身。 然后遍历它的相邻节点,其次遍历它的二级邻节点、三级邻节点,以此类推。思路:遍历顺序 = 出队列顺序 = 循环里node更新的顺序node = layer.popleft()cur_layer.append(node.val)【肯定会用到collections的 deque 的结构用来模拟队列】 Defin

2021-02-13 21:00:20 241 1

原创 Deep Learning 学习笔记(三)

1.deeper VS fatter结论一:deeper is better比较的时候,两边神经元总数应该相同结论二:deep learning 是模组化(modularization)思想的运用在这种思想下深度学习需要的training data 更少【复习:模组化】深度结构,后面的可以利用前面的结果结构化提高了复用率,单位神经元效率更高为了共享,所以要分层例子:影响分类不用分层时:分层时:深度学习中的模组化思想运用:深度学习的模组化是自动学习的结论三:深度学习是一

2021-02-02 21:38:16 104

原创 Deep Learning 学习笔记(二)

1.梯度消失 vanishing gradient problem根据backpropagation算法在学习效率不变的情况下,前面的层梯度小,后面的层梯度大;前面还在随机缓慢下降,后面已经收敛(converge)了是前面小的梯度导致了这个问题????改变input的值,他的影响是逐渐衰减的,因为sigmoid会压缩输出所以示实际问题中,通常采用ReLU和其衍生的激活函数作为中间层函数(layer wise training 逐层训练)2.ReLU(rectified linear uni

2021-01-29 17:04:36 305

原创 Deep learning 学习笔记(一)

1.深度网络是天然多层,但天然多层不一定是神经网络2.deep = many hiden layers3.层数越多,训练时间越长4.DL三步5.第一步:neural network(神经网络)这部分可以用gpu加速softmax :softmax逻辑回归模型是logistic回归模型在多分类问题上的推广,在多分类问题中,类标签y可以取两个以上的值。y值也会做softmax处理multi-class classifier:多分类器问题:1)多少层?每层多少nueron?经验+直

2021-01-24 00:23:51 136

原创 数学基础(一)向量范数

1.数学定义除了两个无穷范数以外,剩下的范数都是一个规律,即n范数就是一堆数字的n次方之和再开个n次方的根号;或者说,n范数就是一堆数字的n次方之和的n次方根。2.理解(物理意义)范数首先是一个函数。其次,范数表征了距离这个物理量,可以用于比较不同的向量。1-范数:即向量元素绝对值之和,x 到零点的曼哈顿距离2-范数:(1)x这个点与空间原点的距离,也相当于x这个向量的长度。(2)也用来计算两个点的欧氏距离。p-范数:即向量元素绝对值的p次方和的1/p次幂,表示x到零点的p阶闵氏距.

2020-12-27 14:02:29 8142

原创 LR模型相关知识点

@[TOC]LR模型相关知识点#1.LR归一化问题,什么情况可以不归一化,什么情况必须归一化,#2.为什么提到LR损失函数要能知道交叉熵,为什么是它,以它为损失函数在优化的是一个什么东西,知道它和KL散度以及相对熵的关系#3.提到LR的求解方法,比如SGD,知道SGD和BGD的区别,知道不同的GD方法有什么区别和联系,二阶优化算法知道什么,对比offline learning和online learning的区别#4.提到调参,知道模型不同超参数的含义,以及给定一个特定情况,大概要调整哪些参数,怎么

2020-12-27 12:50:37 814

空空如也

空空如也

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

TA关注的人

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