Liam Huang
Liam Huang
@north151 关键词:Hexo(静态博客生成器)、NexT(博客主题)。
> @LynnZiQi > 您好!读了您的文章,我受益匪浅!最近在学习LambdaMART算法,正在尝试实现,想请教您一个问题:在算法伪代码中有一步计算叶子节点的值,不是很清楚这里牛顿法具体是用来做什么的?不知道您能不能够解答一下我的疑惑,非常感谢您!祝您一切顺利! 叶子结点的值,是「使得所有落在该叶子结点上的样本的损失之和最小的值」。而损失是关于叶子结点的值的一元二次函数,参数是一阶导数和二阶导数(忽略高阶导数)。 你想想看,这是不是牛顿迭代法? 还不清楚的话,看下我这篇 slides: https://liam.page/uploads/slides/gb-xgb-lm.pdf Page 13, 14 上有以泰勒展开的角度的介绍(二阶泰勒展开就是牛顿迭代)。注意符号与这篇文章不一致。
> @fyang93 > 文章写得很好,最近刚好需要用到这个。推导过程中有一处符号笔误了,在"注意有下面对称性"后的数式倒数第二行,其中的一个加号应该是减号。 你讲得对,我这就修正。
> @miyayabo > 您好,请问MART算法流程第10步那里,是像GBDT一样用回归树拟合负梯度(计算均方误差进行树的分裂),还是像XGBoost一样用牛顿法的方式,根据损失函数二阶展开极小值的减小量当做树的分裂标准? 你说的是 LambdaMART 吧? 实际上,XGBoost 的做法是你讲的「GBDT 是拟合负梯度」的一种实现方式。在我看来,并无本质差异。 就 LambdaMART 来说,MART 是 GBDT(的别称),只是一个可以套用梯度下降的算法框架。具体怎么实现,其实无关紧要。不管怎么实现,它都是 LambdaMART。XGBoost 中的 rank:ndcg 就是 LambdaMART。
@yozhao 没问题的,你看反了大概……
> @yozhao > > @Liam0205 > > @yozhao 没问题的,你看反了大概…… > > 最后算法: 第7行 y = lamda 是cost函数的梯度对吧, 第8行的二阶导数是正数, 15 行就是向cost函数梯度正方向迭代,是不是cost函数越来越大了啊 > > 你直接读 paper 吧…… http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.180.634&rep=rep1&type=pdf
@lcliuchen123 因为它是把 n 个整理和 m 个负例组成 n * m 个 pair。
@HPDell * ``/J`` 建立目录的 JUNCTION; ``/D`` 建立目录的符号链接。 * JUNCTION 必须是本机的目录;符号链接可以链接网络上的资源。 * JUNCTION 建立时可以用相对路径,但记录的是绝对路径;符号链接建立时可以用相对路径,记录的也是相对路径。 * 移动、更名、删除 target 目录时,JUNCTION 失效;符号链接也失效。 * 移动、更名 target 的上 n 级目录时,JUNCTION 失效;符号链接视情况可能失效(相对路径情况可能不失效)。 * 权限方面,JUNCTION 的权限和 target 相同;符号链接的权限可以单独设置。...
@changchang0801 这个其实是看你追求的是什么。就像文章中说的,L1 倾向于得到稀疏解,L2 倾向于得到平滑解。 所以,在需要稀疏性的场景下,比如 online learning 的场景下,需要[稀疏解](https://liam.page/2019/08/31/a-not-so-simple-introduction-to-FTRL/)。这时候,就需要各种魔改 L1 的用法。
> @spencerwooo > 哇,这个好用啊! `: )`