摘要: 最近开始刷LeetCode,准备按照专题来进行。所有的解题方案我都会放在GitHub上面,对于有价值的题目,我会重新在这里做记录,并且将解题方案贴出来,便于自己之后复习。 Array 1. easy 1. "122. Best Time to Buy and Sell Stock II" + "我的 阅读全文
posted @ 2018-04-06 13:43 yinzm 阅读(593) 评论(0) 推荐(0) 编辑
摘要: 背景 这里主要是用来针对USACO上的题目的二次汇总,因为我在刷题的过程中,有的题目我是可以很快想到解决方案的,对于这种题目,就没有必要深究了。但是有一些题目对于我来说还是有一些挑战的,可能用朴素的算法可以解决,但是另外一种优美的解法是我没有想到的,也有可能是这个题目我是看完别人的题解之后才会的。所 阅读全文
posted @ 2017-08-22 14:02 yinzm 阅读(1332) 评论(0) 推荐(0) 编辑
摘要: 背景 在CTR预估任务中,线性模型仍占有半壁江山。利用手工构造的交叉组合特征来使线性模型具有“记忆性”,使模型记住共现频率较高的特征组合,往往也能达到一个不错的baseline,且可解释性强。但这种方式有着较为明显的缺点:首先,特征工程需要耗费太多精力。其次,因为模型是强行记住这些组合特征的,所以对 阅读全文
posted @ 2019-11-17 22:30 yinzm 阅读(5580) 评论(0) 推荐(0) 编辑
摘要: 背景 特征工程是绕不开的话题,巧妙的特征组合也许能够为模型带来质的提升。但同时,特征工程耗费的资源也是相当可观的,对于后期模型特征的维护、模型线上部署不太友好。2016年,微软提出Deep Crossing模型,旨在解决特征工程中特征组合的难题,降低人力特征组合的时间开销,通过模型自动学习特征的组合 阅读全文
posted @ 2019-11-09 21:09 yinzm 阅读(2816) 评论(0) 推荐(1) 编辑
摘要: 背景 上一篇文章介绍了FNN [2],在FM的基础上引入了DNN对特征进行高阶组合提高模型表现。但FNN并不是完美的,针对FNN的缺点上交与UCL于2016年联合提出一种新的改进模型PNN(Product based Neural Network)。 PNN同样引入了DNN对低阶特征进行组合,但与F 阅读全文
posted @ 2019-11-01 11:21 yinzm 阅读(2208) 评论(0) 推荐(0) 编辑
摘要: 背景 在FM之后出现了很多基于FM的升级改造工作,由于计算复杂度等原因,FM通常只对特征进行二阶交叉。当面对海量高度稀疏的用户行为反馈数据时,二阶交叉往往是不够的,三阶、四阶甚至更高阶的组合交叉能够进一步提升模型学习能力。如何能在引入更高阶的特征组合的同时,将计算复杂度控制在一个可接受的范围内? 参 阅读全文
posted @ 2019-10-29 14:36 yinzm 阅读(8224) 评论(0) 推荐(0) 编辑
摘要: 背景 在CTR/CVR预估任务中,除了FM模型[2] 之外,后起之秀FFM(Field aware Factorization Machine)模型同样表现亮眼。FFM可以看作是FM的升级版,Yuchi Juan于2016年提出该模型,但其诞生是受启于Rendle在2010年发表的另一个模型PITF 阅读全文
posted @ 2019-10-21 10:48 yinzm 阅读(1122) 评论(0) 推荐(0) 编辑
摘要: 背景 在推荐领域CTR(click through rate)预估任务中,最常用到的baseline模型就是LR(Logistic Regression)。对数据进行特征工程,构造出大量单特征,编码之后送入模型。这种线性模型的优势在于,运算速度快可解释性强,在特征挖掘完备且训练数据充分的前提下能够达 阅读全文
posted @ 2019-10-03 15:17 yinzm 阅读(1426) 评论(0) 推荐(0) 编辑
摘要: shell中有很多内建命令,如何区分内建命令与外部文件,使用type command即可看到命令类型。 >> type cd # input << cd is a Shell builtin # output >> type ifconfig # input << ifconfig is /sbin 阅读全文
posted @ 2019-01-26 22:03 yinzm 阅读(125) 评论(0) 推荐(0) 编辑
摘要: shell中同样有数组的概念,获取数组中的元素要使用下标[],并且下标的值必须大于等于0。数据的各项特性见下例: #!/bin/bash array1=(1 2 3 999) echo ${array1[3]} array2=(1 3 5 "hello,world") # different dat 阅读全文
posted @ 2019-01-26 21:59 yinzm 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 字符串详解 字符串可以由 单引号/双引号/无引号 包围。如下所示 >> str1=hello str2="hello" str3='hello' << 三种形式的区别: 1)由单引号包围 字符原样输出,不对其中的变量进行解析。并且在字符串中不能出现单引号,即使加了转义字符也不行。 2)由双引号包围 阅读全文
posted @ 2019-01-26 21:58 yinzm 阅读(115) 评论(0) 推荐(0) 编辑
摘要: Shell中变量的作用域: 在当前Shell会话中使用,全局变量。 在函数内部使用,局部变量。 可以在其他Shell会话中使用,环境变量。 在当前Shell会话中使用,全局变量。 在函数内部使用,局部变量。 可以在其他Shell会话中使用,环境变量。 局部变量: 默认情况下函数内的变量也是全局变量 阅读全文
posted @ 2019-01-26 21:56 yinzm 阅读(133) 评论(0) 推荐(0) 编辑