阿里巴巴菜鸟级数据产品经理半年回顾总结篇
干货教程:如何绘制业务流程图(二)
干货教程:如何绘制业务流程图(一)
技术贴:如何在数据库中秘密地查询隐私数据
攻略教程:信息图(infographic)是怎么做出来的?
分析师一定要看!用数据讲故事的五个步骤
技术篇:怎样玩转千万级别的数据?
北漂书生:大数据时代SEO数据如何搜集和分析
干货,从十大问题重新认识并读懂互联网
相似图片搜索、算法、识别的原理解析(下)
相似图片搜索、算法、识别的原理解析(上)
制作信息图时请遵循这10条原则
提高表格可读性的一些技巧,适用于Excel、PPT等数据报表
实用教程:如何让Excel图表更具“商务气质”?
一张数据信息图是这样制作完成的
菜鸟读财报,如何从上市公司财报中挖情报?
北大数据分析老鸟写给学弟们一封信
如何一步一步制作出高品质数据信息图?
总结:海量数据分析处理的十个方法
【实战经验】数据分析师如何了解老板真正想法?
零售业数据分析那些事儿
数据分析时l常用电子表格公式【大全】
用数据来告诉你 上市公司财报的秘密
这12个数据能 帮你搞定淘宝店铺
首席工程师揭秘:LinkedIn大数据后台是如何运作的?(四)
首席工程师揭秘:LinkedIn大数据后台是如何运作的?(三)
首席工程师揭秘:LinkedIn大数据后台是如何运作的?(二)
首席工程师揭秘:LinkedIn大数据后台是如何运作的?(一)
淘宝网店从激活到挽留,4步走玩转数据营销
文案怎样写才有意思、不空洞、打动人?
入门级扫盲贴:数据分析的步骤有哪些?
关系即数据,论社交媒体的关系转换
数据的力量,苹果教你用数据鄙视竞争对手
谁说文科生不能做数据分析?数据分析入行→技能提升→优势
产品运营数据分析——SPSS数据分组案例
如何追踪iPhone和iPad等移动设备的用户行为数据?
阿里巴巴中国站:用户满意度指标权重计算方法
广告中的AdNetwork、AdExchange、DSP、SSP、RTB和DMP是什么?
信息图制作教程:关于数值的表现
为什么大数据会如此轰动?(值得深度的文章)
多图技术贴:深入浅出解析大数据平台架构
面板数据分析中标准误的估计修正——根据Peterson (2009)的归纳
财务官、投资人、CIO看过来:给企业数据定价
推荐系统中常用算法 以及优点缺点对比
探索Weotta搜索引擎背后的大数据技术
如何识别虚假数据?
为什么我们像驯化小狗那样驯化算法
程序员必须知道的10大基础实用算法及其讲解
电子商务:最影响转化率的九大要素
如何迅速成为一名数据分析师?
想从事大数据、海量数据处理相关的工作,如何自学打基础?
如何用亚马逊弹性MapReduce分析大数据?
译文:机器学习算法基础知识
给hadoop新手的一封信:Hadoop入门自学及对就业的帮助
从入门到精通,我是这样学习算法的
小商家,从老客户身上获取的数据才更有意义
13页PPT讲述:大数据下网站数据分析应用
40页PPT详解:京东大数据基础构架与创新应用
67页PPT解密搜索引擎背后的大技术:知识图谱,大数据语义链接的基石
营销洞察力——10个营销度量指标
技术篇:前端数据之美如何展示?
董飞:美国大数据工程师面试攻略【PPT】
easel:如何制作好的信息图——来自专家的顶级技巧
大数据实操:以3D打印机为例,如何知道卖点有没有市场需求?
大数据建模 需要了解的九大形式
用户画像数据建模方法
从规划开始,公司or企业如何入手和实施大数据?
干货:商品信息数据分析和展现系统的设计与开发
高手教你用Excel制作百度迁徙数据地图
50篇干货:淘宝店/电子商务如何玩转数据分析?
精华索引:大数据实际应用案例50篇
验证最小化可行产品 (MVP) 的 15 种方法
干货:数据分析师的完整知识结构
大数据技术Hadoop面试题,看看你能答对多少?答案在后面
用SPSS做数据分析?先弄懂SPSS的基础知识吧
怎样做出优秀的扁平化设计风格PPT? 扁平化PPT设计手册#3
解答│做大数据过程中遇到的13个问题
40页PPT│社交网络发展的新动力:大数据与众包
以Amazon、豆瓣网为例,探索推荐引擎内部的秘密#1
怎样做出优秀的扁平化设计风格PPT?#2
怎样做出优秀的扁平化设计风格PPT?#1
36页PPT│大数据分析关键技术在腾讯的应用服务创新
如何丰满地做SWOT分析?
【35页PPT】TalkingData研发副总阎志涛:移动互联网大数据处理系统架构
27页PPT|以珍爱网为例,如何构建有业务价值的数据分析系统?
国外数据新闻资源分享
21页PPT重磅发布:Mariana——腾讯深度学习平台的进展与应用
从0到100——知乎架构变迁史
PPT解读:百度大数据质量保障方案探索
45页PPT|大数据环境下实现一个O2O通用推荐引擎的实践
从数据看豆瓣兴衰
深度学习系列:解密最接近人脑的智能学习机器——深度学习及并行化实现(四)
重磅推荐:129页PPT讲述移动时代创业黄金法则 via:腾讯企鹅智酷
重磅推荐:大数据工程师飞林沙的年终总结&算法数据的思考
OpenKN——网络大数据时代的知识计算引擎
大数据下城市计算的典型应用
技术贴:大数据告诉你,如何给微信公众号文章取标题?
你的QQ暴露了你的心——QQ大数据及其应用介绍PPT
如何从企业报表看企业的生存能力?
实用的大数据技巧合集
技术帝揭秘:充电宝是如何盗取你的个人隐私的?
重磅!50页PPT揭秘腾讯大数据平台与推荐应用架构
原创教程:饼图之复合饼图与双层饼图(1)
PPT:大数据时代的设计特点——不了解这个你做不了今天的设计
教程贴:如何用方程式写春联?
原创教程:如何用Excel制作简易动态对比图
深度译文:机器学习那些事
教程帖:数学之美——手把手教你用Excel画心(动态图)
董老师走进斯坦福,聊聊硅谷创业公司和大数据的事儿(附课件PPT下载)
【限时】年度钜献,108个大数据文档PDF开放下载
董飞专栏:大数据入门——大数据相关技术、Hadoop生态、LinkedIn内部实战
亿级用户下的新浪微博平台架构
一张图了解磁盘里的数据结构
浅析数据化设计思维在阿里系产品的应用
美团推荐算法实践
一个P2P创业公司有哪些部门,都是做什么的?
一个P2P平台的详细运营框架是怎样的?
机器学习中的算法——决策树模型组合之随机森林与GBDT
神经网络简史
58页PPT看懂互联网趋势,大数据/物联网/云计算/4G都有了
广点通背后的大数据技术秘密——大规模主题模型建模及其在腾讯业务中的应用(附PPT)
微信红包之CBA实践PPT——移动互联网海量访问系统设计
一文读懂机器学习,大数据/自然语言处理/算法全有了……
搜狐新闻客户端的背后大数据技术原理——推荐系统(PPT)
原创教程:用Excel做动态双层饼图
半小时读懂PMP私有广告交易市场
怎样分析样本调研数据(译)
PPT:支付宝背后的大数据技术——DataLab、Higo的实践及应用
大数据技术人员的工具包——开源大数据处理工具list(限时下载)
计算机视觉:随机森林算法在人体识别中的应用
24页PPT:机器学习——支持向量机SVM简介(附下载)
互联网高手教你如何搜集你想要的信息
深度:对地观测大数据处理、挑战与思考
原创教程:用Excel做饼图之复合饼图与双层饼图(2)
移动大数据时代: 无线网络的挑战与机遇(附pdf下载)
Excel使用技巧——25招必学秘技
【年度热门】加上这些 Excel 技能点,秒杀众人(多图)
原创教程:用Excel做纵向折线图
知识图谱——机器大脑中的知识库
何明科专栏:用数据化的方式解析投资条款
DT时代,如何用大数据分析创造商业价值(23页PPT)
MIT牛人梳理脉络详解宏伟现代数据体系
你的老婆是怎么算出来的?揭秘佳缘用户推荐系统
飞林沙:商品推荐算法&推荐解释
PPT:如何成为真正的数据架构师?(附下载)
开源大数据查询分析引擎现状
董飞专栏:打造数据产品必知秘籍
译文:如何做强大又漂亮的信息图
如何使用Amazon Machine Learning构建机器学习预测模型
如何运用数据协助货架管理(内附26张PPT)
SVM算法
主流大数据系统在后台的层次角色及数据流向
PPT:阿里全息大数据构建与应用
人脸识别技术大总结——Face Detection & Alignment
教程:用Excel制作成对条形图
易观智库:大数据下的用户分析及用户画像(18页PPT附下载)
技术向:如何设计企业级大数据分析平台?
电商数据分析基础指标体系
IBM SPSS Modeler 决策树之银行行销预测应用分析
拓扑数据分析与机器学习的相互促进
基于 R 语言和 SPSS 的决策树算法介绍及应用
用php做爬虫 百万级别知乎用户数据爬取与分析
另类新浪微博基本数据采集方法
以10万+阅读的文章为例 教你做微信公众号的运营数据分析
破解数据三大难题:变现?交易?隐私?
微店的大数据平台建设实践与探讨
阿里巴巴PPT:大数据基础建议及产品应用之道
基于社会媒体的预测技术
人工智能简史
技巧:演讲中怎样用数据说话
马云和小贝选谁做老公?写给非数据人的数据世界入门指南
掘金大数据产业链:上游资源+中游技术+下游应用
原创教程:手把手教你用Excel做多层折线图
销售分析:如何从数据指标发现背后的故事
如何一步步从数据产品菜鸟走到骨干数据产品
也来谈谈微博的用户画像
行走在网格之间:微博用户关系模型
如何拍出和明星一样美爆的自拍照?斯坦福大学用卷积神经网络建模告诉你
运营商如何玩转大数据? 浙江移动云计算和大数据实践(PPT附下载)
大数据分析的集中化之路 建设银行大数据应用实践PPT
腾讯防刷负责人:基于用户画像大数据的电商防刷架构
创业提案的逻辑
友盟分享 | 移动大数据平台架构思想以及实践经验
寻路推荐 豆瓣推荐系统实践之路
“小数据”的统计学
重磅!8大策略让你对抗机器学习数据集里的不均衡数据
小团队撬动大数据——当当推荐团队的机器学习实践
微博推荐架构的演进
科普文 手把手教你微信公众号数据分析
信息图制作的六个注意点
【权利的游戏】剧透新玩法:情理之中?意料之外
推荐系统(Recommender System)的技术基础
核心算法 谷歌如何从网络的大海里捞到针
Quora数据科学家和机器学习工程师是如何合作的
阿里巴巴PPT:大数据下的数据安全
数据建模那点事儿
全民拥抱Docker云–Lhotse系统经验分享
实时股票分析系统的架构与算法
架构师必看 京东咚咚架构演进
什么叫对数据敏感?怎样做数据分析?
推荐系统基础知识储备
刘德寰:数据科学的整合与细分 数据科学的七个危险趋势(视频)
实际工作中,如何做简单的数据分析?
分布式前置机器学习在威胁情报中的应用(附PPT下载)
数据科学 怎样进行大数据的入门级学习?
扛住100亿次请求 如何做一个“有把握”的春晚红包系统?(PPT下载)
从 LinkedIn 的数据处理机制学习数据架构
大数据会如何改变管理咨询公司(I)
优秀大数据GitHub项目一览
生硬的数字和数据新闻:这么近,那么远
经典大数据架构案例:酷狗音乐的大数据平台重构(长文)
揭秘中兴大数据在银行领域的系统部署
基于大数据的用户画像构建(理论篇)
【R】支持向量机模型实现
数据图处处有陷阱?五个例子教你辨真伪
如何用R绘制地图
你确定你真的懂用户画像?
数据模型需要多少训练数据?
【接地气】01 数据报表的颜色怎么配
游戏价值和数据分析新思路
【R】异常值检测
快的打车架构实践
豆瓣还是朋友圈:大数据、新方法和日常问
PPT数据图表,怎么做才好看?
大道至简的数据体系构建方法论
数据的误区及自身业务
新浪微博的用户画像是怎样构建的?
面试干货!21个必知数据科学面试题和答案part1(1-11)
易观智库:中国大数据产业生态图谱2016(附下载)
Airbnb的数据基础架构
50PB海量数据排序,谷歌是这么做的
大数据时代工程师如何应对–今日头条走进硅谷技术讲座
D3.js教学记(下)
D3.js教学记(上)
飞林沙:企业级服务公司如何赚钱?只有平台级产品才有大数据的理论
一个母婴电子商务网站的大数据平台及机器学习实践
7大板块 组成数据分析师的完整知识结构
干货:SaaS领域如何分析收入增长?
学术 | 词嵌入的类比特性有实用意义吗?
6个用好大数据的秘诀
一个数据库外行眼中的微信优化 (附专家补充)
大数据调研,如何实现快全准?
数据大师Olivier Grisel给志向高远的数据科学家的指引
数据堂肖永红:数据交易的是使用权或数据的增值,而不是数据本身(PPT附下载)
淘宝商品详情平台化思考与实践
刘译璟:百分点大数据理念和实践(图文+PPT下载)
如何快速搞定一份看起来还不错的演示文档?
【BABY夜谈大数据】决策树
数据驱动设计:数据处理流程、分析方法和实战案例
美图数据总监:Facebook的法宝,我们在产品中怎么用?
树的内核:量化树结构化数据之间的相似性
拿到用户数据之后,LinkedIn怎么赚钱?
GrowingIO张溪梦:增长黑客的核心 企业应该重视产品留存率(附PPT下载)
[译]Airbnb是如何使用数据理解用户旅行体验的?
微博推荐数据服务代理: hyper_proxy的设计和实现
星图数据谷熠:消费领域DaaS 大数据重构未来商业游戏规则(附PPT下载)
鲍忠铁:TalkingData大数据技术与应用实践(PPT下载)
【干货教材】数据分析VS业务分析需求
九枝兰专访:数字营销的核心—企业如何使用数据管理平台(DMP)进行精准营销
我们的应用系统是如何支撑千万级别用户的
R应用空间数据科学
Excel进行高级数据分析(上)
Excel进行高级数据分析(下)
国内各大互联网公司2.0版技术站点收集
网站数据分析思路导图
大数据分析报表设计开发要素
大数据需要的12个工具 推荐
YARN/MRv2 Resource Manager深入剖析—NM管理
YARN/MRv2 Resource Manager深入剖析—RMApp状态机分析
Hadoop 1.0与Hadoop 2.0资源管理方案对比
Hadoop 2.0中单点故障解决方案总结
Hadoop 2.0 (YARN)中的安全机制概述
Hadoop 新特性、改进、优化和Bug分析系列1:YARN-378
Hadoop 新特性、改进、优化和Bug分析系列2:YARN-45
Hadoop 新特性、改进、优化和Bug分析系列3:YARN-392
Hadoop版本选择探讨
探究提高Hadoop稳定性与性能的方法
《Effective C++》读书笔记(第一部分)
Hadoop分布式环境下的数据抽样
Hadoop计算能力调度器算法解析
如何编写Hadoop调度器
数据结构之红黑树
Hadoop pipes设计原理
《C++ Primer plus》学习笔记之”类”
《C++ Primer plus》学习笔记之”类继承”
《C++ Primer plus》学习笔记之”C++中的代码重用”
《C++ Primer plus》学习笔记之”异常”
《C++ Primer plus》学习笔记之”RTTI”
Hadoop pipes编程
Hadoop Streaming高级编程
《C++ Primer plus》学习笔记之”标准模板库”
《C++ Primer plus》学习笔记之”输入输出库”
Linux Shell 命令总结
算法之图搜索算法(一)
awk使用总结
素数判定算法
《C++ Primer plus》学习笔记之“函数探幽”
使用Thrift RPC编写程序
如何在Hadoop上编写MapReduce程序
怎样从10亿查询词找出出现频率最高的10个

大数据时代工程师如何应对–今日头条走进硅谷技术讲座

于2017-04-01由小牛君创建

分享到:


今日头条

作者:董老师

2月2号晚上,旅美科技协会硅谷分会邀请到今日头条技术副总裁杨震原先生做客硅谷,聊一聊他眼中的大数据和数据背后的故事。他介绍工程师在大数据时代,应如何拥抱变革、改变思路。诠释头条等都是如何根据各种收到的数据进行调整产品的。在数据越来越多、硬件进步速度减慢、应用越来越多的情况下如何应对。

本文由 董飞老师翻译并投稿至大数据培训,就上小牛学堂,转载必须获得原文作者、译者和本站的同意。拒绝任何不标明作者和出处的转载。

进入董飞先生 在大数据培训,就上小牛学堂的专栏>>>

今日头条是什么?

 

657838539

下面就是杨先生的演讲实录:

大数据下记录“样本=总体”

先给大家讲网上段子。我们把大数据比作什么呢?高中生的初夜!问问大家,有谁的初夜是在高中的呢?凡是举手的人都有做大数据的潜力,现在每个人都在讨论大数据,就像高中生都在讨论性,你做过吗?没有人做过,每个人都以为自己做过,每个人都声称自己做成,这是一个很有意思的事情,用这个来比喻大数据非常的恰当。

bigdata
其实从一点就能感知大数据在身边,我们每个人都在使用手机,手机上的传感器是越来越多,也越来越快,除了录拍照,医疗的传感器加入后就可以知道你的心跳、地理位置等都会被记录下来。

我们要把以前没有办法记录的数据都要记录下来,以前无法分析的数据都要去进行分析。比如大家的点击行为,所有的交互行为,所有行为的时长,都记录下来。之前采样的目的就是用最少的数据得到最多的信息。当我们可以获得海量数据的时候,它就没有什么意义了。数据处理技术已经发生了翻天覆地的改变,但我们的方法和思维却没有跟上这种改变。 但是在很多领域,从收集部分数据到收集尽可能多的数据的转变已经发生了。如果可能的话,我们会收集所有的数据,即“样本=总体”。

再给大家举一个例子,这是一个按钮平均触摸的时间分布,差不多是在44-112毫秒,每个按钮触摸时间是不一样的,大家觉得这个信息有用吗?也许没有什么用,但有一个研究机构表明,从一个用户接触的时间和面积的分布,我们可以推断用户按这个按钮时的情况。比如说一篇文章放了一个按钮,通过这个按钮的行为就知道有多少人是喜欢还是讨厌,像这样的记录很多人是之前没有想过的。

还有个美国的研究机构实验,通过手指来按压摄像头,就是把手机做在线的课程,手机的背后都有LED灯,把灯打开之后用手指遮挡住摄像头和灯可以记录你的心跳,甚至知道血液颜色的变化,间接获得心跳图。这样就可以知道学生是否在看这个图,是不是感兴趣还是开小差。

今日头条平台

大数据的收益

回到今日头条,对于阅读行为,我们以前会记录每篇文章在头条阅读的时间,而现在我们换一种记录方法去看某一页停了多少秒,又停留了多少秒,我们会把这个序列记录下来,可以推断这个用户是否读懂这个文章。这些行为的记录都是非常有价值的,在新的时代大家要去知道以前不能够记录的东西,没有用的东西,当这些都记录下来,未来某一天都会很有用的。

我们的分析的方法发生了变化,主要两方面因素,第一,产品应用越来越广泛了,有场景能够去用到这些数据;第二,我们分析数据的方法也越来越多。举例:搜索展示量与点击数是千亿量级的,在早期大家怎么样来用?就是要点击调权,如果说一个问题点击的次数很高就往前排,当分析方法没有那么进步的时候我们就用这种方法来做,这个方法有局限性,对于这一块有效,但是对于频次低的就没有效了。

现在随着神经网络算法发展,系统可以去训练100亿、甚至1000亿的用户浏览、点击行为数据,去主动学习用户查询与文章题目的内在关联,我们取得的收益是什么呢?整个团队34%的收益来自与这个项目,这是非常重大的改进,就是通过了计算方法的变化,使得我们能够去分析这么大规模的数据。

数据爆炸和硬件红利结束

再举一个今日头条阅读时长变化的数据,我们为什么可以改进阅读时长呢?我们通过数据的分析,把用户的行为数据全部都记录下来了,我们知道用户点了什么内容,将用户的行为和行为特征进行组合,最后仅30天的数据就达到了1.5PB,这样的数据对今日头条来说需要大量计算资源才能够处理。

通过充分的对数据的使用提高了用户的使用时长,更多的数据、更多的分析方法和应用的领域,这些就构成了大数据时代。

cpu性能提升
我们来看一下系统的硬件在最近几年的变化。2005年到2015年CPU在计算性能的提升区域,从2010年开始性能提升的曲线没有那么的高了。单靠CPU能耗比的提升速度是在显著衰减的,所以说摩尔定律已经宣告失效了,工程师依靠硬件红利的时代已经结束了。

如何迎接大数据挑战?

数据越来越多,应用越来越多,硬件进步的趋势减慢,这就构成了大数据时代工程师面临的挑战。如何面对?

我的应对思路是,工程师要变成一个个全栈研发,要通过更加广泛的学习,成为全栈研发才是未来的解决之道。当局部可以大幅度的改进时,更细的分工才会显示出优势,否则只有全栈综合考量才能找到突破点。

3

成为全栈研发的学习建议

在之前IT时代,有人去做CPU,有人去做UI的改进,大家的分工非常的细,比如说像以前做手机,从硬件,芯片,操作系统,交互,应用每一个都要去关注和打磨,这种很细的分工还能前进是因为每一块都有大幅提升空间。而现在CPU过一年就淘汰了,手机一年已经更新换代了,如果我们还是保持更细的分工不能够把握整体提高,这要求我们必须要不断学习才能够带来突破。

从CPU指令集到操作系统,从Hadoop到统计原理,从机器学习到产品应用,只有通过学习才能够找到突破点。下面举三个例子来详细说明。今日头条数据量

(一)系统工程和细节的交叉点

第一个例子,先介绍背景:今日内容推荐很重要的一部分就是针对你可能感兴趣的候选集进行排序,这部分核心就是建模,将用户各种组合偏好记录下来。哪些keyword表达了该用户的特点。

大数据

头条的推荐算法分两层。最上面一层,一个大的推荐模型,就是说模型做决策依据的维度,包括性别、年龄、兴趣等都是维度,我们有数百亿特征,涵盖你能想到的一切可以帮助做判断的信息,这个还在不断的增加,还有一层就是推荐召回模型。

那如何解决特征爆炸的问题。这个问题在机器学习领域解决思路有多种,比如通过Sample数据,1 可以L1正则,2 稀疏化特征,3 特征过滤,4 Hash,5 做16 bit的压缩。

大数据

这里讲特征过滤怎么做:我们有3T的Uniq Key,任务就是去统计并过滤掉频次在8次以下的Key。很直观的方法就是使用Hadoop去掉低频的,因为你偶尔看到一个词,大量的都是低频的,而劣势就是无法流式计算,当把这个做完,就超过了模型的时间。

我们来看第二个方案,内存的HASH表,当走过一遍数据,维护一个内容的表。每次去查一下,如果说出来6次了,现在第7次了,我们把超过了7次的全部都统计下来,其他的都扔掉,这里有一个就是规模问题,一个HASH的结构,一个Key要占用40 bytes,40 bytes会有指针消耗和对齐问题。如果我们有200台机器,单机需要600G的内存,现在很多的机器都不支持这个内存,那么怎么样来做?

大数据

方案三是谷歌在用的一个方法,使用的是Bloom Counter,不要求完全精准过滤。其实就是用多bit的Bloom Filter,我们又叫做Counting Filters。频次是小于等于7,需要3bit,在冲突率约1.5%的情况下,需要6次探测,单bit bloom filter大约是8.66bit。但我不喜欢Bloom Counter 这个结构,因为它对CPU非常不友好,大范围随机访问,远远大于真正计算的时间。有没有更好的做法呢?

大数据
我们用了很简单的方法,效果非常好。就是开放地址的Hash ,但不是冲突了之后直接放下一个,基本情况是最大的填充率50%,Key大小 16bit,单机30G内存,冲突率和Bloom Counter想到。这里需要注意一下,我们去查一个东西的时候,就是一个表的指针,之后用第二个函数来算,如果说找到冲突之后,我们就用到一个Hash。这个HASH函数与普通的不同,是一个有损的HASH ,这个有多大的好处呢?它是Bloom Counter性能的6倍,因为它只需要一次访存,这个事情就使得我们对模型训练的时间,总体提高到了原来的2倍,当我们在万兆的网卡上,不到20个小时都可以传完,而这些都和工程相结合起来,找到结合点的时候就把规模进行提升,这些提升所带来的效果是很大的。

(二)理论研究和实践的结合

大数据
第二个例子是理论研究和实践的结合。

特别是做在线学习,应用LR(Logistic Regression)是最广泛的。但是批量处理超大规模的数据集和在线数据流时就遇到了问题,离线机器学习方法在每次迭代计算的过程中,需要把全部的训练数据加载到内存中计算(计算全局梯度),传统batch算法中每次迭代对全体训练数据集进行计算(计算全局梯度),优点是精度和收敛还可以,缺点是无法有效处理大数据集(此时全局梯度计算代价太大),且没法应用于数据流做在线学习。

对于一个LR Model来讲,使用不同的学习速率、正则项系数导致收敛的效果是不同的。这当中初始的学习速率还是会带来很大的影响。除了Weight的参数之外,还有学习率、L1等的超参数。总之手工调参是非常困难的问题。

由于头条的训练样本很大,不同特征之间的频次相差非常大,有多大的?会相差7个数量级,有些频次是几千万次,而有的出现频次只有20、30次。所以针对不同类型的特征我们有不同的超参数。特征的类型我们是按照特定的规则来分有上百个,每个特征的类型都有正则率和特征参数,这样我们就几百个参数,这个是没有办法调整的,这个事情是不能够训练的,这是一个很痛苦的问题,有什么解决的方法呢?

在这一块我们是有创新的。大家想一下,超参数的本质是什么?就是要去寻找过拟合和训练不足之间的最佳的平衡点,我们训练是在一个训练集之中去做优化,在线上的集合之中去测试,而这两个数据集的分布是不同的,超参数优化主要用在自动搜索模型的参数,要做到在上线的情况下最优。我们把数据分为训练集验证集和测试集,我们在训练集之中去优化参数,在验证集中去优化超参数,目标是降低验证集的Loss(简单的在线梯度下降很难产生真正稀疏的解,稀疏性在机器学习中是很看重的事情,尤其我们做工程应用,稀疏的特征会大大减少predict时的内存和复杂度),这是更加的接近线上的分布,我们找到最优点,同时这个方法是服务做好的。

大数据
在FTRL(Follow-The-Regularized-Leader 算法由Google在2013年KDD上发表)下,超参是可以导的,这是最有意思的事情。这个L1正则项梯度,这个是可以求出来的,对L2的正则项也是可以求出来的,所以我们就有自动调参的流程,来算出更新,然后在验证集中去验证,用到这些相应的方法,如何去把验证集去进行训练,这是有讲究的,如果验证集太近和太远都是不好的,这些都是细节的问题。

学习中的验证怎么调?

大数据
做这一块最头痛的事情就是调参,但是我可以把几百个参数变成只有几个——参数可以调了,这个事情我们已经把它实现了并且在头条上全面的上线了,取得了什么效果呢?就是我们的离线评估AUC有2.2个绝对百分点的收益,在线的CTR有7.5个相对百分点的收益,这是非常重大的改进。

这个项目不仅仅有一个很好的实际效果,在算法的领域上也有一定的突破,我们之后也打算把这个整理一下,在期刊上去发一个Paper。

(三)算法和产品,UI的结合

第三个例子,算法和产品,UI的结合。头条不仅仅有文章还有视频,视频的低质内容的控制是很重要的,我们有很多的办法去改进这个问题,比如一些账号去评级,通过账号订阅的比例,效果都不好,之后我们用了一个很简单办法,效果会大幅度的提升,我们在视频播放的列表页放出了顶踩按钮,通过简单的加入顶踩的数据的统计,会对低质的打击效果明显提高。这就是一个很简单的,就是和产品结合,技术的方案就是要解决问题。你有简单的方法去解决问题这才是更有意义的创新。

大数据

大数据实验方法 A/B 测试

就是做A/B测试,把实验对象随机分组,把一个或多个测试组的表现与对照组比较,进行测试。

怎么做A/B测试,第一步我们线上流量进行分流,正常用户还是走正常的流量,一部分流量我们要保证样本无偏,通过科学方法去划分出一些流量做实验,还要进行分组,分出对照组和实践组,对照组和线上的策略完全一样,实验组我们做一些小小的改变。

比如头条网页版的首页,新版加了一个链接,老版加了一个任务评论。我们看哪个好呢?通过A/B测试的方式,一部分人看到新版的结果,一部分是老版效果。事后统计分析,看到底哪个版本效果好。

大数据

还有叫做双盲交叉验证。它是说在评估一项数据的时候,我可以把一部分样本抽样,让其他人再评估一下。根据抽样数据评估的一致性来判断该评估的可靠性怎么样,比如你审一些黄色反动的文章,机器做得再好,必须有人来把关。

大数据
我们看一下交叉验证在头条是怎么实现的。交叉验证用的最多的场景涉及到人工运营的场景,在头条刚才提到有些业务需要人工的评估。因为你文章如果分类分不准的话,可能就会影响你的推荐。有很多东西要人去审的,审核和评估都有一个问题,什么问题呢?它依赖人。

大家印象中人比机器靠谱的,从大的面上来说,机器比人更靠谱,机器不求回报。在互联网公司,审核和评估投入这块肯定比工程师低很多,这就造成两个后果,第一个就是审核人员敬业或者他的能力上可能跟工程师相比,他会有一定的差距,这是客观存在的。因为我们的人力成本也比较低。

第二个就是他的流动性可能比较大,另外标准经常变来变去。我们一定要用机器去监控人的工作怎么样,需要有一个预警。这块我们需要引入一个双盲的交叉验证,帮助我们去看这些运营同学他们工作的稳定性怎么样,同时去激励不断提升自己的判断力,得到机器更好的评估。

数据实验是怎么分析的?

大数据
数据实验是怎么分析的,先把数据拿过来,再做日志处理,存到日志,发到服务端,这需要一个很好的数据可视化的系统,因为出来数字,大家看着也不方便。给产品经理给高层老板看一堆数字很烦,看曲线就好了。

最后在大数据领域还有哪些技术可以交叉呢?

比如说硬件的交叉,在新的硬件领域还有非常多创新的点。比如说现在的传感器的技术,比如说神经网络很多的做法是嵌入到芯片之中去的,分布式架构和机器学习算法的交叉,商业智能分析与新算法的交叉,这是一种用语言来画图做引擎,和我们做一些编译器和新的语言都有关系,有一些交叉。

这些交叉是诞生新想法非常重要的一部分。最重要的一个交叉就是什么呢?把技术和人们的需求的痛点相结合,进而产生更多的产品,所以每个创业者是更棒的创新家。在大数据的时代下,有太多的需要学习的,现在最难的就是找到优秀的工程师,这说明工程师的不可替代性和行业的繁荣,我想这就是工程师的时代也是在座每一个人的机会!

大数据
参考资料: >

http://zhuanlan.zhihu.com/dataman/20447450

 

今日头条曹欢欢:3亿用户每天的头条各不一样,靠数据是怎么做到的?

今日头条刘思齐:数据是未来最重要的生产资料 营销透明化/个性化/场景化

“今日头条”怎么计算:“网络爬虫+相似矩阵”技术运作流程

End.