过拟合

小赵带你读论文系列14-阿里妈妈之Deep Interest Network for Click-Through Rate Prediction

帅比萌擦擦* 提交于 2020-12-01 13:24:22
前言 鬼才知道我为什么要学管理经济学和管理数学,学不进去了,算了看看论文读读代码放松一下。 这是阿里 DIN 系列的第一篇文章,文章读起来不是很难,不过工业上实现会考虑时延就很麻烦,主要的工作我觉得像是引入了 Attention 机制(他自己解释说有点差别)。以往都是根据用户的 Profile,Behavior Sequence 做一个用户的 Embedding ,然后根据这个 Embedding 来和待推荐的商品作比较,最终输出用户点击该商品的概率。阿里觉得不好,第一,这种对待所有商品用户的 Embedding 都一成不变,这显然不行。第二,单纯扩大 Embedding 的 size 来获取更多的信息,这样会浪费大量的计算成本并且有过拟合现象。以往的推荐形式如下图: 主体内容 第一, 阿里妈妈觉得待推荐的物品是否会被点击和用户的历史行为有着显著的关系,那么我们能不能使用用户的历史行为(也代表了用户的兴趣,Deep Interest大概从这里命名)来表征用户对于不同商品的兴趣呢,换句话说,我能不能使得用户对于不同的商品有不同的 Embedding 呢。然后他就把待推荐物品和用户历史点击行为进行 Attention ,他死不承认用 Attention 的一个原因大体就是他的 Attention 没有做正则化,以及他的 Attention weights 的 sum=1 。模型构建如下

算法岗面试整理 | 腾讯、字节、美团、阿里

旧街凉风 提交于 2020-11-26 15:05:08
作者 | 阿毛冲冲冲 来源 | 牛客网,见『阅读原文』处 整理 | NewBeeNLP,本文仅供学术交流,如有侵权,请留言联系小编处理。 面试锦囊之面经分享系列,持续更新中 欢迎后台回复" 面试 "加入讨论组交流噢 文 末 也有内推,需要的同学自取哈 写在前面 三月面试了好几轮,写个帖子记录一下问过的问题,为接下来的其他公司的面试查漏补缺一下,也给大家一些准备的方向。 腾讯 一面(凉) 自我介绍 问做过的项目,同时在过程中穿插用过的模型的问题,比如 word2vec两个模型的损失函数是什么 cbow和skipgram的比较,为什么skipgram会更好,哪个的计算复杂度高 为什么使用随机森林 决策树的分裂方式是什么,根据什么变量来决定分裂变量 手撕代码 给一个数N,k,每一轮可以进行两种操作的其中一种:①所有的数拆分成两个更小的数;②所有的数-1。已知拆分操作只能进行k次,问 最少需要多少次把所有数都消去 给一串数列,这串数列有正有负,但是总和为0。每个数xi代表一个村庄,正的表示村庄想卖出xi份水果,负的表示想买入xi份水果。两相邻村庄间的距离是相同的,单位距离运送一份水果的运费均相同,每份都是k。问,把每个村庄的需求和供给都解决掉需要的最少运送费是多少? 这是第一次面试,凉得很彻底,因为很多算法细节都没有好好复习,而且代码写的也不够整洁快速 字节tiktok海外版(南亚组?)

算法岗面试整理 | 腾讯、字节、美团、阿里

南楼画角 提交于 2020-11-26 14:46:54
(给 机器学习算法与Python实战 加星标,提升AI技能) 文末赠书福利 作者 | 阿毛冲冲冲 来源 | 牛客网,见『阅读原文』处 整理 | NewBeeNLP,本文仅供学术交流,如有侵权,请留言联系 写在前面 三月面试了好几轮,写个帖子记录一下问过的问题,为接下来的其他公司的面试查漏补缺一下,也给大家一些准备的方向。 腾讯 一面(凉) 自我介绍 问做过的项目,同时在过程中穿插用过的模型的问题,比如 word2vec两个模型的损失函数是什么 cbow和skipgram的比较,为什么skipgram会更好,哪个的计算复杂度高 为什么使用随机森林 决策树的分裂方式是什么,根据什么变量来决定分裂变量 手撕代码 给一个数N,k,每一轮可以进行两种操作的其中一种:①所有的数拆分成两个更小的数;②所有的数-1。已知拆分操作只能进行k次,问 最少需要多少次把所有数都消去 给一串数列,这串数列有正有负,但是总和为0。每个数xi代表一个村庄,正的表示村庄想卖出xi份水果,负的表示想买入xi份水果。两相邻村庄间的距离是相同的,单位距离运送一份水果的运费均相同,每份都是k。问,把每个村庄的需求和供给都解决掉需要的最少运送费是多少? 这是第一次面试,凉得很彻底,因为很多算法细节都没有好好复习,而且代码写的也不够整洁快速 字节tiktok海外版(南亚组?) 一面 一个很年轻的小哥哥,人也很好

机器学习知识框架

蹲街弑〆低调 提交于 2020-11-26 13:44:34
参数 参数分为两种:可学习得到的参数,和超参数。 机器学习可以归结为学习一个映射函数f : x → y,将输入变量 x映射为输出变量y。一般我们可以假设映射函数为y = f(x, θ)。其中θ 即为函 数的参数。参数可以通过学习算法进行学习。 除了可学习的参数之外,还有一类参数是用来定义模型结构或训练策略的, 这类参数叫做超参数(Hyper-Parameter)。超参数和可学习的参数不同,通常是按照人的经验设定,或者通过网格搜索(Grid Search)对一组超参数组合进行不断试错调整。 常见的超参数:聚类算法中的类别个数、梯度下降法的步长、正则项的系数、神经网络的层数、支持向量机中的核函数等。 特征学习 特征学习分成两种:特征选择和特征抽取。 特征选择(Feature Selection) 是选取原始特征集合的一个有效子集,使得基于这个特征子集训练出来的模型准确率最高。简单地说,特征选择就是保留有用特征,移除冗余或无关的特征。 最暴力的做法是测试每个特征子集,看机器学习模型哪个 子集上的准确率最高,但这种方式效率太低。常用的方法是采样贪心的策略,由空集合开始,每一轮添加该轮最优的特征;或者从原始特征集合开始,每次删 除最无用的特征。 特征抽取(Feature Extraction)是构造一个新的特征空间,并将原始特征 投影在新的空间中。以线性投影为例,原始特征向量x ∈ R d

决策树(R语言)

余生颓废 提交于 2020-11-23 22:48:05
决策树是有监督学习算法中的一种。基于属性做一系列的决策,每次决策要么进入下一级决策,要么生成最终结果。决策树可以作为集成算法中的基分类器,并且有最为广泛的应用。 决策树算法 要想理解决策树的工作原理,首先需要了解决策树的层次结构。决策树由结点与有向边组成,其中,结点分为如下三种: 根结点 :无入边,但有零条或多条出边 内部结点 :有一条入边和多条出边 叶节点 :有一条入边,无出边 每个叶节点都有一个类标号,根节点和内部结点包含属性测试条件,每个根节点和内部结点都对应一次条件判断,用来分开有不同特性的记录。对一条记录进行判断时,从根结点开始,根据判断进入相应分支,只到叶节点,叶节点的类别即为分类结果。比如,根据历史贷款记录预测贷款申请者是否会逾期,是否有房和婚姻状况作为属性,是否逾期作为类标号。历史数据如下: 序号 有房 婚姻状况 是否逾期 1 是 单身 否 2 否 已婚 否 3 否 单身 是 4 是 已婚 否 5 否 离异 是 6 否 已婚 否 7 是 离异 否 8 否 单身 是 9 否 已婚 否 根据历史贷款记录,可构造如下决策树: 当决策树构造好后,对未标记的记录进行分类就非常容易了。如使用以及构造好的决策树,对如下序号8这个人进行预测,可以知道,最终停在了未逾期这个节点。 序号 有房 婚姻状况 是否逾期 8 是 离异 ? Hunt算法 是常用的用来建立决策树的算法

决策树ID3原理及R语言python代码实现(西瓜书)

旧街凉风 提交于 2020-11-23 21:45:29
决策树ID3原理及R语言python代码实现(西瓜书) 摘要: 决策树是机器学习中一种非常常见的分类与回归方法,可以认为是if-else结构的规则。分类决策树是由节点和有向边组成的树形结构,节点表示特征或者属性, 而边表示的是属性值,边指向的叶节点为对应的分类。在对样本的分类过程中,由顶向下,根据特征或属性值选择分支,递归遍历直到叶节点,将实例分到叶节点对应的类别中。 决策树的学习过程就是构造出一个能正取分类(或者误差最小)训练数据集的且有较好泛化能力的树,核心是如何选择特征或属性作为节点, 通常的算法是利用启发式的算法如ID3,C4.5,CART等递归的选择最优特征。选择一个最优特征,然后按照此特征将数据集分割成多个子集,子集再选择最优特征, 直到所有训练数据都被正取分类,这就构造出了决策树。决策树有如下特点: 原理简单, 计算高效;使用基于信息熵相关的理论划分最优特征,原理清晰,计算效率高。 解释性强;决策树的属性结构以及if-else的判断逻辑,非常符合人的决策思维,使用训练数据集构造出一个决策树后,可视化决策树, 可以非常直观的理解决策树的判断逻辑,可读性强。 效果好,应用广泛;其拟合效果一般很好,分类速度快,但也容易过拟合,决策树拥有非常广泛的应用。 本文主要介绍基于ID3的算法构造决策树。 决策树原理 训练数据集有多个特征,如何递归选择最优特征呢

XGBoost的优点

江枫思渺然 提交于 2020-11-22 03:33:04
1. Gradient boosting(GB) Gradient boosting的思想是迭代生多个(M个)弱的模型,然后将每个弱模型的预测结果相加,后面的模型Fm+1(x)基于前面学习模型的Fm(x)的效果生成的,关系如下: 实际中往往是基于loss Function 在函数空间的的 负梯度学习 ,对于回归问题 残差和负梯度也是相同的。 中的f,不要理解为传统意义上的函数,而是一个函数向量 ,向量中元素的个数与训练样本的个数相同,因此基于Loss Function函数空间的 负梯度的学习 也称为“伪残差”。 2. Gradient boosting Decision Tree(GBDT) GBDT是GB和DT的结合。要注意的是这里的 决策树是回归树 , GBDT实际的核心问题变成怎么基于 使用CART回归树生成 ? 3. Xgboost xgboost中的基学习器除了可以是CART(gbtree)也可以是线性分类器(gblinear) (1). xgboost在目标函数中显示的加上了 正则化 项,基学习为CART时,正则化项与树的叶子节点的数量T和叶子节点的值有关。 正则项里包含了树的叶子节点个数、每个叶子节点上输出的score的L2模的平方和。 从Bias-variance tradeoff角度来讲,正则项降低了模型的variance,使学习出来的模型更加简单,防止过拟合

人像抠图已经满足不了研究者了,这个研究专门给动物抠图,毛发根根分明

心不动则不痛 提交于 2020-11-21 15:13:02
相比于人像抠图,长相各异、浑身毛茸茸的动物似乎难度更大。IEEE 会士 Jizhizi Li、陶大程等人开发了一个专门处理动物抠图的端到端抠图技术 GFM。 选自arXiv,作者:Jizhizi Li、Dacheng Tao等。机器之心编译,编辑:魔王。 在这个图像和视频逐渐成为主流媒介的时代,大家早已对「抠图」习以为常,说不定还看过几部通过「抠图」拍摄的电视剧呢。然而,相比于人像抠图,长相各异、浑身毛茸茸的动物似乎难度更大。 那么,是否有专用于动物的抠图技术呢?IEEE 会士 Jizhizi Li、陶大程等人就开发了一个专门处理动物抠图的端到端抠图技术。 动物的外观和毛皮特征给现有的方法带来了挑战,这些方法通常要求额外的用户输入(如 trimap)。 为了解决这些问题,陶大程等人研究了语义和抠图细节,将 任务分解为两个并行的子任务:高级语义分割和低级细节抠图 。具体而言,该研究提出了新型方法——Glance and Focus Matting network (GFM),使用共享编码器和两个单独的解码器以协作的方式学习两项子任务,完成端到端动物图像抠图。 研究人员还创建了一个新型动物抠图数据集 AM-2k,它包含 20 个类别的 2000 张高分辨率自然动物图像,并且具备手动标注的前景蒙版。 此外,该研究通过对前景和背景图像之间的不同差异进行综合分析