TowardsDataScience 博客中文翻译 2016~2018(七十一)

原文:TowardsDataScience Blog

协议:CC BY-NC-SA 4.0

用 R 创建美国移民路径图

原文:https://towardsdatascience.com/creating-us-immigration-path-map-in-tableau-with-r-dd781c465840?source=collection_archive---------21-----------------------

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

在 Tableau 看过目的地地图吗?它通常用于显示航班、公交地图、交通等的轨迹。有大量的视频和文章教你如何从包含你需要的所有信息的数据集中创建目的地地图,例如,这个视频使用延迟的航班数据,其中每一行、起点和目的地都已经提供。如果你的数据集不是这样的标准飞行数据集呢?在这里,我将用来自国土安全部(附件中的第一个补充表格)的移民数据向您展示一个例子。数据看起来像这样:

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

最左边一栏是移民的祖国,标题是他们要去的州。根据 Tableau 教程,如果我们要生成目的地图,数据应该遵循如下模式:

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

from Tableau Online help

最后三列是必需的。路径 ID 用于识别始发地和目的地的位置(经度和纬度)数据。

数据准备

因为我们要说明 10 年后的路径,并且有 10 个 excel 文件,所以最好先创建一个数据处理函数,并将其应用于所有文件。我们首先从读取和清理数据开始。

1.数据读取

year = 2017
path = paste(as.character(year), ".xlsx", sep="")
df = read_excel(path, na = c("D", "-"), skip = 3)
df = df[-c(1:11). -2]
df = df[ , !(names(df) %in% c("U.S. Armed Services Posts", "U.S. Territories1","Guam", "Unknown"))]
df = head(df,-5)
colnames(df)[1] = 'country'

我去掉了电子表格中一些不必要的数据和注释,以及一些实际上没有陈述的列(例如,武装部队)。此外,一些单元格为“D”,即为了限制披露而保留的数据。我把他们当娜。

2.数据清理

表格只记录了移民的出生国。但是,有些国名只存在于历史中。如果我们不考虑它们,最终的地图将不会反映真实的路径。此外,一些国家名称与我们稍后将使用的地理信息不一致。

df$country = gsub('Czechoslovakia \\(former\\)|Czechoslovakia, former', 'Czechia', df$country)
df$country = gsub('Netherlands Antilles \\(former\\)', 'Curacao', df$country) 
df$country = gsub("China, People's Republic", 'China', df$country) 
df$country = gsub('Serbia and Montenegro \\(former\\)|Serbia and Montenegro', 'Serbia', df$country)

注意正则表达式。记住在 r 中用两个反斜杠对括号进行转义。

3.数据转换

stk = stack(df, select= -country)
stk$from = rep(df$country,(ncol(df)-1))
stk$year = rep(year,(ncol(df)-1))
stk$id = paste(stk$from,stk$ind,stk$year,sep="-")
stk = na.omit(stk)

接下来,我们将堆叠数据(考虑转置每一行),并为每个转置的行添加 country 列。现在,始发地国家和目的地国家在同一行。然后添加年份信息和路径 ID。现在数据看起来像这样:

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

4.添加位置数据

最后,我们将连接国家和州的经度和纬度表。我们可以在 Google developer 网站上找到这样的数据,使用 R 中的 XML 包,我们可以很容易地将它作为一个数据帧。当然,你也可以将数据复制到 Excel 并存储为 csv 格式,然后从 r 中读取。

library(RCurl)
library(XML)
ccode = readHTMLTable(getURL("[https://developers.google.com/public-data/docs/canonical/countries_csv](https://developers.google.com/public-data/docs/canonical/countries_csv)"), stringsAsFactors = FALSE)[[1]][ ,-1]
scode = readHTMLTable(getURL("[https://developers.google.com/public-data/docs/canonical/states_csv](https://developers.google.com/public-data/docs/canonical/states_csv)"),stringsAsFactors = FALSE)[[1]][ ,-1]
ccode[1:2] = sapply(ccode[1:2], as.numeric)
scode[1:2] = sapply(scode[1:2], as.numeric)

然后找出堆叠数据中的国家和位置数据中的国家之间的差异,并更改位置数据框中的名称。例如,美国人把缅甸称为缅甸。最后,我们将数据分别与国家位置和州位置连接起来,并绑定两个数据框的行。因此,在最终的数据帧中,每个路径 ID 对应于两个记录,一个包含源信息,一个包含目的地信息。

您可以将这些步骤打包成一个函数,这样您就可以根据需要调用多年的数据。完整的代码在我的 GitHub 上。

Tableau 中的映射

现在您已经准备好了数据,是时候展示您的 Tableau 技能了!事实上,这再简单不过了。

  1. 加载不同年份的数据并合并它们(不要合并)。

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

2.将经度和纬度拖到列和行中。

3.选择标记类型作为线条。

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

4.将年设置为日期,然后设置为过滤器。

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

5.将订单拖到“路径”上,并将路径标识拖到标记卡下的“细节”上。

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

6.定制您的地图!

您可以将值(每条路径上的人数)拖动到颜色上,以便更直观地了解哪些路径的人数更多。把它作为一个过滤器,把那些只有很少几个人的路径排除在外。我将阈值设置为 2000。这样,你的地图就不会看起来这么拥挤了!

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

查看我在 Tableau Public 上的最终作品,了解美国移民是如何随着时间变化的。这张地图是我的数据可视化课程最终项目的一部分。您也可以通过单击其他图表进行过滤,找到某个大陆或国家的移民趋势。

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

谢谢你的阅读和快乐的活动!

使用深度神经网络图像分类器的单词嵌入

原文:https://towardsdatascience.com/creating-words-embedding-using-deep-neural-network-image-classifier-ae2594d3862d?source=collection_archive---------6-----------------------

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

众所周知,单词嵌入在许多 NLP 任务中非常强大。大多数当前的实现使用所谓的“分布假设”,即在相似的上下文中单词具有相似的含义。人类不仅可以通过可能使用的上下文来判断两个单词是否相似,还可以通过观察或想象这个单词可能代表的物体来判断。很多时候,相似的物体与具有相似含义的单词相关,如“汽车”和“卡车”,“房子”和“建筑物”,“狗”和“猫”。

在这篇文章中,我想探索这个想法,并尝试创建单词嵌入,这将保留单词的语义,我将通过使用一个在图像上训练的神经网络来完成。

我想使用 pertained ResNet模型创建单词嵌入,这是一个非常流行的图像分类器,它是在“ImageNet”数据集上训练的。然后,我想使用新的嵌入来构建一个翻译系统。西班牙语中的 Car 看起来与英语中的 Car 非常相似(甚至完全相同)。我想用这个把任何语言的单词翻译成英语。

你可以在这里找到所有的代码

如 ImageNet 网站所述“ImageNet 是一个根据 WordNet 层级(目前只有名词)组织的图像数据库”。它在包含超过 1400 万张图像和 1000 个类别的 ImageNet 数据集上进行训练。我将使用模型最后一个内层的预测值创建单词向量,并假设如果单词对应的图像相似,则单词具有相似的含义。

我们来看一个小例子。我们有四个词:卡车、酒、汽车和瓶子。

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

作为人类,我们可以分辨出“卡车”和“汽车”比“卡车”和“瓶子”更相似,或者“酒”和“瓶子”比“酒”和“汽车”更相似。事实上,这些单词的图像看起来很相似。那些物体在现实生活中看起来很相似。

在这里,我将只为名词创建嵌入,因为它们的图像可能比“to”、“and”、“the”等词的图像更好地描述了实际的单词。

首先,我们需要找到一个大的名词列表。为此,我们将使用 NLTK:

nouns = set()
for synset in list(wordnet.all_synsets('n')):

    n = synset.name().split('.')[0]

    if len(n) > 2 and n.isalpha():
        nouns.add(n)

经过一些清理,我们有大约 39,000 个名词。实际上,并不是所有的都是名词,但我们还是坚持用它们。

接下来,我们希望为我们拥有的每个单词获取一个图像。我们将使用谷歌图片搜索。有一个很棒的叫做[google_images_download](https://github.com/hardikvasa/google-images-download) 的 python 库可以帮助我们。我们希望重新缩放图像,以便所有的图像都具有相同的大小。然后,我们将使用ResNet来创建单词向量。我将使用网络的最后一层,就在最后的softmax之前:

resnet = ResNet50(weights='imagenet', 
                  include_top=False, 
                  pooling='avg')embeddings = KeyedVectors(2048)for word in nouns:
  response = google_images_download.googleimagesdownload()
  path = response.download({'keywords': word, 'limit': 1})[word][0]
  img = cv2.imread(path)
  img = scipy.misc.imresize(img, 224.0 / img.shape[0])
  img = img.reshape((1,) + img.shape) embeddings[word] = resnet.predict(img)[0]

让我们看看我们的嵌入:

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

看起来不错。我们可以看到“car”和“truck”比“car”和“dog”更相似

embeddings.similarity('car', 'truck') # = 0.419
embeddings.similarity('car', 'dog') # = 0.270

这并不奇怪,这只是’汽车’、‘卡车’、'狗’形象的相似而已!我们使用ResNet模型的内层来获得这些图像的一般表示,这样我们更容易比较它们。

我们的嵌入可能保留了单词之间的语义相似性,但它错过了其他嵌入所具有的非常有趣的部分。在我们的嵌入中,我们不能做类似于queen — king = woman — man的事情,因为我们的嵌入只捕获两个单词/对象之间的相似性,但它不能捕获单词之间更复杂的关系。我们在这里没有使用英语,我们只是看图像之间的相似性。

现在我想用我的新嵌入构建一个简单的翻译系统。这非常简单,给定任何语言中的任何单词,我们将使用 Google images 搜索来找到相应的图像,然后我们将使用ResNet来预测最终的图层值,最后,找到与这些预测值最相似的英语单词:

def translate(word):
  response = google_images_download.googleimagesdownload()
  path = response.download({'keywords': word, 'limit': 1})[word][0]
  img = cv2.imread(path)
  img = scipy.misc.imresize(img, 224.0 / img.shape[0])
  img = img.reshape((1,) + img.shape) vector = resnet.predict(img)[0] return embedding.most_similar([vector])[0]

让我们看一些例子:

>>> translate("מכונית") # 'car' in Hebrew
Output: clio # Brand of car (Renault Clio)
>>> translate("ristorante") # 'restaurant' in Italian
Output: 'grubstake' # A restaurant in San Fransisco
>> Translate("еда") # 'meal' in Russian
Output: thanksgiving

正如你所看到的,它一点也不完美,但它确实输出了一些有趣的翻译。

这种“嵌入”实际上是在图像的ResNet表示之上的简单的“K 最近邻”模型。这并不是真正的翻译单词,但一个好处是,我们能够比较(或分类)成千上万种类型的单词/图像/类别,而最初的ResNet模型只训练了 1000 个类别。

最终注释

这是一个有趣的实验(至少对我来说),但正如你可能想象的那样,它并不那么有用,也不实用。下载约 39K 的照片需要很多时间,并且不能保证下载的图像是我们想要或需要的。受益于适当嵌入的最常见的任务之一是文本分类。我试图用这种嵌入方式解决“20 个新闻组”的分类问题,但没有成功。如果你对它感兴趣,你可以在这里找到代码,这是一个相当凌乱的笔记本。它显示了 3 个实验,随机可训练嵌入,手套不可训练嵌入,和我的视觉嵌入。尽情享受吧!

在 Kaggle 上创建你的人工智能项目

原文:https://towardsdatascience.com/creating-your-ai-projects-on-kaggle-ff49f679f611?source=collection_archive---------8-----------------------

我们正在将 Kaggle 打造成为一个平台,在这里你可以合作创建你所有的人工智能项目。在过去的这个季度,我们通过推出许多新功能和扩展计算资源,增加了您可以在我们的平台上构建的工作的广度和范围。

现在,您可以加载正在使用的私有数据集,在我们基于云的数据科学环境中对其进行复杂的分析,并以可复制的方式与合作者共享项目。

将私有数据集上传到 Kaggle

我们首先将 Kaggle 内核和数据集作为公共产品推出,其中所有创建和共享的东西都必须是公共的。去年 6 月,我们让您能够创建私有 Kaggle 内核。这改变了你们中有多少人使用 Kaggle: 94.4%的内核是私有的。

然而,这个故事并不完整:您只能在公共数据上运行内核。这阻止了你将 Kaggle 用于你自己的私人项目。

在过去的这个季度,我们推出了私有数据集。这让您可以将私有数据集上传到 Kaggle,并在内核中运行 Python 或 R 代码。您可以上传无限数量的私有数据集,最高限额为 20GB。所有新数据集默认为私有。您可以通过点击www.kaggle.com/datasets上的“新建数据集”或内核编辑器的“数据”选项卡上的“上传数据集”来创建数据集。

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

一旦你创建了私有数据集,你可以通过 Kaggle API 发布新的版本来保持它的更新,我们在一月份发布了这个 API,并在三月份进行了扩展。这个 API 使您能够从命令行下载数据和提交竞赛资料。

Kaggle 内核的全新编辑体验

既然已经创建了私有数据集,就可以将其加载到 Kaggle 内核中。

Kaggle 内核使您只需点击一个按钮,就可以在云中创建交互式 Python/R 编码会话。这些编码会话在 Docker 容器中运行,Docker 容器提供了版本化的计算环境,并包含了许多 Python 和 R analytics 生态系统。

我们有两种截然不同的内核运行模式:交互批处理。交互式会话使您能够在实时会话中编写 Python 或 R 代码,因此您可以运行选定的代码并立即看到输出。一旦你完成了一个会话,你可以点击“ Commit & Run ”来保存代码版本,并在一个干净的环境中自顶向下运行一个批处理版本。您可以关闭您的笔记本电脑并离开——这个批处理运行将在云中完成。

当您回来时,您将拥有您创建的所有批处理运行的完整版本历史。如果您在会话结束时没有“提交并运行”,您的最新编辑将被保存为工作草稿,您将在下次编辑内核时看到。

我们一直在交互式模式下启用笔记本电脑,并在本季度推出了对脚本的交互式支持。

除了交互式脚本,我们还更新并统一了 Kaggle 内核的脚本和笔记本编辑器。这使您可以访问控制台,显示当前会话中的变量,并使您能够在交互式会话中查看当前的计算使用情况。它还为许多令人兴奋的未来扩展奠定了基础。

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

在 Kaggle 内核中创建更复杂的项目

在过去的一个季度中,我们专注于扩展您可以在 Kaggle 内核中完成的工作。让你能够处理私人数据是其中的一部分。

我们将 Kaggle 内核中的计算限制从一小时扩展到六小时。这增加了您可以运行的模型和可以分析的数据集的大小和复杂性。这些扩展的计算限制适用于交互式会话和批处理会话。

我们增加了在你的内核中安装定制包的能力。你可以在内核编辑器的“设置”标签中完成这项工作。在 Python 中,对 PyPI 或 GitHub 上的包运行“pip install”命令。在 R 中,对 github 上的包运行“devtools::install_github”命令。这扩展了我们的基本容器,以包含添加的包。随后的内核分叉/编辑在这个定制容器中运行,使您和其他人更容易复制和构建您的结果。

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

此外,我们专注于提高 Kaggle 内核的健壮性。我们在幕后所做的改变将使内核运行更加可靠和流畅。如果您在这里遇到任何问题,请让我们知道

与协作者共享您的项目

一旦你上传了一个数据集或者编写了一个内核来启动一个新项目,你就可以与合作者分享你的工作。这将使他们能够看到、评论和构建您的项目。

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

您可以将协作者添加为查看者或编辑者。

数据集上的查看者可以在数据上查看、下载和写入内核。编辑者还可以创建新的数据集版本。

内核上的查看者可以看到内核并将其分叉。如果他们可以访问所有底层数据集,他们还可以复制和扩展它。内核上的编辑器可以直接编辑内核,创建一个新版本。

当你创建一个内核作为竞赛团队的一部分时,默认情况下,它与你团队的其他成员共享。我们听说,由于不同的计算环境,许多竞赛团队在协作方面遇到了困难,我们希望这能让您在竞赛中更容易地合作。

其他更新

我还想介绍几个产品更新。

我们推出了 Kaggle Learn 作为一种快速、结构化的方式,让您获得更多关于分析、机器学习和数据可视化的实践经验。它包括一系列快速教程和跨越六个轨道的练习,您可以完全在您的浏览器中完成。

我们完成了第二届内核竞赛,所有参赛作品都需要通过内核提交。2,384 支队伍参加了比赛,这让我们大吃一惊。感谢所有对这种新的比赛形式的深思熟虑的反馈。我们了解到限制计算功能是对模型复杂性极其有效的正则化。我们还了解了纯内核格式的一些挫折,包括可变的计算性能。总的来说,第二届内核竞赛非常成功,我们的目标是在未来对这种竞赛形式进行更多的迭代,同时根据您的反馈进行改进。

我们推出了对 BigQuery 公共数据集的集成,使您能够从内核中查询更大、更复杂的数据集,如 GitHub Repos比特币区块链

你们中的许多人告诉我们,你们希望对以前发布的内容有更多的控制权,并且能够删除它们。我们听到了。你现在可以删除你在 Kaggle 上写的数据集、内核、主题和评论。这些留下了一个【删除】外壳,这样相关的内核或注释仍然有一些上下文。

我们在 Kaggle 上发布了一个不同主题的概述页面,让你可以更容易地按主题浏览数据集、比赛和内核。

谢谢

我非常感谢 Kaggle 的团队,他们努力工作以获得这些更新,并继续建立世界上最好的数据科学项目合作场所。

最重要的是,我要感谢你,感谢你成为 Kaggle 社区的一员。我们的平台不能没有你。我们不断惊讶于你为竞赛构建的创造性解决方案,你通过内核分享的见解,以及你如何帮助彼此成长为更好的数据科学家和工程师。

您对我们有什么反馈吗?我们很乐意倾听—请在我们的 产品反馈论坛 分享您的想法。

音乐中的创造性人工智能:Sync 和其他迷人用例的天才创新

原文:https://towardsdatascience.com/creative-artificial-intelligence-in-music-genius-innovation-for-sync-and-other-fascinating-use-d36e34732525?source=collection_archive---------6-----------------------

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

现在我们已经过了人工智能创作的第一首歌曲,你认为使用人工智能是优化电影,电视和游戏行业音乐生成的合乎逻辑的下一步吗?

“我一直着迷于这样一个概念,即我们可以自动或智能地做人类认为只有他们才能做的事情。我们总是把创造力视为人类最后的堡垒。你能按一个按钮写一首交响乐吗?”— —英国科技初创公司 AI Music 的首席执行官 Siavash Mahdavi 正在探索人工智能和音乐之间的潜在交集。

许多人工智能公司现在都在深入研究这项技术在音乐行业的各种应用,并已经取得了令人瞩目的成就。电影、电视、视频和游戏行业日益紧张的预算促使人们寻找在不牺牲音乐质量的情况下降低成本的方法。现在,各种各样的人工智能公司正在努力开发技术,这些技术可以成为在这些媒体中使用的实际轨道生成背后的创造性力量。

这个领域正在迅速扩张,越来越多的公司竞相将自己的软件提升到一个新的水平,包括英国的 Jukedeck 和 AI Music,旧金山的 Humtap,柏林的 Melodrive 和 Groov。AI 在加州山景城。甚至谷歌也有一个名为 Magenta 的人工智能音乐研究项目正在进行中,索尼的计算机科学实验室(CSL)也在进行一个名为 Flow Machines 的类似项目。

对专业音乐家的影响。

所有这些公司和研究人员都试图回答同一个复杂且有时有争议的问题:机器能否使用神经网络等人工智能技术来分析现有的人造音乐,并随后学习如何创作自己的作品?虽然这本身肯定是一个非常复杂的问题,但它也提出了一个额外的问题,即这项技术对专业音乐家有什么影响,他们中的许多人通过创作或授权音乐用于电视节目、电影和视频游戏来获得全部或部分收入。事实上,一些音乐人甚至提议限制将他们以前的录音和作品用于人工智能和机器学习目的。与此同时,其他艺术家也意识到艾的创造力,将这种创造力融入到他们的作品中。

有价值且无威胁的用途

尽管人工智能在音乐中的上述应用存在一系列问题和担忧,但其他有价值和无威胁的应用已经在很好地工作。

其中一个应用是根据心情创建播放列表。虽然 Gracenote 的音乐数据专家多年来一直按照这种标准对音乐进行分类,但员工并没有真正听过公司数据库中 1 亿首歌曲中的每一首。相反,Gracenote 使用机器学习和人工智能来教计算机如何检测音乐中的情绪,从而让机器准确地将曲目分类为梦幻、悲伤、闷热或其他感觉。

另一个有趣的当前集成来自谷歌研究员道格拉斯·埃克,他发起了该公司的 Magenta 项目。研究团队正在研究的一个概念涉及通过分析数百个音符,教会神经网络如何学习乐器的音乐特征。该机器随后创建识别该特定仪器的数学表示。这使得能够简单地在屏幕上移动按钮来组合乐器,以便创建全新的虚拟乐器,例如 62%的小号和 38%的萨克斯管,或者任何其他声音的组合。

不要把 AI 当成敌人,而是合作者。

音乐产业正处于彻底改变歌曲创作方式的风口浪尖上,歌曲的创作方式有着广泛的用途。从电影和电视背景音乐到视频游戏,甚至可能是流行歌曲,人工智能都处于这个机器驱动的音乐创作新时代的前沿。充分利用其潜力的关键是不要把人工智能当作敌人——而是当作合作者。让它与艺术家的作品相得益彰。即使它自动化了一些任务,人类仍将在创造过程中掌舵。至少在可预见的未来。

谢尔盖布多夫【SVP】媒体&娱乐 数据艺术

发现更多谢尔盖·布鲁多夫的故事

创造力——总有更多的空间

原文:https://towardsdatascience.com/creativity-theres-always-room-for-more-726f26b6966f?source=collection_archive---------1-----------------------

呼叫和响应,1 号

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

Image courtesy of Kevin Ryder. https://flic.kr/p/fyezwg

形容词——指或关于一种演唱风格,其中一个歌手演唱的旋律被一个或多个歌手回应或呼应。****

从统计学上来说,如果你正在阅读这篇文章,你已经知道了这一点——21 世纪有创造力的人的主要职业似乎是谈论成为 21 世纪有创造力的人——它是什么样的,它应该是什么样的,以及“你也可以成为 21 世纪有创造力的人!”我明白了。注意力是互联网时代的货币,媒体上最受欢迎的两个故事标签是“创造力”和“生活课程”,这不是没有道理的

只有一个问题。关于创造力的文章是由有创造力的人写的——每个人都是自己自传中的英雄。许多描述如何成为一个有创造力的人的文章可以被理解为规则或要求,即使目的是提供鼓励。

所以我想也许回答一些总是给我带来麻烦的“规则”会有助于鼓励。

#1:艺术家必须创造艺术

这种想法从我上小学开始就受到了不同程度的折磨,到了我甚至不再称自己为艺术家的地步。为什么?因为我总是不得不做出选择——在艺术和数学之间,在视觉艺术和音乐之间,在素描和绘画之间,在…

明白我的意思吗?总是有选择的。事实上,太多了,以至于放弃告诉任何人你是一名艺术家要比努力名副其实容易得多。说“一个真正的艺术家必须创造艺术”是无害的,因为这是错误的。有害是因为不完整**

每次你选择做艺术之外的事情,你都是不负责任的、坏的或者失败的,这也是不对的。创造是一个制造过程,就像其他任何过程一样,在实际制造发生之前,它需要原材料和准备时间。重要的是记住这个过程,并知道你在创作道路上的位置。这样,你就能区分“收集原材料”和“拖延症”

#2:创造力是生活中最大的奥秘

当多萝西发现伟大而强大的奥兹实际上只是一个幕后的人时,这是一件大事。可惜,我不知道巫师在哪里。据我所知,巫师是幕后黑手。老实说,我仍然在猜测,那是在 8 年的正规教育和 20 年的实践之后。然而,我知道这一点——保持创造力的神秘绝对符合每个有创造力的人的最佳利益,即使我们声称要向你们解释这一切。

听着,我就直说了。在宇宙中,甚至在全球范围内,艺术没有任何作用。我不能把墨西哥湾的虾数量描绘回 BP 之前的状态,就像我不能把渡渡鸟从灭绝中唱回来一样。不,一个有创造力的人的工作始于并止于人类领域。因此,有创造力的人的幸福依赖于在人类领域获得并保持健康的地位。这就像一个古老的圣职——我们不耕种、不建筑、不打猎,所以我们的生存取决于能否让你相信我们所做的事情值得保留。

不幸的是,人类领域显然已经决定说“去他的神秘,给我钱。”现在有了写新闻故事的算法,可以自己拍摄专业质量照片的相机,以及可以自动调谐到接近其寿命的最畅销音乐。

那不是抱怨。“神秘”不是一种你可以一直卖下去而不会被任何人发现的产品。然而,它确实把有创造力的人放在了寻找新产品或新市场的位置上——我相信这就是我们现在所看到的。谁也不知道最后会怎样,但没关系。坚持一直是创造力的基石。你尝试,你失败,你尝试,你成功——起泡沫,冲洗,重复。

#3:艺术家必须为艺术牺牲一切

每个人都喜欢谈论过创造性生活的所有牺牲。它描绘了一幅美丽的画面,但并不十分准确。毕竟,如果你不在乎你“放弃”了什么,这就不是牺牲。据我估计,当一个艺术家意识到他们牺牲了什么的时候,他们已经走了很远,他们甚至看不到岔路口。

相信我,有很多次我都希望自己当初做出了不同的选择。然而,直到最近,我才开始后悔在大学里学习美术。你明白了吗?我花了 20 年的时间去生活和工作,才开始珍惜我在那段时间里失去的东西。从这个角度来看,说我为了成为一个有创造力的人而牺牲了一切真的公平吗?号码

牺牲和后悔有着天壤之别。即便如此,说我后悔作为一个有创造力的人生活也是不对的。我只是现在年纪大了,有了一个老年人的优先权。安全和稳定比过去更重要。我对这个世界的运作方式有了更多的了解,对于一个有创造力的人来说,我可以看到比以前更多的空间。我只是不需要我年轻时需要的东西,也不需要为我未来几十年的生活做出选择。所以说真的,我牺牲了什么?

诚实,而不是讽刺

希望,亲爱的读者(我一直想称某人为“亲爱的读者”),你没有把这看作是一个失败的艺术家兼作家的酸葡萄心理——不管他在寻找什么来解释他的失败。我可能会以失败告终——从技术上来说,这个问题还没有定论——但让我对所有“如何成为一个有创造力的人”的写作感到如此不安的是那些被它排除在外的人。

每当有人看着我拍的一张照片或写的一个故事,说“我希望我也能那样做”的时候,实际上对我来说是痛苦的。作为一个有创造力的人,我最自豪的时刻是那些我所做的只是为别人打开创造的大门的时候。

我之所以这么喜欢说“尽管不是每个人都会在大都会博物馆有个展,但每个人都应该去画**

本文的“号召”是 Jamie Varon 的高创造力的人为了他们的艺术而牺牲的 11 件事。去读吧。

信用卡聚类

原文:https://towardsdatascience.com/credit-card-clustering-6a92657ac99?source=collection_archive---------9-----------------------

使用 AuDaS 实现自动化集群

营销人员面临的首要挑战是了解他们的销售对象。当你知道你的买家的角色时,你可以定制你的目标和产品,以提高他们的满意度,从而增加你的收入。当你已经有了一批客户和足够的数据,对他们进行细分会非常有用。在本文中,我们将了解如何使用聚类对一些信用卡客户进行细分。用于此分析的数据取自 Kaggle ,我们将使用 AuDaS 来自动识别集群。

数据

每个客户的信用卡数据有 17 个属性,包括余额(客户所欠的信用)、预付现金(当客户使用信用卡提取现金时)、客户的信用额度、最低还款额、全额还款额的百分比和期限。

数据相当干净,但是有一些丢失的值被 AuDaS 自动拾取。

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

在应用了 AuDaS 建议的数据准备建议后,我们能够查看信用卡客户的直方图视图。

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

Histogram view of the data in AuDaS

使聚集

现在我们已经准备好了数据,我们将使用 AuDaS 构建一个聚类模型。我们需要指定集群的数量,在我们的例子中,我们将从 8 开始。

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

在应用了一个 K-Means 聚类管道后,AuDaS 会生成分数指标和它所识别的聚类的信息。

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

轮廓图给了我们一个很好的指示,说明我们的集群是如何定义的。介于-1 和 1 之间的轮廓系数表示一个聚类中的每个点与相邻聚类中的点有多接近。接近 1 的值距离其他聚类最远,而负的点与其他点重叠。在理想情况下,我们期望一个聚类中的所有点的轮廓系数接近 1。在我们的例子中,除了集群 2 和集群 7 之外,大多数集群看起来都定义得相当好。

然后,我们可以使用 t-SNE 可视化功能来验证我们的集群的独特性。如我们所见,聚类 2 和聚类 7 有许多与其他聚类重叠的点。为了提高我们集群的独特性,我们可能会决定从我们的客户那里收集一些额外的信息。

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

客户细分

AuDaS 提供了质心坐标,可用于解释每个集群的主要特征。

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

然后我们可以展开表格:

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

Cluster Centers

AuDaS 将自动创建一个新的数据集,其中附加了您可以导出的每个客户的聚类,通过访问直方图视图,我们可以了解聚类在整个数据集中的分布情况。我们现在将仔细观察一些由 AuDaS 发现的最有趣的星团。

群组 1

该细分市场的特点是,客户余额(104)和预付现金(302)最低,全额付款比例相当高(24%)。这些客户被称为交易者,因为他们支付的利息很少。

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

群组 2

这一细分市场的特点是客户余额和现金垫款高,购买频率和全额付款比例最低,这表明他们是信用卡提供商最有利可图的细分市场之一。这些通常被称为左轮手枪的人可能用他们的信用卡贷款。

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

第 4 组

这部分客户的特点是信用额度最高,全额付款比例最高(39%)。这些是主要客户,信用卡提供商可以通过进一步提高他们的信用额度来吸引他们增加消费习惯。

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

第 5 组

这个细分市场包括相当新的客户(低任期),他们有低余额和现金垫款。信用卡提供商可能会通过提供现金返还、促销、免费乘坐优步等方式鼓励他们增加活动。

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

结论

在几分钟内,我们能够建立一个聚类模型,能够将我们的信用卡用户分成不同的组。其中一些相当经典,如总理部分,左轮手枪和 transactors,但我们也能够确定非活跃用户。在这个粒度级别上理解客户的行为是定制产品的关键,从而提高客户保持率并增加收入。

使用 AuDaS 构建集群模型过程的完整视频可在下面查看:

奥达斯

AuDaS 是由 Mind Foundry 开发的自动化数据科学平台,为构建端到端的机器学习解决方案(分类、回归、聚类和 soon 时间序列)提供了一个强大的框架。这个框架有助于识别数据泄露并采取行动,以免为时过晚。你可以通过发送邮件到 audas@mindfoundry.ai 来尝试 AuDaS,并阅读一些其他的实际用例在这里在这里

更新:我开了一家科技公司。你可以在这里找到更多的

团队和资源

Mind Foundry 是牛津大学的一个分支机构,由斯蒂芬·罗伯茨(Stephen Roberts)和迈克尔·奥斯本(Michael Osborne)教授创建,他们在数据分析领域已经工作了 35 年。Mind Foundry 团队由 30 多名世界级的机器学习研究人员和精英软件工程师组成,其中许多人曾是牛津大学的博士后。此外,Mind Foundry 通过其分拆地位,拥有超过 30 名牛津大学机器学习博士的特权。Mind Foundry 是牛津大学的投资组合公司,其投资者包括牛津科学创新牛津技术和创新基金牛津大学创新基金Parkwalk Advisors

在 H2O 使用自动编码器检测信用卡欺诈

原文:https://towardsdatascience.com/credit-card-fraud-detection-using-autoencoders-in-h2o-399cbb7ae4f1?source=collection_archive---------5-----------------------

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

金融领域的欺诈很少被发现。正因为如此,它会对金融领域造成严重损害。据估计,在所有的保险业务中,欺诈每年至少造成 800 亿美元的损失。如果发现欺诈活动的可能性很小,这可能会对年度损失产生重大影响。这就是为什么金融公司投资机器学习作为应对欺诈的先发制人的方法。

使用机器学习方法的好处是,

  • 它有助于发现数据中隐藏和隐含的相关性。
  • 更快的数据处理和更少的手动工作
  • 自动检测可能的欺诈场景。

检测欺诈的最佳方法是异常检测。

异常检测

异常检测是一种识别不符合预期行为的异常模式的技术,称为异常值。它在商业中有许多应用,从信用卡交易中的欺诈检测到操作环境中的故障检测。异常检测的机器学习方法:

  • k-最近邻
  • 自动编码器—深度神经网络
  • k 均值
  • 支持向量机
  • 朴素贝叶斯

今天我们将使用自动编码器来训练模型。

自动编码器

我们大多数人都不熟悉这种模式。Autoencoders 是一个无监督的神经网络。它是一种数据压缩算法,采用输入并经过压缩表示,然后给出重构的输出。

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

Figure 1: Neural network representation of Autoencoders

资料组

至于数据集,我们将使用 Kaggle 提供的信用卡交易数据集:【https://www.kaggle.com/mlg-ulb/creditcardfraud

该数据集包括 284,807 笔交易。其中,492 笔交易被标记为欺诈。因此,数据集非常不平衡。它只包含数字变量。特性**‘时间’包含数据集中每个事务和第一个事务之间经过的秒数。特征‘金额’是交易金额,该特征可用于依赖于示例的成本敏感学习。特征‘类’**是响应变量,在欺诈的情况下取值 1,否则取值 0。

你可以在这里找到我的 Kaggle 内核:https://www . ka ggle . com/mane esha 96/信用卡欺诈检测使用自动编码器

完整代码:https://github.com/Mash96/Credit-Card-Fraud-Detection

那我们开始吧!!!

设置

我们今天将使用 H2O 作为 ML 平台。你可以在这里找到更多信息: https://www.h2o.ai

import h2o
import matplotlib.pyplot as plt
from pylab import rcParams
import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)
import os
from h2o.estimators.deeplearning import H2OAutoEncoderEstimator, H2ODeepLearningEstimator

初始化 H2O 服务器

h2o.init(max_mem_size = 2) # initializing h2o server
h2o.remove_all()

使用 pandas 数据框加载数据集

creditData = pd.read_csv(r"File_Path\creditcard.csv") 
creditData.describe()
# H2O method# creditData_df = h2o.import_file(r"File_Path\creditcard.csv") 

探测

creditData.shape> (284807, 31)

检查数据集中的空值

creditData.isnull().values.any() # pandas method
# creditData_h2o.na_omit() # h2o method
# creditData_h2o.nacnt() # no missing values found> False

为了继续,我们需要将熊猫数据框架转换为 H2O 数据框架

# Turns python pandas frame into an H2OFrame
creditData_h2o  = h2o.H2OFrame(creditData)# Let’s plot the Transaction class against the Frequency
labels = [‘normal’,’fraud’]
classes = pd.value_counts(creditData[‘Class’], sort = True)
classes.plot(kind = ‘bar’, rot=0)
plt.title(“Transaction class distribution”)
plt.xticks(range(2), labels)
plt.xlabel(“Class”)
plt.ylabel(“Frequency”)

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

Figure 2

fraud = creditData[creditData.Class == 1]
normal = creditData[creditData.Class == 0]
# Amount vs Class
f, (ax1, ax2) = plt.subplots(2,1,sharex=True)
f.suptitle('Amount per transaction by class')ax1.hist(fraud.Amount, bins = 50)
ax1.set_title('Fraud List')ax2.hist(normal.Amount, bins = 50)
ax2.set_title('Normal')plt.xlabel('Amount')
plt.ylabel('Number of Transactions')
plt.xlim((0, 10000))
plt.yscale('log')
plt.show()

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

Figure 3

# time vs Amount
f, (ax1, ax2) = plt.subplots(2, 1, sharex=True)
f.suptitle('Time of transaction vs Amount by class')ax1.scatter(fraud.Time, fraud.Amount)
ax1.set_title('Fraud List')ax2.scatter(normal.Time, normal.Amount)
ax2.set_title('Normal')plt.xlabel('Time (in seconds)')
plt.ylabel('Amount')
plt.show()

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

Figure 4

#plotting the dataset considering the class
color = {1:'red', 0:'yellow'}
fraudlist = creditData[creditData.Class == 1]
normal = creditData[creditData.Class == 0]
fig,axes = plt.subplots(1,2)axes[0].scatter(list(range(1,fraudlist.shape[0] + 1)), fraudlist.Amount,color='red')
axes[1].scatter(list(range(1, normal.shape[0] + 1)), normal.Amount,color='yellow')
plt.show()

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

Figure 5: Frauds vs Normals

准备数据

时间变量对模型预测没有影响。这可以从数据可视化中搞清楚。在进入训练部分之前,我们需要弄清楚哪些变量是重要的,哪些是不重要的。所以我们可以去掉不需要的变量。

features= creditData_h2o.drop(['Time'], axis=1)

将数据帧分为训练集和测试集,其中 80%用于训练集,其余用于测试集。

train, test = features.split_frame([0.8])
print(train.shape)
print(test.shape)> (227722, 30)
> (57085, 30)

我们的数据集有很多非欺诈交易。由于这是为了模型训练,我们只发送非欺诈交易。以便模型能够学习正常交易的模式。

# converting to pandas dataframe
train_df = train.as_data_frame()
test_df = test.as_data_frame()train_df = train_df[train_df['Class'] == 0]
# drop the Class variable
train_df = train_df.drop(['Class'], axis=1)Y_test_df = test_df['Class'] # true labels of the testing settest_df = test_df.drop(['Class'], axis=1)train_df.shape> (227335, 29)

模型结构

train_h2o = h2o.H2OFrame(train_df) # converting to h2o frame
test_h2o = h2o.H2OFrame(test_df)
x = train_h2o.columns

当建立模型时,选择 4 个完全连接的隐藏层,每层具有[14,7,7,14]个节点。前两个用于编码器,后两个用于解码器

anomaly_model = H2ODeepLearningEstimator(activation = "Tanh",
                               hidden = [14,7,7,14],
                               epochs = 100,
                               standardize = True,
                                stopping_metric = 'MSE', 
                                loss = 'automatic',
                                train_samples_per_iteration = 32,
                                shuffle_training_data = True,     
                               autoencoder = True,
                               l1 = 10e-5)
anomaly_model.train(x=x, training_frame = train_h2o)

模型评估

*变量重要性:*在 H2O 有一种特殊的方法来分析哪些变量对模型的影响更大。

anomaly_model._model_json['output']['variable_importances'].as_data_frame()

可视化

# plotting the variable importance
rcParams['figure.figsize'] = 14, 8
#plt.rcdefaults()
fig, ax = plt.subplots()

variables = anomaly_model._model_json['output']['variable_importances']['variable']
var = variables[0:15]
y_pos = np.arange(len(var))

scaled_importance = anomaly_model._model_json['output']['variable_importances']['scaled_importance']
sc = scaled_importance[0:15]

ax.barh(y_pos, sc, align='center', color='green', ecolor='black')
ax.set_yticks(y_pos)
ax.set_yticklabels(variables)
ax.invert_yaxis()
ax.set_xlabel('Scaled Importance')
ax.set_title('Variable Importance')
plt.show()

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

Figure 6

# plotting the loss
scoring_history = anomaly_model.score_history()
%matplotlib inline
rcParams['figure.figsize'] = 14, 8
plt.plot(scoring_history['training_mse'])
plt.title('model loss')
plt.ylabel('loss')
plt.xlabel('epoch')

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

Figure 7

测试集包含正常交易和欺诈交易。自动编码器将学习识别输入数据的模式。如果异常测试点与学习的模式不匹配,则自动编码器在重构该数据时可能具有高错误率,从而指示异常数据。这样我们就能识别数据的异常。为了计算误差,它使用均方误差 (MSE)

test_rec_error = anomaly_model.anomaly(test_h2o) 
# anomaly is a H2O function which calculates the error for the dataset# converting to pandas dataframe
test_rec_error_df = test_rec_error.as_data_frame()# plotting the testing dataset against the error
test_rec_error_df['id']=test_rec_error_df.index
rcParams['figure.figsize'] = 14, 8
test_rec_error_df.plot(kind="scatter", x='id', y="Reconstruction.MSE")
plt.show()

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

Figure 8: Anomalies in testing set

# predicting the class for the testing dataset
predictions = anomaly_model.predict(test_h2o)error_df = pd.DataFrame({'reconstruction_error': test_rec_error_df['Reconstruction.MSE'],
                        'true_class': Y_test_df})
error_df.describe()

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

Figure 9

# reconstruction error for the normal transactions in the testing dataset
fig = plt.figure()
ax = fig.add_subplot(111)
rcParams['figure.figsize'] = 14, 8
normal_error_df = error_df[(error_df['true_class']== 0) & (error_df['reconstruction_error'] < 10)]
_ = ax.hist(normal_error_df.reconstruction_error.values, bins=10)

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

Figure 10

# reconstruction error for the fraud transactions in the testing dataset
fig = plt.figure()
ax = fig.add_subplot(111)
rcParams['figure.figsize'] = 14, 8
fraud_error_df = error_df[error_df['true_class'] == 1]
_ = ax.hist(fraud_error_df.reconstruction_error.values, bins=10)

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

Figure 11

受试者工作特征曲线

from sklearn.metrics import (confusion_matrix, precision_recall_curve, auc,
                             roc_curve, recall_score, classification_report, f1_score,
                             precision_recall_fscore_support)
fpr, tpr, thresholds = roc_curve(error_df.true_class, error_df.reconstruction_error)
roc_auc = auc(fpr, tpr)plt.title('Receiver Operating Characteristic')
plt.plot(fpr, tpr, label='AUC = %0.4f'% roc_auc)
plt.legend(loc='lower right')
plt.plot([0,1],[0,1],'r--')
plt.xlim([-0.001, 1])
plt.ylim([0, 1.001])
plt.ylabel('True Positive Rate')
plt.xlabel('False Positive Rate')
plt.show();

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

Figure 12

精度0.9718

精确度和召回率

由于数据是高度不平衡的,所以不能只用精度来衡量。选择精度与召回率作为分类任务的矩阵。

精度:测量所得结果的相关性。

[真阳性/(真阳性+假阳性)]

回忆:测量返回多少相关结果。

[真阳性/(真阳性+假阴性)]

真阳性 —预测为欺诈的实际欺诈数量

误报 —预测为欺诈的非欺诈数量

假阴性 —预测为非欺诈的欺诈数量。

precision, recall, th = precision_recall_curve(error_df.true_class, error_df.reconstruction_error)
plt.plot(recall, precision, 'b', label='Precision-Recall curve')
plt.title('Recall vs Precision')
plt.xlabel('Recall')
plt.ylabel('Precision')
plt.show()

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

Figure 13

我们需要找到一个更好的阈值来区分异常和正常。这可以通过计算精度/召回与阈值图的交集来完成。

plt.plot(th, precision[1:], label="Precision",linewidth=5)
plt.plot(th, recall[1:], label="Recall",linewidth=5)
plt.title('Precision and recall for different threshold values')
plt.xlabel('Threshold')
plt.ylabel('Precision/Recall')
plt.legend()
plt.show()

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

Figure 14

# plot the testing set with the threshold
threshold = 0.01
groups = error_df.groupby('true_class')
fig, ax = plt.subplots()for name, group in groups:
    ax.plot(group.index, group.reconstruction_error, marker='o', ms=3.5, linestyle='',
            label= "Fraud" if name == 1 else "Normal")
ax.hlines(threshold, ax.get_xlim()[0], ax.get_xlim()[1], colors="r", zorder=100, label='Threshold')
ax.legend()
plt.title("Reconstruction error for different classes")
plt.ylabel("Reconstruction error")
plt.xlabel("Data point index")
plt.show();

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

Figure 15

混淆矩阵

import seaborn as sns
LABELS = ['Normal', 'Fraud']
y_pred = [1 if e > threshold else 0 for e in error_df.reconstruction_error.values]
conf_matrix = confusion_matrix(error_df.true_class, y_pred)
plt.figure(figsize=(12, 12))
sns.heatmap(conf_matrix, xticklabels=LABELS, yticklabels=LABELS, annot=True, fmt="d");
plt.title("Confusion matrix")
plt.ylabel('True class')
plt.xlabel('Predicted class')
plt.show()

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

Figure 16

分类报告

csr = classification_report(error_df.true_class, y_pred)
print(csr)

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

Figure 17

结论

我们的模型捕捉到了大部分欺诈数据。在自动编码器中,它提供了很好的准确性。但是,如果我们考察数据集的精度和召回率,它的性能还不够。正如我前面提到的,还有其他异常检测方法在高度不平衡的数据集中表现良好。

我在这个数据集上尝试了更多的方法。所以我很快会带着这些来见你。😃

参考

https://medium . com/@ curiously/credit-card-fraud-detection-using-auto encoders-in-keras-tensor flow-for-hacker-part-VII-20 e0c 85301 BD

犯罪预测

原文:https://towardsdatascience.com/crime-forecasting-8f71364f2fee?source=collection_archive---------6-----------------------

随着每天新技术的出现,我们现在处于一个很好的位置,可以开始重点关注未来的犯罪预测。犯罪预测是一种独特的预测未来犯罪的能力,可以预测未来数年的犯罪,以增加预防工作,并在受影响更严重的地区找到资源。犯罪预测是如何工作的,它真的值得我们花费时间吗?让我们看看这个伟大工具的来龙去脉,看看它今天能做什么!

什么是犯罪预测?

通过邻里或社区内的犯罪模式,可以预测与毒品相关的犯罪、入室盗窃等犯罪,以便更好地预防未来的犯罪,或者在犯罪发生时在急需的区域找到资源来处理犯罪。多年来,犯罪预测一直依赖于联邦调查局每年发布的报告。然而,这些报告仅仅提供了全国每年甚至每天发生的犯罪的一小部分情况。通过允许警官和警察部门监控犯罪模式或警察应对方法,每个社区可以更好地准备管理犯罪活动和警察在自己后院的外联活动。犯罪预测方法和在线数据集中收集,并定期维护这些记录,可以帮助官员分享观察结果,并创建更好的预警系统,以确保更多人在其城镇内的安全。

这也使得正在经历增长、变化或城市化的社区能够看到其他社区的趋势,从而为他们所在地区的这些事件做好更充分的准备。犯罪预测还跟踪警方的反应和活动。目前追踪的项目可能因部门而异,但这一系统将创造更统一的记录。犯罪预测可以帮助跟踪响应时间、使用或未使用的武力类型、警察枪击、受伤情况、EMS 对这些事件的响应等等。它还可以为需要改变政策的部门提供见解,或者是否需要对部门内的官员进行培训,以促进与其社区的更好沟通或互动。

犯罪预测有什么目的?

犯罪预测可以通过确定过去犯罪的模式或确定一个地区最常见的犯罪类型来帮助防止该地区再次发生犯罪。它还可以向许多部门提供信息,而不仅仅是一个部门,以便在全国许多社区获得更好的资源。这就是集中维护数据的优势,同时从每个部门收集数据以保存每个社区内的独特信息和犯罪模式。现在可用的技术还提供了一个更安全的存储区域,更容易或更快地访问数据,并有利于比较从最小的城镇到最大的城市的详细犯罪活动信息,以便更好地了解犯罪在全国各地和哪些地区是如何发生的。这还可以提供社区见解,帮助我们改善社区,从一开始就防止犯罪发生。这可以帮助官员通过教育、预防和更好的应对方法更好地应对他们自己社区的挑战。有了这些系统,社区可以准备好预警系统,以保护其公民的安全,并在警察队伍中保持警惕,以防止这些犯罪。它还使各部门能够更好地分配资源,覆盖犯罪率高的地区,以便警察更好地保护这些地区。

犯罪预测给使用它的地区带来了什么好处?

犯罪预测可以减少暴力犯罪的发生率,在这些地区,可以确定一种模式,以便发出预警,防止他人受害。这些系统也有助于防止警察出现意外枪击或过度使用武力等复杂情况,因为警察很难与社区成员就内部质量控制进行互动,而这些内部质量控制是你可以依赖的。犯罪预测还有助于各部门与培训机构和大学合作,进行更好的研究和培训,以更好地预防犯罪。刑事司法是一个不断发展的研究领域,随着时间的推移,出现了新的技术,以更好地维持治安,并帮助警官以更少的武力更好地维持他们所在地区的治安。犯罪预测有助于确定社区内所需的资源,以便在更脆弱的地区提供更好的警力。

犯罪预测会遇到哪些挑战?

随着时间的推移,糟糕的记录最多只能提供不完整的信息,可能只能提供最少的信息,如电话号码、日期和通话时间。这可能导致官员获得的信息不一致,可能导致他们错过警告信号或提醒社区对问题的预防为时已晚。这也可能导致各部门没有额外的培训,而这些培训可能是执法取得更大成功所必需的。关于暴力犯罪或毒品相关犯罪的少量数据收集可能无法识别社区内的犯罪模式,也会导致这种模式不断重复出现。像在线记录和犯罪统计这样的新技术可以帮助保持更清晰或更详细的记录,以便更好地做好准备,并从整体上更好地维持治安。更好的犯罪统计记录也有助于向公众提供该地区犯罪的更多信息,或者他们的警察部门在街上到底在做什么。这使得各部门和官员有责任减少警察暴力、歧视或貌相。然而,它也允许社区认可优秀官员的努力,并给予他们成功所需的资源。

谁可以使用犯罪预测?

任何警察部门都可以使用犯罪统计来跟踪他们执行的呼叫类型、需要使用武力的情况或他们执行的呼叫模式。全国各地的警察部门可以使用犯罪预测与其他部门或公民共享数据,以更好地通知和警告社区犯罪模式或特别容易发生犯罪的地区。社区经历动乱,经常犯罪,或新的扩张或发展,在他们的地区可以利用这些选项。另一个选择是观察其他一些经历过自然灾害或恐怖事件的地区如何应对犯罪,如在他们的地区抢劫,以便在灾害袭击他们的社区时通过良好的应急管理来抑制这些犯罪。各部门也可以使用犯罪预测作为质量控制措施,通过更好的培训或支持来保持警察部队安全有效地工作。各种规模的部门都可以从犯罪预测中受益,以确保其官员和公民每天的安全。

犯罪预测在不久的将来前景如何,比如在未来五年内的用途?

犯罪预测可能会成为未来五年警察工作的一个重要组成部分,因为在线平台和共享使信息能够在全国各地更快地传播,从而每天都有更好的刑事司法实践。在线犯罪统计还可以帮助一个地区内的各个部门通过更均匀地分配资源或努力打破其所在地区的犯罪模式,来更好地开展警务和犯罪预防工作。当过渡时期出现或某一地区的发展改变了人口或人口统计数据时,各部门可能会发现这些记录很有帮助。犯罪预测可以帮助制定更好的培训计划,并通过大学和院系对犯罪统计数据的审查来防止过度使用武力。自 1930 年代以来,犯罪预测一直严重依赖联邦调查局的统计数据,这将有助于各部门对社区一级的犯罪有一个更现实的看法。

既然我们已经探索了犯罪预测,并看到了它对许多社区的好处,那么很容易看到犯罪预测在不久的将来会成为执法部门的一个重要组成部分。凭借预测社区内犯罪的能力,它可以帮助公民和执法部门做出更明智的决策,并让我们的社区每天都更安全。它还可以帮助将资源转移到最需要的地方,用于迄今为止史无前例的预防犯罪。犯罪预测可以帮助社区打破长期存在的犯罪模式;更好地教育军官,以应对当今世界的挑战。并保持最新的培训,以便在全国各地的每个社区更好地维持治安。

人工智能的标准

原文:https://towardsdatascience.com/criteria-for-artificial-general-intelligence-cc268c4258be?source=collection_archive---------17-----------------------

一般智能必须能够做什么?

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

Carlos Irineu da Costa by @carlosirineu on Upsplash

人类的智力仍然远远超过机器。人类可以形成类比,识别下落的篮球和茶杯的相似轨迹。人类只看过一次不寻常的、凹凸不平的紫色玩具*,就能立即从其他玩具中识别出那个物体——这被称为“一次性学习”。当发生的事情与我们经历的事情相同或相似时,我们会立即认出这是在之前发生的*。我们的记忆并不完美,但我们确实对大量信息有着奇妙的记忆。而且,我们可以在我们的记忆中搜索任何符合一组条件的东西,比如“任何绿色且有刺的物体”都会检索到“仙人掌”。我们甚至可以在我们想象中的事物中进行搜索,就像许多人曾经问的那样“什么能让人飞起来?”**

对人工智能的研究集中在模仿人脑的各种方法上。这适用于智力的某些方面,然而我们未能复制出我们自身所有能力所必需的类脑行为的正确部分。在这里,我回到了智能的基本问题,并建立了一套任何成功的机器智能都必须满足的约束。我在这个分析中没有包括情感或目标创造——这些领域仍然很难概念化,它们创造了人工一般智能可能需要满足的额外要求。我在这里关注类比、回忆和受约束的想象以及认知的力量。

为了了解智能系统中这些功能的实际情况,我们需要放大智能的核心问题:创建地图。

映射输入

从根本上说,机器智能将每个可能的输入与一些输出关联起来——一个分类、一个预测或一个动作。每个输入都有一个输出,而一个输出可能有多个输入。这是从输入到输出的映射。

这些输入被安排在一个巨大的空间——“输入空间”。相似的输入是彼此靠近的,你可以改变输入的每一种方式都是它自己的空间维度。例如,28 像素宽、28 像素高的图像有 784 个像素。假设每个像素可以沿着灰度级变化。那么图像有 784 种不同的变化方式;输入空间中 784 个不同的尺寸*!如果两个点在 784 维输入空间中彼此相邻,那么它们的像素必须几乎相同。*

智能的目标是分割这个输入空间。考虑如果我们有一个平坦的输入空间,比如棋盘。棋盘上的每个点对应不同的输入,相似的输入彼此相邻。想象沿着棋盘铺设墙壁,将表面分割成多个“区域”。那是一个分割输入空间的。**

每个区域被分配给不同的输出。这种划分和分配定义了我们从输入到输出的映射。您可以查看棋盘上的任何一点,查看位于哪个领域内,并检查与该领域相关联的输出。分区创建区域,每个区域将所有输入发送到一个输出。

识别

当我们看到一个我们曾经去过的房间,或者在电话中听到一个熟悉的声音时,我们会立即意识到“我以前经历过这种或非常类似的事情”。这种识别已经发生的事情的能力,不同于我们想象的事情,或者没有发生的事情,必须作为它自己的结构放入机器智能中——除了上面提到的将输入划分为输出区域。

每当一个新的输入输出对出现时,机器智能必须记住那个实例。当划分变得精确时,会发生这种情况,弯曲或移动边界墙以将该新事件包括在正确输出的范围内。(在现有的神经网络中,这将等同于训练网络,直到它准确地记住已经给它的所有数据。通常,在网络到达这一点之前,训练就停止了。我相信相反的情况——训练应该继续,直到所有已知的事件都被准确地划分出来为止,尽管神经网络在这一点上变得很脆弱。)

现在,想象一下,如果每次一滴雨滴落在输入的棋盘上,它的飞溅创造了它自己的冻结墙,它自己的微小分区。那些雨滴领地包围了所有已经实际上经历过的事物,而棋盘上那些冰冻墙壁之外的每一个点都还没有经历过。就像走进一个不熟悉的房间。认可!这些雨滴墙是输入空间的一种新的独立分区,与将输入分配给输出区域的分区协同工作。一组墙映射输入→输出,另一组墙映射输入→已知或未知事件。

从另一个角度来看这个分区,你可以想象每一滴雨滴都创造了自己的小而陡峭的山丘。随着接收到更多的输入,更多的雨滴落下,更多的山丘形成。在那些山顶上是输入,在那里结果现在是已知的;那些山顶是 T2 已经经历过的地方。这些山丘周围区域的高度代表了对机器智能如何正确分配输出区域的信心。附近的一个已知点,我们可以确信与该点相关的输出与山顶的输出相似。这是一个近似值,但它允许一个强大的概括…****

如果我们有一个函数来描述这些山丘的坡度,我们可以说“在任何有的地方,智能在之前已经*看到了那个输入,并且它完全确信它记住了正确的输出”同时,“任何低高度的地方都是不确定的;无论预测什么样的产出,都有可能是错误的。”这是一个有用的信心衡量标准,其中同时包含 认可 。而且,如果你想让智慧去想象一些新的东西,你可以看看那些自信的山谷,知道它们以前没有被体验过。如果你想让机器智能表现得像科学家一样,不断测试假设,那么它应该寻找属于最深信心谷的输入产生的输出。*

比喻

我们可以通过明确记录每一次事件来获得这种精确的情报。每次输入发生时,它都会被记录下来,同时记录的还有正确关联的输出。然而,对于像自动驾驶这样的复杂问题,不可能记录下每一次经历。数据实在太多了!需要某种形式的压缩*。*

神经网络当然实现了这种期望的压缩。每个神经元之间的突触权重形成了一个巨大的参数空间*,它相当容易地创建了复杂的分区。“输入→输出”划分和“输入→已知事件”划分都可以在神经网络中压缩。虽然,有许多方法可以设计神经网络,但很明显,当前的架构不足以满足我们的目的:现有的神经网络无法从第一次尝试中学习,需要数百个类似的实例来学习任何东西,即使这样,它们的预测也是不完美的。*

此外,神经网络未能发现另一种形式的压缩:类比。当两个事物的行为相似时,你只需要记住其中一个的行为。另一个行为相同。例如,几乎所有物体都会在重力作用下下落,所以“抛物线下落”是许多事物共有的行为,提供了大量的信息压缩。相反,如果你不得不为你遇到的每一个新的物体学习重力的属性,那会怎么样呢?

类比还有一个强大的特点:寓意。如果两个事物在大多数方面表现相似,你可以假设它们在另一个方面相似。根据这一假设,任何提高预测一种行为准确性的经验也会提高另一种行为的假设准确性*。这是现有机器智能严重缺乏的东西,常识的关键。那么,我们如何形成类比,它们的性质是什么?*

回头看看我们的输入空间,棋盘,当棋盘的一个样本与其他样本具有相同的分割模式时,就会发生类似的情况。这两个样本可能会相对于彼此翻转翻转*,然而,只要它们的壁的形状匹配,我们就可以通过对两个使用*一个分区来降低我们的分区操作的复杂性。**

旋转和翻转代表了变量的重新分配。你可以想象一个原子类似于我们的太阳系,电子绕着原子核转。(卢瑟福过时的模型)在那个类比中,太阳→原子核、行星→电子。物体发生了变化,从太阳系到原子,但是轨道行为保持不变。打个比方,当你将一个分区定位到另一个分区时,它们的分区必须匹配。

回忆和想象

回忆不同于辨认。当你看到你以前见过的东西时,你就会认出来;它就发生在那一瞬间,来自你的感官体验。回忆更复杂,我们不擅长回忆。为了回忆一个事件或一条符合某些要求的信息,我们必须过滤输入空间,寻找匹配。当试图回忆已经发生的事情时,我们理想的算法智能必须过滤掉输入的每一点,除了每座山的顶峰。首先,从输入到输出的功能必须颠倒,这样输出才能回到输入。对允许的输出施加约束(“它必须是绿色和尖尖的”),并且测试可能满足这些约束的各种输入(“仙人掌?”).

智能可能会过滤掉接近的最大置信度,从而扩大搜索范围,将似是而非的输入包括在内,而不是过滤掉不是山峰的输入。想象一下,如果你走进厨房,看看冰箱,会发生什么。如果你现在去那里,你的感官不会产生你头脑所预测的,然而它是熟悉的,你可以生动地想象它。**

过滤掉除置信度最低的波谷之外的所有输入,会产生最大不确定性的情况。科学实验旨在测试这些不确定的区域。而且,如果机器智能要想象某种新的*,那某种东西一定来自这些山谷。从对输出的一组约束开始,留下一系列合适的输出来测试,并向后工作到可能的输入。然后过滤输入,除了那些最低的谷,想象不确定的事件。这个过程是一般智力的关键。*

只是一片

这些特征——识别、假设检验、想象、回忆、类比和暗示——只是我们在一般智力中所希望的一些特性。神经网络体系结构可能会超越简单的 DenseNets 和 LSTMs,走向能够提供所有这些特征的结构。在另一篇文章中,我希望概述一种可能性…

1plusX 数据管理平台的跨设备数据提供商评估

原文:https://towardsdatascience.com/cross-device-data-provider-evaluation-for-1plusx-data-management-platform-39c380981a5e?source=collection_archive---------5-----------------------

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

为了向用户提供相关的个性化内容,能够跨设备识别用户变得越来越重要。目前,公司使用 cookies 来识别网络上的单个用户。然而,移动应用程序不使用 cookies,而是依赖于设备标识符,这些标识符是为了在应用程序中做广告而创建的。由于这些标识符只能通过应用程序访问,因此要全面了解用户在网络和移动设备上的活动,必须能够将用户的 cookies 与其设备 id 进行匹配。这就是所谓的跨设备匹配。

在本白皮书中,我们描述了我们如何评估三个主要的跨设备概率匹配提供商。作为一个数据管理平台(DMP),我们的目标是能够为数字机构、媒体、电信和电子商务公司提供在其广告活动中包括甚至专门针对移动应用用户的能力。因为这些提供商使用概率模型,所以了解这些模型的质量并确保我们的客户可以依赖最佳的跨设备匹配对我们来说至关重要。

评估设置

为了进行评估,我们首先与三家提供商建立了用户群的持续同步,以便他们仅为我们的用户提供跨设备数据。然后我们同意每周交付他们的数据,让我们不仅可以评估他们预测的质量,还可以评估长期的稳定性。我们设计了一个评估框架,能够快速处理每周的新数据并衡量质量。

每个星期,每个提供商发送一个文件,其中包含用户列表、他们的 cookie IDs 和他们预测的相应设备 id。设备 id 包括 iOS 和 Android 平台上的设备,并涵盖了移动和平板电脑外形。

我们还从一家领先的面板数据提供商那里获得了相同格式的基础数据。该提供商精心设计在线面板并收集已知正确的数据,这些数据可用于评估预测数据的准确性。

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

图一。来自 ground truth 和跨设备提供商的数据表示

曲奇世界

为了执行这个评估,我们希望确保从实际和最近的用户那里获得足够多的 cookie IDs。我们与我们的一个客户进行了安排,他们对这个话题有共同的兴趣,可以使用他们广泛的网站组合。作为交换,他们收到了这次评估的全部结果。

为了确保对供应商进行客观的比较,避免我们的客户或其他方面的任何潜在偏见,我们仅在 1plusX 空间中运营。当用户访问我们客户的一个网站时,我们为该用户创建了一个标识符,并将其存储在 1plusX cookie 中。然后,我们与跨设备提供者共享这些 cookie IDs,以便他们可以只发送相关用户的设备 id。

我们在几个月的时间里收集了大量的饼干;然而,我们并没有使用全套。我们忽略了删除 cookiess 和不活动 cookie 的用户。为了做到这一点,每周我们将我们的 cookie 范围限制在过去 2 周和前一时期看到的 cookie 的交集。这样,评估仅基于重复出现的 cookies。

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

图二。评估所基于的 cookie 领域的定义

我们评估的宇宙由 2 M 个 cookies 组成。由于我们客户的投资组合都是瑞士的网站,这次评估仅限于瑞士市场。

事实数据和我们的宇宙之间的交集最终比预期的要小,所以我们引入了一个额外的共识验证方法。在共识方法中,如果 3 个提供商中至少有 2 个预测给定用户的设备相同,我们将设备 ID 匹配定义为正确。这有利于扩大评估中 cookies 的数量,但也有可能引入偏见。例如,如果一个供应商是正确的,而其他供应商是错误的,但在协议中,正确的供应商将受到惩罚,而其他供应商将得到奖励。为了确保我们的评估是客观的,我们同时使用了 cookie universe 和共识验证方法,并在多个评估点上比较了它们各自的结果。在所有情况下,地面实况方法的结果证实了共识方法,因此,我们相信共识方法不会引入重大偏差。

为了保持本白皮书的简短,我们将只展示一个评估点的结果。

韵律学

我们在评估中跟踪了多个指标,但在本文中,我们将重点关注三个指标:

  • 新闻报道
  • 平均召回率
  • 平均精度

提供者的覆盖率被定义为我们从他们的图表中得到预测的 cookies 的百分比。这是我们的客户感兴趣的,因为它显示了他们将收到设备 id 匹配的用户的比例,因此评估了活动的潜在跨设备覆盖范围。

精确度和召回率更难把握。精确度被定义为正确的预测设备的百分比,而召回被定义为正确预测的真实设备的比例。它们对我们都很重要,因为召回率代表了预测的全部设备的份额,而精确度代表了每个预测的质量。

精确/召回示例

基本事实将用户列为拥有两个设备:A 和 B,显示在基本事实列中。下面是三组不同的预测以及它们相应的精度和召回率。

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

图 3。三个实例的查准率和查全率。

典型地,在精确度和召回率之间有一个折衷。做出的预测越多,就越难有高精度;但是,越容易有高召回率。这在广告行业是经常见到的。在品牌推广活动中,公司希望接触尽可能多的用户,因此优化召回。另一方面,在绩效活动中,广告商希望锁定与产品最相关的用户,而不是关注精确度。

请注意,最好使用基本事实来计算精确度和召回率。在下一节中,我们将讨论在使用共识方法和基础事实方法的组合时,在我们有基础事实和覆盖结果的子集上计算的精度和召回结果。

结果

为了公平对待所有被评估的提供商,我们对结果进行了匿名处理,并且不在结果/图表中提供完整的数字。

设备预测的平均数量

通过查看每个提供商发送的数据,我们立即观察到了不同的方法,仅仅是通过查看他们模型的输出。举例说明这一点的一个简单的方法是提供商预测每个 cookie 平均有多少设备。

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

图四。每个 cookie 的平均预测数

一家提供商做出的设备预测明显少于另外两家,而且似乎在精度上做了更多的优化。

新闻报道

看看每个提供商覆盖了我们多少用户群是很有见地的,我们很惊讶地看到这样的覆盖差异。

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

图五。关于 cookie 世界的报道

一家提供商明显领先,为接近 1/2 的用户提供设备。这些数字自然应该与质量指标一起考虑;然而,尽管如此,我们还是希望所有的提供商都有类似的覆盖率。

回忆

尽管覆盖率领先,但我们注意到,与竞争对手相比,这家供应商的召回率仅略高。

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

图六。每个供应商的覆盖范围和召回

精确

覆盖率高但回忆稍好的提供商似乎暗示他们以牺牲质量为代价发送了更多的预测。这一点在查看精度时得到了证实。

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

图 7。精度

覆盖率最高的提供商现在落后,精度低于 30%,而覆盖率最低的提供商展示了自己的实力。

结论

跨设备挑战没有明确的解决方案。由于第一方数据有限,我们需要依靠概率模型来确定可接受的范围,这意味着要处理预测。根据用例的不同,需要决定是优化精度还是召回率。回顾这一分析,每个提供商在这一二元性上提供了不同的选择。一个提供精度而不是范围,另一个提供范围而不是精度,第三个提供者提供了一个更平衡的方法。

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

图 8。两个提供商的精确到达权衡概述

这种权衡影响了广告市场的所有参与者。有时候,广告客户更喜欢广泛的覆盖面,而不是低点击率。其他时候,将针对一小部分人来限制活动的成本。

一个潜在的解决方案是与所有三家供应商签约,并在其中一家的实力与预期结果相符时使用它。然而,这是成本过高。我们决定满足于提供最佳折衷方案的供应商。该提供商为三分之一的用户提供了设备,这些用户平均预测了 60%的设备。

重要的是要记住,这项研究是在瑞士市场上实现的。其他市场的结果可能会有所不同,也会随着时间的推移而变化。我们期待着观察这一演变,并在有机会时评估不同的市场。

交叉验证代码可视化:有点意思

原文:https://towardsdatascience.com/cross-validation-code-visualization-kind-of-fun-b9741baea1f8?source=collection_archive---------3-----------------------

让我们想象来改善你的预测…

让我们说,你正在编写一个漂亮和干净的机器学习代码(例如线性回归)。你的代码是好的,首先你像往常一样用像 train_test_split 这样的函数和一些*随机因子把你的数据集分成两部分“训练集和测试集”。*如下图所示,您的预测可能会略微偏低或偏高。

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

Fig:Under and Over-Fit Prediction

结果也没有改变。那么我们能做什么呢?

顾名思义,交叉验证是学习线性回归之后的下一件有趣的事情,因为它有助于使用 K 倍 策略来改进你的预测。你问的 K 倍是多少?下面用代码解释一切。

完整代码:)

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

Fig:- Cross Validation with Visualization

代码洞察:

以上代码分为 4 个步骤…

  1. 加载分割目标数据集。

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

Fig:-Load the dataset

我们正在将数据集中的目标复制到 y 变量*中。*要查看数据集,取消 print 行的注释。

2.型号选择

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

Fig:- Model Selection (LinearRegression())

为了简单起见,我们将使用线性回归。要了解更多信息,请点击“线性回归:更简单的方法”帖子。

3。交叉验证:)

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

Fig:- Cross Validation in sklearn

这是一个过程,也是 sklearn 中的一个功能

【cross _ val _ predict(模型,数据,目标,cv)

在哪里,

模型 是我们选择的要进行交叉验证的模型

数据 是数据。

目标 是 w.r.t .数据的目标值。

cv (可选)为总折叠数(又名 K-Fold )。

在这个过程中,我们不像通常那样将数据分为两组(训练集和测试集),如下所示。

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

Fig:- Train set (Blue)and Test set (Red)

但是我们把数据集分成相等的 K 部分( K 倍或者 cv )。**改进预测,更好地推广。**然后在较大的数据集上训练模型,在较小的数据集上测试。我们姑且说 cv 就是 6。

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

Fig:- 6 equal folds or parts

现在,模型分割的第一次迭代看起来像这样,红色是测试数据,蓝色是训练数据。

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

Fig:- cross_val first iteration

第二次迭代将如下图所示。

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

Fig:- cross_val second iteration

依此类推,直到最后一次或第六次迭代,看起来会像下图这样。

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

Fig:- cross_val sixth iteration

4.Matplotlib 可视化数据。

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

Fig:- Visualize with Matplotlib

为了可视化,我们正在导入 matplotlib 库。然后制作一个 支线剧情

用黑色(即(0,0,0))轮廓或边缘颜色创建 散点

使用 ax.plot 给出两轴的最小值&最大值,用“ k - ”表示线条的类型与线宽,即lw****= 4***。*

接下来,给 x 和 y 轴加标签。

****【PLT . show()】**最后显示图形。

结果呢

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

Fig:- Prediction

此图显示了使用线性回归模型对波士顿数据集进行的 k 重交叉验证。

我确信人们实现了许多类型的交叉验证,但是 K-folds 是一个好的并且容易开始的类型。

要获得完整代码,请访问 github 链接: Github

关注我在媒体获得类似的职位。

我将每周发布 2 篇帖子,所以不要错过代码教程。

脸书推特LinkedinGoogle+ 上联系我。

任何评论或者如果你有任何问题,请写在评论里。

鼓掌吧!分享一下!跟我来。

乐意帮忙。荣誉………

你会喜欢的以前的故事:

  1. 激活功能解释:神经网络

2.线性回归:更简单的方法

3. DIY Arduino 无线键盘

4.感知器是什么鬼?

5.Tensor flow 中的“张量”是什么鬼?

交叉验证解释:评估估计性能。

原文:https://towardsdatascience.com/cross-validation-explained-evaluating-estimator-performance-e51e5430ff85?source=collection_archive---------1-----------------------

使用交叉验证改进你的 ML 模型。

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

机器学习工程师或数据科学家的最终目标是开发一个模型,以便根据新数据进行预测或根据未知数据预测未来的一些事件。好的模型不是对已知数据或训练数据给出准确预测的模型,而是对新数据给出良好预测并避免过拟合和欠拟合的模型。

完成本教程后,您将了解:

  • 为什么要使用交叉验证是一个用来评估模型在新数据上的技巧的过程。
  • 您可以使用一些常用策略来为数据集选择 k 值。
  • scikit-learn 中提供了交叉验证的常用变体,如分层和 LOOCV。
  • k 折叠交叉验证在 Python 中的实际实现

为了找到解决办法,我们应该首先了解这个问题。在我们开始理解交叉验证之前,让我们先理解过度拟合和欠拟合

了解欠拟合和过拟合:

**过度拟合模型:**当统计模型或机器学习算法捕捉到数据的噪声时,就会发生过度拟合。直觉上,当模型或算法与数据拟合得太好时,就会发生过度拟合。

过度拟合模型导致训练数据集具有良好的准确性,但对新数据集的结果较差。这种模型在现实世界中没有任何用处,因为它不能预测新病例的结果。

**欠拟合模型:**当统计模型或机器学习算法无法捕捉数据的潜在趋势时,就会发生欠拟合。直观地说,当模型或算法与数据拟合得不够好时,就会出现拟合不足。拟合不足通常是模型过于简单的结果。简单是指缺少的数据没有得到正确处理,没有异常值处理,移除了不相关的特征或对预测变量没有太大贡献的特征。

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

如何解决过拟合问题:

答案是交叉验证

过度拟合和一般机器学习的一个关键挑战是,在我们实际测试之前,我们无法知道我们的模型在新数据上的表现如何。

为了解决这个问题,我们可以将初始数据集分成单独的训练测试子集。

有不同类型的交叉验证技术,但是总体概念是相同的,

将数据分成若干子集

一次拿出一组,在剩余的一组上训练模型

等待装置上的测试模型

对数据集的每个子集重复上述过程

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

the process of cross validation in general

交叉验证的类型:

K 倍交叉验证

分层 K 折交叉验证

留一个交叉验证

让我们逐一了解每种类型

k 倍交叉验证:

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

该过程有一个称为 k 的参数,它指的是给定数据样本要被分成的组的数量。因此,该程序通常被称为 k 倍交叉验证。当选择了 k 的特定值时,它可以用来代替模型引用中的 k,例如 k=10 成为 10 重交叉验证。

如果 k=5,数据集将被分成 5 个相等的部分,下面的过程将运行 5 次,每次都使用不同的维持集。

1.将该组作为维持或测试数据集

2.将剩余的组作为训练数据集

3.在训练集上拟合模型,并在测试集上评估它

4.保留评估分数并丢弃模型

在上述过程的最后,使用模型评估分数的样本总结模型的技巧。

如何决定 k 的值?

选择 k 的值,使得数据样本的每个训练/测试组足够大,以在统计上代表更广泛的数据集。

k=10 的值在应用机器学习领域是非常常见的,如果您很难为数据集选择一个值,建议您使用它。

如果选择的 k 值没有平均分割数据样本,则一个组将包含剩余的示例。优选地,将数据样本分成 k 个具有相同样本数量的组,使得模型技能得分的样本全部相等。

分层 k 折交叉验证:

与 K 倍交叉验证相同,只是略有不同

将数据分割成多个折叠可以由标准来控制,例如确保每个折叠具有相同比例的具有给定分类值(例如类结果值)的观察值。这被称为分层交叉验证。

在下图中,分层 k 倍验证是基于性别设置的,无论是男性还是女性

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

stratified k-fold cross validation

遗漏一个交叉验证(LOOCV):

这种方法在训练数据中留出 1 个数据点,即如果原始样本中有 n 个数据点,则 n-1 个样本用于训练模型,p 个点用作验证集。对原始样本可以这样分离的所有组合重复这一过程,然后对所有试验的误差进行平均,以给出总体有效性。

可能组合的数量等于原始样本中数据点的数量或 n。

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

representation of leave one out cross validation

交叉验证是评估模型有效性的一种非常有用的技术,尤其是在需要减轻过度拟合的情况下。

Python 中交叉验证的实现:

在使用交叉验证时,我们不需要单独调用 fit 方法,cross_val_score 方法在对数据实施交叉验证时拟合数据本身。下面是使用 k-fold 交叉验证的示例。

***import pandas as pd
import numpy as np
from sklearn.metrics import accuracy_score, confusion_matrix
from sklearn.ensemble import RandomForestClassifier
from sklearn import svm
from sklearn.model_selection import cross_val_score
#read csv file**data  =  pd.read_csv("D://RAhil//Kaggle//Data//Iris.csv")**#Create Dependent and Independent Datasets based on our Dependent #and Independent features**X  = data[['SepalLengthCm','SepalWidthCm','PetalLengthCm']]
y= data['Species']**model = svm.SVC()**accuracy = cross_val_score(model, X, y, scoring='accuracy', cv = 10)
print(accuracy)**#get the mean of each fold 
print("Accuracy of Model with Cross Validation is:",accuracy.mean() * 100)***

输出:

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

模型的精度是每个折叠精度的平均值。

在本教程中,您发现了我们为什么需要使用交叉验证,对不同类型的交叉验证技术的温和介绍,以及用于评估机器学习模型技能的 k-fold 交叉验证过程的实际示例。

具体来说,您学到了:

  • 交叉验证是一个用于避免过度拟合和评估模型对新数据的技能的过程。
  • 您可以使用一些常用策略来为数据集选择 k 值。
  • scikit-learn 中提供了交叉验证的常用变体,如分层和重复。

如果你喜欢这个博客,给它一些 掌声与你的朋友分享 它,你可以在这里 找到更多有趣的文章 ,敬请关注更多有趣的机器学习技术和概念。

机器学习中的交叉验证

原文:https://towardsdatascience.com/cross-validation-in-machine-learning-72924a69872f?source=collection_archive---------0-----------------------

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

总是需要验证你的机器学习模型的稳定性。我的意思是,你不能让模型适合你的训练数据,并希望它能准确地处理它从未见过的真实数据。你需要某种保证,你的模型已经从数据中得到了大多数正确的模式,并且它没有拾取太多的噪声,或者换句话说,它的偏差和方差很低。

确认

这个决定量化变量间假设关系的数值结果是否可接受作为数据描述的过程,被称为 验证 。通常,模型的误差估计是在训练之后进行的,更好的说法是残差评估。在此过程中,对预测响应和原始响应之间的差异进行数值估计,也称为训练误差。然而,这只能让我们了解我们的模型在用于训练它的数据上表现如何。现在,模型可能对数据拟合不足或拟合过度。因此,这种评估技术的 问题在于,它没有给出学习者对独立/不可见数据集 的概括能力。得到关于我们模型的这个想法被称为交叉验证。

保持方法

现在,对此的一个*基本补救措施是删除一部分训练数据,并使用它从根据其余数据训练的模型中获得预测。*误差估计然后告诉我们的模型在看不见的数据或验证集上表现如何。这是一种简单的交叉验证技术,也称为维持法。尽管这种方法不需要任何计算开销,并且优于传统的 验证,但它仍然存在高方差 的问题。 这是因为不确定哪些数据点会出现在验证集中,不同的数据集结果可能完全不同。

K 倍交叉验证

由于永远没有足够的数据来训练你的模型,为了验证而删除一部分数据会带来拟合不足的问题。 通过减少训练数据我们冒着丢失数据集中重要模式/趋势的风险,这反过来增加了由偏差引起的误差。 所以,我们需要的是一种既能为训练模型提供充足数据,又能为验证留下充足数据的方法。k 折叠交叉验证正是这样做的。

K 折交叉验证中,数据被分成 K 个子集。现在,保持方法被重复 k 次,使得每次 ,k 个子集之一被用作测试集/验证集,而其他 k-1 个子集被放在一起形成训练集 。在所有 k 次试验中平均误差估计,以获得我们的模型的总有效性。可以看出,每个数据点恰好出现在验证集中一次,出现在训练集中 k-1 次。 这极大地减少了偏差,因为我们使用了大部分数据进行拟合,也极大地减少了方差,因为大部分数据也用于验证集中。交换训练集和测试集也增加了这种方法的有效性。作为一般规则和经验证据,K = 5 或 10 通常是首选的,但没有什么是固定的,它可以取任何值。

分层 K 折交叉验证

在某些情况下,响应变量中可能存在较大的不平衡。例如,在关于房屋价格的数据集中,可能有大量价格高的房屋。或者在分类的情况下,阴性样本可能比阳性样本多几倍。对于这样的问题, 在 K 倍交叉验证技术中做了一个微小的变化,使得每个倍包含与完整集近似相同百分比的每个目标类的样本,或者在预测问题的情况下,平均响应值在所有倍中近似相等。 这种变异也被称为层状 K 褶

上述验证技术也被称为非穷举交叉验证方法。 这些并不计算分割原始样本的所有方式,也就是说,你只需决定需要制作多少个子集。此外,这些是下面解释的 方法的近似,也称为穷举方法,它计算所有可能的方式将数据分成训练集和测试集。

遗漏交叉验证

这种方法将 p 个数据点排除在训练数据之外,即如果原始样本中有 n 个数据点,则 n-p 个样本用于训练模型,p 个点用作验证集。对原始样本可以这样分离的所有组合重复这一过程,然后对所有试验的误差进行平均,以给出总体有效性。

该方法是详尽的,因为它需要为所有可能的组合训练和验证模型,并且对于适度大的 p,它在计算上变得不可行。

这种方法的一个特例是当 p = 1 时。这就是所谓的遗漏交叉验证。这种方法通常优于前一种方法,因为 它不会遭受密集的计算,因为可能组合的数目等于原始样本中数据点的数目或 n.

交叉验证是 ***一种非常有用的评估模型有效性的技术,尤其是在你需要减轻过度拟合的情况下。***也可用于确定您的 型号的超参数,即哪些参数会导致最低的测试误差。这是你开始交叉验证所需要的所有基础。您可以使用 Scikit-Learn 开始使用各种验证技术,只需几行 python 代码就可以启动并运行。

如果你喜欢这篇文章,一定要点击下面的❤来推荐它,如果你有任何问题,留下评论,我会尽力回答。

为了更加了解机器学习的世界,跟我来。这是最好的办法,等我多写点这样的文章就知道了。

你也可以在 关注我【推特】直接发邮件给我 或者 在 linkedin 上找我。我很乐意收到你的来信。

乡亲们,祝你们有美好的一天:)

跨越您的数据科学鸿沟

原文:https://towardsdatascience.com/crossing-your-data-science-chasm-f57d25393405?source=collection_archive---------4-----------------------

增长的分析路线图

场景——你是一家新兴的电子商务/SaaS 创业公司。你已经建立了你的网站,你已经对你的信息进行了 A/B 测试,你已经有了你的搜索引擎优化和社会广告购买。您已经设置了电子邮件点滴活动和提醒。您还可以获得基本的 BI 报告,了解渠道流量和转化率。流量还过得去,收入也在增长。你很可能处于最初的成长阶段;你穿着溜冰鞋飞翔,生意蒸蒸日上。你认为你找到了自己的声音;你在扩张。你在为更多的增长进行再投资;你在市场营销上投入了大量资金,事情似乎暂时进展顺利。

然后,交通突然慢了下来。广告购买不像以前那样有效了。促销仍然会带来一个高峰,但这是暂时的,短暂的。总体增长似乎无法度过难关,LTV 正在走下坡路,这意味着盈利需要两倍的时间。为什么?虽然可能有许多原因,但最有可能的原因是,随着时间的推移,过去一直有效的销售和营销引擎不可避免地开始变慢。著名成长黑客出身的风投陈楚翔解释了一个明显的“垃圾点击率定律”案例。

随着时间的推移,所有的营销策略都会导致糟糕的点击率。

—陈楚翔

我们都听说过“跨越鸿沟”这个词:所有成功的技术产品最终都要跨越鸿沟;从早期用户跃升为主流消费者。找到产品与市场的契合度很难,而实现这一飞跃也并非易事。

比方说,你现在已经取得了你的第一个滩头阵地,不管你是从零开始,带着一个新奇的想法开始网上销售,还是你正在数字化改造你的线下业务。你已经建立了一批忠实的追随者,他们相信你的事业和你的品牌。要进入下一个层次,你必须密切关注内部运营的优化以及扩张的机会。现在比以往任何时候都更重要的是,拥有做出正确决策所需的所有信息,并进行更多的赢钱下注,而不是输钱下注。现在你必须更深入地思考,锻炼你以前从未想过要使用的数据肌肉。你需要知道谁是你的客户,他们什么时候可能购买,他们打算买什么——换句话说,从知道“发生了什么”到“为什么会发生”和“将会发生什么”,或者简而言之,预测分析。

这就是数据科学和机器学习发挥作用的地方。

但是等一下,你说,你已经研究过这个问题,但是在市场上找不到合理的现成解决方案。也许你试图雇用一名数据科学家,但发现很难找到人才/成本/技能的正确组合?或者也许你认为你所拥有的指标和你的决策已经足够好了,因为它们已经让你走了这么远,对吗?

这就是我想称之为数据科学鸿沟的东西——网络分析/BI 报告与预测分析之间的鸿沟。这就像从谷歌分析(Google Analytics)到谷歌 deep mind(alpha go 的)。

由于当今数据科学的不可及性,购买与构建的典型选择失败了。由于人才短缺,商业先例稀缺,以及缺乏负担得起的解决方案,中小型企业经常发现自己被排除在数据科学和见解之外,而这些科学和见解可能会有所不同。

Google Analytics、Optimizely 和 Mixpanel 等产品试图填补网络分析和报告的空白。然而,高级分析和机器学习——以及更普遍的人工智能——仍然遥不可及。我们想改变这种情况。我们相信数据科学中人的因素。为了有效地跨越鸿沟,您需要获得专家的建议,以清晰地概括和解释要采取哪些步骤来实现这一目标。另一方面,你需要一个人来解释和负责结果,以及设计对你的业务有意义的上市。

为了帮助您入门,我们在这里提供了一个分析路线图,帮助您导航到下一个级别所需的内容。让我们一起穿越你的 #DataScienceChasm

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

描述性分析

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

对于即插即用工具,困难的部分是诊断问题。当一个指标上涨或下跌时,需要知识和经验来理解原因并回到正轨。商业智能和报告可以告诉你发生了什么,但要知道为什么你需要更深入。

描述性分析正好位于数据科学鸿沟的边缘——SaaS 工具可以解决这里和那里的问题,但许多问题需要经验丰富的眼睛。几种有用的分析和技术包括:

  • 季节性和历史趋势
  • 产品购买周期
  • 促销和折扣有效性
  • 用户细分和聚类
  • 漏斗转换分析
  • 市场篮子分析

大公司通常会有许多内部分析师全职致力于上述领域,以优化和加速他们的业务。在 LinkedIn,每个产品线都有广泛的用户细分和购买漏斗优化。例如,当您根据您的个人资料结账时,您可能会看到不同的订购产品。对于较小的公司来说,没有资源来雇佣全职分析师。需要通过 DSaaS(数据科学即服务)服务来跨越这一鸿沟,DSaaS 服务提供的分析和算法可以在不花费大量 R&D 的情况下立即交付结果,并缩短洞察时间。

预测分析

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

有效地跨越鸿沟进入高速增长是关于知道在哪里分配你的资源。如果你知道哪些用户更有可能购买你的产品呢?如果你知道接下来的几周将对你本季度的销售产生巨大的影响,你会怎么做?

你对某些事件或结果的概率越高,多活一年的机会就越大。一些预测分析包括:

  • 用户获取倾向模型
  • 回购或流失模式
  • 用户终身价值预测
  • 销售预测和促销计划
  • 用户终身价值(LTV)

大公司甚至有更多的高级数据科学家在研究这些问题。数据是一大优势。如果你能够有效地利用数据来了解你的业务,并知道应该关注哪里,你将会成为前 1%的公司。

规定性优化

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

规定性优化是数据科学和机器学习的圣杯。想象一个全自动、自我学习、低代码部署的人工智能连接组件,这些组件根据实时购买行为和基于行动的协议对您的业务做出反应。

AI 处理订购、运输、定价、电子邮件和客户服务,为您的业务提供优化。
您可能需要的一些关键组件是:

  • 动态更新产品层次结构
  • 基于购买行为的目的驱动的产品类别
  • 智能定价模型
  • 自主人工智能在学习时更新规则和流程

在接下来的几周,我们将花更多时间深入探讨数据科学主题,为您简单解释它如何应用于您的业务。如果你有特别感兴趣的话题想看,请留下评论!

无论您在分析路线图的哪个位置,都有学习和改进的空间。数据科学的旅程是漫长的,但会飞速发展,最终,独角兽企业是值得努力的回报。如果有什么我们能帮忙的,请给我们写信!

( Tresl 是一家 DSaaS 公司,专注于通过我们的专家数据科学家团队和即插即用人工智能驱动的产品来实现数据科学。)

特别感谢 George DyBruno Wong 的剪辑!

原载于 2018 年 3 月 18 日tresl.co

实践中的众包:我们的发现

原文:https://towardsdatascience.com/crowdsourcing-in-practice-our-findings-42a6aca36060?source=collection_archive---------13-----------------------

分析来自众包市场的大型数据集

这篇简短的博客文章提供了我们在 VLDB 17 年发表的题为“理解工人,开发有效任务,增强市场活力:一个大型众包市场的研究” ( 期刊版 ArXiv 版 )的论文的一个窥见。由 Akash Das Sarma 撰写的博客文章,由我轻微编辑。合著者:阿尤什·贾恩,詹妮弗·维多姆。

尽管人工智能令人兴奋,对大量人工标记的训练数据的需求无处不在,但过去几年对众包行业来说是一个相对动荡的时期。最近出现了一连串的合并更名放缓、以及转向私人群体。因此,我们的目标是尝试后退一步,研究当前市场的状态,了解这些市场是如何运行的,请求者如何充分利用这些市场,以及工人如何参与这些市场。

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

Figure 1. Key participants in crowdsourcing

我们对一个数据集进行了实验分析,该数据集包括 2012 年至 2016 年间由 70,000 多名工人执行的超过 2,700 万个微任务,这些任务被发布到一个大型众包市场。利用这些数据,我们揭示了三个关键方面:(1)任务设计——理解什么是有效的、设计良好的任务;(2)市场动态——理解任务和工人之间的交互、相应的市场负载以及市场上流行的任务类型;(3)员工行为——了解员工的注意力持续时间、寿命和一般行为。

我们相信这项工作是建立大众工作综合基准的第一步,也是为下一代众包市场奠定指导性见解的第一步。

数据集概述

首先是一些术语:我们将任务实例定义为基本的工作单元,通常出现在一个网页上(带有一个或多个问题);一个是任务中每个问题操作的一段数据;而批处理是由请求者并行发布的一组任务实例,不同之处仅在于项目。

我们研究的数据集包含 2700 万个任务实例,分布在 12000 个批次中。对于每个批处理,我们都有该批处理中一个样例任务实例的高级任务描述和 HTML 源代码。对于任务实例,我们知道许多重要的信息,包括开始时间、结束时间和工作者响应。对于每个完成任务实例的工作者,我们有以下信息:位置、工作者的来源和信任分数。

丰富数据集

为了扩充这些数据,我们添加了三种额外的任务属性数据:

  • 手动标签——我们根据它们的(a)任务目标,例如实体解析、情感分析,(b)人- 操作者类型,例如评级、排序、标签,以及©任务界面中的数据类型,例如文本、图像、社交媒体,来手动注释每个批次。
  • 设计参数——我们从 HTML 源代码中提取特征,以及反映任务设计决策的任务的其他原始属性。例如,我们检查任务是否包含说明、示例、文本框和图像。
  • 性能指标——我们计算了不同的指标来表征任务的延迟、成本和混乱,以帮助我们对任务设计的“有效性”进行定量分析。

精选市场洞察

让我们先来看看市场的高层次、整体运作。这是报纸上的一个小样本。

我们在市场上看到了什么类型的任务?

我们在图 2a 中按目标绘制了任务分解图;图 2b 中按运营商的细分;以及在图 2c 中由操作者对每个目标的分解。

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

Figure 2a: Goals

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

Figure 2b: Operators

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

Figure 2c: Goals broken down by Operators

查看图 2a,我们发现语言理解转录是迄今为止最受欢迎的目标,分别包含超过 400 万和 300 万个任务实例,其次最接近的任务目标情感分析仅跨越约 150 万个实例。我们还注意到,语言理解和转录任务相对具有挑战性,并且通常涉及复杂的操作人员作为构建模块(见图 2c)——这些很难自动化,因此市场管理员可能值得考虑培训和维护技术工人来完成此类任务。

查看图 2b,我们发现经典操作符、过滤评级被频繁使用,仅过滤就被用于超过 800 万个任务实例(是任何其他操作符的两倍多),并且被用于实现几乎每个目标(如图 2c 所示)。鉴于众包算法社区已经对这两个操作符进行了大量研究,并且它们可以进行算法优化,因此将已知的任务分配和响应聚合算法打包到它们的平台中对于市场来说是非常有价值的。

市场负载和由此产生的延迟有何不同?

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

Figure 3. Observations about the flux in marketplace load and corresponding latency

我们在图 3 中绘制了发布的任务和提货时间。总的来说,我们看到市场在任何给定的一周内任务实例的到达都有很大的变化,从中值任务负载的 0.0004 倍到 30 倍不等— —这意味着市场需要能够处理突然大量涌入的任务,并为停机做好准备。

同时,市场上的高负载通常伴随着较高的活动水平和较低的延迟,反之亦然。因此,市场能够吸引工人来为高需求期服务,这表明工人的需求经常没有充足的任务供应来满足。

少数请求者主导市场吗?

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

Figure 4. Heavy hitters

为了研究这一点,我们将任务实例分组为集群,其中集群被定义为一组具有相同任务描述和跨不同时间点发布的 ui 的批处理。我们在图 4 中绘制了顶部集群的发布率。看起来很大一部分任务和批处理来自几个集群;对这些集群进行微调可以带来丰厚的红利。这些“重量级”任务类型会迅速增加到稳定的活动流,然后完全关闭,之后该任务类型将不再发出。

任务设计建议

接下来,我们查看一些任务设计选择,并定量分析这些特性对测量任务“有效性”的三个质量度量的影响:延迟、成本(如果我们假设按小时计酬,可以通过任务时间来近似计算)和任务混淆(不同工作人员相互不同意的程度)。

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

Table 1: Impact of Images

图像(表 1):我们发现没有图像的任务的延迟是有图像的任务的 3 倍,任务时间增加了 40%。

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

Table 2: Impact of Examples

示例(表 2):我们发现有示例的任务比没有示例的任务有将近 4 倍的延迟,并且有大约 30%的不一致。

据我们所知,在之前的工作中,没有量化的证据表明例子和图片有帮助,尽管有大量的轶事证据支持同样的观点——所以现在你有了

与此同时,尽管在任务界面中包含图像和例子有明显的好处,但我们惊讶地发现大多数任务并没有这样做。

在我们的论文中,除了这些结果,我们还:

  • 检查其他设计特征对三个感兴趣的指标的影响;
  • 深入到具体的任务类型,检查相同的相关性,从而消除一些隐藏的变量;
  • 执行回归分析,根据给定的设计特征值预测任务的结果度量值;和
  • 找出在一个关键特征上不同的相似任务的具体例子。

工人特征

我们进行了几个独立的实验,以了解工人来源以及单个工人的特征。

人群工作者的 80-10 行为

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

Figure 5: Task completed by top 10% and bottom 90% of workers

我们将前 10%和后 90%的员工完成的工作按完成的任务分布绘制在图 5 中。我们发现只有 10%的劳动力完成了市场上 80%的任务。鉴于他们的经验,从活跃的员工那里收集定期反馈并与他们建立持久的关系可能是值得的。

工人来源及其影响

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

Figure 6: Quality of worker sources

这个特殊的市场聚集了来自 100 多个不同来源的员工,包括其他流行的众包市场,如亚马逊机械土耳其公司(Amazon Mechanical Turk)。有趣的是,我们注意到 AMT 员工在这个市场上花费的时间比其他主要来源的员工要少得多。Amazon Mechanical Turk(图 6 中的 amt )的员工在任何任务上平均花费的时间是平均任务时间的 5 倍。与其他主要来源的员工相比,他们的信任得分也较低(详见本文)。

在本文中,我们还深入研究了按地理位置、员工来源、任务数量、员工准确性以及长期行为(如活动天数和小时数以及活动寿命)划分的员工分布。

整体外卖

我们在实践中获得对群体工作的更好理解的工作对于设计群体驱动的算法和系统的学者和从业者有广泛的影响。

例如,理解各种类型的数据处理需求的相对重要性,可以有助于刺激未开发领域的研究;了解任务是如何拾取的,可以帮助学术界开发更好的延迟和吞吐量模型;了解员工的观点和参与度有助于设计更好的员工准确性和员工参与度模型;了解任务设计的影响可以帮助学者和实践者采用“最佳实践”来进一步优化成本、准确性和延迟。

承认

我们感谢国家科学基金会资助这项研究;我们感谢众包市场的人们为我们指出了这个丰富而迷人的数据集。

数据科学和加密货币套利:如何从中获利

原文:https://towardsdatascience.com/cryptocurrency-arbitrage-how-to-profit-from-it-e2d7bf805fde?source=collection_archive---------5-----------------------

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

From the “Last Days of Lehman Brothers

最近,我听到很多人在谈论“套利”,以及他们是如何做的,或者计划做的,或者他们是如何通过使用 YouTube 上的指令编程的“机器人”来套利加密货币,从而获得惊人的利润。

我甚至见过为上述活动筹集资金的 ico,没有提到套利的关键方面,团队缺乏正确的领域专业知识。

我也从硅谷、香港和纽约的程序员那里听说过这一点。对套利、高收益交易和金融工程略知一二后,我决定写我的第一篇中型文章,以说明什么是套利、它的不同风格,以及我所看到的加密货币的一些机会。我在这方面的知识既有学术方面的(MBA,金融;工程师、程序员)和实用性:我曾在纽约和伦敦为德意志银行(Deutsche Bank)构建自营套利 CDO 交易,最大的一笔交易总规模约为 30 亿美元;我在雷曼兄弟中也扮演了类似的角色(请看这段视频,T2 华尔街日报采访我时提到了 2008 年雷曼兄弟的破产)。

长话短说?是的,至少在 2017 年末之前,加密货币**【确定性套利】存在大量机会;“统计套利”仍有机会,其中有几个有趣的是“监管套利”。作为一名涉足加密资产领域的量化分析师和数据科学家,最让我兴奋的是我称之为“哈希套利”,**它触及了上述所有内容的某些方面,但它本身是独一无二的。

正如我提到的,在加密领域,仍然有一些机会;但是,知情的人不谈;不要发表论文,或“开源”他们的代码,或在 Kaggle 内核竞赛中披露部分代码。在分享知识方面,华尔街和硅谷截然相反。

《韦氏词典》对套利的定义如下:

几乎同时在不同市场购买和出售证券或外汇,以便从价格差异中获利

我不会在这里谈论我上面提到的所谓的“哈希套利”,关于监管套利,我只会引用 investopedia 的定义,这很好:

监管套利是一种企业利用监管体系中的漏洞来规避不利监管的做法。套利机会可以通过各种策略来实现,包括重组交易、金融工程和地理重新定位。监管套利很难完全防止,但可以通过堵塞最明显的漏洞从而增加规避监管的相关成本来限制其流行。

在我解释和区分确定性套利和统计套利,以及大多数加密货币交易者正在谈论的套利类型之前,我需要首先谈谈“做市”。

当参与者想要购买或出售金融产品时,他们需要前往买方和卖方会面的交易所。

他们可以交易的价格取决于当时产品的供求关系,这被转化为买入的买入价和卖出的要价。如果交易方有限,那么就不可能购买或出售产品,产品现在被认为是非流动性的。这个过程如下图所示:

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

为了保证流动性,交易所需要专业人士的参与,不断向市场提供买卖价差。

换句话说,这些专业人士做市,因此出现了“做市商”这个术语。

做市商对产品的价格应该上涨还是下跌没有意见,他们从买价和卖价之间的差价或价差中赚钱。

当做市商在价差的任何一边交易时,他们在市场中持有头寸,这转化为他们的风险。做市商将试图找到抵消这种风险的方法,比如用不同的产品对冲头寸。

因此,做市商不仅要了解他们做市的产品,还要了解与其他类似金融产品的关系。

随着时间的推移,竞争和技术极大地改变了做市商的工作,以便在多个交易所持续提供有竞争力的报价,并且多种产品需要运行交易算法的计算机以及电子交易所连接。

摩根大通(JPMorgan)、摩根士丹利(Morgan Stanley)和高盛(Goldman Sachs)等投资银行巨头主导了这种类型的金融活动,但据我所知,它们在加密货币市场上几乎没有出现,部分原因是监管约束。然而,有证据表明,高盛和摩根大通至少代表私人客户参与了一些交易,并可能很快将大量资源投入市场。

做市商需要不断投资于技术和人员,以保持竞争力并为高效的金融市场做出贡献。这些技术进步和竞争使得做市商的工作变得更加复杂。

做市商通过收紧买卖价差来降低买卖证券的交易成本,从而提供真正的好处。

现在,有了对流动性和技术影响的基本理解,我们可以区分两种主要的套利类型:a)确定性套利,和 b)统计套利。

a)确定性套利发生在投资者同时买入和卖出一项资产,试图从类似或相同证券的现有差价中获利的时候。套利技术使投资者能够自我调节市场,并帮助消除价格差异,以确保证券继续以公平的市场价值交易。

鉴于在交易遗留证券时技术的进步,从市场的错误定价中获利变得极其困难。如上所述,许多成熟的金融机构是这一领域的市场领导者,它们大量投资于 IT 基础设施和计算机化交易系统,以监控类似金融工具的波动。任何低效的定价设置通常都会被迅速采取行动,机会往往会在几秒钟内消失。正如我之前提到的,我曾经是一个定量分析师团队的成员,为我的雇主组织这些交易,并使用专有资本。你可以想象,当大型机构投资者投入大量资金和尖端技术时,临时交易者没有机会。

从 20 世纪初铁路股票交易火爆的日子开始;技术为拥有它的人提供了优势。它让一些将资本和技术结合起来的梦想家从加州和纽约证券交易所之间的巨大差价中获利。那些在当时拥有私人电话和电报等“尖端”技术的人,可以在波动时期找到加州和纽约某些铁路股票的价格,并让他们的经纪人执行无风险交易。

加密市场中的这种套利与传统证券中的套利没有什么不同。直到 2017 年底,这个资产类别中几乎没有机构存在,如果你知道 Python,一些基本的数据分析,也许还有一些金融的基本知识;你本可以赚些钱;可能你们中的一些人正在阅读这篇文章,可能把它称为“确定性套利”。

当然,有过为前雇主开发 arb 机会的经验,不久前我试图从加密市场的 arb 机会中获利;因为我已经从 2015 年开始挖掘并接触 BTC 和瑞士联邦理工学院。但对于 arb,我开发了自己的技术栈,并与美联储的一名前分析师合作,他也是一名博士定量分析师,对 C++、Python 及其科学栈有相当好的了解。我还从印度招募了一个了不起的 Python 和 C++程序员,他在几个项目上帮助了我。因此,三个在几个领域拥有专业知识的程序员在帕洛阿尔托认真地开始了这个项目,当时我们正在为一家公司开发人工智能,这家公司需要具有不同行业的时间序列分析知识的定量分析师。

为了让我们的现金发挥作用,我们首先需要量化市场及其风险。我们通过收集每笔加密货币交易的实时数据做到了这一点:100 多种不同货币对的逐笔价格和交易量信息;以及与它们的基础区块链和交易这些硬币的交易所相关的数百个其他因素,并将一切存储在 NoSQL 数据库中。

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

Early arb tracker — it did work

左边的图表显示了我们早期(2017 年 1 月)编写的 arb 跟踪器和执行代码的 GUI。

我将“Arb 事件”定义为时间的函数,并用我们收集的一些数据编制了一个表格。我们的分析显示,去年在频率和价值上最大的套利机会发生在 BTC-美元/USDT 和 BTC-瑞士法郎对。

例如,下表显示了从 2107 年 7 月 22 日到 2017 年 8 月 23 日不同交易所的 BTC-美元/USDT 的分笔成交点数据和分钟平均值。

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

Cryptocurrencies arb opportunities in different exchanges — 7/22 to 8/23 2017

在此期间,我们的分析显示,套利机会打开的平均时间约为 11 分钟,平均套利利润约为 6%。交易所 Exmo、OKCoin 和 LakeBTC 占了我在本文中选择显示的期间内所有 arb 机会的 2/3 以上。

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

但是怀着好奇的心,我们想找出 为什么这些机会存在 。下表显示,在超过 90%的交易中,中国交易所作为套利方之一参与其中。

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

Origination of arbitrage trading opportunities in the cryptocurrency markets

是什么创造了这些套利机会?随着时间的推移,他们是继续还是放慢了速度?

2017 年 9 月 4 日,中国宣布在该国禁止 ico,在接下来的几天里引发了市场修正。后来,禁令扩大到中国的交易所和一些采矿企业,一些运营商被给予 30 天的时间停止运营。

这些行动导致了几乎所有加密货币的修正;但与此同时,这也为我们追踪的加密货币市场创造了同样显著的盈利机会。

中国政府的这一决定是因为中国矿商在中国农村开展业务,利用了高额的补贴能源成本。在过去几年中,中国能源消耗的大幅增长与工业生产无关,而是脱钩的;这“迫使”中国政府至少在调查这个问题时采取行动。正如你们许多人所知,像比特大陆这样的公司(在采矿机械专用集成电路市场占主导地位)开始探索向亚洲其他一些地区以及北美和欧洲转移。套利机会之所以存在,是因为中国矿商(那里存在大量加密货币开采)“被迫”在中国当地交易所以折扣价出售其产品,这使得中国交易所的运营商能够从中国境外交易所的价格差异中获利。

那么,让我们继续解释“统计套利”。

b) 统计套利是一种高度量化和计算化的交易方法。它涉及数据挖掘和统计方法,以及自动交易系统。在这里,我们有对冲基金商店,如 Quantbot Technologies ,或 1500 亿美元的对冲基金 Bridgewater Associates ,或 2 适马,它们是这类活动的市场领导者,通过大量投资于技术,从华尔街聘请最好的量化分析师,并重新培训硅谷程序员和计算机科学家(在大多数情况下,他们对时间序列分析或金融领域专业知识的了解有限或为零)像量化分析师一样思考。然而,这些商店并不涉及加密货币,至少意义不大。

从历史上看,统计套利是从配对交易策略演变而来的,在这种策略中,股票根据基本面或基于市场的相似性被配对。当一对股票中的一只表现优于另一只时,表现较差的股票被买入做多,预期它将向表现更好的股票攀升,另一只股票被卖空。从数学上讲,策略是找到一对协整高的资产。

*在统计套利中,投资组合的构建包括评分阶段,在这个阶段,市场中的每种资产都被分配一个反映其可取性的数字分数或等级;有点像谷歌的网页排名,但对于金融资产。评分非常直观,因为高分表示“做多”,低分表示“做空”。

有一个风险降低阶段,将资产按照精心匹配的比例组合成一个投资组合,以消除风险。但是很明显,once 必须意识到这些风险,这也是偶然的密码交易员无法通过测试的地方。*

量化商店和对冲基金的这种评分方式很吸引人,而且高度专有。显然,评分公式的细节各不相同,而且高度保密。我有自己的,一直应用到加密货币交易,甚至挖矿;并且它也适用于其他资产,但是在不同的时间范围内。

广义而言, 统计套利是指任何利用统计和计量经济学技术,为执行 提供信号的策略。可以预料,统计套利已经成为对冲基金和投资银行的主要力量,许多自营业务在不同程度上围绕着统计套利交易。

所以,回到加密货币交易商,他们声称已经将一些套利机会货币化;在我看来,他们还没有实现严格意义上的套利利润。

套利的定义指出“当一个投资者同时买入和卖出一项资产时,就发生了套利”。目前,在不同的区块链核查交易,速度不是“几乎同时”。最好的情况是,有 10-15 分钟的风险窗口,如果根据中值波动性进行调整,加密市场的风险要比股票市场大得多。

虽然我遇到的一些加密交易者在某些情况下实现了一些利润,但也有一些风险,主要是在他们在交易所“X”获得加密货币“A”的时间窗内持有货币,将其转移到交易所“Y”,并在那里出售。除了市场风险敞口,他们还承担了不同交易所的信用风险,以及许多操作风险。由于没有意识到这些风险,也不知道如何量化它们,这就造成了已经实现套利利润的“幻觉”。事实上,那些声称已经实现利润的人是幸运的,流动性风险没有对他们不利。在牛市中,每个人看起来都很聪明。

为了增加从 crytpo 市场的 arb 机会中获利的几率,我会说你必须瞄准我在这里提到的 3 种套利类型中的至少 2 种,即确定性套利、统计套利和监管套利。

通过自定义代码,我们目前分析加密货币交易所订单簿交易账户,这提供了对市场的许多见解;加上很多其他因素。我们的代码能够:

  1. 指出低风险的入口和出口点,
  2. 检测价格和数量数据中的异常值,
  3. 检测波动率变化的高概率,
  4. 在给定的时间框架内建立最佳的资产组合。

所有这些都旨在在风险调整的基础上超越基准。

那么,人工智能管理的加密投资组合与 BTC 买入并持有相比,或者与被动的指数策略如 Bitwise 的加密货币指数基金相比,表现如何呢?。下面的图表(你可以在这里找到 Tableau 版本)显示了每种策略下投资 10,000 美元的收益。

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

Bitwise top 10, vs BTC buy and hold, vs an A.I. managed portfolio

2017 年 1 月 1 日在 BTC 投资的一万美元到 2018 年 4 月 5 日增长到大约 69000 美元。同样的$10K 在 Bitwise 的 10 大指数中增长到约 97K 使用 stat arb 方法在人工智能管理的投资组合中增长到大约 17 万美元。所有的指数都考虑了滑点和交易成本。

我见过金融科技领域有良好(理论上)理论模型的风投基金初创公司,但我怀疑(就我所见)这些模型会在 2008 年雷曼兄弟(Lehman)倒闭或 LTCM 危机前后的情景中崩溃。这些创业公司开发的许多底层机器学习模型很少(或根本不)考虑紧张的宏观经济场景和隐藏的运营风险。我想一些新投资的对冲基金,带着新的资本,冒险进入加密领域,也没有考虑到这些风险。

因此,为了以正确的方式从加密货币套利中获利,在你投入任何资本之前,先量化你能想到的所有风险;做大量的样本外测试。此外,领域专业知识大有帮助,所以如果你没有接触过专业交易;尝试与和你有共同兴趣,但在现实世界中有一些金融工程经验的人合作。

你可以在这里关注我或者问下面的问题。

干杯

注来自《走向数据科学》的编辑: 虽然我们允许独立作者根据我们的 规则和指导方针 发表文章,但我们不认可每个作者的贡献。你不应该在没有寻求专业建议的情况下依赖一个作者的作品。详见我们的 读者术语

创业公司中的文化差异

原文:https://towardsdatascience.com/cultural-nuances-in-startup-b6df7984af43?source=collection_archive---------11-----------------------

文化差异无处不在——学校、工作场所、人际关系,创业领域也不例外。不同地区的创业公司最看重什么概念或创意?创业公司在全球各地的营销方式不同吗?来自 RISE 2018 创业榜单的数据告诉了我们一些有趣的故事,从电梯推介到公关渠道。

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

崛起大会

RISE 2018 是在香港举行的为期 4 天的科技大会,初创公司设立展台展示产品,投资者寻找具有高潜力的公司,行业领袖分享他们的见解。

今年,在为期 4 天的活动中,来自 58 个国家的 750 多家初创公司参展。香港吸引了超过 150 家本地初创企业参展,随后是印度、新加坡、马来西亚和美国。大多数公司总部设在亚洲,但我们也看到来自欧洲、南美和非洲不同大陆的公司。

金融科技电子商务&零售是所有 25 个行业中最受欢迎的类别,分别有 104 家和 103 家公司加入。特别是香港的 Fintech 带来了 35 家公司,在所有地区-行业配对中名列榜首。

我去年 7 月去过那里,那真是大开眼界(至少对我来说)。今年我没有拿到门票,但我在 RISE 网站上找到的数据同样有趣,如果不是更多的话。

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

58 regions participated

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

top 20 countries — most are based in Asia

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

电梯推销术

有趣的部分开始了——所有的初创公司都被要求提供“电梯推介”

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

大多数公司给出了一个 17-18 个单词(平均值-中间值)的标语,概括了他们是谁以及他们提供了什么(可能与电梯推销中的预期不同)。但是有一个 outliner——网络峰会——放一个 92 字的段落!

Web Summit is a global technology conference company headquartered in Dublin, Ireland. We run a series of international gatherings across the world. Our flagship event is Web Summit, currently held in Lisbon, Portugal. In the last eight years, Web Summit has grown from a small team to a company of over 200 focused on disrupting the conference industry through technology and data science. In 2018, over 100,000 startups, investors, speakers and attendees will gather at Web Summit events, including MoneyConf in Ireland, Collision in the North America and RISE in Hong Kong.

如果你不知道,网络峰会是举办 RISE 会议的团队。

嵌入产品线的概念

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

most common word stem (lemma)

以上是使用所有电梯营销中最常见的“单词”的公司数量(它们可能不是实际使用的单词,而是单词的基本形式——“lemma”)。

在常用词中,“平台”是使用频率最高的,有 177 家公司使用了这个词。平台创业永远不会老。还是平台即服务?

许多创业公司都包含类似“服务”、“解决方案”、“提供”、“帮助”这样的词语——提供服务和解决方案是许多创业公司想要传达给客户的一个关键理念。

毫无疑问,艾(排名第 8)和(排名第 12)名列前茅。也许几年后,人工智能将会名列榜首?或者另一种情况,只有少数公司会把“人工智能”放在他们的营销线上,因为它不再值得一提。

艾是新电 —吴恩达

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

countries with startups using “blockchain” in their elevator pitch

除了人工智能,“区块链”是另一个热门主题,主要出现在香港和新加坡,每个城市都有 12 家公司的口号中包含这个词。相对而言,“区块链”在新加坡更受欢迎,因为它在新加坡排名第二,而在香港,它在电梯推介中仅排在第十位。

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

其他概念,如 IoT(物联网)、云和密码/加密货币(少于 15 家公司)等,没有最初预期的那么受欢迎。尤其是“区块链”和“密码”之间的受欢迎程度差距——这可能表明的初创公司更愿意将自己推销为“区块链”公司,而不是“密码”公司。

文化差异和行业趋势

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

% of companies using the top 20 common words in each region

我们已经知道“平台”是初创公司非常常见的主题,在上面的热图中,我们确实观察到不同地区的一些相对偏好。泰国、印度、马来西亚、香港看起来更像是“平台”,在韩国相对没那么受欢迎(文化差异?).

这种分布确实反映了一些有趣的文化差异模式。韩国创业公司更侧重于“我们”(-PRON-)、“服务”和“技术”;印尼强调“解决方案”、“ app ”、“平台”;比起其他国家的初创公司,香港、印度、韩国和美国的公司更喜欢称之为“世界”;菲律宾“上线”,“有事”,“有事联系”。

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

% of companies using the top 20 common words in each industry

对于行业的衡量标准也有几句话要说。如果你不是一家电子商务公司,声称自己是“在线”可能是多余的。硬件&物联网公司很可能是某个东西的解决方案。广告&营销、大数据以及企业解决方案初创公司正在将更多的 AI 概念应用到他们的产品中。如果你不是一家金融科技公司,但你确实想脱颖而出,考虑在你的电梯推介中加入“区块链”(如果这有意义的话)。

公关渠道

除了电梯推销之外,初创公司还被要求提供脸书、Twitter、Linkedin 等公关渠道的网址,以及像 CrunchbaseAngelList 等初创平台的个人资料页面。

下面的热图显示了每个地区拥有相应公关渠道的公司的百分比。(我认为,假设初创公司会填写表格是有道理的,如果他们维持这样的渠道,除非他们真的很懒……)

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

% of companies within each region having a certain PR channel

对社交媒体渠道(脸书、推特、Linkedin)的观察

#1: 脸书是许多东盟国家(马来西亚、菲律宾、泰国)、台湾和香港的主要渠道。而美国和澳大利亚的公司似乎更关心 Twitter。

#2:乍一看,韩国的初创公司似乎不太依赖社交媒体作为公关渠道(排名最低)。虽然这可能是真的,但也可能是因为本地化的社交媒体(Naver、Kakao 等)在韩国非常受欢迎,因此脸书、Twitter 和 Linkedin 等西方世界的社交媒体可能不是他们的首选。

#2.5:中国也有与韩国相似的模式,但原因可能不同。脸书和 Twitter 被中国的防火长城屏蔽了,但 Linkedin 没有,这解释了 Linkedin 比脸书和 Twitter 高出 20%的原因。

对创业概况的观察(AngelList、Crunchbase、新闻稿)

#3: AngelList 在大多数地区的覆盖率似乎相对较低,尤其是在东盟国家、韩国和台湾。但 AngelList 在美国初创公司中更受欢迎(59%比 52%),两家公司都是美国公司。

4:中国大陆和台湾似乎比其他地区的同行更重视“新闻稿”,都有超过 50%的公司提供新闻稿链接;另一方面,美国公司不太关心“新闻稿” (36%),但在 AngelList (59%)和 Crunchbase (52%)中更看重初创公司简介。

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

% of companies within each industry having certain PR channel

在行业方面,这种模式似乎更加明显。

对于生活时尚领域的初创公司来说,脸书几乎是必不可少的(94%),而 Linkedin 个人资料更像是可选的(56%)。一般来说,医药创业公司做的公关最少,可能是因为他们的客户是关心实际技术的机构,受炒作和营销的影响较小。

在人工智能和机器学习领域,Linkedin 与(脸书+ Twitter)的相对重要性是相反的——也许他们的客户更加专业?(但我们没有在企业解决方案领域进行观察,因此这可能是一种过度解读)。

结论

我发现一些趋势和观察像是“常识”——作为一个香港人,我知道 Twitter 不如脸书受欢迎,中国屏蔽了脸书和 Twitter。有些观察结果可能是过度解读,这是正常的,因为我们没有采用非常稳健的统计方法来得出这些观察结果。但一些见解确实激励我更深入地思考,并尝试联系我们现有的知识,比如韩国和中国的公关渠道。

数据和分析可以在我的 github 中找到。在笔记本中,我准备了一些交互式可视化(从交互式世界地图到使用单词嵌入的 t-SNE 可视化),但后来我意识到没有办法将其嵌入到这篇文章中。但是我仍然在探索这个数据集的过程中获得了很多乐趣,我希望你也喜欢阅读这个。

模糊时代的文化映射

原文:https://towardsdatascience.com/culture-mapping-in-the-age-of-ambiguity-4836f681c033?source=collection_archive---------4-----------------------

蒂姆股票 & 玛丽·莱娜·图波特

我们生活在一个模糊的时代。技术进步和全球经济增加了社会复杂性,迫使我们对世界事物变化的理解发生了变化。在复杂而模糊的环境中,长期的成功依赖于两大支柱:创造力和社会。新的思维方式对于理解动态的全球格局至关重要。然而,世界经济论坛的 W. Lee Howell 指出科技进步加上当今复杂的社会问题对理解创新以及创新如何为所有人创造价值提出了挑战。

人们被大数据淹没,无法提取他们需要的信息;问题是如何组织数据以获取有意义的信息,而不是与大量的统计数据打交道。因此,他们倾向于回归传统技术——这些技术不是为当今复杂或模糊的世界设计的。我们错过了数据中的故事。我们看不到未来的发展。

什么是文化?

文化是一个动态的、相互关联的系统。文化洞察力的深刻机会在于特定意识形态、特定地点和特定时间点的人们正在采用和适应的模式。

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

Meanings emerge only in relationship between data points.

可视化有助于说明从文化中演化出来的复杂的社会关系。在这个模棱两可的世界中,新的思维方式变得至关重要,这要求摆脱对任何一个数据点或文化特征的关注,并开发有助于显示点之间关系的数据和可视化策略。意义只出现在点与点之间的关系中。

例如,只关注我们作为一个社会如何重视汽车作为一种交通方式,而不考虑汽车与我们自己的人际进化和性自由概念的关系是不够的。毫无疑问,汽车运送人们不仅仅是从一个地方到另一个地方。他们允许人们维护自己。汽车让人们超越国界。它们拓展了人们生活的空间。传统的研究可能会错误地认为答案是更多的汽车。但是背景故事与汽车无关,更不用说更多的汽车了。是关于眼界的拓展。问题是能做些什么来扩展视野?随着这些关系的确定,直觉可以被重建,定量方法的拐杖可以被最小化。

文化是一个可测量的系统

在这个模棱两可的世界里,成为文化流行病学家是必不可少的。研究必须采取更加细致和归纳的方法来收集洞察力。我们必须对数据有耐心,并更多地关注具有重大影响的较小信号。每件事都必须与所有其他因素联系起来权衡。这就是为什么像这样的领导人提出了这个发人深省的想法,“在人工智能方面领先的国家将成为世界的统治者。这是一个有效的观察。

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

Our research must anticipate adaptation and immune responses.

因此,尽早识别文化信号变得至关重要。将人类表达视为社会系统的一部分,可以预测适应性和免疫反应。通过制定考虑黑天鹅的行动方案,可以获得巨大的价值。我们解读意外的能力只能来自对文化如何运作的系统观点。这里的关键词是“视图”一旦导致市场过饱和的过程暴露出来,它的路径就变得明显要避免。相反,那些曾经细微的意识形态转变可以在发生之前被积极地看待,并自信地投资于长期的经济和社会影响。

“我们所知道的所有进化都是从模糊到明确的过程.”—查尔斯·桑德斯·皮尔士(美国哲学家、实用主义之父)

我们必须明白,这些文化系统是可测量的,这使得科学能够回到研究文化动态和意义创造是如何构成的。随着下一代技术和机器学习的发展,我们的方法可以更好地利用这一现实。

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

将科学转化为技术

根据作家约翰·兰卡斯特最近在《纽约客》上发表的文章文明如何开始,“然而,在人类历史的大部分时间里,技术与科学毫无关系。我们许多最重要的发明都是纯粹的工具,背后没有科学方法。”做饭前先有火。肥皂比青霉素等预防了更多的死亡。

这几乎就是当今世界数据和技术的现状。有很多技术,很多数据,但是缺少方法。

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

Culture Mapping Matrix

出于这个原因,经过十年的严格测试和调整,我们用实用专利锁定了我们的人类学方法。我们的方法一如既往——甚至在大数据时代之前——帮助我们组织和理解不断涌入的文化数据和趋势。它通过利用语言作为最强大的人类数据形式来工作,提供了一个丰富的视角来了解事物是如何真正与衡量表达的符号矩阵相违背的。输入语言数据,或“文化能指”,创建一个有助于识别和构建认知空间的地图。这些空间是语言聚集的地方,也是新习惯和新行为出现的地方。一个群体对世界的感知可以用语言分类法来表示,这些分类法在矩阵结构中显而易见。

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

A Cartesian grid quantifies points on the matrix and relationships between points

这些语言符号在每个象限中充当文化符号,形成一个模式化的、可测量的逻辑。原型和代码从能指群中浮现,将基本的人类叙事置于语境中。出现的逻辑和随之而来的算法量化了原型可能如何独特地响应。例如,放在四个象限的上下文中的“有机”一词,在与其他变化的能指相关时,意义发生了变化,从而产生了反应。出现的故事是亲属关系的基础。它们阐明了新出现的趋势,有助于理解社会适应。这有助于利用文化变革的模式和动力。

文化图谱有着广泛的应用

这并不是说在数字数据存在之前,就有信息可以映射。但是,有时,这一点被遗忘了。研究往往始于并止于可以通过数字手段获得的东西。毫不奇怪,它的成本效益在它的直接使用。然而,数字制图可以扩展到野外工作,反之亦然。目标是将看似不同的数据放在同一个测量平面上。

使用这种结构,可以实现和增强语料库的更广泛的互相关。还可以开发招聘的认知框架,并且可以构建进一步查询的语言逻辑。这些预测框架可以随着时间的推移进行测试和发展。

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

The hidden meanings in fieldwork emerges in cross-correlation of data sets

这种方法在充满挑战的研究市场中表现出明显的价值。例如,当在日本进行民族志实地调查时,传统的方法有所欠缺,而更现代的即兴采访方法受到怀疑。直接提问是不正确的,因为受试者会小心翼翼地透露他们的真实感受,以免被冒犯。这种现象并非日本独有——事实上,它在全球范围内因学科而异。访谈和调查天生无法捕捉意义和意图。

然而,结合多层数据分析和人种学可以解开研究中的一些难题。允许冗长与网上出现的更大范围的社会符号联系起来。这种混合方法有助于研究人员了解如何招募受试者,并有助于开发持续的小组和寻找现实生活中的灵感。筛选过程的意识形态演变给出了社会背景下个人的更大图景。这种对招聘细分的认知方法可以使互动不那么直接,而对主题和活动中的自然互动更加开放。

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

利用新兴技术

研究人员的沙箱被创建,这对于集成机器学习和补充 API 是有用的。图像识别 API 可以帮助我们对更大的视觉信息数据集进行分类。放入我们的框架中,图像集群作为一个集体讲述它们自己的故事。图像中有视觉细节,可以分类,然后搜索。单词和图像可以在它们的独特配对中进行评估,这些结构可以用于运行更大的搜索查询来收集近邻相关性。我们还可以分析图像与特定关键字的独特配对,这些关键字与我们矩阵中的独特认知空间相关联。该结构为所有这些新兴的识别引擎提供了可能性,包括可以对手势和声音进行分类的识别引擎。关键是数据的结构如何使这些识别引擎在理解文化变化方面更加实用。

哄骗出诗歌和故事

将数据中的诗意哄出来将真正的分析与计算分开——19 世纪英国数学家阿达·洛芙莱斯强调了分析引擎通过编程解决任何复杂问题的能力,这不同于计算机器。

“数学科学展示了什么是。它是事物之间看不见的关系的语言。但是要使用和应用这种语言,我们必须抓住看不见的、无意识的东西。”

——阿达·洛芙莱斯(英国数学家和作家)

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

The Patterns of Dissent and Aspiration

归根结底,数据是关于人的。研究结果必须更好地反映这一事实,尤其是如果人们被期望根据研究结果采取行动并实施策略的话。调查结果必须真实,并引起共鸣,才能引起关注。利用荣格原型是将发现带入生活的一种方式。它们作为文化能指的基础,揭示了人物实际上是信仰和意识形态系统中的点——从作为文化异议点的反叛者到将语言正常化为一种社会货币形式的英雄和情人。

原型代表了一个进化的过程。研究人员可以在任何给定的时间,在不断变化的社会力量背景下进行测量。衰退引发了一种免疫反应文化,在重建文化规范的过程中,这种文化高度重视反叛者和圣人。许多在 2009 年触发的早期信号现在被表达为社会规范和适应方式。经济衰退后瑜伽在美国文化中的演变就是一个很好的例子。从自我实现到作为社会徽章的瑜伽裤,与意义的起源无关。

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

基于文化开发新的 KPI

在讨论希望从数据中得到什么时,经常会用到 KPI(关键绩效指标)这个词。不同企业对这些指标的定义非常松散。社会背景下的适应性行为是唯一重要的指标,这种指标需要从意识发展到信仰体系。期望该指标用一个点来表示是不正确的。对这种绩效概念的需求可以从过去十年公司的兴衰中得到证明,像零售业这样的类别同时处于危机和重生之中。大品牌正在收购文化正宗的初创公司,以抵消其核心产品组合中销售额的下降。衡量未来成功的唯一标准是这些公司如何看待文化变革的复杂性,以及如何制定正确的参与行动措施。随着城市的发展,郊区的新机会开始以新的方式出现。随着手工食品被过度营销,在食品生产的科学方法开始被回收和整合。

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

作为文化体系的食物

想想 20 世纪 60 年代超市是如何设计的。在消费主义蓬勃发展的几十年里,食物反映了对技术和进步的意识形态肯定。这种常见的食品购物观念已经发生了巨大的变化——最显著的变化发生在我们最近的生活中。它的变化不是由营销者或城市规划者促成的,而是由推动变化的文化网络系统促成的。在全食食品出现之前,食物框架的含义经历了几十年的演变。这一含义与二战后食品生产中社会规范的政治反应直接相关。从罗代尔健康和保健书籍到艾丽丝·沃特斯到常伟,这些网络定义了我们如何生活、如何庆祝,进而定义了我们如何烹饪,并最终定义了我们如何成长。

研究倾向于将消费的这些方面孤立起来,这样就错过了某些关键趋势的兴衰。如果你想看到食物的未来,那就去找有创造力的厨师吧。他们是农场和每个人餐桌之间的桥梁。但是他们不仅仅在厨房里,他们还在游说和孵化。将种植和培育食物的新符号语言构建成可以理解和分享的技术的过程至关重要。对于那些想要建立面向未来的品牌组合的公司来说,整合的文化参与是一种更强有力的经济地位。

预测奢侈品泡沫

可视化这些文化系统有助于更好地描绘文化稀释和泡沫。把奢侈品的文化体系当作另一个例子。奢侈是在深奥和允许之间不断寻找平衡。在互联网发展的这些年里,它受到了意义元素被轻易重新分配的困扰。当每个人都知道它,并且能够以某种方式访问它时,最初的意义就消失了。它在奢侈品的支柱之间创造了一种意识形态的张力,这些支柱是目的、真理、自由和等级。绘制地图揭示了这些支柱的动态,并准确展示了在何处、何时以及如何进行克制。

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

过度促销会扼杀一个品牌。随着美国和欧洲市场在衰退后下滑,许多传统品牌都犯了这个错误。地图的一个很好的应用是了解一个品牌如何在多种实体和虚拟零售环境中表达自己而不降低意义。研究人员和品牌经理可以为品牌编排一个分层的元叙事,以区分零售环境,从而平衡艺术与易用性。一个不能做得太重而不伤害整体。像 Gentle Monster 这样的品牌通过允许其实体零售店更多地发挥景观和知识获取的功能,很好地执行了这一现实。为什么?因为该品牌了解人们在网上购买产品的便利性。温柔怪兽是一个设计师品牌,在“创新高端实验”的理念下不断发展这给了品牌喘息和创新的空间。

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

回溯更好的未来

回溯是一种设计研究方法,在这种方法中,确定一个理想的未来,然后反向工作,以调整政策和计划,将指定的未来与现在联系起来。在文化映射的情况下,行为原型建立了未来的愿景,以及随着时间的推移可以在上下文中连接的方式。例如,在 2007 年,自行车介于兰斯·阿姆斯特朗所代表的阳刚之气和童年周末骑自行车的琐碎之间。这个类别被定义为休闲。未来将把自行车作为交通工具不可分割的一部分。但是支持这一观点的传统数据还不存在。这项研究需要挖掘文化运动。2002 年加拿大的裸体自行车骑行是最近第一次自行车被用于抗议——始于艺术家促进和平/艺术家反对战争(法新社/AAW)。从那时起,像临界质量这样的支持自行车的抗议运动作为一种收回街道的方式出现,随后是激进的城市规划行动主义,导致围绕自行车交通考虑重建的适合步行的城市。这些事件预示了自行车和城市的发展方向。未来是流动而平凡的。

方向变化的迹象总是存在于文化中;我们只需要知道去哪里找证据。文化图谱为我们指明了正确的方向,为我们提供了处于进化前沿的优势,既给人以先见之明,又为新的社会方向做好了充分的准备。

在社会日益复杂和模糊的时代,任何地方的任何社会现象都可以用这些工具来观察,文化图谱有助于简化和提供清晰度。如果我们把我们的研究方法与文化的实际运作同步,我们就能培养出一种新的文化素养。

医疗保健机器学习和自然语言处理资源精选列表

原文:https://towardsdatascience.com/curated-list-machine-learning-and-nlp-resources-for-healthcare-35ef6e26ac89?source=collection_archive---------5-----------------------

2017 年 12 月 20 日更新随着我将这个项目转移到下面的 GitHub 库,这篇文章将不再更新。在那里你可以找到一个更新的列表。如果您有其他建议,请制作一份 PR 来帮助填补缺失区域和公开问题。

[## isaacmg/healthcare_ml

医疗保健 ml -医疗保健 ML|NLP 资源的精选列表。

github.com](https://github.com/isaacmg/healthcare_ml)

为那些对 ML 和 NLP 在医疗保健中的应用感兴趣的人列出了有用的论文、代码、教程和会议。更多的来源将被添加,所以经常检查回来。欢迎在评论中留下反馈或建议。

教程/研讨会

医疗保健领域精准医疗的 NLP(ACL 2017)

医疗保健应用的深度学习:挑战和解决方案 (ICML 2017)

机器学习与健康研讨会 (NIPS 2016)

有趣的论文

皮肤科医生级别皮肤分类皮肤癌与深度神经网络(Nature)

艾医生:通过递归神经网络(MLR)预测临床事件

利用机器学习分析和改进缺血性心脏病的诊断 (NIH 经典文章)

心脏病专家心律失常等级分类(斯坦福)

用于医疗诊断的机器学习(经典 2006 年文章)

里维医疗保健深度学习 w,机遇与挑战(牛津学术 2017)

会议/聚会(特定于此主题)

医疗保健领域的机器学习(MLHC)

医疗保健会议中的机器学习

Github 仓库

[## mp2893/doctorai

人工智能医生项目的知识库

github.com](https://github.com/mp2893/doctorai)

竞争

数据科学碗 2017-肺癌检测

【2016 年数据科学碗-在磁共振成像中估计心脏收缩容积

Luna16 (诊断肺癌)

个性化医疗重新定义癌症

遗产健康奖

NCBI 黑客马拉松

SVI 艾

数据集

[## 模拟重症监护数据库

研究人员可免费获得的重症监护数据。

mimic.physionet.org](https://mimic.physionet.org) [## 数据集-癌症报告的国际合作

编辑描述

www.iccr-cancer.org](http://www.iccr-cancer.org/datasets) [## 癌症影像档案(TCIA) -不断增长的癌症医学影像档案

癌症影像档案(TCIA)是一个大型的癌症医学影像档案,可供公众下载。所有…

www.cancerimagingarchive.net](http://www.cancerimagingarchive.net) [## 斯坦福大学

这些基因型是在 Illumina 650Y 阵列上生成的,GenCall 得分截止值为 0.25。整体调用的样本…

www.hagsc.org](http://www.hagsc.org/hgdp/files.html)

课程/其他

[## 6.S897/HST。S53:面向医疗保健的机器学习

探索临床和医疗保健应用的机器学习方法。涵盖算法公平的概念…

mlhc17mit.github.io](https://mlhc17mit.github.io) [## 医疗保健和人工智能领域被引用最多的 3 项研究

健康家里有机器人医生吗?人工智能是许多行业的热门话题,但…

quid.com](https://quid.com/feed/paging-dr-robot-how-ai-will-transform-healthcare) [## pydicom/pydicom

用 python 代码读取、修改和写入 dicom 文件

github.com](https://github.com/pydicom/pydicom)

好奇心驱动的学习变得容易第一部分

原文:https://towardsdatascience.com/curiosity-driven-learning-made-easy-part-i-d3e5a2263359?source=collection_archive---------3-----------------------

本文是🕹️. tensor flow 深度强化学习课程的一部分点击查看教学大纲

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

OpenAI Five contest

近年来,我们在深度强化学习方面看到了很多创新。从 2014 年的 DeepMind 和深度 Q 学习架构到 2018 年的 OpenAI 与 OpenAI five 玩 dota 2,我们生活在一个令人兴奋和充满希望的时刻。

今天我们将学习好奇心驱动的学习,深度强化学习中最令人兴奋和最有前途的策略之一。

强化学习基于回报假设,即每个目标都可以被描述为回报的最大化。然而,当前外在奖励(即环境给予的奖励)的问题是这个函数是由人硬编码的,不可扩展。

好奇心驱动学习的想法是建立一个奖励函数,它是代理固有的**(由代理自身生成)。这意味着代理将是一个自学者,因为他既是学生,也是反馈大师。**

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

听起来很疯狂?是的,但这是一个天才的想法,在 2017 年的论文通过自我监督预测的好奇心驱动的探索中再次提出。第二篇论文好奇心驱动学习的大规模研究改善了结果。

他们发现,好奇心驱动的学习代理表现得就像他们有外在奖励一样好,并且能够更好地概括未探索的环境。

编辑:自 90 年代以来,好奇心一直是强化学习研究的一个主题,J. Schmidhuber 先生的出色工作,你可以在这里阅读

在第一篇文章中,我们将讨论这个理论,并解释好奇心如何在理论上驱动学习。

然后,在第二篇文章中,我们将实现一个好奇心驱动的 PPO 代理来玩超级马里奥兄弟。

听起来很有趣?让我们开始吧!

强化学习中的两个主要问题

现代 RL 面临两个问题:

首先,稀疏奖励或不存在奖励问题:即大多数奖励不包含信息,因此被设置为零。然而,由于奖励是对 RL 代理的反馈,如果他们没有收到任何反馈,他们对哪种行为是适当的(或不适当的)的知识不会改变。

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

Thanks to the reward, our agent knows that this action at that state was good

例如,在 Vizdoom“末日家园”中,你的代理只有在找到防弹衣时才会得到奖励。但是,马甲离你的起点很远,所以你的大部分回报会是零。

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

A big thanks to Felix Steger for this illustration

因此,如果我们的代理没有收到有用的反馈(密集奖励),它将需要更长的时间来学习一个最优策略。

第二个大问题是外在奖励函数是手工制作的——也就是说,在每个环境中,一个人必须实现一个奖励函数。但是我们如何在大而复杂的环境中扩展它呢?

一个新的奖励函数:好奇心

好奇心是一种内在的奖励,它等于我们的代理人在给定其当前状态的情况下预测其自身行为后果的误差(也就是在给定当前状态和采取的行动的情况下预测下一个状态)。

为什么?因为好奇的想法是鼓励我们的代理人采取行动,减少代理人预测其自身行动结果的能力的不确定性(在代理人花费较少时间的区域**、或具有复杂动态的区域**,不确定性会更高)。

因此,测量误差需要建立环境动力学模型,在给定当前状态和行动 a 的情况下预测下一个状态。

这里我们可以问的问题是,如何计算这个误差?

为了计算好奇心,我们将使用第一篇论文中介绍的一个模块,称为内在好奇心模块。

介绍内在好奇心模块

需要一个好的特征空间

在开始描述模块之前,我们必须问自己给定我们当前的状态和我们的动作,我们的代理如何预测下一个状态?

我们知道,我们可以将好奇心定义为给定我们的状态 st 和动作 at 的预测新状态(st+1)与真实新状态之间的误差。

但是,请记住,大多数时候,我们的状态是 4 帧(像素)的堆栈。这意味着我们需要找到一种方法来预测下一个帧堆栈,这非常困难,原因有二:

首先,很难直接预测像素,想象你在厄运中你向左移动,你需要预测 248*248 = 61504 像素!

第二,研究人员认为这不是正确的做法,并举了一个好例子来证明这一点。

想象一下,你需要研究树叶在微风中的运动。首先,对微风建模已经很难,因此在每个时间步预测每片树叶的像素位置要困难得多。

问题是,因为你总是有一个大的像素预测误差,代理将总是好奇,即使树叶的移动不是代理动作的结果**,因此它的持续好奇是不可取的。**

Trying to predict the movement of each pixel at each timeframe is really hard

因此,我们需要将原始的感觉输入(像素阵列)转换成一个只有相关信息的特征空间,而不是在原始的感觉空间(像素)中进行预测。

我们需要定义什么规则必须尊重一个好的特征空间,有 3 个:

  • 需要对代理可以控制的事物进行建模。
  • 还需要对代理无法控制但可以影响代理的事情进行建模。
  • 需要不受不受代理人控制且对其没有影响的事情的影响。

举个例子,你的代理是一辆汽车,如果我们想创建一个好的特征表示,我们需要建模:

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

The yellow boxes are the important elements

我们的车(由我们的代理控制),其他的车(我们不能控制但可以影响代理)但我们不需要对树叶建模(不影响代理我们也不能控制)。通过这种方式,我们将获得噪声更少的要素制图表达。

期望的嵌入空间应该:

  • 在尺寸上要紧凑(去掉观察空间中不相关的部分)。
  • 保存足够的观察信息。
  • 稳定:因为不稳定的奖励让强化代理很难学习。

内在好奇心模块

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

ICM Taken from the Paper

内在好奇心模块是帮助我们产生好奇心的系统**。**由两个神经网络组成。

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

请记住,我们只想预测环境中的变化**,这些变化可能是由于我们的代理的行为引起的,或者会影响代理,而忽略其他变化。这意味着,我们需要将感觉输入转换成一个特征向量,其中只表示与代理执行的动作相关的信息,而不是从原始感觉空间(像素)进行预测。**

为了学习这个特征空间:我们使用自我监督,在给定代理的当前和下一个状态(st 和 st+1)的情况下,在预测代理动作(t)的代理逆动力学任务上训练神经网络。

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

Inverse Model Part

由于神经网络仅需要预测动作,它没有动机在其特征嵌入空间内表示环境中不影响代理本身的变化因素。

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

Forward Model Part

然后,我们使用该特征空间来训练前向动力学模型,该模型在给定当前状态 phi(st)和动作 at 的特征表示的情况下,预测下一状态 phi(st+1),的未来表示。

并且我们将正向动力学模型的预测误差提供给代理作为鼓励其好奇心的内在奖励。

好奇心=预测值 _phi(st+1) — phi(st+1)

因此,ICM 中有两种模型:

  • 逆模型(蓝色):将状态 st 和 st+1 编码成特征向量 phi(st)和 phi(st+1),训练成预测动作βt

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

Inverse Loss function that measures the difference between the real action and our predicted action

  • 正向模型(红色):以 phi(st)和 at 为输入,预测 st+1 的特征表示 phi(st+1)。

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

Forward Model Loss function

那么从数学上来说,好奇心将是我们预测的下一个状态的特征向量和下一个状态的真实特征向量之差。

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

最后,该模块的整体优化问题是反向损耗、正向损耗的组合。

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

那真是浪费了大量的信息和数学!

概括一下:

  • 由于外部奖励实现和稀疏奖励问题,我们想要创建一个对代理来说是内在的奖励。
  • 为了做到这一点,我们创造了好奇心,,这是代理在给定其当前状态的情况下预测其行为后果的错误。
  • 使用好奇号将促使我们的智能体倾向于预测误差较高的转换(在智能体花费时间较少的区域或动态复杂的区域预测误差较高),从而更好地探索我们的环境。
  • 但是因为我们不能通过预测下一帧来预测下一个状态(太复杂了),所以我们使用了一个更好的特征表示,它将只保留可以由我们的代理控制或影响我们的代理的元素。
  • 为了产生好奇心,我们使用由两个模型组成的内在好奇心模块:逆模型用于学习状态和下一状态的特征表示,以及正向动力学模型用于产生下一状态的预测特征表示。
  • 好奇号将等于预测φ(ST+1)(正向动力学模型)和φ(ST+1)(反向动力学模型)之间的差值

今天就到这里吧!既然你理解了这个理论,你应该阅读两篇论文实验结果好奇心驱动的自我监督预测探索 和好奇心驱动学习的大规模研究。

下一次,我们将实现一个 PPO 代理,使用好奇心作为内在奖励来玩超级马里奥兄弟。

如果你喜欢我的文章,请点击👏只要你喜欢这篇文章,其他人就会在媒体上看到。别忘了跟着我!

如果你有任何想法,评论,问题,欢迎在下面评论或者给我发邮件:hello@simoninithomas.com,或者发推特给我。

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

不断学习,保持牛逼!

Tensorflow 🕹️深度强化学习课程

📜教学大纲

📹视频版

第一部分:强化学习简介

第 2 部分:用 Q-Learning 更深入地研究强化学习

第 3 部分:深度 Q 学习简介:让我们玩毁灭战士

第 3 部分+: 深度 Q 学习的改进:决斗双 DQN,优先体验重放,固定 Q 目标

第 4 部分:关于带有厄运和翻转的政策梯度的介绍

第五部分:优势演员介绍评论家方法:我们来玩刺猬索尼克吧!

第 6 部分:刺猬索尼克 2 和 3 的近似策略优化(PPO)

深度强化学习中的好奇心

原文:https://towardsdatascience.com/curiosity-in-deep-reinforcement-learning-understanding-random-network-distillation-747b322e2403?source=collection_archive---------8-----------------------

理解随机网络蒸馏

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

Learning to play Montezuma’s Revenge, a previously difficult deep RL task, has seen big breakthroughs with Exploration by Random Network Distillation (source: Parker Brothers Blog)

学习玩 Atari 游戏是深度强化学习(RL)算法的一个流行的基准任务。这些游戏在简单性和复杂性之间提供了一个很好的平衡:一些游戏(如 Pong )足够简单,可以用基本算法解决,如香草政策梯度,而其他游戏足够复杂,以至于甚至可以难倒最先进的算法

在最简单和最复杂的游戏之间是一系列有用的任务,这些任务已经成为许多深度 RL 研究论文的核心。

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

Taken from the OpenAI Blog.

一个以前“未解决”的雅达利游戏,蒙特祖马的复仇,最近被一种算法解决了(某种程度上),该算法能够在得分方面超过人类的表现。研究人员能够鼓励代理人在第一关探索不同的房间,这是在这个特定的游戏中赢得分数的一个很好的方式。

通过好奇心进行探索

当一个人类玩冒险游戏(比如蒙特祖马的复仇)时,会有一种内在的探索欲望。游戏设计者构建这样的游戏来鼓励这种行为,通常需要游戏玩家为了取得进步而探索。这可以说是让冒险游戏变得有趣的原因(问问任何喜欢过 Skyrim 的人)。)

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

Adventure games like Montezuma’s Revenge or Skyrim take advantage of the player’s natural desire to explore, making exploration a key component to completing in-game tasks.

一般深度 RL 算法通常通过随机策略执行“探索”:从神经网络提供的动作可能性分布中随机采样动作。这样做的结果,尤其是在早期(当政策还没有时间收敛的时候),是一个明显的随机行动选择。

这在某些情况下行得通。例如,Pong 可以通过随机移动球拍并观察结果来解决。球被偏转的一些幸运时刻可以开始优化。

在像蒙特祖马的复仇这样的游戏中,这种行为让我们一无所获;想象一下,游戏开始时,虚拟人物随机地左右移动,跳跃。他最终会掉进熔岩或者直接撞上敌人而没有获得积分。没有积分或奖励,算法就没有优化的信号。

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

So, you’re just going to flail around randomly? Good luck with that (source).

好奇心

很多人都强调要找到更好的方法去探索。基于好奇心的探索可以被视为试图模仿人类玩家的好奇心驱动行为。

但我们如何创造一个好奇的代理人呢?

有很多方法可以实现这一点,但有一种方法,它使用下一状态预测,由于其简单性和可扩展性而特别有趣。

基本思路是,在政策模型的基础上,再训练一个独立预测模型。该预测模型将来自当前状态和所选动作的观察作为输入,并产生下一个观察的预测。对于勘探程度较高的轨迹,我们假设这种损失会很小(因为我们通过监督学习不断训练预测模型)。在较少被探索的轨迹中,我们假设这种损失会很大

那么,我们所能做的就是创建一个新的奖励函数(称为“内在奖励”),它提供与预测模型的损失成比例的奖励。因此,代理人在探索新的轨迹时会收到强有力的回报信号。

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

“Learning to explore” through curiosity in level 1 leads to faster progress in level 2 using next-state prediction in this Mario emulator task (source).

这项技术在超级马里奥模拟器中取得了令人鼓舞的效果。

拖延代理:电视问题

这种技术并不完美。这里有一个已知的问题:代理被他们环境中的随机或有噪声的元素所吸引。这有时被称为“白噪音”问题或“电视问题”;它也被称为“拖延症”。

为了演示这种效果,设想一个代理人通过观察他所看到的像素来学习在迷宫中导航。

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

A next-state prediction curious agent learns to successfully navigate a maze (source).

代理最终表现良好;他被驱使去寻找迷宫中未被探索的部分,因为他有能力在被充分探索的区域做出好的预测(或者更确切地说,他没有能力在未被探索的区域做出好的预测。)

现在,在迷宫的墙壁上放一台“电视”,迅速连续地播放随机选取的图片。由于图像的来源是随机的,代理无法准确预测下一个将出现什么图像。预测模型将产生高损失,这给代理人带来高“内在”回报。最终的结果是一个代理谁更喜欢停下来看电视,而不是继续探索迷宫。

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

The next-state prediction curious agent ends up “procrastinating” when faced with a TV, or source of random noise, in the environment (source).

利用随机网络提炼避免拖延

探索随机网络蒸馏 (RND)中提出了一个解决电视噪音问题的方法,这是最近由开放 AI 的一些好人发表的一篇论文。

这里的新思想是将类似的技术应用于上述的下一状态预测方法,但是去除了对前一状态的依赖。

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

Next-State prediction vs. RND overview (source).

RND 不是预测下一个状态,而是从下一个状态进行观察,并试图预测下一个状态。这是一个相当琐碎的预测,对不对?

RND 的随机网络部分的目的是将这个琐碎的预测任务转化为硬预测任务

使用随机网络

这是一个聪明的解决方案,尽管有违直觉。

这个想法是我们使用一个随机初始化的神经网络来映射观察到一个潜在的观察向量。这个函数的输出本身其实并不重要;重要的是,我们有一些未知的、确定性的函数(随机初始化的神经网络),以某种方式转换观察值。

因此,我们的预测模型的任务不是预测下一个状态,而是预测给定观察状态的未知随机模型的输出。我们可以使用随机网络的输出作为标签来训练这个模型。

当代理处于熟悉状态时,预测模型应该对随机网络的预期输出做出良好预测 。当代理处于不熟悉状态时,预测模型将对随机网络输出做出不良预测。

这样,我们可以定义一个内在的回报函数,它再次与预测模型的损失成比例。

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

Conceptual overview of the intrinsic reward computation. Only the next-state observation is used.

这可以被解释为“新奇检测”方案,其中当观察结果是新的或预测模型不熟悉时,计算的损失较高。

作者用 MNIST 作为这个想法的概念证明。在这个实验中,他们通过一个随机初始化的神经网络给一个班的 MNIST 角色喂食。然后,他们训练一个并行网络,根据给定的输入预测随机网络的输出。正如预期的那样,随着来自目标类的训练样本的数量增加,他们看到来自目标类的并行网络的损失下降。

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

MNIST proof-of-concept, from the research paper.

这样,当代理看到一个随机噪声源时,它就不会被卡住。它不再试图预测屏幕上不可预测的下一帧,而是只需要了解这些帧如何被随机网络转换。

探索蒙特祖马的复仇

先前的下一状态预测好奇心机制由于糟糕的解决方案而未能解决蒙特祖马的报复,但 RND 似乎已经克服了这些问题。

受好奇心驱使的代理人探索房间,并学习收集钥匙以打开新房间。

尽管取得了成功,代理只是“偶尔”通过第一关。这是因为需要仔细管理密钥的使用,才能通过最后一道门来完成关卡。LSTM 等内部国家模式将需要克服这一障碍。

因此,虽然 RND 已经让代理人在得分方面超过了人类的平均表现,但在掌握游戏之前还有一段路要走。

这是关于实验性深度强化学习算法系列帖子的一部分。查看该系列之前的一些帖子:

了解演变的政策梯度

数据集介绍:多类道路车辆目标检测数据集 一、基础信息 数据集名称:多类道路车辆目标检测数据集 图片数量: - 训练集:7,325张图片 - 验证集:355张图片 - 测试集:184张图片 总计:7,864张道路场景图片 分类类别: - Bus(公交车):城市道路与高速场景中的大型公共交通工具 - Cars(小型汽车):涵盖轿车、SUV等常见乘用车型 - Motorbike(摩托车):两轮机动车辆,含不同骑行姿态样本 - Truck(卡车):包含中型货运车辆与重型运输卡车 标注格式: YOLO格式标注,包含归一化坐标的边界框与类别标签,适配主流目标检测框架。 数据特性: 覆盖多种光照条件与道路场景,包含车辆密集分布与复杂背景样本。 二、适用场景 自动驾驶感知系统开发: 用于训练车辆识别模块,提升自动驾驶系统对道路参与者的实时检测与分类能力。 交通流量监控分析: 支持构建智能交通管理系统,实现道路车辆类型统计与密度分析。 智慧城市应用: 集成至城市级交通管理平台,优化信号灯控制与道路资源分配。 学术研究领域: 为计算机视觉算法研究提供标准化评测基准,支持多目标检测模型优化。 三、数据集优势 高场景覆盖率: 包含城市道路、高速公路等多种驾驶环境,覆盖车辆静止、行驶、遮挡等现实场景。 精细化标注体系: 采用YOLO标准格式标注,每张图片均经过双重质检,确保边界框与类别标签的精准对应。 类别平衡设计: 四类车辆样本量经科学配比,避免模型训练时的类别偏向问题。 工程适配性强: 可直接应用于YOLO系列模型训练,支持快速迁移至车载计算平台部署。 现实应用价值: 专注自动驾驶核心检测需求,为车辆感知模块开发提供高质量数据支撑。
内容概要:本文介绍了DeepSeek与Mermaid结合实现可视化图表自动化生成的技术及其应用场景。DeepSeek是一款由杭州深度求索人工智能基础技术研究有限公司开发的大语言模型,具有强大的自然语言处理能力,能理解复杂的自然语言指令并生成对应的Mermaid代码。Mermaid是一款基于文本的开源图表绘制工具,能够将简洁的文本描述转化为精美的流程图、序列图、甘特图等。两者结合,通过DeepSeek将自然语言转化为Mermaid代码,再由Mermaid将代码渲染成直观的图表,极大提高了图表制作的效率和准确性。文章详细描述了DeepSeek的发展历程、技术架构及应用场景,Mermaid的基础语法和图表类型,并通过一个电商平台开发项目的实战演练展示了二者结合的具体应用过程。 适合人群:具备一定编程基础和技术理解能力的研发人员、项目经理、数据分析师等。 使用场景及目标:①需求分析阶段,快速生成业务流程图和功能关系图;②设计阶段,生成系统架构图和数据库设计图;③实现阶段,辅助代码编写,提高编码效率;④验证阶段,生成测试用例和测试报告图表,直观展示测试结果。 阅读建议:在学习和使用DeepSeek与Mermaid的过程中,建议读者结合具体项目需求,多实践生成图表和代码,熟悉两者的交互方式和使用技巧,充分利用官方文档和社区资源解决遇到的问题,逐步提高图表绘制和代码编写的准确性和效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值