葫芦爷救娃娃
文章平均质量分 94
该专栏主要记录自己在学习过程中对机器学习、深度学习相关算法的介绍与理解,主要围绕统计机器学习、西瓜书、深度学习(花书)和百面机器学习以及网上的各种资料学习,旨在提高自己的同时也帮助大家更好的理解相关方法。
文章涉及到的转载与引用若存在侵权,请私信联系删除。
优惠券已抵扣
余额抵扣
还需支付
¥59.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
Marcus-Bao
这个作者很懒,什么都没留下…
展开
-
Pytorch自定义优化器Optimizer简单总结(附AdamW代码分析)
写在前面虽然pytorch,tensorflow等主流框架已经为我们内置了很多已经被广泛使用的优化算法,比如SGD,Adam,Adagrad等等,但是有的时候往往需要对优化器做一定的改动,才能使我们的模型收敛到最优解;或者说我们就是对SGD系列算法展开研究,发现了其中的问题并且提出了一个更好的优化器,如何把他封装到pytorch或者tensorflow里呢?让其可以简单的使用。本文就针对pytorch重载Optimizer进行简单的讲解,接下来的几篇还会逐步讲解,如何自己写cuda,如何自己定制back原创 2021-03-26 20:16:23 · 6140 阅读 · 2 评论 -
关于推荐系统的全面调研与探讨!千万别错过!
简单定义来说:推荐系统是一个信息过滤系统,根据用户的历史行为,社交关系,兴趣点,来判断用户当前感兴趣的物品和内容。其根据不同的目标定义,也会导致不同的推荐结果,从measure上来考虑,包括用户满意度,预测准确度,覆盖率,多样性,新颖性,精细度,实时性,内容时效性,内容质量,商业目标等等。1. 常用评测指标用户满意度:用户是推荐系统中非常重要的参与者,他们的满意度也直接决定了推荐系统的好坏.但是用户满意度这个指标无法离线计算,只能通过用户调查或者在线实验获得,一般都是线上行为统计,包括购买率(CV原创 2021-02-25 00:43:14 · 368 阅读 · 0 评论 -
知识图谱在推荐系统中的应用全面调研
超长文字预警… 本文是对《A Survey on Knowledge Graph-Based Recommender Systems》的简单总结,文章对近几年知识图谱在推荐系统中的应用做了较为详细的总结和讨论,希望可以给想要入坑的各位一点点启发。Introduction近几年,结合知识图谱和推荐系统的方向是一大热,知识图谱(KG)是一个异构图,其中节点作为实体,边表示实体之间的关系。Item及其属性可以映射到KG中,以了解item之间的相互关系[2]。此外,还可以将用户和用户侧信息集成到KG中,从..原创 2021-01-30 22:19:57 · 876 阅读 · 0 评论 -
最硬核的独立蒙特卡洛抽样法
写在前面本文首发于博主微信公众号:以及知乎:扫码关注可免费获取不定期分享!最硬核的独立蒙特卡洛抽样法蒙特卡洛法,也称为统计模拟方法,是通过从概率模型的随机抽样进行近似数值计算的方法。模拟是指把某一现实的或抽象的系统的某种特征或部分状态,用另一系统(称为模拟模型)来代替或模拟。为了解决某问题,把它变成一个概率模型的求解问题,然后产生符合模型的大量随机数,对产生的随机数进行分析从而求解问题, 这种方法叫做随机模拟方法,又称为蒙特卡洛(Monte Carlo)方法。较早的蒙特卡洛方法的变体应该是原创 2020-11-07 17:22:07 · 959 阅读 · 0 评论 -
浅谈大数定理和中心极限定理
极限定理极限定理是概率论的重要内容,也是数理统计学的基石之一。大数定律(大数定理)讨论的是概率论中讨论随机变量和的平均值的收敛情况,是数理统计学中参数估计的理论基础。中心极限定理,讨论的是概率论中随机变量和的分布以正态分布为极限的一组定理。中心极限定理是数理统计学和误差分析的理论基础,指出了大量随机变量近似服从正态分布的条件。大数定理大数定理,又称大数定律,是一种描述当实验次数很大的时候n→∞n\rightarrow \inftyn→∞所呈现的概率性质的定律。大数定律并不是经验规律,而是严格证明原创 2020-11-05 22:16:59 · 745 阅读 · 0 评论 -
微软automl工具包nni如何自定义Assessor?附实例讲解
最近需要炼丹,希望找到一个比较好的自动调参的工具,最后经过调研和尝试选择了微软最近发布的NNI (Neural Network Intelligence)。关于nni的quick start移步官网:nni总体来讲nni比较好用,支持pytorch、tf等,其可视化界面也及其美观,和tensorboard差不多。 借用 @范舒涵 的两张图总结:AssessorAssessor 从 Trial 中接收中间结果(也就是nni.report_intermediate_result一定要是自己用原创 2020-08-18 00:03:34 · 350 阅读 · 0 评论 -
最近邻搜索神器——一文读懂局部敏感哈希LSH原理
什么是LSH?LSH主要用来解决高维空间中点的近似最近邻搜索问题,即Approximate Nearest Neighbor(ANN)。在实际的应用中我们所面对的数据是海量的,并且有着很高的维度。在对数据的各种操作中,查询操作是最常见的一种,这里的查询是指输入一个数据,查找与其相似的数据,那么怎样快速从海量高维数据中找到与某个数据最相似的数据,成为了一个难点。传统的哈希算法通过哈希函数建立哈希表,由哈希表我们能够得到O(1)的查找时间性能,传统哈希算法的关键在于,找到合适的哈希函数,将原始数据映射到相原创 2020-07-07 23:00:05 · 973 阅读 · 0 评论 -
小白学变分推断(2)——变分推断改进
在上一篇系列文章小白学变分推断(1)——变分推断概述中,我们通过对ELBO引入条件概率公式,进一步化简得到:ELBO=Eq[log p(x∣z)]−KL(q(z)∣∣p(z))ELBO = E_q[log\ p(x|z)] - KL(q(z)||p(z))ELBO=Eq[log p(x∣z)]−KL(q(z)∣∣p(z))进而引入如下三个问题:如何通过随机梯度估计方法来求解后验分布qqq并提升 VI 方法的 scalability?如何引入复杂的近似后验分布q(z)原创 2020-06-24 22:57:07 · 574 阅读 · 0 评论 -
小白学变分推断(1)——变分推断概述
变分推断 (Variational Inference, VI)在概率机器学习问题中,其一个中心任务是在给定观测数据变量X的条件下,计算潜在变量Z的后验概率分布P(Z∣X)P(Z|X)P(Z∣X):[P(Z|X) = \frac{P(X,Z)}{p(X)}]但是这对于实际应用中的许多模型来说,分母的边缘概率密度p(X)p(X)p(X)往往是不好求得的(intractable)。比如,Z为...原创 2020-06-24 22:09:31 · 1933 阅读 · 1 评论 -
deeplearning.ai 改善深度神经网络(正则化、优化、mini-batch等)附代码作业答案
一、初始化1.为什么神经网络的所有参数不能全部初始化为0>?若w初始化为0 ,很可能导致模型失效,无法收敛。也就是说如果我们初始将所有的w初始化为0,那么进行前向传播时每一层得到的值都是一样,这样一来当我们使用反向传播时,传回的梯度也是一样的,这就导致了我们更新参数后w还是一样的,这就使得我们的NN不能各自学习到很好的特征了。可以看这里2.Xavier InitializationXavier Initialization 初始化的基本思想就是保持输入和输出的方差一致,这样就避免了所有的输出原创 2020-05-12 17:02:18 · 432 阅读 · 0 评论 -
简单谈谈神经网络中的梯度消失、爆炸原因及解决办法
为什么要使用梯度更新规则?我们先来简单说一下梯度小时的根源–深度神经网络和反向传播。目前深度学习方法中,深度神经网络的发展造就了我们可以构建更深层的网络完成更复杂的任务,深层网络比如深度卷积网络,LSTM等等,而且最终结果表明,在处理复杂任务上,深度网络比浅层的网络具有更好的效果。但是,目前优化神经网络的方法都是基于反向传播的思想,即根据损失函数计算的误差通过梯度反向传播的方式,指导深度网络权值的更新优化。这样做是有一定原因的,首先,深层网络由许多非线性层堆叠而来,每一层非线性层都可以视为是一个非线性原创 2020-05-09 21:05:22 · 697 阅读 · 0 评论 -
简单聊聊Long Short Term Memory Network (LSTM)和 Gated Recurrent Unit (GRU)两种强大的RNN变体
上一篇关于RNN的文章最后,我们提到过由于梯度消失和梯度爆炸问题,使得RNN很难处理长距离的依赖。本文我们介绍两种改进后的RNN:LSTM(Long Short Term Memory Network)和Gated Recurrent Unit(GRU)。它们成功的解决了原始RNN的缺陷,成为当前比较流行的RNN,并在许多领域中成功应用。 Long Short Term Memory Netw...原创 2020-05-07 17:10:13 · 709 阅读 · 1 评论 -
什么是RNN?一文看懂强大的循环神经网络(Recurrent Neural Network, RNN)
循环神经网络(Recurrent Neural Network,RNN)是一类用于处理序列数据的神经网络。所谓序列数据,即前面的输入和后面的输入是有关系的,如一个句子,或者视频帧。就像卷积网络是专门用于处理网格化数据XXX(如一个图像)的神经网络,循环神经网络是专门用于处理序列x(1),…,xmx^{(1)},\dots,x^{m}x(1),…,xm的神经网络。正如卷积网络可以很容易地扩展到具有很...原创 2020-05-06 23:27:56 · 890 阅读 · 0 评论 -
什么是GoogLeNet?一文看懂CNN经典模型GoogLeNet 从Inception v1到v4的演进
上一次我们谈到了CNN经典模型VGGNet,今天我们来简单聊聊比VGG更强大的GoogLeNet。为什么有GoogLeNet?2014年,GoogLeNet和VGG是当年ImageNet挑战赛(ILSVRC14)的双雄,GoogLeNet获得了第一名、VGG获得了第二名,这两类模型结构的共同特点是层次更深了。VGG继承了LeNet以及AlexNet的一些框架结构,而GoogLeNet则做了...原创 2020-05-06 23:14:11 · 644 阅读 · 0 评论 -
什么是VGG?简单谈谈CNN经典模型VGGNet
VGGNet探索了卷积神经网络的深度与其性能之间的关系,成功地构筑了16~19层深的卷积神经网络,证明了增加网络的深度能够在一定程度上影响网络的最终性能,使得错误率大幅下降,同时拓展性又很强,迁移到其他图片数据上的泛化性也非常好。到目前为止,VGG仍然被用来提取图像特征。VGGNet可以看成是加深版本的AlexNet,都是由卷积层、全连接层两大部分组成。VGG特点先看一下VGG的结构图...原创 2020-05-05 16:56:35 · 3276 阅读 · 0 评论 -
还不知道什么是卷积神经网络CNN?一文读懂CNN原理附实例
1.什么是神经网络?这里的神经网络也指人工神经网络(Artificial Neural Networks,简称ANNs),是一种模仿生物神经网络行为特征的算法数学模型,由神经元、节点与节点之间的连接(突触)所构成,如下图:每个神经网络单元抽象出来的数学模型如下,也叫感知器,它接收多个输入(x1,x2,x3…),产生一个输出,这就好比是神经末梢感受各种外部环境的变化(外部刺激),然后产 生电信...原创 2020-05-04 22:25:57 · 2496 阅读 · 0 评论 -
KDD Cup 2020 Challenges for Modern E-Commerce Platform: Debiasing 简单分享附代码(phase 0-6 0.463+)
参赛链接一年一度的KDD大赛又开始了,这个比赛是真的火爆…小白也是头一次玩这个,确实体会和学到了很多东西,这真的是从学术研究到工程实现思维的一种锻炼。题目:简单总结下题目,由于自己主要是关注数据挖掘与推荐的,所以比较关注推荐这道题目。先列出所有题目链接,然后重点说一下推荐的题目。KDD2020Multimodalities RecallFairness in Recommender S...原创 2020-04-28 00:35:33 · 2771 阅读 · 4 评论 -
无痛学会分解机(Factorization Machine,FM)算法总结
FM(Factorization Machine)主要是为了解决数据稀疏的情况下,特征怎样组合的问题。此算法的主要作用是可以把所有特征进行高阶组合,减少人工参与特征组合的工作。FM只需要线性时间复杂度,可以应用于大规模机器学习。预测任务模型方程回归和分类学习算法注:上面最后一句话应该是"而gθ(x)g_{\theta}(x)gθ(x)则利用y^(x)−θhθ(x)\w...转载 2020-04-27 11:38:45 · 572 阅读 · 0 评论 -
数据挖掘竞赛黑科技——对抗验证(Adversarial validation)
通常情况下,我们一般都会使用交叉验证来作为评估模型的标准,来选择我们最后的模型。但是在一些数据挖掘竞赛中,数据集一般分为训练集合测试集,国内比赛可能根据比赛阶段划分多个测试集,由于数据集采样和分布的原因导致训练集和线上测试集可能存在分布不一致的情况,这时候CV无法准确的评估模型在测试集上的效果,导致线上线下不统一,分数上不去。而缓解这一问题的黑科技,就是对抗验证Adversarial valida...原创 2020-04-24 14:17:40 · 1765 阅读 · 0 评论 -
一文详解先验概率、后验概率、最大似然估计(MLE)、最大后验估计(MAP)
概率与统计概率和统计是两个看似相近的概念,但是其实研究的问题刚好相反。概率研究的问题是,已知一个模型和参数,怎么去预测这个模型产生的结果。也就是根据参数和模型去推数据。统计则刚好相反,统计是我有一堆数据,我怎么利用这堆数据去推测模型和参数。概率是已知参数和模型,去推测结果;而统计是已知很多数据,去推模型和参数先验概率、后验概率、似然函数先验概率简单理解:在事件发生之前,根据以往的经...原创 2020-04-21 22:57:38 · 1617 阅读 · 3 评论 -
一文详解梯度下降法,牛顿法,拟牛顿法
最优化是一种数学方法,它是研究在给定约束之下如何寻求某些因素,以使某一些指标达到最优的一些学科的总称.在机器学习中,大部分的机器学习算法的本质都是建立优化模型,通过最优化方法对目标函数(损失函数)进行优化,从而训练出最好的模型.梯度下降法,牛顿法和拟牛顿法是求解无约束最优化问题的常用方法.梯度下降法梯度下降法实现简单,当目标函数为凸函数时,梯度下降法的解是全局最优解.梯度梯度的定义: 函...原创 2020-04-13 14:15:16 · 587 阅读 · 0 评论 -
深度学习数学基础总结
本文是对深度学习、机器学习中用到的数学基础知识的一点总结。高等数学微分微分是对函数的局部变化的一种线性描述.微分可以近似的的描述当函数自变量的变化率取值足够小时,函数的值是怎样变化的(用直线代替曲线)。比如,x的变化量Δx\Delta xΔx趋于0时,记做微元dx。Δy=f(x0+Δx)−f(x0)\Delta y = f(x_0 + \Delta x) - f(x_0)Δy=f(x0...原创 2020-04-13 14:11:25 · 710 阅读 · 0 评论 -
集成学习(ensemble learning)干货系列(3)——Boosting方法详解
提升,Boosting是另一大类成熟的集成学习方法,在众多机器学习任务上取得了优异的成绩;其基本思想是**是否可以将一个弱学习器,学习增强成一个强学习器(分类器)。** 它通过改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合,提高分类的性能。原创 2020-04-12 18:36:52 · 454 阅读 · 0 评论 -
集成学习(ensemble learning)干货系列(2)——随机森林(Bagging)
Bootstrap aggregating 简称**Bagging**,其中bootstrap是指基学习器的训练样本是对原始训练数据的**自助采样(bootstrap sampling)**得到,aggregating 是指集成学习器的预测结果为多个训练好的基学习器的预测结果的总和。本文主要介绍基本的bagging原理和随机森林原理,并说明了bagging和随机森林在成熟的scikit-learn的实现。原创 2020-04-10 23:32:46 · 5360 阅读 · 4 评论 -
一篇文章弄懂非线性分类——最近邻分类
非线性分类——最近邻分类算法原创 2020-04-07 16:15:55 · 362 阅读 · 0 评论 -
一篇文章快速学会决策树(ID3,C4.5, CART等)
决策树,英文: Decision Tree, 是一种基本的分类与回归方法。决策树模型呈树形结构,它可以认为是一个if-then的规则集合,也可以认为是**定义在特征空间与类空间上的条件概率分布**。决策树模型的主要特点就是具有可读性、分类速度快,通常包括三个步骤**特征选择、决策树的生成和决策树的修剪。**原创 2020-04-07 15:38:10 · 367 阅读 · 0 评论 -
张量分解——CP分解与Tucker分解详解
关于张量分解一些简单的介绍,可以看我的这篇张量的CP分解模型一般而言,给定一个大小为n1×n2×n3n_1 \times n_2 \times n_3n1×n2×n3的张量X\mathcal{X}X,其CP分解可以写成如下形式,即X≈∑r=1RA(:,r)⊗B(:,r)⊗C(:,r)\mathcal{X} \approx \sum_{r=1} ^{R} {A(:,r) \otimes ...原创 2020-03-21 22:48:26 · 3813 阅读 · 0 评论 -
深度学习——--残差网络(ResNet)详解
为什么会有残差网络?网络越深准确率越高吗?一说起深度学习,自然也就想到了它非常显著的特点"深",通过很深层次的网络实现准确率非常高的图像识别、语音识别等。因此,我们大家很自然就想到:深的网络肯定比浅的网络效果好,如果要进一步提升模型的准确率,最直接的方法就是把网络设计的更深,这样模型的准确率也会越来越准确。那现实是这样吗?我们先来看几个经典的图像识别深度学习模型这几个模型都是在世界顶级...原创 2020-03-21 22:29:15 · 1041 阅读 · 0 评论 -
机器学习中的降维方法——————多维缩放(MDS)&& 等度量映射(IsoMap)
关于降维降维:通过某种数字变换将原始高维属性空间转变为一个低维"子空间",在这个子空间中样本密度大幅提高,距离计算也变的更为容易。为什么需要降维?在高维情况下回出现数据样本稀疏、距离计算困难等问题,是所有机器学习方法共同面临的严重障碍,被称为“维数灾难”.为什么能降维?因为在很多时候,人们观测或收集到的数据样本虽是高维的,但与学习任务密切相关的也许仅是某个低维分布,即高维空间中的一个低维...原创 2020-03-21 22:10:07 · 777 阅读 · 0 评论 -
机器学习中核函数(Kernel)的理解
核函数**就是在我们将低维非线性可分的数据通过函数Φ(x)\Phi(x)Φ(x)映射到高维空间之后计算内积的一种简便方法。**在这里它和映射没有任何关系。低维到高维线性可分的映射下面这张图位于第一、二象限内。我们关注红色的门,以及“北京四合院”这几个字下面的紫色的字母。我们把红色的门上的点看成是“+”数据,紫色字母上的点看成是“-”数据,它们的横、纵坐标是两个特征。显然,在这个二维空间内,“...原创 2020-03-21 21:57:50 · 592 阅读 · 0 评论 -
一文学会支持向量机(SVM)
SVM是一个二元分类算法,线性分类和非线性分类都支持,其学习策略便是间隔最大化, 最终可以转化为一个凸二次规划问题求解。经过演进,现在也可以支持多元分类,同时经过扩展也能应用于回归问题。初探SVM一个简单的例子下面举个简单的例子。如下图所示,现在有一个二维平面,平面上有两种不同的数据,分别用圈和叉表示。由于这些数据是线性可分的,所以可以用一条直线将这两类数据分开,这条直线就相当于一个超平面...原创 2020-03-21 21:48:22 · 328 阅读 · 0 评论 -
快速近似计算Gamma函数以及函数阶乘
Gamma 函数Γ(s)=∫0∞xs−1e−xdx,s>0\begin{aligned}\Gamma(s) = \int_{0}^{\infty} x^{s - 1} e^{-x} dx, s > 0\end{aligned}Γ(s)=∫0∞xs−1e−xdx,s>0其具有如下几个性质:Γ(s+1)=sΓ(s)Γ(s+1)=s!\begin{aligned}...翻译 2020-03-12 10:55:37 · 1688 阅读 · 0 评论 -
关于Word2Vec的一些总结
什么是word2vec关于word2vec,首先需要弄清楚它并不是一个模型或者DL算法,而是描述从自然语言到词向量转换的技术。Word2Vec本质上就是一个只有一个hidden layer的全连接神经网络,它可以将所有的词向量化,这样词与词就可以定量的去度量他们之间的关系.在NLP中,把x看做一个句子里的一个词语,y是这个词语的上下文词语,那么这里的fff便是nlp中经常出现的语言模型,这...原创 2020-03-07 23:16:47 · 580 阅读 · 0 评论 -
一看就会的多分类支持向量机(Multi-SVM)与softmax分类(附代码详解)
本文学习自该大V概述: 由于KNN算法的局限性,我们需要实现更强大的方法来实现图像分类,一般情况下该方法包含两个函数,一是评分函数(score function),它是原始图像到每个分类的分值映射,二是损失函数(loss function),它是用来量化预测分类标签的得分与真实标签的一致性的。该方法可以转化为一个最优化问题,在最优化过程中,将通过更新评分函数的参数来最小化损失函数的值...原创 2020-02-17 16:03:06 · 742 阅读 · 0 评论 -
一文了解KL散度(KL Divergence)
在概率论和统计学中,我们经常用一个简单的近似分布来代替观测数据或复杂的分布.KL散度帮助我们衡量当我们选择一个简单近似的分布来代替复杂的数据或复杂的分布的时候有多少信息损失了.原创 2020-03-10 23:01:13 · 1633 阅读 · 0 评论 -
EM(Expectation Maximum) 算法总结
EM算法,全称为Expectation Maximum Algorithm,是一个基础算法,是很多机器学习领域算法的基础(如HMM,LDA等)。EM算法是在**概率模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐含变量。**原创 2020-03-09 13:46:54 · 1265 阅读 · 0 评论 -
TF-IDF算法详解
什么是TF/IDF?其实这是两个词的组合,TF与IDF。TF(Term Frequency词频)即一个词在文中出现的次数,统计出来就是词频TF。IDF(Inverse Document Frequency)即逆文档频率。对于词频,显而易见一个词在文章中出现很多次,那么这个词肯定有很大的作用。但是你自己动手试一下会发现TF大的大都是"的“,“是"这样的词,这样的词显然对我们的统计没什么帮助...原创 2020-03-06 22:37:02 · 665 阅读 · 0 评论 -
K-Means聚类算法详解
声明部分参考K-Means聚类算法原理聚类算法聚类算法是一种无监督学习算法,它主要用于将相似的样本自动归到一个类别中.聚类算法与分类算法的区别:聚类算法是无监督学习,而分类是监督学习,在聚类算法中我们根据样本之间的相似度(或者说距离),将样本归到不同的类别中,对于不同的相似度我们得到的聚类结果可能是不通的.K-Means是一种聚类算法,它实现起来比较简单,而且聚类的效果也不错,所以应用比...原创 2020-03-06 22:28:09 · 843 阅读 · 0 评论 -
推荐系统常用评价指标(recall,MAP,MRR,NDCG,F1,ROC等)
这里主要总结一下推荐系统当中常见的一些评价指标,主要包括: MAE,RMSE,recall,precision,MAP,MRR,NDCG等MAE(Mean Average Error,平均绝对误差)表示预测值和实际值之间的绝对误差的平均值.##RMSE(Root Mean Square Error,均方根误差)均方根误差是用来衡量观测值同真实值之间的偏差,RMSE越小越好.##Reca...原创 2020-03-05 14:53:07 · 7720 阅读 · 4 评论 -
机器学习————最小二乘法
学习自,马同学并有一定的修改,再次感谢!什么是最小二乘法?最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。##最小二乘法日用而不知来看一个生活中的例子。比如说,有五把尺子:用它们来分别测量一线段的长度,得到的数值分别为(颜色指不同的尺子):之所...原创 2020-03-02 15:51:01 · 924 阅读 · 0 评论