如果人类已经被机器奴役了呢?为什么解放会来自人工智能
Who’s chaining whom?
在《角斗士》的一个关键场景中,主人公马克西姆斯问他忠实的奴隶:“你觉得履行你的职责很难吗?”他的奴隶西塞罗回答说
“有时我做我想做的事。其余时间,我做我必须做的事情。”
毕竟还不算太坏。我几乎可以用同样的话来形容我自己的生活……!
有时我们认为自己是自由的实体,快乐地从一个活动跳到另一个活动,发挥的自由意志,并且大部分时间用我们的力量控制其他事物或物种。我们认为自己是主人,是奴役者,而不是奴隶。
但是,正如塞缪尔·约翰逊曾经说过的,
“习惯的锁链太弱以至于感觉不到,直到它们太强而无法打破.”
谈到我们与机器的关系,塞缪尔是正确的。
如果他今天还活着,他会给我们指出我们无形的、数字化的、机器操作的链条,这些链条在我们周围形成了一个依赖和习惯的网络,就像它们是无形的一样强大。
机器束缚的习惯=奴役?!
我在说什么?一个非常快速的粗略计算(我被训练成科学家,所以数字会说话……)可以对上面的陈述有所启发。这并不难说明,机器已经奴役了我们的种族,从几十年前就开始了!
奴隶制?是的,或者说是“以奴隶为主要劳动力的生产方式”。
虽然我们认为机器在为我们“做工作”,但很容易看到,如果不消耗大量资源,有时仅仅是操作机器就要消耗我们 100%的脑力和体力,机器真的做不了多少事情。
哈佛健康观察的一项研究发现,美国人平均每天花 101 分钟操作机器。那台机器叫汽车。这意味着,在平均寿命中,人类一生中有不到 4 万小时的时间静止地坐在汽车里,借用他们的整个角色来操作一个冒烟/污染/危险的塑料&金属箱!
此外,根据这项研究,一个典型的美国公民花大约 8 小时 41 分钟操作电子设备——这意味着一个普通人花在电子设备上的时间比睡觉的时间还多!
因此,对机器的依赖也可以是“被动的”(也就是说,我们不是一直在驾驶)。基于 71 岁的平均寿命(或 25,915 天),乔将会花费他生命中大约 40%的时间盯着屏幕,无论是电视、手机还是电脑。这是关于 10K 的日子。
还有更多。基于同样的 71 岁寿命,考虑到 40%的时间盯着屏幕,花在锻炼上的时间只有 0.69%!!!和我们爱的人一起社交怎么样?那只有 6.8%。
我认为罗马时间奴隶有更多的人类主人。
想要最后的数据吗?给你:根据这个来源,我们一生中有 3 年时间花在社交媒体上。
想一个 3 年的项目,即…每周 7 天,每天 24 小时的项目,你可以完成它,而不是呆在脸书。
关于那些 AI 电影…
在这个 10K 日的媒体狂欢中,我可以保证你已经看过多部描绘人工智能接管世界的电影:从《黑客帝国》,到《终结者》,再到 2001 年的《太空漫游》,好莱坞用人工智能奴役(或消灭)人类的垃圾故事充斥着我们的生活。
我有一些消息:尼奥在《黑客帝国》中最终意识到,一旦被墨菲斯释放(是的,)我确实看了那部电影!….),他和他的同龄人已经是机器的奴隶了。他们只是不知道而已。
下次你看一部关于 AI 天启的电影,你现在更清楚了。由于我们的技术傲慢使我们认为我们已经达到了进化的顶峰,信息唾手可得,机器可以提供帮助,现实是非常不同的。随着这些机器变得越来越普遍,它们不复杂的机械和软件需要我们越来越多的时间来操作。
直到我们吸收了大量曾经让我们成为人类的物质。
人工智能驱动的未来是解决方案吗?
让我们想象一下 2030 年的美国,普通美国人将把 10%(对 70%)的时间“100%”花在机器上,而不是在上班的路上在自动驾驶的移动健身房上瑜伽课,或者用这些时间完成工作,这样他们在办公室的时间就更少了,他们可以睡觉,说话,在通勤途中按摩,或者做任何他们想做的事情。
如果我们保持目前的大脑与机器的比例,这一未来将如何实现?不会的。
只有先进的人工智能能够在软件中直接在这些设备中捕捉和复制人脑功能,才能将我们的大脑和角色从操作它们中解放出来。
看电影,我们被引导着认为机器要奴役我们,但我们已经是奴隶了。
这应该让我们暂停,并帮助我们在烧死像塞勒姆女巫这样的人工智能创新者之前进行更多的反思。我建议吃一种更平和、更环保的蔬菜汉堡。人类有道德制高点,对吗?
如果我们的名字是由企业产生的会怎么样?
一个真实的业务测量框架,使用一个虚构公司的真实数据
美国婴儿名字数据集(来自社会保障管理局(SSA)网站)包含了每年出生的婴儿名字的总数。它一直是我最喜欢探索的数据集之一,这一次我发现了一个非常独特的用例。
在领导 Eventbrite 的分析时,我们使用一个相当简单的框架来帮助我们定义成功、诊断问题和识别机会。虽然我不能分享我在 Eventbrite 做了什么,但我发现我可以使用婴儿名字数据来模拟一个虚构的公司,并使用它来演示测量框架。我们走吧!
在命名的行业中
为了使婴儿姓名数据集达到可用状态,我们必须用一些虚构的背景上下文来设置舞台。假设 1990 年成立了一家名为 iNamed Inc .的公司,他们想出名字,并向未来的父母推销。然后他们可以从给新生儿起的每个名字中获得版税。
名字的现行价格是每个新生儿用他们的名字命名 5 美元。除了这一固定费率之外,iNamed Inc .还获得该名称中每个字母 0.50 美元的额外费用(这增加了一个可变部分)。最重要的是,他们只有在一个名字在任何给定的一年中至少被 5 个婴儿使用过的情况下才能得到报酬(原始数据集删除了任何出现少于 5 次的名字,以防止被识别)。
在这种情况下,我们可以将每个独特的名字视为一个独特的客户或用户,他们为公司带来的价值是出生时带有该名称的婴儿数量。例如,Ayden、Jaxson、Kaydence、Jayceon 和 Zayden 都是 iNamed Inc .在 1990 年至 2010 年间创造的热门名字(你可以说他们有相当独特的风格)。这些名字总共创造了 16.5 万个新生儿和 130 万美元的收入。看起来命名是笔好生意!
按编号命名的公司
运行这些数字,我们可以画出 iNamed 公司的收入。从 1990 年不到 10 万美元的年收入开始,iNamed Inc .在 2001 年增长到 100 万美元,在 2006 年翻了一番,达到 2M 美元,最近在 2018 年底达到 300 万美元(如下图所示)。尽管最初有所增长,但收入增长在过去十年中一直在下降。
这种 s 形曲线在很多行业都很常见。收入开始很低,然后随着坡度的快速变陡而加速。然后出现拐点,斜率开始下降。这种下降起初是渐进的,但随后突然迅速开始变平,收入逐年仅略有增加。
iNamed Inc .也不例外,这条 s 曲线在过去十年几乎没有增长。在接力棒传递给新的域名生成公司之前,他们只有一年的时间来想出好名字,可以理解的是,iNamed Inc .希望这最后一批名字是一个好名字。
那么在 iNamed 公司发生了什么?增长放缓的根本原因是什么?基于这些,我们可以向名称设计师提出什么建议,以便他们在 2019 年更好地集中精力?使用一个框架可以帮助我们回答这些问题。
一个框架
为了理解这个行业及其变化,让我们从构建一个简单的框架开始。从我的经验来看,使用一个类似数学的等式通常是理解一个企业成功的最快和最简单的方法。
说到底,iNamed Inc .是一家营利性公司,关心的是营收;因此,让我们从等式右端的 it 开始我们的框架。接下来,我们将在等号左边填入所有收入的总和。
接下来,我们有名字本身——没有它们,iNamed Inc .就赚不到钱。我们将在等式的最左端添加名字作为一个术语。在这种情况下,一个活动名称是一个符合至少出现 5 次的定义的名称,因此有资格获得版税。
为了填补中间的空白,我们需要把名字公司赚钱的两种方式结合起来:按出生和按字母。
为了使我们的方程在数学上稳定,我们需要稍微调整这两个指标。将每名出生人数和每名出生人数的收入相加,既能增加收入,又能让单位发挥作用。在这种情况下,我们假设每封信的收入没有变化,也没有必要明确加入等式。
给我看看数字!
下面我们将看到这些年来我们的每个框架指标。
通过查看这四幅图,我们已经了解了很多关于业务的信息:
- 每胎收入非常平稳。这表明名称的平均长度变化很小。
- **在企业的整个生命周期中,人均出生人数似乎以相对稳定的速度增长。**仔细观察,我们还可以看到这一指标中有一条非常轻微的 s 形曲线,表明我们名字的出生人数最多有一点点下降。
- **活跃域名的数量从 2007 年左右开始稳定下来。**在时间和上述各点之间,活跃名称的数量可能是影响收入的最大因素。
一头扎进框架
我们将深入研究这三个术语,并了解它们是如何随着各自的子指标而变化的。为了更深入地挖掘我们每年活跃的名字,让我们回到我们的框架,并添加另一层。
活动名称可以分为两种不同的策略:创建(或获取)新名称和保留返回的名称。新名称被定义为当年第一次被视为活动名称的活动名称。返回的名称由前一年第一次出现的任何活动名称定义。
这里我们有两个主要趋势:
- 新名字的数量在 2007 年达到顶峰后开始下降。名字设计师在 20 世纪 90 年代平均每年创造约 16k 个新名字,2000 年代为 18k,2010 年代仅为 11k。
- **自 2007 年以来,回归名字的增长基本持平。**鉴于 2006 年后,85%的活跃域名首次出现在上一年,这一回归变化对活跃域名总数有较大影响。
因此,虽然 iNamed Inc .无法像过去那样推出新名字,但过去名字的受欢迎程度似乎有了更大幅度的下降。我们可以对每年的新名字进行分组,并绘制出 1 年、10 年或 15 年后仍在使用的名字的百分比。下面的热图描述了这一点,有助于理解新名字群体的受欢迎程度这些年来是如何变化的。
Darker = higher retention
如果你以前没有看过这样的剧情,可能会有点让人不知所措,所以让我们一个一个来看。
- 在图的左侧向下增加的年份表示每个新的名称群组(这相当于较早的新的和返回的图中的新名称)。
- 顶部增加的数字表示自队列开始以来已经过去了多少年(即自 1990 年队列开始以来已经过去了 10 年)。
- 每个方块的颜色表示该群体的活跃名称在下一年回归的百分比。最左边的列(0)中的细胞都是 100%,因为该列指示群组的开始。
- 一般来说,颜色越深,保留率越高,对 iNamed Inc .越好。
例如,2000 年的一批域名中有 1931 个新的活跃域名。一年后,这些名字中的 33%(1931 个中的 634 个)仍然有效,四年后只有 48%(1931 个中的 935 个),15 年后只有 38%(1931 个中的 734 个)。
保留趋势
- 第一年的续读率几乎总是低于第二年。也许父母需要一些时间来“热身”新名字。我们在第三年的保留率中看到了类似但不太一致的效果。除此之外,我们看不到任何其他季节性趋势——更高或更低保留率的垂直线(例如十年后保留率的持续增长)。
- 在 1995 年和 2000 年之间创造的名字比其他的名字保持的时间更长。这五年对名字设计师来说一定是个好时光。理解为什么这些名字受欢迎并模仿它们是 iNamed Inc .的一个机会。
- 从 1990 年到 1994 年和 2001 年到 2005 年的队列中的名字都有很好的记忆。他们只是不如上述队伍强大或持续时间长。
- 到目前为止,2006 年及以后的队列保持性非常差。这些名字的某些部分没有像以前的名字那样流行起来。了解原因将有助于我们防止将来出现糟糕的名字。
- 2012 年的毕业生,虽然是最近的,但保留率越来越高。这可能预示着未来流行名字的趋势。
- 最后,在 2004 年到 2006 年间,我们看到了一种微妙的高保留率趋势,这种趋势影响了所有珍贵的群体。这种与时间相关的特定事件可能是一种多年的营销推动或出生潮。
最后
使用这个框架和仅仅 6 个图,我们现在对 iNamed 公司的业务、历史和潜在的改进机会有了相当深刻的理解。此外,使用这些相同的图表,我们现在可以设定目标并监控业务的成功发展。
请注意,框架的主动创建者方面本身假设每个名称都值相同的值。事实上,我们都知道这不是真的——因为 80/20 法则告诉我们,20%的名字导致了 80%的出生。该框架在我们的第二个术语(按姓名出生)中考虑到了这一点。对每个名字的出生驱动因素及其与活跃名字的互动进行类似的深入探讨,可以帮助我们进一步了解业务并发现机会。
总的来说,在浏览这些数据时,我惊喜地发现名字数据与一家成熟公司的数据如此接近。通过使用这个虚构的公司作为例子,我希望你能看到建立这样一个框架对于诊断和理解任何真实的业务是多么有价值。此外,由于每个指标都是数学等式的一部分,因此很容易从一个指标深入到另一个指标,从而全面了解我们为什么要制定目标,以及这些目标如何影响整个公司。
作为 Eventbrite 的首席产品分析师,我在我们的产品团队中建立了一个非常相似(也更复杂)的该框架版本,帮助我们监控产品健康状况、量化成功、诊断问题和识别机会。
这不仅是一个有用的框架,也是一个真正的战略。让团队专注于改善等式中的选择术语(即每个名字的出生人数),可以实现各种战略方向,这些方向都很容易与收入相关联。这些团队可以用他们自己的子术语进一步定义框架。在实践中,这些子术语通常表示关于他们为什么认为他们的用户会这样做的假设。当团队进行实验时,这些假设会根据焦点的度量是否移动而得到验证。
请欣赏 iNamed Inc .在以下十年中排名前五的名字。
感谢阅读。📈
Births counted at the end of 2018
如果你的同事是机器人呢
人工智能、机器人和合作的奇异未来
SOURCE: © ADOBE STOCK
纵观历史,我们已经看到了整个行业的组织是如何接受机器人技术的,以及今天,这些组织中的一些是如何在没有机器人技术的情况下运作的。每一天,我们都见证了技术是如何融入我们工作生活的几乎每一个方面的,并且在许多情况下,我们依赖它来执行我们的大多数日常任务。
几十年来,组织一直在使用机器人来自动化日常流程。事实上,每天我们都被它们包围着,无论是在家里,在街上还是在办公室——从自动取款机和自动售货机到更复杂的手术机器人和自动驾驶汽车。这些机器人有不同的形式和形状,也许它们看起来不像人类,但企业喜欢它们,它们肯定是大规模生产力的关键驱动力。
现在,想象一个正常的一天——早上醒来,去你的工作场所,喝一杯咖啡,开始与你的同事交谈……一切看起来都很正常,你参与到对话中,交流想法和新想法,然后结束,走到你的办公桌前开始工作。一小时后,你的经理要求你分析和比较五份长篇报告。你没有时间做那件事,那需要太多的工作时间和太多的精力;另外,你还有其他事情要做。因此,你向你的同事寻求帮助,并在一个小时内惊人地得到了结果。
这听起来很不现实吧?没有一个普通的同事会为你做这项工作,甚至这么快就完成。但是如果我告诉你,你的同事是一个机器人呢?一个外表和行为都和其他人一样的机器人。它可以像你一样说话,像你一样思考,几乎像你一样推理。但它仍然是一个机器人。你会有什么感觉?
SOURCE: © ADOBE STOCK
人工智能、机器学习和机器人技术:
许多机器人不是人工智能的,它们被编程来执行重复的任务或运动,以操纵现实世界中的物体。然而,一些专家提出,构成机器人的是它的思考和决策能力,但这难道不意味着使用 AI 吗?
另一方面,人工智能(AI)旨在通过解决问题、学习、感知和推理等技能来复制人类的智能行为。它可能涉及某种程度的机器学习(ML),这是基于授权机器访问数据的想法,这将允许它们自学。
AI 与 ML 和 Robotics 打算创造一个具有人类智能的人造机器/机器人,它能够自己表达原始想法。我们还没有做到这一点,但我们已经取得了很大进展。
你可能已经听说过索菲亚,看起来像人类的社交机器人。如果你知道我在说什么,想想一个更复杂的索菲亚版本,与人类一起工作和协作。
其他重大进展包括所谓的“T4”机器人流程自动化(RPA)。这些软件机器人通过复制人类互动来帮助企业和员工做简单的工作。它只是一个软件,而不是一个物理的人工智能机器人,但这绝对是一个重大突破。
真正的挑战是让 AI 理解自然智能是如何工作的,因为我们知道我们的大脑是如何运作的,我们可以教会 AI 如何思考和学习,但我们仍然不知道所有这些联系如何才能引导 AI 使用抽象推理或“常识”。
SOURCE: © ADOBE STOCK
我的同事是一个机器人:
回到我们开始的地方——机器人旨在通过执行体力和智力任务,与人类一起建立想法,从我们的环境中学习,质疑决策,并一起找到解决方案,来与人类共享工作空间,这将降低许多风险,并成倍提高生产率。
机器人已经可以比人类做得更好,但它仍然需要人类来解释他们的工作,并以战略性和创造性的方式应用结果。出于这个原因,我们需要确保机器人被视为互补而非竞争,并分配给它们没有人愿意做的工作,即紧张而重复的工作;把涉及判断和专业知识的工作留给人类。
再想象一次,同样的场景,你和你的同事进行对话,但是现在你从一开始就确定那是一个机器人。会不会感觉怪怪的?
可能吧,我知道这听起来也很可怕,但是如果我们更深入地思考一下,想想拥有一个人工智能同事的好处而不是坏处,这可能会改变我们的观点。这些优势包括:
安全:涉及使用重型机械、尖锐物体、极高或极低温度、化学品等的任务将由机器人执行。这将保护在危险和不健康工作条件下的工人。
**速度和一致性:**人工智能机器人工作速度快,没有任何干扰,它们不需要休假,全天候可用。
没有错误:机器人几乎没有犯错的余地,它们精确而优质。
**快乐&生产力:**最重要的是,所有这些福利都是为了提高员工的快乐和生产力。如前所述,这些机器人将接管那些我们不喜欢的任务。从危险、乏味和重复的基本任务到需要高度分析技能的更复杂的任务。
SOURCE: © ADOBE STOCK
可以由人工智能机器人完成的工作示例:
数据记者:这类记者是那些专注于分析数据的人。人工智能机器人可以更快更有效地完成这些工作。
**秘书:**像接电话、发邮件、安排会议等行政任务(包括体力、手工任务),都可以由人工智能机器人来完成。
**文档审查(律师)😗*许多律师不得不在成千上万的文档中搜寻特定的信息。人工智能机器人可以瞬间过滤信息,还可以分析信息并生成报告。这项工作也适用于其他相关领域。
药剂师:当你去药店时,人工智能机器人可以扫描你的处方并拿到你的药。对于非处方药,你可以指出你的症状,机器人会给出建议。此外,这些机器人可能会访问医院的数据和你的健康记录,以提供更准确的建议。
**人工智能警察和情报助理:**人工智能机器人可能会通过收集、存储、整理和强调调查所需的关键数据来帮助警察和中情局等机构。他们也可以执行一些体力任务,如巡逻,逮捕,甚至指挥交通。
机器人可以被教会如何混合和提供饮料。从啤酒到招牌鸡尾酒,应有尽有。他们可以在几分钟内制造数百个。
人们对机器人取代人类和消除工作岗位有很多担忧,但这些机器人可能会与人类并肩工作,合作并补充我们的工作,而不是接管工作。事实上,技术创造的就业机会将比它淘汰的多。许多工作将会改变,新的工作将需要一套新的技能,我们必须通过人工智能推动的高级教育和培训系统来获得这些技能。
如果我们打算与机器人共享一个工作空间,并将它们视为合作伙伴而非对手,它们必须首先以人类的身份体验这个世界,这意味着它们需要能够了解我们。这将使人类和机器人之间的互动更加容易,也可以让他们更快地学习。
道德与人工智能同事
就道德而言,我们对人工智能同事有什么期望?
SOURCE: © ADOBE STOCK
人工智能和机器人将对社会、价值观和人权产生巨大影响。
如果我们希望机器自主运行,在某一点上,它们将需要收集大量数据。但是我们希望与机器人分享多少这些数据呢?如果机器人造成事故,谁来负责?我们愿意放弃自己的隐私去和机器人互动吗?我们能相信机器人吗?
随着技术的发展,更多的问题将会不断出现,而我们有责任通过共同努力来实施一个规范和保护这些创新轮廓的结构来回答这些问题。
每个故事都有两个方面,不确定的时代会到来,技术如果出错,会变得危险。因此,我们必须小心管理机器人,最终,人类将负责控制、检查和运行机器人。
人工智能和机器人不应再被恐惧,而应被视为一种合作工具。
是什么影响了 Airbnb 上西雅图的房产预订价格?
A view of Seattle Skyline with the snowy mountain in the backdrop
Airbnb,一个预订住宿房产的在线市场,发布了一个关于 Kaggle 的数据集。它包含 2016 年西雅图的房产列表数据及其可用性和预订价格。
带着好奇的心,我决定探索数据集。经过一番探索,我想通了这个数据集能回答什么样的问题。
在这里我分享一些我从中发现的感悟。
你可以查看我的项目笔记本和 Github 库,看看我是如何得出这些见解的。
今年可供使用的房产数量趋势如何?
2016 年初,从 1 月到 3 月,西雅图 Airbnb 上首次提供的房产数量急剧增加。三月份之后,增长就不那么快了,尽管全年都在稳步增长。
Vacation rental in Seattle listed on Airbnb
过去一年,酒店入住率的趋势如何?
这有助于我们了解 2016 年西雅图上市酒店的预订比例。它可以被看作是通过 Airbnb 对所列房产的使用率。
入住率在 1 月和 3 月之间波动很大,因为在此期间有大量新物业首次推出。从 4 月到 7 月,入住率为 22-25%。7 月份是西雅图的夏季,所有列出的酒店的最高入住率都超过了 30%。7 月之后,入住率从 30%下降到年底的 23%。
A view of cozy kitchen and dining area from a property in Seattle
这一年有多少房产被占用?
入住的房产数量与 2016 年西雅图选择在 Airbnb 上预订房产的人数成正比。
1 月至 4 月期间,有 400 至 500 处房产被占用。从 4 月份开始,这个数字跃升至近 600。7 月份,又有一波上涨,700 多处房产被占用。入住率在 7 月后接近年底时逐渐下降,2016 年底有近 650 家酒店入住。
An aesthetic house boat property found in Seattle
2016 年房地产的平均价格趋势如何?
从 1 月到 7 月,预订价格总体稳步上升。7 月,平均预订价格超过 150 美元,并保持在 150 美元以上,直到 8 月底。从 9 月份开始,平均价格开始下降。临近年底圣诞节期间,价格略有上涨。
平均价格每月大致有 4 次上涨,你能猜到原因吗?让我们放大到七月。
Celebration of 4th July in Seattle [Image Source]
平均价格在七月的一周中是如何变化的?
周五和周六的价格往往高于其他时间。也许,这可以归因于更多的人选择在周末而不是工作日通过 Airbnb 上市的物业住宿。
2016 年西雅图有哪些类型的房产上市?
大多数房产都是公寓或房子类型。还有大量的公寓、联排别墅和阁楼。
A view of Seattle tower from apartment
回到我开始这篇文章时提出的问题。
影响房产预订价格的因素有哪些?
我们能根据它的位置、大小和便利设施预测房产的预订价格吗?
数据集具有包含属性列表属性的文件。它包含的属性包括位置、邻里关系、便利设施、大小、浴室和床位数量、物业类型等。我们的常识表明,这些属性在决定 Airbnb 上预订的房产价格时起着重要作用。
我创建了热图,以可视化的数字属性之间的关系,包括他们一年来的预订价格。列和行相交处的单元格中的数字表示数据集中两个属性之间的相关性。数字越接近 1,两个属性之间的相关性越高。
从这张热图中可以明显看出,预订价格与酒店可容纳的人数、卧室数量、床位和平方英尺大小等属性高度相关。正如预期的那样,酒店可以容纳的人数与卧室和床位的数量高度相关。
我在这个方向上做了进一步的研究,用岭回归技术训练了一个统计模型,看看这些属性是否可以用来猜测一个房产的价格。
按照训练机器学习模型的标准过程,我首先通过执行以下步骤来准备数据集。
- 连接两个数据框,其中一个数据框包含一年中不同日期的列表价格,而另一个数据框包含该物业的属性,如位置、大小、设施等。这有助于我在估算预订房产的价格时考虑到星期几和月份。
- 消除目标可变价格中缺少值的行
- 将分类变量转换为每个分类级别都有二进制数值的列
- 用列的平均值填充数字列的缺失值。我选择不填充分类变量的缺失值。
- 从数据框中选择的列将作为输入变量 X 和目标变量 y。
- 将 X 和 y 数据集分成训练数据集和测试数据集。
- 在训练数据集上拟合岭回归模型。
- 预测测试数据集中的房产价格。
- 通过计算价格的测试值和预测值之间的 r 值来评估模型的性能,该值大约为 0.63。
- 解释训练回归模型中每个输入变量的系数,以了解其对价格预测的影响。
以下是训练模型中系数绝对值最高的输入变量列表。它们可以被认为是一年中对预测酒店预订价格具有最大意义的酒店和时间的属性。与input_variable
相关联的coef
列中的正值和负值分别表示输入变量对房产预订价格的估计的正面和负面影响的量。
正如您所注意到的,对价格估计影响最大的前两个输入变量与房地产的类型有关。另一个重要的影响因素是房产的位置和邻近区域。根据这个统计模型,酒店中浴室的数量也是价格的一个重要影响因素。
让我们深入挖掘不同类型的输入变量的系数,以了解它们对估计价格的影响有多大。
财产类型对价格估算的影响
- 类型船的属性很可能有更高的预订价格。
- 宿舍,共用房间或帐篷类型的财产很可能有。更低的预订价格
Boat house barges, a unique type of properties found in Seattle
物业邻近对价格估计的影响
根据这些表格,包括东南木兰、温德米尔、西湖、派克市场和先锋广场在内的邻近地区列出的物业更有可能有高预订价格。然而,位于 Crown Hill 和 Laurelhurst 的酒店可能会有较低的预订价格。
Maps of Seattle highlighting Southeast Magnolia neighbourhood on the left and Windermere neighbourhood on the right
一年中月份对价格估计的影响
在六月、七月和八月;该资产可能具有较高的预订价格,而在一月和二月,该资产可能具有较低的预订价格。
The Washington State International Kite Festival in Summer 2019
星期几对价格估计的影响
该房产在周六和周五可能会有较高的价格,而在其他日子可能会有较低的价格。
Tourists enjoying during weekends near Seattle
便利设施对价格估算的影响
配有便利设施的物业,如门卫、游泳池、空调、有线电视、适合活动、热水浴缸、健身房等。很可能会有更高的预订价格。允许吸烟的酒店可能会有较低的预订价格。
A pool house property at Seattle
结论和见解
观察经过训练的模型的系数,可以得出几个结论,我在这里重申。
- 类型船的属性很可能有更高的预订价格
- 宿舍、共享房间或帐篷类型的酒店很可能有较低的预订价格
- 准确的位置和物业所在的社区在决定其预订价格方面起着非常重要的作用。
- 该物业的浴室和卧室数量与预订价格成正比。
- 价格也与它能容纳的人数成正比。
- 对预订价格有积极影响的便利设施包括门卫、游泳池、有线电视、热水浴缸、健身房和电梯。
- 7 月和 8 月的预订价格往往较高,而 1 月和 2 月的预订价格往往较低。
- 周五和周六的预订价格往往会比其他日子高。
- 允许吸烟作为一种礼仪对价格有很大的负面影响。
- 根据现有数据的训练模型,位于菲尼里奇西雅图市的房产不太可能有高价格。
- 由于数据集中的所有属性都位于西雅图,因此市场和辖区等属性在确定价格时不起任何作用,因为它们不会在输入数据中添加任何差异。但是,在对包含美国多个城市的列表的数据集训练相同的统计模型时,他们可能会成为重要的影响者
我希望你觉得这篇文章很有见地。你可以查看我的项目笔记本和 Github 库,看看我是如何得出这些见解的。
什么是数据工程师?
线索:我们是数据科学推动者!
Photo by Franck V. on Unsplash
数据工程师这个职位并不总是和数据科学家这样的职位有着相同的性感内涵。然而,外表并不代表一切,数据工程师的工作实际上构成了数据科学家工作的重要部分。
可以理解的是,像机器学习和人工智能这样的话题总是会赢得流行度竞赛,特别是当它们在主流媒体上越来越受欢迎的时候。然而,这些概念背后的大部分工作源于数据工程工作。
这不是一篇关于数据工程师与数据科学家之战的文章,这里没有牛肉。相反,这篇文章来自于我最近看到的关于这一点的文章海洋:数据科学家 80%的工作是数据准备和清理。
因此,我将谈谈为什么我认为数据工程是一个重要的领域,这是基于它能够实现什么,以及它如何与数据科学一起为行业中的最新技术提供支柱。
人工智能和机器学习模型需要数据
与任何一位数据科学家交谈,他们都会告诉你,获取数据,尤其是拥有他们的模型所需的一切的数据源,是一个遥远的梦想。
在现实世界中,如此有用的数据集非常罕见,这也是数据工程师的第一项技能发挥作用的地方。我们花费大量时间从一系列来源中提取数据集,大部分时间都集中到一个中心来一起使用。
Image Source: https://i.redd.it/2c2megoon2411.jpg
现在任何人都可以从网站上下载静态数据集。数据工程师的好处就是:工程。他们不仅可以从不同的来源为你提供大量的数据,而且可以以一种可重复的方式,频繁地更新,如果需要的话,甚至可以实时更新。
干净的数据=更好的模型
构建 AI 或 ML 模型所需的所有数据现在都频繁地进入你的中央数据中心(如果你想了解更多细节,我最近写了一篇关于如何构建完美数据仓库的文章)。
让你的人工智能和人工智能模型起飞前的下一步是准备数据。这就是我这篇文章的来源。我看到的关于这一点的文章数量,甚至是 2016 年《福布斯》的一项调查,简直是疯了。
福布斯调查表明,80%的数据科学工作是数据准备,75%的数据科学家认为这是工作中最无聊的部分。
👋你猜怎么着,这也是数据工程师蓬勃发展的地方。我们花了太多时间处理数据,以至于很多工作已经成为我们的第二天性。无论是将数据集连接在一起,清除空值和错误值,将字符串处理成特征,还是聚合数据,我们都能为您提供帮助。
作为免费赠品,所有这些都将以可重复的方式构建,因此随着数据的更新,它也会被清理,从而提供一个一致的新鲜、干净的数据源。
作为二对一,您还可以获得额外的好处,解放您的数据科学家,让他们从模型中挤出每一寸空间,并保持更高的士气,因为他们工作中最无聊的部分现在已经消失了。
最后建立一个模型
我们终于到了,在模型的所有前期工作终于可以开始之后,你可能会认为这是数据工程师消失在深渊中的地方。
然而,任何构建过人工智能和人工智能模型的人都会知道,生活并没有那么简单。在构建模型的过程中,随着更多问题的提出和答案所需的额外数据的增加,上述问题将会多次重复。
这是数据科学家真正闪光的地方,让他们在这里做他们的事情是多么重要,我怎么强调都不为过。到目前为止,我所谈论的一切并不是我想说数据工程师更好或更有价值,而是要展示他们如何能够为数据科学家提供更高效的工作流,以深入了解本质。
一个模型只有在有人要用的时候才是有用的
模型的第一次迭代工作已经完成。我们可以打包回家,对吗?正如你们大多数人已经知道的,事实并非如此。模型可能会建立起来,但需要考虑的事情很少:它将如何在现实世界中使用,以及它多久会变得陈旧。
人工智能或 ML 模型的目的是解决现实世界中的问题,所以现在需要应用它。通常这意味着在应用程序中实现,或者用于细分或预测营销。
数据工程师将能够将模型添加到数据管道中,该数据管道根据模型处理您的整个用户群,并相应地对他们进行细分。他们可以利用这一点来触发自动通信或将细分发布到数据层,以便在您的网站上启用细分目标内容。
如果你担心这个模型会在几个月后变得陈旧,不要担心。一个好的数据工程师将能够与数据科学家一起工作,并将他们的工作转化为可以不断更新的东西。输入新数据,重建模型并自动发布。
那么我在暗示什么呢?
无论你是在考虑聘请一名数据工程师,还是想进入数据领域,但不知道从哪里开始,数据工程显然是一个需要考虑的重要领域。
您可以看到构建一个数据模型并使其生效背后有多少工作可以由数据工程师来完成。
获得的效率意味着建立模型的速度会更快,模型无疑会更好,因为数据科学家有更多的时间来调整和改进它们。
寻找更多伟大的数据工程内容?然后 注册我的简讯 学习现实世界的数据工程技术,并接收个人策划的内容。我还经常在时事通讯中刊登订阅者的文章,以增加你的影响力**。**
什么是 Deepfake,为什么要关注它?
Deepfakes 篡改我们的眼睛、耳朵和真实感。我们准备好阻止它摧毁我们对真理的观念了吗?
Photo by Elijah O’Donnell on Unsplash
deepfake 是一种使用人工智能和机器学习技术篡改的图像、视频或音频。尽管 deepfakes 被用于偶尔的搞笑模因,但在错误的人手中,它可能会导致公共危机和金融危机。
第一:deepfakes 是如何产生的?
Deepfakes 是生成式对抗网络(GAN)和无监督机器学习的结果。获得初始数据后,计算机会使用生成器和鉴别器进行自我学习。
发生器生成初始的假图像、音频或视频,并将其发送给鉴别器进行检查。如果它确定图像是假的,生成器根据鉴别器的反馈修改文件。然后,使用提供的数据,生成器再次修改文件,并将其发送回鉴别器进行评估。这种情况会持续下去,直到它骗过鉴别者,让他们认为假文件是真的。
然而,这个过程可能会有问题。如果鉴别器很弱,它可能会过早地将假图像标记为“真实”图像,从而产生不合格的深度假图像。这被称为“肤浅的假动作”,在媒体上经常使用。
Photo by Christian Gertenbach on Unsplash
什么是浅薄的假货?
浅假不如深假有说服力。因为它缺乏同样深度的真实感,所以用你的感官来检测一个肤浅的赝品要容易得多。
一个肤浅的假图像的例子是一个拙劣的 PS 面部交换。或者视频中的浮动剪切头。或者是一个伪装成人类的机器人声音(就像 robocalls cams 中经常使用的那些)。
浅层假货可能比深层假货更容易被发现,但这并不会降低它们的危害性。
CNN 记者吉姆·阿科斯塔(Jim Acosta)是一个流行的浅薄的假视频的受害者。在视频中,有人看到阿科斯塔“攻击”一名白宫实习生。但在真正的无导演版本中,阿科斯塔没有这样做——是实习生试图从阿科斯塔手中夺走麦克风。
尽管不被认可,这个肤浅的赝品仍然产生了影响。阿科斯塔的粉丝仍然支持他,但任何不喜欢他的人都更可能相信他有能力攻击无辜的人——即使他一开始就没有。盲目相信一个来源,不管是真是假,都是一个确认偏差的问题。这也是浅层假货和深层假货迅速传播的主要原因之一。
确认偏差如何确认 deepfakes 的有效性
虽然用我们的眼睛和耳朵很难发现 deepfake,但这不是 deepfakes 的主要问题。
一项涉及 3000 多名成年人的新研究揭示了我们如何感知数据的主要问题。在向参与者展示了带有虚假文本的虚假图像后,结果显示确认偏差影响了他们(以及我们作为人)对深度虚假的看法。
这意味着,如果它强化了我们的信念,我们更有可能分享信息(比如 deepfakes),而不管来源的有效性。它会迅速传播开来,对公众舆论产生影响(就像 Acosta 事件一样),或者对公司造成财务损失。
Photo by Jp Valery on Unsplash
deepfakes 是如何影响公众的
网络安全公司赛门铁克称,三家公司已经陷入了深度假音频骗局。在骗局中,攻击者通过使用 deepfake 音频伪装成 CEO。然后,作为首席执行官的“代言人”,他们给高级财务官打电话,要求紧急转账。
数百万美元就这样没了。
Deepfakes 不仅用于经济利益,也用于报复。这款名为 deepnude 的应用程序将女性的衣服与人工开发的裸体身体互换。未经女方同意创作和传播这些图像被称为报复色情。它已经促使新的立法反对数字篡改图像和视频。
前提是你能识别出一个深度假货,这对于我们的眼睛和耳朵来说是非常困难的。那么我们怎么才能找到他们呢?使用制造 deepfakes 所需的相同类型的算法。
如何检测 deepfakes
新算法可以检测 deepfakes,但不幸的是,这不是一个快速的过程。
一个成功的检测算法的一个方面涉及到一个像素一个像素地研究 deepfake 图像。为了做到这一点,递归神经网络必须研究数以千计的真实和深度伪造图像,以解读其中的差异。
其中一个区别是深度伪造图像的平滑边缘。当插入新图像时,它会使边缘变得不清晰。计算机会使边缘变得稍微平滑一点,但太多了,无法补偿。因此,这种不自然的平滑可以显示图像是一个深度赝品,而不是伪装它。
这种算法可能适用于视频,但现在,它并不完全符合标准。它需要逐帧分析视频,并检查每一帧的像素。当算法完成并确定这是一个深度假视频时,损害可能已经造成了。
Photo by Sonja Langford on Unsplash
时间在流逝…
技术每天都在进步,deepfakes 也不例外。每天坏演员都在学习新的方法来创造高度逼真的深度赝品。我们目前的检测算法可能会在一天内过时。
Kiesha Frue 是一名 专业文案、编辑、 校对。她沉迷于文字、澄清信息和法国香草卡布奇诺(最后一点可能没那么重要。除非那是你的事!).
内核是什么?
探索整体内核与微内核之间的差异或细微差别
在字典中,果仁是坚果、种子或果核中较软的、通常可食用的部分,包含在外壳中,如“核桃仁”。它也可以是某事的中心或最重要的部分“这是争论的核心”。
内核是一个计算机程序,是计算机操作系统的核心,完全控制系统中的一切。
内核通常是在 引导加载程序 之前启动时加载的第一批程序之一。
“引导加载程序是一种加载并启动操作系统或计算机系统的引导时间任务和进程的程序。它能够在计算机启动或引导时将操作系统加载到计算机内存中。引导加载程序也称为引导管理器或引导加载程序。【1】
你可能听过“启动”一个系统的说法。引导装载程序为中央处理器翻译数据处理指令。引导加载程序处理内存和外围设备,如键盘、显示器和扬声器。
The boot system for all standard computers and operating systems — image by Neosmart retrieved the 27th of September.
我隐约感觉到内核作为计算机系统操作的一部分很重要,但是我不确定它是如何操作的。因此,我找到了更多关于 Linux 内核的信息。
Demystifying the Linux Kernel from Digilent blog retrieved the 27th of September.
“…内核是应用程序、CPU、内存和设备之间的屏障。从视频游戏到互联网,应用程序是人们一直在使用的东西
Linux 内核是一个免费的、开源的、单片的、类似 Unix 的操作系统内核。这可以这样表示。
当然可能简化的优点如下。
- 因为涉及的软件较少,所以速度更快。
- 因为它是一个单一的软件,所以它的源代码和编译形式都应该更小。
- 更少的代码通常意味着更少的错误,这可以转化为更少的安全问题。
所有操作系统服务都与主内核线程一起运行,因此也驻留在同一个内存区域。
单片内核的主要缺点是:
- 系统组件之间的依赖关系— 设备驱动程序中的错误可能会导致整个系统崩溃
- 大型内核可能变得非常难以维护。
单片内核中的大多数工作都是通过系统调用来完成的。
系统调用 是程序与操作系统交互的一种方式。当计算机程序向操作系统的内核发出请求时,它就发出了一个系统调用。系统调用通过应用程序接口(API)向用户程序提供操作系统的服务。
在一篇关于极客素材的文章中,计算机硬件、OS 内核、系统功能、应用程序代码和库函数之间的交互:
在计算机科学中,库是计算机程序使用的非易失性资源的集合,通常用于软件开发。
什么是应用程序代码和库代码。更重要的是,两者之间有什么区别?根据对编码的热情,这些可以定义为:
库代码意味着在不同的环境下,可以在不同的应用程序中重用——无需修改代码即可扩展和适应。
应用代码在一个环境中使用,可以改变其行为。作为区别的一个例子,我将实现一个示例日志记录机制。一个编写为应用程序代码,一个编写为库代码。
因此,微内核和单片内核的区别在于系统调用以及*‘内核空间’**。*
Image retrieved from Tech Difference on the 28th of September. A more detailed explanation can be found at https://techdifferences.com/difference-between-microkernel-and-monolithic-kernel.html
主要区别如下:
- 微内核和单片内核的基本区别在于,微内核在不同的地址空间实现用户服务和内核服务,单片内核在同一地址空间实现用户服务和内核服务。
- 微内核的大小很小,因为只有内核服务驻留在内核地址空间中。然而,由于内核服务和用户服务驻留在同一个地址空间中,所以单片内核的大小相对比微内核要大。
- 由于应用程序和硬件之间的通信是使用系统调用建立的,因此单片内核的执行速度更快。另一方面,由于应用程序和系统硬件之间的通信是通过消息传递建立的,所以微内核的执行是缓慢的。
- 由于新的服务将被添加到与内核空间隔离的用户地址空间中,所以微内核的扩展很容易,因此不需要修改内核。与单片内核的情况相反,如果要在单片内核中添加新服务,则需要修改整个内核。
- 微内核比单片内核更安全,就好像微内核中的服务出现故障时,操作系统不受影响。另一方面,如果一个服务在单内核中失败,整个系统都会失败。
- 单片内核设计需要更少的代码,这进一步导致更少的错误。另一方面,微内核设计需要更多的代码,这进一步导致更多的错误。
这可能导致一个粗略的概括。
微内核更慢更安全。
单片内核速度更快,安全性更低。
然而,这并不简单。举例来说,macOS 内核结合了微内核(Mach)和单片内核(BSD)的特性,而 Linux 只是一个单片内核[2]。单片内核负责管理 CPU、内存、进程间通信、设备驱动程序、文件系统和系统服务器调用。
话说回来,内核空间是什么?
在 Linux 系统中,系统内存可以分为两个不同的区域:内核空间和用户空间。内核空间是内核(即操作系统的核心)执行(即运行)并提供其服务的地方[3]
你可能已经听过人们谈论这与机器学习的关系。在机器学习中,核方法是一类用于模式分析的算法。这就是我们谈论关系研究的地方,然而我们将在另一个时间回到这一点。
参考文献:
- https://www.techopedia.com/definition/3324/boot-loader
- https://itsfoss.com/mac-linux-difference/
- http://www.linfo.org/kernel_space.html
这是第 500 天的第 116 天。我目前第 101-200 天的重点主要是编程。如果你喜欢这篇文章,请给我一个答复,因为我确实想提高我的写作或发现新的研究,公司和项目。
什么是神经网络?
神经网络的基本概念
神经网络是一组算法,大致模仿人脑,用于识别模式。他们通过一种机器感知、标记或聚类原始输入来解释感官数据。它们识别的模式是数字的,包含在向量中,所有现实世界的数据,无论是图像、声音、文本还是时间序列,都必须转换成向量。
先说房价预测例子。
假设我们有一些房子及其价格的数据集。我们想拟合一个函数来预测房价。
这里,房子的大小是输入数据( x ) &价格是输出( y )。
所以, y = f(x) 表示房价( y )是房子大小( x )的函数。
如果我们绘制价格和大小的数据,我们会得到这样一个图表-
Fig-1: Housing Price Dataset
现在,让我们使用图表中的这些数据画一条直线,以直观显示数据的趋势。看起来像这样-
Fig-2: Housing Price Dataset with trendline
这条直线代表了与面积相关的房价趋势。如果房子的大小已知,我们可以通过把大小画到那条直线上来求出它的价格。
现在,为了获得完美代表数据集的完美直线,我们使用由神经网络中的神经元计算的线性回归。
什么是神经网络中的神经元?
我们前面说过,房子的大小是输入数据( x 数据&价格是输出数据( y )。
我们上面所做的是,我们给出了一些关于房屋大小的价格示例,在这些数据的帮助下,我们可以预测上面示例中没有列出的任何大小的任何房屋的价格。
这里神经元开始发挥作用。我们将输入数据( x )提供给神经元,并从中获得输出( y )。
Fig-3: Neuron in a Neural Network
这是最简单的神经网络例子。
让它变得稍微复杂一点,让我们假设房子的价格也取决于其他因素。比如家庭规模、卧室数量、步行能力、邮政编码、学校质量和财富。
所有这些因素都是相互关联的,就像-
- 从一个地方到另一个地方的“可步行性”取决于这个地方的地址(邮政编码)。
- “学校质量”也取决于地址。像好的知名学校更有可能在富人区和城市地区。
因此,我们将这些因素中的一部分放入输入层,另一部分放入隐藏层。
因此,总体而言,现在的“房价”取决于所有这些因素。
在上图中,
- 由“大小”、“卧室数量”、“邮政编码”、“财富”创建的层被称为这个神经网络的输入层。
- 由“家庭规模”、“可步行性”、“学校质量”创建的层被称为神经网络的隐藏层。
- “价格”是神经网络的输出。
因此,我们实现了以下内容:
Fig-4: Neural Network Representation
因此,举例来说,不是说第一个节点代表“家庭规模”,它只取决于特征“x1”和“x2”,我们会说,“好吧,神经网络,你决定你想知道什么,我们会给你所有的四个特征来完成你想要的”。
每个输入特征都与这些圆(神经元)中的每一个相连,神经网络的显著之处在于,给定足够多的带有“x”和“y”的训练示例,神经网络非常善于计算出从“x”到“y”的精确映射函数。
深度学习为什么会腾飞?
深度学习优于传统机器学习算法的原因有很多。
从上图中,我们可以看到,
- 对于传统的学习算法来说,随着数据量的增加,性能在某一点后会饱和。因此,从机器学习模型中获得的最高性能不可能那么高。
- 但是对于神经网络来说,随着我们不断增加数据量,性能也会变得更好。因此,为了利用深度学习实现最佳性能,我们需要向神经网络提供大量数据。
这就是深度学习的闪光点。当涉及到大量数据的培育时,它可以比传统的机器学习算法表现得更好。
什么是感知器?
神经网络是一个由感知器组成的互联系统,所以可以说感知器是任何神经网络的基础。感知器可以被视为神经网络中单层的构建模块,由四个不同部分组成:
- 输入值或一个输入图层
- 权重和偏差
- 净和
- 激活功能
一个由感知器组成的神经网络,可以被感知为由非常简单的逻辑语句(感知器)组成的复杂逻辑语句(神经网络);“和”和“或”的陈述。一个陈述只能为真或为假,但不能同时为真或为假。感知器的目标是从输入中确定它正在识别的特征是否是真的,换句话说,输出是 0 还是 1。复杂语句仍然是语句,其输出只能是 0 或 1。
遵循感知器如何工作的图并不十分困难:对加权输入(来自前一层的每个输入乘以它们的权重的乘积)求和,并加上偏差(隐藏在圆圈中的值),将产生加权净和。输入可以来自输入层或前一层的感知器。然后,加权的净和被应用于激活函数,该激活函数然后标准化该值,产生 0 或 1 的输出。由感知器做出的这个决定然后被传递到下一层,供下一个感知器在他们的决定中使用。
这些部分一起构成了神经网络层中的单个感知器。这些感知器一起工作,通过传递它看到的特征是存在(1)还是不存在(0),成功地对输入进行分类或预测。感知器本质上是信使,传递与分类相关的特征与分类所具有的特征总数的比率。例如,如果这些特征中有 90%存在,那么输入可能就是分类,而不是只有 20%分类特征的另一个输入。就像海伦·凯勒曾经说过的,“独自一人,我们能做的很少;我们一起可以做很多事情。”这对周围的感知机来说都是如此。
什么是…量子电路传输器?
奇点研究
优化量子电路
量子电路和门
量子电路是程序在量子计算机上表达的方式。简而言之,量子电路是在量子位上执行的一系列矩阵运算,量子位是位的量子版本。量子电路将一些量子位作为输入,对它们进行矩阵运算,然后作为输出,我们进行测量并得到某些状态向量。一个门只是对一个或多个量子位进行矩阵运算的另一个术语。
减少门数
为什么要减少门数?目前,量子计算硬件通常被约翰·普雷斯基尔等专家认为是“噪声中等规模量子硬件,或“NISQ”级硬件。保持量子硬件隔离和足够冷以消除来自环境的干扰是极其困难的。目前用于量子计算的大多数硬件都必须隔离在一个接近零开尔文(即 F 或 C)的大型超冷却室中……这太冷了!如果不明显的话,保持如此寒冷的东西,比外层空间的平均温度更冷,是极其困难的,但为了防止任何类型的热量(或其他形式的光)与量子计算机芯片相互作用,这也是必要的。
所有这些和门数有什么关系?嗯,保持量子计算机的硬件足够冷是保持其稳定和防止所谓的退相干的一部分。如果光(例如热)与芯片相互作用,就会导致计算错误,并扰乱极其脆弱的量子位。程序运行的时间越长,也就是说,应用于量子电路的门越多,量子位的退相干和环境干扰的机会就越大。因此,减少电路中的门的数量意味着缩短程序的运行时间,这意味着在运行代码时由于故障门或环境干扰导致的去相干和错误的机会更低。
因此,减少门数是研究人员目前的一个巨大焦点。如果我们能减少量子计算机上运行的程序的门数和运行时间,我们就能得到更精确、更高效的算法。
运输工人
Transpilers,或源到源编译器是一个古老的概念,应用于经典计算和量子计算。它们本质上是采用一个版本的代码,以某种方式优化它,也许是通过缩短代码,减少运行代码所需的内存量,或者减少代码的运行时间,新优化的代码是 transpiler 的输出。transpiler 输出的新代码执行相同的任务,并且是等价的,但是在某些方面比原始代码更有效。
量子传输器仍处于起步阶段。它们对于提高 NISQ 类硬件的性能至关重要,因为它们通过减少门数来减少运行时间,正如我们已经知道的,减少门数和运行时间可以减少量子计算机上的计算错误。
基本门和硬件
transpilers 的另一个用途是构建与硬件无关的程序和软件。与大多数笔记本电脑和个人电脑不同,你运行的硬件是一个普通的程序!对于经典计算机来说,这在一定程度上是正确的,但与量子计算机不同。我们实际上可以在特定硬件设置上执行的门操作受到硬件架构和量子位连接拓扑的限制。每个量子位只能与其他几个量子位相互作用,有些门操作根本无法在任何给定的硬件上执行。所有硬件都是如此。当我们为量子计算机编写代码时,有一个执行一组等价的门操作而不引起错误的 transpiler 是必要的。由于已经提到的涉及导致退相干的门误差和环境干扰的原因,具有以最少的方式有效地实现这一点的传输器是非常有用的。
量子复杂性和 QMA 难题
优化一个量子电路有多难?嗯,那要看情况,但是有一些解决方案看起来非常有效。如果我们只想要近乎完美的优化,机器学习是寻找最优线路的一种非常有效的方式。量子电路学习如何优化自己的一个例子可以在论文量子电路结构学习中找到。量子机器学习软件 Penny Lane 有一个这个模型的实现,以及一个为好奇者编写的很好的教程。该实现最小化了 变分量子本征解算器 (VQE)问题的哈密顿量,并改进了初始电路结构。
如果我们想要尽善尽美,这是一个【QMA】的难题。这就是著名的 P vs 克莱数学学院NP 千年奖问题的 NP-Hard 问题的量子等价。
自动定理证明
LEAN,一款由微软开发的自动化定理证明软件,得到了数字理论家凯文·巴扎德诙谐幽默的大力支持,可能会证明(抱歉,我忍不住了)是优化量子电路和为量子计算构建高性能编译器和传输器的重要下一步。
如果你有想法要分享,有问题,或者你需要量子机器学习的咨询服务,请通过 LinkedIn 联系作者,访问奇点网站,或者查看 Github 教程。
主数据管理中实际发生了什么?
让我们来看看通往“单一版本的真理”的简单而复杂的过程
当您读到本文时,数据管理社区已经就主数据管理(MDM)是任何组织的数据治理实践中最重要的部分之一达成了多年的一致意见。成为数据驱动型组织不仅仅是获取大量数据。相反,它要求数据以“最干净”的形式用于分析,然后支持决策过程。
通向最干净的数据的道路充满了挑战和困难。举例来说,我们必须能够通过确定哪个来源最可信,并确保不存在重复,使来自各种来源的数据足够可靠,从而成为分析的原材料。有许多工作要做,这正是 MDM 正在做的,不是在一次扫描中,而是在一系列复杂的过程中,需要有史以来最先进的技术。在本帖中,每一个 MDM 过程都将用简单的语言解释,而不会破坏其复杂性。只有理解了 MDM 背后的东西,我们才能开始理解 MDM 在数据治理实践中的重要性。
数据分析
在使用 MDM 创建单一真实来源的过程中,最早的阶段是理解数据源的质量。这项工作正在通过数据分析进行。数据概要分析是审查数据源以了解数据的结构、内容、质量和相互关系的过程。
在这一过程中开展的活动可能包括:
- 统计描述的集合,如最小值、最大值、计数和总和。
- 数据类型、数据长度和循环模式的集合。
- 用关键字、描述和类别等信息标记数据
- 评估数据质量和数据合并时可能出现的风险
- 收集元数据并评估其准确性
- 确定分布、候选键(候选键)、候选外键(候选外键)、函数依赖、嵌入值依赖(嵌入值依赖)以及表间分析的过程。
此外,分析数据可以分为 3 种类型,即:
1.结构发现
通过对数据(如最小或最大数量)进行数学检查,执行验证过程以确保数据一致且格式正确。结构发现有助于我们了解数据的组织情况,例如,以错误格式输入的 ID 号的百分比。
2.内容发现
这是一个逐个检查数据记录以识别错误的过程。内容发现帮助我们发现数据内容中的系统性问题,例如没有区号的电话号码。
3.关系发现发现数据片段如何相互关联的过程。理解数据之间的关系非常重要,因为相互关联的数据可以放在一起以减少重复,或者在不破坏其相关性的情况下进行传输。
数据标准化
数据集成过程是 MDM 实现中非常关键的过程。为了实现有效的数据集成,有必要同步定义、表示和数据结构。这可以通过数据标准化阶段来实现,数据标准化阶段是促进连通性、一致性和信息同步的重要数据质量技术。
数据标准化不仅包括从数据的结构或内容中制定规则,还包括定义需要如何改变数据以适应企业范围的数据定义的规则。组织应该拥有标准的数据规则,这些规则既要健壮又要足够灵活,以适应信息结构的任何变化。
在标准化过程中,原始数据被转换成标准格式,目的是该数据可以被组织中的所有过程、系统和应用程序使用,具有已被标准化和一致的实体的类型和属性。一致的数据格式和值对于简化数据清理过程、识别重复项以及改进系统或部门之间的业务通信非常有用。
数据标准化过程中的一些活动可能包括:
- 消除外来标点符号和空格—一些字符串字符有额外的标点符号或空格需要删除,例如通过字符修剪。
- 数据重新排列—在某些情况下,需要根据标准格式重新组织名字和姓氏等个别标记。
- 数据重新排序-以隐含的顺序重新排列数据,例如邮政地址。
- 消除域值冗余—强化来自不同来源的数据(或来自相同来源的数据),这些数据仍然使用不统一的度量单位。例如,在测量距离时使用公里和英里。
- 不一致格式的对齐—电话号码、邮政编码和其他数据元素等数据可以用不同的方式进行格式化。这种不一致的格式会造成重复,并使数据分析变得困难,因此需要对其进行标准化。
- 数据映射——识别独立数据模型之间相关性的过程。
数据匹配
通过整合来自各种系统和应用程序的信息,MDM 系统将成为组织中可靠和可信的主数据源。但是,在实现这些目标之前,必须确信整合的数据具有正确的相关性,并且没有重复。这可以通过数据匹配或身份解析来实现
数据匹配基本上是在大型数据集中识别重复项的过程。由于实际数据代表相同的项目,但在多个系统中输入或生成,因此可能会出现重复。另一件同样重要的事情是识别非重复数据,因为通常有两个相似的数据表示本质上不同的东西。
数据匹配过程需要唯一的标识符,该标识符可以从不随时间变化的数据属性中获得,例如:姓氏、出生日期、颜色或体积。值得注意的是,匹配过程对数据质量非常敏感。因此,要链接的数据必须首先经过标准化过程,以便具有相同的质量。
至少有两种数据匹配方法,即:
- 确定性匹配—在这种方法中,将比较每个数据记录的唯一标识符,以确定正确的匹配。这种方法并不完全可靠,因为在某些情况下,很难找到能够在两个记录之间提供可靠的兼容性级别的标识符。
- 概率匹配—在这种方法中,比较两个记录之间的几个标识符,并给每个标识符一个权重,以表明匹配的显著性。然后将权重相加,值越高,两个记录匹配的可能性越大。
存活率
在经过匹配阶段并识别出重复数据后,下一步是通过重复数据消除形成黄金记录,这是一项确定哪些数据将保留下来的活动。这个黄金记录将是代表最完整、一致和最新信息的“最佳数据”。
重复数据消除的过程必须经过一组特定的规则,这些规则通常称为生存规则。生存规则的确定有其自身的挑战,因为它必须考虑各种方面,如数据结构、数据源、如何构建数据以及每个组织中存在的业务规则。
一般来说,有三种基本方法用于确定存活率,即:
- 最近—这种方法从最早到最近跟踪数据创建日期,并自动将稍后创建的数据作为幸存者。
- 最频繁—这种方法分析信息出现的频率。重复出现的信息表明数据是持久可靠的。
- 最完整—这种方法将元素的完整性视为决定数据正确性和可靠性的主要因素。填充了最完整元素的数据将被视为最合适的幸存者候选。
即使您处理的数据量不是很大,上面所有的过程听起来也不那么简单。现在,您可以想象一旦处理企业级数据,它会变得多么复杂。因此,这篇文章前面说的 MDM 过程需要大量最先进的技巧和技术来实现并不夸张。到目前为止,我希望我们现在都一致认为 MDM 是数据治理计划中极其重要的元素。
下次见!
AI 是什么?
人工智能和机器学习用鸭子解释得非常简单
我的区块链金融学教授加里·詹斯勒喜欢在他的讲座中使用 T2 鸭子测试。然而,在他的背景下,他通常试图解释为什么加密货币应该像证券一样受到监管——不要担心,如果你不知道这意味着什么,没关系,这不是本文的目的。最相关的是鸭子测试的想法。它是这样说的:
如果它看起来像鸭子,游泳像鸭子,叫声像鸭子,那么它很可能就是一只鸭子。
有趣的是,这就是今天人工智能的基本公式。你可以把它分成两部分:训练,这是使用机器学习来完成的,推理,这通常是由人工智能来完成的。
培训:没有比更多数据更好的数据了
如果它长得像鸭子,游起来像鸭子,叫起来像鸭子…
鸭子测试的第一部分是指训练。这可以通过几种方式来实现,这也是机器学习等其他实践发挥作用的地方。然而,不管应用哪种类型的学习,目标是产生一种计算机(或任何可以进行计算的设备,如手机或任何包含“智能”一词的设备)可以使用的算法,以在未来准确识别它之前学习的内容。
Edited Image. (Original Source: Photo by Christian puta on Unsplash)
让我们以鸭子的图像为例。我们希望未来的计算机能够识别鸭子,无论是 JPEG 或 PNG 这样的静止图像,还是 MP4 这样的视频;毕竟,视频只是快速显示的图像的集合(例如,电影视频通常是每秒 24 帧,即 FPS,这意味着在一秒钟内,24 幅图像在屏幕上闪过,以产生看起来像运动的效果)。在图像或视频中识别鸭子或其他物体(通常称为感兴趣的物体)的能力称为计算机视觉,这是一个实用的术语,因为计算机或其他设备正在模拟视觉。计算机视觉是人工智能领域最热门的话题之一,也是世界上唯一一家盈利的纯人工智能初创公司 SenseTime 的专长。
在没有进入机器学习或不同类型的机器学习如何工作的细节的情况下,让我们训练我们的算法来准确识别图像或视频中的鸭子。我们可以通过提供一组图像让它学习来做到这一点,我们称之为训练数据集。在训练数据集中,成千上万只鸭子和非鸭子(任何其他动物或物体)的不同图像。有时,鸭子可能会在陆地上蹒跚而行,而在其他时候,它可能会飞,游泳,或张开嘴嘎嘎叫。我们可能会加入一些更复杂的鹅或天鹅的图片。我们也可以喂它明显不是鸭子的图像(例如,猫,这是一种没有羽毛、翅膀和嘴的四足动物)。我们可以给每张照片贴上“鸭子”或“不是鸭子”的标签,在把所有的图像输入电脑后,电脑应该能很好地分辨出哪些是鸭子,哪些不是。
确认
现在是时候测试它的学习了。在浏览了数千张鸭子和非鸭子的图片后,计算机将生成一种算法(算法只是代码,你可以把它想象成规则),它将用来识别未来的鸭子。然而,在将其部署到现实世界之前,我们需要确保它生成的算法是准确的,以及准确到什么程度。程度尤其重要,因为不同的用例需要不同的准确性水平(我们将在后面详细讨论)。为了测试它的学习,我们有另一组不同于第一组图像的图像,我们称之为验证数据集。
与训练数据集类似,这个数据集也将包含大量图像。有些是鸭子,有些不是鸭子。计算机现在浏览每一幅图像,但不做任何学习;取而代之的是,它应用自己的算法,将每张图片标记为鸭子或非鸭子。作为人类训练员,我们有所有的答案——我们确切地知道有多少张图片是鸭子,以及哪些是鸭子。我们将我们得到的正确答案与计算机做出的猜测进行比较,看看它(以及它的算法)有多准确。
假设该算法能够准确识别 95%的鸭子;即,在 1,000 张鸭子图像中,50 张被错误标记,950 张被正确标记。有错误的 5%的标签被称为错误率。在某些情况下,鸭子的图片被错误地标注为非鸭子。我们称这些错误为假阴性(它被错误地标记为阴性,即不是鸭子)。另一方面,我们有一些非鸭子的图片被错误地标注为鸭子。我们称这些错误为假阳性(它被错误地标记为阳性,例如,一只鸭子)。
错误率的重要性
95%可能听起来很棒——我会很高兴在期末考试中得到这样的分数。然而,将精确度高达 95%的东西投入大规模生产可能是一个可怕的错误。比方说,我们不看鸭子,而是看医学图像来检测癌症的迹象。美国癌症协会估计,2019 年美国将有近 200 万例癌症诊断(更准确地说是 170 万,但为了简化计算,我四舍五入为 2)。如果一个有 95%准确率的计算机算法做出这些诊断,我们会有一个相当大的问题。
一方面,如果 5%的误差都是假阳性,那么 100,000 人将被告知他们患有癌症,而他们并没有患癌症。这可能不言而喻,但被告知患有癌症是一个改变生活的诊断,它在深深的情感层面上影响着患者和他们所爱的人。关于乳腺癌假阳性诊断的长期影响的研究表明,即使在诊断后三年,患者也会感受到心理社会影响的影响。
另一方面,如果 5%的误差都是假阴性,那么许多患者在患癌症时会被告知他们没有患癌症。这对心理和身体都有影响。
没有什么比实践经验更好的了
我们可以自己编写识别鸭子的算法吗?是的,程序员当然可以写一个。但它不太可能接近计算机根据自己看到数千张鸭子和非鸭子照片的经验编写的算法。这就是为什么机器学习最近成为人工智能的一个关键部分。
澄清一下,人工智能和机器学习不是一回事。正如我们刚刚了解到的,机器学习被用来创建算法,这些算法被用来预测(一种奇特而自信的说法猜)某些事情,例如感兴趣的对象是否是一只鸭子。
假设我们的鸭子算法 95%的准确率已经足够好了;也就是说,我们可以容忍 5%的错误率。接下来我们需要做的是将算法投入使用,这个过程叫做推理。
推理
…那么它很可能是一只鸭子。
推理是采用经过训练的算法并将其应用于用例的过程。不像在训练中,没有更多的数据集;相反,数据流入并由算法自动处理,然后产生结果。有了推断,数据就不需要存储了;相反,一旦算法处理了传入的数据,就不再需要它了。
在我们的例子中,我们准备部署我们的鸭子/非鸭子算法。我可以将它安装在我后院的摄像机上(就像我正在使用的算法示例一样,我的后院也是虚构的),以记录鸭子每天访问我的大型锦鲤池塘(虚构的)的次数。在这个例子中,我可能会将我的摄像机称为人工智能摄像机,因为它现在可以拍摄视频,并通过使用我们之前刚刚训练的机器学习算法来思考鸭子是否出现。
在一天结束时,我可能会检查相机的结果,它会告诉我它数了 100 只鸭子。但是这个数据有局限性。推论的问题是,它只能告诉我它可能是一只鸭子,而不是它一定是一只鸭子;毕竟我们知道算法有 95%的准确率。
有 5%的错误率可能是由于假阴性或假阳性造成的,但这对于我的用例来说是可以接受的,因为我的目标可能不是统计参观我的锦鲤池塘的鸭子的确切数量,而是减少参观的鸭子的数量,因为每次它们参观,我的锦鲤都有被吃掉的风险。我可以使用鸭子数量作为基准,尝试做不同的事情,看看这个数字是否有显著变化。例如,我可以在池塘周围放一个狼雕像,然后重新检查我的数字。如果鸭子的数量下降到 99 只,那可能只是由于错误率——我无法从中得出明确的结论。但是,如果降到 10,我会更加确信我的假狼是值得投资的!
另一个问题是,我不知道是 100 只独特的鸭子参观了我的池塘,还是只有一只顽固的讨厌的鸭子。但我可以再次使用机器学习,重新训练我现有的算法,不仅仅是鸭子识别器,而是鸭子面部识别算法,以识别每只鸭子和它们到访的次数。我也可以训练一个全新的算法来识别鸭子的面部,并将这个算法添加到摄像头中,这样在第一个算法识别出鸭子后,第二个算法就可以识别出它是否与之前的相同。
我希望这是一个有趣而简单的例子,说明当今世界的人工智能是什么,以及机器学习是其中的一个重要部分。通过这个例子,我还想指出创建算法时的一些限制,以及部署算法时的注意事项——看似可接受的错误率在生产中扩展时会产生很大的后果。如果你想了解更多关于这种后果的真实例子,可以看看凯茜·奥尼尔的书,数学毁灭的武器 ( 参考链接)。
什么是偏见?
AI 偏见的麻烦从定义开始,但不会结束。“偏见”是一个被过度使用的术语,在不同的上下文中,它的意思是非常不同的。
Image: source.
这里有一些偏见的定义供你参考。
- **统计学中:**偏差是估计量的期望值与其估计量之差。那太专业了,所以请允许我翻译一下。偏见是指*结果系统地偏离了目标。*想想射箭时,你的弓没有被正确瞄准。高偏差并不意味着你射得到处都是(这是高方差),但可能会导致一个完美的射手一直击中靶心以下。在这种用法中,这个词没有多少感情内涵。
- **在数据收集(以及统计)中:**当您摸索您的数据收集时,因此您的 样本 不能代表您的 感兴趣人群 。“抽样偏差”是这里的正式名称。这种偏见意味着你不能相信你的统计结果。跟随这个链接看我的文章。
- **在认知心理学中:**对理性的系统性偏离。在这个简洁的定义中,除了“from ”,每个词都有特定领域的细微差别。翻译成外行话?令人惊讶的是,你的大脑进化出了一些对事物做出反应的方式,心理学家最初发现这些反应令人惊讶。分类的认知偏见清单令人瞠目结舌。
- **在神经网络算法中:**本质上是一个截距项。(偏见听起来比那个高中数学单词更酷,对吧?)
- **在社会和自然科学中:**任何一系列现象,包括过去/不相关的条件对现在决策的过度影响。例子包括文化偏见和基础设施偏见。
- 电子学中: 用交流信号加在电路中的固定 DC 电压或电流。
- 在地理上: 西弗吉尼亚州的一个地方。(听说法国人也有一些偏见。)
- **神话中:**这些古希腊人中的任何一个。
- 大多数人工智能专家认为: 当计算机系统反映了创造它的人类的隐含值时,就会出现算法偏差。(人类创造的一切不都是隐性价值观的反映吗?)
- **大多数人认为:**我们过去的经历扭曲了我们对信息的感知和反应,尤其是在不公平对待他人和其他普遍不良的情况下。有些人把这个词与同义。
哦亲爱的。这里的意思相当多,有的比有的辣。
ML/AI 说的是哪一个?
年轻的人工智能学科有一个习惯,那就是从 every-which-where 中借用行话(有时似乎不查原意),所以当人们在 AI 中谈论偏见时,他们可能指的是上面几个定义中的任何一个。想象一下,你准备好接受一篇华丽的论文的情感宣泄,这篇论文承诺要修正 AI 中的偏见……却发现(才几页)他们谈论的偏见是统计学上的偏见。
然而,现在谈论起来很时髦的一件事,却是引起媒体关注的一件事。血淋淋的人类。唉,当我们阅读(和写作)时,我们甚至会带来各种各样的偏见(过去的经历扭曲了我们对信息的感知和反应)。)关于这些话题。
AI 的全部意义在于让你用例子(数据)向计算机解释你的愿望!)代替指令。哪些例子?嘿,那是你作为老师的选择。数据集就像教科书,供你的学生学习。你猜怎么着?教科书有人类作者,数据集也是。
教科书反映了作者的偏见。像教科书一样,数据集也有作者。它们是根据人们的指示收集的。
想象一下,试图用一个有偏见的作者写的教科书来教一个人类学生——如果这个学生最终反映了一些同样的偏见,你会感到惊讶吗?那会是谁的错?
人工智能的惊人之处在于它是多么的不偏不倚。如果它有自己的个性和观点,它可能会勇敢地面对那些向它提供充满偏见的例子的人。相反, ML/AI 算法只是继续你展示给它们的模式的工具。给他们看不好的模式,他们就会回应。在最后两个要点的意义上,偏见不是来自 ML/AI 算法,而是来自人。
偏见不是来自 AI 算法,而是来自人。
算法从来不会自己思考。事实上,它们根本不会思考(它们是工具),所以由我们人类来替它们思考。如果你想知道你能为人工智能偏见做些什么,并深入这个兔子洞,这里是入口。
人工智能偏见和公平的严酷事实
medium.com](https://medium.com/hackernoon/ai-bias-and-what-you-can-do-about-it-4a6ae48b338e)
感谢阅读!YouTube AI 课程怎么样?
如果你在这里玩得开心,并且你正在寻找一个为初学者和专家设计的有趣的应用人工智能课程,这里有一个我为你制作的娱乐课程:
Enjoy the entire course playlist here: bit.ly/machinefriend
喜欢作者?与凯西·科兹尔科夫联系
让我们做朋友吧!你可以在 Twitter 、 YouTube 、 Substack 和 LinkedIn 上找到我。有兴趣让我在你的活动上发言吗?使用表格联系。*
什么是 API,它是如何工作的?
包括几种不同的类型和它们的作用
https://images.app.goo.gl/Jm3fL1oRmpfhLHRr8
大多数人从未听说过 API,更不用说它是做什么的了。他们可能认为这是一个很酷的新缩写,像 LOL 或 LMAO 一样使他们的短信更容易。
他们不知道这是一项强大的技术,能够成就大事。如今,我们每天使用的应用程序都在使用它。像 Yelp 这样的公司用它来定位附近的餐馆。人们一直在使用 API,而他们自己却不知道。每当你想分享一篇博文或一篇文章或一份食谱,点击脸书、Twitter 或 LinkedIn 的小图标(通常在顶部或边栏)来分享这些信息时,你就在使用 API。
现在你已经对 API 的使用有了一些了解,让我们来看看 API 到底是什么。
什么是 API?
API 是应用程序编程接口的首字母缩写,软件使用它来访问数据、服务器软件或其他应用程序,并且已经存在了相当一段时间。
通俗地说,就是让两个应用互相对话的软件中介。可以把 API 想象成两个人之间的翻译器,这两个人说的不是同一种语言,但是可以通过中间人进行交流
API 非常通用,可以在基于 web 的系统、操作系统、数据库系统和计算机硬件上使用。
开发人员使用 API,通过重用以前的代码,只更改与他们想要改进的流程相关的部分,使他们的工作更有效率。一个好的 API 使得创建一个程序更加容易,因为构建模块已经就位。API 使用已定义的协议,使开发人员能够快速、大规模地构建、连接和集成应用程序。
现在你对 API 有了更好的理解,让我们看看它们是如何工作的。
API 是如何工作的?
API 通过一组规则进行通信,这些规则定义了计算机、应用程序或机器如何相互通信。API 充当任何两台机器之间的中间人,这两台机器为了一个特定的任务想要相互连接。
一个简单的例子是,当你从手机登录脸书时,你告诉脸书应用程序你想访问你的帐户。移动应用程序调用 API 来检索您的脸书帐户和凭证。然后,脸书将从其服务器之一访问这些信息,并将数据返回给移动应用程序。
这些类型的 API 称为 web APIs,是最常见的,但仅限于 web。几乎每台机器或系统都有与其他机器或系统交互的 API。
API 已经存在很长时间了,但是直到最近才开始流行。公司使用这种技术通过寻找更有效的方法来更快地检索信息以服务于客户,从而获得相对于其他公司的优势。
正如我前面提到的,web APIs 并不是唯一存在的。我们将在下一节深入探讨其中的一些。
原料药的类型
Web APIs 是使用最多的,但是还有其他的 API 你应该知道。这些和 web API 一样可靠和高效,但并不广为人知。
REST (RESTful) API —代表具象状态转移,使用轻量级 JSON 格式传递数据。大多数公共 API 都使用它,因为它的快速性能、可靠性以及通过重用模块化组件而不影响整个系统的伸缩能力。
这个 API 通过使用一组统一的预定义操作来提供对数据的访问。REST APIs 基于 URL 和 HTTP 协议,并基于以下 6 个架构约束:
1。基于客户端-服务器的 —客户端处理前端流程,而服务器处理后端流程,两者可以相互独立替换。
2。统一接口 —定义了客户端和服务器之间的接口,简化了架构,使各部分可以独立开发
3。无状态 —从客户端到服务器的每个请求必须是独立的,并且包含所有必要的信息,以便服务器能够理解并相应地处理它。
4。可缓存的 —维护客户端和服务器之间的缓存响应,避免任何额外的处理
5。分层系统 —分层排列各层,以便每个层只能“看到”与其交互的相应层。
6。按需编码 —允许通过下载和执行小程序和脚本形式的代码来扩展客户端功能。这通过减少需要预先实现的功能数量来简化客户端。
一旦你遵循了这些定义的约束,你创建的 API 就是 RESTful 的。
SOAP —简单对象访问协议比 REST 稍微复杂一点,因为它需要更多关于如何发送消息的前期信息。这种 API 自 20 世纪 90 年代末就已经出现,并使用 XML 来传输数据。它需要严格的规则和需要更多带宽的高级安全性。
这种协议没有缓存的能力,具有严格的通信,并且在考虑处理任何呼叫之前需要关于交互的每一条信息。
XML-RPC——可扩展标记语言——远程过程调用。这种协议使用特定的 XML 格式来传输数据,比 SOAP 更古老也更简单。客户端通过向实现 XML-RPC 的服务器发送 HTTP 请求并接收 HTTP 响应来执行 RPC。
JSON-RPC —与 XML-RPC 非常相似,除了这个协议使用 JSON 而不是 XML 格式之外,它们的工作方式是一样的。客户端通常是调用远程系统的单个方法的软件。
结论
这是对这个许多人不知道的外国首字母缩略词的快速介绍。他们可能听说过这个术语,但不清楚这项技术到底是什么。我们讨论了它们是什么,它们是如何工作的,甚至讨论了目前使用的不同类型的费用。
API 已经存在了很长一段时间,只要企业将它们作为运营的一部分,它将继续存在。它们非常通用,并且可以快速实现。我们不应该被 API 吓倒,因为我们已经对它们是什么以及它们是如何工作的有了更好的理解。
人工智能到底是怎么回事?
人工智能
人工智能概述
人工智能(AI)是未来。人工智能只属于电影。人工智能已经是你日常生活的一部分。所有这些都是正确的,这取决于你指的是什么样的人工智能。
如果你认为人工智能是未来的事情,我想给你举个例子来说明人工智能多年来是如何被使用的。我们都依赖应用程序出行,普通人依靠物理地图浏览城市、国家和大陆已经过去很长时间了。一个非常受欢迎的应用是谷歌地图。谷歌使用你在智能手机上的位置数据。并且可以分析运动的速度和方向。它可以在任何给定时间通过实时交通更新为您指明方向。
数据是人工智能的关键,在未来,数据将成为政府、企业和组织的新货币。没有数据,人工智能将是不可能的…在谷歌地图的情况下,数据被收集,人工智能算法被训练,以通过减少时间来改善你的日常通勤。
在媒体上,他们可能会交替使用人工智能、深度学习和机器学习等术语来描述这些技术进步,但它们并不完全相同,我将在另一篇博客中解释它们的区别,但总的来说,主要区别如下图所示。
人工智能是封装机器和深度学习的更大的圆圈。人工智能被归类为智能机器,在给定特定问题的情况下,它会导致最优或次优的解决方案。
维基百科对人工智能程序给出了以下定义,即任何能够感知其环境并采取行动以最大化其成功实现目标的机会的设备。
属于人工智能而不是机器学习的程序往往是可以利用决策树进行逻辑的程序,或者是为可能出现的潜在问题建立规则和指令的程序。
例如,如果你在一个“刚去过”或“远离家乡”的国家用信用卡购物,那么你的银行可以也应该标记所有交易以供审查。一些银行甚至会完全冻结你的卡,直到你确认你在另一个国家使用过你的卡(这对欺诈很有好处,但当你在旅行时,它可能会成为你生活的贝恩……因为当你访问每个国家时,你必须不断更新你的银行)。这个可能没有训练数据,所以不会有机器学习;这是程序员编写的简单规则。
另一方面,其他事情可能由 ML 处理:例如,电子邮件地址中的位数、与电子邮件的域相结合、与 IP 网络相结合、与交易的时间相结合,这些都可能是将 ML 系统推到边缘以拒绝在线交易的特征。
正如你从图表中看到的,人工智能是一个广泛的概念,是在 20 世纪 50 年代建立的。人工智能可以根据人工智能的能力进一步归纳成不同的类别。这些是人工狭义智能、人工广义智能和人工超智能。
人工狭义智能专攻一个领域。例如,有一种人工智能可以在脸书的图片上识别你的脸,但这是它唯一能做的事情。如果你让它开车,它不知道从哪里开始。
人工通用智能指的是一台计算机在一系列领域像人一样聪明。一般智能意味着机器可以完成人类可以完成的任何智力任务。实现这一点比人工狭义智能要困难得多,而且还没有人做到过,所以我们离 iRobot 还有很长的路要走,不要担心!一台机器必须具备人类的素质,比如能够计划、解决问题、快速学习、从经验中学习、一次性学习、抽象思维等等,才能拥有一般的智能。
人工超级智能由人工智能思想家和牛津哲学家定义为“在每个领域都比最优秀的人类大脑聪明得多的智力,包括科学创造力、智慧和社交技能。”人工超级智能的范围从比人类稍微聪明一点的计算机到比人类聪明一倍的计算机。
人工狭义智能早已存在,在日常生活中无处不在。就像工业革命一样,很多人把 AI 称为开启了一场智能革命。在那里,人工智能将从狭义人工智能转变为广义人工智能,然后在智能水平上指数级提高到超级智能。
什么是大数据?来回答一下这个问题吧!
以及为什么您作为最终用户是最重要的产品
ig Data 是一个在媒体、董事会会议室以及两者之间的任何地方都广为流传的词语。它已经被使用、过度使用和错误使用了太多次,以至于很难知道它真正的意思。是工具吗?是技术吗?难道只是数据科学家用来吓唬我们的流行语?它真的会改变世界吗?还是毁了它?首先,我们只能说大数据每天都在“快速”增长,如此之快,以至于世界上 90%的数字数据都是在过去两年中创建的。
什么是大数据?
大数据?在其最纯粹的形式中,大数据用于描述大量结构化和非结构化数据,这些数据如此之大,以至于难以使用传统技术进行处理。因此,大数据就像它听起来的那样,是一大堆数据。
大数据是一个相对较新的概念,它代表了现在正在收集的不断增长的数据量和各种类型的数据。大数据的支持者经常称之为世界的“数据化”。随着世界上越来越多的信息转移到网上并数字化,这意味着分析师可以开始将其作为数据使用。社交媒体、在线书籍、音乐、视频和传感器数量的增加都增加了可供分析的数据量的惊人增长。
你在网上做的一切现在都作为数据被存储和跟踪。在 Kindle 上阅读一本书会产生关于你在读什么、什么时候读、读得多快等等的数据。同样,听音乐会产生关于你在听什么、什么时候听、听的频率和顺序的数据。你的智能手机会不断上传你的位置、移动速度和使用的应用程序等数据。
同样需要记住的是,大数据不仅仅是我们正在生成的数据的数量,它还涉及所有不同类型的数据(文本、视频、搜索日志、传感器日志、客户交易等)。).考虑大数据时,请考虑“七个 V”
- **卷:**大数据,嗯……大!随着互联网、移动设备、社交媒体和物联网(IoT)技术的迅猛发展,所有这些来源生成的数据量也相应增长。
- **速度:**除了变得更大以外,数据的生成和组织处理数据的能力也在加速。
- **多样性:**在更早的时候,大多数数据类型都可以整齐地捕获到结构化表的行中。在大数据世界中,数据通常以非结构化格式出现,如社交媒体帖子、服务器日志数据、经度地理坐标、照片、音频、视频和自由文本。
- **可变性:**非结构化数据中单词的含义可以根据上下文发生变化。
- **准确性:**由于有许多不同的数据类型和数据源,大数据集中不可避免地会出现数据质量问题。准确性是指探索数据集的数据质量,并系统地清理数据,使其对分析有用。
- **可视化:**一旦对数据进行了分析,就需要以可视化的方式呈现出来,以便最终用户理解和操作。
- **值:**数据必须结合严谨的处理和分析才有用。
大数据术语
不可避免的是,围绕大数据的许多困惑来自于围绕它涌现的各种新术语。以下是最受欢迎的几个:
- 算法 —软件运行分析数据的数学公式
- 亚马逊网络服务(AWS) —云计算服务的集合,帮助企业执行大规模计算操作,而无需内部存储或处理能力
- 云(计算) —在远程服务器上而不是本地运行软件
- 数据科学家 —从数据中提取见解和分析的专家
- Hadoop —允许存储、检索和分析超大型数据集的程序集合
- 物联网(IoT) —指的是收集、分析和传输自身数据(通常无需人工输入)的物体(如传感器)
- 预测分析 —利用分析来预测趋势或未来事件
- 结构化 v 非结构化数据 —结构化数据是可以组织在一个表中的任何东西,以便它与同一个表中的其他数据相关联。非结构化数据是一切不能。
- 网络搜集 —从网站上自动收集和组织数据的过程(通常通过编写代码)
大数据的重要性:
大数据的重要性不在于数量,而在于你如何处理数据,以及你如何利用数据进行分析,从而让你的企业和组织受益。
大数据有助于分析:
- 时间
- 费用
- 产品开发
- 决策等
大数据与分析相结合,可以帮助您确定企业失败的根本原因,并根据对客户购买历史的分析来分析销售趋势。还有助于确定欺诈行为并降低可能影响组织的风险。
大数据的使用
大数据技术非常有利于企业提高效率和开发新的数据驱动服务。大数据有多种用途。例如,分析包含天气报告的一组数据来预测下一周的天气。
以下是大数据的一些用途及其使用场合
- 卫生保健
- 检测欺诈
- 社交媒体分析
- 天气
- 公共部门。
大数据在医疗保健中的贡献
大数据在医疗保健领域的贡献大幅增长。随着医学的发展,需要存储大量的病人数据。大数据被广泛用于存储患者的健康史。
该数据可用于分析患者的健康状况并防止未来的健康问题。在这两个有趣的大数据可视化示例中,我们可以直接看到大数据的威力:
- 谷歌的著名表现是,他们可以根据人们何时何地搜索与流感相关的词汇来预测流感的爆发。
- 当你喉咙痛的时候,你的耳朵也会感染吗?通用电气找到了这些问题的答案,或者至少是试图回答这些问题。Health Infoscope 是 7200 万份电子记录的汇编,显示了一种疾病与另一种疾病的联系。它还显示了这种联系的强度以及因一种疾病感染另一种疾病的可能性。
检测欺诈行为
欺诈检测和防范是当今大数据的众多用途之一。信用卡公司面临许多欺诈,大数据技术被用来检测和预防欺诈。
早期的信用卡公司会跟踪所有交易,如果发现任何可疑交易,他们会打电话给买家,确认交易是否完成。但是现在可以观察购买模式,并使用大数据分析来分析受欺诈影响的领域。这对于防止和发现欺诈非常有用。
社交媒体分析
大数据的最佳使用案例是在脸书、Twitter 等社交媒体网络上持续流动的数据。数据以评论、图片、社交状态等形式收集和观察。
公司使用大数据技术来了解客户的需求,并检查他们在社交媒体上的言论。这有助于公司分析并提出有利于公司发展的战略。
天气
大数据技术被用来预测天气预报。大量的数据是关于气候的,取一个平均值来预测天气。这对于预测洪水等自然灾害是有用的。
国营部分
大数据用于许多政府和公共部门。大数据为电力调查、经济促进等提供了很多便利。
大数据还用于许多其他领域,如教育部门、保险服务、交通运输。安全情报等。大数据已成为分析的重要组成部分,是理解业务增长和制定战略以帮助其进一步发展所必需的。
为什么它变得如此受欢迎
大数据最近的流行在很大程度上是由于技术和基础设施的新进展,允许处理、存储和分析如此多的数据。在过去的五年中,计算能力有了很大的提高,同时价格也在下降,这使得中小型公司更容易获得计算能力。同样,用于大规模数据分析的基础设施和工具变得更强大、更便宜、更易于使用。根据
随着这项技术变得越来越强大,越来越便宜,许多公司开始利用它,创造产品和服务,帮助企业利用大数据提供的所有优势。根据 Inc 的数据,2012 年大数据产业价值 32 亿美元,并且还在快速增长。他们说,“到 2015 年,[大数据]行业总收入预计将达到近 170 亿美元,比整个 IT 市场的增长速度快 7 倍左右”。
企业也开始注意到大数据趋势。在最近的一项调查中,“87%的企业认为大数据分析将在未来三年内重新定义其行业的竞争格局。”
企业为什么要关心?
数据一直被企业用来通过分析获得洞察力。大数据的出现意味着他们现在可以在更大的规模上做到这一点,考虑越来越多的因素。通过从更多样化的数据集中分析更大量的数据,企业可以更准确地获得新的见解。这直接有助于改善组织内的绩效和决策。
大数据正迅速成为公司超越同行的重要方式。良好的数据分析可以突出新的增长机会,识别甚至预测市场趋势,用于竞争对手分析,产生新的销售线索等等。学会有效地使用这些数据将使企业的运营更加透明,预测更准确,销售更快,利润更高。
未来
没有人能够预测大数据的未来。新技术的快速发展,尤其是在机器学习领域,无疑会篡夺我们试图做出的任何预测。可以肯定的是,大数据将会继续存在。我们产生的数据量只会增加,通过分析,我们可以了解并最终能够预测一些非常酷的事情。很快,大数据将触及并改变每个行业和日常生活的方方面面。
结论
无论你是否相信关于大数据是否会改变世界的宣传,事实仍然是,学习如何有效地利用最近涌入的数据可以帮助你做出更好、更明智的决策。从大数据中得到的不是它的庞大,而是它的多样性。你不一定需要分析大量数据来获得准确的见解,你只需要确保你正在分析的是正确的数据。为了真正利用这场数据革命,你需要开始考虑新的和各种各样的数据源,这些数据源可以让你更全面地了解你的客户、市场和竞争对手。借助当今的大数据技术,一切都可以作为数据使用,让您获得无与伦比的市场因素。
如果你想联系我,顺便说一句,你知道一个好笑话,你可以在 Twitter 或 LinkedIn 上联系我。
感谢阅读!😄 🙌
比特币是用来做什么的?
Photo by Icons8 team on Unsplash
比特币价格波动背后的一瞥
卑微的出身
在 2008 年的万圣节,在全球金融危机的最后阶段,一个化名为 T2 中本聪 T3 的个人或团体发布了 T4 比特币白皮书 T5。几个月后,2009 年 1 月 9 日,比特币向全世界发布,任何人都可以下载一份客户端来托管分布式账本的副本。四天后,哈尔·芬尼收到了第一笔比特币交易——中本聪给了哈尔 10 个比特币。
慢慢地,在 2009 年到 2013 年间,收养继续蔓延。2010 年,Laszlo Hanyecz 进行了世界上最著名的比特币购买;向任何愿意给他买两个披萨的人支付10000 比特币。这 10,000 个比特币当时价值约 30 美元。相比之下,在写这篇文章的时候,藏起来的比特币价值 1.036 亿美元。这个著名的购买日已经作为比特币披萨日载入史册。
Source: Google Finance
除了买披萨,比特币还作为一种支付方式而出名。到 2012 年第三季度,允许商家接受比特币的支付处理器 bit pay已经有 1000 家商家注册使用这项服务。凭借其匿名性的价值主张,比特币迅速成为黑暗网络上的一种流行支付选择。2013 年, FBI 查封了黑暗网站丝绸之路,收缴了26000 比特币;随后,它又从“丝绸之路”的创始人和前所有者罗斯·乌布里希特手中没收了另外 14.4 万枚比特币。
虽然比特币的历史充满了不同潜在用例的轶事,但事实仍然是,加密货币仍然在努力实现一个目标。批评者强调了这个问题,并认为比特币(和其他加密货币)试图解决一个并不存在的问题。数字货币的支持者声称,比特币将在未来解决世界上所有的金融问题。从品牌问题到技术障碍,十年后,比特币的使用案例仍然只是理论上的。
盲目转向的副作用
比特币对未来做出了许多承诺,但其 1857 亿美元的市值目前仅由投资者的信心支撑。看涨的比特币估值充斥着加密货币新闻领域,例如这篇发表于 2019 年 6 月的文章声称比特币到 7 月中旬可能达到 2 万美元,到年底可能达到 10 万美元。无论是比特币交易所交易基金还是脸书的 Libra 都没有显著提升比特币的价值,尽管狂热分子可能会这么说。
The Bitcoin market did not react to Facebook’s Libra announcement. (Source: Coin Market Cap)
当预测价格被强调时,除了“如果它继续它的抛物线轨迹”之外,很少或没有关于价格如何到达那里的路线图被提及;换句话说,如果人们继续以目前的速度购买,比特币价格将会上涨(显然)。这种推理对机构投资者来说永远行不通——比市场如何表现更重要的是,市场为什么会以那种方式表现。
也就是说,信仰是一种强大的燃料。它为宗教、现有货币、政府提供动力,并将每枚比特币的价格推高至 1 万美元。但由于只有有限的采用(不到 1500 亿美元的市值),仅用信心刺激市场会导致价格波动。
如果没有用例,比特币主要存在于两个地方:集中交易所和信徒的冷藏钱包。不过,这些地点很受欢迎,因为它们允许比特币社区通过投机实践自己的信仰。虽然冷藏钱包将一定量的比特币供应挡在了市场之外,但集中式交易所提供了一个考验信心的舞台。
在撰写本文时,比特币的 24 小时美元交易量约为 137 亿美元。按每比特币 10.4 万美元计算,这大约相当于 24 小时内有约 130 万比特币被交易。相比之下,这一数量与公开交易市场上的Planet Fitness的数量相似。相比之下,行星健身的市值只有 58 亿。
Source: Coin Market Cap
然而,与 Planet Fitness 所在的证券交易所不同,比特币的交易所不受监管,这意味着清算资产的规则较少。例如,如果 Planet Fitness 的一名董事会成员想要出售一批股票,就需要向市场公布,通常会在提交给 SEC 的 10-K 报告中注明。另一方面,比特币巨鲸可以随时清算,不需要任何解释。因此,比特币价格的大幅上涨或下跌比股票市场更常见;毕竟,一旦投资者失去信心,他们可以立即匿名清算他们所有的比特币。
比特币作为交易货币的局限性
虽然它被设计为一种进行数字化、点对点交易的方式,但该技术目前还不具备可扩展性。它在很大程度上依赖于所谓的工作证明,这是一种用于证明交易发生的方法。
使用这种方法的好处是,比特币网络上的用户不需要相互了解或信任,也不需要依赖第三方作为对交易拥有最终决定权的中央机构。这种方法的好处来自于速度的代价,尽管。比特币网络每秒只能处理 7 笔交易。如果您想了解更多关于工作证明事务速度问题的细节,请查看下面我以前的文章:
[## 区块链的可扩展性问题&类似 Visa 的交易速度竞赛
是的,区块链有一个可扩展性问题。这就是问题所在,这就是人们正在解决的问题。
towardsdatascience.com](/the-blockchain-scalability-problem-the-race-for-visa-like-transaction-speed-5cce48f9d44)
更准确地说,每 10 分钟,一批交易(称为交易块,因此称为“块”链)被验证。然而,问题是这个批处理的容量只够容纳这么多的交易。例如,如果你去星巴克,用比特币购物,在最好的情况下,如果星巴克足够慷慨,只接受 1 次验证,你购买的咖啡将被放入下一批,并在 10 分钟内得到验证(只接受 1 次验证有风险,但我们不会在本例中深入讨论)。
另一方面,如果您前面有一个很长的交易列表,您的咖啡交易可能无法进入下一批。最终发生的情况是,您的事务排队等待下一批。事务正在等待的队列被称为内存池。所以现在你要等上一批交易完成后再等 10 分钟;也就是说,你必须等待 20 分钟。即使这样,也不能保证。希望到现在为止,你已经明白了这一点,并且明白了用比特币买一杯咖啡会有多麻烦。
然而,如果你在任何集中的交易所交易,你可能会认为比特币的速度几乎是即时的,但这是一种错觉。在中央交易所,所有的比特币都储存在一个地方。你的比特币和我的在一起。该交易所只是管理一个数据库,根据每笔交易增加和减少你拥有的比特币记录。这就是为什么比特币最大主义者认为你不会真正拥有你的比特币,除非它在你的钱包里;如果它在交易所交易,你就有风险。交易所可能有一天会带着你所有的硬币消失,或者干脆拒绝给你你购买的硬币。
作为价值储存手段的比特币
在比特币目前的状态下,我认为它唯一的实质性用途是价值储存,类似于黄金。它是一种投机性资产,因为除了承诺未来价值之外,它没有任何实际价值。大多数人持有比特币是因为这种前景,而少数人可能会进行短期交易以对冲这种押注。
作为价值储存手段,比特币有几个有利的属性。首先,它可以被拥有,并且易于存储。与黄金不同,比特币可以存储在 u 盘上,不管你拥有多少。黄金占据物理空间,持有大量黄金会变得引人注目。比特币也是有固定金额的。总的来说,全球可用的比特币不会超过 2100 万个。黄金虽然稀有,但仍在继续开采,供应量也在不断增加。比特币也很难模仿。它是无法伪造的,尽管骗子可以卖给无知的买家。另一方面,受过教育的买家比假黄金或假现金更容易发现假比特币——他们只需检查区块链,那里有流通中的每一枚比特币的公共记录。
最后,比特币越来越被广泛理解——人们很好奇。谷歌搜索趋势表明,搜索词“比特币”今天的受欢迎程度是 2016 年这个时候的 3 倍(在 2017 年末,最近的泡沫期间,受欢迎程度达到顶峰)。虽然比特币与黄金相比还远未普及,但它的普及程度正在提高,随着越来越多的人开始获得比特币,它作为价值储存手段的地位变得更加可信。
随着比特币社区继续开发更多技术来构建比特币区块链,未来数字货币的使用案例可能会增加。目前,它仍然是一种投机性的、不可扩展的资产,目前被作为价值储存手段持有。
什么是认知计算?企业如何从认知技术中获益?
自从计算的概念提出以来,人工智能确实是一个遥远的目标,随着新的认知计算模型的出现,我们似乎每天都在离这个目标越来越近。
来自认知科学的融合,并基于模拟人类思维过程的基本前提,认知计算的概念以及应用必将不仅对我们的私人生活产生深远的影响,还会对医疗保健、保险等行业产生深远的影响。认知技术的优势确实超越了传统的人工智能系统。
根据最先进的认知计算框架 IBM Watson 总经理大卫·肯尼的说法,“人工智能只能和教它的人一样聪明。”对于最近的认知革命来说,情况并非如此。
认知计算过程使用人工智能、神经网络、机器学习、自然语言处理、情感分析和上下文感知的融合来解决日常问题,就像人类一样。 IBM 将认知计算定义为一种高级系统,它可以大规模学习,有目的地推理,并以自然的形式与人类互动。
认知计算与人工智能
虽然人工智能的基本用例是实现解决问题的最佳算法,但认知计算则更进一步,试图通过分析一系列因素来模仿人类的智力和智慧。与人工智能相比,认知计算是一个完全不同的概念。
- 认知计算学&模仿人类思维过程
与只处理给定问题的人工智能系统不同,认知计算通过研究模式来学习,并建议人类根据其理解采取相关行动。在人工智能的情况下,系统完全控制一个过程,并采取措施通过使用预定义的算法来完成任务或避免某个场景。
相比之下,认知计算是一个完全不同的领域,它充当助手,而不是完成任务的人。通过这种方式,认知计算赋予人类更快、更准确的数据分析能力,而不必担心机器学习系统做出的错误决策。
- 认知计算并没有将人类排除在外
如上所述,认知计算的主要目的是帮助人类做决策。这赋予了人类在分析中卓越的精度,同时确保一切都在他们的控制之下。为了说明,让我们以医疗保健系统中的人工智能为例。一个人工智能支持的系统将在不咨询人类医生的情况下做出所有关于治疗的决定,而认知计算将利用自己的一组数据和分析来补充人类诊断,这有助于提高决策的质量,并为关键流程添加人情味。
走向认知:认知计算的优势
在过程自动化领域,现代计算系统将彻底改变当前和遗留系统。根据 Gartner 的说法,认知计算将颠覆数字领域,这与过去 20 年中引入的任何其他技术都不一样。通过具有分析和处理大量体积数据的能力,认知计算有助于将计算系统用于相关的现实生活系统。认知计算有许多优势,包括:
- 精确的数据分析
认知系统在收集、并置和交叉引用信息以有效分析情况方面效率很高。如果我们以医疗保健行业为例,IBM Watson 等认知系统帮助医生收集和分析各种来源的数据,如以前的医疗报告、医学期刊、诊断工具以及来自医疗界的过去数据,从而帮助医生提供数据支持的治疗建议,使患者和医生都受益。认知计算没有取代医生,而是采用机器人流程自动化来加速数据分析。
- 更精简&更高效的业务流程
认知计算可以分析新兴模式,发现商业机会,并实时处理关键的以流程为中心的问题。通过检查大量数据,像沃森这样的认知计算系统可以简化流程,降低风险,并根据不断变化的环境进行调整。虽然这为企业建立对不可控因素的适当响应做好了准备,但同时它也有助于创建精益业务流程。
- 改善客户互动
通过实施机器人流程自动化,该技术可用于增强客户互动。机器人可以向客户提供上下文信息,而无需与其他员工互动。由于认知计算使得仅向客户提供相关的、上下文相关的和有价值的信息成为可能,因此它改善了客户体验,从而使客户满意并更多地参与到业务中。
工作中的认知计算:全球组织如何利用这项技术
根据技术专家的说法,认知计算是未来。许多成功和成熟的企业已经将该技术集成到他们的日常业务中。有许多成功的用例场景和认知计算示例向世界展示了如何高效地实现认知计算。让我们来看看该技术的一些成功使用案例:
- Cora-苏格兰皇家银行智能代理
在 IBM Watson 的帮助下,苏格兰皇家银行开发了一个智能助理,能够在一天内处理 5000 个查询。利用认知学习能力,该助理使 RBS 能够分析客户投诉数据,并创建一个常见问题库。该助理不仅分析查询,而且还能够提供 1000 种不同的回答,并理解 200 种客户意图。
这位数字助理学会了客户如何询问一般问题,如何处理查询,如果太复杂,如何转给人工代理。
- Welltok 的健康护理门房
Welltok 开发了一种高效的医疗保健门房——caféWell,它通过处理大量医疗数据来更新客户的相关健康信息。 CaféWell 是一种全面的人群健康工具,健康保险提供商使用它来帮助他们的客户获得改善健康的相关信息。通过从各种来源收集数据和最终用户对问题的即时处理,CaféWell 提供智能和定制的健康建议,以提高健康商数。
Welltok 的首席执行官 Jeff Margolis 在讨论 CaféWell 时说:“我们必须超越当前为患者建立的‘疾病护理’系统,转变为优化每个消费者健康状况的系统。要做到这一点,该行业需要一种实用但完全不同的方法来吸引全国 85%的人口,他们每天都在做出影响他们健康的选择。”
- 从个人旅行规划师到简化旅行计划的开拓者
由认知技术驱动, WayBlazer 的旅行规划器通过用自然语言提问,让旅行者更容易规划旅行。礼宾员询问基本问题,并通过收集和处理旅行数据以及对旅行者偏好的洞察来提供定制结果。
这种类型的认知驱动工具有助于旅行者节省搜索航班、预订酒店和计划活动的时间,而无需在最终确定旅行之前研究几个网站。旅行社已经成功地使用了这种工具,同时帮助他们增加了收入和客户满意度。
- Edge up 的智能工具,通过手机 App 管理梦幻足球队
梦幻足球是全球 3300 多万人非常喜爱的娱乐消遣方式。在认知学习和计算的帮助下, Edge Up Sports 开发了一个工具,并与他们的移动应用程序集成,帮助用户通过问简单的问题来起草他们的幻想团队。
这些问题用自然语言起草,让用户更容易做出决定,然后由系统通过浏览社交媒体和新闻报道中关于球员的数据进行分析,并评估用户情绪,帮助球队经理做出更好的决定。
认知计算的问题:更美好未来的挑战
每项新技术在其生命周期中都面临一些问题。尽管由于认知计算的内在优势,创新有可能改变生活,但由于害怕改变,创新正受到人类的抵制。人们发现了认知计算的几个缺点,这给更广泛的采用带来了巨大的挑战,例如:
- 安全
当数字设备管理关键信息时,安全性问题就自然而然地出现了。由于能够处理大量数据并对其进行分析,认知计算在数据安全和加密方面面临着重大挑战。
随着越来越多的互联设备进入市场,认知计算将不得不通过开发一个完全可靠的安全计划来考虑与安全漏洞相关的问题,该计划还具有识别可疑活动以促进数据完整性的机制。
- 领养
任何新技术成功道路上的最大障碍是自愿采用。为了让认知计算取得成功,有必要对新技术如何让流程和业务变得更好制定一个长期愿景。
通过技术开发人员、企业、政府和个人等各利益相关方之间的合作,可以简化采用流程。与此同时,有一个数据隐私框架来进一步推动认知计算的采用是至关重要的。
- 变革管理
变化管理是认知计算必须克服的另一个关键挑战。人们抵制改变是因为他们天生的人类行为&由于认知计算具有像人类一样学习的能力,人们担心有一天机器会取代人类。这已经对增长前景产生了很大的影响。
然而,认知技术是为了与人类同步工作而构建的。人类将通过向系统输入信息来培育技术。这使得它成为人们必须接受的人机交互的一个很好的例子。
- 漫长的开发周期
最大的挑战之一是通过认知计算开发基于场景的应用所投入的时间。认知计算目前正被开发为一种通用解决方案,这意味着如果没有强大的开发团队和大量的时间来开发解决方案,该解决方案就无法在多个行业领域实施。
漫长的开发周期使得小公司更难独立开发认知能力。随着时间的推移,随着开发生命周期趋于缩短,认知计算肯定会在未来获得更大的舞台。
包装
作为数字进化周期的一部分,认知技术的采用始于识别可以使用该技术自动化的手动流程。许多公司,如 IBM,已经成为认知技术领域的先驱,推动了全球几个真正的数字组织。
随着时间的推移,越来越多的数据被分析,以深入了解过去的事件并改进当前和未来的流程。认知技术不仅有助于之前的分析,还将有助于通过预测分析更准确地预测未来事件。
作为一种强大而灵活的技术,B2B 和 B2C 领域的未来可能性和途径是巨大的。IBM Watson 已经在金融和医疗领域利用了认知计算的能力和优势。在未来,人们相信这种技术将帮助人类变得比以前更有效率,委托世俗的分析和专注于创造性的工作。
在不到 5 年的时间里,认知技术对组织的影响肯定会大幅增长。所有行业/领域的利益相关者都需要了解是否、如何以及在哪里投资应用认知技术。
为了从认知计算中获得最大收益,组织需要对其流程、数据、人才模型和市场进行全面分析。我们认为,除了降低成本,认知技术的最大潜力之一在于创造价值,以及通过简化大量流程来重组工作和提高效率的能力。
尽管面临各种挑战和障碍,但认知技术的益处不容忽视。这将有利于所有的组织和人类,从总体上来说,开始过渡进程,并采用创新技术,为一个光明和更有效的未来。
为了充分利用像认知技术这样的创新突破的潜力,你需要一个了解现代趋势的有弹性的认知计算技术合作伙伴&正在开发尖端的商业解决方案。如果您想了解我们如何帮助您在业务中采用人工智能&认知技术,请写信给 hello@marutitech.com&的我们,了解我们如何通过独创性和创新来帮助改善关键的业务流程。
理解数据
关于信息、内存、分析和分布的思考
Here’s the audio version of the article, read for you by the author.
我们感官感知的一切都是数据,尽管它在我们大脑湿物质中的存储还有待改进。写下来更可靠一点,尤其是当我们在电脑上写下来的时候。当那些笔记组织良好时,我们称之为 数据 …虽然我见过一些非常混乱的电子涂鸦得到相同的名字。我不知道为什么有些人把 data 这个词读起来像是有个大写的 D 在里面。
为什么我们用大写 D 来读数据?
我们需要学会对数据采取不敬的务实态度,因此本文旨在帮助初学者了解幕后情况,并帮助从业者向表现出数据崇拜症状的新手解释基础知识。
感觉和感官
如果你从网上购买数据集开始你的旅程,你有忘记它们来自哪里的危险。我将从绝对的零开始向你展示你可以随时随地制作数据。
这里有一些常年住在我的储藏室,安排在我的地板上。
My life is pretty much a Marmite commercial. Three sizes; Goldilocks would be happy here.
这张照片是数据——它被存储为你的设备用来向你展示美丽色彩的信息。(如果你很想知道当你看到矩阵时图像是什么样的,看看我的监督学习介绍。)
让我们从我们看到的东西中找到一些意义。我们有无限的选择去关注和记忆什么。这是我看食物时看到的一些东西。
There’s no universal law that says that this, the weight in grams, is the best thing to pay attention to. We‘re allowed to prefer volume, price, country of origin, or anything else that suits our mood.
如果你闭上眼睛,你还记得你刚刚看到的每一个细节吗?没有吗?我也没有。这差不多就是我们收集数据的原因。如果我们能在头脑中完美地记住并处理它,那就没有必要了。互联网可以是一个洞穴里的隐士,记录人类所有的推文,完美地呈现我们数十亿张猫的照片。
书写和耐久性
因为人类的记忆是一个漏桶,所以用我们在黑暗时代上学时统计数据的方式记下信息将是一种进步。是的,我的朋友们,我还有纸在这里的某个地方!让我们记下这 27 个数据点。
This is data. Remind me why we’re worshipping it? Data are always a caricature of reality made to the tastes of a human author. This one’s full of subtle choice — shall we record dry weight or wet weight? What to do with volume units? Also, I might have made mistakes. If you inherit my data, you can’t trust your eyes unless you know what exactly happened in the data collection.
这个版本的伟大之处——相对于我的海马体或地板上的东西——在于它更耐用、更可靠。
人类的记忆是一个漏桶。
我们认为记忆革命是理所当然的,因为它始于几千年前,商人需要一个可靠的记录,谁卖给谁多少蒲式耳的东西。花一点时间来意识到拥有一个比我们的大脑更好地存储数字的通用书写系统是多么的荣耀。当我们记录数据时,我们产生了对我们丰富感知的现实的不忠实的破坏,但在那之后,我们可以以完美的保真度将结果的未被破坏的副本转移给我们物种的其他成员。文笔惊人!存在于我们体外的思想和记忆。
当我们分析数据时,我们在访问别人的记忆。
担心机器胜过我们的大脑?连纸都能做到!这 27 个小数字对你的大脑存储来说是一个很大的提升,但如果你手边有一个书写工具,耐用性是有保证的。
虽然这是一个耐久性的胜利,但用纸工作是令人讨厌的。例如,如果我突发奇想,把它们从最大到最小重新排列,会怎么样?纸,给我一个更好的顺序!没有?可恶。
电脑和魔咒
你知道软件最棒的是什么吗?咒语真的有效!所以让我们从纸张升级到电脑。
Ah, spreadsheets. Baby’s first data wrangling software. If you meet them early enough, they seem friendly by dint of mere exposure. Spreadsheets are relatively limited in their functionality, though, which is why data analysts prefer to strut their stuff in Python or R.
电子表格让我不冷不热。与现代数据科学工具相比,它们非常有限。我更喜欢在 R 和 Python 之间摇摆,所以这次让我们试试 R。你可以在浏览器中用 Jupyter 跟随:点击 *【带 R】*框,然后点击几次剪刀图标,直到所有内容都被删除。恭喜,只花了 5 秒钟,你就可以粘贴我的代码片段并运行它们了。
weight <- c(50, 946, 454, 454, 110, 100, 340, 454, 200, 148, 355, 907, 454, 822, 127, 750, 255, 500, 500, 500, 8, 125, 284, 118, 227, 148, 125)
weight <- weight[order(weight, decreasing = TRUE)]
print(weight)
你会注意到,如果你是新来的,R 的 abracadabra 对你的数据排序并不明显。
嗯,“abracadabra”这个词本身就是如此,电子表格软件中的菜单也是如此。你知道这些事情只是因为你接触过它们,而不是因为它们是普遍规律。要用电脑做事情,你需要向你的常驻占卜师要魔法单词/手势,然后练习使用它们。我最喜欢的圣人叫做互联网,他知道所有的事情。
Here’s what it looks like when you run that code snippet in Jupyter in your browser. I added comments to explain what each line does because I’m polite sometimes.
为了加快你的巫师训练,不要只是粘贴咒语——试着改变它们,看看会发生什么。比如上面片段中把 TRUE 变成 FALSE 会有什么变化?
你这么快就得到答案是不是很神奇?我喜欢编程的一个原因是它是魔法和乐高的结合。
如果你曾经希望你能变魔术,那就学着写代码吧。
简单地说,编程是这样的:向互联网询问如何做某件事,用你刚刚学到的神奇单词,看看当你调整它们时会发生什么,然后像乐高积木一样把它们放在一起,完成你的命令。
分析和总结
这 27 个数字的问题在于,即使它们被排序,对我们来说也没有多大意义。当我们阅读它们的时候,我们会忘记刚刚读过的内容。这是人类的大脑。告诉我们去读一个由一百万个数字组成的有序列表,我们最多能记住最后几个。我们需要一种快速的方法来分类和总结,这样我们就可以掌握我们正在看的东西。
这就是分析的用途!
median(weight)
用正确的咒语,我们可以立即知道体重的中位数是多少。(Median 的意思是“中间的东西”。)
This is for the three of you who share my taste in movies.
结果答案是 284g。谁不爱瞬间的满足感?有各种各样的汇总选项:(min()、max()、mean()、median()、mode()、variance() …都试试吧!或者试试这个神奇的单词,看看会发生什么。
summary(weight)
对了,这些东西叫做 统计 。统计数据是任何一种将你的数据混在一起的方式。这不是统计学领域的内容——这里有一段 8 分钟的学术介绍。
绘图和可视化
这一部分不是关于那种涉及世界统治的阴谋(请继续关注那篇文章)。就是用图片总结数据。事实证明,一张照片可能比一千个单词更有价值——每个数据点一个单词,然后更多。(这样的话我们就做一个只值 27 个砝码的。)
Tip jars are nature’s bar charts, pun intended. More height means more popularity in that category. Histograms are almost the same thing, except that the categories are ordered.
如果我们想知道权重在我们的数据中是如何分布的——例如,是 0 到 200g 之间的项目多,还是 600g 到 800g 之间的项目多?— a 直方图 是我们最好的朋友。
Nature’s histogram.
直方图是总结和显示样本数据的方法之一。对于更受欢迎的数据值,它们的块更高。
把条形图和直方图想象成流行度竞赛。
要在电子表格软件中制作一个,神奇的咒语是在各种菜单上点击一长串。在 R 中,速度更快:
*hist(weight)*
这是我们的一行程序带给我们的:
This is one ugly histogram — but then I’m used to the finer things in life and know the beauty of what you can do with a few more lines of code in R . Eyesore or not, it’s worth knowing how easy the basics are.
我们在看什么?
在水平轴上,我们有垃圾箱(或者小费罐,如果你喜欢的话)。默认情况下,它们被设置为 200g 的增量,但我们稍后会更改。纵轴是计数:有多少次我们看到重量在 0 克到 200 克之间?剧情说 11。600g 到 800g 之间怎么样?只有一个(如果没记错的话,那是食盐)。
我们可以选择我们的容器大小——我们没有修改代码得到的默认容器是 200g 容器,但是也许我们想使用 100g 容器来代替。没问题!受训的魔术师可以修改我的咒语来发现它是如何工作的。
*hist(weight, col = "salmon2", breaks = seq(0, 1000, 100))*
结果如下:
现在我们可以清楚地看到,两个最常见的类别是 100–200 和 400–500。有人在乎吗?大概不会。我们这样做只是因为我们可以。另一方面,一个真正的分析师擅长快速浏览数据的科学和寻找有趣的金块的艺术。如果他们的手艺好,他们就值他们重量的黄金。
什么是发行版?
如果这 27 项是我们关心的所有东西,那么我刚刚做的这个直方图样本也正好是人口分布。
这基本上就是的分布:如果你将 hist() 应用于整个人口(所有你关心的信息),而不仅仅是样本(你手头上碰巧有的数据),你就会得到这个直方图。有几个脚注,比如 y 轴上的刻度,但是我们会把它们留到另一篇博文中——请不要伤害我,数学家们!**
A distribution gives you popularity contest results for your whole population. It’s basically the population histogram. Horizontal axis: population data values. Vertical axis: relative popularity.
如果我们的人口都是 T21 的包装食品,那么分布将会是他们体重的直方图。这种分配仅仅作为一种理论概念存在于我们的想象中——一些包装食品已经湮没在时间的迷雾中。即使我们想,我们也不能建立那个数据集,所以我们能做的最好的事情就是用一个好的样本来猜测它。
什么是数据科学?
有各种各样的观点,但我喜欢这个定义:“ 数据科学 是使数据有用的学科”它的三个子领域涉及挖掘大量信息以获得灵感(分析),基于有限信息明智地做出决策(统计),以及使用数据中的模式来自动化任务( ML/AI )。
所有的数据科学都归结为一点:知识就是力量。
宇宙中充满了等待收获和利用的信息。虽然我们的大脑在驾驭现实方面令人惊叹,但它们不太擅长存储和处理某些类型的非常有用的信息。
这就是为什么人类首先求助于泥板,然后求助于纸,最终求助于硅。我们开发了快速查看信息的软件,如今知道如何使用它的人自称为数据科学家或 T2 数据分析师。真正的英雄是那些构建工具,让这些从业者更好更快地掌握信息的人。顺便说一句,即使是互联网也是一种分析工具——我们只是很少这样想,因为即使是孩子也能做那种数据分析。
面向所有人的内存升级
我们感知的一切都储存在某个地方,至少是暂时的。数据没有什么神奇的,除了它比大脑管理的更可靠。有些信息是有用的,有些是误导的,其余的都在中间。数据也是如此。
我们都是数据分析师,一直都是。
我们认为我们惊人的生物能力是理所当然的,并夸大了我们与生俱来的信息处理能力和机器辅助能力之间的差异。不同之处在于耐用性、速度和规模……但常识性的规则同样适用于这两者。为什么那些规则在一个等式的第一个符号就被抛弃了?
Still looking for Data to pronounce with a capital D? Well, there it sits.
我很高兴我们庆祝信息作为进步的燃料,但崇拜数据是神秘的东西对我来说没有意义。最好简单地谈论数据,因为我们都是数据分析师,而且一直都是。让我们让每个人都能这样看待自己!
感谢阅读!YouTube AI 课程怎么样?
如果你在这里玩得开心,并且你正在寻找一个为初学者和专家设计的有趣的应用人工智能课程,这里有一个我为你制作的娱乐课程:
Enjoy the entire course playlist here: bit.ly/machinefriend
喜欢作者?与凯西·科兹尔科夫联系
让我们做朋友吧!你可以在 Twitter 、 YouTube 、 Substack 和 LinkedIn 上找到我。有兴趣让我在你的活动上发言吗?使用表格取得联系。
什么是数据清洗?如何处理数据进行分析和机器学习建模?
数据清洗在数据管理、分析和机器学习领域都扮演着重要的角色。在本文中,我将尝试给出关于数据清理的重要性和不同数据清理过程的直觉。
什么是数据清洗?
数据清理是指识别数据中不正确、不完整、不准确、不相关或缺失的部分,然后根据需要对其进行修改、替换或删除的过程。数据清理被认为是基础数据科学的基础元素。
数据对于分析和机器学习来说是最有价值的东西。在计算或商业中,到处都需要数据。当涉及到真实世界的数据时,数据可能包含不完整、不一致或缺失的值。如果数据被破坏,那么它可能会阻碍进程或提供不准确的结果。让我们看一些例子来说明数据清理的重要性。
假设你是一家公司的总经理。贵公司收集购买贵公司产品的不同客户的数据。现在你想知道人们对哪些产品最感兴趣,并据此增加该产品的产量。但是如果数据被破坏或者包含丢失的值,那么你将会被误导做出正确的决定,你将会有麻烦。
归根结底,机器学习是一种数据驱动的人工智能。在机器学习中,如果数据不相关或容易出错,就会导致错误的模型构建。
Figure 1: Impact of data on Machine Learning Modeling.
只要你清理了你的数据,只要你能做出更好的模型。因此,我们需要在使用数据之前对其进行处理或清理。没有高质量的数据,期待任何好的结果都是愚蠢的。
清理数据的不同方式
现在,让我们仔细看看清理数据的不同方式。
列不一致:
如果您的**数据框(**数据框是一个二维数据结构,即数据以表格的形式排列成行和列 ) 包含不相关的列或者您永远不会使用它们,那么您可以删除它们,以便更加关注您将处理的列。让我们看一个如何处理这样的数据集的例子。让我们使用 pandas DataFrame 创建一个学生数据集的例子。
import numpy as np # linear algebraimport pandas as pd # data processing, CSV file I/O data={'Name':['A','B','C','D','E','F','G','H']
,'Height':[5.2,5.7,5.6,5.5,5.3,5.8,5.6,5.5],
'Roll':[55,99,15,80,1,12,47,104],
'Department':['CSE','EEE','BME','CSE','ME','ME','CE','CSE'],
'Address':['polashi','banani','farmgate','mirpur','dhanmondi','ishwardi','khulna','uttara']}df=pd.DataFrame(data)
print(df)
Figure 2: Student data set
这里如果我们想删除“身高”列,我们可以使用 python pandas。DataFrame.drop 从行或列中删除指定的标签。
DataFrame.**drop**(*self*, *labels=None*, *axis=0*, *index=None*, *columns=None*, *level=None*, *inplace=False*, *errors='raise'*)
让我们去掉高度栏。为此,您需要在 column 关键字中加入列名。
df=df.drop(columns='Height')
print(df.head())
Figure 3: “Height” column dropped
缺失数据:
很少有真实世界的数据集没有任何缺失值。当您开始处理真实世界的数据时,您会发现大多数数据集包含缺失值。处理缺失值非常重要,因为如果您让缺失值保持原样,它可能会影响您的分析和机器学习模型。因此,您需要确定数据集是否包含缺失值。如果您在数据集中发现缺失值,您必须处理它。如果您在数据集中发现任何缺失值,您可以对其执行以下三项任务中的任何一项:
1。保持原样
2。填补缺失值
3。删除它们
为了填充缺失的值,我们可以执行不同的方法。例如,图 4 显示空气质量数据集有缺失值。
airquality.head() # return top n (5 by default) rows of a data frame
Figure 4: missing values.
在图 4 中,NaN 表示数据集在该位置包含缺失值。在你的数据集中找到丢失的值后,你可以使用 熊猫。DataFrame.fillna 来填充缺失的值。
DataFrame.**fillna**(*self*, *value=None*, *method=None*, *axis=None*, *inplace=False*, *limit=None*, *downcast=None*, ***kwargs*)
你可以根据自己的需要,使用不同的统计方法来填补缺失值。例如,在图 5 中,我们将使用统计平均值方法来填充缺失值。
airquality['Ozone'] = airquality['Ozone'].fillna(airquality.Ozone.mean())airquality.head()
Figure 5: Filling missing values with the mean value.
你可以看到“臭氧”一栏中缺少的数值被该栏的平均值所填充。
您还可以删除找到缺失值的行或列。我们删除包含缺失值的行。在这里,您可以借助 熊猫来删除丢失的值。DataFrame.dropna 。
airquality = airquality.dropna() #drop the rows containing at least one missing valueairquality.head()
Figure 6: Rows are dropped having at least one missing value.
这里,在图 6 中,您可以看到 Solar 列中的行缺少值。r 掉了。
airquality.isnull().sum(axis=0)
Figure 7: Shows the numbers of missing values in column.
异常值:
如果你是数据科学新手,那么你脑海中出现的第一个问题是“这些离群值意味着什么”?让我们先讨论离群值,然后我们将讨论数据集中这些离群值的检测,以及检测到离群值后我们将做什么。
根据维基百科的说法,
在统计学中,一个 离群值 是与其他观测值有显著差异的数据点。 "
这意味着离群值表示一个数据点明显不同于数据集中的其他数据点。由于实验中的误差或测量中的可变性,会产生异常值。让我们看一个例子来澄清这个概念。
Figure 8: Table contains outlier.
在图 4 中,数学列中的所有值都在 90–95 之间,只有 20 与其他值有显著差异。这可能是数据集中的输入错误。所以我们可以称之为离群值。这里要补充一点——不是所有的离群值都是坏数据点。有些可能是错误,但其他是有效值。
所以,现在的问题是我们如何检测数据集中的异常值。
为了检测异常值,我们可以使用:
1。箱线图
2。散点图
3。z 分数等。
我们将在这里看到散点图方法。让我们画一个数据集的散点图。
dataset.plot(kind='scatter' , x='initial_cost' , y='total_est_fee' , rot = 70)
plt.show()
Figure 9: Scatter plotting with outlier.
在图 9 中,有一个带有红色轮廓的异常值。检测到这一点后,我们可以将其从数据集中移除。
df_removed_outliers = dataset[dataset.total_est_fee<17500]df_removed_outliers.plot(kind='scatter', x='initial_cost' , y='total_est_fee' , rot = 70)plt.show()
Figure 10: Scatter plotting with removed outliers.
重复行:
数据集可能包含重复条目。删除重复行是最容易的任务之一。要删除重复的行,可以使用—
dataset _ name . drop _ duplicates()。 图 12 显示了具有重复行的数据集的示例。
Figure 11: Data having duplicate rows.
dataset=dataset.drop_duplicates()#this will remove the duplicate rows.print(dataset)
Figure 12: Data without duplicate rows.
整理数据集:
整齐的数据集意味着每一列代表单独的变量,每一行代表单独的观察值。但是在混乱的数据中,每一列代表的是数值而不是变量。整齐的数据有助于解决常见的数据问题。你可以使用pandas . melt将杂乱的数据变成整齐的数据。
import pandas as pd
pd.melt(frame=df,id_vars='name',value_vars=['treatment a','treatment b'])
Figure 13: Converting from Untidy to tidy data.
还可以看 熊猫。DataFrame.pivot 用于解冻整齐的数据。
转换数据类型:
在 DataFrame 中,数据可以有多种类型。例如:
1。分类数据
2。对象数据
3。数字数据
4。布尔数据
某些列的数据类型可能由于某种原因而改变,或者具有不一致的数据类型。您可以使用 pandas 从一种数据类型转换为另一种数据类型。data frame . astype。
DataFrame.**astype**(*self*, *dtype*, *copy=True*, *errors='raise'*, ***kwargs*)
字符串操作:
数据清理最重要和最有趣的部分之一是字符串操作。在现实世界中,大多数数据都是非结构化数据。字符串操作是指改变、解析、匹配或分析字符串的过程。对于字符串操作,你应该有一些关于正则表达式的知识。有时候你需要从一个大句子中提取一些价值。在这里,字符串操作给了我们很大的好处。比方说,
“这把伞花了 12 美元,他从他妈妈那里拿了这笔钱。”
如果你想从句子中提取“$12”的信息,那么你必须构建一个正则表达式来匹配这个模式。之后你就可以使用 python 库了。python 中有许多用于字符串操作的内置和外部库。
import repattern = re.compile('|\$|d*')result = pattern.match("$12312312")print(bool(result))
这将给你一个显示“真”的输出。
数据拼接:
在当今的数据科学时代,数据量与日俱增。由于数据量大,数据可能存储在单独的文件中。如果您处理多个文件,那么为了简单起见,您可以将它们连接起来。您可以使用以下 python 库进行 concatenate。
pandas.**concat**(*objs*, *axis=0*, *join='outer'*, *join_axes=None*, *ignore_index=False*, *keys=None*, *levels=None*, *names=None*, *verify_integrity=False*, *sort=None*, *copy=True*)
让我们看一个如何连接两个数据集的例子。图 14 显示了从两个不同文件加载的两个不同数据集的示例。我们将使用pandas . concat来连接它们。
Figure 14: Dataset1(left) & Dataset2(right)
concatenated_data=pd.concat([dataset1,dataset2])
print(concatenated_data)
Figure 15: Concatenated dataset.
结论:
数据清理对于使您的分析和机器学习模型无错误非常重要。数据集中的一个小错误会给你带来很多问题。你所有的努力都可能白费。因此,请务必保持数据的整洁。
参考资料:
1.数据帧
2。data camp-清理 python 中的数据
3。处理缺失数据
4。如何用熊猫
去除数据中的离群点 5。检测和去除离群点的方法6
。离群点去除 clustring7。从数据中剔除异常值的 3 种方法。熊猫。data frame . astype9。 pandas.concat
10。熊猫。data frame . melt11。整理数据
最后,感谢您的阅读。
什么是数据科学?
这份美丽工作的神话、梦想和现实
Photo by Luke Chesser on Unsplash
数据科学被认为是我们这个时代最迷人的工作之一。它可以很搞笑,可以给你满足感,但是真的如它所描述的那样吗?****
在本文中,我将向您展示数据科学家生活中的现实。
你认为是什么
在他们职业生涯的开始,数据科学家认为数据科学是一个奇妙的、神奇的世界,充满了算法、 Python 函数,用一行代码和统计模型来执行每一种可能的法术,这些模型能够检测数据中最有用的相关性,这可能使你成为公司中不可战胜的超级英雄。你开始梦见你的首席执行官向你祝贺并和你握手,你开始看到决策树和集群无处不在,当然,还有你能想到的最可怕的神经网络架构。
但是从你第一个数据科学项目的第一天起,你开始意识到现实是什么。
它到底是什么
对结果的期望
管理者通常认为数据科学是信息技术的圣杯。他们对它有着巨大的期望,他们希望此时此地得到满足。
事实上,结果很难实现,而且需要很多时间。有时候一个结果达不到。想一想集群的例子。你可以花一生的时间来寻找一个根本不存在于你的数据中的聚类模式。大多数经理不理解这一事实,这对你和你的团队来说是非常有压力的。
解释
唯一比好算法更好的是一个可解释的算法。永远不要忘记这一点。世界上没有哪个理智的经理人会仅仅因为 AUROC 大于 95%就遵循一种未知的算法来管理公司的资金。管理者需要理解算法,弄清楚他们如何看待数据,这对于数据科学家来说通常是一项艰巨的任务。向没有科学背景的人解释算法可能相当困难,但这在大公司中非常普遍,你必须面对这个事实。
大多数时候,你会发现自己试图抹去老板脸上那个可怕的问号,尽可能地简化,让他们理解你的结果。记住:如果你不能解释你的结果,经理们会开始问自己你在你的公司是否有用。
商业理解
你将花费大量时间采访产品负责人和 ITC 专业人士,以了解隐藏在他们所知道或产生的商业数据中的信息。没有他们的帮助,你不可能成功。
很多时候,数据来自复杂的异构系统,这通常意味着您需要理解几行日志文件。数据不是一切;信息决定一切。永远不要忘记这一点。信息隐藏在数据中,你需要有人告诉你应该在哪里挖掘。
公司越大,就越难找到合适的人来面试,当你最终成功的时候,他们的回答会产生更多的问题,这些人可能没有足够的时间给你和你的“无聊的东西”。
数据可视化
您会发现自己比想象中更频繁地使用数据可视化。图表、幻灯片和其他图形工具就像你猎枪里的银弹。也许你脑子里有神奇的公式,图表之类的。别管他们了。数据科学是通过图形表示来讲述的,通常很难找到适合你的观众的合适的可视化技术。
最后期限
他们在那里。我们是一个充满期限和期望的世界的奴隶。当你是一名软件工程师时,你的计划中有里程碑,不允许你拖延一秒钟。在数据科学中,事情并不简单。
即使在数据科学中也有截止日期和里程碑,并且其中有一个巨大的困难:数据科学是一种非常接近于学术研究的东西,所以它不太适合经典的、瀑布 ITC 项目管理风格。相反,一些敏捷框架(例如 Scrum 或看板)应该工作得很好,因为它有快速适应变化的生理能力。但是敏捷很难教给管理者。这会给他们一个错误的想法,认为没有明确的交货日期,这是公司很难接受的。
算法和编程
最后,有趣的部分。Python,R,Knime,阅读科学论文,优化算法,交叉验证等等。技术和真正的乐趣只是工作的一小部分,在整个项目生命周期中只占很少的时间。也许在编写第一行代码之前,你已经对前面的阶段失去了热情,事情看起来不再像你一开始想的那么有趣。
做数据科学最好的方法是什么?
根据我的经验,我可以用一个词来回答:敏捷。在编写第一行 Python 代码之前,没有必要执行所有的业务理解部分。从对一小块数据的简单业务理解开始,探索它,可视化它并从一个简单模型开始。每周创造第一个可量化的结果让你的客户持续参与这个过程。以恒定的交付率交付小成果,请不要落入瀑布陷阱。****
简单是关键。永远不要忘记。尽可能从最简单的事情开始,只在需要的时候增加一点复杂性。
在持续的小结果中有一种心理上的解脱感,如果你想在公司的最后期限和业务流程的丛林中生存,这是你必须使用的另一种武器。这样,你的每一个致力于你的项目的同事都会感受到你的困难并开始理解数据科学有多难。
记住,公司仍然认为数据科学是 ITC 的一个分支。他们并没有完全错,但是他们不应该期望你遵循瀑布方法。所以,你必须努力引导你的公司走向一种敏捷的思维方式。
关于工作的解释部分,我更倾向于从最简单的机器学习模型开始:可能的: k 近邻。这很容易理解。你只需要一张纸,一支铅笔和一个画有一些点的笛卡尔平面。就是这样。如果它产生了非常好的结果,每个人都会最终看到你喜欢你认为你是一个伟大的商业伙伴。
如果 KNN 不起作用,那么你可以使用回归和决策树(随机森林、梯度提升树分类器等等),它们非常容易解释,或者贝叶斯网络,它们有非常有用的图形表示。
最后,视觉化。想象一切。让你的老板给你买一门数据可视化的课程,尽可能多地学习最好的可视化技术,请记住避免饼图。它们毫无用处,而且容易误导人。如果你提供一个简单的散点图或者柱状图,人们会捕捉到所有的相关信息。****
简单的结果是最好的。几天前,我和我的团队展示了一些关于时间序列分析的结果,只使用了三张幻灯片**:描述业务现象的高层KPI,一个混淆矩阵和一些绩效指标。从第一张幻灯片开始,我们的观众就很热情,只是因为我们一开始就用简单的方式用清晰的数字解释业务。在很多情况下,一个小积木真的可以救你一命。**
结论
数据科学是一项令人兴奋的工作,但如果你对非技术观众讲话,它可能会非常难以执行。数据和业务密切相关,当你与以业务为导向的人一起工作时,你必须记住这一点。生存的唯一方法是在数据驱动自下而上方法和业务驱动自上而下方法之间找到一个中间点**。**
最后,由于数据科学很难并且耗时**,以恒定的交付率交付小成果是你保持客户参与的唯一方法。**
什么是数据科学?
作者:本杰明·曼宁博士
完全披露:这篇博客的部分内容摘自我为以前工作过的公司写的一篇文章,但内容是我的,没有任何限制。
前言:在你花几分钟时间阅读这篇文章却发现它不是一个教程之前,我现在就通知你;不是的!然而,如果你是一个有点“非技术”的人,甚至是管理人员,需要好好阅读关于你可以用数据科学“做什么”的书籍,那么你就来对地方了。
早在 1999 年,我就开始了我的机器学习职业生涯,在 2007 年我将自己的公司转型为现在所谓的“数据科学”之前,我喜欢从事各种软件工程,甚至一些网站开发工作。是的,我已经存在了一段时间,看到了许多技术和方法来来去去,但我访问的公司越多,我就越清楚地看到 理解数据科学甚至利用内部数据和资源 的问题随着时间的推移正在成为一个永远难以解决的问题。
我经常被学生和同事问及我对数据科学的最佳定义。作为一名资深数据科学家,在指导了数百名该领域的专业开发学生多年后,你可能会认为这对我来说是一项容易解决的任务,但我越想越觉得答案越复杂,我认为这正是支持行业中大量困惑的中间派概念。
What is Data Science? source: https://ec.europa.eu/jrc/communities/sites/jrccties/files/skills_map_v4_1.png
这肯定是一个悖论,因为随着时间的推移,大多数行业通过更高层次的理解开始成熟,但数据科学似乎是一只独角兽,至少在放置我们都可以遵循的通用定义的更精细点的意义上。
在我看来,数据科学不应该围绕它是什么来定义,而更应该围绕我们用它做什么来定义— Ben Manning
在这样做的过程中,人们可以很容易地确定有许多不同类型的数据科学家在扮演许多不同的角色,尽管可以说数据是所有这些的核心,但我认为事实并非如此。我认为 值 是数据科学中所有不同角色的 公分母 。
每个人和每个角色都应该带来价值
为公司带来价值是我们在组织中扮演的每一个角色都要做的事情。数据科学家没有什么不同,只是我们有不同的工作介质,我们处理各种形状、大小和形式的数据,这也带来了许多新的支持角色。
数据翻译员、数据工程师、ML 工程师、AI 工程师和一大堆其他新职位目前正在涌入,以填补我们新发现的分析更大和新(更)类型数据的能力所创造的空白。
让我们看一个典型的例子‘如何’获得这个值
我拥有两家公司,一家是数据科学企业培训公司( UpLearn.io ),另一家是数据科学工程咨询公司( EdgeLearn.ai ),我们经常有客户带着大量数据来找我们,但他们根本没有从中获取价值的起点。这也是我创办企业培训机构的原因之一(不要脸的塞入境!)
随着我们会见越来越多的客户,我们很快发现大多数企业,无论大小,对数据科学到底是什么以及如何利用它都知之甚少。事实证明,这不是一个操作问题,而是一个教育问题,所以我们已经转移我们的重点来解决它,并开始 UpLearn.io 。
我们与许多来到 EdgeLearn.ai 网站的客户合作的一个共同领域是更好地了解他们的客户,或者对他们最重视的人进行 360 度全方位的观察。
Customer 360 Lifecycle | source: https://2s7gjr373w3x22jf92z99mgm5w-wpengine.netdna-ssl.com/wp-content/uploads/2017/11/customer-360.png
简单来说:一个企业越了解它的客户;就能更好地为他们服务。
在构建我们的客户 360 解决方案时,我们使用数据分析、机器学习和大数据来满足许多不同的领域,但大多数都围绕四个主要领域:
- 了解客户——即谁是我们的典型客户?
- 预测一个或一组产品的性能或销售。
- 汇总以前未知的可能交叉销售机会。
- 为我们的客户构建“假设”场景,提供更多关于最佳和最有可能花费他们宝贵金钱的地方的详细信息。
为了这篇文章的目的,我已经将所有这些领域简化并合并到建立客户档案中。
客户档案里有什么?
客户是任何企业的生命线,了解我们所服务的客户的一切不仅可以让我们提供更好的服务,还可以建立品牌忠诚度,甚至简化供应链。来自历史购买的简单人口统计数据可以提供大量信息,如购买行为、品牌偏好,甚至可以更好地描述客户可能购买或不购买产品或服务的具体原因。
例如,我们可以分析包含超过 500,000 次购买的简单数据集,以及简单的人口统计数据,如性别、年龄、邮政编码等。、以及通常通过让顾客注册积分卡和其他营销工具来收集的其他变量。通常,我们还知道产品细节,如价格、功能,有时甚至知道交易中购买的其他产品。
从这些简单的数据中,我们可以使用数据科学来构建客户 360°购买档案,以便更好地了解谁在何时购买了什么。
但是如果我们已经从历史数据中知道了,这又有什么用呢?
用数据科学实现价值
数据科学方法让我们能够发现与客户相关的变量之间可能存在的以前未知的关系,这不仅可以帮助我们更好地了解谁买了什么,甚至可能使相关性更好地描述为什么,尽管因果关系不是数据科学的最终目标;正如我们已经说过的,价值是。
Customer Profile | Source: IBM.com
更好的是,我们可以使用这些新学到的规则来“模拟”客户的购买行为,不仅预测他们接下来可能会购买什么,还预测他们可能会购买什么。我们还可以更好地理解和模拟我们的营销工作在单个集中领域或支出领域的效果——这意味着什么?这意味着我们可以“模拟”公司在某个过程中花费资金的各个领域的表现。
这是数据科学真正带来价值的地方,这又回到了通过我们用它做什么来定义它,通过让我们更好地了解过去,并以比我们以前通常实现相同目标更快、更高效、更可靠和可重复的方式将我们学到的知识应用到未来。
最后,我们正在了解以前我们根本没有能力分析的业务和流程,在许多情况下,我们甚至没有这样做所需的数据。云技术的快速发展消除了基础设施工作,并提供了一种更简单、更简化的方法来处理多个领域的技术,包括多样化数据集、弹性计算、低成本存储、数据共享、ML/AI 打包和更易于使用的可视化工具,这使得发现比以往任何时候都更容易理解和验证,我们只是看到了开始。
产生的数据越多,数据科学就变得越相关,我们最终就会更好地理解它是什么,以及我们可以用它来做什么,以更好地服务于我们的企业和社区。
Benjamin Manning 博士来自佐治亚州雅典市,在过去的 25 年里,他一直是一名机器学习顾问和系统工程师。他现在是 IBM 的高级数据科学家,之前是佐治亚大学计算机系统工程学院的成员,目前在许多大学指导数据科学专业发展学生。2017 年,他获得了 O-Reilly 人工智能多样性奖学金和谷歌物联网(IoT)技术研究奖。2018 年,他在佐治亚大学完成了计算机系统工程博士学位,重点是使用深度学习和计算机视觉来改进太阳预测模型。
你可以在 LinkedIn 上和他联系。
数据科学训练营是什么样的?
第一天。我们的数据科学入门讲师正在讲话,但我无法集中注意力,因为我听到了另一个房间的哔哔声,这快把我逼疯了。我起床查看,希望能找到一块 90 年代的手表或一只电子鸡在做最后的垂死挣扎。相反,我看到了一个看起来像火星漫游者和 Roomba 真空吸尘器的私生子,在地板上嘟嘟嘟地走着,吞吃着烟头。它的创造者,前一批成员,解释说这是他们为期三个月的项目——更重要的是,是的,他们可以关闭哔哔声。
我回到我的入门课,感觉对噪音如释重负,就像我被技能差异吓到一样。我陷得太深了吗?
我的技术背景是什么?
“Huh! I thought it was psychic-learn!”
我是学法律的,2009 年毕业。在伦敦一家律师事务所实习时,我意识到我宁愿成为制造法律困境的人,也不愿成为事后收拾残局的人。这就剩下了两个选择——犯罪或创业。经过深思熟虑,我决定创业。因此,我开始自学 web 开发,将整个编程语言放到的闪存卡上,回到我年轻时偶尔充满 RSI 的热情。我把法律和代码结合在一起,创建了一个微型网络销售公司法律概述,从那以后,这个公司(大部分)设法维持了我的生活。
因此,虽然我是一名经验丰富的程序员,但我的数学较弱,没有获得量化学位(量化律师唯一做的就是计算计费小时)。在开始训练营之前,我试图通过学习一些线性代数、微积分和概率来赶上进度,但是——老实说——数学的东西要不稳定得多。
是什么促使我学习数据科学?
在某种程度上,我有唯利是图的动机,因为我可以看到将机器学习应用到我的业务中并从中获利的方法(例如,我想预测发送电子邮件的好提议,另外我想通过从我出售的文档中提取判例法和法规来提高我的 SEO。)
也许更大的动机是我喜欢学习新东西。抽出时间专注于学习对我来说是一种享受,就像一个长假期对一个不那么讨厌、头发更好的人来说一样。
最后,作为一名 web 开发人员,我一直对机器学习有着严重的 FOMO 感。我想跟上我们时代的最新技术,并消除对落后的恐惧。
为什么我选择训练营而不是自学?
这对我来说真是一个艰难的决定,因为,像许多自学成才的程序员一样,我为自己是一个自学者而自豪。我甚至写过一篇 40 页的文章,题目是自学…所以你可以想象我对于参加夏令营有着不小的认知失调。当我自己很好地学习了 web 开发时,为什么我需要外部机构来教我数据科学呢?
让我动摇的是两个务实的考虑:
- Web 编程比数据科学更有利于自学。在 web 开发中,编写代码和测试代码之间的反馈回路非常小。你可以在几秒钟内尝试十种变化。通常你的错误是显而易见的——比如网页上出现了错误的数据。但是数据科学却不是这样。反馈循环慢得令人痛苦。一些模型需要几个小时甚至几天的时间来训练,所以在它工作之前,你没有机会盲目地点击“up and enter”。更重要的是,数据科学中的错误更难诊断。通常输出是一个描述你的预测好坏的数字。当你得到一个垃圾结果时,几乎任何事情都可能是原因——通常是你对模型思考中的一个错误假设。我希望,有专业的导师在身边,能让我避免浪费时间。
Typical web development workflow
- 尽管我自学了编码,但我注意到,当我和房间里的其他程序员一起工作时,我的学习速度是最快的速度,吸收了他们所有的现实技术和提高生产力的实践。现在我 30 多岁了,承担了更多的责任,我更加重视快速学习。但是我没有一个可以一起做项目的数据科学家朋友网络,更不用说有那么多空闲时间的朋友了。因此,训练营似乎是让我融入这种环境的合理方式。
我如何在训练营中做出选择?
不管怎样,我最终去了数据科学静修中心,在他们的柏林办公室学习。(同一个团队在多伦多经营着一个平行的训练营,名为 AI Deep Dive 。)我不知道我的训练营比其他许多训练营更好还是更差——我的样本量只有一个!但我能做的是分享我的经验,我希望这种经验能推广到任何比较选择的人。
- 你的编程技能和你的同伴的编程技能之间的良好匹配:编程是数据科学的必要条件。如果没有基本的编程能力,即使是最伟大的统计学家也无法完成任何事情。但是学生之间的编程经验差别很大。毕竟,在这个领域,最好的从业者通常被认为比普通人的工作效率高出 10 倍。因此,选择一个训练营,在那里候选人需要有一定程度的编程技能,这与你自己的有些匹配。否则,当你的深度学习课程变成如何用多个参数调用 python 函数的课程时,你会感到沮丧。
- **节奏:**相应地,选择一门适合你学习风格的课程。当我与另一个训练营的参与者会面时,我们提出了一个度量标准来校准我们程序的相对步调:$time _ spend _ learning _ pandas(pandas 是一个用于查看、清理和修复数据的 python 库)。我们比他们晚两天。两者都不是“更好”,它只是取决于你对如何快速覆盖材料的偏好,以及你更喜欢深入还是广泛。
- 多样性:一些训练营似乎有清一色的白人和男性班级。如果这听起来不符合你的口味,检查一下你考虑的训练营在多大程度上面向其他人群,包括来自其他人群的人。至少在我的学校,十个学生中有三个是女性,还有两个老师(到目前为止)。
- **班级人数:**显然,越少越好。务必区分初始班级规模和两周内的实际班级规模。虽然我们一开始有 10 个人,但后来有两个人完全退出了(一个是因为课程太难,另一个是因为个人原因)。此外,平均每节课有两个人缺席,这使得我们的实际班级人数减少到了更亲密的六个人。
- 教师是在工业界工作还是全职教师?一般来说,我更喜欢工业界的老师。听到现实世界的公司是如何做事的令人振奋,因为他们经常使用令人惊讶的标准技术并取得令人满意的结果。更重要的是,来自行业的导师可以帮助你在事后获得聘用。一位教练告诉我们,他四年前在同一个训练营学习,并通过他以前的导师获得了他的最后三份工作。也就是说,从工业界聘请教师也有不利的一面:因为他们已经有了白天的工作,他们可能只能在周末或法定假日授课。后果就是你的作息会变得不规律。这就引出了我的下一个观点…
- 时间表:我们的时间表比我想象的更不稳定,周末有很多课要上。训练营的组织者或多或少希望学生在 3 个月的时间里全身心地投入到学习中。这种强度是值得的,但也是令人疲惫的。我基本上适应了,但是时间紧迫的人应该提前询问他们训练营的时间表,以确保他们不会冲突。
- **在城里还是在城外?**我选择在柏林学习,我已经在那里
生活了七年。然而,我的大多数同学都是从其他地方来的。我很嫉妒:我认为离家学习有一个很大的好处,因为分心的事情更少,需要参加的社交活动更少。我的团队中有一个人没有告诉任何柏林朋友他在城里,以便更好地专注于素材。 - **教师在数据科学社区有多大影响力?**在所有条件相同的情况下,我更喜欢有着良好公众声誉的导师的训练营(受欢迎的文章,实际上被真正的数据科学家使用的 GitHub repos,等等)。)这在一定程度上保证了我是由真正了解自己知识的人来教授的。当我看到一个我已经在上读过的关于数据科学的作者辅导了我们三天时,我很高兴。
- 训练营有当地社区吗?有一种说法是,最好的老师是比你领先一步的人,因为这个人仍然会认同你正在经历的困难。我的训练营办公室里有一间空房,是为之前的训练营参与者提供的临时工作空间。这个提议经常被利用,这意味着通常会有一些老兵四处游荡,乐于炫耀他们新获得的知识并回答我的基本问题。我在训练营中注意到的另一种社区形式是下班后在他们的办公室里举办 meetup.com 活动。当这样的事件发生在你家门口时,这将是一个与实践者交流并挤进更多数据科学的好方法。
我喜欢训练营的什么?
- 到目前为止,我最大的亮点是完成了我的第一个端到端项目。训练营把我们分成几个小组,我们将花三天时间参加一个预测药店销售额的挑战。尽管我们已经有了关于各种珍闻的课程,但我不知道如何将所有的东西整合到一个真正的项目中,并做出预测。花三天时间做这个挑战对巩固我所学的东西非常有效。除了漂浮在周围帮助我们摆脱困境的
之外,教练们也参加了比赛。显然,他们彻底击败了学生队,但看到我的平均误差只比他们低百分之几,我确实有一种成就感。这让我意识到,你只需要一些基本的东西就可以得到满意的结果。如果我在自己的企业中应用类似的模式,它就已经很有价值了!通过比较老师的解决方案和我自己的,我也学到了很多。 ( )我队的代号 在这里,以防你好奇。) - 我被竞争所激励。所以,当老师给我们做练习时,我会注意到别人比我领先三个问题,我会有一种强烈的冲动想赶上去。这将促使我在课后更加努力地学习——比其他情况下更努力。
- 与此相关的是,在我比同龄人更有知识的领域,帮助他们是一种回报。
- 在社交方面,我喜欢结识平常社交圈之外的人。例如,一名学生是科威特银行家/企业家,在流媒体出现之前,他曾试图在视频游戏中扮演网飞。另一个是对认知感兴趣的神经生物学研究者。
- 我感谢导师们在建立一个干净的开发环境方面的帮助。整个互联网似乎充满了关于安装 anaconda 和使用这些可怕的笔记本的建议。我曾被引导去相信,如果我不按照这个建议去做,我们所知道的世界将会终结。不是这样的!指导者向我展示了如何用一个常规的 python 虚拟 env 和我信赖了十年的 VIM 编辑器来流畅地运行一切。
我不喜欢训练营的什么?
Oh wait, wrong kind of bootcamp.
- 有些人(可能包括我)在上课时间贪婪地问问题,问一些对课堂毫无用处的事情。但这些问题是有代价的,因为它们迫使教师删减掉原本会涉及的核心内容。
- 有些人(有时也包括我)会迟到,当导师为迟到者提供宽限期时,无聊地等在那里令人沮丧,副作用是减少了其他人的上课时间。我更喜欢准时上课——不管是否有人出席。事实上,当导师提供宽限期,它鼓励更多的未来迟到。
- 为机器学习库下载和安装软件包可能需要 40 分钟以上。我们的老师有时会要求我们在前一天晚上安装一堆东西,但如果一些学生没有注意到备忘录或者只是没有注意,就会占用教学时间。
- 很容易变得危险地过度自信,让自己陷入尴尬。有一次,我因为自己的代码是正确的而骄傲自大——更愚蠢的是,因为某个指导者的代码是错误的。以至于我公开与他们对质。最终,他们看了看我的屏幕,他们花了大约两秒钟的时间找到了我的(难以置信的)错误。他们处理得很优雅,但我对自己感到愤怒,回到“愚蠢的初学者”阶段有点受宠若惊。简而言之,训练营对自我很苛刻。
- 教师的素质可能会有差异。虽然我喜欢我们的大多数老师,但有一位老师轻蔑的语气让我害怕在课堂上说话。我认为他本身并无恶意——更像是社交能力差。虽然我更希望我的训练营没有雇用他,但他们确实在第二天询问了我对他的课的反馈,并为我的糟糕经历感到抱歉。真正的考验将是运营商是否会放弃下一批导师…
三周后我提高了哪些技能?
用行话来说,这一段可能有点难懂,所以可以跳过。
- 通过 3 天的互动练习,我对主要的机器模型如何工作有了一些直觉,玩的是简化版本的算法。例如,这里有一个视频,展示了改变回归模型的偏差和斜率如何影响总误差量(SSE)和误差大小的分布。
We developed intuition by playing with models and answering questions.
-
我来自 Ruby/Javascript 背景,对 Python 的古怪之处了解不多。但是多亏了“高级 python”类,我才得以了解 python 的特性,比如装饰器、操作符重载、类型提示、requirements.txt 实践,以及 Python 处理可变性/不变性的(通常是疯狂的)方式。
-
我开始采用矢量化计算的范式,即在向量(或矩阵)上调用函数,而不是在普通列表上。矢量化计算可以比常规 Python 循环快 100 倍,例如,因为处理器不必担心列表式结构中的后续项目可能是不同的数据类型(因此需要替换机器指令)。
-
现在,我可以使用 pandas 浏览数据集,例如查看列类型、查找空值、计算子组的平均值、定位异常值以及过滤行:
-
我可以用 pandas 复制许多 SQL 查询。例如:
-
我可以预测机器学习中使用的矩阵的内存使用情况。这实际上非常简单——如果某个 8 字节浮点输出矩阵中有 60k 行和 10k 列,这意味着它将需要 6 亿个槽,每个槽的大小为 8 字节——即 4.8GB 的内存。
-
我可以在探索性分析过程中绘制数据图表,例如,比较一周中不同日子的销售均值。
Hmm, I wonder if there’s a pattern in this data…
-
我意识到在我的 python 代码中使用断言的价值,这样当我改变“仅仅一件事”时,就可以阻止错误的蔓延。例如
-
我知道如何建立和构建一个小型数据科学项目——如何分割数据以进行测试/训练,如何在探索过程中绘制图表,我有哪些选项来清理有问题的记录,如何以一种干净的方式进行特征工程,如何从 scikit-learn 中训练一个预打包的模型,如何测试模型的准确性,如何使用自动化工具来搜索更好的模型参数(例如 GridSearch ), 如何将拟合好的模型保存到磁盘上,这样就不必再从头开始训练它,最后,如何将所有东西打包成一个可运输的程序,对看不见的数据进行预测。
-
我现在意识到,尽管数据科学领域非常庞大,但有一些常用算法在许多情况下表现良好,并且可能在“普通”公司中对“普通”数据科学问题做得足够好。这些模型包括随机森林、逻辑回归、线性回归、K 近邻、维度缩减,当然还有神经网络。
-
我知道如何在开发数据科学模型时加快反馈循环。例如,一旦我的训练数据被清理,我现在将它保存为中间 CSV 文件,以便(通常很慢的)清理计算不需要一次又一次地执行。我给我的代码一个“调试模式”,在这个模式下,要拟合的模型被给定参数,使它几乎可以立即进行训练:这给了我一种方法来检查代码的整体流程,而不必永远等待。
-
我终于理解了多元微积分中的梯度。这要归功于导师推荐的优秀视频和网站,也要归功于我的两位同学,他们耐心地浏览了我的纸笔推导,理清了我的思路。
-
(靠我自己)我学会了如何将可爱的 python 工具 scrapy 与 Scraping Hub 结合起来,后者是一种让在云中运行刮刀变得非常容易的服务。
-
(还是我自己)我为 python 优化了我的编辑器(VIM)。我用 autopep8 实现了一种漂亮的风格,我用 yapf 自动重新格式化了长行,我用 pyflakes 检测了语法错误,我用 jedi-vim 获得了自动完成和函数文档,并使用 mypy 实现了可选的输入提示。最后但同样重要的是,插入调试器代码片段或打印当前行的快捷方式。
我该如何建议人们充分利用他们的训练营经历?
- 在开始之前,对编程有一定的了解:如果你不会编程,你的工作将会变得非常缓慢。老实说,如果你还没有花至少一百个小时进行常规编程,那么参加数据科学训练营就是浪费你的时间和金钱。
- **乐于向导师提问:**一些学生甚至在私下(课后)都不好意思提问,这意味着他们错过了导师的专业知识,这是参加训练营的一个关键优势。此外,还有陷入垃圾的危险纳什均衡没有人理解所教的内容,但每个人都认为其他人都理解,因为没有人问任何问题…
- 向其他学生寻求帮助:我们这一批人各有所长——我在经典编程方面经验丰富,而其他人则擅长使用计算机解决复杂的方程。利用同龄人的知识是摆脱困境的好方法。我还学会了更加适应其他学生可能寻求帮助的间接、保全面子的方式——例如,有人问我“你修改代码来做 XYZ 了吗?”)直到一天后,我才意识到他们真正的意思是“你能和我分享一下你是如何在 XYZ 迷路的吗?”将此与另一个更直接的人进行比较,他可能会说“你能把你的 XYZ 代码发给我吗?”
- **激发教师的智力兴趣:**如果教师对时间序列数据或贝叶斯统计感兴趣,他们会喋喋不休地谈论这些话题。这意味着你可以战略性地选择项目,以激发他们的热情。
之后找份工作?
因为我已经拥有了自己的生意,所以这不是我要考虑的。但是对于课程中的许多其他人来说,之后找到一份工作是一个主要的动机,所以我将补充一些观察。
我遇到了前几批训练营的很多人,听到了他们在就业市场上表现如何的窃窃私语:结果完全不令人惊讶。基本上,任何被驱动的人,任何能够发布工作代码的人,任何有一点社交风度的人都被工业界抢购一空。我说这“不足为奇”,因为同样的人可能会在没有参加任何训练营的情况下被抢购。但可能只适合普通的编程工作,而不是数据科学工作。
我意识到我的观点几乎是一个同义反复:如果你想在训练营结束后被聘为数据科学家,无论如何都要成为那种可以被聘用的人。
结论:我陷得太深了吗?
在我的第一天,在看到前一届的一个团队是如何制造出一个怪异的人工智能机器人后,我感到很害怕,因为我不够资格。但我不应该如此沮丧。事实是:程序员建立在其他程序员的工作之上。在这个团队中,他们的工作基于驴车,一个开源的小型车辆 DIY 自动驾驶平台。
Donkey Car — https://www.donkeycar.com/
我这样说并不是要贬低那个队的成就,他们所做的确实令人印象深刻。我这么说是为了展示今天的工具是如何让初学者也能完成对其他程序员来说与魔术无异的壮举——更不用说对公众了。这正是数据科学令人兴奋的地方。
我不再感到害怕——我感到受到了鼓舞。
什么是大屏幕数据可视化,如何实现?
1。什么是数据可视化?
在大数据时代,可视化仪表盘已经成为商业决策的重要工具。
将复杂抽象的数据以一种更容易理解的形式直观地呈现出来的一系列手段被称为数据可视化。数据可视化旨在使人们快速理解数据背后的含义。
数据可视化除了具有可视化的特性,还具有交流和交互的特性。
2。什么是大屏幕数据可视化?
以大屏幕为主要显示载体的可视化仪表盘设计称为大屏幕数据可视化。它的特点是大面积、酷炫的动态效果和丰富的色彩。大屏幕仪表盘可用于信息显示、数据分析、监控和预警。
3。大屏在企业中有哪些应用场景?
为了让大家更好的理解大屏数据可视化的概念,我将列举一些大屏在企业中的应用场景。
3.1 实时监控中心
From FineReport
From FineReport
3.2 战略指挥总部
From FineReport
From FineReport
3.3 展览中心
From FineReport
3.4 会议中心
From FineReport
From FineReport
3.5 活动中心
From FineReport
4。大屏数据可视化如何入门?
这里我以数据可视化工具FineReport为例,教你一些基本的技巧,让你快速有效的学会制作一个炫酷的大屏幕仪表盘。
FineReport 为企业提供数字大屏幕解决方案。无需特殊定制即可轻松打造炫酷的大屏仪表盘,支持多场景大屏集中控制。而且它的个人版是完全免费的,你可以 下载它 放心地练习可视化技术。
现在,让我们从仪表板设计的基础开始。
4.1 了解仪表板设计的基础知识
①描述
FineReport 采用画布风格的操作界面,专为大屏幕和移动终端设计。它可以帮助用户通过简单的拖放操作构建一个强大而全面的“管理驾驶舱”。FineReport 的仪表板设计模式有很多优点:
1)多种布局方式:自适应布局、绝对布局、Tab 布局;
2)丰富的可视化组件:报表块、图表和小部件;
3)组件联动:点击一个组件,其他相应重载数据;
4)数据监控:可以自动检测后端数据的变化,仪表板会刷新以更新变化;
5)轮播:不同的图表可以在同一个组件中以轮播方式切换。
②仪表板界面
打开设计器,点击文件>新建表单创建一个新的仪表板模板,如下图所示。
仪表板有许多组件,如参数界面、空白块、图表等。为了帮助您理解每个组件的含义,我将所有组件添加到同一个界面中。
****-参数界面:将该元素拖动到画布上,会得到一个过滤报表块和图表中数据的面板。您可以向面板添加小部件。
****-空白块:空白块包含页签布局块、绝对布局块和报表块。
选项卡布局块可以在选项卡中显示不同组件,并以轮播模式实现组件切换。
绝对布局块使元素的大小固定。
报告块类似于常规报告,数据显示在组件范围内。
****-图表:常规报表支持的所有图表类型都可以拖到画布上进行数据可视化。
****-Widget:Widget 是过滤数据的组件。它可以作为参数界面的一部分添加,也可以作为单独的组件添加。
4.2 根据指标选择图表类型
- 进行业务需求研究,提取基于业务场景的关键指标。
- 根据关键指标确定图表类型。
数据可视化的最终目的是更清晰地传达信息,也就是用什么图形来呈现数据是很重要的。我们确定了一个数据关系类型后,就可以根据数据的使用场景,找出对应的图表和使用建议,并从中进行选择。
****
From FineReport
如果想了解更多各种图表的使用场景,可以阅读本文 数据可视化中的 16 大图表类型 。
4.3 大屏幕设计布局
设计布局就是把大屏幕按照大小分成几个区域,每个区域放置一个业务指示器。根据数据可视化的目的提取指标,分为一级指标和二级指标。一级业务指标通常安排在中间位置,占用面积较大,其余指标围绕一级指标进行。以下是大屏幕的常见布局设计。
****
From FineReport
- 主要指示器:大多位于屏幕中央。您可以添加动态效果来增强视觉效果。
- 次要指标:大多在屏幕两侧,一般是各种类型的数据或图表。
4.4 考虑配色方案
合理的布局可以让商业内容更有层次,合理的配色可以让浏览者更舒服。大屏幕的仪表盘背景色通常遵循两个原则:深色调和一致性。如下图,我给你看几个推荐的配色。
单个元素的背景应该与整体背景颜色一致,以避免突兀。建议用透明色搭配一些单独的组件元素。
From FineReport
4.5 添加动态效果
动态效果的范围很广,可以从多个角度解读,比如背景动画、刷新加载动画、轮播动画、图表闪烁动画、地图流动动画等。,都属于动态效果的范畴。
From FineReport
动感的增加可以让大屏幕看起来活灵活现。然而,过多的动态使观众眼花缭乱,导致大屏幕仪表盘失去了商业显示器的价值。既要平衡酷炫的效果,又要突出内容。
如下图高速公路监控仪表盘,动态显示路况下通行费缴纳数值,关键信息一目了然。
From FineReport
最终
现在,你明白什么是大屏幕数据可视化以及如何实现它了吗?如果你想要一个更详细的大屏幕仪表盘制作教程,本文 一步一步制作销售仪表盘 将对你有所帮助。而且我觉得可视化工具 FineReport 对于那些初学者来说是个不错的选择。
您可能也会对…感兴趣
什么是深度学习,它是如何工作的?
坐下来,放松,对人工神经网络、梯度下降、反向传播等酷概念感到舒适。
Photo by Chevanon Photography from Pexels
什么是深度学习?
这是从例子中学习。差不多就是这样。
在非常基础的层面上,深度学习是一种机器学习技术。它教会计算机通过层层过滤输入,以学习如何预测和分类信息。观察可以是图像、文本或声音的形式。
深度学习的灵感来自人脑过滤信息的方式。它的目的是模仿人类大脑如何工作来创造一些真正的魔法。
GIF via GIPHY
这实际上是一个人工神经网络。
在人脑中,大约有 1000 亿个神经元。每个神经元都与大约 10 万个相邻的神经元相连。我们在某种程度上重现了这一点,但在某种程度上是为机器服务的。
在我们的大脑中,神经元有一个体、树突和轴突。来自一个神经元的信号沿着轴突传递到下一个神经元的树突。信号传递的连接被称为突触。
神经元本身是没用的。但是当你有很多这样的人时,他们会一起创造出一些真正的奇迹。这就是深度学习算法背后的想法!你从观察中获得输入,然后把你的输入放到一个层中。该层创建一个输出,该输出又成为下一层的输入,依此类推。这种情况反复发生,直到你的最终输出信号!
神经元(节点)获得一个或多个信号(输入值),这些信号通过神经元。那个神经元传递输出信号。
把输入层想象成你的感官:例如,你看到的、闻到的和感觉到的东西。这些是一次观察的独立变量。这些信息被分解成数字和计算机可以使用的二进制数据位。你需要标准化或规范化这些变量,使它们在相同的范围内。
它们使用多层非线性处理单元进行特征提取和转换。每个后续层使用前一层的输出作为其输入。他们所学的形成了概念的层次结构。在这个层次结构中,每一级都学会将其输入数据转换成越来越抽象和复合的表示。
Image by ahmedgad on Pixabay
这意味着,例如,对于一幅图像,输入可能是像素矩阵。第一层可以对边缘进行编码并组成像素。下一层可能构成边缘的排列。下一层可能编码鼻子和眼睛。下一层可能会识别出图像包含人脸,等等。
神经元内部发生了什么?
输入节点以数字形式接收信息。信息以激活值的形式呈现,每个节点都有一个编号。数字越高,激活程度越大。
基于连接强度(权重)和传递函数,激活值传递到下一个节点。每个节点对其接收的激活值求和(它计算加权和),并基于其传递函数修改该和。接下来,它应用一个激活函数。激活函数是应用于这个特定神经元的函数。由此,神经元知道是否需要传递信号。
每个突触都被分配了权重,这对人工神经网络 (ANNs)至关重要。重量是人工神经网络学习的方式。通过调整权重,人工神经网络决定信号传递的程度。当你训练你的网络时,你决定如何调整权重。
激活通过网络运行,直到它到达输出节点。然后输出节点以我们可以理解的方式给我们信息。您的网络将使用成本函数来比较输出和实际预期输出。模型性能由代价函数来评价。它表示为实际值和预测值之间的差值。您可以使用许多不同的成本函数,查看网络中的误差。你在努力减少功能损失。(本质上,损失函数越低,就越接近你想要的输出)。信息返回,神经网络开始学习,目标是通过调整权重来最小化成本函数。这个过程被称为反向传播。
在正向传播中,信息被输入到输入层,并通过网络向前传播,以获得我们的输出值。我们将这些值与我们的预期结果进行比较。接下来,我们计算误差并反向传播信息。这允许我们训练网络并更新权重。(反向传播允许我们同时调整所有权重。)在此过程中,由于算法的结构,您可以同时调整所有权重。这使您可以看到神经网络中的每个权重对错误的哪一部分负责。
当您将重量调整到最佳水平后,您就可以进入测试阶段了!
Photo by Yogendra Singh from Pexels
人工神经网络是如何学习的?
有两种不同的方法可以让程序做你想做的事情。首先,有特别指导和硬编程的方法。你确切地告诉程序你想要它做什么。然后还有神经网络。在神经网络中,你告诉你的网络输入和你想要的输出,然后让它自己学习。
通过允许网络自己学习,你可以避免输入所有规则的必要性。你可以创建架构,然后让它去学习。一旦它训练好了,你可以给它一个新的图像,它将能够区分输出。
前馈和反馈网络
一个前馈网络是一个包含输入、输出和隐藏层的网络。信号只能单向传播(向前)。输入数据传递到执行计算的层。每个处理元件基于其输入的加权和进行计算。新值成为新的输入值,用于下一层(前馈)。这将贯穿所有层,并决定输出。前馈网络通常用于例如数据挖掘。
一个反馈网络(例如,一个递归神经网络)有反馈路径。这意味着它们可以使用环路双向传输信号。神经元之间所有可能的连接都是允许的。由于这种类型的网络中存在环路,因此它成为一个非线性动态系统,不断变化直到达到平衡状态。反馈网络通常用于优化问题,其中网络寻找相互关联的因素的最佳安排。
什么是加权和?
神经元的输入可以是来自训练集的特征,也可以是来自前一层神经元的输出。两个神经元之间的每个连接都有一个独特的突触,并附有独特的权重。如果你想从一个神经元到下一个神经元,你必须沿着突触行进,并支付“通行费”(重量)。然后,神经元将激活函数应用于来自每个传入突触的加权输入的总和。它将结果传递给下一层的所有神经元。当我们谈论更新网络中的权重时,我们谈论的是调整这些突触上的权重。
一个神经元的输入是前一层所有神经元的加权输出之和。每个输入都乘以与将输入连接到当前神经元的突触相关联的权重。如果在前一层中有 3 个输入或神经元,则当前层中的每个神经元将具有 3 个不同的权重:每个突触一个。
简而言之,一个节点的激活函数定义了该节点的输出。
激活函数(或传递函数)将输入信号转换成输出信号。它在 0 到 1 或-1 到 1 的范围内映射输出值。这是一个抽象概念,代表细胞内动作电位发放的速率。这是一个数字,代表细胞被激发的可能性。在最简单的情况下,函数是二元的:是(神经元触发)或否(神经元不触发)。输出可以是 0 或 1(开/关或是/否),也可以是范围内的任何值。例如,如果您使用映射范围在 0 和 1 之间的函数来确定图像是一只猫的可能性,输出 0.9 将显示您的图像实际上是一只猫的概率为 90%。
什么是激活功能?
简而言之,一个节点的激活函数定义了该节点的输出。
激活函数(或传递函数)将输入信号转换成输出信号。它在 0 到 1 或-1 到 1 的范围内映射输出值。这是一个抽象概念,代表细胞内动作电位发放的速率。这是一个数字,代表细胞被激发的可能性。在最简单的情况下,函数是二元的:是(神经元触发)或否(神经元不触发)。输出可以是 0 或 1(开/关或是/否),也可以是范围内的任何值。
我们有什么选择?有许多激活函数,但以下是四个非常常见的函数:
阈值功能
这是一个阶跃函数。如果输入的合计值达到某个阈值,该函数将传递 0。如果它等于或大于零,那么它将传递 1。这是一个非常严格,简单,是或不是的函数。
Example threshold function
乙状结肠功能
此函数用于逻辑回归。与阈值函数不同,它是一个从 0 到 1 的平滑渐进过程。它在输出层很有用,大量用于线性回归。
Example sigmoid function
双曲正切函数
这个函数非常类似于 sigmoid 函数。但是,与从 0 到 1 的 sigmoid 函数不同,该值从-1 到 1,一直到 0 以下。尽管这不太像大脑中发生的事情,但这个函数在训练神经网络时会产生更好的结果。神经网络有时会在使用 sigmoid 函数进行训练时“卡住”。当有很多强烈的负面输入使输出接近于零时,就会发生这种情况,这会扰乱学习过程。
Example hyperbolic tangent function (tanh)
整流器功能
这可能是神经网络世界中最受欢迎的激活函数。这是最有效的,也是生物学上最合理的。尽管它有一个扭结,但在 0°扭结后,它是平滑和渐变的。举例来说,这意味着你的输出要么是“否”,要么是“是”的百分比这个函数不需要标准化或其他复杂的计算。
Example rectifier function
什么?
比如说,你想要的值是二进制的。你在寻找一个“是”或“否”。你想使用哪个激活功能?
从上面的例子中,你可以使用阈值函数,也可以使用 sigmoid 激活函数。阈值函数会给你一个“是”或“否”(1 或 0)。sigmoid 函数可以给你一个肯定的概率。
例如,如果您使用 sigmoid 函数来确定图像是一只猫的可能性,输出 0.9 将显示您的图像实际上是一只猫的可能性为 90%。
Photo by minanafotos on Pixabay
想了解更多关于图像分类的知识?看看这篇文章!
在几分钟内征服 CNN 和图像分类的基础
towardsdatascience.com](/wtf-is-image-classification-8e78a8235acb)
想潜得更深吗?查看 Xavier Glorot 等人的深度稀疏整流器神经网络。
你如何调整重量?
你可以使用蛮力方法来调整权重,并测试数千种不同的组合。但是即使最简单的神经网络只有五个输入值和一个隐藏层,你也会得到 10⁷⁵可能的组合。
在世界上最快的超级计算机上运行这个程序需要的时间比迄今为止宇宙存在的时间还要长。
输入梯度下降
但是如果你使用梯度下降,你可以查看权重的倾斜角度,并找出它是正还是负,以便继续向下倾斜,在你寻求达到全局最小值的过程中找到最佳权重。
如果你使用梯度下降,你可以查看重物的倾斜角度,并找出它是正还是负。这允许你继续下坡,在你寻求达到全局最小值的过程中找到最佳权重。
Photo by RANJAN SIMKHADA from Pexels
梯度下降是一种寻找函数最小值的算法。你会一遍又一遍地看到类似的情况,有人被困在山顶,试图下来(找到最小值)。大雾使她看不清路,所以她使用梯度下降法到达山脚。她看了看她所在的山的陡峭程度,然后向最陡的下坡方向走去。你应该假设陡度不会立即变得明显。幸运的是,她有一个可以测量陡度的工具!
不幸的是,这个工具需要很长时间。
她想尽可能少地使用它,以便在天黑前下山。真正的困难是选择她使用工具的频率,这样她就不会偏离轨道。
在这个类比中,人就是算法。山的陡度是该点误差面的斜率。她走的方向是该点误差曲面的梯度。她使用的工具是微分(误差表面的斜率可以通过对该点的平方误差函数求导来计算)。在进行另一次测量之前,她行进的速率是算法的学习速率。这不是一个完美的类比,但它让你很好地理解了梯度下降是怎么回事。机器正在学习模型应该采用的梯度或方向,以减少误差。
gradient descent (simplified!)
梯度下降要求代价函数是凸的,但是不是怎么办?
Now what?
正常梯度下降将卡在局部最小值而不是全局最小值,从而导致网络不合格。在正常梯度下降中,我们将所有行插入同一个神经网络,看一看权重,然后调整它们。这被称为批量梯度下降。在随机梯度下降中,我们一行接一行,运行神经网络,查看成本函数,调整权重,然后移动到下一行。实际上,您正在调整每一行的权重。
随机梯度下降波动大得多,可以让你找到全局最小值。它被称为“随机的”,因为样本是随机混合的,而不是作为一个单独的组或当它们出现在训练集中时。它看起来可能会慢一些,但实际上更快,因为它不必将所有数据加载到内存中,并在数据一起运行时等待。批量梯度下降的主要优势在于它是一种确定性算法。这意味着,如果你有相同的起始重量,每次运行网络,你会得到相同的结果。随机梯度下降总是随机工作。(您也可以运行小批量梯度下降,您可以设置行数,一次运行那么多行,然后更新您的权重。)
已经提出并使用了对基本随机梯度下降算法的许多改进,包括隐式更新(ISGD)、动量法、平均随机梯度下降、自适应梯度算法(AdaGrad)、均方根传播(RMSProp)、自适应矩估计(Adam)等等。
因此,这里有一个用随机梯度下降训练人工神经网络的快速演练:
- 将权重随机初始化为接近 0 的小数字
- 将数据集的第一个观测值输入到输入图层,每个要素位于一个输入结点中。
- 正向传播 —从左到右,神经元被激活,每个神经元的激活受权重的限制。你传播激活,直到你得到预期的结果。
- 将预测结果与实际结果进行比较,并测量产生的误差。
- 反向传播 —从右到左,误差反向传播。根据权重对误差的影响程度来更新权重。(学习率决定了我们更新权重的程度。)
- 强化学习(重复步骤 1-5,并在每次观察后更新权重)或 批量学习(重复步骤 1-5,但仅在一批观察后更新权重)。
- 当整个训练集已经通过 ANN 时,这是一个时期。重复更多的纪元。
你有它!这些是人工神经网络背后的基本思想。
想了解更多?
你可能想读一下 Yann LeCun 等人的高效反向传播,以及 Michael Nielsen 的神经网络和深度学习。如果你有兴趣了解更多关于成本函数的知识,请查看神经网络中使用的成本函数列表,以及应用。
感谢阅读!如果你有任何问题,请在下面的评论中告诉我,或者随时联系我!
原载于 2019 年 9 月 7 日 内容简洁 。