创建更有说服力的图表和图形的 5 个数据故事技巧
与数字打交道通常不被认为是一份性感的工作。毕竟,像会计和数据录入这样的职业在这个数字时代并不是最令人兴奋的职业。
但是,就像曾经平淡无奇的电脑极客现在统治着世界一样,数据分析师目前被视为“就业市场的独角兽”
根据 LinkedIn 的说法,理解大量杂乱数据并从中找到独特见解的能力是就业市场上最热门的技能之一。
原因显而易见:自 2013 年以来,创造的数据比之前人类历史上的总和还要多。
因此,不仅对数据科学家有很高的需求,而且对那些知道如何以有效和有说服力的方式可视化和呈现数据的人也有很高的需求。
这就是数据叙事的用武之地。
结合了数据、视觉效果和叙述的、数据叙事是热门的、新的数据科学技能 每个人 都将在未来需要。
Information source: Forbes
对于那些不喜欢数字的人来说,这可能真的是个坏消息。
但在你开始恐慌之前,让我们从一些简单的事实开始,这些事实将帮助你理解我们的大脑是如何处理视觉效果的,以及你如何利用这些原则来改进你的图表。
视觉大脑及其工作原理
与你在高中所学的相反,人类的视觉比仅仅处理物体反射的光要复杂得多。
虽然我们显然可以看到 180 度角内的一切,但实际上我们只能完全准确地看到那些在我们视野中心的东西,在一个非常狭窄的 2 度范围内。
那我们怎么会看不到一团模糊的东西呢?
由于被称为迅速扫视的快速眼球运动,我们能够感知位于剩余 178 度角内的物体。在没有注意到的情况下,我们的眼睛会快速跳动,并注视着场景的不同点,以从这些综合信息中创建一个准确的视觉地图。
虽然这些运动是无意识的,但我们的眼睛会优先关注它们所注视的东西。例如,明亮的颜色,不常见的形状和移动的物体会立即吸引我们的注意力,即使它们不在我们面前。(来源:阿尔贝托·凯洛的功能艺术)
Information source: The Functional Art
一旦光被编码成电信号,大脑就会提取主要特征,从粗略的形状和颜色开始,然后才开始真正处理和识别人面前的东西,使用长期记忆中的大量信息。
为了获得更直观的解释,你也可以观看 Payman Taei 描述我们如何感知物体背后的科学原理:
我们的视觉大脑被差异所吸引
因此,我们的眼睛实际上首先聚焦在突出的关键点上,而不是像相机一样捕捉整个场景。这就是为什么我们的视觉大脑会立即注意到差异和对比。
看看下图就知道了。你花了多长时间才看到前两幅插图中的熊?最后一个呢?
这个简单的练习揭示了我们的大脑更善于识别颜色而不是形状的差异。
我们的大脑被设计用来识别模式
你知道吗,在你有意识地意识到之前,你的感官一直在处理来自环境的各种信息。
这被称为前注意力处理,如果没有它,我们会浪费大量时间去理解我们周围的世界。
令人欣慰的是,我们的视觉大脑通过自动检测物体之间的差异和相似性,让我们的事情变得简单。
例如,看看下面这张图片。
你是否立即关注了中间的一个大矩形?在第二部分中,您可能马上就注意到了一个矩形与其他矩形不同,它是垂直方向的。
这是你的视觉大脑:它被设计用来注意模式,并立即检测这些模式的中断。
视觉大脑的 5 个数据故事技巧
既然我们已经对我们感知物体的方式背后的科学有所了解,让我们看看这些知识如何转化为创建有效和有说服力的数据可视化的实用技巧,这些技巧来自《哈佛商业评论》的指南Good Charts。
1.我们的眼睛不会遵循特定的顺序。
阅读有文字的页面和阅读图表的第一个区别是,在西方文化中,你阅读的顺序是从左到右,从上到下。对于第二种,没有预先确定的顺序——你只是去你的眼睛带你去的地方。
步伐也不一样。你不是一行一行地阅读,而是从一件事跳到另一件事,在某些部分花的时间比其他部分长。
这意味着创建有效的可视化效果,有意识地将观众带入一个预定义的视觉旅程,尤其具有挑战性。
2.我们的眼睛首先关注突出的东西。
当我们看下图这样的图表时,我们不会一下子看到所有的东西,而是集中在一个显著的点上。
Information source: Prison Policy Initiative
图表中最突出的是最右边的峰值。这幅图的中心信息非常清楚:自 20 世纪 70 年代以来,美国的监禁率呈指数增长。
最好的数据故事讲述者利用这一原理,通过一个清晰易懂的信息创建图表和图形。
3.我们的眼睛可以同时处理几件事情。
每当你有一个超过 5 到 10 个变量的图表时,单个的单元开始失去它们的个性,被我们的眼睛视为一个单一的整体。
考虑到这一点,你应该简化你的图表,让它们突出你想要表达的一个要点。
以这张图表为例。你首先注意到的是中间的峰值、绿线和单词“断电”
如果目标是通过声明性图表(而不是探索性图表)传达明确的信息,那么你会发现这里没有明确的信息。
例如,假设您想要揭示即使在停机后性能评级仍持续下降,那么观众必须努力找到这一趋势,因为背景中的峰值会分散对绿线的注意力。
在这种情况下,最佳解决方案是消除客户服务呼叫数据的数量,并专注于停机前后的客户服务评级。
4.我们试图在数据中寻找意义。
另一个重要的事实是,我们的大脑被设计成立即寻找联系,并试图在数据中找到意义。
如果你看这个图表,你会发现你的大脑无意识地将标题中的橙色和橙色的点联系起来。
“这一定意味着橙色的点代表表现最好的人,”我们的视觉大脑总结道。
不对。实际上,表现最好的是那些绘制在图表右上角的,与颜色的选择无关。
知道了这一点,我们必须做出明智的设计决定,并且有意识地分配颜色,以提高你的视觉功能。
5.我们受文化习俗的指导。
有些习俗我们认为是理所当然的。例如,在西方文化中,我们都直观地知道,当可视化时间时,它从左向右移动,而不是从右向左;或者蓝色代表冷,红色代表热。
视觉隐喻也是如此:我们都把金字塔和等级联系在一起,或者把两个事物的比较和等级联系在一起。
如果你忽略了这些惯例,那么不言而喻,你的视觉效果将难以解读。
看看这个图表,当时间放在 Y 轴上而不是 x 轴上时,从中提取意义是多么困难。
如何改进数据叙事的示例
下面是一些如何改进图表和图形的例子,让它们不只是简单地显示数据 ,而是讲述一个故事 ,摘自科尔·努斯鲍默《用数据讲故事一书。
以前
此条形图显示了一年中收到和处理的票证数量。
在…之后
如果你的目的是传达一个信息,并推动某人采取具体行动(在这种情况下,雇佣两名新员工),那么这就好得多。
通过选择线形图而不是条形图,收到的票据数量和处理的票据数量之间越来越大的差异变得非常明显。
以前
这是另一个没有叙述性或清晰消息的数据显示的例子。
在…之后
现在看看以完全不同的方式呈现的相同数据集。差别很大,对吧?核心信息是显而易见的:节目结束后,更多的孩子对科学感到兴奋。
使用单个图表而不是两个独立的图表可以让观众快速了解调查结果。此外,使用一些颜色,而不是五六种颜色,以及一个有效的标题有助于读者快速掌握项目前后结果的差异。
以前
另一个无效图表的例子是准确的,但没有传达或说服观众采取特定的行动。
在…之后
在这张图表中,我们的眼睛立即被蓝色条、灰色线和代表平均价格点的蓝点所吸引。
核心信息是显而易见的:要有竞争力,理想的价格在 150 到 200 美元之间。
以前
乍一看,这个饼图似乎足够清晰,但深入分析后,您会发现它并不遵守让查看者快速掌握信息的几个约定。
正常情况下,我们会期望人工尺度上的值按顺序排列,从“完全不感兴趣”到“非常感兴趣”但是在这种情况下,值是根据每个响应的百分比排列的。
我们还期望颜色的变化与人工标度相对应,一种颜色在标度的一端,第二种在相反的一端,中间有中间色调。
在…之后
乍一看,这要容易理解得多。根据价值等级排列,我们很快了解到大多数人对这种特殊的产品不感兴趣。
轮到你了
既然你已经学会了一些更有说服力和更有效的数据故事的简单原则,你可以试试用这个 免费图表和信息图表工具 在创造你自己的可视化数据故事。
如果你有任何自己的数据讲述技巧想要分享,请在评论区给我们留言!
人工智能驱动的个性化营销可以解决 5 个电子商务业务挑战
营销人员面临的最大挑战之一是实施有效的个性化活动——不仅适合目标人群,还适合他们独特的客户群。但是个性化营销跨越了大量的选择和维度,这意味着不存在放之四海而皆准的个性化营销活动。最好的方式、正确的方式、唯一的方式……这些都取决于你的业务和你面临的挑战。这并没有提供太多的清晰度,所以我们创建了 ABC-Commerce *,*一个虚构的企业,它将帮助我们说明人工智能驱动的个性化营销的好处。在这篇文章中,我们将把它们作为例子。
ABC-Commerce :
有几年到几十年的客户购买历史。
在线销售 3000 种产品。
每年在营销上花费 1-2M 美元。
购买回复率为 2%。
利用直邮目录和电子邮件营销。
拥有 200 万现有客户。
在他们的数据库中有数千万的潜在客户/询问者
最后但同样重要的是, ABC-Commerce 无法识别最容易接受促销优惠和新营销活动的客户群。
虽然几乎任何企业都可以使用人工智能来提高效率,但让我们来看看人工智能驱动的个性化营销可以帮助您解决的五个电子商务挑战。
挑战 1: ABC-Commerce 拥有大量的客户数据和他们的每一个购买细节,但不知道如何处理这些数据。
这一切都始于利用企业现有的大量客户数据。到了这个层次,甚至不需要那么有钱。基本的交易细节,如谁在何时何地购买了什么,可以提供大量的深刻见解。你拥有的数据越多,你的情况就越好。他们购买了多少数量?他们以什么价格购买的?他们从哪里来的?他们是回头客吗?客户购买历史,尤其是几年的购买历史,包含了关于整体参与度和您与客户总体关系的强烈信号。其下一层是对每个客户的终身价值及其转换或重复购买的可能性的更深入的洞察。
您的第一步应该是利用您已经拥有的客户数据。发现隐藏在自有数据中的细节是一项基本练习,即使是基本的数据争论和机器学习技术也能擅长。虽然基本的定量分析可以有效地解释已经发生的事情,但人工智能驱动的分析可以帮助你确定将会发生什么。
挑战 2: ABC-Commerce 在营销上花费了大量资金,却没有可靠的转化率/回应率。
电子商务营销支出的投资回报率是衡量任何活动有效性的关键指标。尽管绝对支出本身并不能描绘出一幅清晰的效果图,但当回应率和交谈率低于使用先进机器学习预测营销的公司设定的行业基准时,它就会被纳入考虑范围。营销人员改变游戏的最佳方式?更深入地了解客户的各种微观细分市场,让他们能够更深入地了解哪些细分市场表现良好。
当然,对于这种类型的企业来说,理解和识别历史趋势是一项挑战。这是一个问题,因为如果不完全掌握已经发生的事情,就不可能知道将会发生什么。这就是人工智能的用武之地。人工智能在分析历史数据以对可能在任何给定时间点对您的业务表现更好的细分市场进行聚类分类方面发挥着关键作用。
挑战 3:基本的和基本的新近性、频率和货币价值产生的洞察力很少。
跟踪每一个顾客的新近度、频率和货币价值是一种古老的营销实践。但是真的有用吗?像我们已经讨论过的其他广泛的实践一样,这些数据主要用于提供历史洞察。CLV(客户终身价值)是一个关键的营销指标,但许多企业仍然根据历史支出来计算,没有考虑未来可能的购买。预测未来 3 个月、6 个月、9 个月和 12 个月每个客户级别的预期支出可以作为购买可能性的强有力预测指标。使用这些数据,可以通过可能性和对这些可能性估计的信心来细分客户,以运行有效的人工智能驱动的活动。
挑战 4: ABC-Commerce 无法将活动与销售关联起来。
如果你不能把它和具体的销售联系起来,就很难判断活动的效率和效果。但这种归因只是眼前问题的一个方面。除了简单的目录到转换率之外,还有很多复杂的东西。比如,你真正需要发送多少目录才能转换?你如何知道产品目录在顾客购买时是否起到了关键作用?人工智能学习算法可以分析历史数据,以识别深层模式和相关性,让你可以微调和预测导致销售的精确模式。这种水平的洞察力使您能够修改您的活动并全面提高效率。
挑战 5: ABC-Commerce 正在增加营销支出,却没有任何回报
当营销支出增加,但回应率保持不变时,是时候考虑改革了——最好是利用先进的工具和技术。
在选择目标市场时,很容易使用“眼球测试”。只需选择我们认为最直观的客户群交叉点。但是认为人类可以识别,更不用说应用隐藏在历史数据中的模式,这是一个巨大的陷阱。人类的智慧在这里是行不通的。这就是人工智能发挥巨大作用的地方。人工智能可以帮助我们确定正确的目标细分市场,让我们专注于设计肯定会与人工智能确定的客户产生共鸣的创意活动。这样更容易,也更有效。有什么不喜欢的?
人工智能驱动的个性化营销有能力彻底改变你瞄准客户和向客户营销的方式。它非常灵活,足以适应任何业务。这是有效的,通过梳理大量的数据来消除你的猜测。而且它价格合理,能够满足您的营销目标,而无需花费大量成本。大概是你给 AI 一个尝试的时候了。毕竟,最聪明的营销方式是用最聪明的工具。
感谢您阅读帖子。请分享你对如何使用人工智能进行营销的想法/想法/评论。
更多详情请访问 VectorScient 。
关于作者: Veda Konduru 是 VectorScient 的创始人兼 CEO。在她目前的职位上,Veda 负责制定和执行 VectorScient 的战略。Veda 还担任 VectorScient 预测营销云的首席产品架构师。在推出 VectorScient 之前,Veda 在企业界工作了 10 多年,为销售、需求预测和供应链设计和构建软件应用程序,在产品质量、客户关注和参与方面享有盛誉。Veda 将她的统计学背景与机器学习和数据科学相结合,创造出真正世界级的预测分析产品。她拥有计算机科学硕士学位。
你现在需要知道的 11 个电子商务营销趋势[2017 年 11 月更新]
电子商务行业正在快速发展,以跟上消费者偏好和需求的变化。在新的先进技术的帮助下,电子商务零售商更容易适应这些变化。
只要你知道采取什么样的改变,你就有很大的机会满足客户不断变化的需求。有几个电子商务营销趋势可以帮助你提供更好的体验和增加销售。
在本帖中,我们将讨论一些你应该知道的最大的电子商务营销趋势。
电子商务营销趋势#1:更直观的 UGC
您已经知道,用户生成的内容(如评论)是赢得电子商务消费者信任的绝佳方式。你甚至可以在你的产品页面上添加评论,这样你就可以获得更多的转化率。
但你可以更进一步,开始在你的电子商务营销策略中实施用户生成的视觉效果。
用户生成的视觉内容正在成为电子商务营销的趋势,这主要是因为它比书面内容更能吸引消费者,带来更好的效果。根据 Olapic 的一项研究,人们对社交媒体上其他顾客图片的信任度是对广告的信任度的七倍。
同一项研究发现,56%的受访者在看到相关或积极的用户生成的照片后,更有可能购买一件商品。52%的受访者还认为照片是最吸引人的用户生成内容。这胜过视频和书面内容。
如果你想追随这一趋势,你可以在你的产品页面或社交媒体上展示用户生成的视觉效果。你甚至可以两者兼得。
但是怎么能收集 UGC 呢?你可以鼓励你的客户在社交媒体上分享他们购买的产品,并用品牌标签进行标记。然后你可以收集这些照片,并在你的社交媒体上分享。此外,您还可以在相关的产品页面上展示一些用户提交的最佳照片。
例如:丹尼尔·惠灵顿
丹尼尔·惠灵顿在展示顾客在产品页面上提交的照片方面做得很好。下面是他们一款产品的 UGC 版块截图。正如你所看到的,他们精心挑选了一些视觉上最吸引人的图片来赢得顾客。
电子商务营销趋势#2:人工智能和机器学习使用的增长
电子商务营销最重要的趋势之一是使用人工智能和机器学习。您可以利用它们为零售商提供更加个性化的客户体验并提高他们的工作效率。随着技术的快速进步,电子商务零售商很可能会在实现人工智能和/或机器学习的工具和平台上进行更多投资。
事实上, Zebra 2017 零售愿景研究发现,68%的受访者计划在 2021 年前投资机器学习和认知计算。零售商计划使用该技术来个性化客户体验,并增强他们预测和管理库存需求的方式。
你可以使用这些人工智能技术和机器学习来进行更智能、更准确的预测和推荐。例如,您目前可能正在使用重新定位策略,在这种策略中,您会显示社交媒体广告或发送产品推荐电子邮件,推荐您的客户似乎非常感兴趣的产品。
但是,许多零售商甚至在顾客已经购买了该产品或类似产品之后,仍然继续进行同样的推荐。因此,建议不再与客户相关,使您的努力或多或少变得不必要。
相反,你可以使用人工智能来理解某些客户采取的行动,以便你可以提出更准确的建议。比如,你可以在顾客已经购买的产品之外,推荐一款顾客可能需要的补充产品。
当然,即使他们访问你的网站,你也会向他们提供与他们过去行为相关的建议和经验。也许你可以展示一系列他们最喜欢的产品。
除此之外,人工智能和机器学习还有很多的用途。你甚至可以利用这项技术为你的顾客提供个人购物指南。
示例:Unisport
例如,Unisport 推出了终极靴子选择器,它可以帮助购物者找到最适合他们需求的靴子。
购物者将不得不回答一系列问题,为每个人挑选出最好的靴子。例如,他们必须回答这样的问题,比如他们打哪个位置,他们喜欢什么类型(速度,舒适度,控制等等。),他们能承受的价格区间等。所有这些信息都有助于提供专为每位顾客设计的完美推荐。
根据你的回答,该技术将挑选出最符合你需求和偏好的前三款靴子。正如你在下面的截图中看到的,这些推荐是根据相关性排序的。这将有助于购物者在完整信息的帮助下快速顺利地完成订单。
电子商务营销趋势#3:增强的移动体验
你需要关注的另一个重要趋势是为电子商务消费者引入更好的移动体验。长期以来,人们一直认为,人们主要使用移动设备在线进行产品研究。然后他们使用他们的桌面进行实际的购买。
这意味着移动电子商务会话数量很高,但来自移动的收入较低。
根据 Wolfgang Digital 对 8700 万网站会话的分析,这一假设仍然成立。他们发现 42%的网站会话来自移动设备,而桌面会话占 41%。但就收入而言,只有 21%的最后点击收入来自移动设备。
因此,显而易见,要么一些移动购物者根本不转化,要么他们使用不同的渠道来完成购买。
图片来源:沃尔夫冈数码
这只能意味着一件事——零售商需要确保为他们的访客提供更好的移动体验。通过这样做,你可以看到来自移动购物者的收入增加。即使移动收入没有显著提高,它仍会影响你的整体收入,因为增强的体验可能会吸引购物者从你这里购买,即使他们是通过桌面购买的。
无论哪种方式,增强的移动用户体验对电子商务零售商来说都至关重要。请确保您的移动网页加载迅速且正确,以便访问者可以完美地查看页面的每个元素。
您需要确保移动访问者不会面临任何导航和浏览问题。他们应该能够很容易地找到他们要找的东西,阅读他们需要的信息。你可以使用手机友好测试来看看你的网站迎合手机访问者的程度。
例如:美国柯尔百货公司
正如你在下面的截图中看到的,美国柯尔百货公司网站是手机友好的。但是该工具已经检测到一些页面加载问题。所以,如果你想知道到底出了什么问题,你可以点击查看问题的细节。
一旦你在这方面展开,你可以了解更多的问题。该工具将告诉您它无法加载哪些页面资源。因此,您可以轻松地发现任何问题,并根据需要进行更改和改进。
电子商务营销趋势#4:社交媒体购买按钮的使用增加
社交媒体继续在日常消费者的生活中发挥着巨大的作用。它还通过增加电子商务网站的流量,对电子商务业务产生重大影响。皮尤研究中心(Pew Research Center)进行的调查显示,15%的美国网购者在点击社交媒体上的链接后进行了购物。
但是为了提高这些数字,零售商必须让顾客从社交媒体上进行购物变得更加简单和无缝。因此,只要有可能,预计将会有更多的零售商在社交媒体上实现“购买”按钮。
这些按钮将使购物者能够购买他们喜欢的产品,而不必在品牌网站上搜索产品。他们既可以在平台上完成购买,也可以直接进入产品页面。
拼趣
社交媒体“购买”按钮的最好例子是在 Pinterest 可购买的 pin 码。这是因为购物者无需离开 Pinterest 就可以完成购买。
示例:花卉
下面来自 Afloral 的引脚是可购买引脚的一个例子。正如你所看到的,有一些产品细节,如定价和库存。图片正下方有一个“添加到包”按钮。
如果您将此商品添加到您的包中,您可以直接从 Pinterest 完成结账。下面的截图显示了 Pinterest 上的结账页面,用户可以在这里添加送货地址和支付信息,而不必离开社交媒体平台。
在脸书和 Instagram 等其他社交媒体平台上,“立即购买”或“立即购买”按钮只有在向目标受众显示广告时才可用。
照片墙
但是 Instagram 已经开始通过引入 Instagram 购物进行改进,这将使零售商能够在他们的有机帖子上添加产品标签。
用户可以点击这些标签来获得产品详细信息的扩展视图,如定价、产品描述等。他们还会看到一个“立即购买”按钮,将他们带到产品页面,在那里他们可以完成购买。
但 Instagram 购物目前仅面向精选零售商。一旦 Instagram 决定向每个零售商提供这一功能,Instagram 上的“立即购物”按钮将会大受欢迎。
图片来源: Instagram 博客
电子商务营销趋势#5:聊天支持的使用增加
电子商务零售商成功的关键是提供卓越的购物体验和客户服务。你需要把你的顾客放在第一位,确保他们在向你购买时不会遇到任何麻烦。
这意味着,如果他们在购物时有任何问题或疑问,无法立即找到答案或解决方案,您需要尽快处理。
处理此类事件的最佳方式是提供实时聊天支持或实施聊天机器人。 Avaya 报道称,消费者更喜欢通过短信而不是电话与商家交流。
因此,如果您使用聊天机器人、社交媒体消息应用程序或实时聊天支持来实时提供答案和解决方案,就可以增强他们的体验。
聊天机器人
聊天机器人是电子商务行业的一个上升趋势,主要是因为它的效率。虽然它们属于人工智能,但更清楚地解释它们在客户支持方面的好处至关重要。
由宾利大学和 NeuraFlash 联合进行的一项研究发现,100%的人认为聊天机器人对话更可取,如果它们真的能节省时间,更容易解决问题。
随着人工智能技术的改进,零售商现在将能够使用聊天机器人来自动化对话,并向客户提供个性化的支持体验。客户将能够使用聊天机器人作为一种自助服务功能,特别是在日常交易需要帮助的情况下。但如果遇到更复杂的查询,聊天机器人可以带一个实时代理来帮助客户。
实时聊天支持
实时聊天支持也至关重要,在电子商务零售商中越来越受欢迎。购物者可能无法通过 FAQ 页面或产品描述找到他们需要的一些信息。如果他们给你发邮件,你可能需要几个小时才能回复。如果他们想打电话给你,可能要等很长时间。
这就剩下了实时聊天支持,它使购物者能够与真人互动,并立即解决他们的问题。
例如:H&M
难怪像 H M 这样受欢迎的零售商已经开始为他们的顾客提供聊天支持。
例如:沃比·帕克
Warby Parker 通过突出显示所有沟通选项,让客户更容易找到他们。为了避免客户失望,您可以效仿他们的做法,准确显示实时聊天代理可用的时间。
电子商务营销趋势 6:影响者营销
影响者营销是当今营销人员的普遍选择。Twitter 最近在 T2 进行的一项研究显示,消费者对有影响力的人的信任度几乎和他们的朋友一样高。这项研究的一些更有趣的发现是:
- 近 40%的用户报告说,他们根据某个影响者的推文购买了一件产品。
- 49%的受访者表示曾依赖影响者提供产品推荐。
- 这一比例仅次于朋友的推荐,有 56%的受访者这样认为。
推特图片
正确的影响者和有效的活动可以为你的电子商务创造奇迹。选择合适的影响者对您的活动的成功至关重要。
例如,如果你有一个专门从事健身器材的电子商务企业,一个促进健康和健身的有影响力的人将是一个合适的选择。
各种影响者营销工具,如 BuzzSumo 或 Ninja Outreach 可以帮助你识别正确的影响者,并与他们建立联系。
继续在谢恩·巴克的博客上阅读这篇文章。
如何降低定制软件开发成本?5 有效的解决方法!
软件开发要花多少钱?我们知道这是怎么回事。即使你在 定制软件开发 有几十年的经验,这个问题也很难回答。这仅仅是因为它不同。但是,让这成为以后的讨论。在本文中,我们将告诉您如何降低定制软件开发成本,并在不影响质量的情况下提供定制软件解决方案。
太多的软件项目失败了。是的,我们做到了!有人必须解决房间里的大象。计划的不充分和缺乏沟通是开发定制软件失败的根本原因,而不仅仅是技术上的无能或无法达到的需求。
定制软件开发远非精髓,因此,“定制”一词。一些软件应用程序之间可能有一些相似之处,但是每个定制开发的软件都是创新思想和业务逻辑的集合。定制软件对企业来说意味着优势,因为现在企业有了竞争优势。这引发了对定制软件的需求,而需求导致了随后的高软件开发成本!
《哈佛商业评论》最近的一篇文章显示,六个 IT 项目中就有一个项目的成本超支了 200%。听起来像是一个爱失败的行业。那么,“如何降低定制软件开发成本?”自己动手?;)
开个玩笑!对于软件来说,这个目标是无法实现的。并且认为一个现代企业没有软件也能繁荣是不可想象的。这使得成本飙升,并最终取代了公司的整体利润,特别是对于初创公司和新的小公司。
阅读更多:您的企业需要软件开发的 5 个症状
那么,你会问,有没有一种方法可以开发一个定制软件而不损失你所有的钱?我们能降低软件开发的成本吗?瞧啊。绝对的。
降低软件开发成本的第一步是自己规划软件的相关业务需求。项目需求与项目成本成正比。当您有一个详细的业务需求文档时,您节省了定制软件开发公司为您起草的大量时间;因此降低了成本。我们将在文章的后面讨论这个问题。
还有 5 个简单但有用的策略可以帮助任何关注成本的公司明智地投资定制软件开发:
[1]考虑你的外包选择
外包软件开发是降低软件开发成本最简单的方法。最初的成本节约表现为没有内部成本,即工资、福利等,然后扩展到运营、营销和管理成本的削减。
离岸软件开发也是获得所需技术领域中有经验的开发人员的一个好方法。参见为什么你应该外包软件开发。
但是,与此同时,这些较低的价格并不一定会转化为更好的性价比。确保质量需要考虑更多的因素,而不仅仅是成本。有了正确的态度,你不仅可以省钱,还可以找到高质量的软件解决方案。
在你准备雇佣一个软件开发团队之前,做好你的尽职调查。向潜在的软件开发团队提出这 5 个问题以确保你得到你所支付的。
【2】拟定自己的要求
这样做的主要目的是避免需求中的模糊性。如果需求被曲解或者没有完整地阅读,将会导致随意的设计、不适当的功能和缺乏特异性,从而导致灾难。在接触任何定制软件开发公司之前,请确保您完全了解您的业务需求,并起草一份需求分析。从头到尾起草适当的文件可以减少沟通失误。
此外,由于软件开发团队已经知道他们需要开发什么,也知道细节,他们不必花太多时间与你开会,一遍又一遍地重复同样的事情。这将降低整体软件开发成本,为您节省时间,帮助您专注于其他重要的业务问题。
【3】沟通好
根据 Standish 的报告,52.7%的项目将花费他们最初估计的 189%。为什么?不切实际和不可行的项目规格以及项目方向和管理的不断变化。这种现象如此普遍,甚至有了一个名字——“黑天鹅”。
当项目方面比较模糊的时候,离岸软件开发团队应该介入并阐明项目范围的任何突出的灰色区域。
这个项目流程将作为客户和软件开发外包公司的路线图。任何偏离这一规格的行为都要额外付费。了解这一点将有效地减少猜测,也减少了成本增加和项目失败的潜在空间。
[4]一开始就让 QA 团队参与进来
“软件测试咒语”说人们应该在软件开发生命周期的早期开始测试。错误或 bug 通常在需求或设计阶段开始积累,然后最终传播。
在初始阶段引入 QA 可以在开发之前识别许多问题,避免次优的应用程序质量、项目中期重新设计的成本,甚至是发布的危险信号。
后期阶段的错误需要返工,而返工需要额外的费用。这进一步推高了您的定制软件开发成本。从一开始就涉及 QA 会带来潜在的问题和冲突,同时,客户或软件开发团队可能没有想到的任何功能性问题也会浮出水面。
[5]优先考虑绝对必要的特性,并消除版本 1 的“所谓的美好事物”
当涉及到软件项目时,利益相关者通常是兴奋的,在花费被画出之前,他们的想象力是无限的。请注意,当涉及到定制软件开发时,一个完整的解决方案可能需要几个版本才能推出,而预算又不是那么宽松。从一小块有基本需求的软件开始,一旦证明它有价值和有利可图,软件的后续扩展总是一个选项。这将降低开发成本,也有助于开展市场研究,预测客户对产品的接受程度。
还有更多…
我只是简单地选择了一些技巧,它们将帮助你以更低的软件开发成本有效地外包软件开发项目,而不放弃质量。总而言之,当应用程序有一个合适的基础并且头脑中有一个非常清晰的想法时,软件开发可能会比大多数人意识到的更便宜。
最初发表于: 二进制乡亲
正确实施预测分析计划的 5 个基本步骤。
各种规模的企业都试图通过采用预测分析来保持领先地位。如果你是负责领导预测分析计划的人,你如何做好?
这里有五个通用的最佳实践,可以帮助你保持你的项目在正确的道路上。
1。努力实现业务成果
许多大数据和预测分析项目从技术项目开始,在收购基础架构后停止。毫无疑问,购买新硬件、安装 Hadoop 和实施释放大数据威力所需的所有其他关键基础架构组件会令人兴奋不已。但是如果没有得到业务的支持,这些项目几乎肯定会失败。因此,由业务成果驱动大数据和预测分析项目是绝对必要的。
该流程的第一步是获得业务支持,并确定您希望预测分析影响的结果。如果是在市场营销中,它可能是识别可能购买和可能放弃的客户。在销售中,它可能是发现你可以为你的产品设定的最佳价格。在产品管理中,它可能是关于预测可能进入衰退期的产品。无论是哪种情况,确保你朝着具体的业务成果前进,而不仅仅是处理一个新的技术项目。
2。开始小规模
诚然,预测分析结果的准确性取决于基础数据的丰富程度。但是边际收益递减法则在这里起了作用。首先确定一小组对结果有影响的潜在预测因素,然后建立低技术含量的机制来获取和收集数据。这可能就像将数据提取到 CSV 文件中并使它们可供机器学习算法使用一样简单。你不需要把它变成一个数据仓库项目来获得成功。
当第一次启动你的项目时,确保所有的项目都是可管理的,系统性能是可接受的,结果是可测量的,这是至关重要的。所有其他部分,如自动化、调度、峰值性能等。在这一点上是最好的。
3。利用云
云领域的三大巨头——亚马逊 AWS、谷歌云和微软 Azure——都拥有坚实的基础设施来支持大数据、机器学习和预测分析,并且除了自己的机器学习库之外,它们还支持各种各样的工具和编程语言。这意味着,除非您手头有大量的硬件和大量的时间,否则真的没有理由在本地建立自己的基础设施。
缩短构建时间,利用云立即启动并运行。你还应该知道,在许多情况下,甚至不可能复制谷歌或 AWS 所能提供的东西。像谷歌的 Big Query、AWS 的 Athena 和 RedShift 这样的工具可以在几秒钟内处理数百万条记录。如果你的目标是在内部实现类似的性能,你将不得不进行大量的硬件投资。当大查询每处理 1tb 的数据只需 5 美元时,你为什么要这样做呢?
4。确保数据质量
在整个过程中,你不能忽视或回避的一件事是你的数据质量,因为它直接影响你预测的准确性。确保您正在处理缺失的值,标准化数据,并确保数据定义得到很好的理解。事实上,很有可能您将花费大量的时间和精力来确保您的数据质量是可接受的。
有些方面可以在纯技术层面上完成,包括删除重复的实例、标准化邮政编码、地区和州名等。但是当你开始一个预测分析项目时,你也应该有一个计划来解决丢失数据的处理。理想情况下,这种处理将基于与业务合作伙伴和数据科学家的合作,并位于每个预测分析项目的核心。
5。建立测量方法
你如何衡量你的预测分析项目是否成功?您需要遵循两条不同但相关的路线:
**(a)避免过度拟合和欠拟合:**设计一个完美模拟过去行为的预测模型很容易,但在用于预测未来事件的可能性时却失败了。另一方面,如果模型过于一般化,不能充分解释过去的行为,可能会导致拟合不足。这是一个常见的陷阱。做好这件事需要相当多的严谨性,对你的业务至关重要的预测因素的深刻理解,并且在大多数情况下,需要大量的迭代。当您委托一个预测分析项目时,请询问您的数据科学团队他们计划如何避免过度拟合或拟合不足。
**(b)基线比较:**确保在开始预测性分析项目之前记录历史测量值。根据你的目标业务成果,这些可能包括预测的准确性,转化率,流失估计等。当你开始基于预测分析做出决策时,记录结果和你没有根据这些预测采取行动的例子。有一个可靠的方法来衡量你的计划的影响,对完善预测模型大有帮助,让你相信他们提供的建议。
还有问题吗?还在想从哪里开始?给我在 info@vectorscient.com 写封短信或者在下面留言——我很乐意给你更多的建议!
感谢您阅读帖子。
关于作者 : Suresh Chaganti, VectorScient 的联合创始人&战略顾问。Suresh 专门研究大数据,并将其应用于解决现实世界的商业问题。他在跨各种行业垂直领域设计 B2B 和 B2C 应用程序方面拥有 20 年的经验。在 linkedin 上联系苏雷什
数据科学家访谈中的 5 个常见问题
最近被一些刚毕业的学生问到如何准备数据科学家面试的问题。一般来说,数据科学家或机器学习工程师面试由 3 部分组成:数学、统计和机器学习算法。本文最后会建议一些有用的备考资料。在这里,我们将讨论 5 个常见问题及其答案,让您了解如何回答数据科学家面试问题。
- 什么是权重和偏差?
- 你用过 ReLU 功能吗?你能解释它是如何工作的吗?
- 浮点数是如何存储在 32 位计算机内存中的?
- 什么是梯度下降和随机梯度下降?它们之间的区别是什么?
- 什么是反向传播?
什么是权重和偏差?
weight and bias
权重和偏差是模型的可学习参数。权值和偏差值在训练前随机初始化,训练时由 TensorFlow 自动计算。以下代码是更新权重和偏差的示例:
# How we train
train_step = tf.train.**GradientDescentOptimizer**(0.02).minimize(**cross_entropy**)
你用过 ReLU 功能吗?你能解释它是如何工作的吗?
ReLU 代表整流线性单元,是一个简单的非线性激活函数。任何负输入被设置为零,而正输入保持不变。
ReLU formula
ReLU 广泛应用于神经网络和深度学习。它作为线性开关工作。如果你不需要它,你就“关掉”它;如果你需要它,你就“打开”它。TensorFlow 通过 tf.nn 模块提供 ReLU 及其变体(noise ReLU,Leaky ReLUs,ELUs )。例如,下面用 tf.nn.relu 创建了一个卷积层(用于 CNN ):
import tensorflow as tfconv_layer = tf.layers.conv2d(inputs=input_layer, filters=64, kernel_size=[3, 3], padding='same', **activation=tf.nn.relu**)
浮点数在 32 位计算机内存中是如何存储的?
是的,这是一个“低级”问题,要求考生具备一些计算机硬件的背景知识。在 IEEE 754 标准中,浮点数的比特排列如下:
photo credit to wikipedia
- 符号(1 位):确定数字的符号
- 指数(8 位):IEEE 754 中的指数偏差是 127,我们需要从值中减去 127
- 分数(23 位):有一个值为 1 的隐式前导位
因此,我们可以推导出真正的价值是
在这里,我可以展示如何将基数为 10 的实数 12.875 转换成 IEEE 754 二进制 32 格式。
- 12 = 8 + 4 = 1100
- .875 = 0.5 + 0.25 + 0.125 = 2^-1 + 2 ^ -2 + 2^-3
所以 12.875 的二进制表示应该如下:
在这种情况下,数字是正数,所以符号位是0
;指数是 3,加上 127(指数偏差)我们得到130 = 1000 0010
;分数是= 10011100000000000000000.
由此我们可以形成实数 12.875 的 32 位 IEEE 754 二进制 32 格式表示,如下:0-10000010-10011100000000000000000.
什么是梯度下降和随机梯度下降?它们之间的区别是什么?
想象你正从山顶走下一座小山,你的下一步是什么?梯度下降(GD)和随机梯度下降(SGD)是从当前位置计算下一步的两种常用方法。
GD 和 SGD 是深度学习中的优化器,通过慢慢地将权重(模型的参数)推向更好的结果。在实践中,您可以使用 GD 和 SGD 来训练和比较全连接网络。SGD 优化模型将比 GD 更准确,并且所需的训练时间更少。
在每一步,SGD 都采取非常小的一步而不是一大步,并使用微小的随机样本而不是完整的数据。SGD 是有效的,因为每次的数据集较小,并且通过多次执行来弥补。您可以使用 TensorFlow 函数TF . contrib . keras . optimizer . SGD逐步训练更深入、更准确的模型。
什么是反向传播?
基于梯度的优化器通常使用反向传播来调整多层神经网络中神经元的权重。
multi-layered neural network
反向传播包括以下步骤:
- 当输入向量呈现给网络时,它通过网络一层一层地向前传播,直到到达输出层。
- 损失函数计算网络输出与其预期输出之间的差异(称为“误差”)。
- 为输出层中的每个神经元计算结果误差值。
- 然后,误差值从输出通过网络传播回来,直到每个神经元具有反映其对原始输出的贡献的相关误差值。
- 反向传播使用这些误差值来计算损失函数的梯度。
- 这个梯度被馈送到优化方法,该优化方法又使用它来更新权重,以试图最小化损失函数。
通常,输入向量的规范化可以提高模型的性能。
本文列出了 5 个常见问题及答案,供您参考。对于准备工作,我推荐古德费勒、本吉奥和库维尔的《深度学习》一书。
- 数学&统计:第二、三、四章足以为这类面试中的理论问题做准备/修改
- 机器学习算法:第 5 章,60 页左右,简明易懂
如果你看完了深度学习圣经,我还会推荐《机器学习的数学》《数据科学问答》。
采访总是检查数据科学家难题中缺失部分的好方法。作为数据科学家,我们可以称之为评估或测量。期望是你表现好,而不是完美。尽你所能学习和准备。你所能做的就是尽你最大的努力。
你都准备好了。祝你好运!
大数据和分析定义了 5 个行业
大数据平台不断改进的功能越来越多地为那些希望研究分析以使其公司受益的行业代表创造了新的机会。
这里有五个行业的业务运营受到大数据和分析的影响,以及它们能提供什么。
1.医学
医疗行业依靠专门的设备来跟踪生命体征、协助手术和进行诊断。它还使用大数据和分析工具以各种方式改善健康状况。
可穿戴跟踪器将信息传输给医生,并告诉他们患者是否服用了药物,或者他们是否在遵循治疗或疾病管理计划。随着时间的推移收集的汇编数据为医生提供了患者健康的全面视图,提供了比简单的亲自访问更深入的信息。
在其他情况下,公共卫生部门会查看大数据和分析,以优先对有风险的设施进行食品安全检查。研究人员还挖掘数据来揭示疾病模式最显著的地方。
此外,大数据和多种分析帮助医院管理者减少等待时间并改善护理。一些平台查看大量数据,然后找到其中的模式,并提出建议以取得进展。
2.零售
如果零售商不能正确预测顾客想要什么,然后提供这些东西,他们的商店可能会摇摇欲坠。大数据和分析提供了让人们开心和重返商店所需的洞察力。IBM 的一项研究发现,62%的零售业受访者表示,信息和分析给了他们竞争优势。
最有用的策略包括首先确定业务需求,然后弄清楚分析技术如何支持这些需求。例如,零售商可能希望让购物者在实体店停留更长时间。然后,它可以使用大数据和分析来创建个性化的、高度相关的材料,以激发和吸引店内游客。
分析软件也可以跟踪客户旅程的每一步。由此产生的见解可以告诉零售商如何吸引最高价值的购物者。研究天气数据可以预测雪铲和沙滩椅等季节性商品的需求也会增加,让零售商在大多数顾客到来之前订购这些商品。
3.建筑
建筑公司跟踪从基于材料的费用到完成任务所需的平均时间的一切。那么,数据分析正在成为行业的重要组成部分就不足为奇了。
当建筑专业人员监控现场服务指标,如自然减员、客户终身价值、推荐率和收入时,他们将能够更好地了解哪些方面进展顺利,哪些业务部分需要改进。此外,大数据根据预期的未来用途和趋势分析项目的最佳位置。一些项目甚至将传感器集成到建筑物和桥梁中,这些附件收集数据并将其发送回人们进行分析。
代顿苏必利尔,一家混凝土建筑公司,为世界各地的项目提供材料。它意识到,当公司代表无法立即了解某些城市的材料成本时,提供价格透明度是多么困难。因此,企业开始在确定价格时使用分析和地理数据。
一个月后,超过 98%的销售代表使用了改进后的界面,并报告说提供报价的时间大大缩短了。
此后,该公司减少了定价过程中的不一致。分析工具提供的见解通常允许公司通过提供更适合客户情况的价格,向客户提供更低的价格。
4.银行业务
人们不一定认为银行业是一个非常高科技的行业,但一些品牌正在通过分析改变人们的看法。美国银行设计了一个名为埃丽卡的虚拟助理,使用预测分析和自然语言处理来帮助客户查看银行交易历史或即将到来的账单信息。
此外,Erica 在每笔交易中都变得更聪明。美国银行的代表表示,该助理最终将研究人们的银行习惯,并提供相关的金融建议。
大数据也有助于打击银行欺诈。QuantumBlack 建立的一个预测性机器学习模型在使用的第一周就检测到了相当于10 万美元的欺诈交易。
5.运输
人们需要按时到达目的地,大数据和分析有助于公共交通提供商增加成功旅程的可能性。伦敦交通局使用统计数据来绘制客户旅程,为人们提供个性化的细节,并管理意外情况。代表可以告诉多少人在一辆给定的公共汽车上或尽量减少旅客必须步行登上公共汽车的距离。
分析也能帮助铁路行业的人们。车载传感器给出了列车制动机制、里程等细节。来自 100 列火车的数据集每年可以产生多达2000 亿个数据点。
检查信息的人试图找到有意义的模式来指导他们改进操作。例如,他们可能会发现导致设备故障的一连串事件,并让列车暂时停运。
对于寻求数据科学职业的人来说,交通部门也是最好的行业之一。
大数据和分析导致更明智的决策
在不太遥远的过去,专业人士在做出关键决策时很大程度上依赖猜测。
大数据和分析软件使他们能够浏览难以置信的大量信息,并在弄清楚如何处理各自行业的事情时感到自信。
图像由 Rawpixel 构成
首席数据官(CDO)关注的 5 个关键问题
上周,我获得了一个令人兴奋的机会,参加了在新加坡举行的首席数据官(CDO)会议。这是金融界 CDO 名人录的聚会,如 DBS、Lazada、MySale、新加坡交易所等。
关键的一点是,尽管 CDO 战略看起来是围绕算法展开的,但事实并非如此。CDO 必须借助数据工程和数据科学来管理数据策略。对于任何组织的数据战略的成功来说,这两者都同样重要。
CDO 的主要关切可分为五大领域,即
- 数据战略&方向:
在当今世界,CDO 不再是一个技术角色,而是充当着组织的变革代理。DBS Singapore 的 Paul Cobban 等首席数据官正带头为各自的组织制定数据战略&方向。
CDO 应该扮演布道者的角色,通过减轻与数据驱动决策相关的恐惧,在整个组织中推广和实施数据驱动决策。
2。数据治理: 数据治理(Data Governance,DG)是指对企业中使用的数据的可用性、可用性、完整性和安全性的整体管理。如果数据收集不当,基于数据的情报将毫无用处&。数据治理对于组织中 CDO 的成功变得至关重要。
我们总是建议制定一个数据治理政策,该政策应该为数据的准确性、可访问性、一致性、完整性和更新分配责任。
应该有关于数据安全、备份、灾难恢复和业务连续性的政策。拥有一个垂直的数据治理来帮助管理策略和框架总是明智的。
3。数据整合 如果 CDO 不知道数据是如何在整个组织中使用的,他就不可能成功。在当今世界,组织拥有多个数据系统,包括供应链管理、市场营销、人力资源等。过去十年是一个产品市场,组织在各自的部门实施了各种相关产品,如 SAP、Salesforce、Peoplesoft &等。各行各业的并购浪潮使形势更加恶化。
因此,大量的时间需要花费在 ETL(提取、转换和加载)活动上。
4。数据价值实现 数据治理政策实施后&数据工程实践,数据科学到来。数据的货币化依赖于对数据的分析来提供重要的见解。像道琼斯这样的公司通过 Factiva 创造了一个全新的收入流,让用户能够从超过 36,000 个许可的新闻来源中搜索和查询文章。像亚马逊、沃尔玛这样的零售商正在使用同样的方法来提高顾客忠诚度&参与度。像优步这样的公司正在通过利用整个组织各个职能部门收集的数据来赚钱。
通常,CDO 有一个数据科学家团队来提供情报。但关键在于在越来越大的数据集上实现这些算法。因此,精通将算法扩展到大数据的技术团队可能是一笔巨大的财富。
5。数据安全: 最后一点,数据安全!!尽管数据安全已经成为数据治理的一部分,但它必须以独立的眼光来看待。CDO 必须确保组织内使用的每一项技术都是安全的,并且适合企业使用。最近发生的事件,如 Zomato 和 Linkedin 的数据泄露,会对信任产生很大影响。
最后得出的结论是,CDO 的角色不仅是管理数据,还要将组织转变为数据驱动型组织。
我在实际工作中从数据科学中学到的 5 条经验
被低估但重要的经验……
https://unsplash.com/photos/rk_Zz3b7G2Y
我已经有一段时间没有在媒体上发帖了。从事数据科学已经快半年了,我犯了很多错误,并从一路上的错误中吸取了教训…通过艰难的方式。
没有失败,只有反馈。
而现实世界是一个反馈机制。
是的,你是对的,学习之旅并不容易。继续磨吧。学习提高。
通过我的学习经历,我终于意识到,大多数数据科学初学者(像我一样)可能会遇到一些常见的陷阱。如果你有,我希望我从这些陷阱中学到的 5 个最大的教训能在你的旅程中指引你。我们开始吧!
1.商业领域知识
老实说,当我第一次开始时,这一课给了我很大的打击,因为我没有强调领域知识的重要性。相反,我花了太多时间来提高我的技术知识(在没有真正理解业务需求的情况下建立一个复杂的模型)。
如果不彻底了解业务,你的模型很可能不会给公司增加任何价值,因为它根本不符合目的,不管你的模型有多准确。
提高模型精度最常用的技术是 网格搜索 来搜索模型的最佳参数。但是,只有通过了解业务需求并添加相关功能来训练您的模型,您才能显著提升您的模型性能。 特征工程 仍然非常重要,网格搜索只是改进你的模型的最后一步。
像往常一样,对你公司的业务真正感兴趣,因为你的工作是通过数据帮助他们解决问题。问问你自己,你是否真的对他们正在做的事情充满热情,并在工作中展示你的 同理心 。
永远知道你在说什么
仅仅了解业务本身是不够的,除非你能够清楚地表达你的想法,并以他们在业务环境中能够理解的术语向其他同事/利益相关者展示。
换句话说,永远不要使用利益相关者不熟悉的陌生(或者可能是自定义的)词语,因为这只会引起你和他们之间的误解。
尽管你的发现可能是正确的或见解可能是有影响力的,但你的可信度会受到质疑,你的发现只会是一个有争议的话题。
在您展示如何使用数据解决业务问题之前,我建议您首先展示您对业务的整体理解(包括日常工作中常用的技术术语),然后确定可用数据回答的问题陈述。
2.注重细节的思维模式和工作流程
像一个侦探。用聚焦细节的激光进行你的调查。这在数据清理和转换过程中尤为重要。现实生活中的数据是杂乱的,你必须有能力在被淹没之前从噪音的海洋中提取信号。
因此,拥有注重细节的思维模式和工作流程对于在数据科学领域取得成功至关重要。如果没有一丝不苟的心态或结构良好的工作流程,您可能会在探索数据的过程中迷失方向。
你可能已经勤奋地进行了一段时间的探索性数据分析(EDA) ,但可能仍然没有获得任何见解。或者你可能一直用不同的参数训练你的模型,希望看到一些改进。或者,您可能正在庆祝艰巨的数据清理过程的完成,而实际上数据可能还不够干净,不足以提供给模型。我经历了这个漫无目的的过程,只是意识到我没有一个结构良好的工作流程,我的大脑只是希望最好的事情发生。
希望最好的事情发生让我无法控制自己在做什么。系统混乱了,我知道出了问题。
我退后一步,从更大的角度审视我一直在做的事情;我重组了自己的思路和工作流程,试图让一切标准化、系统化。而且成功了!
3.实验的设计和逻辑
系统化的工作流程给出了整个数据科学原型系统的宏观视图(从数据清理到解释模型结果等)。);一个实验是工作流程不可或缺的一部分,包括你的假设检验逻辑以及模型构建过程。
正常的机器学习问题(Kaggle 竞赛等。)非常简单,因为您可以获得训练数据并开始构建模型。
然而,在现实世界中,在构建逻辑和设计实验来测试您的假设并使用合适的成功指标评估您的模型方面,事情会变得复杂。
在实验结束时,每一个主张或结论都应该有事实和数据的支持。不要未经证实就下结论。
4.通讯技能
如果这篇文章只有一个收获,我希望你能一直努力提高你的沟通技巧。不管你是数据科学的初学者、中级还是专家。
答应我一件事——你会与他人分享你的想法,同时注意倾听他们的意见。接受批评和反馈。
说商业语言用他们理解的术语与同事、经理和其他利益相关者交流。这与第一课——业务领域知识的重要性产生了共鸣。未能掌握业务语言会降低你与团队成员的沟通效率,因为人们可能很难从他们的角度理解你的话。
结果,时间被浪费了;人们会感到沮丧;你的信誉和与他们的关系可能会受到影响。真是两败俱伤的局面!
更糟糕的是,缺乏沟通技巧会导致商业利益相关者在理解你的分析结果时面临挑战。永远以简单的方式交流你的想法、方法、结果和见解尽管背后很复杂。简单地说,如果你对商务人士说商务语言,他们会感觉更舒服,感觉更有力量,也更愿意在这个过程中投入时间,从而更积极地参与谈话,理解你的分析。这也引出了最后一课——讲故事的重要性。
5.讲故事
如果现在还不明显,数据科学不仅仅是数据处理和模型构建,以向利益相关者展示结果。由于您的模型具有满足业务需求的卓越性能,您的最终目标应该是通过引人注目的数据故事向利益相关方交付您的成果,这些数据故事可以回答以下一些问题(取决于您的项目目标):
- 我们为什么要分析它?
- 我们能从结果中获得什么启示?
- 我们能从中做出什么决定/行动计划?
讲述故事的艺术既简单又复杂。在数据驱动的分析中,人们常常会忽略这样一个事实,即有时即使是最好的模型性能和结果也会因为糟糕的故事讲述和演示而变得毫无用处。真是浪费!
想象你是利益相关者,是什么使一个引人注目和令人信服的故事?
让我们坐下来放松一下。再想象一下,当一位数据科学家现在向您展示一个对业务问题的高度准确的模型预测,而没有进一步的解释。你可能会想:印象深刻!模型做得很好…那么下一步是什么?然后呢?
你明白我在这里试图描绘的吗?模型结果和行动计划之间存在明显的差距。利益相关者不知道该做什么,即使你只是向他们展示一个高度准确的模型预测。我们必须从他们的角度来思考,回答他们的问题和顾虑,而不是仅仅满足业务目标,以最终制定行动计划,从而弥合差距。
弥合差距的方法有很多,我将简要强调两种方法,它们可以提供启发性的见解,并指导利益相关者制定行动计划。
设定比较基准
声称一款车型性能好而没有可比较的东西是不够的。换句话说,需要一个基准作为基线,这样我们才能知道模型是做得很好还是相反。
如果没有这个基准,声称一个模型表现良好实际上是没有意义的,因为仍然有一个问题没有回答: 多好才算足够好?我为什么要相信你的结果?
风险管理
这一点尤其重要,因为它将决定你的模型是否会投入生产。这意味着你必须从模型性能中展示最好和最坏的情况。
这就是风险管理的用武之地,因为涉众想要知道模型的限制,它在哪里有效,在哪里失败。他们想知道当模型投入生产时,公司要承担多大的风险,这最终会影响他们的最终行动计划。
因此,理解风险管理的重要性不仅会让你的结果更有说服力,还会大大增加利益相关者对你和你的结果的信心(因为你已经帮助公司管理和最小化了风险)。
https://unsplash.com/photos/6jYoil2GhVk
感谢您的阅读。我希望你会发现这 5 课对你的学习之旅有用。我很高兴能通过你的学习经历了解更多关于你的课程,所以请随时与我分享,并留下你的评论!😃
和往常一样,我还有很多东西要学,也很想听听你关于如何改进我在 Medium 上的内容(技术或非技术)的意见。
如果您有任何问题,请添加我,让我们在 LinkedIn 上聊天,或者访问我的个人网站了解更多信息:
关于作者
Admond Lee 目前是东南亚排名第一的商业银行 API 平台Staq**—**的联合创始人/首席技术官。
想要获得免费的每周数据科学和创业见解吗?
加入 Admond 的电子邮件简讯——Hustle Hub,每周他都会在那里分享可行的数据科学职业技巧、错误&以及从创建他的初创公司 Staq 中学到的东西。
你可以在 LinkedIn 、 Medium 、 Twitter 、脸书上和他联系。
让每个人都能接触到数据科学。Admond 正在通过先进的社交分析和机器学习,利用可操作的见解帮助公司和数字营销机构实现营销投资回报。
www.admondlee.com](https://www.admondlee.com/)
北极星人工智能的 5 个经验教训
Travis Oliphant on stage (photo credit: Proekspert)
这周我去了爱沙尼亚的塔林旅行。然而,这个城市本周最令人兴奋的不是它美丽的古镇、严寒的冬天或温和的人们——而是为开发者举办的机器智能大会 North Star AI 的召开。
演讲时间表由人工智能和计算机科学的冠军组成,如特拉维斯·奥列芬特(NumPy的创造者)萨扬·帕萨克(微软的首席人工智能科学家)和阿赫蒂·海因拉(Skype的联合开发者和星际飞船的联合创始人)等等。
我带着探索新观点、结识聪明人和向最优秀的人学习的愿望而来——你可能已经看到我在那里,急切地记笔记。在这篇文章中,我将试图从这次经历中提炼出五个教训。这些是演讲者讨论的主题中的共性模式,激发了我宝贵的见解。请注意,这些课程不一定反映演讲者的观点,而是我对他们观点的解释和总结。我们开始吧!
1:人工智能已经成为商业可行
Discussions at the booths (photo credit: Proekspert)
与会者本身就是人工智能技术在实际产品中新的实际可行性的证据。你会听说它在更大的公司中的应用,如 Starship (制造送货机器人) Taxify (将乘客与司机联系起来)和 Elisa (一家使用人工智能创建聊天机器人以改善客户服务的电信提供商),但也有一些初创公司和中型公司。对于许多科技初创公司来说,人工智能似乎是核心产品的一部分,在更大的公司中,这项技术通常被认为可以改善客户服务和商业智能。
这种发展的一个原因是许多机器学习框架的成熟,如 Tensorflow 、 CNTK 和 PyTorch 。正如特拉维斯·奥列芬特所强调的,另一个非常突出的原因是高级 API 变得可用,允许我们更快地勾画和评估模型,如 Keras 、 Azure ML 、谷歌云 ML 引擎和 AWS 机器学习。这些 API 使得在一个抽象层次上开始构建机器学习模型变得非常实际,在这个抽象层次上,开发的前期成本与增加的商业价值之间取得了更好的平衡。
使人工智能更加实用的一个进展因素可能也是中介表示(IR)的标准,如 ONNX (开放神经网络交换):一种深度学习模型的开放格式,使框架之间的互操作成为可能。Travis 和 Sayan Pathak 都强调了这个观点。例如,使用 ONNX,您可以使用 CNTK 部署最初用 PyTorch 或 Caffe 构建的深度学习模型。这对于像我这样喜欢一起工作的人来说尤其令人兴奋。NET,我想,对于许多希望将深度学习集成到现有堆栈中的企业来说也是如此。ONNX 已经在许多框架中得到原生支持,并为其他一些框架提供了转换器,如 Tensorflow。
2:多代理系统产生巨大的力量
Primer’s six interacting agents (photo credit: Primer)
在那天快结束的时候,Primer的首席执行官 Sean Gourley 对他们的产品做了一个非常有趣的介绍:一个机器学习系统,可以自动分析大型文本数据集,并生成沃尔玛等公司使用的自然语言报告。我可以推荐你去看看他们的网站,看看他们的报告——结果真的令人印象深刻。
为了实现这个雄心勃勃的目标,Primer 利用六个互动的智能引擎— 机器学习系统来执行不同的任务。一个引擎用于识别实体和结构化数据,而另一个引擎通过将实体关系作为时间的函数进行聚类来寻找事件。这些代理服务于不同的目的,并且可以合作使用来解决执行详尽的主题分析的更大问题。最后,他们的故事引擎将高维主题和事件信息放在一起,生成自然语言报告。
这种思维方式真的让我大开眼界,知道如何处理复杂的问题。就体系结构而言,多智能体系统可以相互作用,并可以以不同的方式重新组合,看起来非常强大。它将一个大问题分成较小的领域,并允许系统内的一种群体交互,同时使单个模块更容易测试和更新。这就像有一个多元化的团队在一起工作!
潘多拉盒子链(Pandora Boxchain)的创始人马克西姆·奥尔洛夫斯基(Maxim Orlovsky)也让人们注意到了多智能体系统的巨大力量。在实际意义上,我们很快就会发现自己处于一个互动主体的世界,就像路上的自动驾驶汽车一样。但是,随着这个独立代理生态系统的复杂性增加,我们如何保护自己免受恶意实例或恐怖分子的攻击?马克西姆强调,我们应该开始考虑管理交互代理的拜占庭容错系统——这意味着努力从不可靠的部件制造可靠的系统。
Pandora Boxchain 是一个去中心化的区块链人工智能市场,其中机器学习模型可以通过网络来执行。在这样一个平台中,具有理性自利的网络参与者可以保护彼此免受恶意代理的侵害,激励他们的是去中心化经济学和博弈论,而不是政府监管。这是一个非常有趣和有远见的项目,我期待着在未来跟进。
3:人工智能不是银弹
What AI might seem like to the uninitiated (photo credit: Markus Spiske)
在讨论人工智能在商业中的实施时,我遇到的一个沟通挑战是,人们倾向于认为,尽管有待解决的实际问题尚未确定,但它本身将为公司做出非凡的贡献。我认为这是新技术的常见模式,因为炒作往往比理解传播得更快。
Habib Adam,transfer wise的数据科学家很好地阐述了这一点:他建议我们应该记住是问题驱动而不是解决方案驱动。我们应该考虑我们正在经历的问题,以及哪种见解可能对我们有用,而不是试图寻找人工智能的“事情”。他强调了在考虑问题的机器学习解决方案时三个重要的因素:
1:随机性。我们认为这里有一种模式吗?
2:相关数据。我们有哪些(多少)相关数据?
3:行动能力。我们可以从这些数据中采取哪些有用的行动?
Habib 进一步解释说,当我们真正解决了一个问题,我们可以开始考虑如何使我们的解决方案更加灵活,并扩展到其他领域。
公平地说,理解如何定义这些问题可能具有挑战性,并且需要实践。为了消除误解,我们需要教育企业中的决策者,以便他们能够采取适当的行动。人工智能咨询公司 MindTitan 的联合创始人 Markus Lippus 分享了一些面对这个问题的伟大观点。当与一家公司就人工智能或数据科学集成进行合作时,他们会举办研讨会。在这些方法中,重点是发现问题和找出公司的痛点——一种问题驱动的方法。当收集了必要的理解后,MindTitan 团队可以就人工智能解决方案在哪里以及如何为他们的业务带来价值向合作者提供适当的建议。
4:流程管理是扩展人工智能的关键
Andrus Kuus on stage (photo credit: Proekspert)
随着我们开始以更大的方式应用 AI/ML 解决方案,过程变得比以往任何时候都更加重要。这既是因为更广泛的系统,也是因为构建这些系统的数据科学团队越来越多。Proekspert 的软件分析师 Andrus Kuus 暗示,人工智能和数据科学领域的未来劳动力将是直接来自大学的学生(他们往往缺乏团队合作经验),我们可以从实践中受益,以增强团队协作。他强调了他在发展数据科学团队时发现的一些观点:
选择有助于你实现清晰的工具和实践。
2:在尝试解决方案之前,提出正确的问题并验证想法。
3:定期讨论。
虽然我不能一字不差地记住他的建议,但我相信那是它的要点。在一个快速变化的世界中,专注于清晰性和内部沟通的批判性方法看起来绝对是一个很好的方法。
此外,我们需要记住为更大规模的人工智能系统提前做好计划。特拉维斯·奥列芬特说到重点了:当你的模型过时时,你有计划吗?肯定会的,只是时间问题。世界一直在变化。数据以及我们与之互动的方式也是如此。因此,你应该确保你有一个计划来维护和更新你的久而久之模型。Travis 称这个过程为模型管理。
当训练模型时,在数据分布的基础上发生一些关于决策边界的折衷。如果你处于不幸的境地,你的模型已经“过时”或者输入数据的分布已经改变,重新训练是不可行的, DataRobot 的数据科学家 Peter Prettenhofer 建议研究数据集转移。这一概念涉及使用类似于统计距离和重要性重新加权的技术,以了解您的数据分布如何发生变化并进行纠正。
5:大自然是一位伟大的老师
A video from Curious AI on modeling the human brain.
好奇人工智能的首席技术官 Antti Rasmus 发表了一篇非常有趣的演讲,介绍了他们在模拟人类想象力方面所做的工作。他与丹尼尔·卡内曼的“思考,快与慢”做了比较,后者将人类的思维一分为二,分为两个系统:系统 1 用于快速和直觉的思考,系统 2 用于深思熟虑的计划和想象。在自动驾驶汽车中,这种行为的例子可以是保持在道路上(系统 1,直观且即时)同时还计划未来可能的结果,如如果行人或另一辆汽车行为异常该怎么办(系统 2,计划和想象)。好奇的人工智能已经通过他们所谓的基于模型的强化学习对此做出了很好的估计——他们用一种类似蜘蛛的数字生物来演示这一点,这种生物逐渐学会以非结构化的方式行走。
马克西姆·奥尔洛夫斯基在他富有远见的演讲中也强调了这一观点:在未来,我们可能会在进一步模拟生物系统方面受益匪浅。从某种意义上说,Pandora Boxchain 的去中心化思想也可以被理解为向多智能体人工智能系统引入一种类似人类的群体动力。
这些演讲引起了我的共鸣,因为我也相信理解和建模人类系统有很大的潜力等待释放。我的研究领域是利用认知科学来建模人类听觉系统,以便为音频信号处理创建更好的人工智能模型。到目前为止,这种观点对我来说非常强大,并且产生了新的想法和对问题领域更具指导性的方法。如果你有兴趣,你可以在这里阅读我的项目的初级读本:《AI 在音频处理中的承诺》 。
这是我从北极星 AI 大会上获得的五个最有价值的收获。我应该向组织者和演讲者致以深深的谢意,他们开阔了我的眼界,为新思想开辟了道路。
如果这个总结对你有帮助,请留下一些掌声。
来自科技独角兽公司数据科学实习生的 5 堂课
从难忘的经历中获得可操作的要点
随着我们进入 8 月,夏季开始接近尾声,我想我应该花点时间反思一下我在加利福尼亚州旧金山 Unity Technologies 担任数据科学实习生的最后 12 周。
首先,让我们回顾一下背景。我目前是一名本科生,学习数据科学,这是我在学校的最后一年。我怎么会在 Unity 结束的?我在网上申请,经历了面试过程,最终接受了去总部的邀请,成为遍布北美各地的 30 名暑期实习生之一。
我的目标是分享一些从难忘的经历中得到的可操作的教训、收获、想法和建议。
什么是团结?
为了描述 Unity does,我将遵从公司网站:
“Unity 是世界上最广泛使用的实时 3D (RT3D)开发平台的创造者,为世界各地的开发人员提供了创建丰富、交互式 2D、3D、VR 和 AR 体验的工具。我们 800 多人的工程团队通过与脸书、谷歌、Magic Leap、微软和 Oculus 等合作伙伴合作,确保 Unity 处于技术的前沿,以确保对最新版本和平台的优化支持。
使用 Unity 的体验覆盖全球近 30 亿台设备,在过去 12 个月中安装了 240 亿次。Unity 为 RT3D 的建筑、汽车、建筑、工程、电影、游戏等行业提供动力”
Unity 分析
更具体地说,我整个夏天都在 Unity Analytics 的牛逼团队中工作。分析是游戏解决方案套件中的一项功能,旨在帮助开发者提供由数据洞察和个性化推动的动态体验。
此外,我是数据科学团队的一名自豪的成员,该团队的使命是使数据民主化,为客户提取和实现洞察力,并构建工具来增加参与度。
现在你对团队和我的角色有了更多的了解,让我们深入了解一下我将从实习中获得的一些主要见解。
移情的重要性
在过去的几年里,对于数据科学家来说,同理心是最重要的技能。我不知道这是真的还是假的,但我可以说,当涉及到像数据分析、交流结果和产品直觉这样的技能时,移情作用起着关键作用。即使对于文档这样简单的事情,设身处地为他人着想的能力也是一个非常强大的工具。
对于大多数职位来说都是如此,但我发现它尤其适用于数据科学家。简单地说,我们使用数据来提供价值。当每天处理数据时,很容易忘记数据不仅仅是浮点、字符串、比特或字节——而是代表了用户的声音。没有同理心,我们就失去了大局,也无法创作出有意义、有影响力的作品。
信息是不够的
作为数据科学家,执行分析和提供见解通常是我们工作的一大部分。请注意,我说的是“洞察力”而不是“信息”。这可能看起来微不足道,但这两个词之间有一个微妙而重要的区别,这是缺乏经验的数据科学家(包括我自己)经常犯的一个根本性错误的基础。
信息是用来理解事物的数据点的集合,而洞察力使用这些信息来推动行动。
整个夏天我都在思考这个区别。早些时候,我发现自己在进行分析时,经常会收到类似于“那么,这里有什么收获?”这实际上是一种更礼貌的方式来表达“我该拿这个做什么?”。经过反思,我现在知道我的错误是提供了信息,而不是见解。
提供有趣的分析是一回事,但推动行动则完全是另一回事。当你完成你的分析时,总是问自己以下问题:
- 这里有哪些主要的外卖?
- 关键利益相关者应该采取什么行动?
花时间思考这些问题宜早不宜迟,一旦你有了这些问题,在交流结果时直接提出来。通过这样做,你不仅传递了一个更清晰的信息,还增加了你的工作产生重大影响的可能性。
初学者的心态
可以说,我经历中最喜欢的部分是有机会与一大堆令人印象深刻的人一起工作,他们比我更有见识。你可能听说过吉米·罗恩的名言,“你是和你相处时间最长的 5 个人中的平均水平”。
这不仅仅适用于小范围的朋友圈,也适用于大范围。如果你周围都是聪明人,你可能会变得更聪明。有道理。
但事情并不总是这么简单。这没有提到阻碍这一效果的一些障碍。最值得注意的是,我们都天生有点自私和过度自信。我们喜欢正确,我们喜欢被认可,无论是在社交上还是智力上,或者两者都是。
回顾过去,我会说我进入这个夏天时有点过于自信。我花了整整一周的时间才意识到,为了充分利用这段经历,我必须改变自己的心态。我必须愿意寻求帮助,承认自己的错误,有时还会问一些“愚蠢的问题”。
感觉自己是房间里最聪明的人很舒服。舒适固然很好,但它往往是成长的敌人。为了看到吉米·罗恩所说的好处,你必须愿意采取一种初学者的心态,并在个人和职业生涯中不断谦虚。
可信数据分析
Roger Peng 的一篇关于可信数据分析的优秀文章中的这个概念是我整个夏天都在回想的。这篇文章提到了一种有趣的方式来划分和思考分析过程,被称为数据分析的 ABC。
在上图中,A 代表你向利益相关者展示的分析,B 是你做了但没有包括在报告中的分析,C 是你忘记或没有时间检查的东西。一般来说,为了清晰起见,你需要优化 A,同时支持 B,并在给定的时间框架内尽可能地减少 C。
记住这个框架,你就可以更有效地预先准备好关于你的分析的可能的问题。这导致了更有说服力的结果和更少的类似“我会调查一下”的回应。
无情地挑战假设
你在工业界面临的许多挑战在大学里未必会出现。在学校,你通常会遇到一个结构化的问题,你需要给出一个(希望是正确的)答案。在工业领域,情况并非如此。这些问题通常是非结构化的、模糊的和复杂的。
在这种情况下,你不能假设太多。假设导致错误的转折,从而导致回溯和支点——这两者通常都会导致错过最后期限或劣质工作。
在开始阶段可能会花更多的时间,但是在深入研究之前花时间充分充实一个问题总是值得的。这可能意味着许多事情,包括:白板,研究,头脑风暴,或规划。做最适合你的事情,不管是花几分钟还是几个小时。
经历挑战最明显的假设的过程。伸出手与他人交谈。协作并获得大量想法反馈。信任但核实。不要仅仅因为“事情总是这样”就接受某件事,最重要的是,不要害怕做出一点让步。当事情结束时,你的利益相关者会很高兴你这样做。
包扎
去年秋天,我坐下来,抓起一支笔和记事本。我写下了我想在来年完成的所有事情。清单上的第一件事就是飞到西海岸,成为一名更高效的数据科学家,跻身于科技领域最聪明的头脑中。
这当然不容易。我不断失败并牺牲了很多才走到今天,但我非常感激有机会在过去几个月里利用数据科学为一个新兴行业的令人难以置信的产品创造价值。
我完成了很多,犯了很多错误,最重要的是,感谢一个令人敬畏的团队、经理和一群导师,我学到了比我预期更多的东西。我希望我至少成功地向你们传达了一些教训。下次见。
感谢阅读!如果你喜欢这篇文章,请继续向鼓掌按钮展示你的爱,看看下面我的一些类似的文章:
对更多的帖子感兴趣吗?请务必关注我并订阅下面的我的简讯以接收任何新内容。更多关于我和我在做什么,请查看我的网站。
5 体现侥幸、坚持和观察的机器学习琐事。
我一直在观看长达一个小时的视频讲座,阅读书籍,滚动查看 stack exchange 上的问题,有一些信息非常突出。一些有趣的片段让我迷惑,并继续激励我去学习更多。在这篇文章中,我想整理其中的一些。那么,让我们开始吧。
- 规范化纯属偶然。
规律化是一种神奇的技术,可以防止过度拟合,帮助我们平静地入睡,但实际上它并不是为了治疗过度拟合而开发的。最初开发它是为了通过使用正则化参数抵消不可逆矩阵来使它们可逆。然而,令人欣慰的是,人们注意到这也有助于解决模型过于依赖离群值的恼人问题。天佑不可逆转!
2。Sigmoid 函数是 softmax 函数的特例
也许你知道这一点,但当我意识到这一点时,我肃然起敬。我从未想过逻辑回归的核心函数可以与将实数向量压缩成概率的函数联系起来…直到我看到了这个。
我同意,事后看来,你可能认为它正盯着我的脸。二元分类扩展到多类分类,咄?但对我来说并不明显!
3。Geoffrey Hinton 的 Coursera 课程中介绍了梯度更新的 RMS Prop 方法。
准确的说是第六讲。神经网络之父杰夫·辛顿在他的幻灯片中说,这是未发表的,通常在实践中效果很好。Andrej Karpathy 在他的测试中实现了它,并发现它给出了更好的结果。当他使用它时,他引用了 coursera 讲座中的幻灯片。事实上,这是一个常见的引用。也许,从现在开始,我们在实现 Coursera 幻灯片上的微妙技术时会格外小心。
4.内核化的支持向量机从被想到到实现有 30 年的差距。
坚持和瞬间迸发的火花是相辅相成的。Vladamir Vapnik 在 60 年代就有了支持向量的基本概念。然而,直到 1993 年,他的同事才决定实现具有 n = 2 核的 SVM,以帮助他们赢得一场关于支持向量机在手写数字分类问题上击败神经网络的晚餐打赌。天哪,即使加入了最轻微的非线性,内核也工作得很好。你可以从我得到这个的地方观看这个惊人的视频,至少可以说它是激励人心的。
https://youtu.be/_PwhiWxHK8o?t=46m19s
5。CIFAR-10 不仅仅是另一个数据集
标志性的数据集 CIFAR-10 是一个用于物体识别的既定计算机视觉数据集,由*加拿大高级研究所(CIFAR)创建。*我知道你会说,别胡扯了,夏洛克。但是,我在这里想说的是关于 CIFAR 这个机构本身。杰弗里·辛顿在他早期的研究中,去了美国进行研究。然而,当他们不幸地切断了对艾的大部分资助,再加上辛顿不愿意使用军事资助,他决定去加拿大。这也是 CIFAR 给他和平进行研究的机会。谢天谢地,我们为此感谢西法尔。它现在是深度学习的中心,Geoffrey Hinton 自己在那里运行了十年的深度学习项目。这就是我所说的双赢。
如果这些琐事中的任何一个给你的机器学习知识库增加了新的东西,我写它的目的就会得到优化。当我第一次发现它们的时候,我希望你有和我一样的惊奇和惊奇的感觉。请随意提出建议或你可能有的任何有用的信息。愿砝码对你有利!
Python 速度测试:用 Python 从数据中删除“$”的 5 种方法
在之前的一篇关于爱荷华州白酒销售回归项目的帖子中,我提到这是我第一次处理足够大的数据,以至于担心编写代码来优化速度。在这篇文章中,我将介绍一个相对简单的例子。
这是我们正在处理的数据。注意“state_bottle_retail”列。每个条目都以美元符号开始,为了使值变成数字,我需要删除这些美元符号。
在 Python 中有很多不同的方法来完成这个任务。但是由于这个数据集的大小,优化变得很重要。我将演示一些方法,并报告它们花费了多少时间。一个注意事项:我将在整个数据集的 10%的一个小的子集上做这些测试。因此,尽管速度都非常快,最慢的只有 130 毫秒多一点,但当规模变大时,问题就更大了。这也是为了表示优化的重要性和实践。这是一个相对简单的例子,但是在某些情况下,这样的实践可以节省几个小时甚至几天。
对于这些测试,我将使用 Jupyter 笔记本中的%timeit
cell magic。这是一个方便的工具,它运行操作的多个循环,并报告其最佳性能时间。要做到这一点,您只需在行首键入%timeit
,运行单元格,然后查看结果。
首先,我将向您展示我运行的所有测试的图片,然后我们将一个一个地浏览它们。
Faster, faster, faster!
首先,我在整篇文章中使用了str.replace('$','')
方法。这是最直接的方法,因为它只是用一个空格来替换列中每一项的’ $ '。正如你所看到的,这是最慢的选择,但它仍然像我上面提到的那样相对较快。这意味着在超过 200 万行的完整数据集上,只需要一秒钟就可以完成。真快。但是这篇文章是关于变得更快。
下一个方法使用 pandas 的“apply”方法,该方法被优化为对 pandas 列执行操作。“apply”方法要求对列中的每个值运行一个函数,所以我编写了一个 lambda 函数来执行相同的功能。在这篇文章中,我将更多地讨论 lambda 函数的“应用”方法。在本例中,它看起来像这样:
%timeit df.state_bottle_retail.apply(lambda x: x.replace('$',''))
.apply
方法的工作就像它应该做的那样,将运算速度加快到 117 ms. Lookin ’ good。
对于下一步,我将.replace
方法改为.strip
方法。它少做了一次手术。它没有用空格替换“
”,而是去掉了“
”,而是去掉了“
”,而是去掉了“ .”看起来像这样:
%timeit df.state_bottle_retail.apply(lambda x: x.strip('$'))
这使得整个列的速度提高到了不到 100 毫秒。越来越好!
接下来是列表理解。在 Python 中,列表理解是一种非常有效的迭代大量对象的方法。所以我用同样的.strip
方法和列表理解代替了.apply
方法。看起来像这样:
%timeit [x.strip('$') for x in df.state_bottle_retail]
列表理解让我们达到了 72.3 分,尼斯女士!
最后,我尝试了另一种方法。我没有使用函数来取出’ $ ',而是使用了 Python 内置的[]
切片。它通常用于从列表中切割和选择您需要的值,但它也可以切割字符串。所以[1:]
从第二个值开始分割每个字符串,直到结束。因为 Python 是零索引的,这意味着它从 0 开始计数,所以数字 1 是第二个值。“:”告诉它切片,直到字符串结束。下面是使用字符串切片方法的最终列表理解:
%timeit [x[1:] for x in df.state_bottle_retail]
这一时间达到了惊人的 31.4 毫秒,这不仅是最快的时间,也是这些测试中速度增长最快的一次。这种方法无疑是最快的,但是使用它有一个注意事项。如果任何值前面没有’ $ ',这实际上会去掉该字符串中的第一个数字。所以在使用这种方法时你必须小心。我个人的选择是使用第四种方法,用.strip
方法进行列表理解。尽管它不是最快的,但风险更小。根据您的数据规模和您对数据完整性的信心,您必须做出决定。
一个小注意事项:要使这些更改真正起作用,您必须将更改后的值赋回数据框中正在更改的列。看起来会像这样:
df.state_bottle_retail = [x.strip('$') for x in df.state_bottle_retail]
优化代码的速度是一个有趣的过程。这并不总是必要的,但习惯于以这种方式思考是一个好主意,特别是如果您想要处理大数据或向客户部署代码。玩得开心!
更新:’ nzdatascientist '用下面的不同方法进行了评论。我在相同的数据上进行了尝试,结果非常快。到目前为止,它优于其他方法,而且如果条目没有“$”就没有删除其他值的危险。这是:
np.fromstring(df.state_bottle_retail.values.astype('|S7').tobytes().replace(b'$',b''), dtype='|S6')
这一时间达到了惊人的 14.3 ms,比危险的字符串切片方法快了一倍多,几乎是最慢的演示方法的 10 倍。看起来 numpy 的.fromstring
方法是为这种类型的过程优化的。此外,转换成字节并替换它们也加快了这个过程。感谢‘nzdatascientist’!
B2B 主管必备的 5 种数据可视化
人脑是一个强大的工具,可以创造和处理大量的信息。如果你想走从页面或屏幕到大脑的最短路线,试试图像。麻省理工学院神经科学家 2014 年的一项研究发现,大脑处理一幅图像仅需 13 毫秒。
我们的大脑识别视觉比识别文字要快得多。在过去的几年中,这种认识促进了报告和数据可视化工具的兴起。为了节省时间和脑力,越来越普遍的是在业务的各个部分使用图表、图形和简单的 KPI 报告,高管们对阅读材料的减少都松了一口气。
在会议、电话会议和一般业务节奏之间,B2B 主管几乎没有时间阅读冗长的报告或从令人困惑的来源解析重要数据。幸运的是,通过使用数据可视化工具,首席执行官们可以获得突破,这些工具取代了制作商业图表的耗时任务,同时还能讲述清晰、引人注目的故事。
B2B 高管必备的 5 张图
季度和月度收入报告
用 Visme 创建的饼状图
对底线来说,什么比收入更重要?当高管们想要 10,000 英尺的视角时,收入报告是有用的视觉材料,可以提供团队努力成果的快速概览。
重要的统计数据和图表:
- 一天一天的细分,突出趋势和高峰或低谷。
- 收入百分比饼图显示归属于每个产品/服务/部门的收入
月报和季报要直接反映公司目标和部门目标。如果你的目标是增加每个客户的收入,一定要把它作为一个单独的 KPI(关键绩效指标),而不是仅仅挑选让你看起来不错的统计数据,比如网站访问量的增加。
容量和资源规划
用 视图 创建的任务燃尽图
能力:你的每个员工在不发疯的情况下能处理多少工作
**资源:**实施任何项目所必需的物质投资
在大多数商业智能和企业资源规划 (ERP)解决方案中可以找到能力和资源规划模块,为经理和高管提供每个产品或流程的员工、时间和材料需求的直观和准确的表示。实施项目燃尽图、跟踪预算要求和材料产出,以及安排适当数量的员工来有效地管理项目,这些工作可能会非常繁重。正确的数据可视化工具可以将所有相关信息放在一个报告中。
构建包含时间和材料的资源计划对于分析也很有用。当产品或订单完成时,将预测与实际使用统计进行比较,以发现瓶颈和您的预期与现实不符的地方。团队可以实施什么样的流程变更来在未来带来更高效的产品?
帐户级收入报告
根据客户确定和分析您的最佳和最差表现,并使用该数据为您的客户成功决策提供信息。
找到你的最高收益账户可以从几个方面得到回报。这些可以帮助您的团队根据使用率、参与度和最常用工具或产品的统计数据建立理想的客户档案。是什么让你的最大支出者与众不同,这与你当前的客户档案有什么关系?使用这些数据来更新(或建立)理想的客户档案,以指导您的目标。
同样的道理也适用于表现不佳的员工:他们可以提供成长的机会,也可以降低你的流失率。您的团队如何提高这些客户的产品参与度?将表现不佳的客户与您新的理想客户进行比较,以了解参与、支持或客户类型在哪些方面没有达到预期效果。也许团队在入职时遗漏了一些你可以修复的东西,或者也许他们从一开始就不适合,你的团队需要更新目标标准。
销售和服务排行榜
销售和客户服务团队整天都在第一线发展和维护业务,因此他们应该得到尽可能多的激励。排行榜为原本黯淡的前景注入了一点友好的竞争,同时强化了良好的整体行为。不要害怕在这里使用动作和颜色来增加信息的影响力和推动员工参与。
销售排行榜为一般的销售目标增加了一点游戏化,并实时更新统计数据。将您的销售数据表连接到您的数据可视化工具,并在中央位置的电视或显示器上显示结果。使用您的总收入排行榜旁边的饼图或其他图形来跟踪有助于达成交易的良好客户互动行为。
服务排行榜利用了类似的竞争意识,但其核心是客户满意度和参与度。排行榜可以显示 KPI,包括已完成的客户请求数、每个代表的总平均评分以及未完成的客户票证总数。
一旦您的团队开始跟踪这些数据点,不要忘记使用这些统计数据来改进整个团队流程。研究您的高绩效员工参与的行为类型,明确他们可以做些什么来指导团队的其他成员,以促进整体成长。
公司范围的仪表板
你知道目前的客户流失率是多少吗?平均交易规模?你的员工知道吗?公司范围的仪表板可以将您的团队聚集在一个中心目标周围。
与销售和服务排行榜类似,将公司范围内的仪表盘放在中心位置(靠近咖啡机?)员工可以在这里看到公司目标的进展。从总收入、交易或试用与高级订阅开始。
添加动画、趋势图和传统的交通灯颜色编码使得这些可视化易于理解。这种公司目标和进展的透明度提高了员工的士气、团队精神和一致性。
无论结果如何,在计划可视化时,从团队或公司的目标开始。与更大的目标和目的没有直接联系的数据可视化注定会失败,尤其是在管理层。它们可能看起来很漂亮,但增加参与的预期结果将会丢失。
轮到你了
如果你正在寻找一个简单易用的在线工具来创建商业图表,你可以试用一下 Visme,并在下面的评论区告诉我们你的想法!
本帖 原版 最早出现在 Visme 的视觉学习中心 。
5 快速简单的 Python 数据可视化代码
想获得灵感?快来加入我的 超级行情快讯 。😎
数据可视化是数据科学家工作的一大部分。在项目的早期阶段,您通常会进行探索性数据分析(EDA ),以获得对数据的一些见解。创建可视化确实有助于使事情更清晰、更容易理解,尤其是对于较大的高维数据集。在项目接近尾声时,能够以一种清晰、简洁、有说服力的方式展示最终结果是非常重要的,这样观众(通常是非技术客户)才能理解。
Matplotlib 是一个流行的 Python 库,可以用来非常容易地创建数据可视化。然而,每次做新项目时,设置数据、参数、图形和绘图可能会变得相当混乱和乏味。在这篇博文中,我们将看看 5 种数据可视化,并用 Python 的 Matplotlib 为它们编写一些快速简单的函数。
在我们开始之前,请查看 人工智能智能简讯以阅读人工智能、机器学习和数据科学方面的最新和最棒的信息!
散点图
散点图非常适合显示两个变量之间的关系,因为您可以直接看到数据的原始分布。您还可以通过对不同数据组进行颜色编码来查看这种关系,如下图所示。想要可视化三个变量之间的关系?没问题!只需使用另一个参数,如磅值,来编码第三个变量,如下图所示。我们刚刚讨论的所有这些点也与第一张图表一致。
Scatter plot with colour groupings
Scatter plot with colour groupings and size encoding for the third variable of country size
现在说说代码。我们先导入 Matplotlib 的 pyplot,别名为“plt”。创建一个新的绘图图形,我们称之为plt.subplots()
。我们将 x 轴和 y 轴数据传递给函数,然后将它们传递给ax.scatter()
来绘制散点图。我们还可以设置点大小、点颜色和 alpha 透明度。您甚至可以将 y 轴设置为对数刻度。然后专门为图形设置标题和轴标签。这是一个易于使用的功能,创建一个散点图端到端!
线形图
当你能清楚地看到一个变量与另一个变量有很大差异时,最好使用线图,即它们有很高的协方差。让我们看下图来说明。我们可以清楚地看到,随着时间的推移,所有专业的百分比都有很大的变化。用散点图绘制这些图会非常混乱,很难真正理解和看到发生了什么。线图非常适合这种情况,因为它们基本上给了我们两个变量(百分比和时间)的协方差的快速总结。同样,我们也可以通过颜色编码来分组。从我们的第一个图表来看,折线图属于“随时间变化”类别。
Example line plot
这是线图的代码。和上面的散点挺像的。只有一些微小的变量变化。
直方图
直方图对于查看(或真正发现)数据点的分布很有用。查看下面的直方图,我们在那里绘制了频率与智商的直方图。我们可以清楚地看到向中心的浓度,以及中位数是多少。我们还可以看到,它遵循高斯分布。使用条形图(而不是散点,例如)真的给了我们一个清晰的可视化,每个仓频率之间的相对差异。箱的使用(离散化)确实有助于我们看到“更大的画面”,如果我们使用没有离散箱的所有数据点,可视化中可能会有很多噪声,使我们很难看到真正发生了什么。
Histogram example
Matplotlib 中直方图的代码如下所示。有两个参数需要注意。首先,n_bins
参数控制我们的直方图需要多少个离散仓。更多的垃圾箱会给我们更好的信息,但也可能引入噪音,让我们远离更大的画面;另一方面,更少的箱给了我们更多的“鸟瞰图”和更大的画面,没有更好的细节。其次,cumulative
参数是一个布尔值,它允许我们选择直方图是否是累积的。这基本上是选择概率密度函数(PDF)或累积密度函数(CDF)。
假设我们想要比较数据中两个变量的分布。有人可能会认为,您必须制作两个独立的直方图,并将它们并排放在一起进行比较。但是,实际上有一个更好的方法:我们可以用不同的透明度覆盖直方图。查看下图。均匀分布的透明度设置为 0.5,这样我们可以看到它背后的东西。这使得用户可以在同一个图形上直接查看两个分布。
Overlaid Histogram
对于重叠直方图,需要在代码中进行一些设置。首先,我们设置水平范围来适应两种变量分布。根据这个范围和所需的箱数,我们可以实际计算每个箱的宽度。最后,我们在同一个图上绘制两个直方图,其中一个稍微透明一些。
条形图
当您试图可视化具有很少(可能少于 10 个)类别的分类数据时,条形图最为有效。如果我们有太多的类别,那么图中的条形将会非常混乱,难以理解。它们对于分类数据来说很好,因为你可以很容易地根据条形的大小(即大小)看出类别之间的差异;类别也很容易划分和颜色编码。我们将会看到三种不同类型的条形图:常规条形图、分组条形图和堆积条形图。在我们进行的过程中,请查看数字下面的代码。
下面的第一张图是常规条形图。在barplot()
功能中,x_data
代表 x 轴上的滚动条,y_data
代表 y 轴上的条形高度。误差线是一条额外的线,位于每条线的中心,可以用来显示标准偏差。
分组条形图允许我们比较多个分类变量。看看下面的第二个柱状图。我们比较的第一个变量是各组(G1 组,G2 组,…等等)。我们也用颜色代码来比较性别。看一下代码,y_data_list
变量现在实际上是一个列表的列表,其中每个子列表代表一个不同的组。然后我们循环遍历每个组,对于每个组,我们在 x 轴上为每个刻度画一条线;每组都有颜色编码。
堆积条形图非常适合可视化不同变量的分类构成。在下面的堆积条形图中,我们比较了每天的服务器负载。使用彩色编码的堆栈,我们可以轻松地看到和了解每天哪些服务器工作最频繁,以及全天的负载与其他服务器相比如何。其代码遵循与分组条形图相同的样式。我们循环遍历每个组,只是这次我们在旧条的上面而不是旁边画新条。
Regular Bar Plot
Grouped Bar Plot
Stacked Bar Plot
箱线图
我们之前看了直方图,它非常适合可视化变量的分布。但是如果我们需要更多的信息呢?也许我们想要对标准差有一个更清晰的认识?也许中间值与平均值有很大不同,因此我们有许多异常值?如果有这么大的偏斜,很多值都集中到一边怎么办?
这就是箱线图出现的原因。箱线图给了我们以上所有的信息。实线方框的底部和顶部始终是第一个和第三个四分位数(即数据的 25%和 75%),方框内的波段始终是第二个四分位数(中间值)。触须(即末端有条的虚线)从框中延伸出来以显示数据的范围。
因为盒状图是为每个组/变量绘制的,所以很容易设置。x_data
是组/变量的列表。Matplotlib 函数boxplot()
为y_data
的每一列或者序列y_data
中的每一个向量做一个方框图;因此x_data
中的每个值对应于y_data
中的一个列/向量。我们所要设定的就是剧情的美感。
Box plot example
Box plot code
结论
使用 Matplotlib 有 5 个快速简单的数据可视化。将事物抽象成函数总是让你的代码更容易阅读和使用!我希望你喜欢这篇文章,并学到一些新的有用的东西。
5 家放射学人工智能公司要建立和投资(它们都不解释医学图像)
我之前已经全面地写了关于在哪里投资放射学人工智能,以及如何击败这个领域正在进入的炒作曲线悬崖。对于那些没有看过我之前博客的人,我的总结是这样的:
选择专注于临床有效用例的公司,这些公司拥有大量数据集,符合法规,并且没有过度宣传自己。
问题是…像这样的放射学人工智能投资机会几乎不存在,尤其是在英国。我想是时候写下我的想法了,比如我实际上会建立什么(如果我有资金的话),或者我会建议风投投资什么公司(如果它们存在的话)。
令人惊讶的是,没有一家公司真正解释医学图像——我会在最后解释为什么!
1.放射本体建模
好吧,这可能听起来有点简单和明显,但它实际上是所有放射学人工智能工作中最重要的。
首先,我需要解释一下放射学——它不仅仅是解读医学图像的临床专业,它还是一个将专家解读转化为文本的熟练过程。放射科医生本质上是傅立叶变换——将数字图像转换成用他们自己的“放射学”语言编写的模拟单词和句子。作为一名放射科医师,我已经学会了说“放射学”——我可以面无表情地说“一群胆管高回声钙化,伴有后部声学阴影”,其他任何放射科医师都知道我刚才描述的是什么,以及是什么形式。(翻译——我说的是超声波上看到的胆结石)。
这种语言,或者说本体论,对于这个领域来说是独一无二的,并且跨越国界也是相当同质的。在最佳实践中,每一次医学扫描都应该有一份以这种本体论格式编写的报告。这意味着,在世界各地的数据库中,几乎每一次医学扫描都有一个相当标准化的放射学描述。(如果这还不能让数据科学家兴奋,那么我不知道还有什么能让他们兴奋)。我们在这里谈论的是数十亿的数据点!更棒的是,数字化医疗记录中有数十亿个数据点!
Image from Modelling Radiological Language with Bidirectional Long Short-Term Memory Networks, Cornugreta et al, 2016.
因此,我将建立或投资的第一家放射学人工智能公司是一家可以将最先进的自然语言处理(NLP)矢量化和概念建模应用于放射学报告的公司。这项技术超越了简单的 LSTM 概念识别、Word2vec 嵌入和其他语言概念模型,通过添加递归神经网络来构建理解。与 RadLex(官方放射学“字典”)和其他医学本体数据库一起使用,公司可以构建一个强大的工具来有效地注释和概念性地建模他们可以访问的每个放射学报告。
无论是谁构建了这一系统,并率先将即插即用的 API 推向市场,都有可能成为大多数其他放射学人工智能研究、服务和其他医学成像人工智能公司的基础。
2.放射科地外行翻译
An example of poor Radiology to Lay translation
“放射学”作为一种语言的主要问题是,没有多少其他人能理解它(包括许多医生)。放射科医生通常会在报告的末尾加一个摘要来强调要点,然而,这个摘要是对报告正文的简化,通常不会涵盖其细节和细微差别。意义可能会丢失,摘要可能会被当作真理,由于缺乏细节,临床错误可能(并且已经)发生。
第二,最近推动了一种更加面向患者、以价值为导向的放射服务,这种服务允许放射科医生与患者直接互动,以解释成像结果。不足为奇的是,接受速度很慢,主要是因为放射科医生太忙了,没有时间阅读扫描结果。
我的第二个公司将解决这两个问题,通过建立在本体工作的第一部分上,并产生放射报告的外行翻译。增值是显而易见的——非放射学临床医生和患者都将受益于更易于访问的报告,而不会损失质量或改变放射科医生的工作流程。从本质上讲,这将是一条放射学上的盲鱼——在放射科医生和非放射科医生之间进行无意义的翻译。
以这种方式改善跨专业的交流可以减少复读和意见的要求,提供对临床状态更可靠和更彻底的了解,以及为患者提供更好的洞察力和保证。
这项技术的一个额外的免费好处是能够通过翻译服务推送报告,即时全球化报告,并开辟了英国放射服务外包给外国远程放射公司的可能性,以利用不讲英语的放射学家。
3.预测语义学
很久以前,放射科医生曾经在患者的临床记录中手写他们自己的报告。随后出现了口述录音机和放射科秘书/打字员,后来才出现了语音识别软件(这本身就是人工智能的一种形式)。进步终究是进步。我的观点是,现代放射科医生非常习惯于整天对着麦克风清晰易懂地说话,并看到他们的话出现在屏幕上。
放射科医生也有多个屏幕和许多消耗注意力的活动,从他们正在阅读的实际图像,到 PACS 系统屏幕,到报告,以及访问书籍和网站参考资料。我的第三个放射学人工智能公司将专注于这些参考资料。
通过建立语言模型和概念模型,我的目标是设计(或投资)一个系统,该系统内置一个具有推理能力的概念聚合器。这种系统可以根据放射科医师所说的内容,从理论上预测报告的总结发现。一个例子可以是描述病变的放射科医师,并且系统建议该病变的可能病理列表(例如,非骨化性纤维瘤、动脉瘤样骨囊肿、纤维皮质缺损;这些都可以看起来非常相似!).所有这些都可以实时进行。
这具有两个功能:1)以可能的鉴别病理学的形式向放射科医师提供决策支持,以及 2)通过消除口述概要的需要来加速口述过程。两者都通过改进工作流程和减少诊断错误来增加价值。
4.基于内容的图像检索
每家医院都有一个 PACS 归档,这是一个巨大的数据存储库,存储了过去 10 年中拍摄的所有图像(令人难以置信的是,归档的图像由于容量问题而被删除的情况屡见不鲜!).这个档案本质上是一个黑暗的坑,数十亿有价值的临床数据点被扔进这个坑,再也看不到了。真是浪费!
目前不可能在 PACS 档案中搜索特定的临床内容。是的,您可以搜索患者姓名或 ID,或按成像设备和日期进行过滤,但这意味着您需要在搜索之前了解扫描是在何时/如何或对谁进行的。然而,直到你打开它,你才知道扫描中的病理是什么。没有通过临床概念、病理学或者更好地通过图像搜索本身进行搜索的功能。
医院希望在影像档案中搜索特定临床病理的原因有很多:审计、研究、错误处理、教学案例、交叉引用等等。目前,记录某些类型临床病例的唯一方法(例如,记录所有患有罕见骨肿瘤的患者)是报告放射科医师在报告时手动将病例添加到文件中。之后,它就消失在档案中的某个地方了(除非有人记得病人的详细信息)。
我的第四家放射学人工智能公司将提供基于文本和基于图像的 PACS 存档搜索。基于文本的搜索将是一个简单的案例,在整个档案上运行我们第一家公司的概念建模 API,并将结果连接到智能搜索功能。临床医生可以立即搜索“患有转移性骨肉瘤的青少年”,并返回几十个病例供他们查看。老实说,在我的学术任期内,我已经搜索了数百万份档案,这个简单的功能可以节省几个月的研究时间!
不过,我想更进一步。通过使用简单的非解释性图像感知技术,如流形排序,我的目标是建立一个系统,允许放射科医生根据图像内容搜索 PACS 档案。(谷歌已经有了类似的服务,允许你上传图片并找到相似的——这也没什么不同)。
https://images.google.com allows you to upload an image to find similar content
想象一下,一位放射科医生正在查看一个复杂的肾脏肿瘤病例,该病例具有奇怪的血管模式,但他们不确定这是什么。我们的放射科医师可以使用 reading PACS 软件中的工具来裁剪该区域,单击 search,几秒钟后就可以获得几十个以前报告过的类似研究。这种基于内容的即时比较将改变工作流程,减少对外部参考源的依赖,成为出色的教学辅助工具,减少错误,并为基于以前的病例审查临床决策过程提供可靠的方法。
5.数字红点
很久以前,在放射学成为数字服务之前,放射科医生使用硬拷贝平片。这些二氧化硅和化学物质的薄片在黑暗的房间里被处理,挂湿晾干,然后被小心地放在棕色的文件纸条里,运送到阅览室。放射技师(技师)负责这个过程(不是放射科医师)。随着时间的推移,随着放射技师越来越熟练地阅读图像,开发了一种系统,放射技师将在胶片的角落放置一个小的圆形红色贴纸,以标记他们认为图像包含需要临床检查的病理。这个“红点”系统运行良好,尤其是在经验丰富的放射技师的监督下。红点胶片将被放置在报告堆的顶部,以确保当值放射科医师首先看到紧急的临床发现,反过来,病情最严重的患者将及时将他们的图像报告给相关的临床团队。
不幸的是,一旦引入数字 PACS,这种简单的警报系统就消失了。是的,放射技师可以数字标记图像,但通常情况下,图像仍然出现在报告队列中的正常位置。放射科医师在他们的阅片 PACS 中实际打开它们之前,不知道哪些胶片包含病理,哪些不包含病理。
Digitally annotated ‘red dot’ of a left orbital floor fracture. Note the annotation isn’t in fact red nor a dot, but it still does the job!.
我的第五家,也可能是最具临床价值的放射人工智能公司将开发一种数字红点系统,以实现早期分流。通过在简单标注为“正常”和“异常”的成像数据集上训练卷积神经网络,将建立一个简单的检伤分类系统,具有高异常敏感度但低病理特异性。紧急电影会出现在阅读清单的最上面,在不太重要的“正常”研究之上。
好处不言而喻——具有紧急发现的扫描将被报告并优先于“正常”研究采取行动。病人的安全将在一夜之间得到极大的改善。有报告积压的医院(即英国的每一家医院)可以更有效、更自信地首先处理重要的扫描,潜在地将癌症和其他等待列表减少几个数量级。成本节约潜力巨大。最令人兴奋的是,这样一个系统将为开发病理分类器奠定基础,让我们最终能够一瞥解释医学图像中病理的人工智能的开端。
所以,你有它。五家在医学成像中使用人工智能的公司绝对需要建立,需要投资,需要培育。放射学中的人工智能不一定仅仅是解释图像——这是高度专业化的人类的职权范围,也可以说是一个更加困难的技术挑战。相反,我们必须建立工具,增强和帮助放射科医生,缓解痛点,并改善安全和工作流程。事实上,我认为如果没有这五项技术的存在,对图像的实际解读根本不可能发生。
然而,如果没有成像数据、研究框架、开发、监管审批、市场化和上市,这一切都是不可能的。为此,我们需要一个放射学人工智能孵化器——而我恰好也有这个计划
如果你和我一样对放射学人工智能的未来感到兴奋,并想讨论这些想法,请保持联系。我在推特@drhughharvey
如果你喜欢这篇文章,点击推荐并分享它会很有帮助。
关于作者:
哈维博士是一名委员会认证的放射科医生和临床学者,在英国国民医疗服务体系和欧洲领先的癌症研究机构 ICR 接受过培训,并两次获得年度科学作家奖。他曾在 Babylon Health 工作,领导监管事务团队,在人工智能支持的分诊服务中获得了世界第一的 CE 标记,现在是顾问放射科医生,皇家放射学家学会信息学委员会成员,以及人工智能初创公司的顾问,包括 Kheiron Medical。
成为数据科学家的第一件事应该是学习“逻辑回归”的 5 个理由
几年前,我开始涉足数据科学领域。当时我是一名软件工程师,我首先开始在网上学习(在开始攻读硕士学位之前)。我记得当我搜索在线资源时,我只看到学习算法的名称——线性回归、支持向量机、决策树、随机森林、神经网络等等。很难理解我应该从哪里开始。今天,我知道要成为一名数据科学家,最重要的是学习管道,即获取和处理数据、理解数据、构建模型、评估结果(模型和数据处理阶段)和部署的过程。所以作为一个TL;本文作者:首先学习逻辑回归,熟悉流水线,不要被花哨的算法淹没。
你可以在这个帖子中读到更多关于我从软件工程转向数据科学的经历。
这是我今天认为我们应该首先从逻辑回归开始成为数据科学家的 5 个原因。当然,这只是我的看法,对其他人来说,用不同的方式做事可能更容易。
因为学习算法只是流水线的一部分
正如我在开头所说,数据科学工作不仅仅是建立模型。它包括以下步骤:
你可以看到“建模”是这个重复过程的一部分。当构建一个数据产品时,首先构建整个管道是一个很好的做法,尽可能保持简单,了解你到底想要实现什么,你如何衡量自己,你的基线是什么。在那之后,你可以进行奇特的机器学习,并且能够知道你是否正在变得更好。
顺便说一下,逻辑回归(或任何 ML 算法)不仅可以用于“建模”部分,还可以用于“数据理解”和“数据准备”,输入就是一个例子。
因为你会更好地理解机器学习
我认为人们在阅读这篇文章标题时问自己的第一个问题是为什么是“逻辑”而不是“线性”回归。事实是这并不重要。仅这个问题就引出了两种监督学习算法——分类(逻辑回归)和回归(线性回归)。当你用逻辑或线性回归建立你的管道时,你会熟悉大多数机器学习概念,同时保持事情简单。像监督和非监督学习,分类与回归,线性与非线性问题等概念。此外,您还将了解如何准备数据,可能存在哪些挑战(如估算和特征选择),如何衡量您的模型,是否应该使用“准确性”、“精确回忆”、“ROC AUC”?或者也许是“均方差”和“皮尔逊相关”?。所有这些概念都是数据科学过程中最重要的部分。在你熟悉它们之后,一旦你掌握了它们,你就能够用更复杂的模型来代替你的简单模型。
因为“逻辑回归”是(有时)足够的
逻辑回归是一种非常强大的算法,即使对于非常复杂的问题,它也可以做得很好。以 MNIST 为例,仅使用逻辑回归就可以达到 95%的准确率,这不是一个很好的结果,但足以确保你的管道工作。实际上,通过正确的特征表示,它可以做得非常好。在处理非线性问题时,我们有时试图用一种可以线性解释的方式来表示原始数据。这是一个简单的例子:我们想对以下数据执行一个简单的分类任务:
X1 x2 | Y
==================
-2 0 1
2 0 1
-1 0 0
1 0 0
如果我们绘制这些数据,我们会发现没有一条直线可以将它们分开:
plt.scatter([-2, 2], [0, 0 ], c='b')
plt.scatter([-1, 1], [0, 0 ], c='r')
在这种情况下,不对数据做任何事情的逻辑回归对我们没有帮助,但是如果我们放弃我们的x2
特性并使用x1²
来代替,它将看起来像这样:
X1 x1^2 | Y
==================
-2 4 1
2 4 1
-1 1 0
1 1 0
现在,有一条简单的线可以分隔数据。当然,这个玩具示例一点也不像现实生活,在现实生活中,很难判断您到底需要如何更改数据,因此线性分类器将有助于您,但是,如果您在特征工程和特征选择方面投入一些时间,您的逻辑回归可能会做得非常好。
因为它是统计的重要工具
线性回归不仅适用于预测,一旦你有一个拟合的线性回归模型,你就可以了解因变量和自变量之间的关系,或者用更“ML”的语言来说,你可以了解你的特征和你的目标值之间的关系。考虑一个简单的例子,我们有关于房屋定价的数据,我们有一堆特征和实际价格。我们拟合了一个线性回归模型,得到了很好的结果。我们可以查看模型为每个特征学习的实际权重,如果这些权重显著,我们可以说一些特征比其他特征更重要,此外,我们可以说,例如,房屋大小占房价变化的 50%,每增加 1 平方米将导致房价的 10K 增加。线性回归是从数据中学习关系的强大工具,统计学家经常使用它。
因为这是学习神经网络的良好开端
对我来说,在我开始学习神经网络的时候,先学习 Logistic 回归帮助很大。你可以把网络中的每个神经元想象成一个逻辑回归,它有输入,权重,偏差,你对所有这些做点积,然后应用一些非线性函数。此外,神经网络的最后一层是一个简单的线性模型(大多数情况下)。看看这个非常基本的神经网络:
让我们仔细看看“输出层”,您可以看到这是一个简单的线性(或逻辑)回归,我们有输入(隐藏层 2),我们有权重,我们做点积,然后添加一个非线性函数(取决于任务)。考虑神经网络的一个好方法是将 NN 分成两部分,表示部分和分类/回归部分:
第一部分(左侧)试图学习数据的良好表示,这将有助于第二部分(右侧)执行线性分类/回归。你可以在这篇伟大的帖子中读到更多关于这个想法的内容。
结论
如果你想成为一名数据科学家,有很多事情要知道,乍一看,学习算法似乎是最重要的部分。现实是,学习算法在大多数情况下非常复杂,需要大量的时间和精力来理解,但只是数据科学管道的一小部分。
使用虚拟现实实现数据可视化的 5 个理由
虚拟现实能够让我们沉浸在新的环境中,这可能是数据可视化工作的下一个重大进展
世界上的数据呈爆炸式增长。
它正从每个家庭、办公室、电脑、手机、机器和人类中涌出。数据已经变得如此庞大和难以处理,以至于我们将其升级为“大数据”。因此,这些数据的可视化在帮助我们分解其复杂性方面发挥着越来越重要的作用。
虚拟现实是一种新的媒介,为数据可视化提供了很大的潜力。通过沉浸在数据中,我们可以利用提供的更大空间、更自然的交互,并以直觉的方式分析多维数据。
研究表明,生活在一个数据的世界而不是一个旁观者,可视化的效果会成倍增加。这导致“明显更好地理解 datascape 几何图形,更直观地理解数据,并更好地保留数据中的感知关系。”
许多人会认为,虚拟现实带来的 3D 空间和体验可以在 2D 屏幕上模拟。这在某种程度上是正确的,但是将虚拟现实用于数据可视化的 5 个不同原因是:
- 少分心
通过聚焦你的整个视野,你可以专注于目标,无论是帮助考古学家在挖掘过程中可视化感兴趣的物体的位置,还是带用户进行纳斯达克 21 年的导游之旅。
通过“出现”在数据中,您还可以获得真正的规模感,这在桌面屏幕上查看数据时很难实现。
2。更多空间
有了 360 度的空间范围,就有更多的空间来显示数据,如下面彭博的虚拟现实交易终端的概念证明。
Source: Virtual reality headset Oculus Rift meets the Bloomberg terminal (Quartz)
3。多维数据分析
我们主要使用我们的视觉来分析和解释数据,但是如果我们也可以使用我们的听觉呢?通过数据-音频关系,我们可以通过例如声音的响度、类型和方向来理解特定数据点的意义、主题和位置。
通过使用多种感官,我们可以增强处理多维数据的能力。虽然在数据可视化环境中谈论味觉和嗅觉可能有点激进,但“感觉”数据并非不可能。这在技术上可以通过触觉反馈手套实现。
就像计算机一样,我们的视神经能够以大约 1 MB/s 的速度传输信息。当我们简单地阅读屏幕上的文字时,我们只使用了这一能力的 0.1%。自然,这将随着多年来发展的可视化技术而得到改善,但最终这仍然是从 2D 屏幕上读取信息。
虚拟现实让你沉浸在一个刺激的 3D 世界中,让你的大脑参与其中,并使你能够充分利用你的视神经带宽。
5。更自然的互动
在现实世界中,我们直接用手与物体互动。这让我们能够与周围的环境联系起来,更好地了解我们正在处理的物体。长期以来,我们使用键盘和鼠标作为这种交互的渠道。通过虚拟现实,我们可以回归到一种更自然的交互方式——通过物理按键、移动窗口和操纵数据流(比如在这个 VR 辅助生物标本分析)。除此之外,我们还能够在这些数据世界中漫游。
通过这些优势,我们可以提高员工效率,更轻松地进行更深入的数据分析,并更快地做出决策。
在虚拟现实中的数据可视化真正起飞之前,还有一些障碍要克服。头戴式耳机的分辨率需要提高,以便文本可以舒适地阅读,眼睛疲劳和恶心仍然是一部分人群的问题。一个关键的挑战是不要仅仅为了构建虚拟现实数据可视化而构建虚拟现实数据可视化——我们需要设计有用的可视化,利用虚拟现实的优势,并提供一种直观的交互、分析和操纵数据的方式。
随着硬件的发展和我们对这项新技术的理解日益加深,我们看到数据在虚拟现实中有效可视化只是时间问题。
参考文献
- Donalek,c .,Djorgovski,s .,Davidoff,s .,Cioc,a .,Wang,a .,Longo,g .,Norris,J.S .,Zhang,j .,Lawler,e .,Yeh,S. 2014。使用虚拟现实平台的沉浸式协作数据可视化。网址:http://arxiv.org/ftp/arxiv/papers/1410/1410.7670.pdf。2016 年 8 月接入。
- 迈克尔·托马斯。2014.利用虚拟现实理解大数据。网址:http://www . SAS . com/ro _ ro/news/SAS com/2014 Q1/virtual-reality-big-data . html。2016 年 8 月接入。
人工智能将产生超出大多数人预期的影响的 5 个原因
点击诱饵—
没有什么比一篇标题为“你需要担心 Y 会发生的 X 个理由”的点击量更高的了。报纸多年来一直在这样做,以吸引读者。现在在线杂志和博客已经真正完善了这种做法。这是有道理的,因为一个好的标题可以增加读者,增加广告浏览量,增加盈利。
在过去,产生这样的标题曾经是有创造力的作家和不太严谨的编辑的工作。这些标题现在使用人工智能算法生成得更快了。参见 Lars Eidnes 关于与 RNN ( )生成链接标题的文章,虽然内容丰富,但该文章将受益于一个更有趣的标题。Buzzfeed 对他们的文章做了这样一件事,你不会相信结果!)。现在甚至整篇文章都是 AI 写的(可惜不是这篇…).目前,人工智能写作受到最小分析的限制,涵盖股票报告和体育比分等内容。然而,在实践中,几乎没有什么能阻止他们写更深入的分析。诗歌、歌曲和电影都是由人工智能程序生成的,取得了不同程度的成功。
因此,我们可以假设人工智能将对新闻机构和写作产生深远的影响。但这些都是一个狭窄领域的特定用例。实际上,我可以从几乎任何领域或行业开始写这篇文章,结果都是一样的。人工智能将从根本上改变许多组织和行业,不是因为它是另一个程序,而是因为它是一种类似于互联网、云计算和区块链的变革性技术。
人工智能和机器学习(ML)算法与普通软件的不同之处与它解决问题的过程有很大关系。AI/ML 使用简单的算法*学习并发现数据中的模式。*它不需要任何领域知识,几乎可以在任何数据集上运行。这是一种完全灵活的技术,可以应用于任何现有的或新的问题,并且不需要深入的领域知识。人工智能工程师可以编写算法,在 MRI 扫描中识别肿瘤,而无需访问医学院或了解 MRI 的工作原理。同样的算法可以识别图像中的热狗或非热狗。同样的算法,对人类的好处略有不同。
但是考虑到许多技术已经对工业产生了重大影响。问问百视达的流媒体视频,或者问问诺基亚的安卓系统。但是,这些技术要么需要大量的专业知识和/或费用来实现。那些变革性的技术仅限于那些能够实现这一目标的公司(总是公司)。AI/ML 不受这些约束的限制。它便宜、易得、灵活,足以颠覆任何行业。
1.AI/ML 算法和技术简单,容易上手。
作为一名 AI 工程师,我实现 AI/ML 所需的知识范围可以在许多大学或网上的 9 个月课程中获得(感谢 Udacity!).算法和技术简单明了,只需要略高于平均水平的数学技能。大多数程序员或工程师的准入门槛低得令人尴尬。这确保了随着人工智能能力的增长,人工智能工程师的数量也会随之增长。我预计,随着 IBM、谷歌和脸书等公司争相培养更多的工程师,这些最小的障碍也会消失。
*当然,如果你想成为一名成熟的人工智能研究人员,你需要在课堂上花更多的时间。但是 AI 技术人员(实现的人)可以来自世界任何地方,不需要很多背景技能。
2.算法不需要领域知识
AI/ML 只不过是在数据中发现相关性的能力,即使它们不是立即明显的。在一个例子中,AI/ML 视觉应用识别图像中的形状、颜色和纹理,以帮助对图像的不同部分进行分类。这都是自动完成的。没有任何编码来区分图像中的这些特征。在很大程度上,研究人员甚至不确定为什么某些特征是孤立的。通过传递足够多的正确分类(这是一只猫/这不是一只猫)并训练系统,AI 将学习猫的特征。不需要将任何猫属性输入到算法中。
这个特性最强大的部分是领域专家不再局限于少数个人。医学或天文学等复杂领域的工作不再需要深入了解数据结构。工程师们可以应用同样的算法在任何避开这种知识的领域工作。这为许多传统上被认为是专家领域的领域(法律、医学、工程)带来了新的突破
3.AI/ML 算法是指数级的,是共享的
此外,由于 AI/ML 算法不需要任何特定领域的知识或应用,您可以使用在一个行业获得的知识,并将其应用到许多其他行业。这种知识可以跨行业共享,而不必共享知识产权或商业秘密。算法可以很容易的传递和分享。https://www.kaggle.com/是一个致力于开放创建和改进人工智能算法所需的数据和模型的社区。
以图像识别为例。用于图像识别的人工智能模型被广泛共享,甚至每年都要相互竞争。这些模型是开放的,并在整个社区中共享。这些模型的强大之处在于,它们可以用来识别几乎任何类型的图像。当然存在细微差别,但识别无人驾驶汽车街道标志所需的算法与识别 x 射线图像中的肿瘤所需的算法基本相同。一个模型的工作可以在所有其他模型中共享。
通过迁移学习,即使以前对大量数据的要求也变得更容易了,研究人员能够利用现有的训练模型,并将它们应用到定制的情况中。在 140 万张图像上训练过的 VGG 模型可以重新用于用相对较少的图像识别狗的品种。因此,处理大量数据以获得良好结果的要求大大降低了。
4.人工智能更容易被世界上更多的人使用。
ML/AI 爆炸部分是由于计算解决方案所需的计算资源的可用性。云计算允许个人获得以前无法获得的大规模计算能力,除非你是一所大型大学、组织或政府。现在,日本的一位农民可以用价值几美元的资源训练一名黄瓜分拣员。云公司在人工智能上投入了越来越多的投资。谷歌 TPU 建立硬件的唯一目的是更快更有效地解决人工智能/人工智能算法。曾经只有那些有资源的人才能解决的问题现在可以由个人来解决。原本只有少数几家公司可以真正颠覆行业的行业,现在面临着成千上万的潜在竞争对手。
5.人工智能研究是开放的、快速的和加速的。
人工智能/人工智能研究是全世界非常热门的话题。组织投入数百万调整和更新算法。目前,这些算法都是开放的,可以在科学期刊和网上获得。
有标准化的工具 Tensorflow,Caffe,Keras tools 提供了描述 AI 模型和实现它们的标准化语言。
数据变得越来越容易获得和公开。
我们现在的情况是,人工智能算法正在做出更好的模型、更多的数据和更智能的决策。这些都是以传统成本的一小部分完成的,并且可以用有限的预算和专业知识来完成。这将改变很多行业。
想象一下,
人工智能教师,每个学生一名,将指导和个性化完全适合他们学习风格的教育计划。
人工智能农场,将在没有任何人工干预的情况下监控、种植和收获作物。
人工智能购物者,将采购、协商和安排从杂货到管道的一切物品的运输。
三个简单的例子可以在他们的行业中轻松提供 10 倍的优势。这项技术离商业化已经不远了。请记住,一个公共互联网现在刚刚超过 25 岁,很容易看到它所产生的影响。
企业难以采用深度学习的 5 个原因
Photo by John Baker on Unsplash
当巨大的潜力不能转化为商业利益时
更新:你现在可以用 日文 阅读这篇文章(感谢 Koki Yoshimoto)。
所以,你已经听说了关于深度学习(DL)的令人眼花缭乱的推销,并且想知道它是否实际上在生产中有效。这是公司努力解决的首要问题。常年商业利益的乐土是现实吗?
在之前的一篇文章中,我们看到了深度学习的简单业务介绍,这种技术似乎对几乎任何问题都有一个整洁的解决方案。
一个简单的英文解释,减去数学,统计和代码
towardsdatascience.com](/decoding-deep-learning-a-big-lie-or-the-next-big-thing-b924298f26d4)
但是,当橡胶落地时会发生什么?
衡量一项创新成熟程度的一个好方法是,理解它在销售阶段过后很久在市场上的表现。在 Gramener 人工智能实验室,我们一直在研究深度学习的进展,并将它们转化为映射到客户问题的具体项目。
我将分享过去一年我们在 DL 解决方案项目实施中的一些心得。这是一个大杂烩,有成功的故事,也有一些挫折,我们看到最初的魅力由于地面上的障碍而逐渐消失。
以下是 DL 项目嘎然而止的五个原因,尽管它们是怀着最美好的愿望开始的:
1.接近科幻小说的期望
Source: GIPHY
是的,随着自动驾驶汽车、无人机送披萨和机器读取大脑信号,人工智能正在迅速成为现实。但是,其中许多仍在研究实验室中,只能在精心策划的场景下工作。
生产就绪的产品和仍在想象中的产品之间只有一线之隔。企业经常误解这一点。在解决雄心勃勃的挑战的喜悦中,团队深入到另一边。
这就是人工智能觉醒可能发生的地方,促使企业变得过度谨慎,并后退许多步。通过一些尽职调查,必须确定业务就绪的 DL 用例。一个人可以雄心勃勃,挑战极限,但关键是少承诺多兑现。
2.缺乏数据来满足巨头的胃口
Performance of analytics techniques vs data volume, by Andrew Ng
分析带来魔力是因为数据,而不是尽管数据不存在。不,深度学习没有解决数据不可用这一日益恶化的挑战。如果说有什么不同的话,那就是 DL 对数据的胃口更加贪得无厌。
要建立一个简单的基于面部识别的考勤系统,员工的面部照片是所需的训练数据。这些照片可能是现场录制的,也可能是带有某些特征变化(方向、眼镜、面部毛发、灯光)提交的…).通常,这样的数据收集会很快变成一个小型项目。
项目发起人通常假定这些数据是可用的或容易收集的。在尽了最大努力之后,他们最终得到的只是部分数据,这些数据提供了中等的准确性。这种轻微的不足可能意味着生产级解决方案和一个有吸引力的研究原型之间的差异。
3.大量的训练数据,但没有标记
Labeled dataset on Sports actions from UCF
当一个由一百万个数据点组成的数据库可供个人使用时,这是否足以让 DL 展现魔力?嗯,没那么快。训练数据需要煞费苦心的标注才能让模型学习。这一点经常被忽视。
算法需要在图片周围画出方框来学习识别人物。面孔需要被贴上名字标签,情绪必须被标记,说话者的声音必须被识别,甚至一个数字表也应该用详细的元数据来描述。
有人可能会说,哇,工作量真大。但这是教授 DL 模型所需要付出的努力。后备选项是更痛苦的过程 特征提取 (判断眼睛或鼻子是否最能区分人脸的手工工作)。
4.当成本效益权衡不合理时
收集和标记数据的努力,加上 GPU 级别的计算可能会被证明是昂贵的。再加上持续的努力,通过贴标签、培训和调整来维护生产模型。现在,总拥有成本飙升。
在某些情况下,人们很晚才意识到,为人工检查和分类配备人员比进行这种繁琐的工作要便宜。谈到大容量和可伸缩性,DL 又开始有意义了。但是,并不是所有的企业在开始时都将这一需求作为优先事项。
随着 DL 研究的稳步发展,这种情况每天都在发生变化。因此,尽早检查 DL 总拥有成本至关重要。有时,推迟投资直到成本经济变得有利可能是明智的。
5.当洞察力如此聪明以至于人们被吓到时
Photo by sebastiaan stam on Unsplash
这种担忧与此截然相反。有些用例被证明是 DL 的最佳选择,在这些用例中,数据可用性和业务需求已经成熟。当星星排成一线时,模型就变成了预言!
这里的挑战是,模型知道的太多了,甚至在人们说出它的必要性之前。这时它穿过了令人毛骨悚然的区域。在感觉到需求之前交叉销售产品,或者通过跟踪内部网聊天来检测更深层次的员工断开连接,这可能很有诱惑力。
但这些引发了道德困境的问题,或对客户或员工的数据隐私产生了怀疑。当怀疑一个用例是否会疏远目标受众时,公司必须让它通过,尽管潜在的可能性就在眼前。记住,权力越大,责任越大。
摘要
5 Reasons why Deep learning projects fizzle out
这是深度学习令人兴奋的日子,有着恒星般的进步和无限的承诺。但是,要将这种不受约束的力量转化为实际的商业利益,我们必须小心这五个陷阱。
确保数据的可用性、为培训进行标记的可行性,并验证企业的总拥有成本。最后,在不吓跑用户的情况下,找出能让用户兴奋和有能力的正确用例。
你可能想知道相对于其他技术,什么时候必须使用深度学习。总是从简单的分析开始,然后通过统计进行更深入的探索,只有在相关的时候才应用机器学习。当所有这些都不具备时,一些替代的专家工具集的时机已经成熟,拨入深度学习。
如果你觉得这很有趣,你会喜欢我写的这些相关文章:
对数据科学充满热情?随时在LinkedIn上加我,订阅我的 简讯 。
下面是这篇文章的 4 分钟视频。
jupyter 笔记本糟糕的 5 个原因
How it feels like managing jupyter notebooks ( Complexity © https://www.flickr.com/photos/bitterjug/7670055210 )
大约 3 年以来,我 60%的时间都在使用 jupyter 笔记本。我认为它们是许多任务的绝佳工具,如探索性数据分析、结果展示、与同事分享见解。但我越来越多地得出结论,jupyter 笔记本电脑不可能是最后的选择,尤其是在致力于构建通过 ML、DS、AI 等方式实现的产品的团队中。让我们看看为什么?
1.几乎不可能实现良好的代码版本控制
您是否在一个数据团队中工作,该团队相互协作并可能使用相同的笔记本电脑?可能你试图合并两个 jupyter 笔记本。由于 jupyter 笔记本存储为大的 JSON 文件,合并两个笔记本实际上是不可能的。这是不好的,因为我们不能像一个好的 git 工作流那样为软件团队应用工具来拉取请求和评审。
2.没有 IDE 集成,没有林挺,没有代码风格的修正
有一次,我在 slack python 开发团队中发布了 jupyter 笔记本的一个片段。我说不出我对他们责备我没有遵守 pep 会议的方式感到多么羞愧。Jupyter 没有林挺,这意味着你可以编写非常糟糕的代码。只要试着用林挺把你的代码复制到你喜欢的代码编辑器中,你就会明白我的意思。数据科学家不是软件工程师,因此管理他们代码质量并帮助提高代码质量的工具非常重要。
3.很难测试
我的一个同事曾经说过,当你用 jupyter 笔记本工作时,你基本上忘记了软件工程。他是对的!合理地组织你的代码,把你的代码放入函数中,然后为它们开发测试,这太难了。我是测试驱动开发的超级粉丝,我只能建议当你开发严肃的数据管道时,尽快离开 jupyter 笔记本。Jupyter 笔记本是一个探索而不是生产的工具,只要你想重现一些实验,经常运行笔记本。扔掉你的 jupyter 笔记本,根据测试驱动开发原则开发你的 python 脚本。(是的,你也可以使用 TDD 开发数据产品,你只需要把你的设备做好!)
4.jupyter 的非线性工作流程
在 jupyter 笔记本的单元格之间跳来跳去,有没有破坏过自己目前的工作状态?什么事?我知道你并不孤单,这种事经常发生在我身上。这种在细胞间跳跃的方式会导致不可重复的实验。在笔记本的单元格之间进行编码和跳转的交互方式既是 jupyter 笔记本最好的特性之一,也是它最大的弱点。
5.Jupyter 不适合运行长时间的异步任务
我喜欢说大数据意味着大问题。通常,当你用一个适合你记忆的小数据集来处理一个问题时,你就开始了。你会发现你的机器已经不够好了。然后你可以跳到像 spark、dask 和 distributed 这样的工具上,在你的笔记本上运行它们。我建议不要这样做。如果您完成了第一次数据探索,并希望进行大规模实验,甚至完成数据管道。从 jupyter 笔记本中取出您的代码,启动一个适当的 python 项目,创建 fixtures,编写测试,然后将您的应用程序部署到集群中。这将对你构建可靠的数据驱动产品有很大帮助。
推荐
如果你面临这些问题,我认为你必须重新审视你的数据科学工作流程。我仍然喜欢使用 Jupyter Notebook,尤其是在第一次查看数据集和绘制大量图表时。然而,我强迫自己尽可能快地从处理笔记本电脑中的复杂工作负载转移。克服这里提到的一些缺点的一个非常有前途的可能方法是我的同事 Michele 的 pynb 项目或者使用像 T2 氢 T3 这样的工具。
为什么应该在数据科学项目中使用交叉验证的 5 个理由
交叉验证是数据科学家工具箱中的一个重要工具。它允许我们更好地利用我们的数据。在我向你展示我使用交叉验证的五个理由之前,我想简单回顾一下什么是交叉验证,并展示一些常用的策略。
当我们使用一些数据建立机器学习模型时,我们通常会将数据分成训练集和验证/测试集。训练集用于训练模型,验证/测试集用于在它从未见过的数据上验证它。经典的方法是做一个简单的 80%-20%的分割,有时有不同的值,如 70%-30%或 90%-10%。在交叉验证中,我们不止做一次分割。我们可以做 3 次、5 次、10 次或任何 K 次分割。这些分裂叫做折叠,我们可以用很多策略来创建这些折叠。
Diagram of k-fold cross-validation with k=4.
简单的 K-Folds —我们把数据分成 K 份,让我们用 K=3 作为一个玩具的例子。如果我们的数据集中有 3000 个实例,我们将它分成三部分,第 1 部分、第 2 部分和第 3 部分。然后,我们建立三个不同的模型,每个模型在两个部分进行训练,在第三部分进行测试。我们的第一个模型在第 1 部分和第 2 部分进行训练,在第 3 部分进行测试。我们的第二个模型在第一部分和第三部分进行训练,在第二部分进行测试,依此类推。
漏掉一个——这是交叉验证最极端的方式。对于数据集中的每个实例,我们使用所有其他实例构建一个模型,然后在选定的实例上测试它。
分层交叉验证——当我们将数据分成多个文件夹时,我们希望确保每个文件夹都能够很好地代表整个数据。最基本的例子是,我们希望每个文件夹中不同类的比例相同。大多数情况下,这只是随机发生的,但有时,在复杂的数据集中,我们必须对每个折叠执行正确的分布。
以下是我认为你应该使用交叉验证的五个理由:
1。使用你所有的数据
当我们只有很少的数据时,将其分成训练集和测试集可能会留给我们一个很小的测试集。假设我们只有 100 个例子,如果我们做一个简单的 80-20 分割,我们将在测试集中得到 20 个例子。这是不够的。我们能在这个舞台上得到几乎所有的表演完全是因为运气。当我们有一个多类问题时,问题就更严重了。如果我们有 10 个类,只有 20 个例子,那么平均每个类只有 2 个例子。只在两个例子上测试任何东西都不能得出任何真正的结论。
如果我们在这种情况下使用交叉验证,我们建立了 K 个不同的模型,因此我们能够对我们的所有数据进行预测。对于每个实例,我们通过没有看到这个例子的模型进行预测,因此我们在测试集中得到 100 个例子。对于多类问题,我们平均每类得到 10 个例子,比只有 2 个要好得多。在我们评估了我们的学习算法(参见下面的#2)之后,我们现在可以在我们的所有数据上训练我们的模型,因为如果我们的 5 个模型使用不同的训练集具有相似的性能,我们假设通过在所有数据上训练它将获得相似的性能。
通过进行交叉验证,我们能够使用我们所有的 100 个例子进行训练和测试,同时评估我们的学习算法在以前从未见过的例子上。
2。获取更多指标
正如#1 中提到的,当我们使用我们的学习算法创建五个不同的模型,并在五个不同的测试集上进行测试时,我们可以对我们的算法性能更有信心。当我们对测试集进行单次评估时,我们只能得到一个结果。这个结果可能是因为偶然,也可能是因为某种原因设置的测试有偏差。通过训练五个(或十个)不同的模型,我们可以更好地理解正在发生的事情。假设我们训练了五个模型,并以精确度作为衡量标准。我们可能会在几种不同的情况下结束。最好的情况是,我们的准确度在所有折叠中都是相似的,比如 92.0、91.5、92.0、92.5 和 91.8。这意味着我们的算法(和我们的数据)是一致的,我们可以相信,通过在所有数据集上训练它并在生产中部署它,将会产生类似的性能。
然而,我们可能会在一个稍微不同的场景中结束,比如 92.0,44.0,91.5,92.5 和 91.8。这些结果看起来很奇怪。看起来我们的一个折叠来自不同的分布,我们必须回去并确保我们的数据是我们认为的那样。
最坏的情况是我们的结果有相当大的变化,比如 80、44、99、60 和 87。这里看起来我们的算法或我们的数据(或两者)不一致,这可能是我们的算法无法学习,或者我们的数据非常复杂。
通过使用交叉验证,我们能够获得更多的指标,并得出关于我们的算法和数据的重要结论。
3。使用模型堆叠
有时我们想要(或者不得不)建立一个模型管道来解决一些问题。以神经网络为例。我们可以创建许多层。每个层可以使用预览层输出,并学习我们的数据的新表示,因此最终,它将能够产生良好的预测。我们能够训练这些不同的层,因为我们使用反向传播算法。每一层计算其误差,并将其传递回前一层。
当我们做一些类似的事情,但不使用神经网络时,我们不能用同样的方式训练它,因为并不总是有明确的“错误”(或导数)可以传递回来。
例如,我们可以创建一个随机的森林模型,它可以为我们预测一些事情,然后,我们想做一个线性回归,它将依赖于以前的预测并产生一些实数。
这里的关键部分是我们的第二个模型必须学习我们的第一个模型的预测**。**这里的最佳解决方案是为每个模型使用两个不同的数据集。我们在数据集 a 上训练我们的随机森林。然后我们使用数据集 B 来使用它进行预测。然后,我们使用数据集 B 的预测来训练我们的第二个模型(逻辑回归),最后,我们使用数据集 C 来评估我们的完整解决方案。我们使用第一个模型进行预测,将它们传递给我们的第二个模型,然后将其与实际情况进行比较。
当我们的数据有限时(大多数情况下),我们无法真正做到这一点。此外,我们不能在同一个数据集上训练我们的两个模型,因为这样一来,我们的第二个模型就会学习第一个模型已经看到的预测。这些可能会过拟合或至少有更好的结果比一个不同的设置。这意味着我们的第二个算法不是根据它将被测试的内容来训练的。这可能会在我们的最终评估中导致难以理解的不同效果。
通过使用交叉验证,我们可以用之前描述的相同方式对数据集进行预测,因此我们第二个模型的输入将是对我们第一个模型从未见过的数据的真实预测。
4。处理相关/分组数据
当我们对数据进行随机训练测试分割时,我们假设我们的例子是独立的。这意味着,通过了解/看到一些实例不会帮助我们理解其他实例。然而,情况并非总是如此。
考虑一个语音识别系统。我们的数据可能包括不同的发言者说不同的话。让我们看看语音数字识别。在这个数据集中,例如,有 3 个发言者和 1500 个记录(每个发言者 500 个)。如果我们进行随机分割,我们的训练集和测试集将共享同一个说话者说的相同的话!当然,这将提高我们的算法性能,但一旦在新的扬声器上测试,我们的结果会更差。
正确的做法是拆分扬声器,即使用两个扬声器进行训练,第三个用于测试。然而,我们将只在一个扬声器上测试我们的算法。这是不够的。我们需要知道我们的算法在不同的扬声器上表现如何。
我们可以在说话者层面使用交叉验证。我们将训练 3 个模型,每次使用一个扬声器进行测试,另外两个用于训练。这样,我们将能够更好地评估我们的算法(如上所述),并最终在所有扬声器上建立我们的模型。
5。参数微调
这是进行交叉验证的最常见和最明显的原因之一。大多数学习算法需要一些参数调整。它可以是梯度增强分类器中的树的数量、神经网络中的隐藏层大小或激活函数、SVM 中的核的类型等等。我们想为我们的问题找到最好的参数。我们通过尝试不同的价值观并选择最好的来做到这一点。有许多方法可以做到这一点。它可以是手动搜索、网格搜索或一些更复杂的优化。然而,在所有这些情况下,我们不能在我们的训练测试中这样做,当然也不能在我们的测试集中这样做。我们必须使用第三个集合,一个验证集合。
通过将我们的数据分成三组而不是两组,我们将解决我们之前谈到的所有相同的问题,特别是如果我们没有很多数据的话。通过进行交叉验证,我们能够使用一组数据完成所有这些步骤。
结论
交叉验证是一个非常强大的工具。它帮助我们更好地使用我们的数据,并为我们提供更多关于算法性能的信息。在复杂的机器学习模型中,有时很容易不够重视,并且在管道的不同步骤中使用相同的数据。在大多数情况下,这可能导致良好但不真实的性能,或者在其他情况下引入奇怪的副作用。我们必须注意,我们对自己的模型充满信心。当我们处理数据科学项目中的重大挑战时,交叉验证会对我们有所帮助。
如果你想了解更多关于数据科学管道中可能出现的不同陷阱,欢迎你阅读我关于如何与数据科学撒谎的帖子
如果你想阅读做某事的其他 5 个理由,欢迎阅读我的文章 5 个理由“逻辑回归”应该是成为数据科学家的第一件事
启发您下一个数据科学项目的 5 种资源
不要担心——开始是最难的部分
入门指南
我们接触到看似无穷无尽的数据科学职业建议,但有一个话题没有得到足够的重视:兼职项目。副业很棒,原因有很多,但我喜欢朱莉·卓在下面简单的文氏图中的描述:
兼职项目是一种将数据科学应用于目标驱动程度较低的环境中的方式,这种环境可能比你在工作或学校中经历的环境更少。它们提供了一个的机会,让你可以随心所欲地使用数据,同时学习实用技能。
除了有趣和学习新技能的好方法之外,兼职项目也有助于你求职。招聘人员和经理们喜欢看到那些显示你对数据感兴趣的项目,而不仅仅是课程和工作。
问题是
你有没有过想开始一个新项目却又决定不了要做什么的经历?首先,你花几个小时集思广益。然后几天。在你意识到之前,几个星期过去了,没有任何新的发货。
这在所有领域的自驱动项目中极为常见;数据科学也不例外。有远大的抱负很容易,但要实现却困难得多。我发现数据科学项目最难的部分是开始并决定走哪条路。
在这篇文章中,我的目的是提供一些有用的提示和资源,帮助您开始下一个数据科学项目。
考虑
在我们进入下面的资源之前,在考虑数据科学项目时,有几件事情值得注意。
你的目标
数据科学是一个极其多样化的领域;这意味着几乎不可能将每个概念和工具都压缩到一个项目中。你需要挑选出你想进一步发展的技能。一些相关的例子包括:
- 机器学习和建模
- 探索性数据分析
- 度量和实验
- 数据可视化和通信
- 数据挖掘和清理
请注意,虽然很难将每一个概念结合起来,但您可以将其中的一些结合起来,例如,您可以收集数据进行探索性的数据分析,然后以一种有趣的方式将其可视化。
基本上,如果你想成为一名更有效的机器学习工程师,很可能你不会通过做一个 data viz 项目来实现这一点。你的项目应该反映你的目标。这样,即使它没有爆炸或发现任何突破性的见解,你仍然可以带着胜利和一堆应用知识离开。
你的兴趣
就像我们之前提到的,副业应该是令人愉快的。不管我们是否意识到,我们每天都会问自己数百个问题。在今天剩下的时间里,试着比平时更多地关注这些问题。你会对发生的事情感到惊讶。你可能会发现你更有创造力,对你认为的某些事情更感兴趣。
现在将它应用到你的下一个数据科学项目中。你好奇如何对你的晨跑进行分类吗?想知道川普如何以及何时在推特上发布他做的事情吗?对体育史上最伟大的一炮而红的奇迹感兴趣吗?
可能性确实是无穷无尽的。让你的兴趣、好奇心和目标驱动你的下一个项目。一旦你检查了这些框,让我们得到启发。
灵感
我们很容易认为自己是独立的,但事实证明情况并非如此。如果你足够努力,总会有其他人有相似的兴趣和目标。这种效应对思维能力有着难以置信的强大作用。
“没有什么是原创的。从任何能激发灵感或激发你想象力的地方偷东西。”—吉姆·贾姆什
找到你喜欢或欣赏的项目,然后在上面加入你自己的想法。把它们作为出发点,创作出新的、独一无二的原创作品。我最喜欢的一些灵感来源如下:
数据漂亮
我可以花几个小时浏览这些数据可视化的子集。你会对人们想出的所有独特的想法和问题感兴趣。还有每月一次的选择数据集的挑战,用户的任务是以最有效的方式可视化它。根据最佳时间排序,以获得即时满足。
卡格尔
如果我没有提到在线数据科学的典型代表,那将是我的失职。有几种方法可以有效地利用 Kaggle 获取灵感。首先,您可以查看趋势数据集,并思考利用这些信息的有趣方式。如果你对机器学习和例子本身更感兴趣,那么随着时间的推移,内核的特性会变得越来越好。
布丁
的确,视觉散文是一种新兴的新闻形式。布丁最能体现这种运动。该团队使用原始数据集、原始研究和互动来探索大量有趣的话题。
538
经典,但至今依然不错。我是说得了吧,内特·西尔弗才是男人。数据驱动的博客涉及从政治到体育到文化的方方面面。更不用说,他们刚刚改进了他们的数据导出页面。
走向数据科学
最后,我要为 TDS 团队大声欢呼,因为他们聚集了这群充满激情的聪明人,让他们在数据科学领域取得成就并帮助他人成长。在任何一天,浏览最近的故事都会给你带来很多有趣的项目想法。
包扎
兼职项目不仅在我的整个开发过程中极大地帮助了我,而且它们通常也很有趣。最近,数据科学作品集上出现了越来越多的精彩内容。如果有兴趣,我强烈推荐查看以下链接:
任何事情最难的部分就是开始。我希望上面的提示和资源能够帮助您完成并交付下一个数据科学项目。我会留意的。
感谢阅读!如果你喜欢这篇文章,请继续向鼓掌按钮展示你的爱,看看我最近的一些项目:
对更多的帖子感兴趣吗?请务必关注我并订阅下面的我的简讯以接收任何新内容。想了解更多关于我和我在做什么,请查看我的网站。
2017 年西班牙大数据的 5 个收获
我最近有机会参加 2017 年西班牙大数据大会,这是欧洲关于大数据、人工智能、云技术和数字化转型的三大会议之一。于 2017 年 11 月 16 日、17 日举行。演讲者来自谷歌、优步、亚马逊、脸书、Spotify 和其他顶级公司,讨论范围从最先进的大数据基础设施到深度学习,从区块链到贝叶斯推理。由于会谈是在 4 个平行的轨道上进行的,我将只写一个摘要和我所参加的那些会谈的要点。在文章的最后,你会发现我对这次会议的 5 点看法。
披露者:我是一名数据科学家,主要兴趣是人工智能,其次是 ML 模型服务、大规模数据分析和软件工程。因此,我对我决定参加的会议有偏见的选择。
5 个关键要点
TL;大卫:对于那些喜欢浏览阅读材料,花不超过 1-2 分钟的人来说,这里是从这两天的谈话和对话中获得的 5 个关键点:
- 主动学习(人在循环中)一旦人工智能出现在工人日常任务的最前沿,它就会在这里停留下来
- 强化学习应用在电子游戏上只是冰山一角。我们将很快看到 RL 利用深度学习在生产中应用于许多现实世界的问题。
- 自动机器学习即创建机器学习工具,这些工具可以创建能够解决任务的机器学习模型,这是一个相关的趋势。数据科学家将能够更加敏捷,专注于重复性较低的任务。
- 深度学习正在大量进入时间序列预测。不同工具的混合被证明能够产生很好的结果来对堆叠/多模态信号中的事件进行分类。
- 流似乎是现在数据工程中真正的交易,我们几乎再也听不到关于批处理的消息了。所有的数据管道目前都是围绕流构建的,每个人都在转换或最近转换到 kappa 架构,其中流通常是主要元素/焦点。
第一天
人在循环中:管理团队的设计模式——Paco Nathan(奥莱利学习小组主任)
Paco Nathan 提出了以下(复杂的)研究问题:非 AI 专家能否基于实例而非代码教会机器执行复杂的工作?
在过去的几十年里,大数据(1997 年)+大计算(~2006 年)+大模型(~2009 年)的混合创造了一个人工智能可以集成到真实产品的环境。但是等式中缺少了一个组成部分:人类平等。于是,主动学习 (human on the loop)被引入,概括来说就是半监督学习的一个特例。其背后的基本思想是,当算法对某些预测不太有信心时(即边缘情况),获得人类的帮助。与监督学习相比,主动学习的优势在于前者需要更少的人工标记数据,因为它能够处理路由决策(自动化)。
在媒体领域有一个利基,这个垂直领域不包括尖端的人工智能技术。示例:
- (教程)视频的抄本
- 用人工生成的本体扩充知识。
- 上下文消歧
使用主动学习的公司:CrowdFlower(激活收集数据的人群,以反馈自我报告准确度低于特定阈值的 ML 模型),Stitch Fix(产品个性化),Clara Labs(半自动投标),B12(自动商业设计,仅最后一英里人类)。
基于人在回路的设计模式,人工智能专业知识可能会从销售、营销和客户服务团队中产生,这些团队对客户的需求有着至关重要的见解。
资源:
- nb transom(【https://github.com/ceteri/nbtransom】T2)是一个在 Jupyter 笔记本中编程读/写单元格的工具,它预测了 Jupyter 中即将到来的协作特性。O’Reilly 用于管理机器学习管道的笔记本。
- prodigy(https://prodi.gy/)是一个由主动学习驱动的注释工具,用于帮助标记与实体识别、意图检测或图像分类相关的示例。
外卖理念:
一旦人工智能在工人的日常任务中占据重要位置,主动学习(以人为本)将会继续存在。这并不意味着取代员工,而是借助人类的专业知识来利用人工智能。这就是为什么大团队开始成为大数据+大计算+大模型公式的一部分。
合作愉快:超越 JVM w/Spark 的大数据——Holden Karau,提交人 Apache Spark,Google
魅力四射且广为人知的霍尔登·卡劳吸引了所有人的注意力,他以“我们都应该友好相处,我们都有同样的记忆错误”“这个演讲包含了很多关于猫的图片,如果你不喜欢猫的,那你现在就来错地方了:)”开始。
Holden 分享了对大数据生态系统当前状态的务实观察,以及大多数数据处理工具都构建在 JVM 上,而数据科学库通常用 Python 实现的事实。PySpark 通常被使用,但是它在设计上有一些严重的性能障碍。
那么,如何弥合这两个世界之间的差距呢?Apache Arrow 是目前最有希望将数据从 JVM 中取出的解决方案。其他一些项目,如阿帕奇光束或达斯克也值得关注。
外卖理念:
像我们这样的 PySpark 用户应该密切关注 Apache Arrow,它承诺未来会有性能改进。其次,尽快学会如何使用 Dask。
深度强化学习:星际争霸学习环境——Gema parreo Piqueras,数据科学家,BBVA
gema.parreno.piqueras 的这个演讲是最有趣的一个。不幸的是,所有会谈的时间跨度都是一样的,而且非常有限,在这种情况下,我错过了一个多小时的时间来从展示的项目中获得更多的见解。
作为一个主题介绍,强化学习是一种机器学习算法,它允许软件代理和机器自动确定特定上下文中的理想行为,以最大化其性能。
Gema 强调,代理人自动玩的视频游戏只是概念的简单证明。强化学习有许多日常应用,如试图在人体器官内生存的人工细菌、库存管理中的运输时间减少、制造中关于物体处理的知识等。
我们必须考虑人类和机器的合作
试错法:代理人必须尝试许多行动,并找到优化报酬收集的方法。债权转让问题:一个行为的结果可能不会在该行为之后立即出现。在这类问题中,时间是一个非常重要的因素,因为回报可能在长期出现(需要规划)。
实时决策涉及在开发和探索之间的基本选择,前者旨在根据当前信息做出最佳决策,后者从根本上引入更多数据,帮助代理更好地了解环境。这是一种基本的权衡,因为最好的长期战略可能需要做出短期牺牲。最棒的是:收集足够的信息来做出最好的整体决策。
https://arxiv.org/pdf/1708.04782.pdf
强化学习的目标是通过从环境中学习来最大化一种叫做行为的策略。越深入,策略越大。星际争霸 2 已经作为 RL 环境发布。向代理人提出具有挑战性的政策是非常复杂的。 Atari-net 是第一个基线,是一个简单的架构改编,成功地用于迷你游戏上的 Atari 基准和 DeepMind 实验室环境。由于可以采取大量可能的行动,所以需要使用神经网络。引入了空间政策,这是一种完全不同的范式:不再是“向右走,向上走,做点什么”之类的决策。
https://arxiv.org/pdf/1708.04782.pdf
Gema 为《星际争霸 2》AI workshop 2017(暴雪+ DeepMind)做出了贡献,展示了一个脚本化的代理人,在带有执政官单位的“幻觉 SC2 地图”中运行,以复杂的方式探索地图,并尽可能早地产生幻觉,从而获得了最先进的分数:
有趣的资源:https://github.com/soygema。Gema 正在建立一个关于“pySC2 迷你游戏社区策划列表”的社区。
外卖理念:
视频游戏上的强化学习只是人工智能领域即将到来的第一步。因此,围绕如何提高 agent 在复杂环境中的性能(使用 DL),仍需要做大量的研究。
关系型是新的大数据——米格尔·Á·安吉尔·法哈多和丹尼尔·多明格斯,Geoblink
这个演讲一开始就清晰而全面地回顾了数据库的历史、定理以及我们是如何到达那里的,为什么 NoSQL 出现了,它到底意味着什么,它解决了什么问题。然后认为,由于过去几年在分布 RDBMS 方面所做的改进,SQL 赶上来了,现在是解决与 NoSQL 所解决的同类问题的一个重要的替代方法。Citus 或 PostgresXL 等支持分发 PostgreSQL 的项目是值得考虑的新兴参与者。
作为 FindHotel 的大量 PostgreSQL 用户,尝试其中一种解决方案无疑是我们必须探索的一个想法,以便解决我们当前的扩展问题。
有趣的资源:https://www.citusdata.com/和https://www.postgres-xl.org/
使用 GPU、Kubernetes、Istio 和 TensorFlow 在 AWS 上从头构建 Google 的 ML 引擎——Chris Fregly,PipelineAI 创始人兼研究工程师
PipelineAI 专注于数据科学管道的末端,即将数学模型投入生产。克里斯声称要“逆转将模型投入生产的谷歌云 ML 系统”,为“企业中的每一个实时预测提供标准的运行时间”。他们不是第三方服务,他们可以在任何云系统中部署他们的服务。他们的技术基于现在流行的 Kubernetes 和 istio.io。
Chris Fregly 提出了“生产/服务第一”的思想:从笔记本电脑持续部署。他指出,目前的最新研究可以在这里找到、 TensorFlow Lite 和 Nvidia Tensor-RT 。
根据客户需求的不同,所提出的解决方案是非常多样的,但主要思想是将 bin 烧入 docker 中,这是使模型可执行所需要的一切。这允许很容易地改变运行时类型(GPU 可能没有 CPU 快)。模型可以使用卡夫卡主题的数据。从笔记本直接部署是可能的,加速了团队的迭代时间。回滚是非常容易的。费用也很重要:它们提供了跨云的自动转换(AWS 到 GC,反之亦然),以便在任何时候都能获得最好的交易。
我们发现这是一个热门话题,例如,在 FindHotel,我们正在构建自己的框架来包装我们的数据科学家的 ML 代码,并将其转化为生产就绪的 API。但是,这需要从头开始做大量的工作,我们不具备像 PipelineAI 这样的项目所提供的所有功能和灵活性。
外卖理念:
N 现在,数据科学在实际生产环境中的影响力越来越大,重要的是允许数据科学家比以往任何时候都更快地迭代,通过提供笔记本电脑来一键部署模型,将流量转移到获胜模型,通过在任何给定时刻选择最便宜的云提供商来削减成本,即时查看和监控实时预测,对实时流数据进行无限模型再培训等。
走向生物学似是而非的深度学习——IBM 数据科学家尼古拉·曼切夫
尼古拉致力于人类水平的性能研究。问题是人类的大脑是否像人类一样工作。NNs 的主力是反向传播,但人脑中正在发生完全不同的事情:早期层的突触变化应该取决于下游层的连接。但是没有证据表明这种过程发生在新皮层。“学习过程,就其目前的形式而言,并不是一种合理的学习模式”。
认知科学表明,真正像人类一样学习和思考的机器将不得不超越当前的工程趋势,无论是在学习什么和如何学习方面。尼古拉揭示了赋能 AI 有 3 个主轴:1。建立支持解释和理解的世界因果模型,而不仅仅是解决模式识别问题;2.物理学和心理学直觉理论的基础学习,以支持和丰富所学知识;第三。利用组合性和学会学习来快速获取知识,并将其概括到新的任务和情况中。
有人提出了一些修复方法,从大脑中学习如何改进最先进的神经网络。一些例子是使用多隔室神经元[GLR17] 通过去除突触重量转运[LCTA14] 和来使用局部反向传播。首先,神经网络通常运行在大量的标记数据上,但大脑几乎一直在以无监督的方式学习,并且只需要很少的例子就能很好地概括。其次,知识转移允许使用类似的已知问题的解决方案来解决未知的问题。关于这第二点,已经进行了一些研究,使用 NNs 从玩游戏的人学习短时间,然后允许机器继续玩游戏(也称为模仿演员的方法);结果比深度 Q-网络好得多。**
人工智能在人类很快学会的任务中非常失败的非常有趣的例子:Atari 的冻伤游戏(当需要临时延长计划以确保代理人可以完成子目标时,人工智能有麻烦)和人物挑战(需要大量的例子才能表现良好)。
你可以找到神经科学借用的许多更有趣的机制,如经验回放、工作记忆、高效学习、幻觉、规划等。你应该看看 HKSB17,神经科学启发的人工智能http://www . cell . com/neuron/pdf/s 0896-6273(17)30509-3 . pdf和建造像人一样学习和思考的机器https://arxiv.org/pdf/1604.00289.pdf
外卖理念:
神经科学是理解和帮助人工智能更快发展的关键,反之亦然。理解和模仿人脑背后增强人类知识和学习的机制将激励我们追踪人工智能的未来发展。
大数据,大质量?——Irene gonzálvez 技术产品经理@ Spotify
艾琳讲述了他们如何确保 Spotify 的数据质量,此前她了解到这一“艰难之路”(2015 年一个充满事故的艰难夏天)的重要性。他们达到了 Kafka 和 Hadoop 的极限,数据几乎晚了一天才到达。
在 Spotify,他们将数据质量理解为“在特定环境下服务于其目的的数据”。深入挖掘,高质量的数据具有以下特征:
- 及时:数据在指定的 SLO 中可供使用。
- 正确性:就某些规格而言,数据是正确的。
- 完整性:解决某个业务案例所需的所有数据都是可用的。
- 一致性:不同系统之间的所有数据都是同步的。
Spotify 内部开发了一些工具来处理数据质量:
- DataMon:当数据不符合指定的 SLO 时,向管道所有者和工程师发出警报。它监控端点(保存生成的数据和消费的数据的存储)、组件(元数据、后端、库……)和系统(前两者的组合)。它有助于检测延迟数据的上游依赖性。它提供了有关数据事件、联系人、附加文档等信息
DataMon from Spotify
2.数据计数器:收集来自不同数据处理框架(如数据流或 Hadoop)的指标。这帮助他们迁移到谷歌云。向两个系统添加了指标以检测一致性(两个平台上的数据计数相等)。它可以帮助检测欺诈者(同时播放更多的播放列表)。
Data Counters
3.MetriLab。数据计数器上的规则(如果播放的播放列表增加 X%…)。这个工具允许非常简单的异常检测。他们拒绝使用 ML,因为他们想使用可解释的算法,降低误报率。
Spotify 数据团队的下一步是什么?构建用于异常检测的 algo 库(ML4ALL)。提供“即插即用”更多算法的基础设施。提供调整算法的参数建议。Spotify 端策略:1。使用指标来了解数据集何时符合“良好”质量。2.确定哪些数据集质量好。
外卖创意:
从大处着眼:了解您组织的痛点。从小处着手,从现在开始:学会分清轻重缓急。数据质量不是附加物:洞察力只能和数据一样好。
到 2025 年,数据将增长 10 倍(163 zb/年)。关键数据 20%和超关键数据 10%。
流 SQL 的基础——学会爱上流&表理论——Tyler aki dau,高级软件工程师@ Google
由于 Apache Beam 是我们正在密切关注的项目,并且可能会考虑在某个时候改进我们当前的 kappa 架构,因此我们非常期待这次谈话。
该演示给出了一些有见地的想法,即表和流非常相似,可以互换使用:表是静止的数据,可以转换为流,而流是运动的数据,可以变成表。事实上,这就是发生在 MapReduce 和许多其他数据处理系统中的情况。
Apache Beam 在很大程度上依赖于这一理论来提供一个 SDK,允许您编写一个独特的管道来处理两种模式下的数据:批处理或流。可能不是我们现在可以利用的解决方案,但肯定是我们会关注的项目。
外卖理念:
表和流非常相似,可以互换使用。
懒人数据科学,自动机器学习——Diego Hueltes,Python 工程师@ RavenPack
在本次演讲中, J. Diego Hueltes 介绍了一些工具,帮助数据科学家避免浪费时间和精力做重复性的工作。通常,重复的任务发生在数据清理和模型验证之间。有数以千计的函数和参数需要置换,必须尝试找出它们的最佳组合,使模型得分最大化。有一些工具可以帮助自动化这条管道的一部分,如、 Auto-Sklearn 、Auto-Weka、Machine-JS 和 DataRobot 等等。
Typical ML pipeline
通常,该工具基于遗传算法、贝叶斯优化、元学习和集成模型构建。这些工具还允许指定自定义配置设置,因此由于数据科学家的直觉/先验知识,排列的数量会减少。
基因突变概率基因突变量冠军复制马达噪音回合长度动画质量模拟…
rednuht.org](http://rednuht.org/genetic_walkers)
当然,仍然有很多限制:这些库是非常新的,不稳定的,并且有很多功能仍有待实现。它们运行起来非常昂贵,因为即使它们使用技术来优化尝试的排列数量,它们仍然需要大量的试错迭代来收敛,它们不能并行执行,并且缺乏人类直觉来知道下一步要尝试什么。因此,不建议将大数据集与此工具一起使用,因为执行各种假设检验需要大量时间。
在 FindHotel,我们曾经短暂地尝试过这些工具中的一种。当给定一小部分数据,问题被很好地定义并且数据是干净的(例如 Kaggleish csv)时,它们真的很有帮助。在识别机会时,这种理想的环境与我们相去甚远:我们的数据非常稀疏,我们有大量的数据,在考虑评估者之前,数据清理是必不可少的。我们正密切关注这项技术,因为我们确信,在某个时候,我们将接受它们的使用。
有趣的资源:http://rednuht.org/genetic_walkers/和http://rednuht.org/genetic_cars_2/
外卖理念:
自动机器学习是一个活跃的研究领域,我们可以预见好的项目是开源的。这些工具根本代替不了数据科学家,在大数据集上表现很差。它们还不能并行化。另一方面,他们可以帮助 DS 找到对于一个新问题应该采取的最合适的初始步骤。
第二天:
水终端使用检测的深度学习用例——数据科学研究@ Treelogic 的负责人 Roberto Díaz 和研究员@ Treelogic 的 joséAntonio sánchez
Roberto 和 José Antonio 介绍了一个有趣的挑战,他们使用神经网络来解决这个问题。他们的客户 Canal de Isabel II 是西班牙最大的水分销商,希望了解水的需求,以制定更好的管理政策。计量传感器可以安装在每个设备上,但这将非常昂贵和复杂。该解决方案依赖于安装一个主计量系统(大多数房屋已经有一个),并使用数学模型模拟所有设备的需水量。
Feature Extraction, Treelogic
他们得到的数据来源包括 9 年中 1500 万个小时,总计 3500 万个事件。数据以一种混合的方式被标记:一边是由操作员手动对水事件进行分类,另一边是一种特别的算法。这样做是因为操作员只能在 1 小时内标记 1 周的数据。为了将时间序列水表脉冲转换为事件,他们使用了移动平均数的移动平均数。然后,他们建立了机器学习模型来对这些事件进行分类。对于这项任务,SVM 和神经网络进行了评估。他们不能使用预先训练的网络,因为没有人公开发布过为此目的训练的网络的权重。
从图中可以看出,他们的结论是 NN 在 8 个可能的标签中均优于 SVM。平均而言,对于 1L 精密计数器,SVM 产生 67.41%的准确度,而神经网络具有 81.78%的准确度。对于 0.1L 米,结果分别为 84.78%和 91.19%。
外卖理念:
机器学习和更具体的神经网络可以成功地应用于水需求及其特征的建模,帮助建立更好的管理政策和水消费模式评估。一旦有足够的训练数据,深度学习就可以实现很高的准确性。
Apache MXNet 分布式培训深度讲解— Viacheslav Kovalevskyi,软件开发工程师@亚马逊深度学习
我只会引用这个牛逼的演讲中的一句话:“分布式培训就像并发编程。能不要就不要!”但是,如果您确实需要它,因为您肯定会遇到瓶颈,那么具有多机集群模式的 Apache MXNet 可能是您的解决方案,本演示是一个很好的起点。
Viacheslav Kovalevskyi 介绍了一个培训示例,展示在 AWS 中启动 MXNet 集群并开始解决建模问题是多么容易。给出的示例包括使用具有非常低的学习率参数的线性回归来拟合一行数据点(出于示例的目的),并使用两个工人来分布模型。
Model Parallelism
Data Parallelism
MXNet 仅支持数据并行,有 3 个主要逻辑组件:
- Scheduler:负责启动集群本身并确保集群可以开始训练的逻辑实体。不安排作业,它只是设置群集。
- 工人:存储模型,负责训练模型,并向服务器发送更新。如果我们想使用分布式计算进行训练,则需要 2 个或更多。
- 服务器:又名 PS-lite/kv store/parameter servers…它的主要功能是存储整个模型本身。通常 1 个就足够了,除非模型很大。
How to start a component in MXNet
启动集群的组件之间的通信过程:服务器请求将调度程序添加到集群。调度程序确认收到消息。工作进程请求将调度程序添加到群集。当所有服务器和工作线程都请求添加到集群时,调度程序会确认聚合。每个逻辑实体都说“我已经到达障碍”;当这种情况发生时,意味着所有的组件都准备好了。然后,调度程序会宣布训练可以开始了。训练进行时,调度程序进入睡眠状态。
有趣资源:https://github . com/blog-kovalevskyi-com/distributed _ training _ presentation
外卖理念:
像 MXNet 这样的加速库提供了强大的工具来帮助开发者开发 GPU 和云计算的全部功能。了解集群中组件的基本知识非常重要,尤其是关于参数服务器(也称为 KVStore)的知识。
深度学习时间序列分析的最新进展— 首席数据科学家贾维尔·Ord·奥涅兹
在我看来,这个演讲是今年西班牙大数据大会上最有趣的演讲之一。Javier 展示了他对基于卷积和 LSTM 递归单元的活动识别的通用深度框架的研究。他成功展示了基于卷积和 LSTM 递归层组合的深度架构的优势,以执行可穿戴传感器的活动识别。这个新的框架在日常活动分类的机会数据集上优于以前的结果。
虽然 CNN 可以发现足够的特征,但循环 LSTM 细胞是允许人们区分类似手势并执行比标准 CNN 更好的分割特征的基础。
Architecture of the DeepConvLSTM
与每个片段相关联的类别对应于在该间隔期间已经观察到的手势。F-measure 用于评估模型,并将其与 CNN 基线进行比较。
基线 CNN 方法往往会犯更多的错误,并且很难对手势的边界做出清晰的决定。它很难定义手势的起点和终点。总体而言,建议的 DeepConvLSTM 模型的性能比基准模型高 5%左右。
有趣资源:https://github.com/sussexwearlab/DeepConvLSTM
外卖理念:
CNN 是非常好自动特征创建器,它捕捉特定的显著模式,并充当特征检测器。诸如 LSTM 的递归层可以学习从 CNN 提取的特征的时间动态。因此,深度 CNN 和 LSTMs 之间的混合在多模态时间序列问题(如可穿戴活动识别)中产生了最先进的性能。
您可以在以下 YouTube 播放列表中观看 2017 年西班牙大数据大会上录制的所有演讲:https://goo.gl/DdeQYQ
给我留言如果你有任何意见或者想在马德里喝杯咖啡讨论 AI,如果你想在 Kaggle 合作或者如果你只是想建议我谈谈。
我在中国教深度学习学到的 5 件事
中国是一个充满活力的地方,人工智能正在这里爆发!在 5 分钟内找出我花了 5 年才学会的东西。
在过去的一年里,我领导了 20 多个人工智能研讨会,向工程师们教授人工智能系统的基础知识,并让他们能够实现可用的艺术系统。在中国教书并帮助培养 1000 名工程师的技能是一种奇妙的经历。虽然我可能是老师,但我最终自己学到了很多关于中国人工智能领域的状况。以下是我在中国教书时学到的前五件事。
中国工程师拥有非凡的才能和专业知识
我觉得有一种观点认为中国是山寨之地,许多中国公司和工程师除了抄袭别人之外没有其他技能。这与事实相去甚远。我在中国度过了过去的五年,这么多年过去了,我仍然每天都能见到新的令人惊叹的天才工程师。过去,许多人在大学学习后离开中国去欧洲和美国生活,而现在,他们选择回到中国,或者留在中国令人惊叹的技术大学如清华大学学习。当我第一次开始上课时,我制定了我的教案,这样开始会很慢。上完第一堂课后,我不得不重做一切。中国工程师学得很快,要求我提供更多的例子!最终,我开始教授刚刚出版的艺术论文!
如果你对我的课感兴趣,你可以从我的文章系列 获得一个超精华的概述成为一名机器学习工程师|第二步:挑选一个过程
可用于训练的数据量是巨大的
如果说人工智能是新的电力,那么数据就是为发电厂提供燃料的煤炭。数据是如此重要,我认为这是提高深度学习算法性能的最简单的方法之一,甚至在我的深度学习备忘单中写了它。人工智能的巨大重要性并没有说服所有人。欧洲最近通过了 GDPR,美国也渴望加入他们的行列,制定类似的数据法规。这些法规虽然旨在帮助消费者,但却大大降低了公司和个人构建依赖免费数据访问的人工智能系统的能力。在中国,对数据的限制很少,这导致了数据爆炸。随着越来越多的中国公司开始利用 14 亿人产生的数据,这个问题只会变得更糟。
研究让位于实施
我教的中国工程师在两件事上是平等的。技能和直接实施的愿望。似乎每个人都有自己想要制造的产品的想法,而有些人没有。一些充满渴望的学生已经开始用他们在我的课上学到的东西,使用一些基本的算法和数据集来创建公司,但他们实施的动力意味着他们走在了曲线的前面,并取得了早期的成功。
虽然我的学生似乎有无限的精力将人工智能系统应用到他们的产品中,但很少有学生对实际研究新颖的深度学习系统的想法感到兴奋。这可能是因为大量的资金流入人工智能公司,许多人对艰苦的研究不感兴趣。
需要关于你深度学习策略的建议?和我一起进行 30 分钟的免费咨询(5 美元的报名费将在通话后退还)。通过日历 安排与我的时间
中国政府非常重视人工智能
在我参加培训课程的几个月后,我开始注意到,来自公司的学生数量在我的班级中出现了大幅增长。原来,政府正在拨款帮助支付人工智能实施的培训费用。这让我开始研究中国政府投资人工智能的其他方式。原来他们花了数十亿美元来提高国家的人工智能能力,并将其作为中国制造 2025 计划的核心部分。在这一巨额投资下的人工智能产业在过去一年增长了 67%,产生的专利和研究论文比美国还多。所有这一切都是因为只有美国五分之一的人才。如果到 2030 年他们真的成为人工智能领域的世界领袖,我不会感到惊讶。
信息传播还有很长的路要走
许多关于深度学习和人工智能的信息仍然只能用英语访问,虽然这对我班上的学生来说不是问题,但他们确实花了很多时间讲述朋友的故事,他们缺乏英语技能,使他们很难进入该领域并开始实施。随着越来越多的信息跨越语言障碍,我们可以期待更多有趣的人工智能应用程序来自那些一开始被忽略的应用程序。
为了更容易跨越语言障碍,我正在寻找一个中国合作伙伴,帮我把我的文章和课程带给中国学生。如果你在中国,有兴趣一起工作,请通过Twitter或LinkedIn联系我。
对课堂幻灯片感兴趣?尽可能多的点击下面的按钮!如果我得到足够的掌声,我会准备幻灯片粘贴到媒体。
我在每个 NBA 球员身上训练人工智能模型学到的 5 件事
听起来很容易。只需在 2017 赛季的每个 NBA 球员身上训练一个面部识别模型。但是这真的很有挑战性。以下是我学到的可能会为你节省很多时间的东西。
你需要高质量的面部识别——我当然推荐 Facebox 。它的技术水平和我的测试比任何其他商业面部识别工具都要好,包括大型云供应商(认知服务)。识别一张脸是一回事,但如果你要花一天时间收集每个 NBA 球员的每张照片,你不会希望你的时间浪费在训练一个表现不太好的模型上。
仔细想想你这么做的原因。不是作为一个存在的问题,而是作为对你的用例的一个现实的评估。如果您正在训练一个模型来检测正在踢足球的 NFL 球员,您可能需要三思而行,是否要用他们的脸来训练他们,并且可能需要更多地考虑他们的头盔是如何模糊识别的。当我们训练模型来检测美国政治家时,我们使用他们的官方肖像作为训练集。这很有效,因为在现实生活中,当他们在镜头前或照片中时,他们经常使用与拍摄专业照片时相同的面部表情。而对于 NBA 球员,我注意到比赛镜头中的画面经常会出现一些搞笑的面部表情,这些表情与他们的官方 NBA 肖像如此不同,以至于人脸识别技术可能很难识别他们。
https://i.pinimg.com/originals/f5/29/61/f52961a1ad612b58244b924273f0a6da.jpg
你还会遇到出汗、受伤和很多脸远离镜头的问题。最好获得尽可能多的训练数据来考虑这些用例及场景。我使用了很多实际打篮球的每个球员的照片,这样我就能确保这个模型很好地表现了每个球员在不同场景下的脸。
训练照片的质量。这让我大吃一惊,不幸的是,收集训练集的时间增加了一倍。在我第一次去的时候,为了节省时间和磁盘空间,我为每个玩家提取了照片的缩略图。这些缩略图大约有 11KB。该模型的准确性不是我想要的,我能够跟踪问题到训练照片的文件大小和保真度。我煞费苦心地回去,拉了每个球员的高分辨率照片,文件大小不低于 70KB。这大大提高了模型的准确性,一旦它在这个新的数据集上进行训练。如果我一开始就知道这一点,我可以节省无数的工作时间。
确保你的照片中有一张脸。
https://clutchpoints.com/wp-content/uploads/2017/03/DeMarcus-Cousins.jpg
这听起来可能是显而易见的,但你会惊讶于先进的面部识别模型能够获得什么。在篮球运动中,一些球员最伟大的投篮是在球场上,自然也有其他球员和观众。即使照片的景深只显示了对焦的玩家也是一个问题。失焦的人脸可能仍然会被注册为人脸,当然,模型将不会知道你想教哪张脸。
**数据收集是最难的部分。**像 Machine Box 这样的工具让使用机器学习变得非常容易。这是因为真正困难的部分是收集好的训练数据。你必须像数据科学家一样思考,在某些方面,当开始训练模型时,你必须成为一名数据科学家(尽管是业余的)。你必须考虑你的用例,分析你选择的数据,也许在你花一天时间从网上下载每一个 NBA 球员的照片之前,先做一些测试。
5 种回归类型及其性质
想获得灵感?快来加入我的 超级行情快讯 。😎
线性和逻辑回归通常是人们学习机器学习和数据科学的第一个建模算法。两者都很棒,因为它们易于使用和解释。然而,它们固有的简单性也有一些缺点,在许多情况下,它们并不是回归模型的最佳选择。事实上有几种不同类型的回归,每一种都有自己的优点和缺点。
在本帖中,我们将探讨 5 种最常见的回归算法及其特性。我们很快就会发现,他们中的许多人偏向于在特定类型的情况下和特定类型的数据中工作良好。最后,这篇文章将为你的回归工具箱提供更多的工具,并从整体上给你回归模型更多的洞察力!
线性回归
回归是一种技术,用于建模和分析变量之间的关系,通常是它们如何共同产生特定的结果。线性回归是指完全由线性变量组成的回归模型。从简单的例子开始,单变量线性回归是一种使用线性模型(即直线)对单个输入自变量(特征变量)和输出因变量之间的关系进行建模的技术。
更一般的情况是多变量线性回归,其中为多个独立输入变量(特征变量)和一个输出因变量之间的关系创建模型。该模型保持线性,因为输出是输入变量的线性组合。我们可以按如下方式建立多变量线性回归模型:
Y = a1 * x1+a2 * x2+a3 * x3……a_nX_n + b*
其中 a_n 为系数, X_n 为变量, b 为偏差。正如我们所看到的,这个函数不包含任何非线性,因此只适合于建模线性可分的数据。这很容易理解,因为我们只是使用系数权重 a_n 来加权每个特征变量 X_n 的重要性。我们使用随机梯度下降(SGD)来确定这些权重 a_n 和偏差 b 。查看下图,获得更直观的图片!
Illustration of how Gradient Descent find the optimal parameters for a Linear Regression
关于线性回归的几个要点:
- 快速且易于建模,当要建模的关系不是非常复杂并且您没有大量数据时尤其有用。
- 非常直观的理解和解读。
- 线性回归对异常值非常敏感。
多项式回归
当我们想要创建一个适合处理非线性可分数据的模型时,我们需要使用多项式回归。在这种回归技术中,最佳拟合线不是直线。而是一条符合数据点的曲线。对于多项式回归,一些自变量的幂大于 1。例如,我们可以有这样的东西:
y = a1 * x1+(a2)* x2+(a_3)⁴x_3……)。a_nX_n + b
我们可以让一些变量有指数,另一些没有,也可以为每个变量选择我们想要的确切指数。然而,选择每个变量的确切指数自然需要了解数据与输出之间的关系。有关线性回归和多项式回归的直观比较,请参见下图。
Linear vs Polynomial Regression with data that is non-linearly separable
关于多项式回归的几个要点:
- 能够对非线性可分离数据建模;线性回归做不到这一点。一般来说,它更加灵活,可以模拟一些相当复杂的关系。
- 完全控制特征变量的建模(设置哪个指数)。
- 需要精心设计。需要一些数据知识,以便选择最佳指数。
- 如果指数选择不当,容易过度拟合。
里脊回归
在特征变量之间存在高度共线性的情况下,标准线性或多项式回归将会失败。共线性是独立变量之间存在近似线性的关系。高度共线性的存在可以通过几种不同的方法来确定:
- 回归系数并不显著,即使理论上该变量应该与 y 高度相关
- 添加或删除 X 特征变量时,回归系数会发生显著变化。
- 您的 X 特征变量具有高度的成对相关性(检查相关性矩阵)。
我们可以先看看标准线性回归的优化函数,以了解岭回归是如何帮助我们的:
min || Xw - y ||
其中 X 代表特征变量, w 代表权重, y 代表地面真实值。岭回归是一种补救措施,用于减轻模型中回归预测变量之间的共线性。共线性是一种现象,在这种现象中,多元回归模型中的一个特征变量可以通过其他特征变量以相当高的准确度进行线性预测。由于特征变量以这种方式如此相关,最终的回归模型在其近似中是非常受限和严格的,即它具有高方差。
为了缓解这一问题,岭回归为变量增加了一个小的平方偏差因子:
最小|| Xw — y || + z|| w ||
这种平方偏差因子使特征可变系数远离这种刚性,将少量偏差引入到模型中,但极大地减少了方差。
关于岭回归的几个要点:
- 该回归的假设与最小二乘回归相同,只是不假设正态性。
- 它缩小了系数的值,但没有达到零,这表明没有特征选择特征
套索回归
套索回归与岭回归非常相似,因为两种技术有相同的前提。我们再次向回归优化函数添加了一个偏置项,以减少共线性的影响,从而减少模型方差。但是,lasso 没有使用像岭回归这样的平方偏差,而是使用绝对值偏差:
min || Xw — y || + z|| w ||
岭回归和套索回归之间存在一些差异,这些差异本质上可以追溯到 L2 正则化和 L1 正则化的属性差异:
- 内置的特征选择:经常被认为是 L1 规范的一个有用的属性,而 L2 规范没有。这实际上是 L1 范数的结果,它倾向于产生稀疏系数。例如,假设模型有 100 个系数,但其中只有 10 个具有非零系数,这实际上是说“其他 90 个预测器在预测目标值时是无用的”。L2 范数产生非稀疏系数,所以不具有这个性质。因此,可以说套索回归是一种“参数选择”,因为未被选择的特征变量的总权重为 0。
- 稀疏性:指一个矩阵(或向量)中只有极少数的元素是非零的。L1 范数具有产生许多具有零值或非常小的值的系数以及很少的大系数的性质。这连接到 Lasso 执行一种特征选择的前一点。
- 计算效率:L1-诺姆没有解析解,但 L2-诺姆有。这允许高效地计算 L2 范数解。然而,L1 范数解确实具有稀疏特性,这允许它与稀疏算法一起使用,这使得计算在计算上更有效。
弹性网络回归
ElasticNet 是套索和脊回归技术的混合。它同时使用 L1 和 L2 正则化,并具有这两种技术的效果:
min | | Xw—y | |+z _ 1 | | w | |+z _ 2 | | w | | |
在套索和脊之间进行权衡的一个实际优势是,它允许弹性网在旋转下继承脊的一些稳定性。
关于 ElasticNet 回归的几个要点:
- 在变量高度相关的情况下,它鼓励群体效应,而不是像 Lasso 一样将一些变量置零。
- 所选变量的数量没有限制。
结论
你有它!5 种常见的回归类型及其性质。所有这些回归正则化方法(Lasso、Ridge 和 ElasticNet)在数据集中变量之间存在高维度和多重共线性的情况下都能很好地工作。我希望你喜欢这篇文章,并学到一些新的有用的东西。