:::: MENU ::::

TalkingData's Blog

现在开始,用数据说话。

Blog

  • Dec 27 / 2017
  • 0
News

锐眼洞察 | 一个新的时代:移动位置跟踪、用户同意与政府监控(翻译)

作者:Greg Sterling

原文:A new era: Mobile-location tracking, user consent and government surveillance

译者:TalkingData副总裁 Teddy

本译文禁止商用,转载请注明作者与来源!

 译者注:

  1. 位置数据收集本身就是一个涉及用户隐私的敏感过程,而在位置数据收集中,已经从GPS转化为如收集WiFi、基站等各种信息来推演;
  2. 对于位置数据收集是否需要用户授权、如何授权以及政府监管是否可以绕过这些授权,在欧美法律实践中也存在争议;(在北美,这个问题就是保守派 VS. 自由派的争议之一,即是否需要强政府监管——保守派,还是给予民众充分的自由、政府仅做最低服务——自由派)
  3. 在中国的强监管时代,位置数据收集也一样存在法律探讨的实践,但好像从不会被自由派所影响。

本周将会听到美国最高法院的一个案件的审批结果,从而未来会确定警方是否可以通过手机访问移动用户位置记录历史。
上周来自Quartz的一份报告说,即使人们已经关闭了位置服务,Google也可以一直收集用户和手机信号塔的位置数据:

“自2017年初以来,Android手机一直在收集附近蜂窝塔的地址 – 即使是用户停用位置服务的情况下 – 也将这些数据发送回Google。 其结果是,谷歌 – 隐藏在安卓背后Alphabet集团中的一个部门,仍可以访问有关个人的位置和他们的运动的数据,远远超出了消费者对于隐私的合理期望。

data-privacy-security.jpg

据报道,根据Google向Quartz提供的声明,这种做法旨在来提高消息传递的速度和性能。谷歌还表示,将在本月底逐步淘汰这种做法。”

毫无疑问,这些数据是匿名收集的,也是Google为提高位置和环境准确性所做的全面努力的一部分。但是,这看起来很邪恶,特别是在用户不能控制的情况下,甚至在关闭位置服务的情况下。(去年,广告网络服务商InMobi同意支付近100万美元来解决联邦贸易委员会对其的指控,即:InMobi欺骗消费者,并在消费者没有知情和同意的情况下追踪他们的地点。

位置数据对于数字生态系统中的每个人都变得非常有价值,因为它可以用于很多场景。部分的使用场景列表包括:离线归因、受众细分、个性化、竞争分析和重定向。

在即将出台的“通用数据保护条例”(GDPR)下,Quartz文章中所描述的实践几乎可以肯定是非法的,这要求用户明确同意使用个人数据。事实上,在欧洲收集和使用移动位置数据将成为一个复杂的命题,并可能在北美产生溢出效应。

不过,本周在美国最高法院审理的案件的结果可能会走向相反的方向。“Carpenter v. United States” 的案件将决定政府当局是否可以在没有搜查令的情况下访问个人移动位置记录历史。

该案最初涉及密歇根州2011年的刑事调查。刑事被告Timothy Carpenter被定罪的部分原因是移动位置历史证据。刑事定罪被上诉,理由是无证移动位置数据的收集违反了第四修正案的“不合理的搜查和扣押”条款。

第六巡回上诉法院认为,警方不需要授权即可捕获和使用这些数据。如果美国最高法院确认这一裁决(这在法院的新保守派成员中是极有可能的话),将有可能引发一个新的可怕的间谍时代。它也可以使公司收集和使用位置数据成为政府监督的工具。

  • Dec 27 / 2017
  • 0
Tech

锐眼发现 | 来自华盛顿大学教授的机器学习“内功心法”

作者:Pedro Domingos

译者:AI科技大本营(微信号「rgznai100」)

转载自:简书

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

译者注:

本文最初发表在 《ACM通讯》2012年第10辑。作者是华盛顿大学教授,著名的机器学习专家 Pedro Domingos。作者2016年凭借畅销书《终极算法》而名声大噪,成为全球机器学习领域代表人物之一。而5年前 Domingos 教授发表的这篇“内功心法”,也是整个国外机器学习领域几乎人人必读的一篇文章。在很多大学的机器学习课程以及优达学城等在线培训体系中,都推荐学生精读此文。

这篇文章高屋建瓴的介绍了机器学习实践当中若干需要关注、而又不见于一般教科书的问题,堪称经验之谈,非常宝贵。 国内的机器学习爱好者多次翻译过这篇文章,但是翻译质量良莠不齐。为此小编委托高手重译此文,再次发表以飨各位小伙伴,强烈建议大家收藏,有时间的话多读几遍。

本文是中译版,在AI科技大本营(rgznai100)微信公众号会话中输入“经典”,即可获得原始PDF文件。

机器学习系统可以自动从数据中学习程序。这种方法比起手工编程更具吸引力。近10年,机器学习发展势头迅猛,已不仅限于计算机科学,还被用于网络搜索,垃圾邮件过滤器、推荐系统、广告植入、信用评分、欺诈检测、股票交易、药物设计以及其他应用上

麦肯锡全球研究院近日发布了一篇报告,断言机器学习(即数据挖掘和预测分析)将会驱动下一次革新浪潮。市面上有好些不错的教科书适合感兴趣的从业人员和研究人员(比如,Mitchell and Witten etal.)。但是,很多在实践当中极其重要的“内功心法”,教科书里是没有的,结果就导致很多机器学习项目浪费了大量的时间,或最后没有得到想要的结果。然而,大部分的内功心法并不难讲清楚,本文试图做一个解说。

机器学习种类很多,但为了方便说明,我主要就集中在最成熟、使用范围最广的一个类型:分类。但我要讨论的问题适用于所有类型的机器学习。

分类器是输入(一般来说)一个离散向量以及/或者连续特征值,然后输出一个单一的离散值,即类别。比如,垃圾邮件过滤器把邮件分为“垃圾邮件”和“非垃圾邮件”,输入值可能是一个布尔向量x = (x1,…,xj,…,xd),如果字典里以j开头的单词出现在邮件里,那么xj = 1,若没出现,则xj = 0。学习器输入一组训练样本 (xi, yi),其中xi = (xi,1, . . . , xi, d)为可观察输入,yi为对应的输出,输出的是一个分类器。学习器就是要测试这个分类器以后输入样本xt时,是否还能得出正确的输出值yt(例如,垃圾邮件过滤器是否能把之前未见过的邮件正确分类)。

机器学习=表示+评价+优化

假如你有一款应用,你觉得机器学习能够对其有所帮助。那么摆在你面前的第一个大难题就是可供选择的学习算法种类繁多,让人眼花缭乱,到底选哪一个呢?现有的算法就有数千种,而每年又有数百种算法相关著作出版。在这样繁多的算法中不致迷失的关键,就是明白算法的三大组成部分:

表示:一个分类器一定要用计算机能够处理的形式化语言来表示。反之,选择一个学习器的表示就等价于选择一个可能具有学习能力的分类器集。这个集被称为学习器的假设空间(hypothesis space)。如果一个分类器没有在假设空间内,那么学习器就无法学习。之后我会讲一个相关问题,就是如何表示输入值,换言之,就是要用什么特征。

评价:评价函数(也叫做目标函数或者打分函数)用于区分分类器的好坏。为了便于优化,通过算法生成用于内部的评价函数和优化分类器的外部评估函数并不相同。

优化:最后,我们需要一个方法来找到分数最高的分类器。优化技术对于提升学习器效率至关重要,如果评价函数得出了多个分类器,那么就由优化来决定最终的去留。通常来说,新的学习器开始都用现成的优化器,之后会换成定制的优化器。附表为三大成分的范例。

例如,K近邻算法通过确定K个最相似训练样本,将出现最多的类别定为测试样本的类别。基于超平面的算法形成每个类别特征的线性组合,并将得分最高的线性组合作为预测结果。决策树在每个内部节点测试一个特征,一个分支代表一个特征值,枝叶是分类预测结果。

算法1 决策树归纳

算法1就是布尔域决策树学习器的基本框架,使用了信息增益和贪婪搜索。信息增益(xj, y)是特征xj和类别y之间的互信息。节点制造(x,c0,c1)得出测试特征X 的节点值,把c0 作为x = 0的子类, c1 作为 x = 1的子类。当然,不是表格中一个成分的所有组合都有相同意义。比如,离散表示通常用组合优化,而连续表示就用连续优化。然而,很多学习器既有离散成分也有连续成分,事实上,也许不久后在一些学习器上就会有所有可能的组合了!很多教材都是按照表示来安排的,这样容易忽略其他重要的部分。选择这些没什么捷径,但落实到机器学习项目上,有些部分会更重要一些。

泛化才是关键

机器学习的根本目标就是训练出超越样本的泛化模型,这是因为无论我们有多少数据,我们都不太可能在测试中再次看到这些具体的样本。(请注意,如果字典里有100,000个单词,垃圾邮件过滤器要就可能要描述2^100,000  多不同输入)。训练集表现得好很容易(只要记住所有的样本就行了)。

机器学习初学者们普遍犯的一个错误就是用训练数据进行测试,结果很理想,就以为自己成功了。当用该分类器测试新数据的时候,结果比随机猜测好不了多少。所以,如果你雇别人来创建分类器,记得要自己私藏一点数据,他们把分类器给你的时候,自己测一下。

如果你被聘请去创建一个分类器,一开始就保留些数据,等到最后完成的时候用来测试,最后基于所有的数据结果,你就知道自己的分类器怎么样了。测试数据可能会以一些潜在方式对分类器造成污染,比如,如果我们用测试数据调超参。(机器学习算法有大量的超参,超参的调整关乎成败,所以要重点关注)。当然,留出数据会减少训练量,但交叉验证法可以缓解这个问题:随机把你的训练数据分成10个子集,每次选一个子集做训练,该子集的并集留下,作为测试集,测试结果的均值就可以让我们知道参数集表现如何。

在机器学习早期,人们对于将训练数据和测试数据分开的意义认识不深。这其中部分原因是,如果学习器的表示有限(比如,超平面),那么训练集和测试集的误差就不明显。但是,随着分类器灵活性增加(比如,决策树),或者有大量特征值的线性分类器,则训练与测试集的隔离是绝对必要的。

把泛化作为关键会给机器学习带来一个有趣的结果。不像其他优化问题,我们没法访问我们想优化的函数!我们只能用训练错误代替测试错误,这样会有很大的问题(之后会谈到如何解决)。但好的一方面是,因为目标函数只是最终目标的代理,我们不用完全优化它:实际上,通过简单的贪婪搜索得到的局部优化可能会比全局最优更好。

光有数据还不够

把泛化作为关键还会带来另一个重要的后果:不管你有多少数据,光有这些数据是不够的。比如从100万个样本中得到了100个变量的布尔函数,还有2^100 – 10^6个样本的类别是你不知道,那要怎么把这些类别弄清楚呢?在没有其他信息的情况下,不就只能靠扔硬币随机决定了。

早在200多年前,著名的哲学家大卫·休谟就提出人的认识是有限的,但直到今天,很多机器学习犯错的根源就是没有意识到这件事。每个学习器一定要包含数据没有提供的知识和假设,这样才能将数据泛化。Wolpert在他著名的“没有免费午餐”理论中确定了这一概念。根据这个概念,随机猜测会打败学习了所有函数的学习器。

这听上去让人很沮丧。那我们怎样才能学习呢?幸运的是,我们在现实世界中学的函数并非均匀的来自所有可能的数学函数!实际上,一些泛泛的假设——像平滑,样本相似则类别相似,依赖性有限、复杂度有限等等——就足够了,这就是机器学习能够成功的很大一部分原因。和推理一样,归纳(学习器要做的)就是一个知识杠杆:输入少量知识输出大量知识。归纳比推理更强大,输入知识更少,却得到有用的结果。

当然,和所有的杠杆一样,输入的越多,得到的就越多。选择表示的关键是看哪种知识更容易表达。比如,如果我们懂得大量使样本相似的知识,那么例子导向方法是一个不错的选择。如果我们有概率相关性的知识,那么就用图形模型。如果我们知道每个类别要用那种预测,那么“如果……那么……”规则会是个最好的选择。好的学习器仅仅固化假设是不够的,还要允许我们能够明确表述它们,任意改变它们,并且能够自动把它们用于学习中(比如,用一阶逻辑或者程序)。

综上,在机器学习中需要知识没什么可惊讶的。机器学习不是魔术,不能无中生有,而是由少变多。编程需要我们一切都从零做起。机器学习更像是种地,让大自然来做大部分工作。农民把肥料和种子混在一起长出庄稼。而学习器和数据知识合在一起就长出了程序。

过拟合有好几副面孔

要是我们的知识和数据不足以让我们得到一个好的分类器呢?那么我们很可能就臆造一个分类器,把数据中的各种随机抖动都当真了。这个问题就叫做过拟合,是机器学习中常出现的问题。当你的学习器输出的分类器在训练集上准确率达100%,而测试集仅50%,而事实上两者的准确率都应为75%,这个时候就发生了过拟合。

每个了解机器学习的人都知道过拟合,但其表现方式不尽相同。发现过拟合的办法之一就是把泛化误差分解为偏差和方差。偏差是学习器持续学习一种错误东西,而方差是指学习器做出的决断与输入信号无关,是随机的。

图1. 飞镖的偏差和方差

如图1所示,用飞镖做类比。一个线性学习器偏差很高,因为两个类别之间的交界不是超平面时,学习器就不能进行归纳。决策树不会发生这个问题,因为它们可以表示任何布尔函数,但是它们会出现很高的方差,由同样的现象引出的问题,在不同的数据集上训练,决策树模型会得到完全不同的结果,而理论上来说,它们应该是一样的。

相同的问题也出现在优化方式的选择上:在选择优化算法时,束搜索比贪婪搜索有更低的偏置,但有更高的方差,因为它用到了更多的假设。因此,与我们的直觉相反,真正优秀的分类器不一定要比差的分类器表现更好。

图2. 那怕真分类器是规则集,朴素贝叶斯也比决策树学习器要好

如图2所示,即使真正的分类器是规则集,在训练样本不到1000个的时候,朴素贝叶斯分类器比决策树分类器精确度更高。哪怕贝叶斯假设错误,界面是线性,准确率还是很高!这样的情况在机器学习中很常见:较强的错误假设会比较弱的正确假设表现更好,这是因为后者需要更多的数据来避免过拟合。

交叉验证可以避免过拟合,比如,通过它来选择合适大小的决策树进行学习。但这也不是万能的,如果我们用来制造过多的参数选择,交叉验证就会自行开始过拟合。

除了交叉验证之外,还有其他各种方式来预防过拟合。

其中最常用的方法是在评价函数中加入正则项。这样可以对于过于复杂的模型进行处罚,因而系统更容易产生结构简单的模型。

另外一种方式是在加入新的结构之前通过卡方验证来检验统计显著性,以此来判断加入此结构是否有助于提升效果。当数据不足时,这些方法非常有用。然而,如果有谁生成某种方法可以完全“解决”过拟合问题,你应当持怀疑态度。因为很容易就从过拟合变成欠拟合。想要同时做到避免过拟合和欠拟合需要设计出完美的分类器,然而根据“天下没有免费的午餐”原理,在没有足够知识的前提下,没有任何一个分类器能够在各种情况下都表现最好。

一个关于过拟合的误解是,认为它是噪声造成的,比如说训练样本的标签标错了。这确实会让过拟合加重,因为这会让学习器产生出变换反复的决策面,以满足这些样本的标定。但是在没有噪声的情况下, 也可能发生严重的过拟合。例如,假设我们有一个布尔型分类器需要把训练集中的正样本找出来(换句话说,分类器以析取范式的方式,将训练集中样本的特征结合起来)。这个分类器将训练集中的样本正确分类,而将测试集中的正样本全部错误分类,无论训练集中有没有噪声。

多重假设检验与过拟合十分相关。标准的统计检验一次只能检验一种假设,而学习器可以同时检验百万种。结果是,看上去很重要的假设也许实际上并没有多重要。例如,如果有一家信托基金公司连续十年业绩领先于业内,你会觉得它很厉害,但是如果仔细一想,如果每年任何一家公司都会有50%的概率领先,那么它就有可能很幸运地连续十年领先。这个问题可以通过加入一系列的假设,做显著性测试来判断,但同样会带来欠拟合的问题。一种更加有效的方式是控制错误接受的比例,也称为错误发现率。

高维度直觉失误

除了过拟合之外,机器学习最大的问题就是维度灾难了,这个说法是1961年Bellman提出来的,很多算法在低维度表现不错,但是一旦输入值为高维度就应付不了了。但在机器学习中,这个说法还有更多含义。随着样本的维度(特征值)增加,泛化的难度也按指数递增,因为大小固定的训练集在输入空间只占很少一部分。那怕1万亿个样本,维度为100的训练集也只占了输入空间10^-18的部分。这就是为什么机器学习如此必要而复杂。

更严重的是,机器学习算法依赖(显式或者隐式)的相似性推理在高维度会崩溃。想象一个K近邻分类器把汉明距离作为相似性度量,假设类别就只是x1 ∧ x2,没有其他特征,这很简单。但如果还有98个不相关的特征x3,…, x100,那么它们的噪音就会淹没x1和x2之间的信号,最近邻分类会有效地做出随机预测。

更令人困扰的是,如果100个特征都相关,那么近邻算法也会出现问题,这是因为在高维度所有样本都很相似。假如,所有的样本都分布在规则网格内,有个测试样本Xt,如果网格是d维度,Xt的2d邻近样本和它距离都相同,所以随着维度增加,越来越多的样本成为了xt的近邻样本,近邻样本的选择就变得随机了。

这仅仅是高维度带来的一个问题:我们的本能来自三维世界,没法应用于高维度世界。在高维度世界,多元高斯分布大部分的质量不是靠近均值,而是在其周围距离不断增加的“壳”里。高维度的橘子的质量主要就集中在果皮上,而不是果肉里。如果一个数量恒定的样本均匀地分布在一个高维度超立方体中,大部分样本应该靠近超立方体的表面而不是近邻。如果我们把超球体刻进超立方体中来近似超球体,在高维度中,几乎超立方体所有的量都在超球体的外面。这对机器学习来说是个坏消息,因为一种类别的形态常常靠其他形态来近似。

在一维和二维建分类器很容易,我们通过肉眼观察就可以在不同类别样本之间找到合理界面。(如果人能看到高维度那机器学习也没什么必要了。)但是一到高维度,我们就很难理解发生了什么。这也给设计分类器带来了难度。有人会觉得特征越多越好,大不了就是没什么新信息嘛。

但实际上,因为维度灾难,弊会大于利。不过好在有种效应叫做“非均匀性祝福”会部分消除这种诅咒。在大部分应用中,样本不是均匀分布在示例空间内,而是集中或者靠近低维流形。比如,K近邻算法特别适用于手写数字识别,那怕数字图像每像素上就有一个维度。因为数字图像的空间比图像空间小很多。学习器可以隐式地利用这种较低的有效维度,或算法来显式地减少使用的维度(比如,Tenenbaum)。

理论保证不一定有用

机器学习论文里满是各种理论保证,最常见的一种就是限制样本数量来保证泛化成功。你怎么看呢?首先,它们有可能是真的。归纳一般来说和推理是对立的:在推理中,你可以保证所有结论是正确的,但在归纳就正好相反。这是几个世纪以来的一个老观念了。近十多年来的一个重大进步就是我们意识到可以保证归纳的结果,尤其是如果我们想解决概率保证。

论证方式很简单。如果真错误率大于ε,我们就认为这是个坏分类器。所以坏分类器的可能性是和n 随机一致,独立训练样本小于(1 − ε)n。把b作为坏分类器在学习器假设空间H中的数量。通过一致限,使得它们中至少一个的可能性持续低于b(1 − ε)n。假设学习器总是会得到一个一致的分类器,而坏分类器出现的概率就小于|H|(1 − ε)n 而我们默认b ≤ |H|。所以如果我们希望可能性小于δ,让n > ln(δ/|H|)/ ln(1 − ε) ≥ 1/ε (ln |H| + ln 1/δ)就够了。

但不幸的是,我们对这种保证要持保留态度,因为通过这种方式得到的边界会非常松散。上述边界一个非常棒的特征就是样本需求数量以|H| 和 1/δ的对数增长。大部分假设空间都是按多个d特征值呈双指数的,这样我们就还需要一些d的指数样本。例如,有一个布尔变量的布尔函数。如果这里有e个不同样本,那么就有2e不同的函数。那么有2d 个不同的函数,那么函数总量就为22d。就算假设空间只有指数的,边界还是非常松散,因为一致限很悲观。例如,有100个布尔特征,而假设空间是决策树,有10层,为了保证上述边界δ = ε = 1%,我们需要50万个样本。但实际上只要一小部分就可以满足学习了。

另外,我们还要警惕这样的边界意味着什么。它不是说,如果你的学习器得到一个与训练集一致的假设,就意味着假设成功,而是说明训练集够大的话,你的学习器要么得到一个好的假设,要么就是没法找到一个一致的假设。这个边界也没有告诉我们怎么选择一个好的假设空间,只告诉了我们,如果一个假设空间包含了真分类器,那么学习器输出坏分类器的概率就会随训练集的减少而下降。如果我们压缩假设空间,那么边界会提高,前提是其包含的真分类器也压缩了(有些情况真分类器不在假设空间内,但该理论同样适用。)

另外一种理论保证是渐近:给无穷的数据,保证学习器输出正确的分类器。这是一种确认,但可能会导致我们轻率地下决定去选择某一种分类器。事实上,我们很少会遇到渐近区。是因为之前我所讨论的偏差-方差权衡问题,如果学习器A 在无限数据上比B 好,那么B在有限数据上一定比A好。

理论保证不是实际操作的准则,而是算法设计理解和驱动的源泉

就这方面来看,理论保证还是很有用的;实际上,理论和实践之间密切的相互作用是机器学习这些年能取得巨大成就的主要原因。但机器学习是一个复杂的现象,不能因为学习器有了理论证明,在现实中运作,就说着前者是后者的原因。

特征工程是关键

有的机器学习项目成功了,有的没有,是什么原因呢?最重要的原因就是其使用的特征。如果你有多个独立特征且每个都和类别相关,那么你的机器学习就很容易成功。另一方面,如果类别都是复杂的特征函数,那么就不容易学习。

通常,原始数据不是很好学习,但是你可以从数据中建构特征。这常常是机器学习项目中最费功夫的地方,也是最有趣的部分,在这部分直觉、创造力、“歪门邪道”和技术的东西同样重要。

初学者往往会很惊讶,在一个机器学习项目中,真正用在做机器学习这部分的时间很少,大部分都花在了数据收集、整合、清理和预处理,以及反复的特征设计。另外,机器学习不是建完数据库,运行学习器,一次就搞定的事情,而是要不断地运行学习器,分析结果,调整数据或者学习器,然后反复的一个迭代的过程。学习通常是这里面花时间最少的一部分。特征工程很复杂因为它是域特定的,而学习器则很大程度上是通用的。然而,这两者之间没有没有明显分界。这也就是为什么好的学习器是和知识相结合的。

当然,机器学习的圣杯之一就是使越来越多的特征工程过程自动化。现在常用的一种方法就是自动生成大量的候选特征,然后通过信息增益来选择最好的。但是要记住单独特征互相也许无关,但合并在一起就会关系了。例如,如果这个分类是输入特征为k的XOR,每个特征都没有类别相关信息,另一方面,运行大量特征的学习器来寻找哪些在合并时有用会花费大量的时间,导致过拟合。所以,说到底在特征工程上,还得靠人的能力。

数据多比算法聪明更好

假设你建了最好的特征集,但是你拿到的分类器并不完全准确。你要怎么办呢?

有两种选择:设计一个更好的算法,或者收集更多的数据(更多样本、更多原始特征,受制于高维诅咒)机器学习研究者常常更关心前者,但实际上收集数据这个办法更容易成功。根据经验,一个一般的算法,如果数据多,会优于数据较少的高深算法。(毕竟,机器学习就是让数据来干活的。)

但这就会带来另一个问题:可扩展性

在大部分电脑科学中,两大受限资源是时间和内存。而在机器学习中,还有第三个:训练数据。不同时期的技术瓶颈就在这三大限制中变换。20世纪80年代,数据是瓶颈,而今天,是时间。大量的数据是有的,但是没有足够的时间去处理。这就会导致一个悖论:理论上数据越多意味着可以学习更复杂的分类器,但实际上,最后还是用的更简单的分类器,因为复杂分类器学习时间更长。一个解决方法是想出更快的方式来学习复杂的分类器,在这方面也的确有显著的成果(比如,Hulten and Domingos)。

使用高深的算法没有预期那么理想的原因是,大部分算法都差不多。如果你认为规则集神经网不同的话,你可能会对此感到很惊讶。但实际上,命题规则很容易编为神经网络,其他表示之间也有类似关系。所有学习器都是把近邻样本放进一个类别,而关键是什么叫“近邻”。在数据分布不均时,学习器尽管产生不同界面,却依然可以做出相同预测(训练样本多的,通常测试样本也会大量出现)。这也能解释为什么好的学习器不稳定,但还是很准确。图3为二维展示,在高维度效果越明显。

图3所示,不同边界会产生相同预测(+和-是两个类别的训练样本)

所以规则就是首先使用简单的学习器(比如,先用贝叶斯而非罗辑回归,先用K近邻算法而不是支持向量机)。越复杂的学习器越吸引人,但用起来却很难,因为它们需要调节的按钮太多才能得到想要的结果,也因为它们的内部不够透明。

学习器可以分成两大类:一是表示有固定大小的,比如线性分类器,还有表示随数据增加的,比如决策树(后者有时被称做非参数学习器。但很不幸,它们常常比参数学习器学的参数更多。)大小固定的学习器只能从大量数据中获益(注意一下图2中贝叶斯算法的渐近线约在70%左右)。

大小变化的学习器理论上只要数据足够,可以学习任何函数,但实际上不行,因为算法有限(比如,贪婪搜索会陷入局部最优)或者计算开销不足。而且,因为高维诅咒,现有数据可能不够。基于这些原因,高深算法—充分利用数据和计算资源的—最后常常会成功。设计学习器和学习分类器之间没有太大差别,任何知识可以在编码进学习器中或从数据中学习。所以机器学习项目的学习器设计最后成为最重要的部分,从业者们需要具备一定的专业知识。

到最后,最大的瓶颈不再是数据或者CPU周期,而是。很多论文中,学习器基本都在精准度和计算预算方面做比较。人为努力和洞察力很难测量,但往往更重要。这会帮助学习器创建人们可以理解的输出(比如,规则集)。充分利用机器学习的机构已经准备好基础设施使用各种学习器、数据资源和简单有效的学习问题来进行实验,并且在那些机构中机器学习专家和应用领域专家合作密切。

学习更多的模型

在机器学习的早期,每个人都有自己喜欢的学习器,相信它的优越性。我们花了大量的时间来尝试其变体,然后选择最好的一个。后来系统实证比较发现学习器的好坏是随应用不同而改变的,所以搭载不同学习器的系统就开始出现了。人们就开始努力尝试多个学习器的变体,然后还是选择最好的那个。但后来研究者们发现,如果把多个学习器合在一起,结果会更好,使用者也不费什么功夫。

现在创建这样的集成模型已经成为一种标准了。最简单的一种技术,叫做bagging.我们通过重采样的方式生成随机训练集,每个训练集学习一个分类器,最后通过投票合成结果。这样的方式能成功的原因在于其大大减少方差的同时,只稍提高了偏差。在boosting中,训练样本有权重,而这些权重各不相同,所以每个新的分类器都会关注之前分类器分错的样本。在stacking中,独立分类器输出变成了“更高级”学习器的输入,并且stacking在想办法进行最优组合.

现存的技术有很多,集成越做越大已经成为了一种趋势。

在Netflix prize大赛上,来自全世界的团队互相竞争,创建最好的视频推荐系统(http://netflixprize.com)。随着比赛的进程,团队发现通过合并其他团队的学习器可以得到最好的结果,然后团队之间互相合并,越来越大。冠、亚军都是上百个学习器的集成。当然,我们在未来还会看到更大的集成。

模型集合不应和贝叶斯模型平均(BMA)—理论上最优的学习方法—相混淆。在BMA中,新样本的预测是通过在假设空间中取所有分类器各个预测的平均值,由分类器解释训练数据的表现,和我们对其的期待来权衡。除了表面相似,其实集成和BMA非常不同。集成改变了假设空间(比如,从单个决策树变成了所有决策树的线性集合),可以呈现出各种形式。BMA根据固定公式将权重分配给原始空间的假设。BMA权重和bagging或者boosting产生的权重完全不同:后者非常平均,而前者非常倾斜,直到某单一最高权重分类器占主导地位使得BMA选择它。这样产生的结果就是,集成模型是机器学习包中关键的一部分,而BMA却没人选择。

简单不意味着准确

奥卡姆剃刀原理说:如无必要,勿增实体。在机器学习中,这常常意味着,如果两个分类器有同样的训练错误,简单的那个训练器测试错误率会更低。这种说法常常在文学中很常见,但实际上有很多反例,“免费午餐”定理就可以对此进行反驳。

我们在前面就看到了一个反例:模型集合。即使训练误差达到0之后,通过增加分类器也可以提升增强集成的泛化误差。另一个反例就是支持向量机,可以有效地拥有无限量的参数而不会过度拟合。相反,函数符号(sin(ax))可以区分任意大的,任意标记的x轴上的点,即使它只有一个参数。因此,和直觉相反,模型的参数量和过度拟合之间没有必然联系。

更复杂的视图反而使复杂度与假设空间的大小相等,因为较小的空间允许用更短的代码表示假设。理论保证部分的界限可能被视为表明较短的假设泛化得更好。这可以通过将更短的代码分配给我们有一些先验偏好的空间中的假设来进一步改进。但是将其视为在准确性与简单性之间权衡的“证明”是循环推理:我们假设我们更倾向于设计简单,如果它们是准确的,那是因为我们的偏好是准确的,而不是因为我们选择的表示中的假设是“简单”的。

这还会产生的另一个复杂情况是没有学习器会彻底搜索假设空间。假设空间更大的学习器如较少的假设比从较小空间中尝试更多假设的学习器过拟合的可能性低。正如Pearl所指出,真正影响训练和测试误差的是选择假设的过程,而假设空间的大小只是对此的一个粗略指导。Domingos调查了奥卡姆剃刀在机器学习问题上的主要论点和证据。结论是,更简单的假设应该是首选的,因为简单本身就是一种美德,而不是因为与准确性的假设联系。这也可能是奥卡姆的本意。

可表示不意味着可学习

基本上所有学习器的表示都和“所有函数都可以被表示,或者以无限接近的方式近似表示。”这样的理论相关。为了证明这个定理,表示的拥护者们常常会忽视其他东西。然而,函数可以被表示并不意味着可以被学习。比如,决策树学习器不能学习超过训练集的叶子节点。

在连续空间中,即使用固定基元集表示那怕最简单的函数也常常需要无穷的部分。如果假设空间有评价函数的局部最优,实际上也常常出现,那么即使可以被表示,学习器也许也找不到真正的函数。有了有限的数据、时间和内存,标准学习器只能学习所有函数的小部分子集,而这些子集对表示不同的学习器是不同的。所以关键问题不是“能不能被表示?”因为答案常常不重要,而是“能不能被学习?”这个问题值得去尝试不同的学习器(或者合并它们)。

对于某些函数,有些表示在会比其他函数指数上更紧凑。结果就是,它们可以需要成指数减少的数据来学习函数。有些学习器是通过简单基本函数的线性合成形成的。比如,支持向量机围绕一些训练样本(支持向量)形成内核合成。通过这种方式形成n位的奇偶校验性需要2n的基本函数,但是使用一个表示需要多层(就是在输入和输出之间有好几步),奇偶校验性可以编码在线性大小的分类器里。寻找这种深度表示是现在机器学习的重要前沿。

相关并非因果

相关性不是因果性这个观点可能常常被提到,不太值得在这里赘述。但是,只能用来学习相关性的学习器产生的结果常常被用来表示因果关系,这样错了吗?如果错了,为什么人们这么做呢?

学习预测模型就是用它们作为行动导向。如果我们发现啤酒和尿布常常是一并购买,那么也许把啤酒放在尿布旁边会增加销量。(这是数据挖掘世界的一个著名例子。)但没有实验,也很难判定是否正确。机器学习常常用来观测数据,预测变量常常不受学习器的控制,而实验数据受控。有些学习算法可以从观察数据中提取信息,但是这样的应用还是非常有限。另一方面,相关性是潜在因果联系的标志,所以我们把相关性作为进一步调查的导向(比如,尝试想弄清楚因果链是什么)。

很多研究者认为因果性是一种虚设。例如,在物理定律中就没有因果概念。因果性是不是真的存在是一个很深奥的哲学问题,眼下也没有答案。但在机器学习上还是有两点很实在,首先,不管我们是不是把它们称作“因果”,我们是要为行为做预测,而不是仅仅将观测变量相联系。第二,如果你可以获得实验数据(比如,随机将游客分到了一个网站的不同版本中),那么要一定竭尽全力。

结论

和所有的学科一样,机器学习很大量的“内功心法”难以获得.但是对成功很重要。本文总结了一些突出项目。当然,这也只是传统机器学习的补充。点击http://www. cs.washington.edu/homes/pedrod/class观看完整的在线机器学习课程。在http://www.videolectures.net你会找到机器学习课程的宝藏,还有,Weka是一个很棒的开源机器学习包。

最后,祝你学的开心!

  • Dec 26 / 2017
  • 0
Tech

锐眼洞察 | Hadoop 3.0已经发布,未来还有哪些规划?(翻译)

作者:Alex Woodie

原文:Hadoop 3.0 Ships, But What Does the Roadmap Reveal?

译者:TalkingData研发副总裁 闫志涛

本译文禁止商用,转载请注明来源与译者!

译者注:

大数据新技术近几年的飞速发展给Hadoop的发展带来了巨大挑战,不过Hadoop社区也在与时俱进的进行发展。等了几年,我们终于见到了Hadoop 3.0。在Hadoop 3.0当中,我们最期待的无疑就是Erasure Coding。考虑到存储的巨大代价,能够利用EC技术大幅度降低存储开销,无疑能够给大数据公司降低成本。3.0之后Hadoop还有哪些主要的特性呢?这篇文章就给出了答案,比如GPU的支持、FPGA的支持、S3 API兼容的KV存储等等。这些都很值得期待。

如承诺的那样,Apache软件基金会在今年结束前正式发布了Hadoop 3.0。现在Hadoop社区开始将注意力集中在3.1和3.2版本,这两个版本将会在2018年上半年带来更多非常棒的特性。

正如我们两周前所说的那样,Hadoop 3.0带来了两个重大的特性。这两个特性分别是支持EC(Erasure Coding),从而可以利用更有效的数据复制提高存储效率达到50%,以及YARN Federation,可以使得Hadoop集群的规模达到40,000个节点。

“Hadoop 3.0的发布体现了开源社区对于工业界的需求是非常负责任的”, Doug Cutting说。Doug Cutting是Apache Hadoop最初的联合缔造者同时也是Cloudera的首席架构师。“从11年前的原始的工具发展到今天的成熟的软件,这是个非常大的成就”,他在新闻发布会上说。“随着这个里程碑的发布,Hadoop在企业数据系统中作为日益重要的角色可以更好的满足企业的需求”。

但是在Hadoop 3.0中有些新的特性并不是为了马上给用户带来回报,而是为即将到来的3.1和3.2中提供更加引人注目的特性铺平了道路。Hortonworks的工程总监,同时也是Hadoop Apache项目的贡献者Vinod Kumar Vavilapalli认为。

“Hadoop 3.0实际上是一个构建模块,是一个基础,在3.1和3.1版本中将会有更加令人兴奋的事情发生”,他说。Vavilapalli最近给Datanami分享了一部分Hadoop的路线图,如下是这次对话中的一些亮点:

Hadoop 3.1

在3.1中将要支持的一个重要的针对3.0特性的改进,是YARN支持的资源类型。

在Hadoop 2.x时代,YARN仅仅能够识别两种资源:内存和CPU。随着在3.0资源类型的引入,社区已经能够为3.1版本中在Hadoop集群中支持GPU做好了准备。

在Hadoop中将GPU作为头等资源支持将让用户更容易运行亲GPU的工作,比如机器学习和深度学习,Vavilapalli说。

“这个想法是,YARN不需要人们为GPU任务设置独立的分区、独立的机器和独立的集群,YARN将GPU当作一等公民进行支持”, Vavilapalli说。“在YARN上我们已经解决了大量的sharding和多租户的问题。”

另外一个值得关注的特性是开发者们正在努力工作使得Hadoop 3.1的YARN支持Docker容器。Vavilapalli透露,Docker的YARN支持将会包含两个主要的能力,第一个是使得非大数据的任务可以运行在Hadoop上,例如一些容器化的应用。

r-Containers.png

在YARN上支持Docker将为Hadoop任务提供包隔离功能。这是在Hadoop上支持Docker之外的另一项努力。

“除了在YARN上运行MapReduce任务、Spark任务、Hive任务这些传统的大数据任务”,Hortonworks工程师说,“如果一个用户有一个在移动电脑上构建的容器应用,可以在YARN集群上指令,现在运行它的一百份、一千份拷贝,然后YARN就能够完成这些”。

Hadoop 3.1带来的第二个YARN支持Docker的优势是获得包的隔离。一个非常重要的应用场景是保证R和Python库能够在一起工作并且不会引起相互间的兼容性问题。”利用包隔离,你可以创建你自己的包含你的所有的R或者Python库的Docker容器,然后将它交给YARN,YARN就会像在你的便携电脑上运行一样去运行它们”。 Vavilapalli说。

Hadoop 3.1的另外一个主要的特性是被称为YARN Service的功能。利用这个新的特性,YARN将会具备管理在Hadoop上运行长时间的服务的能力,例如输入的Kafka数据流或者一个HBase服务任务。

“运行长时间的服务的目标是,你可以来到YARN指令‘给我在YARN上与其他正在运行的任务并列运行这个长时间任务’,就像运行Spark与Hive,”Vavilapalli说。“我们称之为YARN Service。所以YARN Service是一个我们正在研究的重要特性。”

Hadoop 3.2

Apache Hadoop社区计划利用3.0支持的新的资源类型在3.1支持GPU,如果一切按照计划进行,Hadoop 3.2将会支持FPGA。

altera-fpga.png

FPGA是一种自定义代码处理器

FPGA,或者叫做现场可编程门阵列,是一种为了加速某些特定类型的任务而设计的特殊处理器。Intel在2015年并购了FGPA厂商Altera,在FPGA技术上加大投入以加速高性能计算、AI、数据和视频分析,以及在Xeon集群上的5G处理器。IBM将FGPA加入到了它的Power服务器以提高图数据库的性能和可扩展性。

Hadoop用户拥抱FGPA有两个原因,Vavilapalli说,“一个原因是GPU比较昂贵,一些用户寻求把FPGA作为一个解决他们问题的廉价解决方案“,他说,“另外,有些问题只能用FPGA来解决,这两个原因驱动了YARN支持FPGA。”

Hadoop社区正投身于支持FPGA的工作, Vavilapalli说,也有可能这个特性会在3.1中包含。”现在并不十分确定它会包含在3.1还是3.2中,但是YARN很久就能够支持FPGA了”,他说。

Hadoop 3.2支持的另外一个重要的特性是叫做OZone的kv存储。OZone将会包含S3兼容的API存储,并且会针对不适合存储在HDFS上的小文件做优化。

-MW-3D-balls.png

臭氧(Ozone),或者说O3,避免地球受到有害的紫外线辐射。

HDFS最初的设计是存储相对大的文件,文件一次写入,多次读取。Vavilappalli说。“随着时间的推进,我们发现新的任务需要存储小的对象,它可能是一个照片或者视频。这些不是典型的Hadoop任务,因此需要存储大量的小对象,并且人们只能使用HDFS去存储它们。

OZone将更适合存储这类对象。存储容器将会提供一个与S3兼容的存储API。S3-Simple Storage Service由Amazon开发,是在全球数百个数据中心的百万台机器上存储ZB级别数据的存储。

随着AWS的兴起,S3 API变成了事实的存储标准。SaaS软件提供商将他们的客户数据存储在S3上,在云上运行Hadoop或者类似于Hadoop的任务去处理这些数据。 “社区正在努力的将它变得像S3 API,因为S3 API是所有kv存储的标准”,Vavilaplli说。 “它看起来像S3,但是使用在本地部署的Hadoop集群”。

虽然基于云的Hadoop任务比如Amazon EMR和Qubole,甚至Hadoop发行商Cloudera和Hortonworks的云产品都使用S3, OZone被设计为既可以在云端部署也可以在企业私有部署。

“云是今天的主流力量,但是我们最终会使用包含云和私有部署的混合结构”,Vavilapalli说。“为了使得应用可以无缝地在私有部署和云端运行,我们需要在私有部署拥有类似的能力,而OZone就是解决这个鸿沟的解决方案。让这些应用写kv API并且使得它既可以运行在私有部署,也可以运行在云端。这无疑是非常强大的创举并且未来用户将会非常愿意使用它。”

Hadoop 3.2将会在第二个季度末交付,尽管具体交付日期可能会调整,Vavilapalli说。Apache社区正在努力加速项目的发布进度,并且希望能够每三个月就发布一个主要的升级,他说。

  • Dec 26 / 2017
  • 0
Data

锐眼洞察 | 在员工培训中利用大数据的4种方法(翻译)

作者:insideBIGDATA编辑部

原文:4 Ways to Use Big Data in Employee Training

译者:TalkingData 曾晓春

本译文禁止商用,转载请注明来源与译者!

大数据及其背后的技术已经成为推动现代企业发展的主要因素之一。一个IDG Research的研究发现,80%的大型企业和63%的小型企业正在使用或计划部署大数据解决方案。分析从公司各种活动中收集的信息,能够使公司作出更明智和及时的决策。

即使整合的数据量不断增加,如果不是快速分析和多种需求的结构,它也没有什么价值。数据科学家和更好的大数据工具的需求一直在增长,因为它包含了更多的业务功能。

其中之一就是员工培训。可以分析技能开发中产生的数据以提高培训效率。以下是一些大数据可以在培训过程中节省公司时间和资金。

确定培训需求

性能分析可以指出企业内部需要何种培训,包括特定的工作角色、团队或个人雇员需要进行的培训。然后,公司可以选择课程,以确定应涵盖的技能和主题,并找到最合适的培训计划。

有种各样可以使用的方法,例如教室布局、在线课程、小组研讨会或示范。您必须评估您的选择,以选择最适合您的员工能力,工作时间表和企业需求的培训。同时也需要购买或准备需要的材料以支撑教学需要的技巧和信息。这可以是印刷或数字文件、视觉辅助工具、技术和工具的混合。大数据可以指导你正确的购买。

个性化的方法

人力资源经理可以使用分析来定义员工能力的特定优势或劣势,并进行必要的调整。应该对每个培训计划进行监控,以确保培训过程和结果的有效性。这可能需要更个性化或更具创造性的技巧。

先进的教育技术可以让您对每个员工进行评估,并根据每个人的进展进行个性化的定制培训策略。大数据可以将每个受训者的测试分数与更大的数据集(如人口统计数据和测试历史)相结合,以确定哪些方法是有效的,以及哪些需要进行强化或再训练。持续评估将显示哪些培训模块对某些员工最有效。

不断的改进

通过对培训数据的分析,人力资源和高级管理人员可以不断改进培训计划。大数据可以更清楚地了解哪些模块有效,哪些主题难以学习,以及员工如何与提供给他们的材料和培训形式进行交互。通过访问基于云的分析工具,您可以实时查看更新,并在培训继续时调整您的方法。

远程员工也是如此。云为越来越多的移动劳动力提供了一个非常灵活的数据和服务解决方案。云计算使虚拟员工无需前往办公室即可获得企业培训的所有好处。

不断增长的学员表现和对不同科目的反馈数据将为提高培训效率提出建议。

未来的期望

我们会看到大数据和可持续实践将是未来的两大商业趋势。两者都促进流程的优化以获得更高的利润率。确保你的团队有足够的核心业务活动和不断变化的技术培训,帮助你的企业在未来保持盈利。

大数据还可以预测未来的发展趋势。在商业竞争开始之前,你将能够适应训练计划。21世纪的商业环境中,接受社会责任将会提高你的品牌和员工的积极性。消费者期望负责任的做法,而工人可以有信心提高职业技能。

培训员工参与可持续发展是关键的一步。通过在培训项目中利用大数据技术,您可以为您的员工提供新的机会,为您的公司带来更多可持续的利润。

结论

大数据和分析工具是现代企业必不可少的资产。当应用于改善培训计划时,员工的情绪会得到更大的改善,他们的技能会增加公司的利润。不断增长的数据将有助于提高结果的准确性,同时预测趋势和培训需求将创建更加灵活的业务模式。

有效地获取和构建培训操作中的数据,使您能够执行大数据分析,从而提高产出、质量和员工参与度。持续的改进使您有可能更快、更持续地提升员工技能,以满足云计算和远程工作人员等新的员工发展需求。

大数据使您能够预测市场和行业趋势,从而使公司内的员工可以获得所需的培训。作为个人或组织,团队将能够更加顺畅和高效地适应业务变化。

  • Dec 25 / 2017
  • 0
Tech

锐眼洞察 | 利用Apache Arrow来加速PySpark(翻译)

作者:Bryan Cutler

原文:Speeding up PySpark with Apache Arrow

译者:TalkingData首席架构师 黄洋成(YC)

本译文禁止商用,转载请注明来源与译者!

 

Apache Spark 2.3版本开始,Apache Arrow成为一个被支持的依赖组件,可以为列式数据传输提供更好的性能。如果你是一个Spark用户,但是偏好利用Python和Pandas,那你应该有理由兴奋!目前初步的工作(下面会介绍到)还局限于加速 toPandas() 里从Spark的DataFrame中传递数据;但有一大波其他的改进正在路上

优化从Spark到Pandas的数据转换

以前在PySpark里利用 DataFrame.toPandas() 将数据从Spark DataFrame转换到Pandas是非常低效的。基本上其工作机制是:首先从Spark driver把所有的行汇集起来,然后每一行都会被序列化为Python的pickle格式,发给Python的worker进程;这个子进程会反序列化每一行,拼成一个大list;最后利用 pandas.DataFrame.from_records() 从这个list来创建一个Pandas DataFrame。

这听起来像是一个标准过程,但有两个明显问题:1)即使使用CPickle,Python的序列化也是一个很慢的过程;2)利用 from_records 来创建一个 pandas.DataFrame 需要遍历Python list,将每个value转换成Pandas格式,这里有对这个过程的详细分析。

Arrow可以优化这几个步骤:1)一旦数据变成了Arrow的内存格式,就不再有序列化的需要,因为Arrow数据可以直接发送到Python进程;2)当在Python里接收到Arrow数据后,pyarrow可以利用zero-copy技术,一次性的从整片数据来创建 pandas.DataFrame,而不需要轮询去处理每一行记录。另外转换成Arrow数据的过程可以在JVM里并行完成,这样可以显著降低driver的压力。

在SPARK-13534的归并中,要在 toPandas() 里打开使用Arrow的功能,需要将SQLConf里的设置“spark.sql.execution.arrow.enabled” 设为 “true”。下面让我们来看一个简单的例子:

图片 1

 

这是在笔记本电脑上面跑的,所以显示的执行时间未必精确;但是可以看出使用Arrow后性能有了巨大的提升(从20.7s降低到737ms)。

使用的注意事项

下边是使用这个feature时候需要注意的地方:目前pyarrow还不会随着安装pyspark自动安装,而是需要手动安装(参考安装指南)。计划会把pyarrow作为pyspark的一个依赖组件,那样 > pip install pyspark 就会自动把pyarrow也装上了。

目前SQLConf里的enable Arrow的设置缺省是关闭的,需要在程序里手动打开(如上边例子所示),或者也可以收到修改 SPARK_HOME/conf/spark-defaults.conf,加上一行“spark.sql.execution.arrow.enabled=true”。

另外不是所有Spark的数据类型都是支持的,目前只支持基础数据类型。扩展的数据类型支持正在开发中,预期能包含在Spark 2.3版本的发布里。

将来的改进计划

记住这只是利用Arrow来让提升Spark Python的用户体验的一小步。一些激动人心的提议包括UDF的向量化执行(SPARK-21190SPARK-21404),可以apply一个function到Pandas DataFrame(SPARK-20396)。另外就像Arrow能帮到数据从Spark转换到Pandas一样,他也可以帮助从Pandas DataFrame转换为Spark DataFrame(SPARK-20791)。

  • Dec 25 / 2017
  • 0
Tech

锐眼发现 | 前途光明的机器学习将走向何方?这里有 5 个关于它的未来预测

作者:Stefan Franczuk

原文:5 Predictions About the Future of Machine Learning

转载自:开源中国

 

机器学习目前是 IT 领域最热门的话题之一,这是因为它在看似无限的应用场景中都能发挥自身的作用。从检测欺诈网站到自动驾驶汽车,再到识别你的“金牌会员”身份以进行价格预测等等。

但这个如此有吸引力的领域未来将如何发展?会走向何处?下一个最好的东西又将是什么?未来十年我们将处于什么样的位置?无论下一个巨大的改变是否会给我们所有人带来惊喜,本文将对机器学习将发挥作用的领域和用例做出五个预测。

1. 量子计算(Quantum Computing)

机器学习任务涉及到诸如在高维空间中对大量向量进行处理和分类的问题。我们目前用来解决这些问题的经典算法都需要耗费相当的时间。而量子计算机在处理巨大张量积(tensor product)空间中的高维向量时,可能会处理得更好。无论是有监督还是无监督的量子机器学习算法发展,都能比经典算法更快速地以指数方式增加向量数和维数,这将使得机器学习算法运行速度的大幅增加。

相关开源项目推荐:

OpenFermion — 谷歌与量子计算机创企 Rigetti 合作开发的开源量子软件

这是一个用于编译和分析量子算法来模拟费米子系统,包括量子化学,其他功能方面,当前版本的特征是用数据结构和工具获取和操纵费米子和量子位哈密顿算子的表示。

这款软件内包含了一个算法库,可以在量子计算机上模拟电子相互作用,非常适于化学、材料学方面的研究。 有关更多信息,请参阅论文连接

2. 更好的无监督学习算法(Unsupervised Algorithms)

当给学习算法输入的数据没有赋予标签时,就可以认为是无监督学习,它自己会在输入的数据中找到结构。事实上,无监督学习本身就是一个目标,比如发现数据中隐藏的模式,或者实现目的的手段,通常也会把无监督学习称为特征学习。构建更智能的无监督学习算法的进步,将会带来更快、更准确的结果。

相关开源项目推荐:

CycleGAN — 生成对抗网络图像处理工具

生成对抗网络(GAN)可以实现能解决无监督学习问题的模型,GAN 的网络结构是具有颠覆性的,Yann LeCun 在一次关于这个研究的演讲中如此评论:「GAN 是机器学习过去的 20 年里最重要的思想之一。」

CycleGAN 这个项目与其它人工智能绘画不同,CycleGAN 的研究团队试图建立一个可双向转化不丢失信息的双向算法。研究团队必须以机器可以理解的方式去描述每种风格之间的关系,并给机器 “吃下” 大量来自 Flicker 的照片进行训练。

3. 协同学习(Collaborative Learning)

协同学习简单来说就是利用不同的计算实体,使它们共同协作,以产生比自己所取得的更好的学习成果。一个典型的例子就是利用物联网传感器网络的节点进行分析,或称为边缘分析。随着物联网的发展,将会有越来越多单独的实体被用来以多种方式进行协同学习。

4. 深度个性化推荐(Deeper Personalization)

个性化推荐既是伟大的,但它同样也会令用户感到厌烦。我们经常会收到一些没有什么价值的建议,而那些个性化推荐似乎与我们实际上可能感兴趣的任何东西没有任何实际的关系。但将来,凭着机器学习技术的发展,相信用户将会收到更精确的建议,推送的广告也变得更有效,准确性也更高。用户体验也将大大提升。

相关开源项目推荐:

Apache PredictionIO — 面向开发者和数据科学家的开源机器学习服务器

PredictionIO  不久前从 Apache 孵化项目中脱胎而出,宣布成为 Apache 顶级项目。

PredictionIO 是面向开发者和数据科学家的开源机器学习服务器。它支持事件采集、算法调度、评估,以及经由 REST APIs 的预测结果查询。使用者可以通过 PredictionIO 做一些预测,比如个性化推荐、发现内容等。PredictionIO 提供 20 个预设算法,开发者可以直接将它们运行于自己的数据上。几乎任何应用与 PredictionIO 集成都可以变得更“聪明”。其主要特点如下所示:

  • 基于已有数据可预测用户行为
  • 使用者可选择自己的机器学习算法
  • 无需担心可扩展性,扩展性好
  • 提供个性化视频、新闻、交易、广告或职位信息
  • 帮助用户发现有趣的事、文件、App 和资源等

PredictionIO 基于 REST API(应用程序接口)标准,不过它还包含 Ruby、Python、Scala、Java 等编程语言的 SDK(软件开发工具包)。其开发语言是Scala语言,数据库方面使用的是MongoDB数据库,计算系统采用 Hadoop 系统架构。

5. 认知服务(Cognitive Service)

这项技术包括类似 API 和服务的工具包,开发者可以通过这些工具创建更多可发现而且是智能的应用程序。机器学习 API 将允许开发者引入智能功能,如情感检测分析;声音、面部和视觉识别;并将语言和声音理解融入其应用程序中。这个领域的未来将是为所有人推出深度个性化的计算体验。

简单来说,认知服务可向应用、网站和机器人注入智能算法,以自然的沟通方式来观察、倾听、谈话、了解和解释用户需求。

关于认知服务的一些假设:

当我们谈及人工智能时不可回避的一个问题是,人工智能究竟是天使还是魔鬼。而认知服务的主要任务是让机器理解人类世界,并能按照人类的思维方式或者超出普通人的思考能力去替代人类完成某些的判断或决策,以替代人类大脑。一旦人工智能拥有“思考能力”之后,人类很难预测她的行为究竟是善意的行为,还是恶意的陷阱。目前的认知服务是否开启了人工智能的潘多拉魔盒我们还未尝可知,未来的一切还有待我们来探索。

在机器学习的光明未来中,我们认为这些都是会发生的事情,不过同样的,引入一些新的未知的颠覆性技术将会使得我们永远无法预测未来。

  • Dec 22 / 2017
  • 0
Ideas

锐眼洞察 | 2018年度商业智能和分析的发展趋势(翻译)

作者:Paramita Ghosh 

原文:Business Intelligence and Analytics Trends in 2018

译者:TalkingData副总裁 皮山杉

本译文禁止商用,转载请注明来源与译者!

由于近年来机器学习(ML)和深度学习(DL)的快速发展,2018年商业智能和分析趋势也将发生相当大的变化。物联网(IoT)和大数据在全球商业环境中的深入渗透自然引发了对智能商业智能(BI)系统的需求,智能商业智能(BI)系统可以在很大程度上实现决策自动化,从而减少对于数据专业人士的需求。

如果目前用于金融服务,投资银行,市场研究甚至医疗保健行业的商业智能系统都是标准的话,那么基于机器学习支持的智能数据发现(Smart Data Discovery)是推动不同类型和规模的企业游戏规则变革的助推器。

根据Gartner的统计,到2020年,商业智能市场预计将增长到228亿美元。那么,改变游戏规则的商业智能和分析趋势会给企业带来什么呢?当然是 – 更好的可视化以及深度数据钻取功能。虽然商业智能系统在技术上越来越复杂和复杂,但这里有一些已经预测到2018年的变革趋势。

市场规模和技术范围

根据商业智能统计数据显示,商业智能市场预计2018年将增长到208.1亿美元,2018年BI和分析市场的突然增长将包括:传统商业智能,基于托管(云)的商务智能,社交商务智能和移动商务智能。 2018年整个市场将触及208亿美元,这意味着“从2013年到2018年估计年复合增长率为8.3%”。

“福布斯”博客发表了一篇题为“数字化转型十大趋势(Top 10 Trends For Digital Transformation In 2018 )”的博客文章指出,物联网支持的业务分析有能力最大限度地提高每个行业从“零售到城市规划”的运营效率。像IBM或SAP这样的技术火炬手正更多的投资于商业分析功能,现在的物联网和大数据承诺实时提供流处理,运营和交易数据。另一个普遍技术的例子是区块链,它开始于金融服务,但逐渐进入了酒店,医疗保健和其他一些行业。根据Datamation统计,到2020年,只有20%的贸易融资将利用区块链,但一旦趋势确定下来,就不会有回头反复了。

数据分析的兴起和发展

数据分析在全球商业社会中的突然出现是由业务数据的数量和种类引发的,这给商业智能和分析用户带来了独特的挑战。 “数字杂志”杂志的“商业智能分析的大趋势”一文指出,商业智能变革不仅会增加用户的接受度,而且会促进主流商业用户之间商业智能平台的利用率。同时阅读“2018年前10大技术趋势”,了解人工智能,云计算,物联网和商业应用将如何共同为重塑每个企业的IT环境做出贡献。

2018年BI和分析市场的主要技术趋势

业界普遍认为,鉴于即时和准确决策的重要性,每个商业用户都希望能够独立地对数据进行可视化展示和分析,以改善结果。根据2018年发布的名为“顶级商业智能趋势”的博客文章,“现代”商务智能的特点是数据可视化,深度数据挖掘和智能自助服务分析。

这篇Dataviz文章的作者声称在2018年的十大战略技术趋势中,Gartner的智能应用程序和分析技术趋势2将确保在未来几年,每个业务应用程序或服务都包含某种程度的AI。本文进一步指出,市场对“处处AI”的迷恋正在引发所有分析平台和服务提供商的争夺战。

Forrester Wave BI平台上的报告传统上将高级可视化工具与低端报表和常规可视化平台分开。根据“Forrester Wave™:主要私有部署的企业级商业智能平台,2017年第三季度“文章,具有先进商业智能功能的企业商务智能平台需要数据专业人员来开发输出。另一方面,如Tableau,Qlik等主流BI平台满足了普通商业用户的需求。但是,现在Forrester承认,高级可视化对于大多数BI平台都是不可或缺的,特别是因为基于云的BI使中型或小型企业可以访问高级分析。在BI平台上,现在通常会发现许多将可扩展系统与低端系统区分开来的功能。
商业智能和分析趋势总体上的变化导致了两个主要的挑战,各种规模的企业必须缓解这个挑战:使商业智能民主化和从分析活动中提取实际价值。

挑战1:管理大量商业数据

随着2018年全球业务逐渐利用新颖的智能数据发现和增强分析平台,最困难的问题始终是大量的数据。在传统的BI&Analytics系统中,80%的数据没有被使用或利用不足,从而严重限制了分析系统的实用性。现在,托管的BI平台和物联网设备倾倒出不同类型的数据,因此需要使用高级数据编目工具来访问来自许多不同来源的数据。阅读ZDNet的文章“数据决策:利用分析的新趋势”,了解企业如何计划面对数据量挑战。

挑战2:ML驱动预测模型的局限性

根据Forrester Wave™:预测分析和机器学习解决方案,2017年第一季度,2017年的数据科学家需要开发ML驱动的预测模型的工具以及管理模型的平台。虽然这些BI平台在数据专业人士中颇受欢迎,但是从来没有人认为这些工具有潜力取代人类的数据科学家,并为自助式商业智能让路。也就是说,随着企业继续依赖大数据,云计算,物联网和预测分析工具支持的所有类型决策的自助式BI和分析工具,具有卓越数据可视化功能的自助式分析平台将在2018获得坚实的认可。

根据2018年“商业智能看起来如何?”的博客文章,组织将接受“自助服务”商业智能,当然还有更多的治理,以便业务用户对他们分析的数据拥有更多的控制权。

增强数据准备和增强分析

增强型数据准备和增强型分析旨在为公共数据科学家提供超越数据发现的工具,并帮助准备业务数据,以便为未来业务规划提供“战略,运营和战术活动”。通过增强数据准备,普通业务用户将能够在没有IT人员帮助的情况下针对特定假设测试数据。另一方面,Augmented Analytics将通过先进的启用ML的工具提供洞察力。这两项新技术的最终目标是迅速提高用户的接受度并增强数据意识。(在DATAVERSITY®可以了解的什么是增强型分析以及为什么这很重要?)

2018年业务分析的景观:顶级趋势

考虑到刚刚描述的下一代商业智能和分析的两大挑战,以下是可靠的行业文献所证实的2018年商业智能和分析趋势:

  • 增强数据准备将在业务用户中获得普及,因为他们将能够在没有IT人员的帮助下执行数据测试任务。
  • 数据可视化作为2017年趋势的领跑者,将在2018年继续主导BI平台。
  • 智能数据发现将为2018年的预测分析带来巨大的推动力,使其成为最受欢迎的业务分析活动。
  • 随着对“视觉”的热情,公民数据科学家或主流商业用户将在2018年依靠移动分析来进行日常决策。增强型分析将成为主流BI用户的追捧能力。
  • 大型组织将大量投资建立内部BI /分析平台。

这篇名为“商业智能(BI)趋势”的博客文章描述了这些即将到来的趋势。在DATAVERSITY®从数据中获取价值,数据发现必须第一!这篇文章的读者将会体会到现代商务智能系统的高级统计工具和ML功能,它们带来了创新分析解决方案的前景。由于通过卓越的数据可视化和数据理解提高了数据意识,这一直是可能的。

虽然传统商务智能技术缺乏良好的数据存储设备或良好的数据可视化工具,但现代的ML功能分析平台带来了更好的数据可视性和理解能力。新的数据发现方法可以大幅降低成本并提高成果。

 

  • Dec 22 / 2017
  • 0
Ideas

锐眼发现 | 五个步骤,实现产品MVP

作者:张小璋

转载于:人人都是产品经理

作者注:一直在说 MVP ,但是一直没有认真思考。正好手头有一个自己发起的内部区块链技术储备项目,没有工期和商业上的要求,同时也没有太多的资源支持,正好用来学习 MVP 思想。

 

什么是 MVP

MVP (最小化可实行产品,Minimum Viable Product)是 Eric Ries 在《精益创业》中关于「精益创业」(Lean Startup)的核心思想,意思是用最快、最简明的方式建立一个可用的产品原型,通过这个最简单的原型来测试产品是否符合市场预期,并通过不断的快速迭代来修正产品,最终适应市场需求。

简单来说,就是在做一个新产品的时候,不要一下子做一个「尽善尽美」的产品,而是先花费最小的代价做一个「可用」的产品原型,去验证这个产品是否有价值、是否可行,再通过迭代来完善细节。

这是一张在网上流传很广泛的用来介绍 MVP 的图:

假如你的产品愿景是一种高级出行工具,比如小轿车。传统的产品设计思路是一步一步,从车轮、车轱辘、外壳、动力装置、内部装饰一个流程一个流程做起,最后得到一个完善的产品。而MVP的思路,我们可能会先做一个小滑板车或者自行车,看看用户对出行工具的认可程度。如果用户认可我们的产品概念,我们可以接下去生产更加高级、完善的摩托车、甚至小轿车。

传统产品迭代思路成本高、速度慢、风险大,花高成本做出来的产品用户可能不认可;MVP 策略的优点在于试错成本低、速度快、风险低,能满足产品快速迭代的需求。

为什么要做 MVP

MVP 的作用就是让你用最小的代价,最快的速度,最早的时间将你的产品设想拿出来接触用户,并根据用户的反馈来改进你的产品。这里拿出来的「产品」并不一定是一个App、网页或者其他,可以是视频、PPT(额,但是千万别 PPT 造车啊)、RP文件等等。

我们知道,在产品只是个原型的时候基本上很难来说服用户和VC,因为缺少任何一部分都对体验大打折扣。那么大家可以参考 Dropbox 的 MVP ,看看 Dropbox 的创始人 Drew 是怎么做的:他做了一个视频放在了 YouTube 上,这段视频介绍了 Dropbox 的各项功能,Beta 版的等待用户(Email list)一夜之间从5000暴增到75000,可当时 Dropbox 甚至连实际的产品都还没有。

大家可以去这里观看:Dropbox MVP 视频

这有一个好处,就是避免我们「闭门造车」,空想没人要的产品却自认为会大有市场。

怎么去做 MVP

在做我司那个基于区块链系统的内部福利工具的过程中,我梳理了做 MVP 的思路和几个关键点.

NO.1 找出你要为谁解决什么问题

产品是用来解决问题,而不是来创造问题的。一个成功的 MVP 产品的第一步就是要明确客户/用户为什么需要这个产品?这个产品如何帮助客户/用户解决问题。

明确这些问题,有利于确定产品的主要目标,并为未来受众的实际需求找到最佳的解决方案。

在我的这个项目中,主要是1.我司对于区块链技术的实际转化和落地。2.解决我司福利部门如何在成本不变的情况下更好的通过「发福利」来激励员工。

基于这两个目标,我们制定了一个方向:通过区块链技术发行内部代币(我司内部成为「福励币」),福利部门向用户(优秀员工)发放「福励币」,用户可以通过「福励币」来购买零食、书籍甚至假期。

NO.2 分析市场上的竞品

如果市场上已经有了类似的产品,显然我们需要对竞品进行分析。但是有的时候我们会因为对产品独特性的信任而忽略一些非直接的竞争对手,比如我在做「福励币」项目的时候就险些忽略了市场上已经有的很多企业福利平台,虽然他们并不是基于区块链技术。

除了搜索引擎和一些数据工具(App Annie、酷传之类),还有一个很好的渠道来了解竞品,那就是潜伏到竞品的客户群里,直接分析客户对竞品的反馈,从而了解现有产品的缺陷,择其善者而从之,不善者而改之。

一旦我们确定了需要解决的核心问题,并分析了市场上的产品(竞品)的缺陷,我们就可以继续进行下一步——分析产品的主流程。

NO.3 分析产品主流程

要分析用户主流程,我们应该先梳理用户大的使用阶段。实际上操作起来非常简单,因为只需要把用户如何使用产品达成产品的主要目标所需要的步骤找出来即可。这时候我们需要多考虑一些基础功能,少考虑一些魅力型功能。因为基础功能是你的最终用户实际使用产品时都会(大部分会)遇到的,也是实现产品目标最基础的保证。

NO.4 列出所有必要功能,排出优先级

分析完产品主流程,我们可以对每一个主流程阶段进行细分,对需求进行整理——将不在主流程的需求干掉,并列出每一个主流程阶段所的需求,并排除优先级。这时候涉及到「需求管理」的一些方法——比如 KANO 模型、价值 vs 复杂度矩阵。

另外大家可以通过几个问题来处理需求:

  1. 你最希望用户完成的操作是什么?
  2. 你还想为用户提供什么服务?(这时候,可以把所有你想要的需求列一个 list,然后多问自己几个为什么需要这个需求,自己回答不上来或者不符合第一个问题的就从这个需求 list 里划掉)
  3. 这时候剩下了「必须要有的功能」、「有的话最好的功能」和「有没有都行的功能」,画个矩阵吧,用我之前介绍过的「价值 vs 复杂度矩阵」,来确定一下需求的优先级。
  4. 如果你确定了所有的优先级,则可以根据你的资源、时间来为你的产品第一个版本划定一个范围,并开始基于 MVP 的产品开发。

NO.5 验证和迭代

在完成 MVP 产品开发之后,我们需要尽快将其推向市场,让市场来验证你的项目,同时接收用户的反馈。因为只有从市场上你才能发现你的产品缺少了哪些功能或者多了哪些无关紧要甚至是累赘的功能。收集用户反馈之后,你可以用 MVP 的思想去改进、迭代、收集反馈,再次改进、迭代、收集反馈,形成一个循环,周而复始。

总结一些使用 MVP 思想时的一些感悟:

1. 关于需求

对于需求的把控,我们需要根据产品要解决的核心目标,提炼主要矛盾,善于抓重点,集中力量解决主要需求。同时 MVP 的思想在于「快」,对于需求文档应该尽量快(但不是不要质量)的去完成,传统 word 版的 PRD 很难高效率的去完成,目前我司对于需要较快时间完成的项目一般采取 Axure 标注 + 思维导图、流程图等形式完成。

2. 关于验证

MVP 一定要做验证,UX设计软件UXpin的负责人Christopher Bank发表在TNW的文章为我们提供了测试MVP的15条方法。大家有兴趣的可以去搜索看下:15 ways to test your minimum viable product
我则会使用以下三点:

  1. 用户访谈:通过各种途径去和你的「真实」用户沟通,向他们解释你的产品解决了他的什么需求,然后询问他们对于你产品的不同部分的重要性是如何排序的。根据收集到的信息再对产品进行调整。需要注意的是,用户访谈应该着眼于发现问题和解决问题,而不是向受访者推销产品。
  2. 数据验证:我一直认为数据是最有说服力(虽然大家都会寻找对自己最有利的数据来支持自己的观点),通过数据埋点和数据分析(比如漏斗分析),我们可以很清楚的看到用户在产品使用过程中的流失,并对流失原因进行猜测,将猜测方案在下次迭代中进行体现,并通过数据去验证我们的猜测正确与否,我们的方案是否有效。因此我也一直在推动公司内部数据分析的项目。
  3. 使用马甲包:市场是残酷的,有可能出现你的第一版产品并不适应市场,甚至与市场完全相反。随着口耳相传,你的项目极有可能会被打上「不好用」、「失败产品」的标签,从而增加你获取用户的难度。其实可以采用主产品+马甲包的形式,通过马甲包来测试用户的反馈,将成功的迭代加入到主产品中。马甲不成功就果断丢掉,这有点像 ABtest, 但是比 ABtest 更适合创业公司或者积累用户阶段的产品。

3.关于迭代

迭代一定是还是 MVP ,突出「速度快」和「代价小」,通过控制一个版本的需求量来加速版本迭代速度。同时合理的需求量也有助于开发团队可以高质量的完成工作。目前我的需求迭代排期一般按照「价值 vs 复杂度矩阵」来对进行。

4.适用范围

正如没有一种药可以包治百病, MVP 也并不是完全适用于所有的产品。它的优势在于快速验证未知的市场,帮助公司以较低的产品快速试错,更适合于业务属性和行业门槛不是很强的to c 市场。而to B 市场一般有着成熟的业务体系,并不需要花费时间来试错,因此并不需要 MVP。

  • Dec 21 / 2017
  • 0
Ideas

锐眼洞察 | 大数据正如何改变数字营销(翻译)

作者:Dhrumit Shukla

原文:How Big Data Is Changing Digital Marketing

译者:TalkingData解决方案架构师 张雪倩

本译文禁止商用,转载请注明来源与译者!

如今的数字化时代,有成千上万的工具供人们使用,包括平板电脑、数字电视、移动应用、智能手机、电子商务、社交网络及许多其它工具。几年之前,数字革命尚未发生,市场营销者的工作就是为电视、印刷媒体和广告牌设计引人注目的广告。数字化时代使得市场营销者不得不演进,发挥科技优势来分发信息。如今,市场营销者的工作大不相同,包括处理数字、收集数据、定位受众、推断趋势和在众多渠道中找到合适的来触达目标消费者。数字化时代带来了大量数据,市场营销者可以充分利用,借助更精确的洞察进行营销策略决策。因此,消费者通过广告接收到更有用的内容。

大数据促进营销活动

许多机构正通过不同来源的数据来促进数字营销活动。这些营销活动已经被证明比传统形式的广告更为有效。不再依靠猜测来进行营销,使得市场营销者能够发现变化中的趋势,并用于更有针对性的营销活动。海量的数据与数据来源,使得非常有必要投资更大型的、更复杂的数据库和数据分析工具,来理解所有可获得的信息。这样的深入理解增强了发现机会、正确路径与客户互动关系的能力。

运用大数据分析提升数字营销活动的主要原因

下面是考虑运用大数据分析提升数字营销活动的主要原因。

✓ 数据可视化工具可以帮助提升营销活动的效果。随着竞争愈加激烈,多亏了数字化时代和网络开放的边界,市场营销者正寻找快速理解和解读数据的方法。数据可视化工具用于发现能够指导执行的洞察。对于企业来说,这可能就包括了对一整年中存货流动、购物时间起伏以及其它时间中顾客偏好与行为的洞察。根据对数据点的综合理解来做决策,各种思维方式的集合可以实现突破,以大大提高赢利,比如发现缓慢进货利于更好地控制库存、更大程度的节约和提高货物周转率。实时的消费者洞察可以帮助获取更多的顾客和最小化顾客流失。使用数据分析工具进行顾客分析,意味着营销团队能够更充分准备,以应对顾客的变化和需求。

✓ 数据分析并非必须十分昂贵或复杂。除了提供数据库管理解决方案外,许多远程服务供应商现在可以提供数据即服务(DaaS)或数据分析即服务。这对小型企业来说十分理想,他们具有大数据量但是负担不起购买许可证和分析工具的现金开支。这样就可以通过远程服务应用来实现,使得客户可以利用不同的工具来分析数据,根据处理的数据量来付费。还有交互性仪表板,使得非技术的行业性团队成员也能够从数据商店获取洞察。

✓ 使用历史数据可以帮助规划未来。市场营销者可以通过数据驱动方法分析过去做了哪些是有效的,这样他们就可以为以后做出更好的决策。通过对消费者的洞察和其它数据形式的支持,他们可以更具准确性地规划将来的营销活动。这对于需要时常质疑自己提供的东西、并不断调整以提供良好的顾客体验的公司尤其重要。比如说,餐厅可以利用从顾客点单信息得到的洞察来找出趋势,并在不太受欢迎的菜品上搞特价。他们还能找到改善产品的方法,使得它们在顾客间更受欢迎。

提升营销活动效果的大数据源

有许多企业可以运用的数据分析源,来提升下一次数字营销活动的效果。

1. 网络挖掘。这一数据通过网络挖掘来编译。它使用自动化工具从网络文件、服务器发现并提取信息。此外,它使公司从服务器日志、浏览器活动、网页内容、网站、链接结构和其它来源获取结构化和非结构化的数据。

2. 社交网络。社交媒体在全世界范围内猛增。互联网用户平均每天在社交网络上花费至少两个半小时。社交网络使得市场营销者可以通过追踪发帖、评论、分享、点赞、签到和其它信息,获取从个人偏好到品牌提及再到个人品味的大范围数据。

3. 搜索数据。这是从浏览器活动收集来的信息,通过使用特殊工具,追踪搜索信息,了解消费者意图和行为。同时,可以通过一种叫做“信息载入”的方法将消费者匹配到线上虚拟身份。企业就可以建立线上目标受众群了。

4. 交易追踪。每笔公司经营或经手的交易都能提供有用的用户数据,无论是财务的、物流的还是其它相关流程。组织可以使用购买、保险索赔、存取款、订单与请求、预订预约和信用卡交易等业务信息来获取对目标受众的活动洞察。

5. 众包。这是个集中大众智慧的过程,通过网络可以更容易实现。通过在用户产生内容的媒介上进行调研和投票,对因兴趣爱好而集中的人群进行研究和数据收集。

大数据在数字营销上具有极大的作用。数据分析是目前的大趋势之一,持续受到关注,与此同时,越来越多的互联网公司和用户试图将信息转化为消费者收益。对数据分析进行扩展运用的公司,会在竞争中获取巨大的收益增长。

 

 

  • Dec 21 / 2017
  • 0
Data

锐眼发现 | 拒绝拍脑袋:如何科学的预估产品上线后的数据?

作者:木木(微信公众号「大白学堂」)

转载于:人人都是产品经理

数据会帮助你明确你的工作目标,优化资源配置,但数据的预估不能靠拍脑袋,需要有理有据。

你对自己正在做的工作能做到心里有底吗?一个产品上线后到底会取得什么样的结果,而且这个结果还是以数据的方式呈现,你能明确的说出来吗?很多时候做什么是比较容易的,怎么来评估做这个工作带来的价值反而没那么容易,这时候就涉及到了目标设定和数据预估。

怎么预估?是一个非常有挑战的事,有的人具体工作做的很好,但是涉及到数据就说不清楚了,很多工作多年的人也未必有这个意识和能力,但是只要你掌握了这个技能,将给你带来很多好处。

比如,如果你是创业者,预估的数据是你画大饼的基础,是对合作伙伴和投资人最好的说服工具,如果你是公司的领导,预估数据将帮助你配置与之匹配的研发,运营和推广资源,避免造成资源不足或闲置浪费的情况,如果你是产品经理,数据预估是你争取资源推动工作最好的帮手。

总之,数据会帮助你明确你的工作目标,优化资源配置,但数据的预估不能靠拍脑袋,需要有理有据,那这个数据怎么来?下面给大家分享一个思路:

1. 首先搞清楚你的用户是谁

预估数据前,要明确的知道你的用户是谁,这是数据预估的前提,如果连自己的用户都不清楚,数据预估也就无从谈起,那怎么明确你的目标用户呢?

第一步:

基于自己的经验和对市场的观察理解做一个定量的分析,对目标用户的范围有一个大概的认识,比如你要做视频直播,通过对市场上直播平台的使用及你的经验判断,你发现这个产品的目标用户群体是18~30岁之间的年轻人,这是一个简单的定量分析结果,让你对目标用户有了一个大概的轮廓;

第二步:

通过调查问卷等定性研究的手段,让人群的属性更具体,比如你发放了100分调查问卷,最后发现有80%的反馈者都是北方人,这说明北方的人更喜欢玩直播,这时候你的目标用户范围就缩小到了北方的年轻人;

第三步:

再对这里面的典型用户的模型进行分析,建立用户画像,比如你最后发现典型用户的画像是,性别女,年龄20岁,自由职业/无业,性格活泼开朗,擅长唱歌跳舞,这样的用户模型对应到实际的生活中,你就会发现非常符合艺术类院校学生的特征,这时候你的目标用户是谁也就非常清楚了!

备注:怎么做定量及定性分析,做用户画像,不是这篇文章的重点,这里就不展开说了。

2. 判断市场总的用户容量有多大?

当你把目标用户确定了,然后要看看这个市场的总人数有多少,比如你的目标用户是服务某个大学的学生,用户上限也就一两万人。

为什么要算总容量,因为这是你的产品理论上所能触大的用户上限,是产品的天花板,撑死了也就这么多了,当你配置资源的时候,这个总容量是你的前提,没有必要按照百万用户的标准配置服务一万人的资源。

3. 评估自己能力,看能触达多少人

在上面评估了整个市场的容量,接下来就要看看自己手里的牌,看看自己是否有能力占领整个市场,如果不能话,以自己的能力,到底能获取多少用户。

比如你的产品是面向考研人群的,理论上所有愿意考研的人群都是你的目标用户,但是你的公司只有10个人,市场费用也没多少,市场很大,但是你根本没有能力触达全国的人,正好你的公司在北京,所以你选择了北京要考研的人群作为你的服务对象,北京考研人群数量就是你能触达的用户数,上面的数据是理论上你能覆盖的用户人数,这一部分是你实际上能覆盖的用户数。

4. 根据运营推广策略,进行数据预估

在上面知道了我们在能力上能覆盖的用户,实际上在获取用户的时候,往往会制定一定的用户获取策略,筛选出让资源最大化的目标用户,对这些用户进行重点的运营和推广,比如微博要获取用户,并不是直接去拉用户,而是先拉明星,然后通过明星来拉粉丝,要获取一个学校里的学生用户,不会对所有人都一视同仁,而是会优先拉校园里面比较活跃的人,然后通过这些人去影响其它人,这些基于推广策略筛选后的目标用户数量,基本上就非常接近产品上线后的用户数。

通过上面4个步骤,我们知道了目标用户是谁,理论上最大的用户数,实际上能获取的最大用户数和根据实际的运用推广策略能获取的用户数,基本上整个产品预估的数据就都有了,下面给大家一个真实的案例,这是我以前服务过的一家公司,在当时是全国最大的社交网站,来看看在产品上线前是怎么预估数据的:

首先确定目标用户

这个产品是参考美国的社交巨头facebook,为大学生提交社交服务,目标用户是全国在校的大学生,人群的画像非常清楚。

其次判断这个市场的容量

通过每年教育部公布的数据很容易获取在校大学生的数量,每年新增的大学生六百多万,在校的大学生超过两千万,两千万用户是每年能获取的用户的最大上限。

然后我们再来评估能触达多少用户

这两千多万学生,分布在全国各地的大学,有像清华,北大这样的名校,也有偏僻的不知名的学校,虽然整体看起来地域跨度比较大,但是学生有一个特点,就是在单个学校中相对集中,作为创业团队,全部覆盖几乎不可能,而且团队成员都在北京,这时候推广目标基本上就可以从全国的大学,缩小到北京的大学了,怎么选择这几个大学,有几个标准,首先这些学校上网环境要好(这是在05年左右的时候,很多学校上网都不方便),其次,这些学校的学生进来后有示范带头作用(有逼格),最后是团队有能力在这个学校进行推广,可操作性强。

因为团队成员基本都是清华北大的,基于以上的筛选,将推广的学校锁定在了清华,北大两所学校。因为用户注册需要教育邮箱注册,这避免了非目标用户随意注册,这时候用户量基本已经可以有一个比较清楚的估计,就是这两所大学的在校人数,最多也就是六七万用户。

最后根据运营推广策略进行数据预估

在前面确定了学校,在推广的时候,要研究学校的学生,在这些学生中,有四分之一是即将毕业的大四学生,四分之二是大二和大三的,有四分之一是新入学的新生,对于新的产品,新生更容易被宣传和接受,而且他们会在学校里待更长的时间,所以在推广的时候,策略是对新生重点进行推广。

再看看自己能触达用户的渠道:学生会,社团,辅导员以及自己的地推团队,每个部分能触达和转化的用户大概有多少,如果按转化率十分一,时间期限按一个月来算,最后实际获取的用户可能在6千左右。

这时候基本上可以估算出,这个产品上线后,一个月用户量大概在6k~6w之间, 6k是最低的目标,打死也要完成的,超过了6k说明这个产品比预期想象的好,值得接着做了。

其实数据的预估,也是对自己目标的管理的一部分,不只是产品上线前要预估,在你做运营,推广,等任何一项工作前,都要对投入和产出进行预估,没个人都有自己预估数据的方法,上面的思路仅供参考,欢迎找我一起交流。

页面:12345678...44
随时欢迎您 联系我们