推荐系统方面,一些技术尝试【转载】
2016-09-05 15:26
316 查看
这节我只是简单罗列下最近几年自己接触的比较有代表性的一些技术,跟工作关系不大。
DirichletProcess 和Dirichlet Process Mixture模型
了解DP主要是因为当时在看Mahout源代码的时候发现有个算法以前竟然没接触过,觉得挺有意思就仔细学了下。DP不太好理解,它被称为分布的分布。从DP抽取出的每个样本(一个函数)都可以被认为是一个离散随机变量的分布函数,这个随机变量以非零概率值在可数无穷个离散点上取值。DPM是非参数贝叶斯聚类模型,聚类时可以让模型自动学习类数。虽然听着好像很不错,其实有很多槽点。
LatentDirichlet Allocation (LDA)
LDA是文本处理里的利器,经常被用于对文本进行聚类,或者预处理。更详细的理论介绍可见参考文献3。当时我尝试把它用于佳缘的发信数据,看看能不能找出一些有明显特征的发信群体。聚类结果整体上基本不可解释,但有一个类别意义很明显,这类人主要给离婚异性发信。大家可以想想这类人是什么人。尝试感想是LDA直接用于聚类未必靠谱,但是可以把它用于数据的预处理,比如降维什么的。
AlternatingDirection Method of Multipliers (ADMM)
ADMM是个优化算法框架,它把一个大问题分成可分布式同时求解的多个小问题。理论上,ADMM的框架可以解决大部分实际中的大尺度问题。槽点很多,谨慎使用!
DeepLearning
前段时间,我利用佳缘的用户头像数据,尝试了DL里的一些常用算法。为了看算法的效果,我把用户的性别作为预测目标。这种预测对于佳缘的业务直接意义不大,因为用户在注册时就被要求填写其性别。
算法预测的效果还是不错的,准确度达到了87%。这还是在很小训练集上训练后获得的精度。DL麻烦是训练时需要调整的超参数实在是太多了,改一次超参数就要重跑一次,真的是很耗时。没有好的计算资源的话,建议别考虑DL。
利用GBDT模型构造新特征
实在想不出更多的有用特征?尝试下Facebook提出的利用GBDT来构造新特征的方法吧。我们的使用经验表明确实还是挺靠谱的,只要你效率能扛得住。
特征哈希(FeatureHashing)
很多个性化特征?特征数量太多?试试特征哈希的方法吧。此方法我们目前也没使用过,欢迎有经验的人发表意见。
不平衡数据的抽样方法
正负样本数量差异太大?训练样本太多机器跑不动?尝试下参考文献7中的抽样方法吧。我们之前的尝试表明还是有点作用的。不过如果你的数据不是大得跑不动,那尝试的必要性就不太大了。
转载地址:http://mp.weixin.qq.com/s?__biz=MzA5ODUxOTA5Mg==&mid=2652550066&idx=2&sn=7295273ea8f32607a82c958ded254bac&scene=0#rd
DirichletProcess 和Dirichlet Process Mixture模型
了解DP主要是因为当时在看Mahout源代码的时候发现有个算法以前竟然没接触过,觉得挺有意思就仔细学了下。DP不太好理解,它被称为分布的分布。从DP抽取出的每个样本(一个函数)都可以被认为是一个离散随机变量的分布函数,这个随机变量以非零概率值在可数无穷个离散点上取值。DPM是非参数贝叶斯聚类模型,聚类时可以让模型自动学习类数。虽然听着好像很不错,其实有很多槽点。
LatentDirichlet Allocation (LDA)
LDA是文本处理里的利器,经常被用于对文本进行聚类,或者预处理。更详细的理论介绍可见参考文献3。当时我尝试把它用于佳缘的发信数据,看看能不能找出一些有明显特征的发信群体。聚类结果整体上基本不可解释,但有一个类别意义很明显,这类人主要给离婚异性发信。大家可以想想这类人是什么人。尝试感想是LDA直接用于聚类未必靠谱,但是可以把它用于数据的预处理,比如降维什么的。
AlternatingDirection Method of Multipliers (ADMM)
ADMM是个优化算法框架,它把一个大问题分成可分布式同时求解的多个小问题。理论上,ADMM的框架可以解决大部分实际中的大尺度问题。槽点很多,谨慎使用!
DeepLearning
前段时间,我利用佳缘的用户头像数据,尝试了DL里的一些常用算法。为了看算法的效果,我把用户的性别作为预测目标。这种预测对于佳缘的业务直接意义不大,因为用户在注册时就被要求填写其性别。
算法预测的效果还是不错的,准确度达到了87%。这还是在很小训练集上训练后获得的精度。DL麻烦是训练时需要调整的超参数实在是太多了,改一次超参数就要重跑一次,真的是很耗时。没有好的计算资源的话,建议别考虑DL。
利用GBDT模型构造新特征
实在想不出更多的有用特征?尝试下Facebook提出的利用GBDT来构造新特征的方法吧。我们的使用经验表明确实还是挺靠谱的,只要你效率能扛得住。
特征哈希(FeatureHashing)
很多个性化特征?特征数量太多?试试特征哈希的方法吧。此方法我们目前也没使用过,欢迎有经验的人发表意见。
不平衡数据的抽样方法
正负样本数量差异太大?训练样本太多机器跑不动?尝试下参考文献7中的抽样方法吧。我们之前的尝试表明还是有点作用的。不过如果你的数据不是大得跑不动,那尝试的必要性就不太大了。
转载地址:http://mp.weixin.qq.com/s?__biz=MzA5ODUxOTA5Mg==&mid=2652550066&idx=2&sn=7295273ea8f32607a82c958ded254bac&scene=0#rd
相关文章推荐
- 关于 推荐系统方面的一些顶会顶刊
- 推荐:Cheat Sheets,一些小卡片,主要是技术方面的,外加WOW
- 技术测试:你是oltp应用开发方面的高手吗?[转载]
- 推荐我们站点一些有价值的网络安全维护及服务器安全维护技术的资料,望大家多多支持本站(02/22更新
- [转载]基于数据挖掘技术的入侵检测系统
- 集中推荐一些Map Projection方面资源
- 虚拟机Linux Redhat 9与目标开发板进行系统编程方面的问题总结(转载)
- 近来忙做一些HR方面的工作。又要了解业务,又要确定技术上的可行,累得快挂了。
- 双边贸易网 YouMeTrade.com 上线了, 欢迎大家推荐网站优化技术,也发一些我的心得.
- 填写技术专长,系统自动为你推荐好友
- 转载:离职了,总结的一些系统分析的经验
- 系统监控技术之主机模块(精通Unix下C语言编程与项目实践) 推荐
- 利用 .NET 3.0 技术构建互操作保险系统[转载]
- 一些C#方面的基础知识(转载)
- 从今天开始添加一些网络方面的技术笔记
- 转载:利用OPC技术实现双网冗余系统的通讯驱动
- [转载]中文搜索引擎技术揭密:系统架构
- 利用 .NET 3.0 技术构建互操作保险系统[转载]
- 转载 [技术讨论]某国外大型业务系统的前期分析对话
- 推荐:详解还原系统保护技术原理和攻防