2016中国高校计算机大赛——大数据挑战赛极客奖:COM团队

摘要:2016中国高校计算机大赛——大数据挑战赛是由教育部和全国高等学校计算机教育研究会联合主办,清华大学和阿里云联合承办,在“天池大数据众智平台”上开展的高端算法竞赛。本次赛题是对于阿里音乐流行趋势进行预测,本文整理自大赛极客奖COM团队的答辩演讲。

本文整理自获得本次2016中国高校计算机大赛阿里音乐流行趋势预测比赛中COM团队答辩视频。在游戏世界中其实流行这样的一句话就是:不怕神一样的对手,就怕猪一样的队友。团队对于最后获得的成绩是十分关键的,COM团队由三名成员组成的,下图为COM团队成员简介:

团队中的杨南海同学是idea担当,几乎承担了本次比赛中所有的想法工作。曾钢同学,人称超级码力,几乎承担了团队中全部的代码工作。张志伟同学,则是帮助大家进行协作的云服务员。之所以起名为COM团队,其实想的是Come on,表达一个积极向上的意思。COM团队谈到希望能通过这次比赛使得大家在数据挖掘领域对于一些模型算法的研究达到更深层次的水平。

在本次比赛的答辩中,COM团队的论述主要分为以下四个方面:
一、问题分析
二、数据清洗
三、核心算法
四、总结思考

一、问题分析
首先赛题给出了阿里音乐6个月的历史数据,需要预测出之后60天每个艺人的播放量。其实无论对于数据挖掘的入门者还是资深人员来说,首先需要做的就是对于数据集进行划分,COM团队将所给的数据划分成为了三个数据集:Train、Test和Submit 。正好因为阿里音乐提供了6个月历史数据,所以可以进行比较好的划分。

值得一提的是,COM团队谈到其实赛题数据这里面蕴含着一个比较大的坑,参加比赛的同学都知道,就是所给出的6个月的数据是没有8月31号的数据的。

那么拿到这个问题之后,应该怎样去做呢?COM团队谈到因为需要预测60天的数据,所以这很明显是一个时间序列的预测问题。但是在进行序列预测时,可以预测60天是一个值也可以是60个值,再往深层次去想,其实这不是一个分类问题,而是一个最基本的回归问题。对于回归问题,通用模型是非常多的,包括GBDT以及随机森林等,这里如果预测一个值就比较简单了。而COM团队在比赛中一直在考虑是不是存在不通用的模型,也就是经过数据分析之后的一些特别的能满足数据的专用模型。

二、数据清洗
在数据挖掘界,有这样一句常用的话就是“Garbage in garbage out!”。如果数据本身就是比较脏的话,无论模型再好,特征提取的再好,提取出来的东西照样是比较脏的。COM团队通过一些专业的数据调查发现24%的人会在前5s结束这首歌,28%的人会在前10s结束一首歌,35%的人会在前30s结束一首歌,48%的人会在歌曲结束前结束一首歌。所以,假设一个正常人的人听歌,其上限一个小时应该在60*60在千的量级;正常的自然操作,上限应该60*60/(5~30)之间算是更加的自然,所以120~720之间应该算是正常人的上限,平均下来应该更加偏向于120;最终,我们经过试验和计算,取的是每个人每个小时的上限250,在本地的测试效果最好。最后清洗的数据能占到总播放量的0.24%,这个占比看起来比较小,其实这些数据是集中在某个艺人上面的。

举个例子来说,就是如下图所示的内部代号为D13的艺人。可以看到图中蓝线的部分是在清洗数据之前的该艺人的音乐播放量,底下绿色的线表示的是在进行数据清洗之后的播放量,可以看出这两者之间的实际相差是非常大的。如果不去进行数据清洗,直接将特征提取出来丢给任何一个模型,其实脏数据就相当于随机的噪音。而在后面的时间,如果表现成前面的情况对实际的结果影响比较大,甚至得出的结果可能是负值,还不如不进行预测。所以其实在数据挖掘领域,数据清洗是在时间上要优先于其他所有需要做的事情的。






三、核心算法

COM团队接下来介绍了最主要的核心算法,他们谈到在第一赛季进行比赛时是比较头疼的,整个第一赛季,COM团队在核心算法上分成了三个部分,团队中每个成员负责一个角度,这三个角度分别是User、song和artist。可以看到,三个角度所提出的特征几乎都不一样。

  • 在user的角度,就是user在数据集上的听歌的最大值,最小值,中位数等通用特征。用户听过artist,听歌时间,歌曲语言的top-n进行one-hot encode。对上面的特征进行聚类,来刻画用户的艺人偏好,时间偏好,语言偏好等。
  • 而在song的角度,就是最近k天听歌、收藏、下载的统计听歌次数在k次以上的user数量的统计假期。工作日听歌次数的统计和被预测天同一个星期的听歌次数的统计。
  • 在artist的角度而言,就是artist的user听歌次数分级统计。artist自身歌曲、专辑信息统计从影响每个artist每天的被听的次数的角度建模,直接进行结果的预测。

第一个赛季大约有一个月时间,COM团队本身想的是通过这个比赛对于数据挖掘更通用的模型有更加深入的了解,但是在做第一个赛季的时候,每个成员从一个角度出发,基本上将所有的通用模型都尝试了一遍,最终发现效果并不是特别理想,所以在第一赛季结束之前,COM团队曾经基本上快要放弃比赛了,因为确实比较头疼,最好的排名才到了200多名的样子,基本上就是快要放弃了。但是就像一句古话所说的“柳暗花明又一村”,在COM团队就要放弃的时候,天池就突然换数据了,他们就用20行左右的代码做出来一个值却莫名其妙地排到了第二名。

这究竟是为什么呢?COM团队详细地进行了介绍。下图中最上面的就是目标函数,最右边的式子对应于阿里音乐真实的播放量,这是无法改变的,COM团队能做的就是改变被1减去的那个值。其实在最优化这个问题的时候,如果使用这样的一个方程放在高中,很多人就可以解出来。其实目标函数最右边的数值是固定的,左边的数值是很容易受到极小值影响的。给大家举一个非常简单的例子,假如某一个artist在59天内是一个非常稳定的或者固定的值,但是在某一天真实值是1或者2的话,这样就会出现预测值在59天中是完全正确的,没有任何偏差,但是某一天则会存在好几倍的差距。这时对于目标函数而言,59天的方差是0,但是一天差距在8倍以上,整个的得分就是负数了。所以这个目标函数是非常诡异的,59天相差无几,但是只要有一天差距很大就会造成极大的影响。如果预测比较小的值,即使与正确值之间的偏差比较大,但是得到的分数也不至于是负数。

所以回到目标函数来说,可能这个函数放在高中,很多人都能解决,但是在大学当大家学的东西多了以后,可能就不容易联想到解法了。实际上,对于这个目标函数优化而言,高中生就会说是一个复合函数求导的问题,可以通过极值为零得到最优化的值,当然这里是将问题进行了松弛,不预测60天每天的独立值,而是预测60天统一的值,这样对于整个函数进行求导就可以了。其实这个问题就是复合函数求导,最终得出最优时的公式。通过这个公式,大家可以看出,公式形式比较简单,最终体现在代码上也是比较简单的,所以在第二赛季一开始,刚更换数据时,COM团队就感觉非常兴奋,因为一个非常简单的想法就能取得很不错成绩。

COM团队之后对于ME有什么样的好处进行了具体分析。其实前面可以看到,公式非常简单,实现上也非常方便,基本上只需要20~30行代码就可以完成。其实最小化极小值对目标函数的影响并不像求平均值,因为求平均值很关心大数的影响,但是ME算法对于极小值的权值会更高一些,如果进行单值预测,算下来就会比均值好很多。

但是,预测一个值是不是存在问题呢?答案时肯定的。使用8月份最真实的数据预测8月份的数据,使用这样的一个公式计算下来,最后也就才48万多分,所以预测一个值并不能提供继续加分的功能。所以说对于一个值而言,ME可能已经做到最好了,所以后面还需要做波动,对于一个值而言,是存在上限的,不去对于数据进行仔细分析以及特殊化处理,就会存在上限。

数学界是存在一个王冠的,下面这个题就是一个看图找规律的过程,解出此题就能获取数学界的王冠。

言归正传,正如上面的思想来看数据。从100个艺人拿出几个,可以看出这些数据的规律还是非常强的,像这些尖端的突起是存在一定的规律的。但是ARIMA是难以把握这些波动的,有些时候正常情况下的波动是向上的,但是预测出来却是向下的,所以ARIMA这条思路在COM团队第二赛季是放弃的。

但是这个图是非常有规律的,如果不能使用7天的周期进行预测,那么能不能剑走偏锋,单纯只用一个值呢?其实最大值什么时候出现是非常明显的,COM团队考虑到使用一个值去替换最大值出现的那天,分数会不会非常好。所以,COM团队对于可能会出现极大值的天用简单的ME进行替换,这个是周期的问题。

因为得到的周期大约是7天,而不是3年或者5年这样的,其实这是不常见的。但是在日常生活中,7天作为一个周期是非常明显的,5个工作日和周末。而看到刚才的图像中尖端的突起,也就是在60天中,能够替换的值就只有8个,所以并不是特别靠谱。

那么是不是还存在可以更好地模拟波动的方式呢?其实可以看下图,在两个红点下方都会出现一个比较明显的衰减的过程,为什么会存在衰减呢?其实数据中提供了每个新歌的发布日期,后来发现,在红点出有一个新歌的发布,那么考虑能不能在新歌发布之后进行数据的衰减,而不是单纯地使用前面所有的数据,这就与数据挖掘里面比较常用算法思想比较类似,就是不同的数据做区分来对待,并不是使用同一模型进行挖掘,这时就考虑到将新歌和老歌区分出来。

接下来这个图就比较明显了,红线代表的是新歌的播放量随时间的变化,上面的绿线表示的最原始的播放量,整个蓝线表示去除掉新歌的播放量。其实大家可以看出,在后面,老歌的播放量是非常稳定的,但是新歌会存在一个衰减的过程,所以COM团队考虑能不能对于新歌做一个衰减模型。

在为新歌做衰减模型时,其实方式有很多种,如果使用普通的线性回归,假设新歌的定义是在30天内发布的歌,因为从数据可以看到基本上一个月以后,新歌就与老歌的数据持平了。COM团队考虑能不能将新歌的数据进行线性回归,但是大家仔细观察下图可以发现,新歌前期的衰减是非常明显的,所以这个斜率就会比较大一些,很容易出现负值。虽然泛化能力比较强,但是并不能很好地模拟新歌的趋势。

COM团队对于新歌衰减模型进行了构建,可以看出Y很容易受到衰减的影响,可以看到红线这部分,如果对于Y变化之后再变化回去,预测值很容易受到影响。COM团队于是考虑可不可以对X进行变换,实际上通过这样的拟合之后,曲线与真实的播放量就比较接近了,这就是COM团队的新歌衰减模型NSI。

剩下的就是COM团队对前面第二赛季算法的总结了,老歌使用ME算法,新歌使用NSI算法,老歌周期使OST算法。

四、总结思考

COM团队谈到在走完第一个赛季之后,最好的表现也在200名以后,但是在新赛季天池更换数据以后,COM团队的成绩在三个模型不断累加的过程中就有了一个比较大的提升,但是后来这个提升就止步了。COM团队也在考虑这个原因,为什么周期分数会有下降?以及有些artist没有发新歌,但是还会出现衰减?COM团队表示这是值得继续研究的地方。

时间: 2024-08-22 14:40:34

2016中国高校计算机大赛——大数据挑战赛极客奖:COM团队的相关文章

2016中国高校计算机大赛——大数据挑战赛极客奖:data_coders团队

2016中国高校计算机大赛大数据挑战赛上,data_coders团队对阿里音乐流行趋势预测进行了自己的阐述理解.首先对赛题进行了分析,确定解题思路,重点对算法进行了说明,包括类别分析.特征提取和算法模型,最后做了简要的总结.一起来欣赏下.   问题分析 已知20150301-20150830的用户行为和歌手歌曲历史记录,预测9月1日至10月30日1000位歌手每天的歌曲点播量? 对用户来说,用户涉及到的歌手进行点播量预测累加,但是单个用户点播行为随机性大,误差积累,模型复杂,直接Pass掉:对歌

2016中国高校计算机大赛——大数据挑战赛亚军:陕西师范大学团队

2016中国高校计算机大赛大数据挑战赛上,陕西师范大学网路信息中心团队对阿里音乐流行趋势预测进行了自己的成果展示.首先从解题思路开始谈起,重点对算法进行了阐述,包括类别最优值选择法和子序列模式匹配法,最后对比赛中遇到的问题进行了总结.一起来了解下.   总体思路 陕西师范大学的同学们采用了标准时间序列的分解思想,将日播放量分解为长期趋势.中期与随机干扰三项,但在最终的算法当中,只对长期趋势进行了预测,我们的算法分为数据预处理.编码.分类.预测方法选择和附加处理五个环节,整体来讲是以歌手为单位,对

2016中国高校计算机大赛——大数据挑战赛季军:Heal the World团队

2016中国高校计算机大赛大数据挑战赛上,Heal the World团队对阿里音乐流行趋势预测展示了自己的比赛成果.主要从问题分析开始谈起,确定解题思路,重点分享了分类与预测,进行了五步分离,最后做了简要总结.擦亮眼睛快看看吧.   问题分析 此次比赛给出了1000位艺人在2015年3月1日至2015年8月30日之间的所有歌曲数据以及相关用户的行为.要求预测9.10月份的艺人所有歌曲的播放量. 但是我们发现,预测的数值在一个比较短的时间以后都是一个常数.这启发我们直接利用一个常数作为预测.我们

惠州将建中国高校科技成果大数据中心

还有9天,首届中国高校科技成果交易会(以下称"科交会")将在惠州举行.6月12日,记者从科交会组委会了解到,届时将有近300所国内外高校参会,展览和推介近万项科技成果,成为改革开放以来高校成果最集中的一次交易会. 经济第一大省遇上科研第一大队伍 12日,5个主办单位的有关负责人出席新闻发布会,介绍了科交会的准备情况.教育部科技发展中心主任.首届科交会组委会秘书长李志民介绍,广东是中国经济第一大省,高校是中国科研的第一大队伍,两者在科交会相遇将碰撞出产学研合作的火花,推动更多高校成果在惠

中国最大统计学与大数据盛会召开在即

文章讲的是中国最大统计学与大数据盛会召开在即,5月27日-29日,由中国人民大学.北京大学,伦敦政治经济学院.百分点集团与统计之都联合举办的"大统计与数据科学联合会议"将在北京召开,这是迄今为止中国最大的统计学与大数据盛会,是行业实践深度分享与大数据技术爱好者交流的平台,众多国际重量级嘉宾及专业领域顶级学者将参与主题演讲. 作为中国大数据产业的践行者与领军者,百分点集团将与北京大学商务智能研究中心携手,举办"2016百分点数据与价值国际论坛",届时将有来自埃森哲.加

专家支招中国首个国家级大数据综合试验区建设

中国首个国家级大数据综合试验区建设成为海内外关注焦点.专家纷纷支招中国首个国家大数据综合试验区的建设:立法入手.发挥市场作用,加大人才培养和引进. 2016年2月,中国国家发改委.工信部.中央网信办发函批复,同意贵州省建设中国首个国家大数据综合试验区. 贵州省长孙志刚数博会上表示,贵州将以建设中国首个国家级大数据综合试验区为契机,在数据资源共享开放.数据中心整合利用.大数据创新应用.大数据资源流通.大数据产业聚集.大数据国际合作.大数据制度创新等7个方面进行系统性试验,充分挖掘大数据的商用价值.

国双成功登陆纳斯达克成中国首家赴美上市大数据企业

当地时间9月23日,中国领先的企业级大数据分析软件提供商Gridsum Holding Inc.(国双)成功在美国纳斯达克全球市场挂牌上市,意味着国双成为中国首家赴美上市的大数据企业,也是2016年以来第五家在美国上市的中国企业. 国双的股票代码为"GSUM",发行价为每股ADS(美国存托凭证)13美元,高于定价区间.国双此次赴美IPO共融资约8,710万美元,首日开盘价为15.25美元,报收于15.75美元,相对于发行价涨幅为21.15%. 此前的美国当地时间8月26日,国双正式向美

大数据巨头入驻中国 Cloudera领跑大数据标准化

ZDNet至顶网服务器频道 12月15日 新闻消息:近年来,随着云计算.移动互联网.物联网等技术的快速发展,数据正呈爆炸式增长,大数据时代已经来临.面对中国市场对大数据解决方案的强劲需求,国际领先的大数据巨头Cloudera公司于12月10日正式宣布在中国设立分公司,将帮助Cloudera提升其在中国的影响力,为中国的用户提供大数据解决方案. 12日,Cloudera在北京召开了媒体见面会,包括Cloudera公司创始人兼首席执行官Mike Olson(欧胜迈).Cloudera全球副总裁大中国

去年QQ哪个表情最受欢迎?2016年QQ年度表情大数据告诉你

昨日,腾讯QQ发布了<2016年QQ年度表情大数据>,数据显示,"呲牙"表情连续五年排名第一,发送量达303亿次,"微笑"."偷笑"表情位列二三为,分别被使用了150亿和130亿次以上,"发呆"."流泪"紧随其后分列第四和第五名,总数也都超过了100亿次.通过前五名的表情可以看出,虽然也会"流泪",但如何"笑"依然是QQ用户心中的主题.对于拥有8.77亿活