TowardsDataScience 博客中文翻译 2019(三百六十七)

原文:TowardsDataScience Blog

协议:CC BY-NC-SA 4.0

没有智能储能,就没有快速(足够)的能量转换!

原文:https://towardsdatascience.com/no-fast-enough-energy-transition-without-intelligent-energy-storage-72cfbd3c096b?source=collection_archive---------25-----------------------

人工智能和能量存储快速需要强耦合,以便针对激烈的气候变化与可再生能源进行有效过渡

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Credit: Photo by Adrian Schwarz on Unsplash

AI 现在越来越多的用于市场(数据)分析,用于政治预测或者用于无人驾驶汽车运营等。这可能在政治上,经济上,甚至科学上都很有趣,但是我们在更危急的情况下需要人工智能。在人类无法独自解决的挑战中,我们正面临着全球性的威胁。无论是与医疗“对抗”(疫情病毒或癌症扩散),还是增加我们金融系统的弹性或稳健性,或是预测风暴或恶劣天气事件。人工智能就像是我们大脑的延伸,我们需要它来帮助我们。

但是有一个挑战压倒了我们,那就是气候变化。而且它发生的速度比我们想象的要快得多!因此,我们需要在人工智能和能量存储之间建立密切的关系,以确保所需的能量转换跟上全球变暖加速的步伐。

[## 气候危机引发了激烈的争论。只有激进的措施才会奏效

全球变暖将要求我们的生活方式发生巨大变化

www.theguardian.com](https://www.theguardian.com/environment/2019/may/18/climate-crisis-heat-is-on-global-heating-four-degrees-2100-change-way-we-live) 外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Credit: Photo by h heyerlein on Unsplash

人工智能,服务于能源转型?

虽然人工智能多年来一直在能源领域取得进展,但许多人担心,有一天,它可能会妨碍人类日常生活中的行为。这些恐惧激发了许多像《黑客帝国》这样的电影。它令人着迷,但也令人恐惧,几乎令人恐惧!

但是今天,这些恐惧有了新的转变,它们来自另一个根源。一些报告显示,62%的全球温室气体排放(GHG)直接或间接归因于材料和能源的提取和加工,这些材料和能源构成了我们的消费产品、服务和生计,它们在很大程度上依赖于“所谓的”无限资源。

[## 格陵兰岛的冰盖在不断扩大。现在,它正以惊人的速度下滑

格陵兰冰盖的融化速度是 20 世纪 80 年代的 6 倍。所有的融水都直接抬高了…

www.livescience.com](https://www.livescience.com/65302-greenland-ice-melting-so-much-faster.html?jwsource=cl)

为了对抗这种 GHG 污染,有必要彻底审查我们的经济和消费模式,重新思考我们的产品(生命周期、生产、寿命终止)或能源来源和分配。这一次,随着对人工智能在某些领域的重要性的理解,我们可以将其视为解决方案,而不是可怕的事情。在能量转换中尤其如此。人工智能简化了这种高度复杂的过渡,尤其是节省了宝贵的时间!

不管怎样,如果我们不改变解决问题的方式和方法,那不仅仅是一场对抗气候变化的战斗,而是一场战争。从各方面来看,我们都处于弱势。一个主要原因是能量转换的速度(有点)慢。我们无法满足能源需求。这就是为什么人工智能如果使用得当,可以增强我们应对这一威胁的能力。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Credit: Intelligent Energy Storage (CC BY-NC-SA 2.0), © Smart Phases Inc. (DBA Novacab) https://flic.kr/p/2eJYwpE

能源转换的长期性

温室效应和气候变化的长期、复杂动态,化石燃料长达几个世纪的路径依赖、持续使用或路径依赖,锁定战略,现有能源行为者和机构的应对和不稳定,甚至公平和正义问题,都是许多相关挑战的基础,并增加了国家和全球(公共或私人)治理解决这些挑战的难度。

因此,历史专业知识可能会增强我们的理解,许多研究表明,摆脱当前的全球能源系统是至关重要的,包括牛津大学的 SovacoolGrubler 令人信服地写道,“下一次能源过渡的必要性是显而易见的,因为当前的能源系统在社会、经济和环境标准的所有方面都是不可持续的”。芙凯曾指出

“能源转换相对罕见且旷日持久的性质意味着,从历史经验中寻找未来可能如何发展的教训至关重要。”

此外,通常情况下,转型会持续很长时间或比预期的时间更长(“持久”的性质),他概述说,这里观察到的最快的历史能源转型是三十年(在特定部门的情况下)。一个特定部门需要 30 年,而涉及所有部门和服务的全面(或大规模)能源转型需要更长的时间。在气候变化不可逆转地超过 1.5-2.0 摄氏度的门槛之前,我们没有足够的时间来应对气候变化。

[## 联合国警告说,我们有 12 年的时间来限制气候变化灾难

IPCC 称,迫切需要改变以降低极端高温、干旱、洪水和贫困的风险

www.theguardian.com](https://www.theguardian.com/environment/2018/oct/08/global-warming-must-not-exceed-15c-warns-landmark-un-report)

能源转换历史研究确定的几个问题领域,提出了关于能源转换的性质、多样性和复杂性的知识发展的重要而棘手的问题。它们包括许多种“小调”和“大调”(或“大”)转场之间的区别。这对我们理解过渡的规模、速度、持续时间、平滑度和(不)连续性或其他“特殊”属性的能力,以及对我们指导或管理它们的能力,都是很重要的。事实上,研究表明,能源服务的价格在创造刺激能源转型的激励措施方面发挥了至关重要的作用。但另一个关键因素是新技术是否为消费者提供了新的价值特征,即使初始价格更高,这也有助于创造一个市场。相反,可能推迟转型的一个关键因素是现有行业和衰落行业的反应。然而,政府已经,在几个(只是几个!)的例子,创造了监管环境,以刺激能源向低污染能源的过渡。是的,这可以再做一次,但前提是政治意愿与替代能源项目同时存在。

人工智能和专家系统的巧妙结合

智能人工智能和可再生能源储能的巧妙结合可能会起到催化剂的作用,刺激导致某些能源转换的过程。过去的能源转型对衰落的现有产业产生了重大影响,但也改善了能源独立、经济转型甚至不平等。这就是我们需要用创新的理论和方法,以可持续发展的方式在更大范围内复制的东西。

根据颇具影响力的可持续发展转型研究网络的研究议程,该领域的研究认识到,许多环境问题需要在人类活动和社会的关键领域进行深刻的结构性变革,包括能源系统。它断言,一个密钥:

“可持续发展面临的挑战是,现有系统往往很难被‘驱逐’,因为它们被各种锁定过程所稳定,导致路径依赖型发展和‘陷阱’”。

能源电网的转型、新服务的出现、新参与者: prosummersconsumer ’ actors以及自我消费等新模式,改变了电网本身的运营要求和约束,并对日益庞大的数据进行管理,如果不求助于人工智能,这些数据将无法工作。智能电网这个术语已经出现了很多年。它承诺电网将适应新的用途,更有弹性,更高效,一言以蔽之:智能。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Credit: Intelligent Power Generation Control (CC BY-NC-SA 2.0), © Smart Phases Inc. (DBA Novacab) https://flic.kr/p/Sbb1K4

踢(AI)轮胎!

理解指数增长潜力的另一种方法是用现在可用的多种方法之一来实践这项技术。你无法想象它是如何在数量惊人的主题上工作的,以及这个生态系统如何真正感觉像一群拓荒者在清理土地,等待被征服。你必须触摸它,尝试它,踢轮胎!就在几年前,在我的领域,在能源领域,通过储能或人工智能获得的收益似乎是无法实现的。你现在可以找到许多有效使用人工智能的用法和技术。所有这一切都取决于有能力塑造这些算法。因为,我们经常考虑人类的教育,但是人工智能的无限学习曲线。我们更喜欢务实和具体的方法,在前进的时候让我们慢下来。这种人工智能的能源转换就像 30 年前在商业中使用计算机和数据库一样重要。

世界上有很多这样的例子。这一术语不仅适用于电力,它还被称为智能燃气电网、智能水电网、智能区域供热甚至智能工厂网络或电网,所有规模的电网都受到关注。然而,特别是在今天,智能电网是没有真正学习能力的自动化网络,这是掺有人工智能的真正智能网络的前提。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Credit: AlphaGo Zero: Learning from scratch, © DeepMind Technologies Limited https://buff.ly/2vcRdDK

如果我们将这些智能电网的人工智能成熟度与人工智能游戏的成熟度进行比较,我们目前更接近于 IBM 象棋游戏人工智能( DeepBlue ,1997),而不是谷歌围棋游戏(deep mind 博客中的 AlphaGo Zero 或自然界中的 alpha Go Zero,2017)。可以看看 alpha go“The Film”踢踢轮胎!亲眼看看人工智能学习曲线的一个例子。

日益增加的复杂性

你可以想象这样一个智能工具在能源领域会产生什么样的影响。在部署中,智能储能( IES )的集成甚至更早。具体而言,智能电网和储能的“真正智能”集成所面临的挑战是应对能源消费者和生产者的新需求,以及他们的状态和运营所需的大量数据。直接影响是能源网络的复杂性急剧增加。复杂性的增加是个好消息!它告诉我们,我们正在进行或实现我们的能量转换。

真的开始了,但还没实现。这种转变导致了几次破裂。以我将在本文中重点讨论的电网为例,我知道它适用于上述所有其他类型的智能电网。第一次颠覆是从分层不对称网格向一组分布式动态网格的转变。我们从发电厂生产能源并分配给消费者的模式转向每个人都可以自己或在社区内生产、消费、销售、购买甚至自我消费的模式。简而言之,新的网络模型是一个动态的分布式模型,其中每个人都可以是个人、城市、个人或城市的社区、行业或中心。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Peak shaving, load shifting, valley filling, conservation while the total load is growing

第二次破裂是从变化很小的接近恒定的生产转变为与可再生能源(ENR)和必要的能源储存相关的大量间歇和致命的生产。

第三个是电网运营商对电网的部分失控,原因是出现了有自己平衡逻辑的新用途:电动汽车、自耗社区等。这一切都需要完成,同时还需要调峰、移载、填谷、节能,因为总负荷仍在增长。这导致了电网结构的流量和孤岛的出现,矛盾地加强了平衡全球网络的需要。

天才工具

有些人正在用一种简单的方式来定义人工智能是“能够以相关的方式学习和决定的软件”。其他人会说它是“一套开发复杂计算机程序的理论和技术,能够模拟人类智能的某些特征(推理、学习……)”去年一月在达沃斯举行的世界经济论坛讨论了不同的主题(参考文献。EnergyVoice )包括人工智能在真正目的驱动的技术开发中的能源转换中的用途。有人解释说,人工智能可以促进产品的生态设计,更好地将可再生能源纳入能源组合,简化新商业模式的开发,新商业模式的设计将更加节能,特别是管理(和减少)大规模的各种废物。人工智能可以允许快速发展有利于能源转型的可实现的循环经济,而且有紧迫性!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Credit: Realizing the Energy Transition (CC BY-NC-SA 2.0), © World Economic Forum / Ciaran McCrickard https://flic.kr/p/2dgYGyN

而且,它可以帮助应对最大的挑战,并确保扩大规模是可以实现的。引领低碳能源转型所需的复杂技术网络需要能够扩大规模,以适应全球需求。这方面最突出的例子之一是大规模和长期的能量储存。具体来说,人工智能会在关联数据之前快速计算出许多数据,从而使它们变得可用。

现在几乎每个人都清楚,人工智能本身不是一个简单的话题,而是一个影响每个可以想象的领域的天才工具。将能量存储与 AI(智能能量存储)进行优化集成,以高效地执行清洁能源的能量转换是一条自然的前进道路。这将“扰乱”传统方式,但这种结合有可能解决最大的(指数级增长的)挑战。解释组合工具这种指数能力的一种方式是,随着世界变得日益复杂,人工智能算法在处理高度复杂和非线性的情况时极其有效。没有从 IES 中获得的优化,能量转换不能做得又好又快,返回不再是一个选项!在“组合效应中,工业企业还可以帮助满足偏远地区的某些短缺,从而减少地域不平等。

因此,IES 是一种新的解决方案,既能减少我们对环境的影响,又能将可持续发展完美地融入全球经济。

快速可靠地控制能源消耗和生产

因此,人工智能可以适应电力行业的许多行业,如果不是所有行业的话。但是这是怎么回事呢?当用于生产或能源消耗时,人工智能可以通过传感器工作,这些传感器安装在控制系统中。这些传感器可以分析任何数据,例如温度、振动或流量。

这允许数据的实时处理。由于这一点,系统的异常或故障检测和支持更快。一旦问题突出,有缺陷的系统或设备可以被替换,这最大限度地提高了能源效率,同时避免浪费(例如:蒸汽管线泄漏或太阳能电池板或存储模块间歇性故障)。

很快,人工智能甚至能够检测微弱的信号,分析组件的过时情况,并在醒来时推荐它!系统的维护将得到优化,生产不会中断。

简而言之,人工智能代表了更好地考虑能源过渡的真正解决方案。它的主要优点是:它适用于不同的行业。此外,想法融合推动它,使它总是更优。

电网现代化战略的工业工程

IES 可以帮助运营商或监管机构建立多年的转型电网现代化计划。重点是能力建设,从增强态势感知到部署智能基础设施。工业工程师确保大规模和分布式可再生能源的整合以及成为客户未来的电网是未来战略的核心原则。这是一个复杂的集成计划,包括分析、客户授权、DER 和批量可再生能源管理、集成系统、网络自动化以及物理和网络安全。因此,对于智能电网部署,ie 应该从一开始就存在。这意味着探索互联客户市场,交易能源的未来可能会是什么样子,以及像纽约州改革能源愿景或加利福尼亚州 AB 2868 这样的创新监管是否会对其他管辖区产生影响。

[## 改革能源愿景(修订版)

改革能源愿景(REV)是州长科莫为纽约州制定的全面能源战略。REV 帮助消费者…

rev.ny.gov](https://rev.ny.gov/)

通过严格的假设、敏感性和情景分析,人工智能为公用事业开发商业案例,以确保对新技术的投资得到优化和加速,并确保为未来的可再生能源项目很好地整合了能源存储。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Credit: Optimizing power generation with Hybrid Energy Storage and AI (CC BY-NC-SA 2.0), © Smart Phases Inc. (DBA Novacab), https://flic.kr/p/SbanLV

2018 年,法国议会议员、著名数学家塞德里克·维拉尼(Cédric Villani)提交了一份议会报告,严肃地命名为 ,赋予人工智能 一种意义。在一个由七名专家组成的团队的包围下,他质疑了法国和欧洲在人工智能方面的战略:

“像许多在 20 世纪 90 年代开始职业生涯的数学家一样,我深深低估了人工智能的影响,在那个时候,人工智能最终给出了很少的结果,……在 2010 年代见证其性能的惊人改善是多么令人惊讶。[……]此外,近年来,没有人能够逃避这个主题的多样性,因此他在经济和社会讨论中变得无处不在,”Cédric Villani 在他的前言中说。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Credit: Photo by Steve Halama on Unsplash

在全球减少碳足迹的优先目标方面,报告建议将人工智能的努力集中在两个领域:优化运输模式和向更合理和污染更少的农业过渡。

怎么会?维拉尼甚至提出了一项行业政策,这将产生不可忽视的质量效应,并构成能源转型的一大进步。与此同时,不要忘记对接收这些特殊工具的数据中心产生的热量进行系统化回收!因为有了明天的人工智能,任何东西都不会再丢失了。

好的一面是,人工智能和能源存储也带来了生态和能源转型方面的一整套解决方案。2018 年议员维拉尼的报告补充道:

“人工智能为理解和保护环境开辟了全新的视角。无论是在识别和保护生物多样性、修复损害、模拟我们行动的影响、优化资源利用、开发可再生能源方面,人工智能都可以帮助减少我们的所有消耗,并放大我们的所有行动。”

这是一个好消息,但我们不能等待政策开始将这些创新技术整合到我们的电网中,无论是大电网还是小电网。这也将极大地有助于在日益增加的(强度和发生率)风暴、火灾、干旱、洪水和其他气候变化影响面前快速提高电网的弹性;不仅改善二氧化碳排放,还改善能源效率、独立性和响应能力,尤其是在偏远社区。能量转换需要尽快进行。现在是我们“奋力”建设未来的时候了。

所以,热身你的生物神经元吧!

前方可能会有一场“快速而激烈”的能量转换!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Photo by toine Garnier on Unsplash


这篇文章是荷兰国际集团的夏羽·比洛多关于人工智能和能量储存的系列文章的一部分。工程博士,对外经济合作中心。智能阶段首席技术官( Novacab )、加拿大工程师协会会员能源中心专家撰稿人。

您可以在此找到其他文章:

[## 人工智能在一个“别无选择,只能让它聪明”的能源行业!

可再生能源的繁荣对电力部门来说是一个很好的机会&用聪明的方式对抗气候变化…

towardsdatascience.com](/artificial-intelligence-in-a-no-choice-but-to-get-it-smart-energy-industry-1bd1396a87f8) [## 组合效应对抗蝴蝶效应

人工智能促进储能,为可再生能源提供弹性和效率…

towardsdatascience.com](/the-combo-effect-against-the-butterfly-effect-bf7dd7a507a0)

没有人能打败 AlphaGo,这是一件好事

原文:https://towardsdatascience.com/no-human-can-beat-alphago-so-what-3401b40fa0f0?source=collection_archive---------17-----------------------

为什么围棋大师李世石不应该为输给 AlphaGo 感到遗憾

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Photo from Netflix

韩国围棋大师李时斗最近宣布退出职业围棋比赛。原因?他觉得无论自己怎么努力,都赢不了 AlphaGo 这样的 AI 围棋手。这是他在与谷歌 DeepMind 的 AlphaGo 的竞争中历史性失败的一个相当可悲的决定和发展。这给了整件事情一个更戏剧性的基调。然而,人类围棋选手输给 AI,对围棋比赛和人类棋手来说,都不是世界末日。恰恰相反,我认为这可能意味着围棋游戏的一个全新篇章,也是我们回到围棋游戏发明初衷的一个机会。

AlphaGo 对李时斗

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Photo from androidheadlines.com

F 或者那些不熟悉发生的事情,据维基:

AlphaGo 对 Lee Sedol ,也被称为谷歌 DeepMind 挑战赛,是 18 届世界冠军 Lee SedolAlphaGo 之间的五局围棋比赛,AlphaGo 是由谷歌 DeepMind 开发的计算机围棋程序,于 2016 年 3 月 9 日至 15 日在韩国首尔进行 AlphaGo 赢了除了第四局以外的所有比赛;【1】所有比赛都是靠辞职赢的。这场比赛被拿来与 1997 年深蓝和加里·卡斯帕罗夫的历史性比赛相比较。—维基百科

除了看似戏剧性的失败,李时斗实际上是唯一一个真正打败 AlphaGo 的人类棋手,即使只有一场比赛。但这次失败深深伤害了这位人类围棋大师的信心,他在首尔接受韩联社采访时说:

“随着人工智能在围棋比赛中的首次亮相,我意识到即使我通过疯狂的努力成为第一,我也没有达到顶峰,”李说。“就算我成为第一,也有一个实体是无法被打败的,”

为了纪念他的退役,他计划与韩国 NHN 娱乐公司开发的另一名人工智能围棋手 HanDol 进行比赛,Han dol 已经击败了 5 名韩国顶级围棋手。

那么,如何看待所有这些呢?这是否意味着围棋手不再有价值,因为人工智能已经可以做得更好了?既然人类永远赢不了机器,围棋就不值得玩吗?这是否意味着人类智慧的终结和人工智能统治人类的开始?答案是一个响亮的不,但要问为什么,我们需要回到最初的围棋比赛。

围棋游戏的起源

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Go is a very ancient game. It’s said that Emperor Yao(尧) of ancient China invented the Go game to teach his naughty son. His son DanZhu(丹朱) was very combative, yet refused to read any book his parents throw his way. How do you talk sense into this kind of kid? Well, entice him to play games of course! It turns out, DanZhu enjoyed the Go game very much. The competitive nature of the game plays into his combative personality, yet to win consistently, he needs to be more patient, smart and strategic. So he gradually learned all these and his parents were much happier. It’s a rather old and simplified story, but it tells one thing: Go is not created to see who is the best, it is created for educational purposes. I’ve learned to play Go when I was 12 years old and I still remembered our teacher telling us:

“要赢得围棋比赛,你需要擅长计算当前的棋步,同时也要考虑长远。你需要积累一些小的优势,但永远不要忘记大局。你需要足够的勇气在需要的时候打一场漂亮的仗,但如果你知道你赢不了,也不要太鲁莽。当你落后时,你需要有耐心等待最佳出击时机。当你领先时,不自满和犯错就更难了。做到这些,你就可以开始在围棋比赛中竞争了”

这个游戏有如此多的深度和如此高的“技能上限”,没有人可以声称他已经掌握了它。据说那是天堂里的人玩的游戏。抛开神话不谈,围棋作为一种游戏,绝对可以塑造一个人的性格,磨砺他的心智,强化他的意志。所有这些都比赢得比赛本身更有价值。

围棋是一种交流方式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

There is an old saying in Chinese that goes “a person’s Go game style echos his personality(棋如其人)”. It’s easy to hide one’s true nature under well-organized words, but it’s much harder to hide when you’re in a fiercely played game. Go game used to be part of the interview process when ancient Chinese emperors hire his officers. It’s also a way to communicate. Since it’s very popular in ancient China, anyone knows how to read knows how to play Go. Engaging in a healthy competitive Go game is the fastest way to know another person. From your opponent’s playstyle, you’ll quickly know what kind of person he is. Is he conservative and not taking any risks? Is he used to follow some textbook moves or like to think out-of-the-box? After several games, no matter who wins or loses, you’ll know.

人类在围棋上被 AI 打败,没什么大不了的

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

So the million-dollar question is: Does human beaten by AI on Go game change any of the above traits of the game? The answer is obviously no. People can still use Go to cultivate their brain and will. Making friends and finding respect for opponents. It is still a fun game with tons of depth. Winning is not all that important. There is a saying in Go community that goes “A game with a heavy reward can never generate beautiful and brilliant matches(争棋无名局)”. This means if people care too much about winning, their creativity will get surpassed and they will all play safe, resulting in very boring games.

没错,人类现在连赢围棋都不如 AI,但这有什么大不了的?有些事情人类做得更好,有些事情计算机做得更好。事实上,有很多事情电脑比人类做得更好。计算数字,处理信息,不犯错误。我很少看到有人心情不好说“ OMG,我再也不做数学了,因为我的电脑比我好!“人们只是说,“好吧,计算机在计算数字上比我们强。太好了。让我们用它来做脏活,让我们专注于发明新的更强大的算法。对吗?事实上,这正是导致 AI 发明并最终导致 AlphaGo 诞生的原因。围棋游戏也不例外。如果我们停止“人工智能对人类的心态,拥抱“人工智能为人类工作”的理念,那么新的巨大可能性将会出现。

人工智能围棋的未来将是光明的

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Ke Jie, Photo from Sohu.com

Lee Se-dol 的故事可能有点悲伤,但与 AlphaGo 有关的另一个故事完全是另一种风格。在中国职业比赛中排名第一的中国年轻围棋大师柯洁也与 AlphaGo 进行了一场三局比赛,输得很惨。三场比赛都输了,他毫无胜算。他的反应是什么?他显然对他强大的机器对手心存敬畏,但同时,他很好奇,非常好奇。他说,与 AlphaGo 对弈感觉就像打开了另一个完全不同的世界的大门。AlphaGo 玩游戏的方式不像他以前遇到的任何事情,他已经是一名经验丰富的球员,并在中国和国外赢得了大量奖项。然后,他彻底研究了他输掉的三场比赛,试图从中吸取教训,并从中成长。你知道后来发生了什么吗?他在职业比赛中取得了令人兴奋的 12 连胜,击败了路上的每一个对手。

不同的心态导致不同的结果。相似的输球游戏,不同的玩家,不同的结果,让我们思考。也许输给 AI 并不是一件坏事。我们人类总是最善于从过去的错误中学习,变得更好。

适应和成长,学习和创造,这是人类肯定能比计算机做得更好的事情,只有天空才是极限。

一切都是可能的

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Photo by Dominik Schröder on Unsplash

自从我们改变了心态,围棋手可以做很多事情。

首先,也许李时斗先生可以加入一个人工智能团队,尝试帮助开发一种可以击败 AlphaGo 的新算法。他已经计划玩“HanDol”人工智能,也许在未来,他可以建立一个“人工智能围棋联盟”,并通过击败 AlphaGo 来复仇,他帮助开发了一个名为“Se-dol Go”的新人工智能棋手。

或者,柯洁先生可以利用他从 AlphaGo 中学到的知识,帮助开发一个基于人工智能的围棋训练系统,以提高人类棋手的游戏水平。用 AI 做测试工具,探索验证。

也许人工智能社区和围棋社区应该合作开发不同风格的人工智能围棋选手,并让他们在一个联盟中比赛,我们可能会看到许多漂亮的游戏,并推进围棋游戏理论。

当 AI 和人类一起工作时,只有天空才是极限。

觉得这篇文章有用?在 Medium 上关注我(李立伟)或者你可以在 Twitter @lymenlee 或者我的博客网站【wayofnumbers.com】T4 上找到我。你也可以看看我下面最受欢迎的文章!

[## “这是 CS50”:开始数据科学教育的愉快方式

为什么 CS50 特别适合巩固你的软件工程基础

towardsdatascience.com](/this-is-cs50-a-pleasant-way-to-kick-off-your-data-science-education-d6075a6e761a) [## 一枚硬币的两面:杰瑞米·霍华德的 fast.ai vs 吴恩达的 deeplearning.ai

如何不通过同时参加 fast.ai 和 deeplearning.ai 课程来“过度适应”你的人工智能学习

towardsdatascience.com](/two-sides-of-the-same-coin-fast-ai-vs-deeplearning-ai-b67e9ec32133) [## 你需要了解网飞的“朱庇特黑仔”:冰穴📖

是时候让 Jupyter 笔记本有个有价值的竞争对手了

towardsdatascience.com](/what-you-need-to-know-about-netflixs-jupyter-killer-polynote-dbe7106145f5)

没有基础研究就没有创新

原文:https://towardsdatascience.com/no-innovations-without-fundamental-research-cdb4b2b5df37?source=collection_archive---------36-----------------------

如今数学无处不在。但是,为什么资助纯数学研究对任何经济的创新都是必要的呢?下面是我脚踏实地的解释。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.什么是数学,它研究什么?

数学经常被认为是深奥的。许多人不知道职业数学家真正做什么,也不知道数学中是否还有什么有待发现的东西。我将尝试解决下面的第一个问题。第二个问题的答案是:不,数学是无限的,总会有东西被发现(你可以从数学上证明)。

数学的来源在历史上在于两个领域:几何和数论。我们每个人都在学校学过几何:计算三角形、正方形、圆形等的面积。问题是这种几何学是几百年前人们做的。目前,几何已经采用了如此复杂的形式,以至于试图在一篇短文中解释它会错过目标(简言之,现代几何通过观察它们的形状和动力学来研究复杂的几何对象。Etale 上同调、栈、层、方案——这些都是数学术语。另一方面,我们有数论,它着重于研究自然数:1,2,3,4,…每个自然数都可以表示为质数的乘积:2,3,5,7,11,…,即只能被自身和 1 整除的数。

经过三千年的发展,素数及其研究仍然在现代数学中发挥着主要作用。它们也被用于工业——由于对质数的研究,我们可以安全地在网上购物,而不用担心我们的数据。了解非常大的素数有助于数据加密。数字是计算机的母语。

在数学中,人们通过给出证明来确保给定的陈述是正确的。简单来说,证明是一系列逻辑句子,以确定性(公理)开始,并导致所需假设的推导。例如,我们可以问是否有无穷多个质数。这是真的;证据很短。然而,一个稍微复杂一点的问题——是否存在无限多对差为 2 的素数(我们称这样的素数为“孪生”),比如 3 和 5、5 和 7、11 和 13、17 和 19——直到今天仍然没有证明。数学家们认为这是真的,但是还没有人能够找到一个论证来证明这种说法。

直到 2013 年,张一堂才取得了突破,尽管这是对孪生素数理解的一大进步,但仍然无法完全回答这个问题。数学是活的。现在有很多数学家解决不了的问题。有新的答案,但也有新的问题,因为每一个被证实的说法都开启了新的可能性。

2.数学研究是什么样子的?

纯抽象数学的研究主要在于阅读和思考。假设我对一个公开的问题感兴趣——就像我上面描述的关于素数对的问题。我该如何证明呢?第一步是了解到目前为止关于这个问题的所有知识。我会阅读并试图理解解决这个问题的最新数学文章。正如我所说的,数学家现在无法解决它,所以我不会在任何地方找到证明,而只会找到可能接近结果的结果。例如,张证明了存在某个数 N,使得存在无穷多对最多相差 N 的素数,如果我们能够证明可以取 N 等于 2,那么问题就解决了。

在第一步中,我将考虑是否可以改进张的结果,例如通过证明差为 n 的素数对的结果,其中 n 小于 n。这将使我们更接近于解决初始问题。

进一步的研究阶段是思考和更多的阅读。此外,还有与其他数学家的合作。在这个问题上思考足够长的时间,我将能够制定更简单的问题,可以被其他数学家更好地理解。数学是一种社会活动——仅仅找到一个证明是不够的,还需要能够向他人解释它。验证是必要的。这就是为什么会议和研讨会对数学家来说如此重要,因为它们是讨论正在进行的研究和交流思想的平台。

不幸的是,最常见的是原始问题无论如何都无法解决。尽管如此,情况并不坏,因为一般来说,有可能在目前已取得的成果上取得小小的进步,或者注意到其他人在他们的研究中所忽略的东西。这是写文章的基础,这将是进一步研究的基础。数学是几代数学家累积的成果。

3.为什么有必要资助纯数学?

创新。这个词在最近几年经常被重复。我们希望我们的经济具有创新性。我们需要处于全球发展前沿的高素质专家和专业人员。如何实现?知识是关键。

像生物学、化学和物理学这样描述世界的领域的核心是数学。物理学家用数学方法模拟我们的世界。它在生物学、化学以及 It 方面都是相似的。没有良好的数学基础,就不可能改进现代技术。最抽象的数学扮演着公理的角色——我们的进步基于此。多亏了它,我们有了电脑、互联网、智能手机、飞机或太空旅行。

有人可能会问,为什么不直接资助生产有用产品的工程师?问题是工程师们把他们的计算建立在来自物理学的理论基础上。首先,在我们着手做某件事之前,我们必须知道它在理论上是可能的。但是我们只能资助物理学家吗?然而这是必要的,如果没有抽象数学的数学基础,他们的工作是不可能的,因为抽象数学的培养没有考虑到应用。

从事抽象数学研究的数学家参与跨学科项目提高了研究的质量。数学家对研究的本质有更正式的看法和更广阔的视角,因为他们不寻求直接的应用。他们感兴趣的是完全理解这个主题。这就是为什么他们经常设计元语言来描述现象。这方面的一个例子是逻辑的正式发展,它允许计算机的创造和编程。第一批 IT 专家来自逻辑,而逻辑本身仍然是处理编程所必需的。在未来,同样的事情可能会发生在经济学、社会学或生物学领域,这些领域需要精确的语言来获得有价值的结果。在这里,我将只提到博弈论,它已经在经济学和社会学中找到了应用,以及加密货币比特币,它是基于密码学(再次是数论!).

数学家自己处理数学,因为他们在其中发现美。对他们来说,申请的问题实际上是次要的。反正也不可能先验地说哪个数学领域会有用,哪个不会。英国数学家 g .哈代夸口说,他研究的数学是如此抽象,以至于永远无法应用。Fate 希望他的研究目前被生物学家和 IT 专家用来解决具体问题(见 Hardy-Weinberg 原理)。

从经济角度来看,大多数数学研究都没有经济上的正当理由——它们在五年或十年内都不会有回报。然而,它们是几十年来最好的投资,因为它们可以留住高素质的科学家,为任何进一步的发现奠定基础,并为其他领域和企业的团队提供支持。这也适用于其他基础研究,即旨在理解某些东西而非构建任何东西的研究。基础研究的例子包括:了解大脑的功能、原子的结构或质数之间的关系。

4.数学与经济

我认为数学是一个任何国家都可以在相对较短的时间内取得世界级成功的领域。与化学家、生物学家或实验物理学家需要的昂贵实验室相比,研究是廉价的。通过雇用合适的人和建立数学家可以思考的环境,一个人有机会与世界上最发达的国家竞争。

数学家不需要太多。他们所需要的是不用教学生的时间,这样他们就可以完全投入到研究中去。效果将很快显现。国家的数学水平越高,潜在的科技水平就越高,因为没有数学就无法理解现代科学或工程。

创新只有通过数学的发展才有可能——深入的分析思维和对细节的关注可以推动科学和工程的发展,创造出真正独一无二的东西。

不,机器学习不会让理解变得过时

原文:https://towardsdatascience.com/no-machine-learning-does-not-make-understanding-obsolete-22ef3e2515d5?source=collection_archive---------21-----------------------

数据科学之道

将决策权交给预测型人工智能将是灾难性的

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Sometimes you need more than prediction. Copernicus’s heliocentric model did not initially provide more accurate predictions than the geocentric model it replaced.

数据科学之道 专栏探讨了几个世纪以来哲学家们是如何攻克机器学习和数据科学的关键问题的。

你可能已经在媒体上看到了以下文章:

[## 机器学习扩大了知识和理解之间的差距

给了我们下一步进化的工具

onezero.medium.com](https://onezero.medium.com/machine-learning-might-render-the-human-quest-for-knowledge-pointless-5425f8b00a45)

这篇文章成为流行趋势是一件坏事。这是一个迹象,表明我们正在慢慢接近另一个冬天。

作者戴维·温伯格的中心论点是:

  • 人类努力理解复杂的系统。然而,我们基于“人类理解”做出的预测并不像人工智能那样准确,人工智能并不真正理解任何东西。
  • 然而,AI 的预测比基于人类理解的预测更准确。
  • 因此,我们应该放弃对理解的追求,专注于构建能够为我们做出决定的人工智能。
  • 将统治权交给预测性人工智能将迎来人类进化的下一个阶段。

第四点看起来更像是一部超人类科幻小说的奇思妙想,而不是一个论点,温伯格没有提供支持,所以我在这里专注于解构前三点。

没有理解的预测不能推进科学

要有效地遏制一个文明的发展,并在如此长的时间跨度内解除它的武装,只有一个办法:扼杀它的科学。—刘慈欣,《三体问题》

我想当然地认为,我们希望科学进步有很多原因,比如改善医学或我们制造有用东西的能力。良好的工程实践会让你从弓箭变成十字弓。科学带你从弓箭到巡航导弹。

摘自温伯格的文章:

深度学习的算法之所以有效,是因为它们比任何人都更好地捕捉到了复杂性、流动性,甚至是万物相互影响的宇宙之美。我们开始接受世界的真正复杂性远远超出了我们用来解释它的法则和模型。我们需要放弃我们对总是理解我们的世界和事情如何在其中发生的坚持。

但是坚持理解我们的世界是科学进步的方式。

在这种情况下,“理解”意味着一个模型——定义为一组关于特定问题领域内事物如何工作的假设,以逻辑形式表达。这些假设包括系统的核心组件,它们如何相互影响,以及改变一个变量对另一个变量的影响。

你可能听过统计学家乔治·博克斯的说法,“所有的模型都是错的,有些是有用的。”例如,我们知道我们当前的系统生物学模型是不完整的,在许多方面是错误的,但它提供了有用的救命药物和基因疗法。科学的进步是一个新模型取代旧模型的过程,因为新模型可以用旧模型无法解释的方式解释经验数据(参见托马斯·库恩的结构和科学革命理论以深入了解这一论点)。

Weinberger 本质上支持模型盲/基于模型二分法中模型盲的一面。基于模型的方法在模型的约束下预测经验数据,而模型盲方法摆脱这些约束,专注于构建具有最佳准确性的预测算法。这些方法通常在预测准确性上超过基于模型的方法。

但是更准确的预测并不是科学进步的方式。哥白尼的太阳系日心说模型没有像之前的托勒密地心说模型那样预测天空中物体的运动。但这是一个“错误更少”的模型,并为凯普勒更好的模型铺平了道路,从那里,谷歌地图。

正如温伯格所说,尖端的预测机器学习工具预测良好,但缺乏理解,如深度神经网络,通过在高维空间中发现复杂的相关性而令人惊叹。每个人都在《统计 101》中学到,相关性本身(无论多么细微)并不意味着因果关系,其中因果关系是关于系统中的组件如何相互影响的假设。你需要理解。

预测准确性不是我们关心的唯一性能指标

摘自温伯格的文章:

Deep Patient 不仅能够诊断个体患者患特定疾病的可能性,在某些情况下,它比人类医生更准确,包括一些迄今为止完全无法预测的疾病。

但是预测并不代表一切。我最近在推特上写道:

90%听起来相当不错!也许,我可以更进一步,在我把桶扔进接收器之前,对桶旋转时发出的声音训练一个深度网络,也许可以达到 95%的准确率。

我的观点很明显;预测的准确性并不是决策中唯一重要的事情。非常准确的预测引擎有时仍然会出错,出错的后果可能是灾难性的。统计学家和医学专家迈克尔·乔丹举了一个个人的例子,他根据超声波做出了一个错误的预测,即他未出生的婴儿会有智力残疾。这个预测导致医生推荐一个有风险的医疗程序。得到这一预测导致许多准父母决定终止妊娠。

在医学诊断领域,你更关心的是假阳性的风险,而不是预测的准确性。在某些领域,你可能更关心假阴性的风险,例如,如果你的工作是阻止恐怖分子登上飞机,或者阻止黑客获取有价值的机密,或者让一个将炸毁你的投资银行的流氓交易通过。

在复杂系统中,基于算法的高度准确预测的决策可能会导致灾难,在极少数情况下,它的预测是错误的。

在实践中,我们通常可以通过调整决策阈值来解决这种情况,在更敏感的和更具体的之间切换。但是这并没有解决黑天鹅的情况,在这种情况下,具有严重后果的事件非常罕见,不会出现在用于训练预测算法的数据中。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

算法偏差。另一个无法直接解决的预测风险是算法偏差。ProPublica 在 2016 年发表的一篇文章首次强调了在刑事司法背景下使用的机器学习算法中的种族偏见问题,特别是在预测一个人是否会犯下未来的罪行以及根据该预测做出判决或假释决定方面。最近亚马逊因向警察部门出售面部识别服务而受到审查;这项技术后来被证明有种族偏见。当然,算法偏差的问题远远超出了种族。

即使这些刑事司法算法没有明确使用种族作为特征,它们也可以设计这样的特征。当工作申请没有直接询问种族时,种族代理如姓名(如 Daniel vs. Darnell)仍然可以向招聘经理表明种族。这些预测算法也可以使用这样的代理,除了这些代理可以被编码为深度神经网络中节点之间的复杂关系,使得它们对于人类来说太复杂而无法检测或理解。

一些人会认为,预测黑人犯罪风险较高是黑人犯罪率较高的逻辑结果。与其争论种族政治和犯罪统计数据的解释,我想指出准确的预测完全是题外话。公正是我们的业绩衡量标准!正义是我们刑事司法系统的核心原则,正义意味着根据人们能够控制的因素而不是他们不能控制的因素来判断他们,例如他们的种族、性别、邮政编码、他们是否有被监禁的家庭成员等。

如果在《犯罪与惩罚》中使用机器学习时唯一重要的衡量标准是预测准确性,那么我们将生活在少数报告风格的反乌托邦中,低收入单身母亲生下的婴儿在出生时就被附加了缓刑追踪器。

当我们的模型预测但不理解时,我们会做出错误的决定

摘自温伯格的文章:

我们人类长期以来一直认为,如果我们能够理解事情如何发生的不变法则,我们就能够完美地预测、规划和管理未来。如果我们知道天气是如何发生的,天气预报可以告诉我们是否要带伞去上班。

让我们遵循温伯格的建议,放弃人类理解天气的尝试,而是根据历史天气数据训练一个深度神经网络,并用它来预测每天早上当天是否会下雨。每天结束时,我们将当天的天气数据输入算法,因此算法会更新其权重,使其与当前的气候保持一致。

假设我们用这个算法的预测来决定要不要带伞。在上一节中,我认为当五级风暴来袭时,这种无需理解的高度准确的预测引擎可能会杀死我们。但如果我们忽略这一点,那么温伯格为他的论点提供了一个极好的 ML 案例研究。

现在让我们考虑一个类似的商业案例。根据上个月的内部财务信息和市场情况,我们将预测您的电子商务网站在给定月份的收入,而不是天气。如果 deep net 预测下个月收入会下降(雨天预测),那么我们将开展广告活动来提振需求(带把伞)。

然而,在第一种情况下,天气不受我们是否带伞的影响。在第二种情况下,未来收入会受到我们是否开展广告活动的影响。这些影响通过未来的收入数据反馈到算法中,从而影响预测,影响未来的决策,等等,形成一个反馈循环,导致次优的决策。

这个问题的解决方案是用和因果模型建立一个预测算法,这样它就可以在进行预测时根据因果关系进行调整。

风险可能比收入损失高得多。几项广泛的观察研究查看了绝经后妇女的医疗记录,发现激素的使用(雌激素和孕激素)预示着冠心病(CHD)的减少。基于此,医生开始给绝经后妇女开补充激素的处方,作为预防冠心病的一种手段。

然而,当妇女健康倡议进行随机试验时,他们发现补充激素的妇女有增加冠心病发病率。

为什么会这样?这里有一个猜测。也许在这些最初的研究中,一些绝经后的妇女很富有。他们有钱报名参加昂贵的健身课程,比如交叉健身和室内攀岩。他们听取了富裕的健身房伙伴的建议,通过补充激素来减轻更年期的影响。此外,所有这些锻炼都增强了他们的心脏,抵消了荷尔蒙造成的任何损害。

或者,可能不是富裕和过度运动,而是其他一些未被观察到的原因,统计学家称之为混杂因素。试验中的随机化消除了这些混杂因素的影响,证明了激素补充的实际效果。混杂因素的性质无关紧要。关键是,在混杂因素存在的情况下,从预测直接转向政策是一个坏主意。在这种情况下,代价是人的生命。

*但是在大数据时代,我们难道不能衡量所有重要的东西,这样就不会有任何混淆吗?*不会。产生大数据的流程不关心您计划做出的决策,除非您是流程的设计者。

那些你在数据中没有测量到的重要的东西不会戳着你的肩膀告诉你它们就在那里。他们只是继续在沉默中混淆。

解决方案不是放弃理解,而是建立理解的人工智能

温伯格把 AI高度精确的黑盒预测混为一谈,却不理解。事实是,有一些机器学习算法可以对某个领域内的因果关系做出自己的假设。换句话说,他们试图理解这些算法可以从数据的被动观察中学习这些关系(例如;PC 算法),他们还可以尝试干预数据生成过程,以更直接地了解什么影响什么。以这种方式,他们表现得像一个人类科学家。

我没有贬低深度学习。这类算法的最前沿确实采用了深度神经网络架构,这在 NeurIPS 的 2018 因果学习研讨会上显而易见,深度学习专家如 Yoshia Bengio 出席了

是的,复杂的系统很难建模。但是放弃理解并让愚蠢的人工智能做出艰难的决定将是一场灾难。相反,我们应该专注于构建能够理解的人工智能。

不再做实验了

原文:https://towardsdatascience.com/no-more-experiments-4919630675d9?source=collection_archive---------30-----------------------

大数据和算法是对自由项目的重大挑战。收集透明胶片可能是一个解决方案。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Photo by Kristina V on Unsplash

1960 年,经济学家弗雷德里希·冯·哈耶克出版了《自由宪法。这是一本非凡的书,散发着作者的智慧,似乎是深刻和批判性思考的典范指南,并且根据哈耶克帮助建立的世界,无疑对现在有所启发。

然而,哈耶克构建的世界正在发生变化,随之而来的是哈耶克自由的支柱开始出现裂缝。当然,自由是一件有趣而又难以实现的事情。例如,(市场)自由意志论者是最先抗议任何削减其自由的概念的人之一,但自由似乎只存在于资本主义现实主义的核心中。美国人对自由主义一词的挪用无助于这种混乱,社会自由主义和财政保守主义等术语更多地表达了我们对资本主义的顺从,而不是我们对自由的看法。

接下来是哲学上的自由辩论,在那些相信我们生来自由,社会摆脱了强加的约束(积极自由)的人和那些相信我们生来受约束的人之间,我们应该努力废除所有仍然不合理的强制焦点(消极自由)。人们可能会问自己是哪种类型的自由主义者,但我认为这个问题没有说到点子上。像许多事物一样,自由不是一系列的绝对,而是一个光谱。至少,自由太复杂了,无法用政治象限来理解…

最好的方法是你自己的方法

的《自由的宪法中,哈耶克对于他认为自由是什么以及何时可以受到限制的解释非常简短,这与约翰·斯图亚特·密尔在 中关于自由 的思想以及密尔的伤害原则非常接近。考虑到哈耶克花了一段时间管理穆勒的著作,这并不奇怪。

那么,更有趣的是哈耶克在本书其余部分的讨论——这一讨论肯定受到了当时地缘政治形势的影响——为什么以个人为中心的自由(尽管不是严格的自由民主)优于替代的集体化制度。其中一个论点是我称之为“多次实验”的论点。

自由思想的很大一部分是犯错误并从中吸取教训的能力。这就是为什么伤害原则只在保护他人的自由时证明胁迫是正当的;我们完全有权利犯自己的错误,在这样做的过程中,我们从错误中学习并发展。穆勒认为这一点,哈耶克当然也同意。哈耶克认为,通过人们的尝试和偶尔的成功(但经常失败),社会进步了。因此,允许人们自由地走自己的路并进行试验,将比集体化下更快地产生更多的成功(和更多的失败),在集体化下,单个行动者——比如说国家——一次只能尝试一个计划。

这是一个非常政治化的想法,但在资本主义内部,它非常重要。最好的方法是你自己的方法。

数据更了解

“许多实验”的论点能经得起数据、算法和 21 世纪的考验吗?让我们假设论点是正确的;那么,如果我们能把每一种结果模拟一万亿次,我们还需要人类自由吗?这难道不是更合乎道德吗?因为现在人们不必为了一些人的成功而失败。在越来越短的时间内,最大限度地增加我们可以进行的实验数量,难道不是更有效率吗?

显然,这是一个有争议的论点。首先,模拟世界有多精确?几十年来,金融家和学者在数十亿美元的帮助下,试图对股票市场进行建模,但弥漫在交易大厅的许多动物精神仍未被驯服。

第二,接受我们可以模拟世界,我们应该选择谁或者从谁的角度来构建模拟?对算法偏见的研究已经表明刑事司法算法中的负面种族偏见,以及面部识别软件。这些偏见的原因似乎不同,但效果是一样的——现实的均质化。

第三,在算法的 cosh 下,社会和进步到底意味着什么?这就是我称之为“矩阵问题”的东西,在关于狗屁工作的文献中有广泛涉及。如果算法的目的是服务于人类的进步,但是人类的进步存在于一个服务和等级的社会内部,那么任何结果都可以被描述为进步吗?或者,我们必须给这个世界贴上静止的标签吗?压迫感?超真实?

裂缝出现的地方

大数据的激增使得第一个论点变得大胆,而且很可能不正确。随着数据和算法对社会的影响——从 YouTube 激进化脸书大选推动——显著增长,数据的价值越来越被认识到。是的,我们可能还没有驯服动物精神,但随着我们的数据基础设施扩展数据的能力和亲密度,我们很可能会达到这一点——我将这样的概念称为数据景观

剩下的争论继续对数据的统治地位提出挑战,但只是在我们继续关心它们的范围内。刑事司法算法歧视黑人男性的趋势是因为长期持有的执法偏见,而面部识别软件识别白人男性的效率是因为主要是白人男性编写程序。这些都是社会问题,也是一个例子,说明允许少数观点(如果不是少数个人)来创造我们的数据驱动的未来将如何使该项目变得非常不自由。

重拾动物精神

不过,有一些防止这种情况发生的建议。数据经济学家恩斯特·哈芬(Ernst Hafen)建议,所有人都应该被赋予获得副本的权利:要求任何收集我们数据的人向我们提供副本的权利。他建议我们可以将这些副本集体化——我称之为集体透明的概念——创建一个数据中心:一个数据公共区。这将为算法提供相对无偏见并反映社会的数据,但也将使数据收集民主化和非货币化。

想象一下,如果脸书的价值在于提供高质量的服务,而不是因为你和你所有的朋友已经给了他们太多的数据,让你很容易地换到另一家公司?想象一下,如果我们决定,出于道德原因,一些数据不应用于算法,就像我们在道德上反对人体器官市场一样?

反常的是,这种数据集体化可能是自由主义项目的未来;一个解决数据垄断、扩大数据自由和使数据使用民主化的系统。所有这一切,同时继续受益于大数据和算法。一个不再有实验的世界,我们被赋予了前所未有的实验能力。

无需知道结局:递归算法和数学归纳法

原文:https://towardsdatascience.com/no-need-to-know-the-end-recursion-algorithm-and-mathematical-induction-5a9e4c747c3c?source=collection_archive---------16-----------------------

当我第一次学习数学归纳法和用线性代数解线性系统时,它们对我来说是如此神奇,我觉得自己就像电影《黑客帝国》中最终看到矩阵的尼奥。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我已经多年没有学习它们了(不要问我有多少年了,我不想让你猜我的年龄),但我清楚地记得,我认为我理解计算机的思维和世界是如何在很短的时间内工作的——我可以一次解多个线性方程,我可以证明系统中模式的存在。我很快会告诉你数学归纳法是如何工作的(希望你能有一秒钟像 Neo 一样的感觉),但让我先告诉你这个。当我最近了解到一个递归算法时,它让我想起了我学习数学归纳法的时候。好神奇好聪明!每当我得到这些让我震惊的神奇技术时,我一定要仔细分析它们,直到我知道它们是如何工作的。在这篇文章中,我想与你分享我在递归算法和数学归纳法之间发现的相似之处,以及它们如何帮助我实现该算法。

数学归纳法是一种证明数学性质或公式的技术,适用于每个自然数(0 和正整数)或每个整数(正整数)。

例如,让我们证明从 0(或 1)到 n 的正整数相加的等式:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

首先证明当 n = 0 时:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第二,假设从 0 到 n-1 的加法等式成立:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第三,使用上一步中的假设,证明该等式适用于从 0 到 n 的加法:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这证明了该方程适用于每个自然数,因为:

  1. 它适用于最小的数字 0(或者有时是 1);
  2. 如果等式对一个自然数成立,那么对下一个连续的数也成立;
  3. 对 0 为真所以对 1 为真,然后对 2 为真,对 3 为真以此类推……(这是我脑子被炸飞的点!)

递归算法是一种调用自身的算法。例如,我有一个自然数, m,,我想检查一下 m 是否是从 0 到某个数字 n 的连续自然数之和,并找出数字 n 。这意味着:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这是我们之前证明的方程的倒退。如果我选择 m 为 6,那么 n 就是 3,因为 6 = 1+2+3。然而,如果我选择 m 为 7,那么 n 不存在。要在 Python 中构建一个算法来查找 n,让我们像下面这样计划:

  1. 如果 m 是 0,那么 n=0
  2. 如果 m>0,更新 n = n+1,然后检查 m-n 是否=0
  3. 如果 m-n =0,我们找到 n。如果 m-n>0,则更新 m =m-n,并返回步骤 2。如果 m-n<0,则 n 不存在

我们重复第 2 步和第 3 步,直到相减后的数字变成 0 或负数。我们不知道要重复多少次,所以我们不应该使用 for 循环。当我们需要在不知道终点的情况下重复这个过程时,递归算法非常有用。

我发现数学归纳法和递归算法在三点上非常相似:

  1. 基本案情应当成立;在第一个例子中,n=0,在第二个例子中,m = 0
  2. 换人是用来过箱子的;在第一个例子中,数列中的最后一个数用于等式中,而在第二个例子中,m 和 n 被更新,直到 m 变为 0 或小于 0

3.没有固定的终点:数学归纳法用于无限数量的序列,递归算法用于没有固定索引范围的迭代。

当我意识到这些相似性时,似乎更容易知道何时使用递归算法以及如何构建它。使用这三样东西,递归算法被分解成两个部分,这两个部分也是何时使用该算法的指示符:

  1. 找到一个代表基本情况的参数值,看看它能否结束您将要构建的循环
  2. 找到一个重复的模式,看看是否可以简单地通过更新变量值来表达

为了查看这些部件的运行情况,让我们使用欧几里德算法,创建一个函数来计算两个整数 a 和 b 的最大公约数(gcd ),其中 a >b。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

从步骤 1 和步骤 4 中,我们看到基本情况是一个数可以被另一个数整除。此外,当余数为正时,对于下一步,我们更新除数和被除数:r₀ = b,r₁,…,rₖ,前一步的余数成为下一步的除数。因此,我们看到递归算法将是一个很好的函数。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

高维空间中没有真正的效果

原文:https://towardsdatascience.com/no-true-effects-in-high-dimensions-1f56360182cd?source=collection_archive---------10-----------------------

生命科学的数理统计和机器学习

我们能相信从高维数据中得到的结果吗?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Image source

这是 生命科学的数理统计与机器学习 栏目的第五篇文章。在本专栏中,我将介绍我们在生命科学中面临的数据和分析挑战,如生物医学、生物信息学、细胞生物学、遗传学、进化生物学等。也许主要的分析挑战是处理高维数据,对这一事实的不当解释可能会导致错误的结论,这对医疗保健中的患者安全尤其有害。

在这篇文章中,我将展示当增加数据的维度时,分析模型如何不能重建变量之间的真实关系。

高维多变量分析

考虑一个简单的线性模型 Y ~ X ,其中 Y 是响应,X 是解释变量(预测值)。Y 可以是表型向量,例如 n 个个体/样本中每一个的疾病状态(患病/健康),而 X 是具有 n 个样本和 **p 个特征/维度的矩阵。**为简单起见,X 和 Y 均取自正态分布。假设低维情况 n > > p:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

结果看起来不错,Y 和 X 变量不像预期的那样相关,因为它们来自正态分布。只要 n > p,数学工作没有问题。现在让我们增加特征/维度 p 的数量,看看会发生什么。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

发生了什么事?我们可以看到,X 中的一些特征,即 X2、X6、X9、X10,开始与 Y 显著相关**。看看调整后的 R 平方,它是 X 解释的 Y 方差的分数,我们现在解释 Y 方差的 28% ,尽管 Y 和 X 不应该相关,因为它们是从正态分布中独立采样的。好了,如果特征数 p 等于样本数 n,会发生什么?**

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

有意思!当 p = n 时,r 拒绝计算多元线性模型,尽管我们只有 20 维。我们在这里观察到的效果被称为过拟合,这可以被认为是 维度诅咒 的一种表现形式。过度拟合意味着我们不能使用我们想要的那么多的拟合参数,而是应该基于一些附加的标准来选择它们的最佳数量,例如【AIC】【阿卡科信息标准】,或者执行交叉验证,因为预测器的数量实质上是多元线性模型的超参数

所以我们对 R 抛出了一个“奇点”误差,对于仅仅 20 个维度来说,事实上我们通常有数万个****(RNA seq**)甚至数百万个 ( 基因组学 ,**甲基化 ) 个维度在这是生命科学中多变量分析的主要障碍,也是为什么单变量特征选择 ( 关联研究 、差异基因表达、差异甲基化)通常优于多变量特征选择的一个原因,尽管后者的预测能力更高。典型生物设置n<p的另一个结果是,必须用套索/脊/弹性网预选信息特征,并进行降维。

对协变量进行调整隐藏了真实的影响

现在想象 X 不是一个矩阵而是一个向量,例如一个基因型的向量,所以我们正在进行一项关联研究,表型 Y 与基因型 X。我经常观察到试图解释可能混淆这种关联的其他因素(协变量)。事实上,如果个体来自不同的人类群体,如非洲人、欧洲人、亚洲人,这种异质性可以解释表型 Y 中的显著百分比变异,而我们感兴趣的是由基因型解释的表型变异**,换句话说,群体异质性是一个混杂因素,应在模型 Y~X 中进行调整。通常,对所有可用的遗传变异体进行主成分分析(PCA) ,并选择少量 PC 作为关联的协变量:Y~X + PC1 +在这种情况下,协变量的数量是根据常识任意选择的,而在这里,我想证明这个数量对于恢复表现型与基因型关联的真实效果可能是至关重要的。**

让我们模拟 X 和 Y 之间的一个线性关系: Y=2*X +噪声。假设我们有一个线性模型 Y~X,让我们针对逐渐增加的与 Y 稍微相关的 PCs 数量来调整这个模型,即 PC1=0.9Y,PC2=0.8Y 等等。:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们在此观察到,当添加与 Y 相关的 PCs 时,Y 和 X 之间关联的真实效应 2 变得越来越难以恢复。尽管我们仍有 n>p,但当添加 10 个 PCs 时,恢复的效应约为 0.5,这与真实效应 2 相差甚远。此外,我们观察到调整后的 R 平方(方差解释)几乎达到 1,这意味着我们通过仅包括 10 个协变量来解释 Y 中的所有方差。

在上面的代码中,请注意(1-i/10)前面的系数 1。我们称之为 Y 和 PCs 之间的协变系数。我们刚刚看到,对于协变=1 的情况,真实效应 2 可能被错误地计算为 0.5。如果我们增加 Y 和 PCs 之间的协变,即协变=2 和 3,现在会发生什么?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们观察到,Y 与协变量 PCs 越相关,就越难重建真实的效果。当协变=3 时,重构的效应基本上是,这意味着 Y 和 X 之间没有关联,尽管我们已经将该效应模拟为 2 。因此,尽管可以从生物学角度调整 covarites 的线性模型,但这应该谨慎执行,因为由于维数灾难,数学可能无法忍受。

摘要

在本文中,我们已经了解到,由于维数灾难,当特征/维度的数量接近样本的数量时,多元分析会爆炸。此外,进行关联研究时,您应该特别注意线性模型调整的协变量的数量。过多的协变量可能会 模糊真实效果并使其无法重建。

在下面的评论中让我知道生命科学中的哪些分析对你来说似乎特别神秘,我会在这个专栏中尝试回答它们。在媒体尼古拉·奥斯科尔科夫关注我,在 Twitter @尼古拉·奥斯科尔科夫关注我,在 Linkedin 关注我。下次我们将比较单变量与多变量特征选择,敬请关注。

Node2Vec —图节点嵌入方法

原文:https://towardsdatascience.com/node2vec-graph-embedding-method-f306ac87004e?source=collection_archive---------9-----------------------

简介

图形是用连接来表示信息的常见数据结构。例如,蛋白质-蛋白质相互作用,其中节点表示蛋白质,边表示一对蛋白质之间的生物相互作用。另一个例子是脸书网络,其中节点是用户,边是用户之间的连接。

如果我们想使用深度学习方法对那些图表进行预测,我们需要一种方法将它们转换成实数的 d 维向量。因此,我们使用图嵌入,这是一种低维表示,有助于更好地概括输入数据。

在 Node2Vec [1]中,我们的目标是保持节点的网络邻域,因此我们的目标是找到作为实向量的图的表示,其中邻域之间具有小的欧几里德距离,同时表示节点结构。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Graph Embedding — Representation Learning on Networks, snap.stanford.edu/proj/embeddings-www

Word2Vec

为了理解 Node2Vec 的概念,我们首先需要了解 Word2Vec 是如何工作的。有几种方法可以产生单词嵌入,它是单词的浓缩表示。在 Word2Vec SGNS- skip-gram(上下文表示)负采样(训练方法)中,我们基于单词预测上下文。我们希望在上下文中有正确单词的概率高,而在上下文中有随机单词的概率低。例如:

(The,baby,is,微笑,at,her,mom)——我们会给预测上下文“baby _ _,at,her,mom”
(The,baby,is,飞翔,at,her,mom)——我们会给预测上下文“baby _ _,at,her,mom”

我们如何构建元组作为算法的输入?
这是一个非常重要的问题。我们构造学习嵌入的样本的方式影响嵌入空间。例如使用目标词周围的小窗口的实词(CBOW)将强调主题的相似性[2]。其中,使用通过依存边缘连接到目标单词的内容单词将强调单词功能之间的相似性。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

functional vs topical similarities [2]

如果我们把句子看作图表,节点就是单词,边定义了我们如何在单词之间行走。在第一种情况下,我们假设一个句子是一个有向图,其中每个节点(单词)通过边连接到它的右边邻居。在第二种情况下,我们使用依赖解析器来创建定义边的有向图。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

dependency parser from spaCy package

Node2Vec

现在让我们回到 Node2Vec,我们想找到一种方法来创建这些元组。同样,我们构建元组的方式会影响图的嵌入。我们的目标是保存邻域和结构,因此我们需要一种兼容的方式来探索图形。我们使用二阶随机游走来采样在 BFS 和 DPS 之间、在探索邻居和探索其他邻居之间、在微观和宏观之间权衡的图。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

BFS vs DFS [1]

通过使用超参数 p 和 q 来计算非规格化跃迁概率来实现折衷。
p —回报率
q —探索率
假设我们从 t 走到 v 现在我们需要决定探索哪个节点 x_i 。我们计算 t 和可能的 x_i 节点之间的边数。
如果距离为零(意味着它是 t 本身),我们将原始边权重乘以 1/p。
如果距离为 1,我们保留原始边权重。
如果距离为 2,我们将边权重乘以 1/q。
我们稍后将编辑后的边权重归一化以获得概率值。

请注意,低 p / q 导致高回报概率/勘探概率。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Node2Vec [1]

比如[1],看 Les Misérables 网络,节点是人物,边代表人物之间的合作。当使用 p= 1 和 q= 0.5 时,我们允许高度探索,并且我们得到基于它们所属的社区组织的聚类(同质性)。当使用 p = 1 和 q = 2 时,我们不鼓励探索,我们根据结构相似性组织聚类。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

homophily (top) and structural similarity (bottom) [1]

结论

总而言之,图嵌入是有用的。Node2Vec 定义了一种智能的方式来探索图形,从而在表示中体现了同质性和结构等价性。探索允许为经典的 SGNS 算法创建样本,这创建了有用的图嵌入。

参考文献

[1] Grover & Leskovec,node2vec:网络的可扩展特征学习
[2] Levy & Goldberg,基于依存关系的单词嵌入

噪声对比估计

原文:https://towardsdatascience.com/noise-contrastive-estimation-246446ea9aba?source=collection_archive---------12-----------------------

温和的介绍

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

本文原载于blog.zakjost.com

介绍

我最近致力于理解噪声对比估计(NCE),这是一个艰难的旅程。这篇文章的目的是让其他人更容易通过不太正式,并通过实现的细节工作。在深入了解它如何工作的细节之前,让我们先谈谈它要解决的问题。

背景

假设你想学习单词的矢量嵌入来帮助完成自然语言任务。著名的 word2vec 方法做了一些聪明的事情:

  1. 以一句话开始:“快速的棕色狐狸跳”
  2. 使用一个横跨句子的滑动窗口来创建(context, target)对,其中目标是中心词,上下文是周围的词:([the, brown], quick)([quick, fox], brown)([brown, jumps], fox)…等等。
  3. 使用查找嵌入层将上下文单词转换为向量,并对其进行平均,以获得代表完整上下文的单个输入向量。
  4. 使用上下文向量作为具有 Softmax 变换的全连接神经网络层的输入。这导致在给定当前上下文的情况下,你的整个词汇表中的每个单词成为正确目标的概率。
  5. 最小化交叉熵损失,其中label = 1用于正确的目标单词,而label = 0用于所有其他单词。

通过这样做,网络学习单词在句子中出现频率的统计数据。因为嵌入查找表的权重是可学习的,所以它倾向于在嵌入空间中将相似的单词比不相似的单词放得更近。酷毙了。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

但是让我们考虑一下上面第 4 步中的计算。你的网络的密集层有一个大小为(embedding_dim, vocab_dim)的权重矩阵,它将上下文嵌入转换成数字,帮助你预测每个词汇单词的概率*。这需要两个步骤:1)从密集层的输出中获取每个单词的值(我们将这些值称为 z_i ,其中 i 索引词汇表中的特定单词),然后 2)通过使用 Softmax 变换将这些值转换为概率:*

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

注意,分母需要一个超过整个词汇表大小的总和。如果你有一个巨大的词汇表,那么通过对每个词汇表单词的输出求和来标准化每个训练样本就变得昂贵而缓慢。

在步骤 5 中,我们计算交叉熵损失:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

即使损失函数被表示为整个词汇表的总和,唯一非零的项是标签 y = 1 的地方;即对应于实际目标单词的术语。问题是每个 p_i 项都被同一个分母除尽,而这个分母本身就是整个词汇表的总和。这使得我们的损失函数依赖于网络中的每个输出,这意味着每个网络参数将具有非零梯度,因此需要针对每个训练示例进行更新。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

There has to be a better way!

负采样

解决这个问题的一个想法是:不要把分母中每个不正确词汇的概率相加,只挑选几个。这些被选择的非目标单词被称为负样本。所以:按照上面相同的步骤,但是在步骤 4 中,只对目标单词和其他单词的随机样本进行预测,并假设它代表整个词汇。

这显然不是给定的正确规范化,因为你没有对绝大多数词汇求和,但这是一个近似值,结果证明效果很好。它还有一个额外的优点,就是你不需要更新每个词汇单词的权重,这可能有数百万个参数,而只需要更新目标单词和负样本的权重。由于这种概率仅使用目标词和几个负样本而不是整个词汇表进行标准化,因此涉及的变量要少得多。因此,渐变/更新的数量从|embed|*|V|到|embed| * |samples + 1|不等。这在直觉上也很有意义。我们真的应该为每个可用句子的每个片段使用/更新单词“zebra”的参数吗?

噪声对比估计

NCE 在实现上非常类似于负抽样,但是它增加了一些理论上的牙齿。让我们首先讨论他们是如何构建问题的,然后再讨论实现的调整。

通过比较学习

在负采样中,我们用 1 标记真正的目标词,用 0 标记不正确的目标词的随机样本。这有点像训练一个模型来预测,“其中哪些是真实的,哪些是噪声?”NCE 使用逻辑回归模型来直接回答这个问题。

回想一下,LogReg 对输入来自一个类而不是另一个类的对数优势比进行建模:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们想要一个类来自于真实字分布 P 而不是噪声分布 Q 的对数概率:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这将我们试图了解的数据分布与参考噪声分布进行比较,因此得名噪声对比估计。我们不知道真正的分布 P ,但是我们可以随意指定 Q 为我们想要的。 Q 分布是我们用来生成负样本的。例如,也许我们以相等的概率对所有词汇进行采样,或者考虑到一个词在训练数据中的稀有程度。关键是:这取决于我们,这使得计算*log(Q)*部分非常简单。

非常清楚地说,我认为值得再看一次 word2vec 网络,并思考如何使用 Q :

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们使用一个上下文向量作为密集层的输入。但是我们没有计算词汇表中每个单词的输出,而是做了以下事情:从我们指定的分布中随机抽取单词: Q 。然后只计算真实目标单词和我们从噪声分布中随机采样的单词的网络输出值。如果我们随机抽取 5 个样本,那么我们将只评估 6 个输出(样本+目标)的网络,而忽略其余的词汇表。

现在,由于我们定义了决定我们如何抽取负样本的噪声分布,我们可以根据该分布分析计算任何特定单词的概率, Q 。例如,如果我们定义“单词-1”的概率为 10%,而“单词-2”的概率为 90%,并且我们碰巧抽取了“单词-1”的样本,那么Q= 0.10;它只是对我们定义的分布的引用。这样我们就可以得到 log( Q )中的一部分

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

那么 P 呢?

这就是我们使用神经网络的目的——在给定的上下文中预测 P 。然后,我们使用网络输出和分析计算的 Q 来计算上面的 logit 方程。通过将此视为正常的逻辑回归任务来训练网络,其中目标词用 1 标记,而阴性样本都用 0 标记。

使用这个框架,我们将学习数据概率分布无监督任务转化为有监督* LogReg 问题,在这个问题中,我们仅仅通过指示一个单词是真正的目标还是来自噪声分布来发明标签。通过学习一个模型来分辨真实的东西和我们发明的一个东西的区别, Q ,它就学会了理解真实的东西。非常聪明的框架。*

履行

现在我们知道了我们想要创建一个逻辑回归模型来预测真实数据相对于噪声分布的对数概率,让我们描述一下我们需要如何改变 word2vec 实现。步骤 1-3 是相同的:我们创建相同的(context, target)对,并对上下文单词的嵌入进行平均以获得一个上下文向量。

  • 在步骤 4 中,您做与负采样相同的事情:使用上下文嵌入向量作为神经网络的输入,然后收集目标单词的输出和来自噪声分布的随机样本 k 负样本, Q
  • 对于网络输出的每一个选中的单词, z_i ,减去 log( Q ):

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 不要使用 Softmax 转换,而是应用 sigmoid 转换,如在逻辑回归中。这是因为我们试图建立对数模型。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • label=1标记正确的目标词,用label=0标记阴性样本。
  • 将这些用作逻辑回归的训练样本,并最小化二元交叉熵损失:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这里, N = k + 1 (负样本数加上目标字), l_i 是目标或负样本的标签, p_i- hats 是如上定义的 sigmoid 的输出。

与负采样的唯一实际实现差异是添加了一个校正,它考虑了单词被采样的概率,然后将其转换为逻辑回归/二进制分类任务。通过使用我们的网络输出 P 并最小化二元交叉熵,我们的网络学习 P

注意:在这种形式中,网络在技术上并不输出标准化的值——没有什么固有地强制输出总和为 1。添加显式规范化需要对整个词汇表求和,这违背了整个目的。最初的论文建议每个输入上下文的归一化常数是一个可学习的参数,并且这被证明是有效的。然而, 已经表明 令人惊讶的是,仅仅假设网络输出归一化值给出了等效的性能,并且网络学习到大部分是自归一化的,因为这是最优解。

结论

噪声对比估计是一种通过与我们定义的噪声分布进行比较来学习数据分布的方法。这允许我们将无监督的问题转换为有监督的逻辑回归问题。它的实现类似于负采样,这是一种近似机制,旨在通过对整个词汇表求和来降低标准化网络输出的计算成本。nce 和负抽样在实现上的主要区别在于,在 NCE,样本来自噪声分布的概率被明确地考虑,并且问题被转换为特定样本来自真实数据分布而不是噪声分布的对数优势比的正式估计。

最初发表于https://blog.zakjost.com*。*

资源

非线性回归:基础扩展、多项式和样条

原文:https://towardsdatascience.com/non-linear-regression-basis-expansion-polynomials-splines-2d7adb2cc226?source=collection_archive---------6-----------------------

如何用多项式和样条捕捉非线性关系?

本文基于优秀的 Hastie,t .,Tibshirani,r .,& Friedman,J. H. (2009)的一章。统计学习的要素:数据挖掘、推理和预测。第二版。纽约:斯普林格。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

基础扩展

用于分类回归的流行线性模型将预期目标表达为特征的线性函数。这种近似是方便的,有时也是必要的。方便,因为线性模型很容易解释,而且是必要的,因为对于稀缺的数据,线性模型可能是我们能够在不过度拟合的情况下拟合的全部。然而,真正的基础函数通常不是线性的。因此,在模型中捕捉这种非线性可能会产生更多的预测和解释能力。一类建模方法通过用一些变换增加输入特征𝑋,然后在线性模型中使用变换后的特征来解决这个问题。这种模型采取以下形式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

xT7 中称为线性基展开,其中 hm 是𝑋.的第 m 个变换这种方法的美妙之处在于,一旦确定了基函数ℎ,模型在这些新的转换变量中就是线性的,并且拟合与基本线性模型一样简单。

一些广泛使用的基函数有:

  • ℎ𝑚(𝑋) = 𝑋𝑚,它恢复了原来的线性模型;
  • ℎ𝑚(𝑋) = 𝑋 j 或ℎ𝑚(𝑋) = 𝑋𝑗𝑋𝑘,这允许用多项式项增加输入以实现高阶泰勒展开;
  • ℎ𝑚(𝑋) = 𝑙𝑜𝑔(𝑋𝑗)、𝑠𝑞𝑟𝑡(𝑋𝑗)等,其允许其他非线性变换;
  • ℎ𝑚(𝑋) = 𝐼(𝐿𝑚 < 𝑋𝑘 < 𝑈𝑚), which is an indicator for the region of 𝑋𝑘. By breaking the range of 𝑋𝑘 into a set of non-overlapping regions we obtain a model with piecewise-linear contributions of 𝑋𝑘.

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Piecewise Polynomials

A 分段多项式函数是通过将𝑋的定义域划分为连续的区间,并在每个区间内用单独的多项式来表示函数而得到的。下面相当长的 Python 代码块将一些简单的分段多项式拟合到模拟数据中,并将它们很好地绘制出来。请注意,大部分代码是用于绘图的。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

左上面板显示了具有三个基函数的分段常数函数:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

结𝜀1 和𝜀2 分别等于 1.5 和 4.5。分段常数拟合归结为每个区域的𝑌平均值。

右上面板显示了分段线性拟合。除了前面的三个基本函数,这一个还需要另外三个,每个区域一个,以通常的线性回归方式添加𝑋和𝑌之间的关系:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

注意,结果是,在每个区域中,𝑌被建模为其在该区域中的平均值加上𝑋的影响乘以其系数 β 。要了解这一点,只需将六个基函数ℎ代入本文开头的基展开式即可!

分段线性模型的一个问题是它在节点处是不连续的。这是不希望的,因为我们希望模型为每个输入 X 产生一个唯一的输出 Y 。当𝑓( X 不连续时,情况并非如此,因为在节点处没有唯一的输出!因此,在大多数情况下,人们更喜欢有一个连续的模型,比如左下方面板中的模型。它可以通过在基函数中加入适当的约束来加强节点处的连续性而获得:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中𝑡+表示阳性部分。作为一个例子,右下面板显示了基函数ℎ3。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

回归样条

分段多项式,即使是那些在节点处连续的多项式,也往往不是光滑的:它们会迅速改变节点处的斜率。为了防止这种情况并增加它们的平滑度,增加局部多项式的阶数并要求纽结两侧的前两个导数相同就足够了。连续且具有连续一阶和二阶导数的函数称为三次样条,可用以下基函数表示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

下面的代码块将这个三次样条拟合到之前模拟的数据中。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

上面的三次样条似乎很适合这些数据。然而,使用这种技术有一个危险:三次样条的行为在边界附近往往是不稳定的,即超出𝑋.的观测值为了平滑边界附近的函数,可以使用一种特殊的样条,称为自然样条

自然三次样条增加了额外的约束,即函数在边界节点之外是线性的。对于这种相当粗糙的近似,边界附近的偏差将是一个代价,但假设边界附近是线性的,无论如何,我们的信息较少,这通常被认为是合理的。

带有𝐾节点的自然三次样条由𝐾基函数表示如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在哪里

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在,让我们采用三次和自然样条来模拟工资和年龄之间的关系,这可以合理地预期为非线性——样条的完美用例。对于这个实际的例子,我们将使用 statsmodels 包来装配花键,使用 patsy 来定义公式。数据改编自 T. Hastie 等人的《统计学习导论》。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

两条样条曲线看起来相似,但是请注意,与三次样条曲线相比,自然样条曲线在图的右边缘是线性稳定的!现在让我们看看另一种获得样条的方法。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

平滑样条

到目前为止讨论的所有方法都要求我们选择结的数量和位置。平滑样条是一种通过使用一组最大节点来避免节点选择问题的方法。在这种方法中,拟合曲线的复杂性不是由节点控制的,而是由正则化控制的。

人们可以认为平滑样条函数是从所有可能的函数中选择一个𝑓(𝑋函数,该函数具有两个最小化损失残差平方和(RSS)的连续导数。实际上,𝑓(𝑋)几乎总是被选为三次函数。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

上面 RSS 公式中的第一项衡量与数据的接近程度,而第二项惩罚函数的曲率。两者之间的权衡由正则化参数 λ 控制:

  • λ = 0,𝑓(𝑋)可以通过任何任意复杂的函数对数据进行插值,这几乎肯定会导致过拟合;
  • λ = ∞,第二项占优势,𝑓(𝑋)是简单的线性拟合,因为根本不容许曲率。

将正则化参数设置在这两个极端之间的某个位置将有望产生一个很好地拟合数据但不会过度拟合的模型。

让我们用平滑样条来拟合工资年龄数据。我们将为此使用 csaps 包,它定义的正则化惩罚略有不同:它接受 0 到 1 之间的值,其中 0 是直线,1 是自然三次样条插值。软件包还要求我们在拟合模型之前准备好数据。对于每个𝑋.,它只能处理一个𝑌值因此,我们将按年龄分组,并使用中位数计算工资总额。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

参数选择

定义回归样条的参数包括样条的阶数以及节点的数量和位置。有时关于被建模的关系的领域知识可以提供一些关于结应该放置在哪里的指示。对于平滑样条,必须选择平滑参数。在实践中,对于所有类型的样条,参数可以通过交叉验证进行调整,或者根据残差图的分析进行设置,这取决于建模的目标。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

总结和结论

  1. 多项式和样条函数允许对非线性关系进行建模,比线性模型具有更强的预测和解释能力。他们通过对输入要素进行一些变换,然后在线性模型中使用变换后的要素来实现这一点。
  2. 分段多项式通过将输入特征域划分为连续的区间,并在每个区间中拟合一个单独的多项式来获得。它们可以被迫在节点处连续,但它们往往不是平滑的。
  3. 三次样条是对分段多项式光滑性问题的一种回答。它们通过要求节点两侧的前两个导数相同来确保节点处的光滑性。然而,它们也有自己的缺点:三次样条的行为在输入的观察值之外往往是不稳定的。
  4. 自然样条增加了额外的约束,即函数在边界节点以外是线性的,这使得它在那些区域更加可靠。
  5. 平滑样条通过平衡模型与数据的接近度和拟合曲线的复杂性之间的平衡获得:正则化参数惩罚可能导致过度拟合的过于复杂的函数。
  6. 回归(三次和自然)样条曲线的参数包括结的数量和位置。对于平滑样条,需要选择正则化参数。参数选择可以基于领域知识、交叉验证或残差属性。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

本文中的所有例子都以单变量样条为特色:只有一个输入变量。在实践中,人们通常希望在模型中包含多个预测值。不用担心:所有讨论的方法都自然地延伸到多元情况。例如,检查 csaps 包中的multivariatecubismoothingspline类。

对于熟悉 R 语言的读者来说,最后一句话是:在样条建模方面,R 比 Python 提供了更多。查看 样条 包中的 bs() 函数(顺便说一下,这是 Python 的 statsmodels 在幕后模仿的)和mgcv。**

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

感谢阅读!我希望你已经学到了对你的项目有益的东西🚀

如果你喜欢这篇文章,试试我的其他文章。不能选择?从这些中选择一个:

* [## 线性回归中收缩法和选择法的比较

详细介绍 7 种流行的收缩和选择方法。

towardsdatascience.com](/a-comparison-of-shrinkage-and-selection-methods-for-linear-regression-ee4dd3a71f16) [## 增强你对助推的把握

揭秘著名的竞赛获奖算法。

towardsdatascience.com](/boost-your-grasp-on-boosting-acf239694b1) [## 插补的不确定性

你在预测中考虑到它了吗?

towardsdatascience.com](/uncertainty-from-imputation-8dbb34a19612) 外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

来源

  1. Hastie,Tibshirani,r .,,j . h . Friedman(2009 年)。统计学习的要素:数据挖掘、推理和预测。第二版。纽约:斯普林格。
  2. https://pypi.org/project/csaps/*

非最大抑制(NMS)

原文:https://towardsdatascience.com/non-maximum-suppression-nms-93ce178e177c?source=collection_archive---------2-----------------------

一种过滤物体探测器预测的技术。

典型的对象检测流水线具有一个用于生成分类建议的组件。提议只不过是感兴趣对象的候选区域。大多数方法在特征图上采用滑动窗口,并根据在该窗口中计算的特征来分配前景/背景分数。邻域窗口在某种程度上具有相似的分数,并且被认为是候选区域。这导致了数百个提议。由于建议生成方法应该具有高召回率,所以我们在这一阶段保持宽松的约束。然而,通过分类网络处理这么多建议是很麻烦的。这就产生了一种基于某种标准(我们很快就会看到)过滤建议的技术,称为非最大抑制。

NMS:

**输入:**建议框 B 的列表,对应的置信度得分 S 和重叠阈值 n

**输出:**过滤后的建议列表

算法:

  1. 选择具有最高置信度得分的提议,将其从 B 中移除,并将其添加到最终提议列表 D 中(最初 D 为空)。
  2. 现在,将该提议与所有提议进行比较,计算该提议与所有其他提议的 IOU(交集/并集)。如果 IOU 大于阈值 N,则从 b 中删除该建议。
  3. 再次从 B 中的剩余提议中取出置信度最高的提议,并将其从 B 中移除,然后将其添加到 d 中。
  4. 再次用 B 中的所有建议计算该建议的 IOU,并排除 IOU 高于阈值的方框。
  5. 重复这个过程,直到 b 中不再有建议。

IOU 计算实际上用于衡量两个方案之间的重叠部分。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Intersection over Union

下面是 NMS 的伪代码。为了更好地理解它,我添加了一些评论。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Non-Max Suppression Algorithm

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

现在如果你观察上面的算法,整个过滤过程依赖于单个阈值。因此,阈值的选择是模型性能的关键。然而,设置这个阈值是棘手的。让我们看看这个场景。

假设重叠阈值 N 是 0.5。如果有一个建议的 IOU 为 0.51,并且具有良好的置信度得分,则该框将被移除,即使其置信度高于许多其他 IOU 较少的框。正因为如此,如果有两个物体并排,其中一个就会被消除。具有 0.49 IOU 的提议仍然被保留,即使其置信度非常低。当然,这是任何基于阈值的技术的已知问题。现在我们该如何处理?下面是这种情况的一个例子。仅保留 0.9 的建议,其他建议将被删除。这降低了模型的精度。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

处理这种情况的简单而有效的方法是使用软 NMS。思路很简单——“不是完全剔除 IOU 高、可信度高的提案,而是降低与 IOU 值成正比的提案的可信度”。现在让我们把这个想法应用到上面的例子中。不是完全删除得分为 0.8 的建议,而是保留这些建议,但降低其得分,如下图所示。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Soft-NMS

正如我前面提到的,两份建议书的 0.4 分都是根据借据价值计算的。分数计算如下

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

si — score of proposal i, bi — box corresponding to proposal i, M — box corresponding to maximum confidence, Nt — IOU threshold

因此,这只是 NMS 算法实现中的一行变化,它在很大程度上提高了精度。下图显示了两种算法(NMS 和软 NMS),这是我从软 NMS 论文。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这些技术对于过滤单个模型的预测很有效,如果您有来自多个模型的预测呢?加权盒融合是一种结合目标检测模型预测的新方法。查看我的文章以了解更多信息。

[## 加权盒融合

一种组合来自集合目标检测模型的盒子的方法

towardsdatascience.com](/weighted-boxes-fusion-86fad2c6be16)

我在下面的参考资料中给出了 NMS 和软 NMS 实现的 github 链接。这就是这篇文章的全部内容,非常感谢你和我在一起。

参考文献:

  1. 【https://arxiv.org/pdf/1704.04503.pdf
  2. https://github . com/rbgirshick/fast-rcnn/blob/master/lib/utils/NMS . py
  3. https://github.com/bharatsingh430/soft-nms
  4. https://github.com/DocF/Soft-NMS—Python 实现。

订阅 FOCUS——我的每周简讯,获取人工智能的最新更新和最新进展,以及来自机器学习媒体的精选故事。

假设检验中的非参数检验

原文:https://towardsdatascience.com/non-parametric-tests-in-hypothesis-testing-138d585c3548?source=collection_archive---------7-----------------------

KS 测试、曼-惠特尼 U 测试、KW 测试等等

z 检验,学生 T 检验,配对 T 检验,ANOVA,MANOVA?实际上,它们都属于参数统计家族,该家族假设样本数据来自可以通过概率分布充分建模的人群,该概率分布具有一组固定的参数(平均值、标准偏差),也称为正态分布

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Normal Distribution

参数测试通常假设三件事:

  • 病例的独立性:样本是独立的观察值
  • 正态性:样本数据来自正态分布(或者至少是对称)
  • 方差齐性:样本数据来自具有相同方差的总体

然而,在现实生活中,这些假设几乎无法满足。非参数检验的假设要宽松得多,它们要么是无分布的,要么是有指定的分布,但分布的参数未指定。

我们什么时候使用非参数测试?

在我最近的项目中,我比较了有折扣和没有折扣时消费者购买调味品的平均数量。显然这两个样本分布不是参数分布。这是否意味着我不能使用参数测试?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

不一定。

别忘了中心极限定理!样本看起来不对称并不一定意味着总体不是正态分布的。中心极限定理表明如果样本量足够大,任何独立随机变量的均值的抽样分布将是正态或接近正态的。多大才算够大?通常,当总体分布大致呈钟形时,样本量至少为 30 是安全的。

正态性检验

如果样本量很小(小于 30),第一步总是检验总体的正态性。 Kolmogorov-Smirnov 检验(KS 检验)可用于此!Kolmogorov–Smirnov 统计量量化了样本的经验分布函数和参考分布的累积分布函数之间的距离,或者两个样本的经验分布函数之间的距离。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

KS 检验的无效假设是样本取自参考分布。在 Python 中,使用 Scipy 库非常容易。

import scipy.stats as statst, pvalue = stats.kstest(sample, 'norm')

假设你的阿尔法水平是 0.05。如果 p 值大于 0.05,这意味着您不能拒绝空值。你可以说样本来自正态分布,置信水平为 95%。

方差相等性检验

如果你的样本足够大,检验方差的相等性(homoscedasticity)实际上更重要。Levene 的测试就是为此而设计的。Levene 检验可用于评估两组或多组变量的方差相等性。Levene 检验的无效假设是样本取自方差相同的总体。如果观察到显著的结果,应该转换到像韦尔奇的 T 检验或其他非参数检验。

python 代码如下:

import scipy.stats as statst, pvalue = stats.levene(sample1, sample2, ..., center = 'mean')

请注意,“中心”可以是平均值、中间值或修整值。

常用的非参数检验

Kolmogorov-Smirnov 检验(2 个样本的 KS 检验)

这是对两个独立样本取自同一连续分布的零假设的双边检验。如果 K-S 统计量很小或者 p 值很高,那么我们不能拒绝两个样本的分布相同的假设。

import scipy.stats as statst, pvalue = stats.ks_2samp(sample1, sample2) 

曼-惠特尼 U 检验(2 样本 t 检验的非参数版本)

当因变量不是正态分布时,Mann-Whitney U 检验通常用于比较两个独立组之间的差异。它通常被认为是独立 t 检验的非参数替代方法。Mann-Whitney U 的零假设是从具有相同分布的总体中选择两个独立的样本。

import scipy.stats as statst, pvalue = stats.mannwhitneyu(sample1,sample2, alternative=None) 

克鲁萨尔-沃利斯 H 检验(KW 检验——单向方差分析的非参数版本)

Krusal-Wallis H-test 检验所有组的人口中位数相等的零假设。它是方差分析的非参数版本。一个显著的 Kruskal-Wallis 检验表明,至少一个样本随机支配另一个样本。测试并不确定这种随机优势发生在哪里,也不确定有多少对群体获得随机优势。因此,需要在组之间进行事后比较,以确定哪些组是不同的。

import scipy.stats as statst, pvalue = stats.kruskal(sample1, sample2, ...,) 

作为一个总结,在选择任何测试方法之前,总是要确保你有一个坚实而清晰的假设陈述,说明你是在测试均值还是分布。

然后,确保您的样本数据和总体符合您将要进行的测试的假设。正态性和方差是需要考虑的事情。然后如果你最终得到的是非参数测试,玩得开心,正确解读!下面的流程图在选择最佳测试时非常方便。

享受测试!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Hypothesis Tests Flow Chart

非线性动力学和混沌

原文:https://towardsdatascience.com/nonlinear-dynamics-and-chaos-14b20a41c19a?source=collection_archive---------20-----------------------

这篇文章是我最近从圣达菲研究所的在线课程中学到的非线性动力学和混沌理论的总结。所有的材料都归研究所所有。

[## 复杂性浏览器

关于课程:在本课程中,你将学习科学家用来理解复杂系统的工具。的…

www.complexityexplorer.org](https://www.complexityexplorer.org/courses/97-introduction-to-complexity)

动力学是数学的一个分支,研究系统如何随时间变化。直到 18 世纪,人们都相信,只要知道*“所有使自然运动的力量,以及组成自然的所有项目的所有位置”*(那个人被称为拉普拉斯恶魔),未来就可以被完美地预测。

现在,假设我们相信世界是完全确定的,那么这个陈述是有意义的。问题是在现实中,测量值(例如力和位置)通常是近似值。我们当时没有意识到的是,即使一个人知道所有变量的值,一个稍微不准确的近似值可能会导致完全不同的未来。这相当令人沮丧,因为它表明,在现实中,即使我们可以建立一个类似拉普拉斯恶魔的超级计算机,为了让它对未来做出任何有意义的预测,所有变量的值都必须完美地获得;一点偏差都不允许。这种*“初始条件的小差异在最终现象中产生非常大的差异”*(庞加莱)的现象是用混沌理论来研究的。

在下一节中,我们将探索一个简单的动态系统,并展示它如何产生混沌。

人口模型

假设一个地方的人口增长可以用下面的等式来模拟。在时间 t+1 的人口数 n(t+1)等于在时间 t 的当前人口数 n(t)减去死亡率,用 n(t) /k 表示,或者一个地方相对于最大允许人口数 k 的人口过剩程度,乘以新生儿出生率。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

通过一些代数运算,我们可以把它转换成一个三变量的方程。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

关于 x(t)和 x(t+1)的最后一个方程是迭代方程的典型例子。为了更直观地了解这个等式意味着什么,我们将用三张图来分析它。所有这些模拟都是用 netlogo 完成的。课程中也提供了代码。

x(t)与 x(t+1)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

该图表(或地图)绘制了当前状态 x(t)与下一个状态 x(t+1)的关系。我们可以看到图表上显示了一个单峰地图(这基本上是一个 Rx{t}(1-x{t})的图)。随着时间的推移,我们追踪这个点的行程,我们可以看到它在 x 等于 0.64 之前振荡了一段时间。

然而,如果我们将参数 R 的值设置为其他值,比如 3,这种行为就会改变。该点永远在两个位置之间振荡。它仍然稳定下来,虽然不是在一个静态的位置,而是两个可能的值。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

t 对 x(t)

对于上面的每个逻辑图,我们还可以看到点的位置是如何随时间变化的,即通过绘制时间 t 对 x(t)的曲线。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

R = 2.82

对于第一个逻辑图(R = 2.82),我们看到 x 的值最终稳定为单一值。这就是为什么我们看到前面图表中的蓝点在一段时间后停止移动。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

R = 3.2

同时,对于第二个逻辑图(R = 3.2),我们看到 x 最终在两个值之间振荡,这解释了为什么之前图表中的蓝点永远在两个位置之间移动。

r 对 x

请记住,从 x(t) vs x(t+1)图表中可以看出,R 的值决定了动态如何随时间收敛。在这一节中,我们将绘制 R 与系统稳定下来的稳定点数的关系图(也称为吸引子)。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们可以看到,对于 R = 2.82,只有一个吸引子(大约 0.64 到 0.65),而对于 R =3.2,观察到两个吸引子。注意,随着 R 的增加,吸引子的数量有增加的趋势。在某一点上(当 R 约为 3.569946……),吸引子的数量达到无穷大(见图中深色阴影区域)。此时,系统振荡幅度很大,几乎没有显示任何模式。这一点也被称为混沌的开始。

混乱

当吸引子的数量巨大时,从不同条件出发的两个点不会收敛到同一个稳定点。这与例如当 R = 2.82 时不同,在 R = 2.82 时,无论初始点是什么,系统最终都将收敛到相同的吸引子。

在混沌开始时,有时一个稍微不同的初始点会导致非常不同的结果。例如,请参见下面的模拟。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

两个点,一个从 0.20000 开始,另一个从 0.20001 结束,当 R = 4 时,轨迹完全不同(参考分叉图,我们看到这导致了巨大数量的吸引子)。

混沌的普遍性

现在研究人员开始询问一个混沌系统是否完全混沌。似乎可以从这种系统中观察到一些模式。

例如,科学家发现所有单峰/单峰地图都有一个共同的费根鲍姆常数。这是通过将分支点(也称为分叉)之间的电流间隙与下一个电流间隙之比得出的。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Lines marking all bifurcations

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Feigenbaum Constant

对此的解释是,每次分叉发生的速度大约是前一次的 4.6692016 倍。这一发现让我们看到了“混沌中有秩序”的希望。

摘要

在这篇文章中,我们通过剖析一个人口增长模型简要分析了非线性动力学和混沌。这是圣达菲学院提供的复杂系统课程的一部分。

数据科学家的非技术性职业技能

原文:https://towardsdatascience.com/nontechnical-career-skills-for-data-scientists-b420d592aba6?source=collection_archive---------26-----------------------

苹果 | 谷歌 | SPOTIFY | 其他 | 剪辑

苏珊·霍尔科姆在 TDS 播客

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

编者按:这是迈向数据科学播客“攀登数据科学阶梯”系列的第三集,由 Jeremie Harris、Edouard Harris 和 Russell Pollari 主持。他们一起经营一家名为sharpes minds的数据科学导师创业公司。可以听下面的播客:

很容易将数据科学视为一门技术学科,但在实践中,事情并不真的是这样。如果你要成为一名成功的数据科学家*,人们*将需要相信你能增加价值以便雇佣你,人们将需要相信你的宠物项目以便在你的公司内部认可它,人们将需要根据你从数据中得出的见解做出决策。

虽然很容易忘记人的因素,但如果你想爬上数据科学的阶梯,获得第一份工作或你追求的晋升,管理它是你可以发展的最有用的技能之一。这就是为什么我们采访了世界上第一家智能手表公司 Pebble 的前数据主管 Susan Holcomb。

当 Pebble 第一次聘用她时,苏珊刚刚从物理学研究生院毕业,从未领导过团队,也没有与初创公司高管打过交道。随着公司的发展,她必须想办法让 Pebble 的领导层支持她努力推动公司朝着更加数据驱动的方向发展,同时她还必须第一次管理一个数据科学家团队。在我们的谈话中,Susan 讲述了她从这个过程中学到的很多东西:

  • 重要的是要考虑你的个性与你的目标角色有多契合。如果你想在早期创业公司工作,那很好——但不要指望能整天摆弄模型和优化 AUC 分数。越早进入公司的舞台,你就越需要扮演一个多面手的角色。这通常意味着同时担任分析师、数据科学家和数据工程师。
  • 数据科学家是问题解决者,而不是算法生成者。苏珊加入 Pebble 后不久,她注意到自己的数据中有一个异常:似乎许多用户都是在带着智能手表睡觉的。她主动在办公室里做了一项民意调查,果然,结果是 10%的人都是这么做的。这种见解导致了一套强大的睡眠跟踪和健康监测功能,远远领先于他们的时代。其中大多数没有使用像神经网络这样的复杂算法,甚至没有决策树;他们是简单的基于规则的系统,但他们做到了。这个故事的寓意是:优秀的数据科学家不会过度设计花哨的算法——他们能快速发现数据趋势,并利用它们解决明显的业务问题。
  • 大多数人都不擅长向他人寻求推荐或技术帮助。他们最终在 LinkedIn 上给人们发信息,却没有给他们提供价值(例如,“我想知道你是否可以把我介绍给你网络中的一些人……”),或者在招聘人员找工作时向他们发送数百封自我服务、复制/粘贴的电子邮件。值得花时间研究你联系的人,并在你的信息中向他们展示你已经做到了。猜测他们的问题可能是什么(例如,“我在看你的网站,注意到你的产品推荐并不像他们应该的那样具体……”),并在询问你想要什么之前提供解决方案(“我有一些关于你可以改进的方法的想法……”)。

不幸的是,数据科学家经常忽视该行业的商业和个人现实,但与 Susan 的交谈明确了一件事:当你允许自己以更人性化的视角看待该领域时,数据科学中的个人成长(和职业发展)会变得容易得多。

TDS 播客—剪辑

如果你在推特上,随时欢迎和我联系 @jeremiecharris

正态性检验:图解方法

原文:https://towardsdatascience.com/normality-testing-the-graphical-way-20902abd8543?source=collection_archive---------32-----------------------

下面的要点提供了全部代码

在处理回归问题时,有一些特定的假设是适用的。以线性回归为例,我们有以下假设-

1)我们在自变量和目标变量之间有一个线性关系。
2)我们的数据是同方差的
3)残差具有正态分布
4)最小多重共线性

本笔记的主题是第三点:我们如何知道线性回归模型的残差是正态分布的?这就引出了一个更普遍的问题。给定一个数据集,我们能说数据是正态分布的吗?这似乎是一个相当小的问题,只需绘制数据的直方图,看看它是否像正态分布。直方图可能具有欺骗性,它取决于您选择的箱数,而箱数又取决于可用数据点的数量。

幸运的是,我们可以使用某些工具来确定一个数据集是否来自正态分布。

在这本笔记本中,我们将介绍两种图形工具:
1)图形方式:直方图
2)图形方式:分位数-分位数(qq)图

用于确定数据是否来自正态分布的检验称为正态性检验。

在我们进入之前,让我们设置一个问题。我们生成一个数据集并建立一个线性回归问题。我们给它拟合一个模型,得到残差。

# # generate data and visualize it
np.random.seed(1)
x = np.arange(0,1000)
noise = np.random.normal(0,10,1000)
slope = 0.1
b = 5.0y = (slope*x)+b 
y_noised = y+noise# test train split 
x_train, x_test, y_train, y_test = train_test_split(x,y_noised, test_size=0.2, random_state=1)x_train_shape = x_train.shape[0]
y_train_shape = y_train.shape[0]x_train_reshaped = x_train.reshape(x_train_shape, 1)
y_train_reshaped = y_train.reshape(y_train_shape, 1)x_test_shape = x_test.shape[0]
x_test_reshaped = x_test.reshape(x_test_shape, 1)# fitting the model in sklearn 
lr = LinearRegression()
lr.fit(x_train_reshaped, y_train_reshaped)pred_slope = lr.coef_
pred_b = lr.intercept_
y_pred= lr.predict(x_test_reshaped)
residuals = y_test — y_pred.reshape(y_pred.shape[0],)# fitting the model line to the data 
model_line = (pred_slope*x)+pred_b
model_line_reshaped = model_line.reshape(model_line.shape[1])fig = make_subplots(rows=1, cols=2,subplot_titles=[“Linear data”, “Residual Plot”])fig.add_trace(go.Scatter(x=x,y=y_noised, mode=’markers’, marker={‘color’:’green’}, name=”noised data”), row=1, col=1)
fig.add_trace(go.Scatter(x=x, y=model_line_reshaped, mode=’lines’, marker={‘color’:’red’}, name=’model’), row=1, col=1)
fig.add_trace(go.Scatter(x=x_test, y=residuals, mode=’markers’, marker={‘color’:’blue’}, name=’residuals’), row=1, col=2)fig.update_xaxes(title_text=”x” ,row=1, col=1)
fig.update_xaxes(title_text=”x”, row=1, col=2)
fig.update_yaxes(title_text=”Y noised”, row=1, col=1)
fig.update_yaxes(title_text=”error = predicted-observed” , row=1, col=2)
fig.update_layout(title_text=”Figure 1")iplot(fig)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

直方图的问题

图 1 右边的图是残差图。残差是实际值(图 1 左侧图中的绿点)和预测值(红线)之间的差值。线性回归的假设之一是残差来自正态分布,另一种说法是直方图类似正态分布。请看下面的图 2。直方图具有单峰,在面元-5 到 0 周围有 20 个面元,并在两侧下降。但是,我们能说这个直方图代表的是正态分布吗?也许吧。当我们改变箱的大小时,我们的结论变得更加模糊,因为没有简单的方法来说明正态分布的峰值在哪里。这使得我们很难判断哪种箱大小适合解释分布。

直方图是说明数据来自正态分布的一种图形方式,但直方图可能具有欺骗性,因为改变条柱的数量会改变分布的形状,这可能会导致一些混淆。我们需要一种更好的方法来识别数据是否来自正态分布。这就是分位数-分位数图的用处。

residual_df = pd.DataFrame(data=residuals,columns=[“residuals”])# callback function for the slider**def** change_bins(number_bins):
 return px.histogram(residual_df, x=”residuals”, nbins=int(number_bins), title=”Figure 2")slider_obj = widgets.FloatSlider(value=20, min=10, max=100,step=5, description=”Num of bins”, continuous_update=False)
interact(change_bins, number_bins=slider_obj);

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

使用 Plotly 的简单分位数-分位数图

使用直方图的替代方法是使用分位数-分位数图。分位数-分位数图(qq 图)是一种散点图,其中我们绘制数据集值与从数据集确定的分位数的正态分布值。qq 图的 y 坐标是数据集值,x 坐标是正态分布的值。

为了生成分位数-分位数图的数据,我们必须定义需要正态分布值的分位数,所以首先我们写-

num_divisions = residuals.shape[0]+1
quantiles = np.arange(1,residuals.shape[0])/num_divisions 

num_divisions 告诉我们在正态分布中我们需要多少个除法。如果你运行上面的代码,你会看到分位数是-

[0.00497512, 0.00995025, 0.01492537, 0.0199005 …]

所以如果一个数据集中有n个数据点,我们需要把正态分布分成n+1个区域,从正态分布得到n

例如,在我们的案例中,数据集中有 200 个点,因此我们需要在正态分布中有 201 个分区。一旦我们有了分位数值,我们就将它们插入 ppf 函数。这是累积分布的倒数,它给出了给定分位数值的正态分布的 z 得分。

我们输入到 ppf 函数中的分位数值只不过是正态曲线下面积与 1 的比值。

 qq_x_data = sps.norm.ppf(quantiles) 

这些值是 qq 图的 x 值,我们通过对残差排序得到 y 值

qq_y_data = np.sort(residuals) 

接下来,我们需要获取绘制参考线的数据。为此,我们需要两点来确定直线的斜率和 y 轴截距。为此,我们将采用克里夫兰在可视化数据方面的建议[1]。
第一个和第三个四分位数的 x 值将来自正态分布。y 值将来自我们的有序数据集。因此我们写道-

# guide line data
line_x0 = sps.norm.ppf(0.25)
line_x1 = sps.norm.ppf(0.75)line_y0 = np.quantile(residuals, 0.25)
line_y1 = np.quantile(residuals, 0.75)

用这两点我们组成一条线-

slope = (line_y1-line_y0)/(line_x1-line_x0)
line_intercept = line_y1 — (slope*line_x1)x_range_line = np.arange(-3,3,0.001)
y_values_line = (slope*x_range_line) + line_intercept

注意:不要对 qq 图上的点拟合回归线,这将不会满足线性回归的假设(想想吧!为什么?)

现在我们有了 qq 图和参考线的数据,我们将使用 plotly 来绘制它们。

fig = go.Figure()fig.add_trace(go.Scatter(x=qq_x_data,
 y=qq_y_data,
 mode=’markers’,
 marker={‘color’:’blue’},
 name=”qq data”))
fig.add_trace(go.Scatter(x=x_range_line,
 y=y_values_line,
 mode=’lines’,
 marker={‘color’:’red’},
 name=”guide line”))fig[‘layout’].update(title=’Figure 3',
 xaxis={
 ‘title’: ‘Theoritical Quantities’,
 ‘zeroline’: True
 },
 yaxis={
 ‘title’: ‘Sample Quantities’
 },
 showlegend=True,
 )iplot(fig)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

看一个 qq 图的方法是看有多少点落在参考线上。如果大多数点落在这条线上,那么我们假设数据代表正态分布。如果大多数点不遵循这一趋势,那么我们可以说数据不具有正常趋势。通常在这种情况下,我们应该尝试其他的正态性检验,如安德森-达林检验、KS 检验等,以确保数据不是正态的。我们将在下一个笔记本中深入研究,看看如何结合和解释正态性的图形和假设检验。

从该图中可以得出的主要结论是,qq 图是解读数据集是否遵循正态分布的简单图形方式。

分位数-各种分布数据的分位数图

在本节中,我们将研究来自不同分布类型的数据,并展示如何使用 qq 图将它们与正态分布进行比较。

假设我们有一个服从均匀分布的数据集。那么 qq 剧情看起来就不一样了。

uniform_data = np.random.uniform(0,10,1000)num_divisions = uniform_data.shape[0]+1
quantiles = np.arange(1,uniform_data.shape[0])/num_divisions# scatter data 
qq_uniform_x = sps.norm.ppf(quantiles)
qq_uniform_y = np.sort(uniform_data)line_y0 = np.quantile(uniform_data, 0.25)
line_y1 = np.quantile(uniform_data, 0.75)slope = (line_y1-line_y0)/(line_x1-line_x0)
line_intercept = line_y1 — (slope*line_x1)# points to plot the line 
x_uniform = np.arange(-3,3,0.001)
y_uniform = (slope*x_range_line) + line_interceptfig = make_subplots(rows=1, cols=2,subplot_titles=[“Data histogram”, “QQ plot”])fig.add_trace(go.Histogram(x=uniform_data,
 name=”uniform data”),
 row=1,
 col=1)
fig.add_trace(go.Scatter(x=qq_uniform_x,
 y=qq_uniform_y,
 mode=’markers’,
 marker={‘color’:’blue’},
 name=”qq data”),
 row=1,
 col=2)
fig.add_trace(go.Scatter(x=x_uniform,
 y=y_uniform,
 mode=’lines’,
 marker={‘color’:’red’},
 name=”guide line”),
 row=1,
 col=2)fig.update_xaxes(title_text=”data values”, row=1, col=1)
fig.update_xaxes(title_text=”theoretical quantiles”, range=[-4,4], row=1, col=2)
fig.update_yaxes(title_text=”Count”, row=1, col=1)
fig.update_yaxes(title_text=”observed quantiles” , row=1, col=2)iplot(fig)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

您可以看到分散点呈 s 形曲线,许多点不在参考线上。这是一个好迹象,表明观察到的数据不是来自正态分布。在直方图中也可以看到同样的情况。

事实上,我们可以对许多其他分布类型这样做。这是一个比较残差数据和多重分布的图表。为此,我们将使用 ipython 小部件将多个情节浓缩成 plotly。

在分布函数中探讨分布的参数,以生成不同形状的数据分布。例如,更改对数正态分布的平均值和标准差,以查看直方图和 qq 图会发生什么变化。这将有助于您查看不同类型的数据及其 qq 图。

def get_qqdata(observed_data):
 np.random.seed(0)
 num_divisions = observed_data.shape[0]+1
 quantiles = np.arange(1,observed_data.shape[0])/num_divisions# scatter data 
 qq_x = sps.norm.ppf(quantiles)
 qq_y = np.sort(observed_data)line_y0 = np.quantile(observed_data, 0.25)
 line_y1 = np.quantile(observed_data, 0.75)slope = (line_y1-line_y0)/(line_x1-line_x0)
 line_intercept = line_y1 — (slope*line_x1)# points to plot the line 
 x_line = np.arange(-3,3,0.001)
 y_line = (slope*x_range_line) + line_interceptqq_data = {‘qqx’: qq_x, ‘qqy’:qq_y, ‘linex’: x_line, ‘liney’:y_line}

 return qq_datadef dist_qqplot(dist_data, dist_name) :
 qq_data = get_qqdata(dist_data)fig = make_subplots(rows=1, cols=2,subplot_titles=[“Data histogram”, “QQ plot”])
 fig.add_trace(go.Histogram(x=dist_data, name=dist_name), row=1, col=1)
 fig.update_xaxes(title_text=”data values” ,row=1, col=1)
 fig.add_trace(go.Scatter(x=qq_data[“qqx”] , y=qq_data[“qqy”], mode=’markers’, marker={‘color’:’blue’}, name=”qq data”), row=1,col=2)
 fig.add_trace(go.Scatter(x=qq_data[“linex”], y=qq_data[“liney”], mode=’lines’, marker={‘color’:’red’}, name=”guide line”), row=1,col=2)fig.update_xaxes(title_text=”theoretical quantiles”, range=[-4,4], row=1, col=2)
 fig.update_yaxes(title_text=”Count”, row=1, col=1)
 fig.update_yaxes(title_text=”observed quantiles” , row=1, col=2)

 return iplot(fig)def distributions(dist): 

 # change parameter values here to see how the qq plot can change
 selected_data ={“triangular”: np.random.triangular(10,100,115,1000),
 ‘lognormal’: np.random.lognormal(10,1,1000),
 ‘chi square’: np.random.chisquare(8,1000)}

 return dist_qqplot(selected_data[dist], dist )toggle_obj = widgets.ToggleButtons(description=”Distribution:”, options=[“triangular”,”lognormal”, “chi square”])
interact(distributions, dist=toggle_obj);

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Histogram and qq plot for a triangular distribution with right value = 10, mode = 100, left = 115 with 1000 samples.

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Histogram and qq plot for a lognormal distribution with a mean = 10 and std dev = 1. 1000 samples were generated

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Histogram and qq plot for a chi-square distribution with degree of freedom = 8 and 1000 samples are generated

标准化与规范化—定量分析

原文:https://towardsdatascience.com/normalization-vs-standardization-quantitative-analysis-a91e8a79cebf?source=collection_archive---------0-----------------------

停止使用 Sklearn 的 StandardScaler 作为默认的特征缩放方法可以让你的精度提高 7%,即使你的超参数已经调好了!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

https://365datascience.com/standardization/

每个 ML 从业者都知道特征缩放是一个重要的问题(在这里阅读更多)。

讨论最多的两种缩放方法是规范化和标准化。 正常化 通常意味着将值重新调整到[0,1]的范围内。 标准化 通常意味着重新调整数据,使平均值为 0,标准差为 1(单位方差)。

在这篇博客中,我进行了一些实验,并希望回答如下问题:

  1. 我们应该总是缩放我们的特征吗?
  2. 有没有单一的最佳缩放技术?
  3. 不同的缩放技术如何影响不同的分类器?
  4. 我们应该考虑缩放技术作为我们模型的一个重要的超参数吗?

我将分析在多个实验设置中对特征应用不同缩放方法的实验结果。

竞赛表格

  • 0.我们为什么在这里?
  • 1.现成的分类器
  • 2.分类器+缩放
  • 3.分类器+缩放+ PCA
  • 4.分类器+缩放+ PCA +超参数调整
  • 5.更多的数据集:
  • — 5.1 澳大利亚的降雨数据集
  • — 5.2 银行营销数据集
  • — 5.3 收入分类数据集
  • — 5.4 收入分类数据集
  • 结论

0.我们为什么在这里?

首先,我试图理解规范化和标准化之间的区别。因此,我遇到了 Sebastian Raschka 写的这个优秀的博客,它提供了满足我好奇心的数学背景。如果您不熟悉规范化或标准化概念,请花 5 分钟时间阅读本博客。
著名的 Hinton 在这里也对处理使用梯度下降方法(如神经网络)训练的分类器时缩放特征的需要做了很好的解释。

好吧,我们抓了些数学,就这样?不完全是。当我检查流行的 ML 库 Sklearn 时,我看到有许多不同的缩放方法。有一个伟大的形象化的不同的定标器对有异常值的数据的影响。但他们没有显示它如何影响不同分类器的分类任务。

我看到很多 ML pipelines 教程使用 StandardScaler(通常称为 Z-score 标准化)或 MinMaxScaler(通常称为 min-max 归一化)来缩放特征。为什么没有人使用其他缩放技术进行分类?有没有可能 StandardScaler 或者 MinMaxScaler 是最好的缩放方法?
我在教程中没有看到任何关于为什么或何时使用它们的解释,所以我想通过运行一些实验来研究这些技术的性能。这就是这款笔记本的全部内容

项目详情

像许多数据科学项目一样,让我们读取一些数据,并用几个现成的分类器进行实验。

资料组

声纳数据集。它包含 208 行和 60 个特征列。这是一项分类任务,以区分从金属圆柱体反弹的声纳信号和从大致圆柱形的岩石反弹的信号。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这是一个平衡的数据集:

sonar[60].value_counts() # 60 is the label column nameM    111
R     97

该数据集中的所有要素都在 0 到 1 之间,但是不能保证 1 是每个要素中的最大值或 0 是最小值。

我选择这个数据集是因为,一方面,它很小,所以我可以很快地进行实验。另一方面,这是一个困难的问题,没有一个分类器达到接近 100%的准确率,所以我们可以比较有意义的结果。

在最后一节中,我们将尝试更多的数据集。

代码

作为预处理步骤,我已经计算了所有的结果(这需要一些时间)。所以我们只加载结果文件并使用它。

产生结果的代码可以在我的 GitHub 中找到:
https://GitHub . com/shaygeller/Normalization _ vs _ standardization . git

我从 Sklearn 中挑选了一些最流行的分类模型,表示为:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(MLP 是多层感知器,一种神经网络)

我使用的定标器表示为:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

*不要混淆 Normalizer,上面列表中的最后一个缩放器和我之前讨论的最小-最大归一化技术。最小-最大归一化是列表中的第二个,命名为 MinMaxScaler。Sklearn 的规格化器类将样本分别规格化为单位范数。它不是基于列的,而是基于行的标准化技术。

实验详情:

  • 当需要再现性时,使用相同的种子。
  • 我随机将数据分成 80%-20%的训练测试集。
  • 所有结果都是来自训练集的 10 倍随机交叉验证分割的准确度分数。
  • 我在这里不讨论测试集的结果。通常,测试集应该保持隐藏,并且我们关于分类器的所有结论应该仅来自交叉验证分数。
  • 在第 4 部分中,我执行了嵌套交叉验证。一个内部交叉验证使用 5 个随机分割进行超参数调整,另一个外部 CV 使用 10 个随机分割使用最佳参数获得模型得分。同样在这一部分中,所有数据仅取自训练集。一张图胜过千言万语:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

https://sebastianraschka.com/faq/docs/evaluate-a-model.html

让我们阅读结果文件

import os
import pandas as pdresults_file = "sonar_results.csv"
results_df = pd.read_csv(os.path.join("..","data","processed",results_file)).dropna().round(3)
results_df

1.现成的分类器

**import** operatorresults_df.loc[operator.and_(results_df["Classifier_Name"].str.startswith("_"), **~**results_df["Classifier_Name"].str.endswith("PCA"))].dropna()

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

不错的结果。通过查看 CV_mean 列,我们可以看到目前 MLP 领先。SVM 表现最差。

标准差也差不多,所以主要可以通过平均分来判断。以下所有结果将是 10 倍交叉验证随机分裂的平均分数。

现在,让我们看看不同的缩放方法如何改变每个分类器的分数

2.分类器+缩放

import operator
temp = results_df.loc[~results_df["Classifier_Name"].str.endswith("PCA")].dropna()
temp["model"] = results_df["Classifier_Name"].apply(lambda sen: sen.split("_")[1])
temp["scaler"] = results_df["Classifier_Name"].apply(lambda sen: sen.split("_")[0])def df_style(val):
    return 'font-weight: 800'pivot_t = pd.pivot_table(temp, values='CV_mean', index=["scaler"], columns=['model'], aggfunc=np.sum)
pivot_t_bold = pivot_t.style.applymap(df_style,
                      subset=pd.IndexSlice[pivot_t["CART"].idxmax(),"CART"])
for col in list(pivot_t):
    pivot_t_bold = pivot_t_bold.applymap(df_style,
                      subset=pd.IndexSlice[pivot_t[col].idxmax(),col])
pivot_t_bold

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第一行,没有索引名称的一行,是没有应用任何缩放方法的算法。

import operatorcols_max_vals = {}
cols_max_row_names = {}
for col in list(pivot_t):
    row_name = pivot_t[col].idxmax()
    cell_val = pivot_t[col].max()
    cols_max_vals[col] = cell_val
    cols_max_row_names[col] = row_name

sorted_cols_max_vals = sorted(cols_max_vals.items(), key=lambda kv: kv[1], reverse=True)print("Best classifiers sorted:\n")
counter = 1
for model, score in sorted_cols_max_vals:
    print(str(counter) + ". " + model + " + " +cols_max_row_names[model] + " : " +str(score))
    counter +=1

每个模型的最佳分类器:

1.SVM +标准缩放器:0.849
2。MLP +电源变压器-Yeo-Johnson : 0.839
3。KNN + MinMaxScaler : 0.813
4。LR +量化转换器-统一:0.808
5。n b+ power transformer-Yeo-Johnson:0.752
6。LDA+power transformer-Yeo-Johnson:0.747
7。手推车+量化器-制服:0.74
8。射频+归一化因子:0.723

让我们分析结果

  1. 没有一个单一的缩放方法可以统治所有的人。
  2. 我们可以看到缩放改善了结果。SVM、MLP、KNN 和 NB 从不同的扩展方法中得到了显著的提升。
  3. 请注意,NB、RF、LDA、CART 不受某些缩放方法的影响。这当然与每个分类器的工作方式有关。树不受缩放的影响,因为分割标准首先对每个要素的值进行排序,然后计算分割的基尼\熵。一些缩放方法保持这种顺序,因此准确度分数没有变化。
    NB 不受影响,因为模型的先验由每个类中的计数决定,而不是由实际值决定。线性判别分析(LDA)使用类之间的变化来找到它的系数(检查这个,所以缩放也无关紧要。
  4. 一些缩放方法,如 QuantileTransformer-Uniform,不保留每个特征中值的确切顺序,因此即使在上述分类器中分数也会发生变化,而这些分类器对其他缩放方法是不可知的。

3.分类器+缩放+PCA

我们知道一些众所周知的 ML 方法如 PCA 可以从缩放中获益(博客)。让我们尝试将 PCA(n_components=4)添加到管道中,并分析结果。

import operator
temp = results_df.copy()
temp["model"] = results_df["Classifier_Name"].apply(lambda sen: sen.split("_")[1])
temp["scaler"] = results_df["Classifier_Name"].apply(lambda sen: sen.split("_")[0])def df_style(val):
    return 'font-weight: 800'pivot_t = pd.pivot_table(temp, values='CV_mean', index=["scaler"], columns=['model'], aggfunc=np.sum)
pivot_t_bold = pivot_t.style.applymap(df_style,
                      subset=pd.IndexSlice[pivot_t["CART"].idxmax(),"CART"])
for col in list(pivot_t):
    pivot_t_bold = pivot_t_bold.applymap(df_style,
                      subset=pd.IndexSlice[pivot_t[col].idxmax(),col])
pivot_t_bold

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

让我们分析结果

  1. 大多数时候缩放方法使用 PCA 改进模型,但是没有具体的缩放方法负责。
    我们再来看“QuantileTransformer-Uniform”,这个方法得分最高的占大多数。
    在 LDA-PCA 中,它将结果从 0.704 提高到 0.783(准确度提高了 8%!),但在 RF-PCA 中却让事情变得更糟,从 0.711 降到 0.668(准确率下降 4.35%!)
    另一方面,使用带有“QuantileTransformer-Normal”的 RF-PCA,将精度提高到 0.766(精度跃升 5%!)
  2. 我们可以看到,PCA 只是提高了 LDA 和 RF,所以 PCA 不是一个神奇的解决方案。
    没事。我们没有超调 n_components 参数,即使我们这样做了,PCA 也不能保证改善预测。
  3. 我们可以看到,StandardScaler 和 MinMaxScaler 仅在 16 个案例中的 4 个案例中取得最佳成绩。所以我们应该仔细考虑选择什么样的缩放方法,即使是默认的缩放方法。

我们可以得出结论,尽管 PCA 是一种受益于缩放的已知成分,但没有一种缩放方法总能改善我们的结果,其中一些方法甚至会造成伤害(带标准缩放器的 RF-PCA)。

数据集在这里也是一个重要因素。为了更好地理解缩放方法对 PCA 的影响,我们应该对更多样化的数据集进行实验(类别不平衡、不同尺度的特征以及具有数值和分类特征的数据集)。我在第 5 节做这个分析。

4.分类器+缩放+PCA+超参数调整

对于给定的分类器,不同的缩放方法之间的准确度分数有很大的差异。人们可以假设,当超参数被调整时,缩放技术之间的差异将是微小的,我们可以使用 StandardScaler 或 MinMaxScaler,就像在网络上的许多分类管道教程中使用的那样。让我们检查一下!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

第一,NB 不在这里,那是因为 NB 没有参数可以调。

我们可以看到,与上一步的结果相比,几乎所有的算法都受益于超参数调整。一个有趣的例外是 MLP,结果更糟。这可能是因为神经网络很容易过度拟合数据(特别是当参数的数量远大于训练样本的数量时),我们没有仔细地提前停止以避免它,也没有应用任何正则化。

然而,即使调整了超参数,使用不同缩放方法的结果之间仍然存在很大差异。如果我们将不同的缩放技术与广泛使用的标准缩放技术进行比较,当使用其他技术时,我们可以获得高达 7%的精度提升 (KNN 列)。

从这一步得出的主要结论是,即使调整了超参数,改变缩放方法也会显著影响结果。因此,我们应该将标度方法视为我们模型的一个关键超参数。

第 5 部分包含对更多样化的数据集的更深入的分析。如果不想深究,可以直接跳到结论部分。

5.更多的数据集

为了更好地理解和得出更一般化的结论,我们应该用更多的数据集进行实验。

我们将在具有不同特征的几个数据集上应用分类器+缩放+PCA,如第 3 节,并分析结果。所有数据集均取自 Kaggel。

  • 为了方便起见,我只从每个数据集中选择了数字列。在多元数据集(数值和分类要素)中,关于如何缩放要素一直存在争议。
  • 我没有超调分类器的任何参数。

5.1 澳大利亚的降雨数据集

链接
分类任务:预测是不是要下雨了?
度量:精度
数据集形状 : (56420,18)
每个类的计数 :
否 43993
是 12427

这是一个 5 行的例子,我们不能在一张图中显示所有的列。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

dataset.describe()

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们怀疑,由于特征的不同比例,缩放将改善分类结果(检查上表中的最小最大值,它甚至在一些其余的特征上变得更差)。

结果

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

结果分析

  • 我们可以看到 StandardScaler 从未得到最高分,MinMaxScaler 也是如此。
  • 我们可以看到标准定标器和其他方法之间的差异高达 20% 。(购物车-PCA 列)
  • 我们可以看到缩放通常会改善结果。以 SVM 为例,从 78%跃升至 99%。

5.2 银行营销数据集

链接
分类任务:预测客户是否认购了定期存款?
指标 : AUC (数据不平衡)
数据集形状 : (41188,11)
每个类的计数 :
否 36548
是 4640

这是一个 5 行的例子,我们不能在一张图中显示所有的列。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

dataset.describe()

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

同样,不同比例的特征。

结果

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

结果分析

  • 我们可以看到,在该数据集中,即使要素处于不同的比例上,使用 PCA 进行缩放并不总能改善结果。**然而,**每个 PCA 列中的第二好的分数非常接近最好的分数。这可能表明超调 PCA 的组件数量并使用缩放将比根本不缩放改善结果。
  • 同样,没有一个单一的缩放方法脱颖而出。
  • 另一个有趣的结果是,在大多数模型中,所有的缩放方法都没有产生太大的影响(通常有 1%-3%的改善)。让我们记住,这是一个不平衡的数据集,我们没有超调参数。另一个原因是 AUC 分数已经很高了(~90%),所以更难看到重大改善。

5.3 斯隆数字巡天 DR14 数据集

链接
分类任务:预测一个物体是星系、恒星还是类星体。
度量:精度(多类)
数据集形状 : (10000,18)
每个类的计数 :
星系 4998
恒星 4152
类星体 850

这是一个 5 行的例子,我们不能在一张图中显示所有的列。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

dataset.describe()

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

同样,不同比例的特征。

结果

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

结果分析

  • 我们可以看到缩放极大地改善了结果。我们可以期待它,因为它包含了不同尺度的特征。
  • 我们可以看到,当我们使用 PCA 时,RobustScaler 几乎总是获胜。这可能是由于该数据集中的许多异常值移动了 PCA 特征向量。另一方面,当我们不使用 PCA 时,那些异常值不会产生这样的影响。我们应该做一些数据探索来验证这一点。
  • 如果我们将 StandardScaler 与另一种缩放方法进行比较,精确度会有 5%的差异。因此,这是需要试验多种缩放技术的另一个指标。
  • PCA 几乎总是受益于缩放。

5.4 收入分类数据集

链接
分类任务:预测收入是否> 50K,< =50K。
度量 : AUC (不平衡数据集)
数据集形状 : (32561,7)
每个类的计数:
<= 50K 24720

50K 7841

这是一个 5 行的例子,我们不能在一张图中显示所有的列。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

dataset.describe()

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

同样,不同比例的特征。

结果

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

结果分析

  • 同样,我们有一个不平衡的数据集,但我们可以看到缩放在改善结果方面做得很好(高达 20%!).这可能是因为与银行营销数据集相比,AUC 得分较低(~80%),因此更容易看到重大改进。
  • 即使没有突出显示 StandardScaler(我在每个专栏中只突出显示了第一个最好的分数),但在许多专栏中,它达到了与最好相同的结果,但并不总是如此。从运行时间的结果(没有出现在这里),我可以告诉你,运行 StandatdScaler 比许多其他的 Scaler 快得多。因此,如果你急于得到一些结果,这可以是一个很好的起点。但是如果你想从你的模型中榨取每一个百分比,你可能想体验多种缩放方法。
  • 同样,没有单一的最佳扩展方法。
  • PCA 几乎总是受益于规模化

结论

  • 尝试多种缩放方法可以显著提高您在分类任务中的得分,即使您的超参数已经调优。所以,你应该把缩放方法作为你的模型的一个重要的超参数。
  • 缩放方法对不同的分类器有不同的影响。基于距离的分类器,如 SVM、KNN 和 MLP(神经网络)极大地受益于缩放。但是,即使树(CART,RF)不知道某些缩放方法,也可以从其他方法中受益。
  • 了解模型\预处理方法背后的数学基础是理解结果的最佳方式。(例如,树是如何工作的,为什么一些缩放方法不会影响它们)。当你的模型是随机森林时,如果你知道不应用 StandardScaler,也可以节省你很多时间。
  • 像 PCA 这样的预处理方法,已知受益于缩放,但确实受益于缩放。如果不符合,可能是由于 PCA 的成分数参数设置错误、数据中存在异常值或缩放方法选择不当。

如果你发现一些错误或者有改进实验的覆盖面或有效性的建议,请通知我。

统计规范如何改进建模

原文:https://towardsdatascience.com/norms-penalties-and-multitask-learning-2f1db5f97c1f?source=collection_archive---------21-----------------------

介绍

正则化器通常用于机器学习中,根据统计规范或先前的假设将模型的能力限制在一定范围内。这增加了模型假设空间中一个解决方案相对于另一个解决方案的偏好,或者学习算法被允许选择作为解决方案的函数集[1]。这种方法的主要目的是提高模型的概化能力,或者提高模型在以前看不到的数据上的性能。使用正则化器提高了泛化能力,因为它减少了模型对训练数据的过度拟合

最常见的做法是在学习过程中对目标函数增加一个范数惩罚。下面的等式是正则化的目标函数:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Regularized objective function adding a penalty to the original objective function. From [1].

原始目标函数 *J、*是参数θ、真实标签 y 和输入 x 的函数。正则化器由罚范数函数ω和对ω的贡献进行加权的罚α组成。下一节将介绍一些常用的惩罚规范。

常用的统计规范

范数是测量向量的长度大小的一种方法。向量范数是使用某种度量来计算的,这种度量可以概括向量离原点的距离。这些不同的度量通常是 L 范数和 L 范数。

L 范数是通过绝对差之和计算出来的,通常被称为曼哈顿范数*:*|x||₁= |x₁|+ |x₂|+|x₃|+…+| x ₙ|其中| ●|是给定变量的绝对值。虽然这是向量范数,但应用于矩阵时,计算略有不同。例如矩阵 l 的范数是||A|| = |a₁₁|+|a₁₂| +…+|aᵢⱼ|.

L 范数也就是通常所说的欧几里德范数。本定额测量从原点到点 x 的距离。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

The Euclidean Norm for a vector.

L∞范数max-norm 测量向量的最大值作为长度:| |t49】xt51】| | |∞= max(|x₁|+ |x₂|+|x₃|+…+| x ₙ|).

这些标准及其变化可以使用 Lᵖ 或 p 标准进行测量。 p-norm 通过以下方式测量:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

The p-norm for vectors. From Wikipedia.

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

The p-norm for matrices. From Wikipedia.

p =1 时,我们得到 L,当 p =2 时,我们得到 L 范数。当 p 接近无穷大时,你得到 L∞范数。

规范是如何用于正则化的

权重衰减是一种优先选择小于 L 范数的权重的方法,使权重更接近原点(见图 1)。结果是,在执行梯度更新之前,学习规则在每一步都以常数因子倍增地缩小权重[1]。换句话说,它将权重限制在由 L 范数限定的区域内。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 1. A toy visual example of weight decay.

不同的ω范数选择会导致不同的首选解决方案(见图 2)。L 和 L 罚范数的行为之间的一个共同区别是 L 导致更稀疏的解,这意味着一些参数的最佳值是 0。这通常用于特征选择,其中移除参数最佳为 0 的特征。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 2. A toy visual example of other choices for Ω.

多任务学习是同时学习几个相似任务的学习问题。例如,在多类学习问题中,任务可以是不同的类。对于每项任务,学习一组不同的参数。这个想法是在任务之间共享信息,他们可以从中受益。换句话说,“在解释与 different 任务相关的数据中观察到的变化的因素中,一些因素是两个或更多任务共有的”[1]。这种方法的目标是提高整体的可推广性。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Figure 3. Toy visualization of Multi-task learning.

通常使用关于任务如何相互关联的先验知识来约束每个任务的不同权重向量(再次参见图 2)。这些约束可以与上面提到的相同,例如 L 范数。这通常是通过对矩阵的列应用范数来实现的。

一个示例是 L 和 L 范数的组合,其中 L 范数应用于每一列,而 L 范数应用于所有列:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

The penalty function where R is equivalent to Ω.

结论

还有其他不涉及统计规范的正则化方法,如添加噪声、提前停止学习算法和数据扩充。然而,本文主要关注使用统计规范向学习算法添加约束,作为提高模型可推广性的一种手段。

参考

[1]伊恩·古德费勒、约舒阿·本吉奥和亚伦·库维尔。深度学习。麻省理工出版社。2016.

北极星——麻省理工学院和布朗大学最新最棒的拖放式数据分析

原文:https://towardsdatascience.com/northstar-the-latest-greatest-in-drag-and-drop-data-analytics-from-mit-and-brown-university-4946dd1107cb?source=collection_archive---------12-----------------------

来自麻省理工学院和布朗大学的研究人员开发了一个交互式数据分析系统,该系统运行在触摸屏上,让每个人都可以使用机器学习模型来预测医学研究、销售等。

我们不断听到术语**‘面向所有人的数据科学’**它真正的含义是什么?
从企业到当地的店主,每个人都有一些问题,他们希望用数据来解决,但尽管企业可能能够聘请数据科学家来为他们做这项工作,但当地的咖啡店老板可能没有这种奢侈。
我们的目标是让数据科学变得如此简单,每个人都可以在日常生活中利用它做出数据驱动的决策。承认大问题可能仍然需要大的解决方案,但是解决日常问题应该不难。正是在消除这一困难的过程中,北极星迈出了重要的一步。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Northstar’s aim is to democratize data science by making it easy to do complex analytics, quickly and accurately.

这是什么?

北极星不是突然出现震惊世界的东西。这是麻省理工学院和布朗大学的研究人员多年合作的结果,产生了这个交互式数据科学系统,它在云中运行,但有一个界面支持任何触摸屏设备,包括智能手机和大型交互式白板。
用户输入系统数据集,并使用手指或数字笔在用户友好的界面上操作、组合和提取特征,以揭示趋势和模式。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ACM SIGMOD 大会上展示了一个新组件,称为“虚拟数据科学家的 VDS”,它可以立即生成机器学习模型,以在数据集上运行预测任务。VDS 基于一种越来越受欢迎的人工智能技术,称为自动机器学习(AutoML),让数据科学知识有限的人训练人工智能模型,根据他们的数据集做出预测。目前,该工具领先于 DARPA D3M 自动机器学习竞赛,该竞赛每六个月评选一次性能最佳的 AutoML 工具。

“即使是不了解数据科学的咖啡店老板也应该能够预测他们未来几周的销售额,以确定购买多少咖啡,在有数据科学家的公司中,数据科学家和非专家之间有很多交流,所以我们也可以将他们带到一个房间一起进行分析。合著者、北极星项目长期负责人蒂姆·菲利普·克拉斯卡说

它是如何工作的?

底部视频中演示的使用案例是必看的。

加载数据— 北极星启动时为空白,白色界面。用户将数据集上传到系统中,然后可以探索、连接、过滤和执行各种类型的 EDA,并具有类似于 Power BI 或 Tableau 的可视化功能。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

“这就像一个巨大的无界画布,您可以在其中展示您想要的一切,然后,您可以将事情联系在一起,以创建有关您的数据的更复杂的问题。”“北极星”交互界面的主要发明者兹格拉根说。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

近似 AutoML — 借助 VDS,用户现在还可以通过定制适合其任务的模型来对该数据进行预测分析,例如数据预测、图像分类或分析复杂的图形结构。
系统将自动寻找性能最佳的机器学习管道,以标签的形式呈现,并不断更新准确率。用户可以随时停止这一过程,优化搜索,并检查每个模型的错误率、结构、计算和其他内容。

“我和我的合著者花了两年时间设计了来模仿数据科学家的思维方式”尚说

该系统根据各种编码规则,立即识别哪些模型和预处理步骤应该或不应该在某些任务上运行。它首先从那些可能的机器学习管道的大型列表中进行选择,并在样本集上运行模拟。这样做时,它会记住结果并优化选择。在提供快速近似结果后,系统在后端对结果进行细化。但是最终的数字通常非常接近第一近似值。

“对于使用预测器,你不会想等四个小时才得到第一个结果。您希望已经看到发生了什么,如果您发现了错误,您可以立即纠正它。这在任何其他系统中通常都是不可能的。”菲利普·克拉斯卡说

研究人员在 300 个真实世界数据集上评估了该工具。与其他最先进的 AutoML 系统相比,VDS 近似法同样精确,但在几秒钟内生成,这比其他需要几分钟到几小时的工具要快得多。

下一步是什么?

研究人员正在寻求增加一个功能,提醒用户潜在的数据偏差,异常值或错误。新用户可能无法识别数据中存在的此类问题,因此他们的分析将会偏离正轨。

“如果你是一个新用户,你可能会得到结果,并认为它们很棒,但我们可以警告人们,事实上,数据集中可能有一些异常值,这可能表明有问题。”菲利普·克拉斯卡说。

Northstar in all it’s glory

参考

官方麻省理工学院关于北极星
Vimeo
蒂姆·菲利普·克拉斯卡的新闻。北极星:交互式数据科学系统。PVLDB,11(12):2150–2164,2018

不是 1,不是 2…而是 5 种关联方式

原文:https://towardsdatascience.com/not-1-not-2-but-5-ways-to-correlate-6ac92cf42f0f?source=collection_archive---------6-----------------------

寻找相关性的各种算法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Photo by Jonathan Petersson on Unsplash

关联是指两个事物之间的相互关系或关联。几乎在任何业务中或出于个人原因,用与他人的关系来表达某事是有用的。例如,当营销在电视广告上花费更多时,销售额可能会增加,或者当温度升高时,冰淇淋的销售额会增加。通常,相关性是理解这些关系并随后构建更好的业务和统计模型的第一步。

那么,为什么相关性是一个有用的指标呢?

相关性可以(但通常不,正如我们将在下面的一些例子中看到的)表明因果关系的存在

相关性有助于从一个量预测另一个量

相关性被用作许多其他建模技术的基本量和基础

有各种算法来寻找相关性。然而,理解需要相关性的原因是选择正确算法的关键。在本文中,我们将看到寻找相关性的不同算法和技术,以及如何选择合适的算法来确定相关性的提示和技巧

1.散点图——基本技术

散点图是理解两个事物之间是否有任何关联或关系的最简单的方法之一。为了举例说明,让我们来看一个数据集,它包含一些小动物的体重和大脑重量的信息。下面显示了该数据集中的一个示例

Sample Body weight and brain weight (Image by author)

看着这些数据,我们可以提出这样一个问题:体重和大脑重量之间有什么联系或关系吗?查看是否存在任何关联或关系的最简单方法之一是绘制体重与大脑重量的散点图。正如我们从下面的散点图中看到的,体重增加,大脑的重量往往会增加

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Scatter Plot (Image by author)

2.皮尔逊相关系数——有可测量的东西

散点图观想技术可以给你一种“感觉”,不管有没有关系。然而,它不允许具体衡量这种关系的强度。这就是算法发挥作用的地方。在算法术语中,关系的强度被称为相关系数。最广泛使用的测量相关系数的算法之一是皮尔逊相关。皮尔逊相关度量连续变量之间的线性关联。换句话说,这个系数量化了两个变量之间的关系可以用线描述的程度。值得注意的是,虽然相关性可以有多种解释,但卡尔·皮尔逊在 120 多年前开发的同一公式至今仍被最广泛地使用

让我们用皮尔逊相关来找出体重和大脑重量之间的关系强度。皮尔森关联将试图拟合体重和大脑重量之间的直线。这条线的斜率给出了关系的强度

下图显示了体重与大脑重量之间的散点图,以及一条适合两点之间的线。线的斜率是 0.955,这是皮尔逊相关系数。皮尔逊系数值在-1 和 1 之间。值-1 表示强负相关,值 0 表示没有相关,值 1 表示强正相关。因此,在本例中,我们的相关值为 0.955,这表明体重和大脑重量之间有很强的正相关性。事实上,我们可以得出结论,在给定的数据中,大脑重量随着体重的增加而增加

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Pearson Correlation (Image by author)

现在让我们再举一个产品销售的例子。如下图所示,数据集包含面包、卷饼、松饼等产品的销售额以及当天的温度

下面还显示了一个负相关的例子。下图中使用的数据是咖啡销售额与温度的关系(单位为华氏度)。

Sales and Temperature data (Image by author)

计算出的皮尔逊系数为-0.741,表明负相关。这意味着随着温度的升高,咖啡的销量会下降。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Negative Correlation (Image by author)

下面给出了一个不相关的例子。这个例子对应于有温度的面包的销售。正如你所看到的,直线拟合几乎是直的。皮尔逊相关系数为-0.09,几乎为零。在这种情况下,两个变量之间没有相关性

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

No Correlation (Image by author)

在这里,您看到了相关性的基础知识,以及我们如何使用散点图和皮尔逊系数来计算相关性。然而,个人相关性有一些缺点,尤其是当数据是非线性的时候。作为一个例子,让我们来看一个数据集,它有墨尔本一个月的平均温度。数据表明从一月到三月气温很高。然后从四月到十月下降;然后在 11 月和 12 月再次上升

该数据集是非线性数据的一个示例,其中温度不遵循线性路径,而是随着月份的变化而上升、下降和上升。如果计算皮尔逊系数的话,会是-0.38,也就是说月份和温度有些负相关。这意味着从一月到十二月气温会下降。然而,事实并非如此。所以皮尔逊系数的缺点是当数据是非线性的时候它就不起作用了

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Non-linear data (Image by author)

3.使用相关矩阵—变大…矩阵风格

上述技术,如散点图和皮尔逊相关显示两个变量之间的相关性。如果您的数据集有许多变量,您可能有兴趣找出每个变量组合之间的相关性。为每个组合制作散点图或皮尔逊相关可能很麻烦,尤其是当数据集有许多变量时。在这种情况下,相关矩阵非常有用。

让我们借助产品销售的数据集来说明相关矩阵。正如您在上表中看到的,有许多列。计算所有列组合之间的相关性将非常有用,例如咖啡销售与温度、松饼销售与温度、咖啡与松饼等。然而,在所有组合之间制作散点图或皮尔逊相关性将会使您疲劳和困倦。所以让我们用相关矩阵来保持活跃和清醒。

下面显示的是每个变量组合之间的相关矩阵。相关矩阵以热图的形式显示。单元格越红,表示正相关性越高。单元格越蓝意味着负相关性越高。例如,我们看到温度和汽水有很强的正相关性。此外,正如已经观察到的,温度和咖啡有负相关。同样,松饼和饼干也有很强的正相关性。

因此,相关矩阵是一个很好的视图,可以了解许多列的相关性,而不必单独计算每个组合的相关性。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Correlation Matrix (Image by author)

4.主成分分析(PCA)——发现相关性的另一种有趣的方法

相关性算法不是计算相关性的唯一算法。还有一些其他有趣的方法。一种这样的算法是主成分分析(PCA)。这通常用于数据集维数非常高时的降维。它用于将具有许多列的数据集减少到较少的列,而不丢失数据的本质。作为副产品,它也给出了变量之间的相关性

我们将在产品销售数据集上使用 PCA。这个数据集几乎有 30 列。不可能对 30 列进行数据可视化。所以我们会用 PCA 把数据降维,而不会失去用 PCA 得到的数据的本质。

在我们的产品销售示例中,您可以将 30 列减少到更少的列(例如 2 或 3 列)。在这样做的时候,主成分分析也给出了在特征影响分数方面在实现降维中起重要作用的变量。我们产品销售栏目的特色影响力如下图所示。负侧的列彼此相关,正侧的列彼此相关。所以你可以看到温度和苏打水是正相关的,松饼和咖啡也是正相关的。还有,这意味着温度和咖啡是负相关的。

这些结果与我们用皮尔逊相关技术得到的结果相同。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Feature Influence on dimension reduction (Image by author)

5.套索回归…只看到重要的东西

为了继续我们寻找不同方法来给出相关性的探索,下一站是套索回归。该算法是普通最小二乘法(OLS)的变体。OLS 算法试图拟合两个变量之间的直线,因此本质上是试图找到两个变量之间的相关性。套索是 OLS 的一个变体,它去掉了不相关的变量,从而给了我们相关的变量。

套索算法采用一个目标变量(Y)和多个独立变量(X1,X2 等……)。该算法将试图找出所有自变量与目标变量之间的相关性。Lasso 将尝试计算每个独立变量的系数,该系数给出了与目标变量相关的指示

如果我们以产品销售为例,目标变量(Y)可以是温度,所有独立变量都可以是(咖啡销售、果汁销售等)。Lasso 的结果是独立变量的系数,如下所示

你可以看到咖啡的系数是负的,这意味着咖啡和温度是负相关的。同样,汽水的系数也很高,这意味着汽水和温度正相关

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Lasso Regressor coefficient for variables (Image by author)

在这个故事中,你们对相关性有了一个大概的了解,有五种不同的方法可以用来确定相关性。还有其他方法,如斯皮尔曼相关以及 SVM 或神经网络来寻找非线性相关性

你最终将使用的算法的选择取决于你试图解决什么问题,但是看到和匹配不同方法的结果总是好的。如果结果彼此一致,那么你就在正确的轨道上。

额外资源

网站(全球资讯网的主机站)

你可以访问我的网站进行零编码分析。https://experiencedatascience.com

订阅每当我发布一个新的故事时,请及时通知我。

[## 每当 Pranay Dave 发表文章时,您都会收到电子邮件。

每当 Pranay Dave 发表文章时,您都会收到电子邮件。注册后,如果您还没有,您将创建一个中型帐户…

pranay-dave9.medium.com](https://pranay-dave9.medium.com/subscribe)

你也可以通过我的推荐链接加入 Medium。

[## 通过我的推荐链接加入 Medium—Pranay Dave

作为一个媒体会员,你的会员费的一部分会给你阅读的作家,你可以完全接触到每一个故事…

pranay-dave9.medium.com](https://pranay-dave9.medium.com/membership)

https://www.youtube.com/c/DataScienceDemonstrated 的 YouTube 频道
这里是我的 Youtube 频道
的链接

“并非所有数据都是平等的”

原文:https://towardsdatascience.com/not-all-data-is-equal-63ad1b53b086?source=collection_archive---------33-----------------------

人在回路中的机器学习专家轶事,作者 Jennifer Prendki

我正在分享我的书《人在回路中的机器学习》中的第一个专家轶事。我有幸与机器学习社区的许多领导者聊过他们的经历。许多人和我分享了值得更多人关注的个人趣闻。

对于书中提到的每个领导者,有两个选择标准:

  1. 他们早期的职业是工程师或科学家。书中所有的专家都是软件工程师、物理学家、语言学家或类似的人,在他们职业生涯的早期阶段。因此,他们知道注释数据和/或构建机器学习模型是什么样的。
  2. 他们成立了一家使用机器学习的公司。因此,专家们也知道考虑推出能够影响现实世界的机器学习产品意味着什么。

对于想在数据科学领域发展的人来说,所有的领导者都是很好的榜样。

第一个轶事伴随着关于主动学习的章节:为人类评论选择正确数据的过程。大多数部署的机器学习模型使用监督学习,有数千甚至数百万人类标记的数据项。主动学习确定哪些原始数据项最适合人工查看和注释。

第一位专家是 Alectio 的创始人兼首席执行官 Jennifer Prendki。她曾在 Atlassian、Figure Eight 和沃尔玛领导数据科学团队,并拥有粒子物理学博士学位。珍妮弗的公司,Alectio ,专门研究数据效率,帮助机器学习团队用更少的数据建立他们的模型。

“并非所有数据都相等”

如果你关心你的营养,你不会去超市,从货架上随机选择商品。你可能最终通过吃超市货架上的随机物品来获得你需要的营养,但是,在这个过程中你会吃很多垃圾食品。我认为很奇怪的是,在机器学习中,人们仍然认为“随机抽样超市”比弄清楚他们需要什么并在那里集中精力更好。

我建立的第一个主动学习系统是必然的。我正在构建机器学习系统,以帮助一家大型零售店确保当有人在网站上搜索时,出现正确的产品组合。几乎就在一夜之间,一家公司的重组意味着我的人工标签预算减少了一半,而我们需要贴标签的库存增加了 10 倍。因此,我的标签团队每件商品的预算只有我们之前的 5%。我创建了我的第一个主动学习框架来发现哪一个是最重要的 5%。结果比预算更大的随机抽样要好。从那以后,我在我的大部分项目中使用了主动学习,因为不是所有的数据都是相等的!

詹尼弗·普伦斯基,《人在回路中的机器学习》,罗伯特·芒罗,曼宁出版公司

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

You don’t go shopping by randomly sampling from every shelf, so why are you doing this with your data?

我非常感谢 Jennifer 与我以及我的书和这篇文章的读者分享她的专业知识!

有关主动学习的更多信息,请参见我最近分享的多样性抽样和不确定性抽样的备忘单:

[## 多样性抽样备忘单

主动学习的四种常见多样性抽样策略的快速参考。

towardsdatascience.com](/https-towardsdatascience-com-diversity-sampling-cheatsheet-32619693c304) [## 不确定性采样备忘单

用于主动学习的四种常见不确定性抽样策略的快速参考。

towardsdatascience.com](/uncertainty-sampling-cheatsheet-ec57bc067c0b)

你的数据已经有偏差了

许多数据科学家坚持认为随机抽样仍然是他们的首选,因为他们可能会通过主动学习来偏向他们的数据。我认为这是看待你已有数据的错误方式。

继续类比,超市不是食品的无偏样本。首先,有各种各样的因素决定什么会出现在货架上,包括商店的位置、一年中的时间、特定的供应商合作关系、促销和预期利润。

原始数据可能也是如此:有许多因素导致了您可用的原始数据的创建和存储,并且您的原始数据有可能以许多不同的方式过采样和欠采样。正如我在书中指出的,数据中的偏差通常与现实世界中的偏差相关联,因此,如果您不注意如何处理您的数据注释策略,您就有重复或放大现实世界中的偏差的风险。

我建议您假设您的原始数据已经由于最初生成数据的过滤和采样技术而存在偏差。主动学习是帮助你的数据更加公平的一种方式,同时也让你的模型更加准确。

罗伯特·芒罗

2019 年 11 月

并不总是需要预测性分析,探索性分析可以创造奇迹

原文:https://towardsdatascience.com/not-always-predictive-analytics-is-required-exploratory-analysis-can-do-wonders-c1a8d795a4f2?source=collection_archive---------16-----------------------

探索性数据分析

在这个人人都在谈论 ML-Al 驱动的东西的时代,人们不太关心探索性的数据分析。

我经常看到那些刚刚开始数据分析或数据科学职业生涯的人,他们总是倾向于建立模型,经常谈论 ML-AI,但很少关注探索性的数据分析。

但是,在转向 ML-AI 算法之前,人们必须理解探索性数据分析的重要性,因为它提供了如此多的数据信息,它们的特征可以为业务产生许多见解。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

探索性数据分析的基本步骤

  1. 了解您的数据:任何数据驱动的任务的第一步也是最重要的一步是了解您的数据集。寻找几个问题的答案:

a)这些数据是怎么回事?

b)有多少个变量?

c)不同类型的变量,如连续变量、分类变量、顺序变量等。

d)您的回应/目标变量是什么?它有多少面旗帜?

让我们为访问个人贷款部分的现有客户获取一个样本数据,我们需要知道,个人贷款的潜在候选人是谁?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Sample data

有三个连续变量——访问量、贷款计算器页面上的浏览量、过去的收入和三个分类变量——国家、现有贷款、贷款需求。

这里,目标变量是需要贷款,它只有两个标志:是,否

2。探索分类变量:现在你已经理解了你的数据,接下来是时候识别分类变量下的数据模式了。例:需要贷款的客户的数量和百分比。

从分类变量中提取信息的方法有多种,可视化和列联表是重要的方法之一。

条形图和饼图是(众多图表中)最重要的两种图表,有助于彻底分析分类变量。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Pie Chart showing the distribution of customers

在我们的例子中,饼图可以告诉我们需要贷款的人与不需要贷款的人的比例。所以我们可以看到,在我们现有的客户中,只有一小部分人需要个人贷款。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Bar Chart showing breakup by country and status

而在另一边,一个条形图显示了国家间的划分,因此,可以给我们关于分布的信息。在这里,我们可以看到英国是最需要贷款的国家,其次是德国。

另一种方法是,当您需要表格格式的数字时,创建列联表,在一个地方提供比例和绝对信息。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Contingency table with a loan against the country

在我们的案例中,我们可以看到,大多数线索来自英国,但德国需要贷款的人的比例更高。

3.探索连续变量:同样在连续变量的情况下,我们有图形可视化以及其他描述性统计方法的可行性。

在可视化的情况下,直方图和箱线图是非常方便和有见地的。它告诉你变量的分布和它的范围。它还有助于发现数据集中的异常值。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Frequency Histogram

在这种情况下,通过查看客户在贷款计算器页面 wrt #上的视图直方图,我们了解到,大约 60%的客户在此期间的访问次数少于 6 次。

在查看需要贷款的人的直方图时,我们可以看到没有客户的访问次数超过 25 次,这意味着他们可能是经常与我们交易但不需要贷款的用户。

在进行描述性统计时,还可以查看*最大值、最小值、平均值、四分位数、十分位数、*等,从而可以收集关于数据的大量信息。

4。探索多元关系:在此之下,我们建立多个变量之间的关系,试图找出不同变量之间的关系。

散点图是推断多元关系的最佳可视化方法之一。这是两个变量之间的关系图,有助于我们理解两个变量之间是否有任何关系。关系可以是线性的,也可以是非线性的。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Scatter Plot

因此,在这里我们可以推断,在过去的收入和客户的访问之间存在线性关系。越来越多的游客给这个行业带来了越来越多的收入。

除此之外,我们可以简单地寻找两个变量之间的相关性。相关性越高,变量之间的关系越强。

5.衍生新变量:模型构建中的一项重要任务是特征工程(创建新变量),这有助于发现更多关于数据的逻辑信息。分析师必须找到在可用数据集中设计新变量的方法。它可以是分类变量,也可以是连续变量。

在我们的数据集中,由于是关于个人贷款的信息,我们可以假设大多数客户会在下班时间寻找这些信息。所以我们可以设计新的变量

a)“一天的类型”——工作日/周末

b)“一天中的某个时间”——办公时间/个人时间

c)“电子邮件 Id 类型”——个人/企业

d)“访问过的贷款计算器页面”——是/否

现在,让我们看看上面创建的变量的描述性统计数据。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Contingency table for Visited loan page and Type of Hour

因此,上面的应急表为寻找贷款的用户提供了很好的洞察力。因此,如果您需要在短时间内扭转局面,那么您可以对企业说,任何在个人时间内查找信息并访问过贷款计算器页面的用户,都是实际查找贷款的潜在目标。因此,这种有用的见解可以通过 EDA 交付。

额外收获:有时,它也有助于发现异常磁场。例如:如果您的数据集包含位置的 pin 码(数值),则默认情况下,该工具会将其视为连续变量,但您可能希望将其视为分类变量来查找地理混合。当你做探索性的数据分析时,这种微小但不规则的事情可以被识别出来。

因此,探索性数据分析是数据建模中最重要和不可或缺的部分之一。即使你不做预测建模,它也能帮助你深入了解数据。有时候,EDA 给出的信息太多,你甚至不需要创建一个模型。此外,它还可以帮助您进行特征工程,这在模型构建过程中非常有效。

不是每个人都需要实时分析,包括你

原文:https://towardsdatascience.com/not-everyone-needs-real-time-analytics-including-you-d5bb86103e6a?source=collection_archive---------12-----------------------

艺术是为你的度量标准找到一个好的节奏

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

“实时分析”是一个你经常听到的性感词汇,现在比十年前稍微多一点。营销文案称,获取数据并“实时”做出决策,谁不想这样呢?但以我的经验来看,对于绝大多数用户来说,实时分析并不是人们实际需要的解决方案。ROI 只是在组织到达某一点时才出现。

大多数人可以忍受对查询执行时间和报告延迟的明显放松的限制,节省大量成本和基础设施,并且除了吹嘘的权利之外,不会牺牲任何东西。

有什么吸引力?

有很多市场营销让人们觉得,如果你没有所有的数据,你就会错过机会,并将被一个每毫秒都在做人工智能的世界甩在后面。像往常一样,营销人员会做他们的营销,我们应该对他们兜售的东西持怀疑态度。

不过,基本前提很简单,而且一开始就很有说服力:“我们需要数据/分析/信息来做决策。很难说我们什么时候会需要这些数据来做决定,所以让我们确保我们一直都有这些数据。”还有一种暗示是,神奇的人工智能/人工智能酱可以洒在这样的系统上,“改变你的业务”。

但是所有的事情都是有代价的,那么我们会付出什么代价,我们会得到什么呢?这是给我的吗?

俗话说:好,快,便宜。选两个。

首先,分析基础设施不是免费的,所以通常的权衡适用。

良好(质量和可靠性)

好的分析,广义上是指你能做的分析和得到的结果是好的。从根本上来说,它包含许多内容:

  1. 良好的数据收集—您确信进入分析系统的数据质量良好,没有欠计数/多计数,没有奇怪的偏差,没有错误和奇怪的缺失数据
  2. 好的分析工具——不是所有的分析对所有的数据都有意义,但是你可以访问的那些与你相关,无论是 A/B 测试输出,还是保留/群组分析等。这些问题从简单到极其复杂,但无论如何,您都有信心他们做的是正确的事情

快速(延迟)

在这里,我说的是“关于分析系统如何运行/给出结果的快速”。你可能会说还有一个“快速的,如开发时间”的组件,但是在这个框架中,我认为这是一个成本,并在下一节中讨论它。

一般的经验法则是,你希望分析周转越快,你被迫做出的妥协就越多。我们有限的计算能力是有实际限制的,存储、移动和处理大量数据的硬件也是有限的。唯一的解决方法是使用更复杂的方法,进行大量的预处理、缓存,甚至可能使用定制系统来获得您想要的性能。

便宜($$$$)

构建一个系统需要大量成本,从开发人员的时间和相关的机会成本,到运行分析所需的系统和软件的原始成本。替换现有的系统更加昂贵,到处都有重构、测试和大量的压力。

因为没有人应该在“好”的方面妥协(太多),因为没有人愿意使用一个怀疑数字是否准确的系统。所以最终归结为交易速度和成本。

但我只知道我需要实时分析!

你可能是对的。是不是每个人都在抱怨他们需要一些东西来做决定,而它还没有准备好?是否因为无法及时准备好数据而犯下了可以避免的错误?然后,您应该考虑升级您的基础架构,以减少延迟。它不必是一个$$$的完整大数据 lambda 体系结构堆栈。但是有些事。

如果(这种情况更常见)瓶颈在于人们坐下来用数据做决策。还是只是决策过程本身比较慢?那可能性就小很多了。

拥有数据和分析的最佳时机是你做决定的时候。

我甚至可以说,决策时间(或准备决策的时间)是你需要可用数据分析的最重要的时间。当您的系统崩溃时,来自 metrics 的通知是另一个让它们可用的关键时间(可以说您也需要在那时做出决定)。几乎所有其他东西都是值得拥有的。我觉得这是决定如何平衡好、快、便宜等式的关键。

关键是了解和确定决策的时机,并构建您的度量基础架构来满足这些需求。如果您的系统发生变化,您需要在 5 分钟(或 5 毫秒)内做出响应,您的分析必须比这更快,以便给您时间做出反应。在这种情况下,拥有低数据分析延迟对您来说是有价值的,您会希望投资系统来保持速度。

与此同时,如果管理销售客户,其中每份最后的销售合同都需要几个月才能达成,并且合同持续数年,那么您极不可能从低延迟分析系统中受益,延迟存在于其他地方。类似地,如果您只是将您的数据用于季度报告,并且没有任何实际的业务用例可以让它做得更快,那么您可能也不需要一个花哨的系统。

请注意,这主要是一个组织问题,而不是技术问题。再多的快速分析也无法迫使一个结构像糖蜜一样的组织像糖蜜一样运转。

了解你的决策节奏有助于降低成本

成比例的实时分析系统往往是非常复杂 猛兽。一定程度的规模是不言而喻的,因为(在某种程度上)你可以用高度优化的强大数据库进行相当低延迟的分析。(是的,我在这里把实时和低延迟混为一谈了。)

然而,一旦达到调优数据库所能做的极限,就需要处理传入的数据流,进行一些工程上的欺骗,在快速的短期数据和慢得多的永久数据存储之间架起一座桥梁。您将需要更多的计算能力来处理不断增长的数据量,您将需要更多的网络和存储,然后需要更多的人来维护系统。这是一项重大投资,你需要为维护所有这些机器付出成本。

同时,批处理作业可以简单得多,在极端情况下,当您有 8 个小时的运行时间时,一个弱分析数据库、一个 SQL 查询和一个发送电子邮件的 cron 脚本就可以按时提交报告。

但是互动探索呢?为此,我们需要低延迟。

听着,我是一名分析师,我知道等待 10k+秒(大约 2 小时 45 分钟)是很糟糕的事情。)对于死神回来的一大疑问。但是您的组织愿意花多少钱来将 10k 秒降低到 5k 秒呢?100 分?1s?

由于收益递减,当你的时间需求变短时,成本往往会飙升。通常会有一些唾手可得的成果,比如升级到固态硬盘或更新的硬件。但是没有一个架构是可以永远扩展的,所以最终你不得不把所有的东西都拆了,然后组合一些新的东西,这是很昂贵的。因此,如果有商业案例,是的,争取降低您工作所需的延迟,直到老板愿意为此买单。

如果我们不知道我们需要一个实时分析系统,该怎么办?

是的,这绝对是可能发生的事情。拥有更及时的分析可以导致组织运营方式的根本改变,并产生各种奇妙的独角兽。但是访问大量嘈杂的最新数据也会分散注意力。从纯技术的角度来看,很难预测你应该在这里做什么。

相反,我会后退一步。这是一个关于组织结构本身的问题。如果能够更快地访问数据,it 部门是否愿意甚至有能力做出改变?是否有人了解如何使用数据来制定决策,并且能够改变流程来与之匹配?也许他们想模仿竞争对手的一个用例?

把技术扔给一个没有准备好利用它的组织很难奏效。因此,如果您计划更快地升级您的分析基础架构,您可能需要额外的培训预算。

不是你想的那样:人机关系的未来

原文:https://towardsdatascience.com/not-what-you-think-the-future-of-human-machine-relationship-b890d7f2072b?source=collection_archive---------26-----------------------

机器人会继续为我们工作吗?还是反过来?未来会是什么样子?更重要的是,我们能做些什么来弥补呢?

自从工业革命以来,我们就一直和机器生活在一起。我们每天都在使用手机、笔记本电脑、咖啡机和洗碗机。我们如此习惯于让机器在我们生活的各个方面为我们工作,以至于我们甚至没有注意到机器和我们之间的这些互动。

这次有什么不同?人工智能(AI)时代,机器人与人类之间有哪些新的动态?

你会为机器工作吗?或者你已经是了?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

场景一——算法管理:工人被算法管理

越来越多的公司开始用算法来管理他们的劳动力。优步和 Lyft 等共享或零工经济公司率先开发了自动化工具来管理他们的远程员工,包括用户评级系统和自动化“轻推”。

在物流行业,像 UPS 和亚马逊这样的公司正在使用自动化系统来跟踪他们的工人并优化吞吐量。这些算法收集工人的数据,并实时做出(半)自动决策来激励工人的行为。

一些初创公司也开始提供监控工人或司机行为的人工智能解决方案。与人工监管相比,这些技术能够更好地扩大运营规模,并越来越多地被更多公司采用。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

场景二——蓝领工人为算法工作,例如数据贴标机

之前我谈到了三种主要的 ML 类型:监督学习、非监督学习和强化学习。今天,超过 90%的 ML 算法仍然是基于监督学习的。

[## 如何管理机器学习产品—第 1 部分

为什么管理机器学习产品这么难?为什么你应该关心?

towardsdatascience.com](/how-to-manage-machine-learning-products-part-1-386e7011258a)

换句话说,这些算法从标记的训练数据中学习和归纳。为了提供标记的训练数据,一个不断增长的行业出现了,让人类手动组织数据集,以便机器可以消化和学习。

Scale AI 是许多与人类工人合作对数据进行分类以训练 ML 模型的创业公司之一。该公司成立仅三年,最近完成了一笔高达 1 亿美元的 c 系列交易。Scale 与大约 3 万名承包商合作,为自动驾驶汽车和其他人工智能公司(包括 Waymo、Airbnb 和 Lyft)标记具有人类洞察力的数据集。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

场景三——遥控和模仿学习,例如人类为(或假装)机器人工作。

当用大量数据训练时,深度学习优于传统的 ML。然而,获得高质量的数据既困难又昂贵。

解决这种数据低效问题的方法之一是使用模仿学习:用专家演示来训练算法。FortressIQ 是将模仿学习应用于自动化流程的创业公司之一。它的系统捕捉并分析人类软件的交互,因此它可以在之后自动执行这些过程。

另一方面,像 Cobalt Robotics 这样的安全机器人初创公司,利用机器学习来巡视工作区并识别异常,同时让人类监控机器人车队,并在必要时接管控制权。

这不是科幻小说。它现在正发生在我们认识的人身上,并将很快影响我们每一个人。

我们开始看到这些新形式的人机交互的一些副作用。

机器人缺乏透明度和同情心。

在最近的一项研究中,Lior Zalmanson 和 Robert W. Gregory 发现,优步司机觉得这款应用程序了解他们很多,但他们对算法如何工作和做出决策却知之甚少。

司机感到孤立无援,缺乏人性。他们质疑该系统的公平性,尤其是当他们在没有明确解释的情况下受到处罚时。

零工经济工作者也感觉到他们不断被算法监视和审查。他们不知道这些数据将被用来做什么。他们不知道工作分配、评级或报酬是否公平。如果不公平,他们有没有可以倾诉的人或其他方式来投诉?

缺乏可解释性和可解释性是 ML 的一个主要问题。使用这些自动化工具管理员工效率更高,可扩展性更强。但是生产力不应该是唯一的目标。需要考虑透明度和同理心。

人机团队苦于角色和责任不清。

在钴机器人的案例中,人类扮演了一个关键的角色,因为他们处理所有机器人无法处理的案件。但是随着机器人变得越来越聪明,它们可能会得出与人类不同的结论。

人类应该总是能够否决机器人的决定吗?

考虑另一个例子:机器人轴。Waymo 已经推出了 robotaxi pilot。特斯拉还宣布了推出 robotaxis 的计划,作为其 2020 年自主共乘网络愿景的一部分。

自主机器人应该由谁来做决定?那辆车。后备人类安全驾驶员?远程监控机器人轴心舰队的人?还是乘客?

在什么情况下,什么时候?如果你只有一瞬间的反应时间,答案会不一样吗?谁应该对任何后果负责?那些公司?备用驱动程序?还是设计算法的工程师?

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

研究人员正在研究迁移学习和元学习,以设计能够“学会如何学习”的模型。但老实说,我们离人工通用智能还很远。

在可预见的未来,我们仍然需要教会机器,帮助它们变得更加自主。我们将需要调整自己,并与支持人工智能的机器一起进化。我们需要学习与智能机器一起工作的最佳方式。我们准备好迎接如此剧烈的社会转变了吗?我们能做些什么来创造我们想要的未来?我们将在下一篇文章中详细讨论这一点!

C 想看更多这样的文章就点这里吧!

[## 亚马逊不想让你知道的自动化战略

作为自动化的前沿,亚马逊为什么要淡化 AI 和机器人的影响?

medium.com](https://medium.com/swlh/what-amazon-doesnt-want-you-to-know-about-its-automation-strategy-9046dd9289aa) [## 它在这里!人工智能机器人将如何革新制造业

虽然制造业一直被认为是自动化程度最高的行业,但全自动化…

towardsdatascience.com](/its-here-how-ai-robot-will-revolutionize-manufacturing-44ce784438d4)

Bastiane Huang 是 OSARO 的产品经理,OSARO 是一家总部位于旧金山的初创公司,致力于开发软件定义的机器人。她曾在亚马逊的 Alexa 小组和哈佛商业评论以及该大学的未来工作倡议中工作。她写关于 ML、机器人和产品管理的文章。跟着她到这里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值