- 博客(25)
- 收藏
- 关注
原创 一文读懂扩散模型,DDPM原理+代码解读
扩散模型:和其他生成模型一样,实现从噪声(采样自标准正态分布)生成目标数据样本。扩散模型包括两个过程:前向过程(forward process)和反向过程(reverse process),其中前向过程又称为扩散过程(diffusion process)。无论是前向过程还是反向过程都是一个参数化的马尔可夫链(Markov chain),其中反向过程可用于生成数据样本(它的作用类似GAN中的生成器,只不过GAN生成器会有维度变化,而DDPM的反向过程没有维度变化)。
2023-04-21 10:41:55 8742
原创 L1 L2正则化原理-算法岗面试必问
正则化定义正则化(Regularization)是机器学习中一种常用的技术,其主要目的是控制模型复杂度,减小过拟合。最基本的正则化方法是在原目标(代价)函数 中添加惩罚项,对复杂度高的模型进行“惩罚”正则化之基于约束优化对于模型权重系数www求解是通过最小化目标函数实现的,即求解:minwJ(w,X,y)\mathop{min}\limits_w J(w,X,y)wminJ(w,X,y)随着训练进行,模型复杂度会增加,可能会导致过拟合,为了限制模型复杂度,提出正则化。因此,为了限制模型的复杂度
2021-09-04 15:46:53 228
原创 偏差和方差详解
偏差与方差的含义引入概念训练集 DDD,首先我们需要理解,首先方差是针对不同期望预测,学习算法的预测误差(泛化误差)可以被分解为偏差和方差和噪声的和。Bias的对象是单个模型,是期望输出与真实标记的差别。它描述了模型对本训练集的拟合程度。Var是...
2021-08-24 18:31:06 434
原创 阿里入门推荐系统新闻推荐学习记录
赛题理解数据:用户点击日志数据新闻的embedding向量数据36万篇文章,20万用户目的:预测用户未来的点击因此, 将日志中最后一次点击作为预测结果,历史点击作为训练数据。数据分析训练集里面每个用户至少点击了两篇文章多路召回ItemCF首先生成一个用户->点击文章列表的字典,用户为key,点击文章列表为value对每个用户,对其点击列表进行遍历:如果两个文章同时出现在这个列表,则计数加一,最后每两个文章A,B之间的相似性为:count(A,B)count(A).
2021-08-18 10:57:52 79
原创 阿里DIN原理
DIN提出的背景在广告推荐中,广告分为很多种类,用户的历史行为中可能有很大一部分和这个candidate的种类毫不相干DIN原理为了尽可能关注和当前candidate相关的历史行为,DIN引入attention机制。在每个历史行为商品进入池化层之前,先用一个Activation Unit对其进行激活,及计算并赋予一个权重,用于控制该商品对后续预测的影响。activation unitactivation Unit是通过神经网络来实现的,最终给出一个类似于相似性的值,这个模块会和DIN一起训练。
2021-08-08 21:20:06 109
原创 FM与DeepFM,FFM详解
FM(因子分解机)优点:能在稀疏特征情况下有很好的表现时间复杂度O(n)在推荐场景使用one-hot编码会导致稀疏特征FM背景线性回归:Y=WTXY=W^{T}XY=WTX 只有一次项,但是一次项有时候效果不好,尤其是在特别稀疏的场景当中,刻画能力不够。如果加入二次项:y^=w0+∑wixi+∑∑wijxixj\hat{y}=w_0+\sum{w_i}x_i+\sum\sum{w_{ij}x_ix_j}y^=w0+∑wixi+∑∑wijxixj这里两两特征组合的特征量级
2021-08-08 20:56:15 519
原创 YoutubeDNN详解
YoutubeDNN背景Youtube2016年发表的深度推荐系统论文《Deep Neural Networks for YouTube Recommendations》,这篇文章是工程向导的。算法的整体架构也是召回➕精排召回部分从图中看出在网络结构方面YoutubeDNN并没有做什么创新,他的创新点在于:架构图的左上角,为了加快召回的速度,根据User embedding和item imbedding使用nearest neighbor search 的方法召回在softmax采用负采样
2021-08-08 20:35:38 1955
原创 GBDT原理以及与XGBoost,LightGBM的详细对比
梯度提升算法(Gradient Boosting)基本原理:根据当前模型损失函数的负梯度信息来训练新加入的弱分类器,然后将训练好的弱分类器以累加的形式结合到现有模型中。GBDTGBDT就是以决策树CART为弱分类器的梯度提升算法算法过程:给定训练集T={(x1,y1),(x2,y2),...,(xN,yN)}T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\}T={(x1,y1),(x2,y2),...,(xN,yN)}初始化第一个弱学习器F0(x)F_0(
2021-08-08 12:04:15 633
原创 详解梯度消失和梯度爆炸以及解决方案
产生原因从深度网络角度理解梯度消失和爆炸产生的原因以上图的三层神经网络为例,可以将其视为一个非线性多层复合函数f=f3(f2(f1(x)))f=f_3(f_2(f_1(x)))f=f3(f2(f1(x)))如果后层计算出的梯度大于1,经过层层传递,则梯度传到了前部则梯度会呈现指数增长,即梯度爆炸,相反如果后层计算出的梯度小于1,则梯度传到了前部则梯度会呈现指数衰减,即梯度消失。从激活函数角度理解梯度消失和爆炸产生的原因Sigmoid函数的一阶导数是恒小于等于0.25的且在大部分取值范
2021-07-04 17:40:11 403
原创 GAN的原理详解
生成对抗网络GAN由两个部分组成:生成器(Generator)和判别器(Discrimenator)两个部分都使用神经网络实现,Generator的目的是生成Discrimenator分辨不出的fake data,而Discrimenator的目的是尽可能的分辨出fake data。GAN的训练:设D(x)D(x)D(x)表示一个样本x来自真实数据的概率,则Discrimenator的目标函数可写为:max(Ex∈realD(x)+Ex∈fake(1−D(x)))max(E_{x\in rea
2021-06-20 21:11:36 1254
原创 变分自编码器原理详解
变分自编码器基本思想:VAE在2013年提出,假设数据xix_ixi是由一个随机过程产生的,该随机过程分为两步:由先验分布Pθ∗(z)P_{\theta^*}(z)Pθ∗(z)产生隐变量ziz_izi,再由条件分布Pθ∗(x∣zi)P_{\theta^*}(x|z_i)Pθ∗(x∣zi)产生数据xix_ixi。Pθ(xi)P_{\theta}(x_i)Pθ(xi)可以表示为:Pθ(xi)=∫Pθ(xi∣z)pθ(z)dz P_{\theta}(x_i)=\int P_{\th
2021-06-20 16:46:11 693
原创 决策树算法原理,剪枝详解
背景决策树是一种可以用于分类和回归任务的算法。它可以被认为是一个if-then规则的集合。本博客主要介绍三种决策树模型:ID3,C4.5,CART决策树由两种类型的节点构成:内部节点代表特征,叶结点代表一个类或者一个回归值。原理特征选择直观上,需要选择分类能力好的特征,信息增益能够很好的表示这一只管准则。信息增益熵熵(entropy)是表示随机变量不确定性的度量,设X是一个离散随机变量,概率分布为P(X=xi)=pi,i=1,2,...,nP(X=x_i)=p_i, i=1,2,...,
2021-06-19 20:12:59 332
原创 最全深度学习激活函数详解
为什么使用激活函数当我们不用激活函数时,权重和偏差只会进行线性变换。线性方程很简单,但解决复杂问题的能力有限。没有激活函数的神经网络实质上只是一个线性回归模型。Relu (Rectified linear unit)输出范围: [0,+∞]公式:y={x,x>00,x<=0 y=\left\{\begin{aligned}x , x>0 \\0 , x<=0\\\end{aligned}\right.y={x,x>00,x<=0Sigmiod
2021-06-05 21:51:24 231
原创 基于领域的协同过滤和隐语义模型
基于领域的协同过滤UserCF:需要找到和他行为相似的用户,给他推荐那些用户喜欢的东西ItemCF:需要给他推荐和他已经使用过的物品相似的物品隐语义模型:还有一种方法,对物品进行分类,给他推荐他喜欢的分类里的其他物品UserCF步骤:找到和目标用户兴趣相似的用户集合找到这个集合中用户喜欢的,且目标用户未使用的物品集合步骤1的关键就是计算用户之间相似性,给定用户uuu,vvv,令N(u)N(u)N(u)表示用户曾经有正反馈的物品,可用Jaccard公式计算:wuv=∣N(u)⋂N
2021-06-05 21:49:59 180
原创 最全深度学习优化器详解
优化器BGD每次用整个批次的数据来计算梯度:θ=θ−η▽θL\theta = \theta -\eta \triangledown_\theta Lθ=θ−η▽θLfor i in range(nb_epochs): params_grad = evaluate_gradient(loss_function, data, params) params = params - learning_rate * params_gradMBGDMBGD 每一次利用一小批样本,即 n 个样本进行计算
2021-05-26 09:51:52 296
原创 最全朴素贝叶斯算法原理详解及python代码实现
背景朴素贝叶斯是一种分类算法,基于贝叶斯定理,是一种生成模型。补充:生成模型:学习得到联合概率分布P(x,y),即特征x和标记y共同出现的概率,然后求条件概率分布P(y|x),能够学习到数据生成的机制。分类方法中生成模型的代表就是朴素贝叶斯算法,参考 [此处]。(https://www.zhihu.com/question/20446337)优势:(1)生成给出的是联合分布,不仅能够由联合分布计算条件分布,还可以给出其他信息,比如可以使用来计算边缘分布。如果一个输入样本的边缘分布很小的话,那么可
2021-05-22 22:03:47 1674
原创 深度学习中Dropout原理详解
背景Dropout原文:Dropout: A Simple Way to Prevent Neural Networks from Overfitting 发表于2014年。提出Dropout的目的是为了解决深度神经网络中的如下问题:参数过多,训练速度慢过拟合Dropout关键思想:在训练过程中从神经网络中随机删除单元(及其连接),这样可以防止单元之间的相互适应过多。原理训练阶段:假设神经元被保留的概率为ppp,则在前向传播中,神经元以1−p1-p1−p概率被删除,并同时删除它的所有连
2021-05-19 10:40:17 501
原创 机器学习-最全LR逻辑回归原理以及python代码实现
简介逻辑回归是一种分类模型,多用于二分类,以下讨论二分类情况。逻辑回归是一种广义线性回归模型,它与传统线性回归的区别是,传统线性回归直接将wx+bwx+bwx+b作为因变量,而逻辑回归将wx+bwx+bwx+b用Sigmoid后激活的值作为因变量,可以将线性函数转化为概率:P(y=1∣x)=11+exp[−(wx+b)](1) P(y=1|x)=\frac{1}{1+exp[-(wx+b)]} \qquad (1)P(y=1∣x)=1+exp[−(wx+b)]1(1)即P(y=1∣x)=exp(
2021-05-18 16:43:04 587
原创 深度学习中BN(Batch Normalization)的原理详解
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码
2021-05-02 16:02:36 1743
原创 最全PR曲线、ROC曲线以及AUC计算公式详解
评价指标系列PR曲线查准率和查全率PR曲线绘制ROC曲线TPR,FPR插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入PR曲线AUC就是衡量学习器优劣的一种性能指标。从定义可知,AUC可通过对ROC曲线下各部分的面积求和而得。查准率和查全率查准率,表示所有被预测为正类的样本(TP+F
2021-04-19 15:20:23 8823 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人