
个人记录
zsjmfy
这个作者很懒,什么都没留下…
展开
-
Leetcode:Add Digits
数学原理:https://en.wikipedia.org/wiki/Digital_rootPart1: C++简洁做法: class Solution {public: int addDigits(int num) { return(num-9*((num-1)/9)); }};class Solution {pub原创 2015-10-05 14:02:35 · 232 阅读 · 0 评论 -
广告点击率预估模型
广告点击价值由广告主定价,每次广告投放是投放预期收益最高的广告。点击率预测越准确,越接近最大化收益。 挖掘用户日志,根据日志中行为信息给用户打标签。特征提取-单属性特征 广告特征:广告商,广告集团,广告品种,广告标题等。 用户特征:用户cookie,搜索关键字,tag 上下文特征:页面主题关键字,正文关键字,广告位,browser,page attribute特征提取-交叉特征 静态特征-原创 2017-03-17 12:31:15 · 2833 阅读 · 0 评论 -
gbdt源码阅读
regressiontree. main函数:训练样本,最大深度,叶子节点最小样本数,特征采样,数据采样。加载训练样本,利用样本构建regressiontree,对训练样本(这里有些问题,实际上应该对样本进行划分)进行预测。 RegressionTree: fit:选取采样特征,递归构建树,选取切分节点(特征)。 split_node: 选取切分点,如果深度达到最大深度或者切分之后左右树没有原创 2017-04-10 20:44:41 · 1171 阅读 · 0 评论 -
SVM
思想:建立在VC维理论和结构风险最小原理基础上,根据有限样本信息在模型的复杂性和学习能力之间寻求最佳折衷,希望得到最好的泛化能力。 VC维:对函数类的一种度量,可以理解为问题的复杂程度。 结构风险最小:引入泛化误差界的概念。真实风险由经验风险(分类器在给定样本上的误差)和执行风险(代表我们在多大程度上可以信任分类器在未知样本上分类的结果)组成。 svm特点:在小样本、非线性、高维模式识别中有优原创 2017-03-15 14:22:07 · 1524 阅读 · 0 评论 -
Learn to Rank
参考http://blog.youkuaiyun.com/nanjunxiao/article/details/8976195 http://www.cnblogs.com/kemaswill/archive/2013/06/01/3109497.html learn to rank学习排序是一种监督学习的排序方法。主要应用于信息检索,协同过滤,推荐系统等领域。之前已有的排序模型主要分为相关度排序模型(re原创 2017-03-13 18:01:58 · 865 阅读 · 0 评论 -
不同的梯度下降算法
参考http://www.cnblogs.com/richqian/p/4549590.html梯度下降(Gradient Descent)算法只需要计算损失函数的一阶导数,计算代价小,适合训练数据量大的应用。 梯度下降法是沿着当前点的梯度方向搜索,找到下一个迭代点。 不同的梯度下降算法如batch,mini-batch,SGD,online等区别在于训练数据的选择上。 1.batch GD原创 2017-03-15 12:23:24 · 872 阅读 · 0 评论 -
gbdt和随机森林
转载http://blog.youkuaiyun.com/keepreder/article/details/47272779 相同点: 1.都是多棵树组成 2.结果由多棵树决定 不同点: 1.随机森林可以是分类树或者回归树,gbdt是回归树。 2.随机森林是投票的方式决定结果,gbdt是各个树的加和作为最终结果。 3.随机森林中的树可以并行构建,gbdt需要串行。 4.随机森林对异常值不敏感,转载 2017-04-10 15:55:04 · 627 阅读 · 0 评论 -
机器学习损失函数
http://www.csuldw.com/2016/03/26/2016-03-26-loss-function/转载 2017-04-10 15:44:00 · 328 阅读 · 0 评论 -
判别模型和生成模型
参考http://www.cnblogs.com/kemaswill/p/3427422.html 判别模型是最大化后验概率,生成模型的目标是求出联合分布。 判别模型直接对p(y|x)进行建模。 生成模型会对x和y的联合分布p(x,y)进行建模,通过贝叶斯公式求p(y|x),最后选取使p(y|x)最大的yi。两者对比如下: 1.一般生成模型会对数据分布做一定假设,比如朴素贝叶斯假设给定y的情原创 2017-03-14 12:00:53 · 298 阅读 · 0 评论 -
GBDT
参考http://www.cnblogs.com/LeftNotEasy/archive/2011/03/07/random-forest-and-gbdt.html关于决策树DT模型,具体参考李航统计学习方法。 决策树是将空间利用超平面进行划分的一种方法,每次分割都将当前空间一分为二。 决策树的一个优势在于解释性强,模型容易展示。 单颗决策树的缺陷在于容易过拟合,虽然剪枝可以缓解这种情况。原创 2017-03-13 15:02:46 · 1352 阅读 · 0 评论 -
ranksvm
rank问题目标是合理的排序。 最简单的是使用分类和回归来模拟,将每个url对应的特征和相关性打分作为样本进行学习(例如二分类),这属于pointwise方法,所选用模型例如Logistic regression,得分是一个0-1的概率。但这种方法没有考虑排序结果之间的相对关系。 为了考虑个体间相对关系,我们希望di>dj时,f(xi) > f(xj).这是pairwise的方法。 svm作为原创 2017-03-13 19:29:39 · 1092 阅读 · 0 评论 -
NDCG
参考https://en.wikipedia.org/wiki/Discounted_cumulative_gainndcg是评价排序质量的一种指标。公式描述如下。理解ndcg最好先从cg和dcg出发。cg描述的是累计收益,比如6个排序后的文档D1,D2,D3,D4,D5,D6. 他们的相关性打分分别是3,2,3,0,1,2。因此他们的cg是3+2+3+0+1+2=11.cg和排序的顺序无关。 但原创 2017-03-13 10:39:31 · 564 阅读 · 0 评论 -
xgboost
摘录自知乎。https://www.zhihu.com/question/41354392xgboost和gbdt的区别,为什么快?如何支持并行? 1.传统gbdt是用CART作为基分类器,xgboost还支持线性分类器。此时xgboost相当于带l1和l2正则化项的逻辑回归(分类问题)或者线性回归(回归问题)。 2.gbdt优化时只用到了一阶求导,xgboost对代价函数进行二阶泰勒展开,同时原创 2017-03-20 12:18:57 · 1879 阅读 · 0 评论 -
机器学习-1
基本问题的经典算法 分类:svm、最大熵、adaboost、分类回归树、随机森林 回归:分类回归树、随机森林、GBDT 排序:GBRank 聚类:K-Means 结构标注:隐马尔可夫模型、条件随机场。机器学习=表示(算法、特征的表示)+评价(loss+cost评价算法好坏的函数)+优化(寻找使评价函数得分最高的搜索方法比如梯度下降、牛顿法)如何权衡训练误差和预测误差(拟合能力和泛化能力,b原创 2017-03-17 16:57:14 · 354 阅读 · 0 评论 -
小记
最近看了很多机器学习和深度学习的知识,细节很多都记不住,希望能够定期整理一下学习的心得在这里,给自己留些笔记。资料主要参考wepon,hankcs以及Bryan等人的博客还有很多网上的开放课程。原创 2016-11-07 20:06:56 · 239 阅读 · 0 评论 -
windows10+python3环境搭建
在windows10上搭建好python3之后,用pip安装所需要的包。这里没有使用anaconda,python和pip自行安装。 http://www.lfd.uci.edu/~gohlke/pythonlibs/这里有所需要的pakage。 比如下载numpy‑1.12.1+mkl‑cp36‑cp36m‑win_amd64.whl 需要注意cp36是python的版本是python3.原创 2017-04-29 10:05:09 · 390 阅读 · 0 评论