TowardsDataScience 博客中文翻译 2019(四百九十四)

原文:TowardsDataScience Blog

协议:CC BY-NC-SA 4.0

最简单的神经网络:理解非线性

原文:https://towardsdatascience.com/the-simplest-neural-network-understanding-the-non-linearity-10846d7d0141?source=collection_archive---------11-----------------------

您希望使用数字平方构建的第一个神经网络。是的,这不是异或或 MNIST

每当你想了解 NNs 或数据科学或人工智能时,你就通过谷歌搜索,通过 Reddit,获得一些 GitHub 代码。到处都有 MNIST 数据集、GANs、卷积图层。每个人都在谈论神经网络。你拿起你的笔记本电脑,运行代码,瞧!它工作了。然后你会挠头,你知道这是数学,但这是怎么回事?

突然你想:够了,我要学基础。你去谷歌搜索‘神经网络基础’,结果是:很多教程展示了 MNIST 数据集、异或门。你实现了,它工作了,但是问题出现了 鸭子是如何工作的? 你开始了解多层感知器——神经网络的基础知识。再说一次,研究盖茨并不能让你满意,因为这似乎并不能预测什么。它来自训练数据集的 1 和 0。您想要一些真实世界的示例,然后您看到了这篇文章。你再想一想关于 NNs 的文章。但在本文中,没有基础理论,而是神经网络的适用性。我并没有向你们展示内部数学发生的情况,而是让你们感受一下神经网络是如何按照你们所看到的方式运作的。希望这能帮助你理解“基本”神经网络的工作原理(非线性)。

和外太空一样,大脑是一个在很多方面都还无法解释的东西。我们知道存在小的类似外星人的结构(是的,那些是可怕的),神经元,它们负责信息的传递,大脑有几个部分,像大脑,小脑,它们有不同的功能。不同的神经元被不同地激活(以非线性方式),并通过电脉冲传递信息。但是这些器官如何工作的确切功能以及神经元如何结合、传递和存储信息并使大脑成为最不可思议的事物之一,并且仍然有巨大的研究范围。

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

Neural Networks: An attempt to apply Brain’s network to machines

当你作为一名人工智能爱好者开始你的旅程时,你会遇到许多开始学习的方法。数据科学与统计学和数学的关系更大。但据观察,神经网络可以将数据科学的力量提高到一个巨大的水平,因为它也可以学习数据之间的非线性关系,这是很难通过正常的统计数据观察到的。

什么是神经网络——已经足够了

有许多很好的帖子解释了神经网络如何工作,反向传播,不同的节点如何使用权重相互连接,以及许多超参数控制这些。因此,我不会在这篇文章中给出这些细节。这个这个是关于神经网络和反向传播的非常好的帖子,其中第二个链接我强烈推荐,它帮助我深入了解神经网络。在第二个链接中,有一个 relus(激活函数)如何帮助确定网络中的非线性复杂性的详细解释。

但是由于神经网络都是关于数学,非线性,学习;我想看看它如何适应简单的非线性函数。是的,平方函数

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

这是我为了分析而创作的 jupyter 笔记本:

[## tseth92/NeuralNet_Square

此时您不能执行该操作。您已使用另一个标签页或窗口登录。您已在另一个选项卡中注销,或者…

github.com](https://github.com/tseth92/NeuralNet_Square)

别说了,给我看看代码

导入库:

我们将主要使用 TensorFlow 的 Keras,以及来自 Keras 的 Sequential 和 Dense。Tensorflow 是一个广泛用于神经网络和深度学习的框架。Keras 曾经是隔离 Tensorflow/Pytorch 的包装器,这样你用 Keras 开发的代码可以在任何库中工作。但是在 tensorflow2.0 中,Google 意识到 TF1.0 太复杂了,他们在 tensorflow2.0 中引入了 Keras API 作为它的一部分。

顺序型和功能型是 Keras 中的两种车型。其中顺序允许层按顺序连接,即。一个接一个;该功能允许将整个网络中的任何层连接到任何层。因为我们将只使用一个具有一个输入层和一个输出层的隐藏层。

密集有助于实现密集连接的层。Keras core 提供了更多的实现,如卷积、LSTM 等。但这不是 Keras post,还是把重点放在我们的神经网络上吧。

*'''Training a neural network to predict the square of a number'''*
**import** **numpy** **as** **np**
**import** **matplotlib.pyplot** **as** **pp**
**from** **tensorflow** **import** keras
**from** **keras.models** **import** Sequential
**from** **keras.layers.core** **import** Dense
**from** **IPython.display** **import** Audio, display

设置一些超参数:

让我们看看创建和运行这个神经网络需要哪些超参数。

n _ samples:1 个历元需要多少个样本。

历元:当所有样本完成正向和反向传播时

batch_size :一次可以向神经网络引入多少个样本

mid_range :取样数量的范围。

num_neurons: 要保留在隐藏层中的神经节点数

我们需要 100000 个 1 到 10 之间的样品。所以,它会给我们 1.02,7.89 这样的值

*'''configurations for neural net'''*
*# change these values to experiment*
n_samples = 100000 *# number of samples between 0 and mid_range*
epochs = 400 # number of times for the fwd and backward propagation
batch_size = 1000 # number of samples sent through NN at once
mid_range = 10 *# range within which data is required* num_neurons = 10 # number of neurons in the hidden layer

生成数据样本:

get_data 方法取 n_samples = 100000,mid_range=10,这意味着它将在 1 和 10 之间随机产生 1000000。

*'''creates random samples of n_samples rows which are between 0 to 1.*
*mid_range decides the range under which the samples will be created.'''*
**def** get_data(n_samples, mid_range):
  X = np.random.random((n_samples,1))*mid_range-(mid_range/2)
  *# eg. if n_samples = 10000, mid_range = 10 then it will create samples b/w* 
  *# 0 and 5 positive and negative*
  y = X*X
  *#print(X)*
  **return** X,y

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

Data Distribution for y=x²

创建神经网络模型:

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

在这里,我们创建一个神经网络的一个节点作为输入,10 个节点作为隐藏层(没有任何硬性规定。检查哪个最适合你)和一个输出层。

*''' creating the neural net model of 1:20:1; relu activation, mse as loss and* 
*adam optimizer'''*
**def** get_model():
  model = Sequential()
  model.add(Dense(num_neurons, input_shape=(1,), activation='relu'))
  model.add(Dense(1))
  print(model.summary())
  model.compile(loss='mse', optimizer='adam')
  **return** model

训练用样本生成的模型:

如上图所示,我们使用所有 10,00,000 个样本对神经网络进行了限定次数的训练。网络的输入为 X,预期输出为 y。

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

X and y fed to the Neural Network

*''' train the model for specified number of epochs, batch_size'''*
**def** train_model(X, y, model, epochs, batch_size):
  h = model.fit(X, y, validation_split=0.2,
               epochs=epochs,
               batch_size=batch_size,
               verbose=1)
  pp.figure(figsize=(15,2.5))
  pp.plot(h.history['loss'])
  **return** model

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

Y-axis shows the error and X-axis as the number of epochs. The training error ie. rmse reduces as the number of epochs is increased.

预测模型:

这里我们预测 X_train 的模型,它是训练数据,而 X_test 在训练数据之外。

*''' predict the model for X(training data) and or X2 which is outside* 
*the training dataset'''*
**def** predict_model():
  pred = model.predict(X)
  mid_range = 20
  X2 = np.random.random((n_samples,1))*mid_range-(mid_range/2)
  pred2 = model.predict(X2)

  *# uncomment below code to observe the expected and actual values*
  *# in the form (inputData, expectedOutputData, predictedOutputData, difference)*

  *#pred2 = model.predict([-6])*
  *#for i,j in zip(X, pred):*
  *#  print(i,i*i,j, j-(i*i))*
  pp.figure(figsize=(10,3))
  pp.plot(X,pred, '.')
  pp.xlabel('x')
  pp.ylabel('prediction')
  pp.title('Prediction within training sample space')

  pp.figure(figsize=(10,3))
  pp.plot(X2,pred2, '.')
  pp.xlabel('x')
  pp.ylabel('prediction')
  pp.title('Prediction outside training sample space')

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

主要方法:

**if __name__ == '__main__' :**
  X_train,y_train = get_data(n_samples, mid_range_train)
  X_test,y_test = get_data(n_samples, mid_range_test)
  model = get_model()
  pp.figure(figsize=(10,3))
  pp.plot(X_train, y_train,'.')
  pp.title('Original Training Data')
  model = train_model(X_train, y_train, model, epochs, batch_size)
  predict_model(X_train, X_test)
  # below is audio which will fireup(literally :D) when the training and 
  #prediction completes
  display(Audio(url='[https://sound.peal.io/ps/audios/000/000/537/](https://sound.peal.io/ps/audios/000/000/537/) \
                original/woo_vu_luvub_dub_dub.wav', autoplay=True))

为什么训练样本空间之外的预测不同?

主要原因是神经网络擅长插值而不是外推 ie。如果数据位于样本空间内,(可能不是训练数据,但在训练数据范围内),例如本例中的 1–10。

如果我试着预测 11,12 等等。它可能会预测错误。原因是在样本空间之外,神经网络离开了非线性,变成了线性,正如你从上面的图中看到的。

你应该做的一些实验:

  1. 将 mid_range 更改为 100 ,看看性能如何下降。原因是现在样本空间太庞大,无法想象在 1 和 2 之间,有无限大的数。因此,1–100 对于样本空间来说太大了。你也可以为此进行训练。但是你可能需要 100,000,000 个样本和大量的纪元。也许更多。为此,您需要强大的计算环境和更多的时间。
  2. 改变 num_neurons 看看它表现如何。你可以看到,随着神经元数量的减少,它会变得越来越线性,并开始失去非线性。原因是非线性伴随着许多线性的加强(许多线性函数的产物)。
  3. 改变批量观察较低和较高批量的表现。批量太小,训练时间太长,而且一段时间后会饱和,不能很好地训练。批量太大,需要收敛的时期就越多。所以,最好是保持一个最佳值(最佳点)

:我给你看的这段代码是基于 tensorflow1。如果我不使用 Keras,而是使用 tensorflow2.0 并使用 tf.keras,x 会失败,我已经在 GitHub 上提出了这个问题的问题。当问题解决后,我会在这里更新。在 Jupyter 笔记本中,它仍然使用 1。TensorFlow 的 x 版本。

在下一篇文章中,我将向您展示如何通过创建两个微服务并使用 Flask rest 和 gRPC 调用它们,通过 Google Kubernetes 引擎将这种神经网络训练和预测部署到 Kubernetes 集群。不要错过它,因为它都在一个帖子里。在那之前,继续玩神经元(不是真正的神经元:P)。在 LinkedIn 上与我联系。结束!!。

辛普森一家遇到了数据可视化

原文:https://towardsdatascience.com/the-simpsons-meets-data-visualization-ef8ef0819d13?source=collection_archive---------6-----------------------

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

介绍

没有什么比《辛普森一家》更让我喜欢的了。三十季 600 多集的动画喜剧在我心中占有特殊的位置。偶尔,当*的《犁先生》的《人人都讨厌内德·弗兰德斯》*出现在我脑海中时,我会发现自己在跟着唱。

很自然地,当我发现我可以下载所有我想要的剧集脚本时,我知道我该做什么。几乎可以接触到荷马说过的任何东西,我忍不住戴上我的数据科学家帽子,以便从过去三十年最著名的动画电视节目之一中梳理出一些见解。

人物

我们来看看剧中的人物。下面是一个气泡图,显示了 15 个字符的最大行数和他们的总行数。气泡大的角色比气泡小的角色说的台词多。

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

很明显,这部剧的主角实际上是荷马、玛吉、巴特和丽莎·辛普森。他们比其他角色有更多的台词。有趣的是,尽管格兰帕是辛普森家庭的一员,经常出现在辛普森家,但他并不像家里的其他人甚至其他角色那样爱说话。

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

现在我们已经了解了剧中每个角色的对话量,让我们更进一步,使用热图来观察角色之间的对话量。

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

Rows speak to columns. The color of each square represents the number of lines that the character in each row said to the character in each column. Lighter squares mean that more lines were spoken.

这个情节向我们展示了人物之间三种主要的互动。首先,辛普森一家内部有很多对话。接下来,辛普森家庭成员和角色之间的对话也不多。最后,很少有不涉及辛普森一家的对话。

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

这个情节的巧妙之处在于它突出了一些有趣的角色动态。

例如,小丑 Krusty 与法律的冲突反映在与警察局长 Wiggum 的大量对话中。

我制作了另一张热图,其中包含了 75 个角色。这是一幅美丽的画面,但也表明大多数对话只发生在几个角色之间(即数据有一条“长尾”)。

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

heat map with top 75 characters

他们在说什么?

我们能更好地理解这些角色在说什么吗?一种方法是看他们说的话的情绪。

我们可以使用自然语言处理技术 VADER 情感分析来量化每一行的情感。需要注意的一点是,这种方法是针对社交媒体文本优化的,所以我们应该对结果持保留态度。

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

现在我们可以看到,根据对它们的积极程度的估计,排序最多的 30 个字符。似乎埃德娜·克拉巴佩尔(巴特的老师)和帕蒂·布维尔(玛吉的妹妹)是最积极的角色。然而,我从未发现它们特别令人愉快。

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

另一方面,令人欣慰的是,内德·弗兰德斯在排行榜的顶部,祖父、纳尔逊和墓地看守人威利在底部。另外,有趣的是 Sideshow Bob 既有非常积极的一面,也有非常消极的一面。他是小丑 Krusty 的伙伴,所以他应该是一个积极的家伙,但当我们记得他所有的谋杀阴谋,看到这样的消极并不奇怪。

查看某些字符是否比其他字符有更长的行也是有帮助的。也许荷马有最多的台词,因为他是主角,但也许他一次只说几个词,像“嗯,油炸圈饼”或“为什么你小!”下面的方框图将帮助我们了解每行中哪些字符说得最多。

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

事实证明,只有少数角色的每行字数的中位数超过 10 个,但许多人至少有几行话要说很长时间。

玛吉·辛普森很少说话(事实上她还是个婴儿),但她至少有一次长篇大论。特洛伊·麦克卢尔和肯特·布罗克曼拥有最大的每行字数中位数,当我们想起他们都是电视明星时,这是有道理的(肯特·布罗克曼发布新闻,而特洛伊·麦克卢尔是 70 年代过气的演员)。

爷爷辛普森是节目中最长的。我会把它留在这里给你欣赏。

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

一个窍门是给他们讲一些没有任何意义的故事……就像那次我乘渡船去谢尔比维尔一样。我的鞋子需要一个新鞋跟,所以我决定去摩根维尔,那时候他们叫它谢尔比维尔。所以我在腰带上绑了一个洋葱,这是当时的流行款式……现在乘渡船要花 5 分钱,在那个时候,5 分钱硬币上有大黄蜂的图案。你会说“给我五只 25 美分的蜜蜂”。现在,我们说到哪了?哦,是的,重要的是我的腰带上有一个洋葱,这是当时的风格。他们没有白洋葱,因为战争…

除了了解每个角色说了多少话,我还好奇他们什么时候说话。数据中的每一行都包括一个事件内时间戳,这让我可以回答这个问题。我考虑了行数最多的 3000 字。

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

我把角色分成两类,只出现在一集的和出现在不止一集的。在 y 轴上画出每个角色的(按比例)行数,很明显,平均来说,有更多行数的角色更倾向于出现在剧集的中间。这是有道理的,因为他们总是说得太多,他们的平均时间将接近一集的中间。

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

然而,有趣的是,在右上角,看起来好像只出现在一集《辛普森一家》中的角色通常会讲到这一集的三分之二。这似乎是合理的,因为我们可能会期望在剧集中间的某个地方遇到新角色,而不是一开始,而且随着我们对他们的了解,他们可能会说更多的台词。

他们在哪里说话?

到目前为止,我们只研究了角色和他们的台词。我们还没有调查《辛普森一家》剧集的拍摄地点或它们之间的关系。

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

我们看到春田小学、莫酒馆和春田核电站(荷马工作的地方)是剧中最常见的地点。我要指出的是,我把辛普森家从这个地块中移走了,因为否则它会占据整个空间。

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

其他受欢迎的地点是教堂、客厅、Kwik-E-Mart 甚至伯恩斯庄园。每个方框的颜色和大小与每个地方说的台词数量相对应。

真实的地方呢?剧中人物对我们的世界了解多少?我们可以做的一件事是看看他们提到美国每个州的次数。

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

他们经常谈论纽约、德克萨斯、加利福尼亚、阿拉斯加、佛罗里达、华盛顿,甚至内布拉斯加。我应该指出,我们应该更仔细地看看华盛顿的数据。我过滤掉了包含“华盛顿特区”或“乔治·华盛顿”的行,但可能有其他情况,它们不一定是在谈论州。

这很好,因为它不受制于美国热图的典型问题。这些图常常变成人口密度图,因为我们要绘制的东西通常与人口有关。然而,由于我们看到的是一个并不真正与人口相关的指标,我们不应该预料到(也没有)这个问题。

现实世界中的辛普森一家

剧本台词让我们更好地理解了《辛普森一家》中人物和地点的动态。现在让我们换个话题,审视一下节目的观众。下面是美国所有剧集的观众人数分布。

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

大多数剧集都有八九百万观众观看,但有些已经被观看了三千万甚至更多!一集少于 1500 万的观众比拥有更多观众要常见得多。

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

然而,这并没有考虑到时间,尽管我们认为这是一个重要的因素。正如我的下一个情节将展示的那样,在三十年的过程中,*《辛普森一家》*的受欢迎程度已经发生了变化。

这种可视化是交互式的,你可以在克隆 Github 回购后在线这里获得完整版本。它是一个 html 文件,可以下载并在浏览器中打开。如果这不起作用,你可以重新运行这个笔记本

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

该图显示了每集的 IMDB 评分(蓝色)和美国浏览量(橙色)。此外,当鼠标悬停时,它会显示剧集的名称和季节。水平滚动显示所有剧集的完整时间线。

很明显,一开始,《辛普森一家》有很多观众。事实上,他们的受欢迎程度一直持续到第八季结束。在第九、第十和第十一季中,观众寥寥无几。第十二季一开播就有了显著的提升,碰巧的是,《史上最差剧集》在那一季拥有最多的观众。从那以后,《辛普森一家》经历了一个稳定的衰落。

看的人少吗?也许吧。然而,总体上看电视网的人越来越少。收视率非常接近他们一直以来的水平,所以我要说的是《辛普森一家》还活着,而且很好。

结论

在这篇报道中,我们看到了很多关于《辛普森一家》的内容,甚至像我这样的忠实观众以前可能都没有想过。我们知道了谁说得最多,谁和谁说话,以及这些角色在说什么。除了他们谈论的地点之外,我们还知道了他们谈论的时间和地点。最后,我们研究了他们在流行文化中的地位,以及他们是如何生存了这么久的。

我将很高兴收到以上任何反馈。你可以通过 LinkedIn 或者电子邮件在 areevesman@gmail.com 找到我。所有代码和图都可以在 Github 上获得。请让我知道你发现了什么见解!

点击此链接查看更多辛普森分析:https://www.youtube.com/watch?v=9D420SOmL6U

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

快速跟踪我的数据科学学习旅程的单一课程

原文:https://towardsdatascience.com/the-single-course-that-fast-tracked-my-data-science-learning-journey-74664eaf06f0?source=collection_archive---------8-----------------------

当我刚开始从事数据科学时,这极大地提高了我的理解、技能和信心

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

在挖掘我所知道和信任的令人敬畏的资源之前,有一个重要的披露:

下面的一些链接是附属链接,这意味着如果你选择购买,我将赚取佣金。这项佣金不会增加你的额外费用。请理解,我对所有这些课程都有经验,我推荐它们是因为它们有帮助和有用,而不是因为如果你决定买东西,我会给你一点佣金。请不要在这些课程上花钱,除非你觉得你需要它们,或者它们会帮助你实现你的目标。

好了,现在我们有了完整的披露。让我们直入主题吧。

我每天都收到来自不同背景的有抱负的数据科学家的消息,问我为数据科学初学者选择什么在线课程。

在我的文章中— 如何进入数据科学?,我分享了我在有大量训练营和在线课程时选择合适的方法。

特别是,我提到了一些我个人参加的课程,当我刚开始从事数据科学时,它们对我非常有用。

单靠在线课程和认证绝对不足以成为一名数据科学家。

在线课程是结构化的,旨在帮助你学习你感兴趣的特定主题刚刚好开始。

证书是用来展示你学到了什么,而不是你精通什么。

在提到的课程中,有一门课程极大地提升了我刚开始从事数据科学时的理解、技能和信心。

很有可能你会认为这个课程是吴恩达教授的 机器学习 课程(抱歉让你失望了!).

课程为Python for Data Science and Machine Learning boot camp授课老师何塞·波尔蒂利亚在数据科学教学方面有着丰富的经验。

Python 用于数据科学和机器学习训练营

我记得当我第一次开始时,我就像另一个有抱负的数据科学家一样,搜索在线课程,只是为了弄脏我的手,并提高我对使用 Python 进行数据分析、可视化和机器学习的理解。

说实话,那时候我只是有一些 Python 的编程经验,对机器学习一无所知,更不用说深度学习的知识了。

但有一点是肯定的,我渴望知识,想向一个有丰富经验的人学习,他已经处于我渴望实现的阶段。

因此,这门课程—Python for Data Science and Machine Learning boot camp受到了强烈推荐,并成为排名最高的课程之一。

我起初持怀疑态度,认为我会再次落入这个花哨而又吸引人的标题的陷阱。

所以我做了很多研究,查看了它的评论,并与其他在线学习平台进行了比较。你猜怎么着,这钱花得值。

为什么是这门课而不是其他课?

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

(Source)

当我刚开始从事数据科学时,我说这门课程极大地提高了我的理解、技能和信心,这是有原因的。

就以吴恩达教授的 机器学习 课程为例。课程很梦幻,俗称学习机器学习的圣经。毫无疑问。吴恩达将复杂的概念分解成更简单的信息进行学习的能力是无与伦比的,尤其是对于机器学习的初学者来说。

但是有两件事需要注意:

  • 该课程使用 Matlab/Octave 教授,这种编程语言对大多数公司来说并不常见(据我所知)。此外,它不是开源的,主要用于学术界和研究。
  • 一开始,涉及的数学程度可能会令人生畏,因为教师会在开始实施之前解释理论部分。

在学习停滞不前一段时间后,我发现如果我首先获得对某个主题的高层次理解,并深入到实现部分,我的学习效果最好。

一旦我获得了一些技能和对全局的理解,我的自信就会大大提高。我会获得继续学习的动力和动机。

这时,我开始进入数学部分,学习机器学习模型背后的基础知识。

这就是我需要的课程—Python for Data Science and Machine Learning boot camp的由来,它满足了我的需求,让我在每次教程结束后都能从更高的层面理解并实施我在 jupyter 笔记本上所学的内容。数学涵盖了足够多的内容,让我开始朝着正确的方向前进。

我并不是说学习理论和数学部分不重要。它只是出现在我使用我的学习方法的学习旅程的后期。

总之,最适合我的学习方法如下(按顺序):

  1. 获得对某个话题的高层理解****
  2. 一旦我有了高层次的理解,我就会开始实施我所学到的**。仅仅因为边做边学是我如何在最短的时间内学到最多的东西**
  3. 因为我已经看到了这个概念在实践中是如何执行的,所以我会开始学习这个话题的理论和数学部分。这将让我更好地理解如何应用数学来解决问题

最后的想法

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

(Source)

感谢您的阅读。

我希望通过分享我如何开始学习数据科学的经验,以及作为初学者对我影响最大的一门课程,能够在某些方面帮助你踏上数据科学之旅。

如果你觉得这种学习方法对你有帮助,请在下面的评论中告诉我!

一如既往,如果您有任何问题或意见,请随时在下面留下您的反馈,或者您可以随时通过 LinkedIn 联系我。在那之前,下一篇文章再见!😄

关于作者

Admond Lee 目前是Staq的联合创始人/首席技术官,该平台是东南亚首屈一指的商业银行应用编程接口平台。

想要获得免费的每周数据科学和创业见解吗?

加入 Admond 的电子邮件简讯——Hustle Hub,每周他都会在那里分享可行的数据科学职业建议、错误&以及从创建他的初创公司 Staq 中学到的东西。

你可以在 LinkedInMediumTwitter脸书上和他联系。

** [## 阿德蒙德·李

让每个人都能接触到数据科学。Admond 正在通过先进的社交分析和机器学习,利用可操作的见解帮助公司和数字营销机构实现营销投资回报。

www.admondlee.com](https://www.admondlee.com/)**

找到发展目标所需的单一策略

原文:https://towardsdatascience.com/the-single-strategy-you-need-to-find-your-development-target-7c4553cd5e37?source=collection_archive---------37-----------------------

企业数据科学不仅仅是数据科学

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

Aerial Target Interdiction Archives: California Tactical Academy

谁是你的客户?今年早些时候,我参加了一个展示,展示了一种“可能”取代波音 V-22 鱼鹰的飞机。V-22“鱼鹰”是一种多任务军用飞机,自 2000 年开始服役。虽然这听起来不像该飞机已经服役很长时间,但值得一提的是,该飞机的原始合同结合了常规直升机的功能与垂直起飞和着陆能力,以及涡轮螺旋桨飞机的高速巡航性能,最初于 1983 年联合授予贝尔和波音直升机公司。V-22 于 1989 年首飞。

一辆在近 40 年前就完成并提交了原始计划的车辆,目前正在服役,并做这样的事情……

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

V-22 Osprey preparing for transport at undisclosed military location. Image Source: GTFErinyes

回到演示上来,我们听到了汽车的替代品。他们的目标发布时间是 10 年后,该团队计划为新的飞机提供 25 年的使用寿命。想想吧。建筑师和开发人员今天正在设计一种飞机,这种飞机将被用于非常重要的场合,可能是生死攸关的场合,预计从现在起十年后仍然有效,至少在发布日期后的几十年内保持竞争力。一个团队如何做到这一点?当他们无法知道未来会在哪里时,他们如何在未来击中目标?

答案是,它们确实有。我是说不完全是,但他们有代理人。一位首席建筑师开始谈论这种新飞机的仪表板。这个人开始谈论他的飞行员。他评论说,第一批驾驶这架飞机的飞行员目前大约 8 岁。出于这个原因,他们围绕 8 岁儿童目前熟悉的东西进行设计……手机、平板电脑和触摸屏。能够用手缩放图像,实时移动各种应用程序。覆盖图。

想想吧。虽然这架飞机将由成年军人驾驶,事实上他们正在与成年军人一起设计和建造这架飞机,但他们不是为那些成年飞行员建造的。他们更像是在为他们真正的用户建造;孩子。

我可以告诉你,我参加过很多策划会议。许多营销意识训练。我不相信我已经积极地让许多团体为未来的成年人而不是今天的成年人设计东西。他们之前的成功,以及很可能的后续成功都围绕着瞄准目标的想法,而不是目标在哪里。我是认真的,玩具公司之外的谁会谈论为孩子们做这件事?

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

from GIPHY; STARZ Drama Series Power

好吧,他不算。

拦截任务

我以前的军事服务导致这种类比继续是舒适的,所以希望,你仍然和我在一起。在军队中,我们有一个遮断的概念,也就是说,攻击一个移动的目标。这个概念是首先获取你现有的信息,理想的是目标移动的方向和速度。接下来,你检查了你当前的位置、距离和方向。使用所有这些输入,你可以调整你的方向和速度,这样你的路线就会与目标的路线相交。使它成为一种禁止的是,这些课程不仅相交,而且它们同时相交。

我的职业是数据科学家,但我相信这种满足目标的心态同样适用于数据、工程和软件项目。如果你估计 5 年完全开发你的产品,5 年把你的产品作为销售产品的主线,15 年的使用寿命,那么十年后你的产品最初的客户是什么样子的?他们处于职业生涯的开始、中期还是末期?随着时间的推移,人口是越来越年轻还是越来越老?有证据表明他们的教育水平发生了变化吗?我记得有一个例子,我们在设计一个产品,我们请专业人士提供反馈。我们得到了非常积极的评价。我们不断得到的主要积极反馈是,与 20 世纪 80 年代生产的产品相比,我们的产品有多先进。我们花了一段时间才意识到,按照我们的开发计划,我们的第一批客户将在 2020 年达到 30 多岁。这一代人不会对超越 20 世纪 80 年代的技术留下深刻印象。除了陌生的事物,这一代人对 20 世纪 80 年代没有任何概念。

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

from GIPHY; Netflix Horror Series Stranger Things

即使那样,他们也会期待一些美妙的东西。

学校正在上技术课

这种方法的另一个很好的例子是迈克尔·克罗领导下的亚利桑那大学。在他的书《设计新美国大学》中,迈克尔谈到了如何实现不仅成为一流研究型大学,而且成为公立大学的目标。学校的积极目标不仅仅是获得令人尊敬的排名,他们希望将学校与支持和积极影响地区社区的目的结合起来。这意味着拆除要求学生遵从他们的传统结构,设计反思性结构,考虑到学生的到来,他们将离开的世界,并确保学校是两者之间的适当桥梁。

学校没有告诉学生在开学时关掉电子设备,而是开始积极地将技术融入到学习和生活体验中。通过设备吸引学生。提供越来越多的在线互动课程。利用技术实现协作成果,不仅是参与项目的学生之间,还包括设计和监督课程和讲座的教师之间。该学院没有告诉学生毕业后的工作环境是什么样的,而是与大大小小的公司合作,建立合作机构。事实证明,这些机会对于寻求确认他们所学知识是否相关的学生来说是一种胜利,并导致相关公司的所有权,这些公司自然会雇佣许多与他们一起工作的学生和大学研究人员。学生被积极地招募到学校规划委员会,与教师和行政领导一起工作。甚至还有与高中和退伍军人服务办公室(仅举几例)的积极互动,以确保与客户(即学生)的适当配合。

摘要

为了更好地理解这一点,在当今快节奏、不断发展的世界中,给定技术,为客户构建解决方案的最佳策略是获得客户的距离、方向和速度,并制定计划在他们要去的地方满足他们,而不是去他们在的地方,并希望他们在你到达时就在那里。顾客想见你。他们想见你!!

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

from GIPHY; VHI reality series Signed

在客户将要去的地方见他们…

计划一个拦截课程!

感谢您花时间通读这些概念!

原载于 2019 年 11 月 26 日https://dev . to

游戏中的皮肤启发防止灾难

原文:https://towardsdatascience.com/the-skin-in-the-game-heuristic-for-protection-against-disasters-eaa7bda8b026?source=collection_archive---------35-----------------------

为什么缺乏个人风险会将整个系统置于危险之中

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

简介

“如果一个建筑者为一个人建造了一座房子,却不把建造的声音发出来,一堵墙裂开了,建筑者应该自费加固那堵墙。

“如果建筑者为一个人建造房屋,却不把建造的声音发出来,他所建造的房屋就倒塌了,导致房屋主人的死亡,那么建筑者就要被处死。

人们可以在古老的汉谟拉比法典中找到这些规则,作为道德和风险管理策略的基础。

生活中很常见的一件事是,为一项成就邀功,但却掩盖失败或责怪他人。当事情进展顺利时,我们倾向于从声称的奖励中受益,当我们运气不好时,我们试图逃避为我们的决定的后果买单。我们喜欢令人愉快的“我告诉过你!”但当事情突然出乎意料地出错时,保持沉默。没想到是这里的关键词。

用技术术语来说,在“ 现实世界 ”中,大数定律收敛得非常慢,或者根本不收敛,给定决策所依据的有限的观察时间跨度。因此,观测者完全看不到罕见的灾难性尾部事件的统计特性。关键的问题是,这些罕见的尾部事件,通常被数据科学家标记为“异常值”并从分析中删除,恰恰是代表感兴趣的基本属性的观察结果。胖尾域描述如下:统计性质的大部分来自极值;对于包含𝑛观测值的时间序列,随着𝑛变大,最大或最小观测值将与总和处于同一数量级。偏离分布中心的情况会残酷而剧烈地发生;罕见事件占主导地位。

"现实世界"经济、社会和政治变量都是极其厚尾的。此外,正如的 Nassim Taleb 和 Constantine Sandis 的所述,标准经济理论意识到了委托代理问题,但没有意识到委托代理问题、信息不透明(数据收集的时间范围有限或信息不对称)和肥尾现象的结合。它不愿意接受厚尾事件不可预测、不可统计测量的事实,除非是由一个人造成的,或者是在一个上行空间小、下行空间大的环境中运营。

胖尾事件的一个问题是它们发生之前的时间周期延长了。例如,如果你是一名城市规划者,你的决策产生影响需要很长时间,以至于你会有动力去关注看似积极的短期影响,并倾向于忽视与你的决策相关的长期危险。当它发生时,你将不再负责。

Taleb 带来了公司经理激励结构的例子。与公众的看法相反,公司经理不是企业家。2000 年至 2010 年间,在美国,与将资金投入现金或短期国库券相比,投资者在股市损失了高达两万亿美元(取决于人们如何衡量)。人们很容易想到,既然经理们因良好的业绩而获得高额报酬,那么如果他们表现不佳,他们就会遭受损失。根本不是:塔勒布说,这是一种非理性和不道德的不对称。由于他们职业中的嵌入式期权,经理们获得了超过 4000 亿美元的薪酬。亏损的经理不会返还奖金,也不会招致负奖金。

那么我们如何解决厚尾环境下的委托代理问题呢?公司经理从一个随机变量中得到的比失去的多,这一事实造成了一种风险被简单地掩盖起来(在这种情况下是被掩盖起来)的局面,这种局面只能通过迫使他们为一些损失买单来解决。不只是开除他们,而是强迫他们在游戏 中拥有自己的 皮肤。这种启发也适用于政治家、经济学家、城市规划者和其他专业人士,他们的决策会对我们的生活产生重大影响。

在这篇笔记中,我将用 Python 再现 Taleb 和 Sandis 的论文中的关键思想,用随机变量及其属性来描述上述思想。

回报偏态和缺乏游戏中的皮肤

塔勒布的目的是表明如果一个代理人有随机变量的收益的上行,没有下行,并且完全根据过去的业绩来判断,那么激励是使用业绩的负偏斜(或更一般地,不对称)分布来隐藏左尾中的风险。这可以推广到任何不承担自己行为的全部风险和负面后果的回报

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

计算预期收益

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

无利益博弈的正向激励的预期收益取决于负偏度,而不是 m!

让我们看看这是怎么回事!

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

让我们设想一个幂律分布的移位镜像,其指数为𝛼=1.95,值域为∞,10:

# import necessary libraries
**import** numpy **as** np
**import** matplotlib.pyplot **as** plt
**import** scipy.stats **as** stats
**from** scipy.stats **import** pareto
**import** scipy.integrate#define pareto pdf 
**def** pareto_pdf(x,alpha, loc, scale):
 **return** (alpha / ((-x — loc) / scale)**(alpha+**1**)) /scalealpha = **1.95**
loc = **-11**
scale = **1**
fig, ax = plt.subplots(figsize=(**10**,**5**))
r = — pareto.rvs(alpha,loc=loc, scale=scale, size=**500000**)
count, bins, ignored = plt.hist(r, bins=**10000**, density=**True**, alpha=0.5, label=r’$x_{min} = 10, P(X > x) = -x^{-\alpha} x_{\min }^{\alpha}$’)
plt.plot(np.array([**10**]***1000**),np.linspace(**0**,**1.5**, **1000**), linestyle = ‘ — ‘, color=’r’, alpha=**0.75**, linewidth=**0.75**)
plt.plot(bins, pareto_pdf(bins, alpha, loc, scale), color=’orange’)
ax.set_xlim(-**100,15**)
ax.set_ylim(**0,1.5**)
ax.annotate(r’$x_{min} = **10**$’, 
 xy=(**10**, **1.5**), 
 xytext=(**10**, **1.65**), 
 arrowprops = dict(edgecolor=’red’,facecolor=’red’, shrink=**0.03**))
ax.set_xlabel(‘Pareto RV’)
ax.set_ylabel(‘Frequency’)
plt.title(‘Pareto distribution’)
plt.legend()
plt.show()

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

现在,让我们看看著名的 80–20 帕累托分布的样本均值如何收敛到真实均值:

pareto_alpha = **1.15**
Pareto_true_mean = -pareto_alpha/(pareto_alpha-**1**) — loc
**print**(‘Pareto **80–20** true mean: ‘, Pareto_true_mean)means = []
pareto_alpha = **1.15**
for n in range(**1**, **10000**):
 distr = — pareto.rvs(pareto_alpha,loc=loc, scale=scale, size=n)
 means.append(np.mean(distr))
fig, ax = plt.subplots(figsize=(**10,5**)) 
ax.plot(np.arange(**1, 10000**), means, linewidth=**0.5**, c=’**r**’)
ax.plot(np.arange(**10000**), np.array([Pareto_true_mean]***10000**), linestyle=’ — ‘, color=’**blue**’, alpha=**0.8**, label=r’$P(X > x) = -x^{-\alpha} x_{\min }^{\alpha}$’)
ax.set_ylim(-**3000**, **1000**)
ax.set_xlim(**0**, **10000**)
ax.set_xlabel(r’$n$’)
ax.set_ylabel(r’$\frac{1}{n}\sum_{i=1}^{n} x_{i}$’, rotation=**0**)
plt.title(‘Convergence of mean for Pareto’)
plt.legend()
plt.show()

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

means = np.array(means)
perc_above_mean = **100***len(means[means>Pareto_true_mean])/len(means)
print(‘Percentage of observations above mean: ‘, perc_above_mean)

我们每隔一段时间就会看到典型的跳跃,对于𝛼=1.15 来说,大约 90%的观察值都高于平均值。厚尾分布隐藏了真实的平均值!

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

#set up parameters
gamma = **0.1**
scale= **1**
loc= -**11**
pareto_alpha = **1.15**# define power law pdf and expected value functions
power_law_pdf = **lambda** x: (pareto_alpha / ((-x — loc) / scale)**(pareto_alpha+1)) /scale
expected_val = **lambda** x: x*(pareto_alpha / ((-x — loc) / scale)**(pareto_alpha+1)) /scale#define the payoff function
**def** **Payoff**(alpha, gamma=gamma, loc=loc, scale=scale):
 true_mean = -alpha/(alpha-1) — loc
 F_right = scipy.integrate.quad(power_law_pdf, true_mean, **10**)[**0**]
 F_left = scipy.integrate.quad(power_law_pdf,-**100000**, true_mean)[**0**]
 expected_val_right = scipy.integrate.quad(expected_val, true_mean, **10**)[**0**]/scipy.integrate.quad(power_law_pdf, true_mean, **10**)[**0**]
 expected_val_left = scipy.integrate.quad(expected_val,-**100000**, true_mean)[**0**]/scipy.integrate.quad(power_law_pdf,-**100000**, true_mean)[**0**]

 **return** gamma*expected_val_right*F_right/(**1**-F_right)alphas = np.linspace(**1.1, 3, 1000**)
payoffs_1 = []
payoffs_3 = []
payoffs_5 = []
payoffs_7 = []
payoffs_9 = []
for alph in alphas:
 payoffs_1.append(Payoff(alph, gamma=**0.1**))
 payoffs_3.append(Payoff(alph, gamma=**0.3**))
 payoffs_5.append(Payoff(alph, gamma=**0.5**))
 payoffs_7.append(Payoff(alph, gamma=**0.7**))
 payoffs_9.append(Payoff(alph, gamma=**0.9**)) 

# set up the asymmetry measures
vs = []
**for** alpha **in** alphas:
 true_mean = -alpha/(alpha-**1**) — loc
 F_right = scipy.integrate.quad(f, true_mean, **10**)[**0**]
 F_left = scipy.integrate.quad(f,-**100000**, true_mean)[**0**]
 vs.append(F_left/F_right)
vs = np.array(vs)fig, ax = plt.subplots(figsize=(**10,8**))
ax.plot(vs, payoffs_1, label=r’$\gamma = **0.1**$’)
ax.plot(vs, payoffs_3, label=r’$\gamma = **0.3**$’)
ax.plot(vs, payoffs_5, label=r’$\gamma = **0.5**$’)
ax.plot(vs, payoffs_7, label=r’$\gamma = **0.7**$’)
ax.plot(vs, payoffs_9, label=r’$\gamma = **0.9**$’)
ax.plot(np.array([**0**]***1000**), np.linspace(**-5, 125, 1000**), linestyle=’ — ‘, color=’**black**’, alpha=**0.5**, linewidth=**0.8**)
ax.plot(np.linspace(**-0.05, 0.9, 1000**),np.array([**0**]***1000**), linestyle=’ — ‘, color=’**black**’, alpha=**0.5**, linewidth=**0.8**)
ax.set_xlim(**-0.05, 0.9**)
ax.set_ylim(**-5, 125**)
ax.set_xlabel(r’$v_{j} \equiv \frac{F_{j}^{-}}{F_{j}^{+}}$’)
ax.set_ylabel(‘Payoff’)
plt.title(‘No $skin \ in \ the \ game$ payoffs under asymmetric fat tails’)
plt.legend()
plt.show()

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

我们看到了什么?代理人从“好”的结果中受益,而没有承担“坏”的结果的成本,看到他们的预期收益随着𝑣𝑗的下降而增加。这意味着代理人有动机让左尾巴变长,从而累积风险,增加严重崩盘的可能性!

结论

讨论的例子显示了在大多数决策机构和运行它们的代理中危险的风险不对称,并呼吁一个古老的启发式方法作为补救:游戏中的皮肤。

正如塔勒布所言,“这种启发意味着,一个人应该是自己产品的第一个消费者,一个厨师应该自己测试自己的食物,直升机修理工应该随时准备乘坐他们维护的旋翼飞机进行随机飞行,对冲基金经理应该最大限度地投资于他们的基金。但这并不天真地暗示人们应该一直使用自己的产品:理发师不能给自己理发,癌症药物的制造商不应该使用自己的产品,除非他生病了。所以一个人应该有条件地使用他的产品,在被召唤使用它们的时候。然而,在涉及系统性风险的问题上,该规则要严格得多:简单地说,某些决定永远不应由某一类人做出。”

有关游戏中皮肤试探法的伦理和哲学含义的更多细节,请参考原始论文

完整的 jupyter 笔记本和上面的笔记代码可以在这里找到。

睡美人问题:数据科学家的视角

原文:https://towardsdatascience.com/the-sleeping-beauty-problem-a-data-scientists-perspective-56223b5128e4?source=collection_archive---------7-----------------------

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

Photo by Javier Ramos on Unsplash

我在实验物理课程中学到的第一课也是最难忘的一课是:永远不要,T2,永远不要,画一张没有误差线的测量图。误差线表示特定测量值的不确定程度。这条实用规则有更深层次的道理。这意味着任何经验证据或数据的真实性都存在不确定性。更重要的是,如果我们不能衡量这种不确定性,这些数据将变得毫无用处。

概率的抽象概念允许我们对不确定的事件进行推理,例如“这个仪表显示的电势是 1.5 V 还是 1.4 V?”。它不仅是数据科学领域的核心,实际上也是任何利用统计描述的实证科学的核心。因此,即使对于应用科学家来说,偶尔停下来思考一下关于概率的更基本的问题也是有意义的。

睡美人问题是决策理论中的一个思想实验,触及了概率的基础。这篇文章的主要目的是对这个问题提供一些独到的见解,也许能为解决这个问题提供新的思路。

想象一个实验设置,包括一个自愿的主题——同名的睡美人——和一个公平的硬币。

来自维基百科:

睡美人自愿接受以下实验,并被告知以下所有细节:周日她将被实施安乐死。有一两次,在实验过程中,睡美人会被唤醒,接受采访,然后用一种诱发失忆的药物让她忘记那次醒来。一枚公平硬币将被投掷以决定进行哪个实验程序:

如果硬币正面朝上,睡美人将在周一被唤醒并接受采访。

如果硬币正面朝上,她将在周一和周二被叫醒并接受面试。

无论哪种情况,她都将在周三被唤醒,没有面试,实验结束。

每当睡美人被唤醒并接受采访时,她都不知道今天是哪一天,也不知道自己以前是否被唤醒过。在采访中,睡美人被问到:“现在你对硬币正面朝上的说法有什么信心?”

这个悖论来自于试图给以下问题一个独特的答案:作为一个理性的代理人,睡美人在每次采访中应该给什么答案?

“半工”的职位。睡美人被告知实验装置的所有细节。因此,她醒来后没有获得额外的信息,因为她知道她会一直醒来。因此,在周一或周二,或者在实验结束前的任何时间点,某人认为硬币正面朝上的信念一定是相同的。

既然她也知道硬币是公平的,那么可信度一定是 1/2。

“第三者”的位置。SB 被告知实验装置的所有细节。因此,在觉醒时,她知道发生了以下互斥且详尽的事件之一:

  1. 今天是星期一,硬币正面朝上。
  2. 今天是星期一,硬币正面朝上。
  3. 今天是星期二,硬币正面朝上。

在没有进一步信息的情况下,SB 不得不假设每个事件发生的可能性是相等的。

因此,她认为硬币正面朝上的概率是三分之一,即 1/3。

如果这是你第一次听说这个思想实验,我建议你在继续阅读之前思考一下这个问题,并决定你属于哪一个阵营:你是半个还是三个 T21?

从表面上看,这个问题与其他概率谜题非常相似,如蒙提霍尔问题或伯特兰悖论,因为这些问题也能产生多种答案。

然而,通过概率建模的标准技术可以很好地理解 Monty Hall 问题的解决方案。最初的困惑来源于正确的解决方案与个人直觉的冲突,有些人可能会发现难以调和。但是在盯着决策树看了足够长的时间和/或在一副牌的帮助下重演了 Monty Hall 游戏之后,直觉通常会随之而来。

另一方面,伯特兰悖论就有点复杂了。在最初的问题陈述中,生成样本的过程不够精确,因此您可能会满意地得出结论,混乱只是由不适定的问题引起的。然而,寻找 Bertrand 悖论的“适当”解决方案的工作仍在继续,因为许多现实世界的问题实际上是不适定的,显然也需要找到这类问题的“最佳”解决方案。

然而,睡美人悖论似乎是另一种野兽:作为一个活跃的研究问题,研究它的人仍然分为“半睡者”和“三睡者”(尽管更多的立场也得到了捍卫。)

与蒙蒂·霍尔问题不同,当你从任何一方听到足够多的论据时,直觉不会跟着做,双方通常都会援引相当标准的论据。

与伯川德悖论不同,这个问题至少在看来被定义得足够好,有一个独特的解决方案。

睡美人与人类推理

O 启动直觉泵的一个方法是概括问题并调整实验的设置。此外,也许更重要的是,我们可以测试 halfer 和 thirder 位置对这种一般化的鲁棒性。例如,我们可以调整唤醒的次数:

SB 在《尾巴世界》里醒了很多次。尼克·博斯特罗姆邀请我们想象当硬币正面朝上时,某人被唤醒一百万次,而不是仅仅两次。如果硬币正面朝上,她只会在周一醒来,就像最初的实验一样。

根据最初的第三个论点,在每次觉醒时,SB 现在几乎可以肯定硬币落在了反面:不是只有三个,而是有 100 万个可能的结果,其中只有一个意味着正面。

根据最初的 halfer 论证,无论她在“反面世界”和“正面世界”中被唤醒的频率不同,SB 的可信度都保持在 1/2。

SB 在《人头世界》中始终没有醒来。假设我们改变实验,如果硬币正面朝上,某人将不会被唤醒。如果硬币正面朝上,某人至少会被唤醒一次。因此,某人醒来时硬币正面朝上的可信度一定等于零,因为醒着就是相反的证据。

这种变化与人类推理和宇宙学的微调问题有关:假设硬币严重偏向“正面”,那么它落在反面的先验概率将是,比如说,0.0000000001。然而,这种可能性有多小(或多高)并不重要:当某人被唤醒时,她可以绝对肯定地断定硬币落在了反面。

类似地,人择推理告诉我们:我们不应该对这么多看似不可能的情况聚集在一起使有意识的生命成为可能感到惊讶:我们不能以任何其他方式观察它。人类永远不可能在“人头世界”中觉醒。

B 另外两种变化实际上是密切相关的:它们描述了这样的情况,在这种情况下,某人可能被唤醒的“头世界”的数量比“尾世界”的数量少得多。

因此,第三个作者的论点很好地将两种变化联系在一起:SB 在“正面世界”中从不醒来的情况可以被视为她在“反面世界”中醒来次数少得多的极限情况。

半身人被迫承认,SB 在“正面世界”中从未醒来是一个特殊的情况:与原始的实验设置或任何其他在两个世界中非零醒来的设置相比,SB 这次显然从被唤醒中获得了信息,并不得不调整她对掷硬币的判断。

然而,在这种情况下援引第三个论点意味着另一种麻烦。想想傲慢的哲学家:这位傲慢的哲学家认为任何预测我们的宇宙包含一万亿万亿个有意识观察者的宇宙模型比任何预测只有一万亿个这样的观察者的模型更有可能存在一万亿倍。因此,他或她可以——原则上——通过纸上谈兵的争论来贬低大多数物理实在的理论。

没有进一步的阐述,我发现这个反对意见并不强烈,因为,例如,奥卡姆剃刀也提出了一个非常常用的纸上谈兵的论点来挑选理论——即使当它们做出完全相同的预测。

事实上,如果你站在某人的立场上考虑,直觉可能会更偏向半方,实验会有以下变化:硬币严重倾斜,因此正面落地的几率是反面的 1000 倍。正面的时候你只会被唤醒一次,反面的时候你会被唤醒一百万次。

即使硬币有如此大的偏向正面的倾向,第三个位置告诉我们,当你醒来时,硬币仍然更有可能是反面着地。

在面试过程中,你的任务不是给出你对掷硬币结果可信度的数值,而是猜一猜,即明确回答“正面”或“反面”。面试官,一个邪恶的科学家,如果你答错了会当场杀了你。即使你是第三个,你会自信地说“尾巴”吗?我将在最后一节回到这个变化。

拿着不公平硬币的睡美人

修改醒来的次数是概括睡美人的一种方式。另一种方法是假设一个不公平的硬币,并采用最初的 halfer 和 thirder 论点,以测试它们对这种一般化的鲁棒性。

在下一节介绍马尔可夫链观点之前,我将描述一种将睡美人推广到有偏差硬币的替代方法,这种方法更接近于问题解决方案的通常推导。我们将再次假设最初的觉醒次数:如果硬币正面落地,一次觉醒;如果硬币反面落地,两次觉醒。

让我们假设硬币落地正面的先验概率是 P(正面)= p ,它是 0 和 1 之间的某个数字,但不一定是 1/2。SB 知道 p 的值;或者,她可能有机会在实验开始前通过多次投掷硬币来自己估算 p。

目标是确定 P⁺(heads) := P(头|清醒)。现在,对半分者和三分者都同意 P⁺(heads|Tuesday) = 0

然而,双方在周一的条件反射的含义上存在分歧:

**半身位。**觉醒后某人的信任度没有变化: P⁺(heads) = P(人头)= p

第三个位置。为了让我们把第三种情况推广到有偏差的硬币,我们需要调整最初的论点。基本的论点是基于无差别原则:公平地说,对于睡美人来说,任何结果都没有明显的区别,所以在最初的设置中, **P⁺(heads,星期一)**和 **P⁺(tails,星期一)**和 **P⁺(tails,星期二)**是相等的。

然而,如果硬币是有偏差的,那么这个假设就不成立,因为生活在“正面世界”或“反面世界”的人可能有非常不同的可能性。

如果你从这个现在已经不合法的论点中去掉第三个立场,你就剩下下面这个立场,它代表了与半者观点的关键区别:如果某人被唤醒,实验者告诉她,事实上是星期一,她对硬币正面落地的信任度必须等于她先前的信任度(因为她在星期一醒来,不管硬币投掷的结果如何,因此没有学到任何新东西): P⁺(heads|Monday) = P(正面)= p

上述假设将**【p⁺(⋅】**分别确定为对半者和三者的参数化联合分布,如下所示:

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

对于半工来说,参数 t 对最终结果 P⁺(heads) = p 没有影响。

然而,第三个用户仍然需要选择参数 q ,该参数可以解释为某人相信她醒来时是星期一:p⁺(monday)=q*。*

选择该参数的一种方法可以是最大熵原理:在没有进一步信息的情况下,我们应该选择最接近均匀的分布。作为参数 q 的函数,给定 p ,上述分布的熵可以计算为

S(q)=-(1-p)qlog((1-p)q)-pqlog(pq)-(1-q)log(1-q)【T51,

其中的最大值可以通过基本微积分找到。

然而,我们需要拒绝最大熵解,因为它意味着 P⁺(heads) = 1/2p → 1 的极限内——这当然没有意义,因为 SB 应该确定,每当该事件的先验概率已经接近 1 时,硬币正面落地。

找到参数 q 的合理值的另一种方法是调用无差别原则,毕竟——但只基于以 tails 为条件的分布:假设无论何时 SB 在“tails world”中醒来,她都无法区分星期一和星期二。因而,p⁺(monday|tails)= P⁺(Tuesday|tails),从而 P⁺(Monday,尾巴)= p⁺(tuesday,尾巴),并因此**(1-p)q= 1-q最终导致q= 1/(2-p)**

这一分析得出以下结论:

半身美女不更新硬币正面落地的可信度: P⁺(heads) = P(正面)= p

第三位美女在醒来时通过乘以她们的主观概率来更新她们的可信度: P⁺(heads) = P(人头)⋅p⁺(monday)=pq=p/(2-p)

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

Halfer posterior (blue line) vs. thirder posterior (red line) for priors P(heads) = p

马尔可夫链上的睡美人

L et 采用不同的视角,将问题建模为重复睡美人实验的马尔可夫链:

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

这个状态转换图应该这样理解:当 SB 在星期一醒来时,她下一次醒来的概率是 p 她将再次在星期一醒来:当硬币正面朝上时,星期二将没有面试,实验将重复进行。

以概率 1 - p ,她下一次觉醒将是在实验重复之前的一个星期二。

某人对今天是什么日子这一事实的无知可以直接转化为她对她当前所处的状态的无知:她所经历的只是一系列无法区分的觉醒。

让我们把星期一→星期一的转变称为“正面转变”,而星期一→星期二的转变称为“反面转变”。假设这个实验已经重复了很多次。

在该模型中,halfer 和 thirder 解决方案呈现出显著的特征:

马尔可夫半工。由 p 给出下一个转变是正面还是反面将是正面转变的概率:

要么是星期一,下一个转换是概率为 p 的正面转换,要么是星期二,下一个转换是重复实验,之后的转换是概率为 p 的正面转换。

马尔科夫·瑟德。要么正面要么反面先前转换是正面转换的概率由**p/(2-p)**给出:

如果今天是星期二,前面的转换一定是尾部转换。如果是星期一,前一个转换是概率为 p *的正面转换。*如果实验已经经历了许多周期,SB 可以确信成为星期一的概率由马尔可夫链π(⋅)的平衡分布给出,在这种情况下由π(星期一)= 1/(2 - p) 确定——这是我们在上面的更“贝叶斯”处理中已经遇到的概率。因此,最终概率不是由转移概率给出的,而是由概率通量**π(星期一)⋅ P(星期一→星期一)=p/(2-p)**给出的。

请注意,第三个位置也可以应用于遥远的未来:被访问后的第一百万个正面或反面转换是正面转换的概率将非常接近p/(2-p)

当我们通过将问题建模为马尔可夫链来处理这个问题时,我们仍然面临着相同的不同解决方案,我觉得这导致了对这些解决方案的解释的更清晰的画面。有人可能会说,这种明显的区别可以归因于我们赋予同一个词“概率”的不同含义:

  1. “预测概率”睡美人希望表达她的信念:无论实验者何时投掷硬币,硬币都是正面朝上的。这种预测不依赖于今天是什么日子或任何其他事态。那个可信度是 1/2(或者更一般的, p )。
  2. “描述性概率。”睡美人希望表达她对事件“正面”在她的参照系中通常发生的频率的看法。这个频率是 1/3(或者更一般的,p/(2-p))。

这一悖论似乎源于这样一个事实,即通常每个概率概念的值是一致的:在掷了一百万次骰子之后,我们确信,由于每个可能结果的频率(“描述性概率”)非常接近 1/6,所以我们可以根据相同的不确定性度量(“预测性概率”)来推断下一次我们掷同样的骰子的时间。

睡美人和参考类问题

他将睡美人问题的解决方案分成两半和三瓣,这可以解释为参照类问题的一个例子:作为参照类,SB 应该选择实验类(一系列实验中的两个中的一个将产生“头”),还是醒来类(三个中的一个)。你可能会很快争辩说,SB 当然应该选择她“自己的”参照类,即觉醒类。

然而,在这种情况下,我将通过如下重复睡美人实验的变体,为 halfer 的立场给出一个论点。在原始公式中,SB 完全知道生成数据的机制,但她无法访问实际数据。

现在假设 SB 每次醒来都被告知硬币是否正面朝上,她被允许记录醒来的次数。然而,这一次她并不知道这些数据是通过复杂的程序产生的。因此,她可能会得到这样一个序列( p = 1/2, H =正面, T =反面):

TTTTHTTTTTTHTTHTTHHHHTTTTHHHTTHHTTTTTTTTHTTHTTHTTTTHTTHTTHTTTTTTHHTTTTTTHTTTTTTTTHHTTTTTTTTHTTHTTTTTTTTHTTTTHTTTTHHHHHTTTTHTTTTTTTTHHHHHTTTTTTTTTTTTTTTTTTTTTTHHTTTTTTTTTTHHHTTTTTTTTTTHTTTTTTTTHHHHHHTTHTTHHHTTTTTTTTHTTHHHHTTTTTTHTTTTHHTTHHHHTTHHHTTHTTTTHHHHTTTTTTTTTTTTHHHHHHHTTTTTTTTHHHHHTTHTTTTTTHTTHTTTTHHTTTTHTTHHTTTTHTTHTTTTHTTHHTTHTTHHTTHHTTHTTHHHTTHTTTTHHTTHHTTHTTHHTTHHTTHHHTTHTTTTHHTTHTTHTTTTTTTTHTTTTTTTTHHTTHTTHHTTHHHTTTTTTHTTHTTTTTTTTHTTTTTTHTTHHHTTHTTHTTTTTTTTTTHHTTTTHTTHHHTTHTTTTHHHHHHTTHTTHTTHHHTTHHTTTTTTHTTHTTHHHHTTHHTTTTTTHHHHHTTHTTTTHTTHHHTTTTTTHTTTTHHTTTTHTTTTHTTTTTTTTHHTTTTTTHHTTTTHHHHTTTTHTTTTTTHHTTHHTTTTHTTTTHTTTTTTTTHHTTHTTHTTTTTTTTTTHTTHHHHTTHTTHTTTTHTTHTTHTTHHHHTTTTTTHTTTTHHHHTTTTHHHTTHHTTTTTTTTTT

对这一抛硬币序列的简单分析将使她能够计算出“正面”出现的频率,大约是三分之一。然而,她也可以了解到某些特征似乎永远不会出现,例如 HTH

因此,SB 被给予所有的数据,并且她甚至不知道她应该相对于哪个特定的参考类来计算频率。尽管如此,她仍将得出结论,尽管假设以 1/3 的概率随机抽取 H 和以 2/3 的概率随机抽取 T 与数据一致,但产生观察结果的更好解释是以 1/2 的概率顺序抽取 HTT

当她被告知实验的细节后,她会发现优越的理论得到证实。因此,如果实验继续,但她没有得到任何新的数据,她没有理由修改她对实际发生的事情的信任,这包括两个看似矛盾的陈述“ H 以 1/2 的概率得出”和“ H 以 1/3 的概率得出”,但它们只是两个不同假设的一部分,只有在脱离上下文的情况下才显得矛盾。

总结和结论

当你试图将半分者和三分者的论点扩展到一个不公平的实验设置时,这个实验设置涉及一个以任意频率显示头部的硬币*,在如何扩展三分者的论点方面存在一些模糊性。但可以得到一致的广义三阶结果: p /(2 - p ) 。*

此外,通过提供一个在重复执行实验时生成数据(不被 SB 观察到)的模型,有两种方法可以结合 halfer 和 thirder 观点:

  1. 一个马尔可夫链模型,其中 p 代表转移概率*p/(2-p)*分配给“跳过星期二”的概率通量,
  2. 一个随机序列,其中“正面”以频率*p/(2-p)*出现,但该频率仅作为该序列的部分描述:“正面”以概率 p 出现,“反面,反面”分别以概率 1 - p 出现。

就我个人而言,在思考这个问题时,我的观点从三分之一变成了二分之一。目前,我认为,睡美人的可能答案的明显矛盾可以通过接受这样一个事实来缓解,即两者都不能完全描述她所处的情况,因为产生看不见的数据的机制不能仅由一个参数完全描述。

最后,睡美人的正确答案可能就像这样简单:

“在这个实验过程中,硬币正面着地的概率由值 p 给出。但是如果我猜测硬币正面朝上,我会以更小的概率*p/(2-p)*猜对。

这也可以用不同的实用程序来举例说明:

  1. 如果邪恶的科学家在某人猜“正面”或“反面”时因给出错误答案而杀死她,她最好以 p 作为她回答的基础。(这是显而易见的,当她在周三的整个实验后被杀。但如果她在周一被杀,这也成立,因为在那种情况下不会有周二的觉醒,有效地缩小了觉醒的参考类。)
  2. 如果 SB 每次猜对硬币都被奖励一个价格(例如,钱),那么当评估硬币显示“正面”的概率为*p/(2-p)*时,她将有更大的预期收益。

因此,这个悖论可能源于一种误解,即睡美人的现实只能由一个概率变量来详尽描述。然而,我相信讨论不会就此结束。

参考

睡美人问题,朱莉娅·加里夫的视频

米(meter 的缩写))皮乔内和 a .鲁宾斯坦。关于不完全回忆决策问题的解释。载于:游戏与经济行为 20 (1997),第 3-24 页

A.埃尔加。自我定位信仰与睡美人问题。载于:分析 60.2 (2000 年),第 143-147 页

南吉阿苏和申尼策尔。最大熵原理。摘自:《数学智能 7.1》(1985),第 42-48 页

F.p .凯利。可逆性和随机网络。奇切斯特,威利,1979 年

D.刘易斯。“睡美人:回复 Elga ”。载于:分析 61.3 (2001 年),第 171-176 页

名词(noun 的缩写)博斯特罗姆。睡美人和自我定位:一个混合模型。载于:综合 157.1 (2007),第 59-78 页

页(page 的缩写)温克勒。睡美人之争。载于:《美国数学月刊》124.7 (2017),第 579 页

ArXiv 论文空间

原文:https://towardsdatascience.com/the-space-of-arxiv-papers-1f9648005cab?source=collection_archive---------32-----------------------

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

ArXiv’s recently-old favicon. The full story here.

T 今年夏天,我和我的团队与英伟达人工智能技术中心的研究人员联手,在新加坡技术与设计大学使用机器学习技术设计和开发了一个人工智能(AI)研究助理。

这个项目背后的动机?让人工智能助手处理学术研究过程的一部分,减少人类研究人员的认知负荷,并为他们腾出宝贵的时间和资源来执行更高级的任务,如构思、实验设计和写作。

在这篇文章中,我们将谈论我们收集的一些重要想法,以及我们可能如何考虑设计人工智能系统来构建知识空间,导航和操纵数据,并提供见解而不是信息过载。

设计知识空间

事实证明,研究过程的很大一部分,尤其是早期阶段,自动化的潜力很大。我们进行的一项涉及 64 名研究人员的研究揭示了早期研究痛点的两个关键见解:(1)信息空间太难导航,以及(2)这一空间的结构非常复杂,迫使通过研究论文之间的递归引用路径导航-不能保证找到有价值的东西。

但是,如果我们可以把这个看似不可避免的、人类难以解决的问题,转化成一个自动化的任务,会怎么样呢?我们能在信息空间中轻松定位自己,并更容易探索我们附近的区域吗?这是我们的目标。

我们需要将这个问题转化为一个工程问题——我们如何构建和分析研究知识的空间,并确保它容易穿越,不带偏见,并最终有益于人类研究人员?我们首先需要一个巨大的、结构化的研究知识来源,为了获得一个真正好的样本,我们期待着 ArXiv ,康乃尔的电子印刷档案,来形成我们的知识库。

提交给 ArXiv 的论文通常会在会议或期刊上发表,并且可能会经历极其缓慢的同行评审过程。毫无疑问,ArXiv 正迅速成为事实上的标准,用于快速声明研究想法、非正式审查,以及使某些科学领域的科学工作民主化。经过验证的研究人员自行向 ArXiv 提交预印本,并鼓励以(La)TeX 格式提交。如果我们检查一下 ArXiv 批量源文件访问页面,我们会看到这些文章以.tex格式的大量集合可供下载。

关于乳胶的简短介绍

首先,一个简单的渲染文档及其 LaTeX 源代码如下所示。

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

A PDF document compiled from its LaTeX source (shown below).

\documentclass{article}
\begin{document}

\title{Introduction to \LaTeX{}}
\author{Author's Name}

\maketitle

\begin{abstract}
The abstract text goes here.
\end{abstract}

\section{Introduction}
Here is the text of your introduction.

\begin{equation}
    \label{simple_equation}
    \alpha = \sqrt{ \beta }
\end{equation}

\subsection{Subsection Heading Here}
Write your subsection text here.

\section{Conclusion}
Write your conclusion here.

\end{document}

TeX 文件包含排版的基本说明,可以呈现为各种格式,最常见的是 pdf。LaTeX 包含一组方便的宏,可以轻松定义和重用书写要素,如标题、页眉、等式、节和页脚。

研究论文的结构

将文档存储在 TeX 中意味着您只需要重新创建这些漂亮、结构化和格式化的研究论文的源文件.tex,以及源文件引用的任何图形或媒体文件。

如果你是机器学习的实践者,你可能已经认识到这些摘要、标题、章节、小节等。,以及它们的文本和图形内容,形成标签-数据对,所有这些都已经为我们分配好了!我们现在可以把 ArXiv 看作一个标签和文本(或者图像和其他媒体)的结构化数据集。例如,如果我们对论文中的文本字符串进行分类感兴趣,我们可以在如下所示的样本上训练我们的分类模型:

Label: \section{Results} -> 'results'
Data:  "The results of our method...

拥有结构合理的研究论文也使我们能够尝试和猜测研究论文的哪些部分是重要的——如果我们知道论文的摘要是全文的良好总结,那么我们可以训练模型尝试在给定研究论文全文的情况下重建摘要。

为了进一步发展这一思想,一些 ArXiv 论文包含结构化的摘要,这些摘要是在摘要部分中的论文的每个部分(例如,数据、方法、结果、结论)的小标签摘要,实质上在它们的正常部分中提供了较长文本对,以及在摘要中找到的它们的摘要。毫不奇怪,它们最近已经被用来训练抽象的摘要模型!

相比之下,如果我们试图分析 PDF 或扫描文档,就会出现大量的设计问题:我们应该使用 OCR ,还是应该尝试从图像中重建标签?或者我们应该试着把 PDF 重新转换成 LaTeX?哪种转换可能会损失更大?很明显,只要有可能,坚持使用 LaTeX 会给我们提供来自源代码发行版的最干净的数据(作者!)产生它,绝对没有噪音。

研究论文的空间

好了,我们现在知道了一篇研究论文的样子,但是它们看起来完全不同:似乎没有一种方法可以恰当地比较这些论文!人工智能助手将如何从它所拥有的研究论文中构建知识的表示,并将其简化,以便主题查询,如*“煮鸡蛋”,或结构化问题,如“卷积和相关性之间的关键区别是什么?”*,可以开始讲道理了吗?问助理一个问题意味着什么,它将如何在这个空间中尝试并返回一个答案?

让我们假设今年是 2028 ,你是一个功能正常的人类级人工智能助理。你试图回答卷积与相关性的问题来帮助一位研究员。让我们假设你已经明白你的任务是比较两个事物,带着“关键差异”所隐含的紧迫感,你知道你必须只返回最大的差异。现在你有两个关键词,“卷积”和“相关”。你知道你必须查看提到这两个词中的一个或两个的文档,并处理这两个词用法之间的相似之处,这样你就能通过减法和逻辑方法发现它们的不同之处。很容易,不是吗!

现在让我们回到现在的 2019 年,想象你是建造助手的人。你被困住了——你收集了大量的文档,但是你没有办法处理文档之间的相似性或相关性,这是比较“卷积”和“相关性”的第一步。还是你?

有一些可能性。如果我们看一下我们收集的所有 ArXiv 论文,我们可能会意识到它们实际上是由很多单词组成的。我们可能会猜测,在两个文本文档中有相似的单词、样式或内容意味着这两者很可能彼此相关。这给我们带来了两种评估文档中单词之间关系的流行方法:(1)排序方法,和(2)向量嵌入。

TF-IDFBM25 这样的排序方法使用单词在文档中的出现作为相似性的标记。TF-IDF 认为,只有当文档经常共享不同的单词时,它们才是相似的。向量嵌入通常在大型语料库(如我们的文章集)上进行训练,并在推理过程中,为给定的单词生成向量,然后可以对其进行数字处理——例如使用余弦距离。此外,像 ELMo 和 BERT 这样的上下文敏感的嵌入让我们能够区分使用不同的完全相同的单词。

这两种方法让我们通过指定文章之间的某种形式的相似性来遍历文章之间的空间。通过扩展,我们获得了相互比较文档的能力,也就是说这个那个更相关。这可以说是学习以下能力的第一步:对信息进行优先排序,根据标准对知识进行排序,在广泛的指标范围内比较研究论文、主题和查询。

如果我们的研究集合的文本内容还不够丰富,ArXiv 还存储了每篇论文的元数据。所有文章都附带元数据文件,其中至少包含作者姓名、文章标题、主题类别、明文摘要和日期,提供了额外的维度或指标来评估研究文档集的相关性和相似性。谁说研究想法或知识在文档中是孤立的,或者单词相似性需要成为空间的基础?用我们能够提取的特征,我们还能建造什么样的空间?关于……

引文

参考书目是判断一篇研究论文是否与另一篇相似的巨大线索。想象一下,构建一个巨大的知识图,其中的节点是单个的研究论文,有向边携带着关于哪篇论文引用了哪篇论文的信息。我们可以根据论文的内容来学习这些边缘的权重吗?这是一个完全不同的——也可以说是更有条理的——研究领域的代表!重要的是,如果我们想象这个巨大的引用网络,我们现在能够可视化论文之间的真实联系,这使得构建搜索算法来遍历它们变得更容易,就像我们习惯的图形问题一样。除了相似性的文本特征表示,通过将引用的概念添加到我们的 ArXiv 空间中,我们现在有了对论文之间的外部关系进行编码的维度,即作者身份和思想传播领域中的维度。

不过,恢复完整的参考网络并不容易。当我们试图递归生成这个网络时,那些本身不在 ArXiv 上的论文经常会破坏引用路径。如果你需要引用一篇非常非常旧的论文呢?或者,如果那张特定的报纸是 ViXra.org的呢?

公平知识的问题

尽管试图设计知识可能令人兴奋,但当我们试图将我们辛苦收集的数据集与知识等同起来时,当我们未能考虑到 ArXiv 仅仅是所有可用研究信息的样本时,就会出现一个突出的问题。值得注意的是,通过使用来自 ArXiv 的 TeX 文章,我们明确地将人工智能助手偏向于从 2000 年 1 月 1 日至今提交的来自 8 个研究领域的特定的、经过验证的研究人员的定量研究。

学习程序还需要考虑统计上的不平衡,比如领域之间的提交数量或提交的季节性。我们还面临着更大时间范围内的偏差:数字人文学科正在积极研究长期以来文档中语言的变化——句子结构和单词用法随时间的变化如何影响我们的相似性和摘要算法,以及我们如何调整它们以解决这些问题?

有许多悬而未决的问题,需要考虑很多,而且这些问题到目前为止看起来相当棘手。但我希望,这些从设计可导航信息空间的尝试中收集的见解,将对任何碰巧想解决类似或不太相关的问题的人有用,无论是否在人工智能领域。

作为一个轻松的总结,这里有一个有趣的问题——我们超级聪明、征服 ArXiv 的人工智能助手将如何能够不学习废话

三维物体检测的现状

原文:https://towardsdatascience.com/the-state-of-3d-object-detection-f65a385f67a8?source=collection_archive---------7-----------------------

基于 KITTI 排行榜的技术现状综述

前言

此贴更新 此处

简介

3D 对象检测是自动驾驶的一个基本挑战。 KITTI vision 基准提供了一个标准化数据集,用于训练和评估不同 3D 物体检测器的性能。在这里,我使用来自 KITTI 的数据来总结和强调 3D 检测策略中的权衡。这些策略通常可以分为使用激光雷达的策略和使用激光雷达+图像(RGB) 的策略。我分别分析这几类。

激光雷达

CNN 机械对 2D 天体的探测和分类已经成熟。但是,用于自动驾驶的 3D 物体检测提出了至少两个独特的挑战:

  • 与 RGB 图像不同,激光雷达点云是 3D 和非结构化的。
  • 自动驾驶的 3D 检测必须快速(< ~100ms).

Several 3D detection methods have tackled the first problem by discretizing the LIDAR point cloud into a 3D voxel grid and 应用 3D 卷积)。然而,3D 卷积比 2D 卷积具有更大的计算成本和更高的等待时间。或者,点云可以被投影到自上而下鸟瞰视图( BEV )或激光雷达的本地范围视图( RV )中的 2D 图像。优点是投影图像可以用更快的 2D 卷积有效地处理,产生更低的等待时间。

我从 KITTI BEV 排行榜中挑选了一些方法,以强调在 RVBEV 和操作体素特征的方法之间的一些权衡。该图显示了报告的推断延迟(毫秒)与车辆 AP 的关系:

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

Detector (LIDAR only) latency vs vehicle AP

结果中的关键要点:

  • BEV *投影保留了物体大小随距离的变化,为学习提供了强有力的先验。*Z 轴被视为 2D 卷积的特征通道。手工制作的 Z 轴宁滨(例如 PIXOR )可以使用 PointNet 进行改进,以将 Z 轴整合到学习的特征中(例如 PointPillars )。此外,地面高度可用于展平 Z 轴上的点(如 HDNet ),减轻道路坡度引起的平移变化的影响。
  • BEV 的博学(PointNet)特性来巩固 Z 轴实现强劲性能第二个用体素特征编码层和稀疏卷积实现;新版(1.5 版)报告了更好的 AP (86.6%)和低延迟(40ms)。 PointPillars 在 Z 轴柱子上应用简化的点网,产生一个 2D BEV 图像,该图像被输入到 2D CNN。
  • RV 投影受遮挡和物体大小随距离变化的影响。 RV 探测器(如 LaserNet )在 KITTI 的~7.5k 帧训练数据集上性能落后于 BEV 探测器。但是, LaserNet 在 1.2M 帧 ATG4D 数据集上的性能与 BEV 探测器(例如 HDNet )不相上下。
  • RV 投影具有低延迟(例如 LaserNet ),可能是由于相对于较稀疏的 BEV 的密集 RV 表示。体素网开创了体素特征的使用,但由于 3D 卷积而遭受高延迟。较新的方法(例如第二)可以使用相同的体素特征编码层,但是使用稀疏卷积来避免 3D 卷积以减少等待时间。

激光雷达+ RGB

激光雷达+ RGB 融合提高了 3D 检测性能,特别是对于较小的对象(例如,行人)或长距离(> ~ 50 米-70 米),其中激光雷达数据通常很稀疏。下面总结了几种融合方法。基于提议的方法生成 RGB(例如 F-Pointnet 或 BEV(例如 MV3D )的对象提议。密集融合方法将激光雷达和 RGB 特征直接融合到一个公共投影中,通常具有不同的分辨率。

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

General approaches for LIDAR+RGB fusion. Images are adapted from MV3D (Chen et. at. 2016), F-Pointnet (Qi et. al. 2017), ContFuse (Liang et. al. 2018), and LaserNet (Meyer et. al. 2018).

该图显示了报告的推断潜伏期(ms)与车辆 AP 的关系:

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

Detector (LIDAR+RGB fusion labeled) latency vs vehicle AP

结果中的关键要点:

  • RV密集融合 在所有方法中延迟最低,基于 提议 的方法一般比 密集融合 延迟高。 RV 密集融合(例如 LaserNet++ )速度快因为 RGB 和 LIDAR 特征都在 RV 中。激光雷达特征可以直接投影到影像中进行融合。相比之下,密集融合密集融合 。它从 RGB 特征生成一个 BEV 特征图,并与激光雷达 BEV 特征图融合。这很有挑战性,因为在 RV RGB 图像中并不是所有 BEV 中的像素都是可见的。几个步骤可以解决这个问题。对于一个未观察到的示例 BEV 像素,提取 K 个附近的激光雷达点。计算每个点和目标 BEV 像素之间的偏移。这些点被投影到 RV 以检索相应的 RGB 特征。偏移和 RGB 特征被馈送到连续卷积,其在 RGB 特征之间进行插值,以在目标 BEV 像素处生成未观察到的特征。这是为所有的 BEV 像素完成的,生成 RGB 特征的密集插值 BEV 图。
  • **融合方法通常在激光雷达稀疏的较长距离和小物体上具有最大的性能增益。激光雷达+ RGB 特征融合(激光网络++ )相对于激光雷达(激光网络)的 AP 改进在车辆上是适度的(在 0-70 米处大约 1%的 AP),但在较小的类别上更显著,特别是在较长的范围内(在 50-70 米处大约 9%的自行车 AP)。 LaserNet++ 在 ATG4D 上表现强劲,但其 KITTI 性能未见报道。

总结

BEVRV 投影之间存在权衡。 BEV 保留度量空间,保持对象大小与范围一致。相比之下, RV 在范围和遮挡方面存在尺度变化。因此, BEV 检测器(如 PointPillars )在小数据集(如约 7.5k 帧的 KITTI)上实现了优于 RV (如 LaserNet )的性能,具有相似的延迟(如 PointPillars 为 16 毫秒,而 LaserNet 为 12 毫秒)。然而, RV 的性能在更大的(例如,1.2M 帧 ATG4D)数据集上与 BEV 不相上下。尽管有这个缺点,密集特征融合RV 中比 BEV 中更快。 LaserNet++ 报告了令人印象深刻的延迟(38 毫秒)和比密集 BEV fusion 探测器更好的性能(例如cont fuse60 毫秒)。下图总结了这些权衡。新的激光雷达+ RGB 融合架构可以找到在投影之间移动的方法,利用每个投影的优势。

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

Trade-offs between RV and BEV projections

强化学习研究中的基线

原文:https://towardsdatascience.com/the-state-of-baselines-in-reinforcement-learning-research-160e463003d9?source=collection_archive---------23-----------------------

当基线很容易允许新论文被比较时,它们是很棒的,但是当它们被要求在工作中试图进步理解和应用时,它们可能会腐蚀科学实践。

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

Mujoco simulations and learning curves are commonplace in reinforcement learning (sources 1, 2, 3).

基线是一个领域的从业者应该共享的工具集,以建立一个比较实验的共同基础。科研论文应该根据其想法的质量和实验的彻底性来评判,基线会有所帮助。我在强化学习研究中发现,基线已经成为一种障碍。

最近,我发表了一篇论文,对基于模型的强化学习中的常见实践进行了批评——这是以一种非常不科学的方式进行批评的,这将长期阻碍该领域的发展。评审者反对我们,因为我们的实现对评审者的基线不满意。最后,主要的区别是模拟版本化,这使得这篇论文的概念对于评论者来说几乎站不住脚。这对科学界来说是极其危险的,因为强化学习中的峰值基线性能通常更多地是参数调整的结果,而不是复制期间的洞察力。

将基线作为讨论的拐杖是不科学的,只会限制该领域的发展。当信任一个模拟机制而不是被评估的东西时,一个取得好的数字结果的科学家最终会强化潜在的坏行为。彼得·阿提亚在他的播客中多次评论这种危险(尽管是从医学的角度)。这个想法是,你可以从极化的方法和结果中选择一个象限,如下所示。

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

High level quad-chart for evaluating scientific practices.

我们拥有的选择以不同的方式影响科学家的精神状态——其中一些特别具有挑战性。

  1. 好的方法,好的结果:作为一名科学家的最佳感受——你严格地计划你的实验,它们奏效了。
  2. 好的方法,坏的结果:作为一名科学家最常见的感受——你所有的计划都达不到要求,你不得不从头开始。
  3. 不好的方法,好的结果:在 RL 研究中变得太常见的事情— 你尝试一些事情,得到了一个好的结果,却不知道为什么会发生当不使用回溯来找出方法论 时,这变得更糟。
  4. 不好的方法,不好的结果:是时候寻求更多的指导了。继续努力。

最终,当人们得到好的结果时,他们会得到积极的强化,所以他们会重复这些方法。我不禁觉得强化学习中实现的一些算法和论文都属于 3 ( 不好的 方法 好的 结果),所以平庸的方法都被强化了。

当我在脸书人工智能实习期间与一个“最先进的”强化学习算法的作者交谈时,他告诉我,他改变了现有代码中的一些策略参数化(从技术上讲,他添加了一个额外的值函数,以更好地处理不确定性),并注意到性能有了显著改善,所以他运行了它。这变成了第一作者论文和一定数量的强化学习名气。当前的学术周期奖励回溯,并以某种方式用引用来解释这些业绩上升,但我认为这是一项有风险的业务。我绝不是批评个人促进他们的工作,我更多的是在看这个系统,因为它没有比一个单独的数字看得更深。基线应该仅用于评估声称有性能的算法。

随着未来学习算法的中心阶段从模拟任务转移到真正的机器人代理,这个公式将不得不被重新评估。

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

Macao — the location for the last robotics conference I went to (IROS).

回到给我留下深刻印象的评论家。我理解这一评论,但我想指出我们的 RL 实现与原始实现之间的性能差距的可能原因。在这种情况下,我们与原作者合作,在 PyTorch 中从其原始 TensorFlow 重新实现了他的算法PETS(这是第一个潜在原因,这是两种计算结构之间的微小数字差异,并导致控制算法的概率推出的显著差异)。

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

Half Cheetah Mujoco simulation render from source. This little buddy gets so much attention from the best and brightest researchers in RL.

我们假设的主要差异是模拟器的差异。今天在强化学习研究中最常用的模拟器是 MuJoCo ,这是一个研究项目转化为多体接触力的产品。RL 的一些任务中的最高性能来自于在模拟器中利用非物理的微妙之处。非物理效应的产生是因为 接触力 难以建模,并且是高度非线性的。当在非线性函数的预期支持区域之外对其进行采样时,会出现“混乱”——复合非线性函数会迅速发散。

人们可以很容易地读到 MuJoCo 版本之间有多少变化,但是旧的研究没有被重新访问以更新结果。我们的实现从 1.31 版更改为 1.51 版,我们失去了峰值性能(在半猎豹任务上几乎损失了 40%的奖励)。考虑到这一点,我们将它与我们的其他高保真重新实现进行了比较,它们反映了这一下降。这种差异在学术界的贡献并不显著,但在如何接受工作方面却举足轻重。

审查者可能已经观察到的另一项是状态数据如何通过算法学习和控制过程的差异。基于模型和无模型强化学习的子区域之间的差异最为明显。由于在线规划中需要可访问的奖励,基于模型的强化学习需要访问奖励计算期间使用的所有状态变量,而无需更新模拟器的状态。这导致了环境中的以下微妙差异——让我们从一个无模型实现开始。

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

Returned observation when learning in the half-cheetah environment with model-free algorithms, (source).

您可以在基于模型的基线中看到观察结果发生了变化:

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

Returned observation when learning in the half-cheetah environment with model-based algorithms, (source).

大多数研究人员不会达到这种细节的水平,但所有的算法都显示出随着使用不同的状态变量,性能会发生巨大的变化。出于好奇,在第二幅图像中附加到观察结果的状态数据是速度,在本例中直接用于计算奖励。当无模型算法可以直接获得奖励时,可以发现它们从剩余的上下文中学习得更少。

最终翻转模拟版本、自动微分软件包或环境观察结构中的任何一个都会导致算法的模拟结果达不到要求。这方面的一大亮点是该领域一群顶尖人物尝试的一篇基线论文,参见:

[## 基于标杆模型的强化学习

基于标杆模型的强化学习

基于基准模型的强化 Learningwww.cs.toronto.edu](https://www.cs.toronto.edu/~tingwuwang/mbrl.html) [## WilsonWangTHU/mbbl

Arxiv 链接 PDF 项目页面摘要:基于模型的强化学习(MBRL)被广泛认为有潜力…

github.com](https://github.com/WilsonWangTHU/mbbl)

敏锐的读者会将他们给出的情节与发表的原始情节进行比较,差异比比皆是。 在强化学习中复制结果几乎是可笑的艰难

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

Fun Unitree bots (doggos) — taken at IROS 2019.

自受孕以来,DeepMind 的使命一直是:

“解决智能”

但是,如果研究因次要细节的差异而混乱,这种情况就不会发生。我认为脸书·艾的使命不太明确,就是:

“加深我们在新领域和现有领域的基本理解,涵盖与人工智能相关的所有主题,以通过开放研究推进人工智能的最新发展为使命,造福全人类”

在脸书,我知道他们很幸运地聚集了一个不可思议的团队,这个团队在这个领域取得了巨大的进步,但使命宣言留下了很多有待涵盖的内容。随着时间的推移,核心价值观复合并创造了研究和贡献的环境。如机构 DeepMind脸书 AI 等。声称他们在这些领域有长期、大胆的目标,我希望那些没有紧张、学术宵禁和压力的成员能够以不会导致过度依赖基线问题的方式来设计他们的工作。

更多?订阅我关于机器人、人工智能和社会的时事通讯!

[## 自动化大众化

一个关于机器人和人工智能的博客,让它们对每个人都有益,以及即将到来的自动化浪潮…

robotic.substack.com](https://robotic.substack.com/)

SXSW 时尚与美容技术,我的评论

原文:https://towardsdatascience.com/the-state-of-fashion-tech-8aa28794adf6?source=collection_archive---------26-----------------------

我在 SXSW 学到的一些关于时尚和美容技术的东西

今年我第一次参加了 SXSW(德克萨斯州奥斯汀)。迄今为止我参加过的最好的会议之一。这个节目的广度和深度给我留下了深刻的印象,而且你可以听到一个关于人工智能的演讲,然后去看一个利基爱尔兰嘻哈艺术家(大声喊出来!).我对美国国防部如何思考人工智能中的伦理问题,了解到中情局如何创新,或者欧莱雅如何在美容技术领域遥遥领先印象深刻。

我还看到陈慧娴谈论教育廷克·哈特菲尔德谈论设计空中乔丹,还有我最喜欢的亚历山大·奥卡西奥-科尔特斯!这是一个真正鼓舞人心的节目,展示了我非常关心的许多话题之间的交集。社会,城市化,政治,科技,人工智能和时尚。这也是一个很好的练习,听人们谈论一些我根本不熟悉的话题,走出我的舒适区。

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

Austin by night, the Saturday after the SXSW Conference (by me)

在这一周里,我在时尚和美容数字领域看到了一些非常有趣的趋势,尤其是人工智能在该领域的有趣应用。在这篇博客中,我分享了我在奥斯汀 SXSW 的一周里学到的一些见解。

“随着对更好的发现和搜索体验需求的增长,个性化将成为未来的关键,有多种方式来导航和影响客户看到的产品组合”

在 Tony Bacos(亚马逊时尚首席技术官)和 Blair Eadie(大西洋太平洋公司)的对话中,我们从最大的参与者之一那里瞥见了时尚电子商务平台的未来。两人都认为投资时尚是一个很好的机会,因为还没有人获得这种体验,尤其是从发现、浏览或试穿的角度来看。事实上,Bacos 提到,时尚电子商务平台领域的一些问题自 2000 年以来一直存在,但尚未得到解决。

  • 个性化和推荐将继续成为亚马逊这样的大公司的关注领域,与其他较小的零售商相比,亚马逊拥有较大的目录。当然,在这个领域,家庭购物者仍然是一个未解决的问题,为此亚马逊计划允许客户在会话开始时表明自己的身份。此外,由于缺乏词汇,人们无法描述自己的需求,在未来几年,以时尚领域特有的方式理解图像将非常重要,以便为客户提供符合他们品味、风格和身材的产品。
  • 在尺寸和合身——商业模式成功的关键——这个话题上,亚马逊时尚花费了很多努力,包括推出一个名为 prime 衣柜的新项目,顾客可以收到多达 8 件商品,他们可以在家里试穿,并且只需为他们保留的商品付费。亚马逊也有自己的品牌尺寸映射,这是一个特别困难的问题,因为它不仅与尺寸有关,还与偏好有关。例如,有些人喜欢穿宽松的衣服,而另一些人穿同样的衣服,但要紧身得多。
  • 一个主要的全球趋势是时尚产业中有影响力的人的角色正在上升。20 年前,人们通常会去商场购物,而现在他们会去 instagram 寻找灵感,这给时尚营销的运作方式带来了巨大的转变。因此,时尚电子商务平台和影响力之间的关系将在未来几年增长,亚马逊等公司将开发工具,让有影响力的人推动他们的业务,并建立他们的受众。
  • 虽然评论一直是亚马逊客户做出决策的强大工具,但该领域的用户体验正在增加——特别是在搜索和发现方面。在接下来的几年里,我们将看到围绕发现产品组合的新方法的创新:创建服装,探索视觉上相似的商品,或在搜索中实现新的发现体验,以便为每个客户创建精选商品。此外,新的多模态体验显示出早期的成功,人们更经常地问“ Alexa,我应该穿什么?
  • 同样,如果你开一家新店,如果你把它放在一个偏僻的小巷里,你也不太可能成功,亚马逊在试图把流量转移到一个全新的目的地时,没有成功地改变客户的行为。然而,多次失败和支点带来了教训。亚马逊已经利用了这些经验,他们现在的目标是建立可重复使用的内容体验,让客户可以在不同的渠道中享受,并试图通过这些媒介接触尽可能多的人。在这个新阶段,与有影响力的人合作至关重要。

“美容的未来是超个性化的。想想 23andMe,除了美容产品”

我对 Liz Bacelar(现任)和 Guive Balooch(欧莱雅)关于 联网美容 的对话印象特别深刻。令我惊讶的是,这个行业在很长一段时间里,在新的数字体验方面被大量发明。

  • 数字原生消费者越来越依赖科技来满足他们的#美丽目标。品牌正在通过创造将数字与物理相结合的工具来满足这种需求,个性化是核心,模糊了零售或家居美容体验之间的界限。
  • 当欧莱雅在 2014 年首次推出虚拟试衣时,他们着眼于动画行业,与 imagemetrics 合作推出了他们的首款产品。从那以后,他们在这个领域推出了几个产品,包括一个虚拟发型师。
  • 几年前,定制粉底被视为美容体验中个性化的前沿——50%的人找不到适合他们的色调!虽然从技术角度来看,创造某种色调的妆容并不是一个难以解决的问题,但挑战在于如何对肤色进行适当的测量来生产这种妆容,并将其包装成对顾客有吸引力的体验。
  • 在数字体验、可穿戴设备和健康意识之间进行创新时,欧莱雅推出了一款漂亮的可穿戴设备来测量紫外线暴露量。该设备没有电池,便于使用,并为佩戴者提供重要信息——他们暴露在多少紫外线下。随着黑色素瘤的增加,人们通常不会意识到自己暴露在阳光下,这种可穿戴设备成为一种非常重要的预防工具。
  • 对于美容,欧莱雅认为下一个前沿是将健康与美容结合起来,致力于类似于 23andme 的美容产品。打造超个性化的皮肤护理产品,根据个人的皮肤组成,甚至基因组量身定制!

“用这些数据来制作你自己的衣服怎么样?还是火绒,换衣服?利用数据是像 StitchFix 这样的数字玩家的关键

埃里克·科尔森(Stitch Fix)安迪·方(DoorDash)瑞秋·梅斯(CNN 财经)在小组讨论中讨论了人工智能如何改变我们的社会生活方式

  • 我在会议中听到的最有趣的事情之一是 Eric Colson 谈论 StitchFix 如何使用遗传算法来设计衣服,模仿自然选择的进化方式。该算法能够将不同的衣服组合在一起,甚至可以设计出新的衣服——想象一件皮革领的亚麻衬衫。这个想法最初是由作为公司的一个研究项目发起的,已经帮助推出了 140 多个非常成功的产品(我强烈推荐在 StitchFix 的 blo 上阅读更多相关信息)。
  • StitchFix 雇佣了 4000 多名造型师,他们与算法专家一起工作。科尔森解释说,人类和算法之间的关系是共生的,但有时很难,算法在某些领域缺乏理解。例如,算法无法理解特定的客户需求,例如在夏天去其他地方滑雪,并且在这些场合从不推荐合适的毛衣。算法也不擅长理解文本中的时尚概念(部分原因是顾客无法用语言表达他们的需求)。最终,算法无法模仿人的同理心,以及与他人联系的能力,这使得人类+机器的配对成为解决这类问题的好方法。
  • 在这次演讲中,尺码和合身问题也被多次提及,StitchFix 解释了他们如何利用顾客关于合身程度的数百万反馈。他们使用隐含的反馈来推导身体的潜在尺寸,并学习某人的尺寸。由于像 StitchFix 这样的公司比传统品牌更了解数据,他们与他们分享免费的尺寸、合身或颜色建议,为双方创造了双赢的局面。
  • 创造探索和发现时尚的新方法也是 StitchFix 提到的一个挑战,它最近推出了【shuffle】,一款类似 tinder 的服装应用程序。这使得他们能够收集大量数据,直接从图像中学习。数据的收集加上他们的人工智能技术使 StitchFix 能够创建理解风格的算法,然后驱动他们的许多推荐系统、与风格匹配算法或客户获取算法等。**

不可能的统计

原文:https://towardsdatascience.com/the-statistics-of-the-improbable-cec9a754e0ff?source=collection_archive---------22-----------------------

圣经代码、投资基金、彩票和“看别处”效应的诅咒

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

Photo by Brett Jordan on Unsplash

1994 年,耶路撒冷希伯来大学的研究人员在《统计科学》杂志上发表了一篇论文,声称找到了《创世纪》预言未来的证据。这一结果让研究人员和编辑都感到困惑,编辑在文章前评论说,这篇论文是“作为一个具有挑战性的谜题提供给统计科学读者的”。

研究人员声称发现了什么,又是如何发现的?

圣经密码难题

作者在寻找所谓的等距字母序列,例如,如果你在《创世纪》中看到每第五个字母的字母序列。他们正在测试这样生成的字母序列是否会包含 32 位著名拉比的姓名、出生日期和死亡日期,涵盖了犹太历史的整个跨度。如果他们能够找到这样的模式,在他们看来,这将证明《创世纪》事实上具有预言能力。

事实上,研究人员发现了隐藏在等距字母序列中的“拉比模式”,这让他们自己和他们的读者都感到惊讶。一位读者,记者迈克尔·德罗斯宁,以发现更多的模式为己任,这也是他 1997 年出版的书《圣经密码》的主要内容。这里发生了什么事?圣经真的有预言能力吗?

当然不是。这里发生的是所谓的看别处效应的一个例子。创世纪是一部庞大的文献。通过允许他们自己改变等距字母序列的开始,他们的间距,以及寻找拉比名字的特定版本,作者给了他们自己大量的回旋余地。正是这种回旋空间产生了虚假的统计信号:鉴于搜索参数的不同组合如此之多,检测拉比列表或您可能正在搜索的任何其他名称列表完全不是不可能的。最初的论文在 1997 年被正式反驳,当时布兰登·麦凯和他的合作者在同一份杂志上发表了“解开圣经密码之谜”。

你给自己惊喜的机会越多,你就越有可能惊喜。这就是“看别处”效应的本质。

“看别处”效应无处不在

另一个可以发现“看别处”效应的地方是金融业。投资公司通常有孵化器,这意味着他们推出许多不同战略的不同共同基金,所有这些基金都完全由自己的资金资助。如果处于潜伏期的基金数量足够多,当然有几个会跑赢平均市场,这完全是偶然的。在培育期结束时,公司可以向公众开放获胜的基金,宣传它们令人惊叹的表现,同时悄悄地停止那些失败的基金。客户被引导去相信基金经理有预测能力,但事实上他们只是在看一个统计上的侥幸,一个看别处效应的例子。

或者想想瑞典 1992 年的一项研究,将住在电线附近与儿童白血病联系起来。研究人员调查了居住在高压电线 300 米范围内的每个人,为期 25 年*,并寻找超过 800 种不同疾病*发病率的统计显著增加。当然,通过一次查看这么多不同的可能性,很有可能会偶然发现至少一个具有统计学意义的信号。**

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

Photo by dylan nolte on Unsplash

或者考虑一下北卡罗来纳彩票的巧合:2007 年 7 月 9 日和 11 日,北卡罗来纳现金彩票游戏中的中奖号码(4,21,23,34,39)是相同的。当然这是极不可能的,几率只有百万分之二,一些观察家甚至怀疑欺诈。然而,在匆忙做出任何判断之前,请再次考虑一下别处效应:这种特殊的彩票当时已经运营了近一年,此外,全国各地还有数百种其他 5 号码彩票运营了多年。在这么长的时间里,这么多的彩票在这么多不同的地方运作,在其中一个地方三天内发现两个相同的抽奖一点也不太可能。

频繁统计的问题是

“看别处”效应从根本上凸显了一个被称为“频繁主义者统计”的问题。在 frequentist 统计中,我们执行假设检验如下:假设零假设(例如,圣经不预测未来),找到测量观察值(例如,拉比的名字和死亡日期)的可能性有多大?如果该概率小于某个阈值,例如 0.05,那么研究人员将该结果视为支持拒绝零假设的“统计显著性”证据。

即使这种方法在今天被广泛使用,它也有许多问题,其中之一就是它固有的“看别处”效应。当只进行 20 种不同的测试时,它很可能只是偶然发现一个具有统计意义的信号。如果一个研究团队以 20 种不同的方式寻找一个信号,就像下面的 xkcd 漫画中那样,或者如果全球 20 个不同的研究团队寻找一个特定的信号,这种情况就会发生,在这种情况下,只有发现(虚假)信号的一个团队才会发表他们的结果。

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

Source: xkcd

想想贝叶斯:频率主义统计学的替代品

如果 frequentist 统计在某些方面是有缺陷的,并给出有缺陷的结果,是否有一个替代方案?是的,答案是贝叶斯统计。这两种风格的统计学之间最重要的区别是贝叶斯框架迫使你形成你的先验信念。例如,我对圣经预测未来的能力的先验知识基本上为零,所以即使来自希伯来研究小组的结果也不会改变这种先验信念很多。只有当我在其他地方看到越来越多同样的证据时,我才会开始改变我的观点。

电线也是一样。鉴于我们今天对医学、人体解剖学和电磁学的了解,我之前认为电力线导致白血病的可能性也接近于零。因此,即使是瑞典研究小组发表的结果也不应该改变我的看法,除非它们在其他地方得到支持。

因此,贝叶斯思维可以保护我们免受“看别处”效应的影响:首先考虑我们的前科可以防止我们接受“统计显著”的结果,而这些结果实际上是偶然的结果。

结论:怪游戏,不怪玩家

为了理解“看别处”效应所导致的问题的严重性,考虑一下世界各地的研究人员的角色,他们在研究项目中努力工作,试图在竞争环境中生存。为了在学术界立足并获得资助,研究人员希望发表新颖有趣的成果,而不仅仅是试图复制其他团队的先前成果。不幸的是,这使得福禄克的结果不太可能被后续研究揭穿。内科医生兼科学家约翰·约丹尼斯在 2005 年的一篇论文中提出了更强有力的主张,他认为大多数发表的研究发现都是错误的

因此,问题不在于个别研究人员,而在于整个学术“发表或灭亡”的文化。这是一个系统的例子,其中游戏是罪魁祸首,而不是玩家,我在以前的帖子这里中详细描述了这种现象。

有比我在这里所能提到的更多的“看别处”效应和有缺陷的统计数据的例子,如果你关注你周围的世界,你会看到它们。下一次,当你听到有人声称蟾蜍预示着地震,某个基因预示着智商水平,或者某些食物对你有害时,想想“看别处”效应:他们还测试了多少其他动物、基因或食物?最重要的是,要知道你的前任相信什么。

参考

  • 如何不犯错:数学思维的力量

在我的个人资料页面上找到更多我的故事,例如:

** [## 如何少一点错

用有限数据预测未来的贝叶斯指南

towardsdatascience.com](/how-to-be-less-wrong-5d6632a08f) [## 责备游戏,而不是玩家

博弈论如何帮助我们理解为什么有时每个人都会输

towardsdatascience.co](/blame-the-game-not-the-player-467e33d8044b)**

数据科学资历的步骤:领域知识

原文:https://towardsdatascience.com/the-steps-to-data-science-seniority-field-knowledge-f3c7a27a2123?source=collection_archive---------32-----------------------

需要提高哪些硬技能?

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

Photo by Ben White on Unsplash

在之前的一个故事中,我根据网络上相关文章的一个小样本,写了一个高级数据科学家应该具备的素质。总而言之,我提出了一名数据科学家为了晋升应该提高的三大支柱:

  • 你对自己了解多少 : 经验、工具箱、部署、好奇心
    你独立完成工作的能力,以及为了成功实现目标而积极主动的能力。
  • 你对你的公司了解多少 : 产品发现、初始、管理、测量。你看到全局、最大化影响、最小化复杂性、提出新想法并衡量其价值的能力。
  • 你对你的同事了解多少 : 沟通、领导、教学、微观管理
    向你的队友和经理推销你的想法、了解每个团队成员的优势和劣势、向他们传播你的个人知识以及有效领导他们的能力。

在这个故事中,我们将讨论第一个支柱的一部分:你的个人技能。为了执行项目并交付令人难以置信的结果,你每天都需要磨练哪些工具?

内部知识

你完成事情的能力与你对减轻人工智能模型编程负担的工具的熟悉程度以及何时使用它们的知识相关。你可以说一个好的数据科学家是一个专家应用者

数据科学家建模开发流程中有三个步骤直接受到您的领域知识的影响:数据表示、模型构建和影响测量。

数据表示法

创建模型时,您需要做的第一件事是定义原始信息如何变成漂亮的、语义丰富的数字。KPI 的时间序列?监控摄像头的实时图像?来自社交媒体的大段文字?你应该能够应对这些挑战,即使它们超出了你的专业领域。

您需要确切地知道如何处理每种类型的数据,以及什么模型适合您选择的数据表示。

根据红杉的这篇中型文章,将初级员工转变为高级员工的主要因素之一是他们成为多领域专家和职能领导的能力。要做到这一点,你需要摆脱模式的束缚:图像、文本、频率……这些都是数据。

了解每个可能领域的基本知识。用于文本的词袋和 Word2Vec,用于图像的 SIFT/SURF 和 ImageNet 训练的卷积网络,用于音频的 spectrograms 和 MFCCS。你的特征提取工具箱应该不断增长。

模型结构

虽然建模、训练和测试复杂算法是数据科学家工具包的一部分,但它们不是数据科学家完整课程的主菜。

你可能有一个偏好的领域,如自然语言处理、神经机器翻译、物体检测或面部识别,但你不需要精通人类已知的所有神经网络架构。

你需要知道为每项任务建模的基础知识。如何设计你的输入和输出,什么样的损失函数最适合你的训练,如何测量类不平衡,最重要的是,如何识别问题的核心。

大多数人工智能挑战可以被整齐地划分在不同的领域。了解每个领域问题的一般解决方案是资历的第一步。

  • 报价类别分类?可以是简单的(多类分类)也可以是复杂的(极端分类)。从小型分类器的层次结构开始,以简化问题。
  • 市场份额预测?时间序列预测。把你的数据按顺序排列,试着预测 n+1 。检查 LSTM 进行简单的深度学习部署。
  • 用户分析?分类如果你有大量的标签数据,那么聚类如果你没有。使用手动标签作为集群的根。检查集群指标。看看能不能用图相关的算法。
  • 在足球比赛中跟踪运动员?物体检测物体跟踪。标记数据对于良好的检测至关重要。一个预先训练好的 YOLO 网络应该是你的第一个测试,如果速度和内存是个问题的话,你可以试试 Mobilenet。跟踪取决于每秒钟可以分类多少帧。

你不需要脑子里所有东西的实现细节,那是谷歌和门德利的任务。你只需要知道如何有效地研究如何开发它们,并使用它们来实现这些算法。

影响测量

现在,对于您创建的所有模型,当您看到它们的度量标准时,您会有一种刺痛的感觉。如果你不去管它,它会占用你的睡眠时间,让你头晕目眩,气喘吁吁,陷入疯狂。

这个模型对于这个任务来说足够好吗?

这对我的公司有用吗?

很有可能你的整个模型都会报废。那只是数据的现实。事情进展得如此之快,以至于你都不记得 ML 项目最后一次投入生产是什么时候了。

但是模型本身从来不是你最大的资产。你从中获得的洞察力才是有价值的。

让我们回到几个段落,重新使用用户剖析问题。你的项目是细分你的用户群,以创造有针对性的广告。市场营销期待基于以前的人口研究的大的、抽象的分组,而你的模型创建了小的、密集的集群。他们对此很不高兴,你被叫去解释这些结果。

现在,你的模型是客观上在每个人的眼中是坏的,但是你知道得更清楚。

  • 数据不足。你提出了一个新的用户信息收集框架,以解决缺乏特定属性的问题,这些属性应该给营销带来它所期望的准确洞察力。
  • 目标过于抽象/根本错误。您分享了您的观点,即用户最好在较小的社区中建模,并精确定位具有大量成功和重复交易的群体。
  • 车型并非完全不能用。你的调查结果中有一些用户群直到现在才被注意到。您假设您的模型可以专门用于找到这些用户,并相应地锁定他们。
  • 模型的特定部分可用于其他目的。您创建的用户向量表示可以添加到产品推荐任务中,以增加轮播相关性。

所有这些都来自一个失败的项目。

能够充分磨砺这种价值预测特定技能的唯一磨刀石是经验。对公司的系统观察会让你看到可能的联系;了解什么可以被重用将允许你创建这些链接。

提高你的批判性思维。让它成为每天的练习。原子碎片中的四分之一问题及解决方案。注意其他领域的问题,这些问题可能会通过数据得到加强。

我倾向于认为数据科学家是好的学习者,而不一定是知识者。不要不顾一切地钻研每一个领域,成为其中的大师。如果你每天处理数据,你会慢慢积累知识和经验。我们都在数据的台阶上一起向上走!

感谢您的阅读,并在这个充满数据的宇宙中享受乐趣!

ImageAI 的故事和未来——一周年纪念

原文:https://towardsdatascience.com/the-story-and-future-of-imageai-one-year-anniversary-e63c80f527c8?source=collection_archive---------18-----------------------

ImageAI 的全球覆盖、案例研究和未来版本

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

我怀着无比激动的心情写下这篇文章,不仅因为 ImageAI 项目自 2018 年 3 月22 日启动以来产生了难以置信的影响,还因为该项目将在未来几年使创新成为可能。自从我们宣布 ImageAI 以来,已经过去了一年零两个月,这是一个我们构建的计算机视觉库,旨在使任何专业水平的开发人员都能访问和集成由深度学习支持的最先进的计算机视觉功能。如今, ImageAI 正被全球超过 65,000 名开发人员、工程师、大学生、研究机构、企业和新兴创业公司用于构建难以置信的想法和创新。

在这篇文章中,我将讨论这个项目的三个要点

-数字全球覆盖

- 突出应用案例分析

-****下一版本的时间表和特性

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

(1)全球覆盖

当我们发布了 ImageAI 库以及其英文文档和各种强调其功能实现的教程时,我们并不知道其源代码来源于我们的计算机系统的项目将在世界各地的各个国家和各个行业中得到广泛使用。自从过去一年零两个月以来, ImageAI

  • 已安装超过65000 次( 链接 )
  • 在全球 60+ 国家使用。
  • 在全球 200 多种出版物和研究论文中出现
  • 官方教程已经看了 42 万
  • 已被精选于视频教程分数拥有数万浏览量 ( 谷歌视频)(YouTube)

[## ImageAI

易于使用的计算机视觉库,用于最先进的人工智能。

imageai.org](https://imageai.org) [## 使用 Resnet50 - ImageAI 的对象+边界框

使用来自多个数据源的数据

www.kaggle.com](https://www.kaggle.com/shivamb/objects-bounding-boxes-using-resnet50-imageai) [## 使用图像人工智能|英特尔开发人员网格进行人群预测分析

概述/用法需要注意的是-计算机视觉由多个方面组成,如图像…

devmesh.intel.com](https://devmesh.intel.com/projects/crowd-prediction-analysis-using-image-ai-23087) [## 什么是智能图像

快速学习的聪明方法。你会得到详细的描述与视频和 ppt。

www.smarttuts.com](http://www.smarttuts.com/imageai/what_is_imageai) [## จากตรวจจับวัตถุในรูปภาพด้วยโค้ด·艾·แค่10บรรทัดสู่การตรวจจับวัตถุแบบเรียลไทม์และการทำ…

คำกล่าวนี้ไม่ใช่เรื่องเกินจริงปัจจุบันเราสามารถเขียน·艾·เพื่อตรวจจับวัตถุในรูปภาพ(物体探测)ได้ง่ายนิดเดียว…

www.patanasongsivilai.com](https://www.patanasongsivilai.com/blog/object-dection/)

(2)案例分析

在过去的一年里,我收到了来自世界各地的开发者、工程师、学生和研究人员的超过 1000 封电子邮件,内容是关于他们如何应用 ImageAI 来推动他们正在进行的令人难以置信的创新和项目。有趣的是,这些个人和团体在开始使用 ImageAI 库时,并没有计算机编程的知识。凭借 ImageAI 提供的简单、有据可查但功能强大的识别、检测和分析功能,下面列出的 3 个案例研究成为可能。不久,我将发表详细介绍每个案例研究的综合文章。

  • 桑迪 教授来自爱尔兰共和国 大学都柏林学院

桑迪·威尔金森教授是一名历史学家,他致力于保存 1800 年前欧洲印刷的数百万件历史装饰和插图。他的部门有这些插图的数字副本,但由于涉及大量的手动任务,手动分类时遇到了问题。桑迪教授能够使用 ImageAI 仅用 5 行代码训练一个定制识别模型,该模型自动化了数百万份数字副本的分类,为他节省了数千小时的人工工作。用他的话说,他说

"作为一名历史学家,我发现你们的 github 软件非常有用!我已经按照你的详细和非常有用的指示训练了一个测试 RESNET50 模型。它产生了惊人的精确结果。

[## 桑迪·威尔金森简介|都柏林大学学院

我的兴趣在于早期现代欧洲的社会和文化史,尤其是书籍史…

人民. ucd.ie](https://people.ucd.ie/sandy.wilkinson) [## 用 5 行代码训练图像识别人工智能

在本文中,我们将简要介绍人工智能领域,特别是在计算机视觉中,人工智能的应用

towardsdatascience.com](/train-image-recognition-ai-with-5-lines-of-code-8ed0bdd8d9ba)

  • 来自印度的 14 岁奥姆什列什蒂

在 2019 年 3 月 2 日的周末,当我听到 14 岁的 Omshreshti 的故事时,我的喜悦之情溢于言表,他是印度最有才华的青少年之一。Omshreshti 参加了在印度举行的 Raspberry Pi 周年纪念 IoT 科学博览会,直到活动的最后一刻,他还没有想出如何在他的项目中部署最先进的计算机视觉。一位名叫 Soma Bhadra 的杰出数据科学家建议 Omshreshti 在他的项目中实现 ImageAI 检测功能。

几分钟内,年轻的青少年 Omshreshti 就让他的项目运行了他的项目中最先进的对象检测算法之一。最精彩的部分是,他的项目成为物联网科学博览会上最受欢迎的项目,他的朋友们把他扛在肩上&显然是在为他欢呼!用他的话说,奥姆什列什蒂说

太感谢你了!你的ImageAI库帮我提交的&也是最受欢迎的。希望更多的人从中受益,也为它做出贡献。我希望我能学到足够的知识,也能有所贡献。

[## 奥姆的世界之窗

Om 在超级英雄命名页面的左栏选择了“The Flying”,右栏选择了“Favorite Food”。还有…

omshreshti.blogspot.com](http://omshreshti.blogspot.com/)

  • 安德鲁·斯科特·迈耶斯 及其团队美国加州大学伯克利分校

**由于深度学习和计算机视觉具有无限的可能性,美国加州大学伯克利分校的硕士学生安德鲁·斯科特·梅耶斯使用 ImageAI 构建了一个废物扫描仪项目,他们在刚刚结束的加州大学伯克利分校设计创新展示会上展示了该项目。这个充满激情的研究团队能够利用最先进的识别和检测算法来识别废物并管理废物处理,以解决全球环境问题;使用 **ImageAI 的易用功能,一切皆有可能。用他的话说,安德鲁说

"在展示会上,人们对这个项目很感兴趣,大多数人都对使用ImageAI库实现我们的想法的便捷性印象深刻。我们非常感谢ImageAI,并且很兴奋地向别人推荐你的作品。**

(3)ImageAI 的未来版本

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

**我们受到了使用 ImageAI 生成的故事、用例、视频、教程、内容和研究工作的启发。距离上次更新 **ImageAI (v2.0.2)已经过去了 10 个月。我们已经审查了来自使用和支持该项目的开发人员社区的所有评论、建议和反馈。我们也想借此机会感谢他们在过去几个月耐心等待下一个版本。我们的团队一直致力于各种项目,包括 ImageAI。下一版本将于 2019 年 6 月 15 日发布,并将提供以下功能:

  • 设置视频检测持续时间限制****
  • 完整保存定制训练模型**,允许定制识别任何 Keras 模型,无需指定模型类型**
  • ****将定制训练模型导出到 Tensoflow 。pb 格式
  • 来自先前保存的模型文件的连续模型训练
  • ****转移学习用于少量图像的训练
  • 运行多个定制识别型号
  • 将模型导出为 DeepStack API 格式
  • 使用 YOLOv3 进行自定义对象检测训练和推理

**为了准备这个版本,我们已经启动了 ImageAI 论坛,以确保我们可以使用 **ImageAI、与开发人员社区联系,讨论错误、功能请求、类和功能说明、教程、文档、示例应用程序和用例故事。

** [## ImageAI 论坛

ImageAI 项目的官方论坛。

forum.imageai.org](https://forum.imageai.org/)

一如既往,新版本将被完整地记录,所有新特性的示例代码将被提供,大量的教程将被发布。如果你想联系我们并讨论这个项目,请随时加入上面链接的 ImageAI 论坛。

ImageAIDeepQuest AI 团队开发维护。

"deep quest AI上,我们选择接受的使命是推进人工智能并使其民主化,并使其能够为地球上的每个个人和组织所用。

[## DeepQuest AI

在设备和云上提供 AI APIs。

deepquestai.com](https://deepquestai.com)

如果您希望就您的团队或个人项目直接联系我们,您可以随时通过我的电子邮件和下面的社交资料联系我。

电子邮件:guymodscientist@gmail.com

**推特:**https://twitter.com/OlafenwaMoses

**https://www.facebook.com/moses.olafenwa:**T30

[## OlafenwaMoses/ImageAI

一个 python 库,旨在使开发人员能够构建具有自包含计算机视觉的应用程序和系统…

github.com](https://github.com/OlafenwaMoses/ImageAI)**

缺失数据的故事

原文:https://towardsdatascience.com/the-story-of-missing-data-9922e611e56b?source=collection_archive---------22-----------------------

机器学习

快速解释缺失数据在机器学习中的重要性以及如何处理它

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

Photo by David Kennedy on Unsplash

顾名思义,缺失数据意味着—

手边的数据集中缺少特征值或目标值

基于缺失原因的缺失数据分类

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

Randomness everywhere… (Photo by Jack Hamilton on Unsplash)

缺失数据基本上分为 3 类—

  1. 随机缺失(MAR) —因为特征(预测值)或目标缺失随机值的原因可以从探索性数据分析本身来理解。(此处阅读关于此事的深入
  2. 完全随机失踪(MCAR) —没有什么猫腻,失踪绝对是随机的!(在此阅读关于此的深入)
  3. 不是随机遗漏(MNAR)-对于机器学习爱好者或学生来说,这是最不幸的情况,因为这里遗漏的原因可以解释,但不能用数据集中的变量来解释。这种情况要求对数据分析的初始阶段(数据收集)进行彻底的调查!(在此阅读关于此的深入)

基于变量的缺失数据分类

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

Let the variables decide…(Photo by Nick Hillier on Unsplash)

在机器学习术语中,变量基本上有两种类型—

  1. 特征/预测值和
  2. 目标

因此,可以在这两个变量中找到缺失数据,因此可以分类如下:

a. 特征变量中缺失数据或特征缺失

b. 目标变量中的数据缺失或目标缺失——当目标变量本质上是离散的时,这种缺失也被称为类缺失,就像在二元或多类分类问题中一样。在连续目标变量的情况下,术语目标缺失可以用作默认值。

丢失数据的后果以及如何处理

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

The challenges (Photo by Danny on Unsplash)

缺失数据提出了两个主要问题—

  1. 信息丢失 —这个问题与特征缺失有关,最好的处理方法是使用插补技术。一些插补技术有:均值、中值、众数或常值插补。
  2. 不平衡数据集 —此问题仅与类缺失相关,与目标缺失情况无关。这是大多数分类问题中的基本问题之一。这个问题的解决方案是使用像过采样或欠采样技术这样的技术。如果存在目标缺失问题,我的建议是删除对应于每个目标缺失案例的数据点。

丢弃还是估算?

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

Which way? (Photo by Adi Goldstein on Unsplash)

以下是我自己的策略,只应如此重视:

如果特征缺失案例的缺失值> 5%——丢弃特征本身,否则对一个或多个特征进行插补。

5%或 10%或任何上限——由你决定。

基本思想是过多的插补是对基本分布行为的改变

过采样还是欠采样?

在解释过采样和欠采样之前,我们必须了解多数阶级少数阶级

多数阶级和少数阶级

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

Classes in society ( Photo by Jacek Dylag on Unsplash)

这个术语与前面提到的分类问题密切相关。多数类是支配目标(或类)变量分布的离散变量值,份额最小的类是少数类。例如,在一项 100 人随机调查中,70 名男性代表多数群体,30 名女性代表少数群体。

过采样人为地将对应于少数类的新的或克隆的数据点引入数据集并增加数据集的维数*,同时* 将数据集从不平衡转换为完全平衡 。这意味着,过采样是针对少数阶级的。

欠采样与过采样相反——它消除了一些多数类数据点以确保数据集完全平衡

一些过采样技术—

  1. 引导或重采样(替换采样)-包括过采样和欠采样
  2. 合成少数过采样技术( SMOTE )和
  3. 自适应合成采样方法

一些欠采样技术—

  1. 托梅克-林克斯欠采样
  2. 群集质心

混合技术——过采样+欠采样

  1. SMOTE 后跟 Tomek-Links

查看关于不平衡数据集重采样技术的简单 Kaggle 笔记本— 此处

所有的过采样和欠采样技术 API 都可以在 sci-kit learn 的“不平衡学习”中找到

参考

  1. medium—https://medium . com/@ danberdov/types-of-missing-data-902120 fa 4248
  2. medium—https://medium . com/coin monks/smote-and-adasyn-handling-unbalanced-data-set-34f 5223 e167
  3. ka ggle—https://www . ka ggle . com/RAF jaa/重采样-不平衡数据集策略
  4. sci-kit learn @ Github—https://github.com/scikit-learn-contrib/imbalanced-learn

移动 ML 的强大臂膀

原文:https://towardsdatascience.com/the-strong-arm-of-mobile-ml-5d44713072f4?source=collection_archive---------34-----------------------

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

2009 年,我正忙于为英国情报机构和美国国防部(DoD)构建一个 skunkworks 指挥和控制项目。这个项目外包给了我自己的技术咨询公司,所以我有一个相当开放的领域,从概念到交付。

该项目需要实时接收和处理来自内部和外部的大量不同来源的数据。最终的结果是一个基于 ESRI 地理信息系统(GIS)设计的反应灵敏的仪表盘。

到目前为止,我已经花了大约 3 年的时间来构建神经网络,从麻省理工学院的一个研究项目开始,利用现有的技术尽可能地深入研究。这些神经网络大多是用运行在 Windows 上的低级 C++构建的。本质上,我所钻研的机器学习是实验性和学术性的。

随着我现在能够从指挥和控制项目中获得大量数据,我开始设计神经网络来分析社会联系和地理数据,以发现行为模式。当 OpenCL(开放计算语言)登陆时,我将一个基于 AMD 的裸机神经网络引擎放在一起,以测试我在研究中通过各种笔记本勾画出的神经网络概念的可能性(和响应性)。这是我第一次介绍嵌入式神经网络的开发。不用说,时代变了。

多年来,我一直在我能找到的每个平台上研究神经网络,包括从英伟达的 CUDA (亚马逊的云平台)到谷歌的 TPU 的硬件。为从汽车、无人机和机器人到服务器集群和高产出数据平台的所有领域开发解决方案。

库达&马里的统治

十年后,嵌入式神经网络的前景已经完全改变,通过融合硬件设计影响云计算。在过去的几年里,我通过自己的企业与 ARM 合作过几次,包括嵌入式和 HPC 部门。

ARM 的设计现在渗透到智能手机、物联网和可穿戴设备市场,以及许多其他行业。他们的 HPC 设计正在服务器和云行业快速扩张,谷歌是他们最大的客户,此前他们将对谷歌云平台的投资从英特尔分散到 AMD,然后是 ARM。从苹果到三星,甚至像华为这样的中国主要制造商,ARM 都在不断地为我们的日常设备提供动力。

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

NVIDIA has leveraged the power of their GPUs for large scale deep learning

因此,当 ARM 发布了 Mali GPU ASIC 设计时,我又开始用 C++试验嵌入式神经网络。在 2013 年,这仍然是一项艰巨的工作,但改进的结果是显著的。将雾计算平台中基于 Mali 的神经网络与亚马逊上基于 CUDA 的集群相结合,为我正在钻研的从农业到经济的各种项目提供了昂贵但令人印象深刻的解决方案。在 ARM 和 NVIDIA 基本控制市场的情况下,高效 GPU 硬件的可用性是机器学习领域的一个重大改变。

手机上的机器学习

这些解决方案随着现在可用的开发工具的不断改进而不断发展,包括 TensorFlow LiteML KitCore ML 。后两者对于移动开发者社区尤为重要,他们越来越多地转向机器学习来增强移动应用体验。

这些框架的工具——以及在移动应用中有效使用它们的途径——差别很大,这本身就是一个迷人的主题。最近我一直在想,主要设备制造商之间的硬件实际上是如何影响开发者体验的。我最近支持了一个计算机视觉项目,其中一名 Android 开发人员发现谷歌 Pixel 3 上的 TensorFlow Lite (ML Kit / Firebase)模型的性能不足,不得不用三星 S10 进行原型开发。

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

我考虑这是否意味着两个最强大的智能手机之间的移动应用体验可能会有很大的不同,从而改变客户对质量的看法。因此,我一头扎进硬件,看看为什么最新的手机在如此短的时间内在性能方面取得了飞跃,以便更好地了解在构建智能手机体验时需要考虑哪些设计因素。

最初,关于谷歌 Pixel 3 为什么比三星 S10 慢这么多的具体答案很快就出来了。高通的骁龙 855 是新 S10 的核心,因为 Pixel 3 使用了旧的骁龙 845。不仅如此,S10 还有 Mali-G76 ,其中-因为 Pixel 3 使用了高通 Adreno 630。我不会在这里进入智能手机拆卸领域,人们会很快指出,S10 也有一个 Adreno 640 作为骁龙 855 的一部分,而不是在马里。无论如何,芯片设计的微小变化可以在机器学习模型和推理的计算能力方面产生巨大差异。

我在 iPhone 11 Pro 上使用了苹果的 A13 Bionic ,并在索尼的 Xperia 5 上测试了相同的 TensorFlow Lite 计算机视觉模型。该模型是我在 2016 年开发的,只是更新了依赖关系并进行重新训练。同样,我不会在这里对智能手机的性能进行基准测试,但在这些设备之间移动并看到性能变化的体验提出了一个问题,即开发人员在将他们的机器学习项目交付给消费者之前,可以在多大程度上测试他们的项目。

如果性能差异如此之大,用户体验设计应该考虑响应能力的潜在差异。我们不要忘记,改进不仅仅是在延迟方面,还包括热量和能源使用方面。这些是终端用户体验的关键要素。

神经处理单元

所有这些设备制造商都在通过他们定制的基于 ARM 的芯片构建特定于设备的功能,如摄影增强和生物识别。最近,智能手机神经网络行业的武器化迈出了重要的一步,这可能会对智能手机开发商的竞争力产生巨大影响。例如,苹果、谷歌和华为现在已经为他们最新的旗舰手机构建了定制的神经处理单元(npu),使机器学习对应用程序开发人员来说更加强大,但也意味着这些设备制造商可以独特地访问他们想要在这些设备上运行的操作类型。

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

在 npu 之前,开发人员构建的模型将针对 GPU(通常基于 Mali)进行优化,因为 GPU 的计算设计用于矩阵乘法和卷积,最初旨在渲染复杂的图形。在 GPU 出现之前,CPU 必须满足所有的处理需求。npu 松散地基于 GPU,没有图形处理所需的任何开销,这使得它们对于机器学习和深度学习任务非常有效。由于深度学习是一项计算量很大的任务,因此这是向前迈出的重要一步。

距离 ARM 宣布他们自己的一系列名为 Ethos 的 npu 还不到一周,这些 npu 是以 ARM NN 为理念打造的。这真的让我很兴奋:基于 ARM 的神经处理单元的想法将在未来 18 个月内开始登陆智能手机,更有趣的是,开始在边缘计算(想想物联网)和云计算中使用。这通常是英伟达的 CUDA 硬件和谷歌 TPU 的强项,但就效率和性能而言,ARM 无疑是这些公司所在市场的领导者,因此它们的 npu 可能会大幅进入这些领域。

ARM 的 Mali 几乎是最高性能智能手机唯一可用的 GPU 架构,它一直是移动设备上现有神经网络性能的主要来源。如果 ARM 采用了 Mali 的最佳部分,并将 Ethos 设计为神经网络的下一步,那么这可能是性能的重大转变。GPU 是一个有用的权宜之计,但从来没有打算做 npu 现在能够做的事情。

云中的风暴

一些最知名和最常用的神经网络库已经针对 Ethos 进行了优化,包括 Caffe2 (本身是一个面向移动的库) MXNetPyTorchTensorFlow 。随着谷歌在其谷歌云平台上拥有自己的 TPU(Google NPU 和首批上市的产品之一)的性能优势,我设想亚马逊和微软会考虑 ARM 的 Ethos 计划,并看看他们如何利用这些计划将 AWS 和 Azure 分别带回与谷歌云平台的竞争中,用于深度学习项目。

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

数据平台架构中的现有概念已经发生了广泛的变化,npu 在以多种方式优化数据平台方面创造了无数的可能性,这可能会使过去 15 年中占主导地位的数据平台架构像现在的 N 层架构一样冗余。

我最近与苹果、谷歌和英特尔谈论了机器学习的开发者工具链以及它与网络生态系统的关系。他们目前的视野是 10 年的硬件开发,这越来越适合神经网络操作的优化。流行的神经网络库已经包含 10,000 个运算,TensorFlow 同比增长 25%。这使得这些 10 年路线图无法坚持软件行业的发展。

相反,更高级的工具需要能够在编译器级别提供优化,这在目前还不是标准。Python 是最流行的机器学习语言,由于其执行模型,在运行时的优化有限。由于多级中间表示和【TensorFlow 的 Swift】是这种工具链优化如何有效工作的一个很好的例子,这种情况正在改变。优化硬件只是这个快速变化的生态系统的一部分。

开放,但不自由

看到 npu 的成熟和普及令人兴奋,但也令人担忧。对开发人员生态系统的硬件控制是一种把关的方法,增加了开发人员的工具费用。为机器学习生产和分发开源软件看起来仁慈而慷慨,但如果这些工具是由开源项目的赞助人针对特定 NPU 严格优化的,那么它就不再是一个开放的生态系统。这种担忧不仅与智能手机市场相关,也与云基础架构和 HPC 市场相关。

尽管如此,npu 可能对隐私优先的机器学习架构和安全性产生巨大的积极影响,无疑将刺激许多机器学习智能手机应用的用户体验。

当然,这里涵盖的大部分内容都是比大多数开发人员看到的更低的抽象层次。虽然我很喜欢 ARMv8 解决方案的开发,但开发人员甚至不会直接接触 ARM-NN SDK。这些组件都是像 TensorFlow 这样的高级神经网络在部署应用程序时如何工作的关键。了解我们所构建的基础对于进一步做出决策至关重要。

最后,重要的是从建立越来越多的智能神经网络的热情中退一步,并记住建立越来越大和复杂的计算解决方案的生态成本。考虑到这些项目的影响,关注如何让开发人员从我们丰富的工具中获得最大的影响是很重要的。

现代入侵检测系统的斗争

原文:https://towardsdatascience.com/the-struggle-of-modern-day-intrusion-detection-systems-50481a6b53c6?source=collection_archive---------35-----------------------

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

Image by Darwin Laganzon from Pixabay

在当今时代,安全是科技界的热门话题。围绕隐私和用户个人信息安全的问题和担忧总是一次又一次地被提出来,这是有充分理由的。用户每天频繁地从他们的手机更新他们的个人信息、他们的位置等等。这也包括银行报表和交易,它存储在哪里?当然是安全网络中的云!如果没有适当的安全措施,世界上任何地方的任何人都可以访问这些信息。

入侵检测系统(IDS)是任何系统或网络的第一道防线。顾名思义,它是一个可以检测任何入侵的系统。IDS 既可以是基于规则的,任何类型的流量都必须通过一组规则的检查才能通过,也可以是使用机器学习算法创建的,该算法根据其看到的流量类型动态创建新的规则。这些系统检测流量并将其分类为好的或恶意的,并且是系统/网络的固有看门人。今天,由于技术进步的速度,许多这些 IDS 系统正变得基于人工智能。IDS 系统必须跟上,我们已经到了一个时间点,我们很难编写这些规则来保护这些机器,而是让机器自己处理规则。然而,这些系统有一个缺陷:它们在对抗攻击方面很弱。

那么什么是对抗性攻击呢?首先,重要的是定义什么是对手。对手被定义为一个人在竞赛、冲突或争端中的对手。所以对抗性攻击是针对对手或对立人物的攻击。在这种情况下,对抗性攻击就是针对 IDS 的攻击。对抗性攻击是由对抗性人工智能(AI)创建的。对抗性 AI 是机器学习系统,是 AI 的天然对手,它用 AI 挑战 AI。IDSs 非常擅长于对恶意流量和良好流量进行分类,但却很难对伪装成良好流量的恶意流量进行分类。

当流量试图通过 IDS 时,有四种情况。前两种情况是正常流量通过和恶意流量被拒绝,但有两种情况流量可能被错误分类。误报是指好的流量被认为是恶意的并在进入系统之前被拒绝,而误报是指恶意流量被认为是好的并被允许进入系统,其中正流量被认为是恶意的,负流量被认为是正常的。对抗性人工智能侧重于最后两种情况;通过愚弄系统,对抗性 AI 系统可以选择哪些流量可以进入,哪些可以拒绝。

入侵检测系统和敌对的人工智能是两个主要的竞争对手,它们都有无限的潜力。也就是说,我期待看到对抗性的人工智能不仅会影响 IDS 的发展,还会影响整个人工智能的发展。

一个数据科学家的奋斗

原文:https://towardsdatascience.com/the-struggles-of-a-data-scientist-38ec17e76eba?source=collection_archive---------6-----------------------

我已经做了大约 4 年的数据科学家,虽然这真的取决于你的定义,因为我总是做它的许多部分,但那时候它并不是一个真正定义好的工作。虽然我确实发现数据科学和可靠性工程一样令人兴奋,而且这是我做过的最有趣的工作之一,但有时我可以看到它作为最令人满意的工作之一的标签上的裂缝。如果你在网上搜索,你会很快找到文章或帖子,强调不快乐的程度达到了 T2 的水平,或者 T4 的流失率很高。

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

Photo by JESHOOTS.COM on Unsplash

数据科学是不是一个很可怕的工作?

依我看,那不是真的。机器学习领域的新颖性和稀缺性是一个很大的优势,因为好的雇主知道你的价值(英国的平均基本工资估计为每年 42,000 英镑)并给你自由(如远程工作或灵活的工作时间),这对更严格的办公室工作来说是一股新鲜空气。此外,大量的问题和机器学习的使用意味着你的工作可以非常刺激和有益。

那么,什么是错的?

我认为这种新奇和流行是问题的部分原因。随着急于进入“人工智能热潮”公司试图雇用数据科学家,但他们不知道他们需要什么技能,因此他们需要雇用什么人。他们经常陷入以下陷阱。

1.他们不雇佣数据工程师来整理他们的数据

我曾在几家公司担任数据科学家,我遇到的主要问题是,在机器学习启用的早期,他们不知道自己有什么数据以及如何获取这些数据。通常,数据会保存在每个部门不同的数据库中(有时是完全不同的类型,如工厂数据的历史记录和客户数据的 SQL ),并且在这些领域之外没有共享内容(在现代的 GDPR 时代,部门之间不愿意共享数据可能会加剧,因为担心他们可能面临违规的风险)。

任何加入这样一个地方的数据科学家都会发现,他们无事可做,因为他们沮丧地坐在那里,试图获得他们可以吸收到脚本中的某个领域的最基本的数据。这里的关键点是,该公司需要一个数据工程师来管道化他们的数据,这样就可以很容易地访问这些数据。这将意味着他们可以更容易地找到他们拥有的东西,并真正开始对它进行一些探索性的数据分析,这可以在他们甚至考虑将它分配给机器学习问题之前很久就产生效益。然而,公司不太可能自己雇佣一名数据工程师,因为他们不知道他们是否被需要,他们也不太可能为他们不知道的事情支付大约 7 万英镑的年薪(在英国,数据工程师的平均年薪为 28,190 英镑)。同样值得注意的是,这将使公司每年花费超过 7 万英镑,因为他们需要支付劳动力成本而不仅仅是单纯的工资成本。

这里的问题是,他们没有准备好他们的公司数据生态系统,以使数据科学家能够茁壮成长并获得报酬。

2.他们不知道自己想要什么

我看到过几个招聘广告,它们列出了天底下所有的数据科学工具、编程语言和云系统。我甚至看到一个招聘广告,要求至少五年的 TensorFlow 经验。TensorFlow 发布于 2015 年,所以希望你能看到那里的问题。

同样,任何加入这些公司的数据科学家都会发现,他们要么无事可做,要么必须为每个人做点什么(见下文),最终永远不会真正做任何数据科学。即使你有数据科学项目,有太多的项目也意味着你永远不会真正把它们做好,因为数据科学通常是一个解谜练习,你需要大量的时间专门解决一个问题,而不是反复无常。不相信我?尝试完成一个数独谜题,每隔几分钟你起身去读几页数据科学教科书,然后再回来。与一次做一个相比,完成和理解这两个需要花费你很长的时间。

这里的问题是,对于他们想要什么,以及如何最大限度地发挥你的技能,没有一个计划。

3.他们认为任何数据都是你的领域

这是我认为的普遍问题。因为你的头衔中有“数据”这个词,一些公司会认为做像数据清理、数据工程和部署这样的事情,但更糟糕的是,你可能最终被期望监督公司拥有的所有数据(如果他们遭受问题 1。这一点也不好玩)并确保它完全符合 GDPR 标准和安全。您可能还需要制作 excel 电子表格,并计算管理层要求的每日统计数据。这些都不是你的领域,应该有专门的人来涵盖所有这些,其中一些人比经验丰富的数据科学家便宜得多(数据分析师的年薪约为 30,000 美元,是数据科学家平均水平的 71%)。

这里的问题是,公司花了一大笔钱让资历过高(或在某些领域不合格)的人去做只涉及到在八个月中所学技能的一小部分的工作,这可能需要一个数据科学家接受培训。

4.他们不明白这并不神奇

我认为这是数据科学的一部分。在新闻网站上看看,你会看到它正被用于检测癌症或构建复杂的面部识别模型。阅读其中任何一篇文章,你会情有可原地认为,一个简单的客户是否会停止购买你的产品的模型是微不足道的。

也有人问我,为什么没有数据就不能建立一个模型,一旦部署好,它就会学习,并在一周左右的时间内变得完美。

有一个普遍的普遍想法是,机器学习可以神奇地做任何事情,而且它会做得很完美。数据科学不是这样的。

数据科学非常依赖于理解您需要解决的问题,以及了解您拥有的数据(对于监督学习,如果您想要最大的成功机会,标签需要是好的)。没有这些,您就无法构建数据科学解决方案来最好地解决问题。事实上,我见过一些公司要求必须在他们的项目中使用神经网络(因为它很性感),即使它完全不合适或者与替代算法相比表现不佳。此外,即使他们有所有的数据,如果他们不包含你需要的特性来制作一个真正好的模型,项目也可能会失败。

数据故障的例子有:

  • 该特性并没有显著地改善它(例如,用于预测在零售商处购买女性产品的性别列)
  • 数据充满了错误,这使得它不可能(例如,预测工业烤箱的温度在 1 度以内,但是训练数据仅精确到 5 度)
  • 没有数据,或者数据过于稀疏而无法使用(例如,外卖的每日汇总销售数据用于预测每小时的客户需求)

现在上面的这些例子没有一个明确地排除了项目不工作的可能性(其他特性可能会补偿),但是它可能不像满足成功需求所要求的那样工作。

如果这是你第一次阅读本文中的要求,这是管理你老板期望的主要问题之一。在开始一个项目之前,真正定义成功的标准、要求和风险,可以在结束时避免心痛(而不是像本文一样在结束时首先讨论)。

结果呢?

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

Photo by Gabriel Matula on Unsplash

极度沮丧。数据科学经常花费(以我的经验)80%的时间清理和探索数据以解决问题,剩下的 20%实际上是设计和构建机器学习解决方案。上面的问题将意味着 20%将会缩水更多,让你感到沮丧,因为你正在做你离开时的工作,或者任何人都可以做但不需要机器学习的工作。

对于数据科学家来说,所有这些都是一场完美的风暴,他们很快就会对自己的工作感到失望和悲伤。如果我不得不忍受这些问题中的任何一个,不管有多长时间,我都会想找一份新工作。我只是不想做我想做的事情,那就是用数据解决现实世界的问题。

避免这些问题的方法是在面试开始前进行这类讨论。真正了解他们是否有计划如何最大限度地利用你,他们从一开始就准备利用你(例如,你可以在第一天就开始分析数据)。

当然,这并没有解决公司真正知道如何使用数据科学家的问题,希望这将随着时间的推移,随着更多数据科学知识的进步而发展。

外卖

不要对我写的东西感到沮丧。如今,数据科学仍然是你能拥有的最有趣、最有成就感的工作之一。只是要意识到你正在走进什么,尽量避开那些不会欣赏你的公司。

固定和修改学习速度的微妙艺术

原文:https://towardsdatascience.com/the-subtle-art-of-fixing-and-modifying-learning-rate-f1e22b537303?source=collection_archive---------15-----------------------

学习率超参数、原则和程序的介绍,以找到一个好的起始值,并在培训过程中进行调整。

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

Picture from internet

L 收益率是最关键的超参数之一,有可能决定你深度学习算法的命运。如果你搞砸了,那么优化器可能根本无法收敛!它就像一个闸门,控制优化器根据损耗梯度更新参数的程度。就方程而言,梯度由下式给出:

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

使用来自小批量的梯度,随机梯度下降遵循估计的下坡:

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

其中ϵ是学习率。下图解释了学习率对梯度下降的影响。非常小的学习率会让梯度下降即使梯度很大也是小步走,从而减缓学习的进程。如果学习率很高,那么在训练过程接近结束时,不可能学习到微调模型所需的参数的非常小的变化,因此误差很早就变平了。如果学习率很高,那么梯度下降就迈大步,跳来跳去。这会导致发散,从而增加误差。

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

为学习率选择一个好的起始值:

现在问题来了,学习率的最佳值是多少,如何决定?一种评估良好学习率的系统方法是,最初以非常低的学习率训练模型,并在每次迭代中增加学习率(线性或指数增长)(如下所示)。我们一直这样做,直到损失停止减少并开始增加。这意味着学习速率对于应用来说太高,因此梯度下降是发散的。对于实际应用,我们的学习率应该比这个值小 1 或 2 步。

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

如果我们跟踪学习率,并绘制学习率和误差的日志,我们将看到如下图。一个好的学习率在图表最低点的左边(如下图所示)。在这种情况下,它是 0.001 到 0.01。

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

总的来说,没有一个固定的学习率对整个训练过程最有效。通常,我们从使用上述方法找到的学习率开始。在培训过程中,我们会改变学习速度,以便更好地促进学习。有许多不同的方法来实现这一点。在这篇博客中,我们将浏览一些流行的学习进度计划。

阶跃衰减

步长衰减计划每隔几个历元就将学习速率降低一个因子。阶跃衰减的数学形式是:

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

其中,ϵ_{k}是第 k 个时期的学习率,ϵ_{0}是初始学习率,α是学习率降低的分数,⌊。⌋是下限操作,n 是学习率下降后的周期数。

在 Tensorflow 中,这很容易做到。为了修改学习率,我们需要一个变量来存储学习率,一个变量来存储迭代次数。

基于时间的线性或指数衰减

这种技术也被称为学习速率退火。我们从相对较高的学习率开始,然后在训练过程中逐渐降低。这种方法背后的直觉是,我们希望从初始参数快速遍历到一系列“好”参数值,但我们希望学习率足够小,以便我们可以探索“损失函数更深、更窄的部分”(微调参数以获得最佳结果)。

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

实际上,在迭代τ之前,学习速率通常会衰减。在线性衰减的情况下,学习率以下列方式修改:

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

其中α=\frac{k}{τ}。在迭代τ之后,通常使ϵ常数保持不变。

在指数衰减的情况下:

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

在 Tensorflow 中,这可以像我们实现步进衰减一样实现。在这种情况下,我们让 starboard = False,这使用了浮点除法,从而导致学习率逐渐降低。

当你达到一个稳定水平时,降低学习速度

这种技术也很流行,而且很直观。保持使用较大的学习率来快速接近局部最小值,并在我们达到稳定状态时降低它(即,这个学习率对于现在来说太大了,我们需要较小的值来更好地微调参数)。术语平台指的是当训练迭代的损失 w.r.t .的变化小于阈值θ时的点。这实际上意味着损失与迭代曲线变得平坦。下图对此进行了说明。

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

这种定制的学习率衰减调度程序可以通过将学习率作为占位符来轻松实现。然后,我们根据一些规则计算学习率,并将其与其他数据(输入、输出、辍学率等)一起传递给 feed_dict 中的 Tensorflow。

循环学习率

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

到目前为止,我们讨论的所有方案的目标都是以大的学习率开始,随着训练的进行,学习率越来越小。一些工作,如用于训练神经网络的循环学习率带有热重启的随机梯度下降提出了不同的建议。循环学习率背后的基本假设是“提高学习率可能会有短期的负面影响,但却能实现长期的有益效果”。这些著作的作者已经证明了在两个界限值之间变化的循环学习率计划可以比传统的学习率计划提供更好的结果。为什么循环学习率起作用的直觉是:

  1. 很好地概括数据的最小值不应是急剧的最小值,即参数的微小变化不应降低性能。通过允许我们的学习速度不时增加,我们可以“跳出”尖锐的最小值,这将暂时增加我们的损失,但最终可能导致收敛于更理想的最小值。请看这篇文章中的一个很好的反驳论点。
  2. 增加学习速率还可以允许“更快速地穿越鞍点平稳段”。正如你在下图中看到的,在一个鞍点处,梯度可以非常小。因为参数更新是梯度的函数,这导致我们的优化采取非常小的步骤;在这种情况下,提高学习速度可以避免在鞍点停留太长时间。因此,定期提高学习率有助于快速跳跃鞍点。

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

循环学习率的代码可以在这里找到。

最后要说明的是,没有一个学习率计划方案能对所有应用程序和体系结构都有效。我几乎总是以线性衰减方案开始我的实验(衰减学习速率直到某次迭代,然后保持它不变)。你总是可以从一些方案开始,如果训练误差没有像预期的那样下降,尝试一些其他的方案。快乐编码。

支持团队— SVM

原文:https://towardsdatascience.com/the-support-team-svm-555d2c30b1b3?source=collection_archive---------30-----------------------

主题概述:理解支持向量机 2020

支持向量机(SVM)是一个非常强大和通用的机器学习模型。SVM 可用于分类或回归问题和异常值检测。它是机器学习中最受欢迎的模型之一,任何对机器学习感兴趣的数据科学家都应该在他们的工具箱中拥有它。支持向量机特别适合于对小型或中型复杂数据集进行分类;小型数据集可能只有两个类,而中型数据集可能不止两个类。您将了解 SVM 线性和非线性分类器以及一些数学知识,以便更好地理解支持向量机。

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

厉害吧!

线性支持向量机分类

当我们想到 SVM 分类器时,我们可以把它比作两条人行道之间的街道。SVM 分类器的人行道是两个不同的等级,街道越宽,差距越大。

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

在机器学习中,我们必须保持方差和偏差的良好平衡,以获得良好的拟合模型。如果使用 SVM 分类器减小边距,偏差将减小,方差将增大(反之亦然,边距的增大将导致偏差的增大和方差的减小)。请注意,在边距之外或“街道之外”添加更多实例根本不会影响决策边界(边距之间的线)。原因是它完全由位于街道边缘的实例(下图中的红色数据点)支持**。这些实例被称为支持向量。专业或技术的解释方式是,实例由超平面分隔,由于边缘的调整约束,超平面最佳拟合**。

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

虚线边距表示约束条件

硬利润和软利润分类

如果我们将所有实例都放在街道右侧,这被称为*硬边界分类。*硬利润分类有两个主要问题。硬边界分类仅在数据可线性分离时有效,而且硬边界对异常值非常敏感。我们可以使用软利润分类来避免这些问题。为避免问题,建议使用更灵活的模型和软利润分类。相反,硬边界将导致允许零误差的模型的过度拟合。有时,考虑到训练集中的错误可能会有所帮助,因为当应用于新数据集时,它可能会产生更一般化的模型。强制严格的边界可以使模型在训练集中表现良好,但在应用于新数据集时可能会过度拟合/不太可概括。确定“成本”的最佳设置可能与您正在处理的特定数据集有关。

正规化

使用 Scikit-Learn 中的 C 超参数,我们可以调整约束 w x + b = 1 和 wx+b = -1,以创建软边界。确保使用标准标量缩放数据,并将双参数设置为。使用较高的 C 值,分类器会产生较少的边界违规,但最终会产生较小的边界。相反,使用低 C 值时,裕度要大得多,但是许多实例都在超平面上结束。如果 SVM 模型过度拟合,您可以使用 C 超参数来调整它。

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

High C

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

Low C

顶部高 C,底部低 C

伽马参数是 RBF 核(高斯函数)的标准差的倒数,用作两点之间的相似性度量。直观上,小的伽玛值定义了具有大方差的高斯函数。在这种情况下,即使两个点相距很远,也可以认为是相似的。另一方面,较大的伽玛值意味着定义一个方差较小的高斯函数,在这种情况下,如果两个点彼此靠近,则认为它们是相似的。

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

非线性 SVM 分类器

尽管线性 SVM 分类器非常高效,并且在许多情况下工作得非常好,但是许多数据集甚至不接近线性可分。处理非线性数据集的一种方法是添加更多的要素。添加多项式特征易于实现,并且可以与各种机器学习算法配合使用。在低多项式次数下,它无法处理非常复杂的数据集,而在高多项式次数下,它会创建大量的要素,使模型太慢。

幸运的是我们有核技巧,核技巧是机器学习中的一种技术,用来避免一些算法中的一些密集计算,这使得一些计算从不可行变得太可行。在机器学习中,核方法是一类用于模式分析的算法,其最广为人知的成员是支持向量机(SVM)。模式分析的一般任务是发现和研究数据集中关系的一般类型(例如聚类排名、主成分、相关性、分类)。对于解决这些任务的许多算法,原始表示中的数据必须通过用户指定的特征图显式转换为特征向量表示:相比之下,核方法只需要用户指定的,即原始表示中数据点对的相似性函数。

内核方法因使用内核函数而得名,这使它们能够在高维、隐式特征空间中操作,而无需计算该空间中数据的坐标,而是简单地计算特征空间中所有数据对的图像之间的内积。该操作通常比坐标的显式计算在计算上更便宜。这种方法被称为“内核技巧”。为序列数据、图形、文本、图像以及向量引入了核函数。

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

最后

我们已经充分讨论了什么是支持向量机,同时给出了数学的一小部分。在数据科学领域,SVM 是一个很好的工具。由于增加的维度,SVM 也会变得令人难以招架。这可能会导致维数灾难,难以描绘和解释。为了减少这种情况,我们将使用主成分分析(PCA)和线性判别分析(LDA)。支持向量机拥有巨大的力量。希望这个博客能帮助你更好地了解 SVM。

全球不平等和你的银行存款余额之间的人工智能联系

原文:https://towardsdatascience.com/the-surprisingly-simple-relationship-between-ai-global-inequality-and-your-bank-balance-9cde1bf8bbdb?source=collection_archive---------22-----------------------

亚马逊上的每件商品都可能变得更便宜。但是代价是什么呢?

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

Photo: Getty Images

在人类对国际象棋和围棋的古老追求方面达到了新的高度,人工智能现在将颠覆人们喜爱的现代过去时光:购物。自动化最有意义的影响之一可能是商品成本的显著下降----使许多(如果不是全部)东西更便宜。

预测价格将下降的经济逻辑相对简单:目前由人类完成的自动化活动提高了性能,通常是由于更高的速度、更高的精度和消除了人为错误。换句话说,让人类离开工厂,用机器人取代他们,会导致生产率大幅提高,从而使制造商品的成本更低、速度更快。

自动化带来的生产率增长和更高的效率不仅意味着更低的价格,还意味着更快的经济增长,至少对于引领技术潮流的发达经济体来说是如此。一个相关的后果是,这些经济体的工资应该上涨。到目前为止,一切顺利!

不幸的是,这个明显的经济奇迹也有黑暗的一面。对富裕国家来说可能是经济福音的东西,对发展中国家来说可能预示着经济灾难。自动化的潜在优势是历史性的,但风险也是历史性的:毫不夸张地说,长期的全球不平等正岌岌可危。

机器人真的来了

为什么发展中经济体应该害怕自动化?人工智能和机器人技术的持续进步有可能彻底颠覆支撑其发展的经济模式。发展中国家不成比例地依赖最容易受到自动化影响的行业(因为它们涉及重复性/手工劳动)。例如,麦肯锡建议超过三分之二由人类完成的制造工作可以由机器来完成——节省超过一万亿美元的劳动力成本。

简而言之,如果将制造业外包给越南和孟加拉国等国家不再是最便宜的选择,企业就会停止这样做。随着人工智能和机器人技术的不断改进,越来越多的跨国公司将把它们在发展中国家的工厂替换为配备机器人的人工智能设施。毫无疑问:正在讨论中的“工业人工智能”的智能和能力正在快速扩张

没有人会认为工厂工作或类似的工作是完美的。但另一种选择肯定更糟。以耐克在印度尼西亚的工厂为例,这些工厂雇佣了超过 10 万人。无论如何想象,这些工厂都不是理想的工作场所——工资低,工作时间长,健康和安全长期处于危险之中。但是,如果耐克将这些工厂自动化,让所有工人都成为多余的,他们将不是唯一一个寻找另一份工作的人——成千上万的其他人也会在同一时间、同一地点寻找工作。

一些专家认为,像制造业这样的整个行业的自动化,以及相应的工作岗位的减少,将与新的工作岗位相平衡。这种观点认为,就像其他技术革命一样,人工智能将产生一系列新职业——毕马威建议的人工智能伦理专家,或“人工智能建筑师”。我确信在某种程度上,这将会发生(仅科技巨头就可以使用更多的伦理专家)。

但是你可以想象,这些新的高科技职业对普通工厂工人来说没有多少安慰。新的人工智能工作极有可能流向美国或其他发达经济体受过教育的技术熟练工人,而不是孟加拉国的制造业工人。现有的研究表明,在自动化之后适应新的职业需要资源、进一步的教育和福利网络:这些都有利于富裕国家的失业者,而不是发展中经济体。

这一经济风险因发展中国家在管理自动化导致的大规模裁员的健康和福利后果方面明显准备不足而加剧。对于已经被贫困和腐败等结构性问题困扰的国家来说,帮助如此大量的失业工人是一个巨大的挑战。

这一切意味着什么?人工智能和机器人技术的浪潮可能会对最没有能力应对的国家造成最大的伤害。至少,新兴经济体在适应后人工智能时代的经济时,将面临一段艰难的中短期阵痛。甚至还不清楚这种调整会是什么样子——在数百万低工资工人没有工作的世界里,这些国家如何改善自己的地位?

无论最终的破坏仅仅是短期的破坏,还是新兴经济体真正可怕的长期瘫痪,全球不平等将会发生什么是毫无疑问的。技术先进的国家(也是世界上最富裕的国家)将在依赖制造业的国家遭受损失的同时获得经济上的好处。是的,生产率会提高,但仅限于发达国家——美国的经济增长对不堪重负的泰国毫无帮助。

机会是,这种两极分化的转变将有利于我和你。自动化将使亚马逊或 H&M 的购物狂欢变得更加实惠(如果不完全可取的话)。我们甚至可能获得比其他方式更大的加薪。

但正如我在这篇文章中试图展示的那样,导致这些经济运动的潜在技术转变——人工智能和自动化——带来了人力成本。更糟糕的是,人力成本是不均衡的:大部分经济痛苦将落在某些发展中国家身上,这使得损失更加集中,也更加难以管理。

尽管存在恶性后果,但没有什么可以阻止自动化的步伐——潜在的生产率提高使人工智能成为受利润驱动的公司不可抗拒的选择。鉴于支撑自动化的技术只会越来越好,这一点尤其重要。

在这种情况下,我们至少可以承认,对你我来说,较低的价格代表着资本主义激励和发展中国家经济利益之间的一种权衡。真正的人类会遭殃——AI 不再(仅仅)玩游戏了。

棒球图形的对称和不对称

原文:https://towardsdatascience.com/the-symmetry-and-asymmetry-of-baseballs-graph-d2b18fd194d1?source=collection_archive---------20-----------------------

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

为了获得关于棒球的见解,许多分析师使用马尔可夫链模型来描述比赛。虽然建模者可以用无数种不同的方式来构建这样一个链,但一个常见且相对简单的选择是描述一个有 25 种状态的半局,以及这些状态之间无数种可能的转换。这些状态(也称为节点)和转移(也称为边)一起构成了所谓的马尔可夫链的——在这种情况下,是“棒球图”,我们在下面一起和分段地对其进行了可视化。

25 个状态和“数不清”的跃迁从何而来?在关于比赛的所有细节中,规范模型只跟踪哪些垒上目前有跑垒员,以及之前在半局中发生了多少出局。当这些跟踪的细节中的一个或两个发生变化时,或者当两个保持不变时,尽管面糊发生变化,状态之间的转换发生在板外观之间。游戏规则决定了哪些转变可以合法发生,哪些不可以。

因为一个棒球场有 3 个垒位(不算本垒),每个垒位可以容纳一个跑垒员,也可以不容纳,我们把 8 个可能的垒位标注为 0123121323123 。标签 0 表示底座为空。标签 123 表示装载的碱基。其他标签应该是不言自明的。我在联合统计会议的 2017 议事录中首次发表了这一批注。虽然还不是标准的,但我使用它,因为它和下面描述的附加符号一起,我觉得很容易阅读。

出局数我也用了四个标签:【空白】、 XXXXXX:X的数字表示半局中之前出局的次数。例如, 13XX 表示跑者在一垒和三垒(没有跑者在二垒),两人出局。同样地, 123 表示满垒,没有出局。因此,为了标记大多数状态,我们必须指定基本占用和 out 情况(包括*[空白],表示无 out,如果这样指示的话)。这个州仍然是这个组合符号的唯一例外:三人出局后,哪个垒有跑垒员不再重要,因为半局不会继续。当然,其他 out 情况,【空白】XXX ,都拥有全部 8 个可能的基数占有率,所以状态数等于 83+1,即 25。

我用第一个状态的标签,一个冒号,然后是第二个状态的标签来表示转换。比如 123:0 表示大满贯本垒打,没有出局。转换可以回到相同的状态——0X:0X 表示本垒打,垒空,一个出局。试图计算“无数”的过渡会产生一个更棘手的问题,我在 2017 年的出版物中略有错误。一张图片抵得上 1000 个单词——尽管这张图片仍然很难理解:

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

为了掌握允许转换的数量,我建议采用一种不同的策略,而不是费力地数这个图中的箭头。除了乏味之外,图形可视化中的工件可能会导致计数不准确。也就是说,我们将计算下面显示的 12 个更简单(也更有启发性)的子图中的箭头。

该模型有 25 个状态,但是其中只有 24 个可以导致另一个转换(具体地说,除了 XXX 之外的所有状态)。因此,有 600 种可能的转换:600=24*25,但是根据棒球的规则,这些假设的想象中有许多不可能发生。

我们可以通过从 600 个可能的跃迁中排除违反三个约束中任何一个的跃迁,精确地计算出允许的跃迁(通过计算机)。

我们可以从消除 192 个可能的跃迁开始,对于这些跃迁,输出数会减少。例如,我们可以通过这个规则去掉 1XX:1X ,因为半局不可能从比赛前的两次出局变成比赛后的一次出局。有 192=388 个可以想象的转换来断言这种滑稽。除去它们,剩下 408 个状态,当然,仍然需要通过应用另外两个规则来进一步删减。

接下来,我们要消除“分数”必须降低的转换。这条规则仍然不够直观。下面的公式可以帮助理解这个约束:(跑垒人数的变化 ) = 1 — ( 出局人数的变化 ) — ( 得分的变化)。为什么是公式?我们只能增加一名跑垒员(击球手)。包括击球手在内的所有跑垒员都可以出局、得分或留在垒上——总数必须平衡。

我们可以(通常)直接从过渡符号中推断出平衡方程中的所有量,除了分数的变化。有了记谱法的知识,sabermetrician 可以很快解决平衡方程的分数变化。然而,如果该增量分数低于零,则所指示的转变不能合法地发生。如果是这样的话,那就意味着太多的出局和/或太多的跑垒员停留在垒上,考虑到比赛开始时的垒位占用率。

当我们的记分牌显示半局已经到了最后状态时,这个程序就停止了。从以 :XXX 结尾的过渡标签中,我们不能总是推断出哪些垒上仍然有跑垒者,也不能推断出分数发生了什么变化。但是之后约束变成(附加出局数 ) ≤ 1 + ( 跑垒员数,最初为)。

例如,第二步消除的 112 个额外的不可能转换中的三个是 0:1231:XXX0:0XX 。为了在实际比赛中强制进行这些转换,与规则相反,我们可以想象让球员从替补席回到比赛中,让他们遭受额外的出局,或者留在垒上,但无论是哪种情况,当他们进入球场时,取消他们之前的得分。这些恶作剧只是给一个非法标签提供了一个幻想的场景,迫使负分数保持平衡。恶魔?幸运的是,据我所知,没有人这样打棒球。

移除违反第一或第二约束的转变留下 296 个可能的转变。

我公布了 296 作为我对 2017 年允许过渡的计数*。大约两年后,我有幸在美利坚大学与学生兼棒球爱好者杰克·伯比安共事。我们一起浏览了大量的数据,调查在游戏的历史记录中,实际上发生了哪些转变,以及哪些半局。我们的数据来自全面的追溯表数据库*,涵盖了从该来源可获得的大部分(但不是全部)数据。

在漫长的提取、转换和加载过程之后,我们查询了我们的数据库,以确定其中包含的转换数量。这个查询花了几分钟的时间运行,悬念建立起来了。答案是:由 Retrosheet 记录的 272 个转换(或者说,记录在我们几乎整个数据库的子集中)。我们进行了更多的测试,并确认我的 2017 代码确实认为记录中包含的所有 272 个转换都是可能的。也就是说,我们还发现另外四个也被认为是可能的过渡,仍然没有出现在的回顾表中。具体来说, 3:123X:12X3XX:12XX3XX:23XX 似乎从来没有在大联盟发生过,但我原本以为它们都有可能发生。

经过仔细观察,我们发现其中的三个转变(前三个,除了出局数之外都一样)确实违反了规则。它们不可能发生,因为在比赛中,三垒上的跑垒员必须退回到二垒。我们将规则添加到代码中,但是,哦,不可思议的错误!在这个过程中,我们发现这个规则的错误缺失只将这三个(本质上等价的)转换添加到现在被错误认为可能的转换列表中。考虑到可以想象到的巨大数量的转变,这个结果让我们觉得很不寻常。

四个缺失转场中的最后一个— 3XX:23XX 又是怎么回事呢?有趣的是,本质上等价的转换 3X:23X3:23 确实偶尔出现在追溯表记录中。所有这些不寻常的比赛都是从一个跑垒员开始的——在三垒上——尽管击球手上了二垒,但最初的跑垒员仍然在三垒上。显然很奇怪,但很明显,这种情况偶尔会发生,没有出局,或一人出局,但两人出局,跑在第三位的人永远不会原地不动。也许跑者得分了,也许跑者出去了,但是当初始状态是 3XX 时,最终状态从来不是,或者至少显然从来不是 23XX 。也就是说,规则明确允许这种过渡。因此,我们统计了棒球比赛中 293 次允许的转换,其中只有一次显然是史无前例的。

总共 293 个转变看起来太多了,难以想象,但是对称甚至惊人的不对称使得棒球的图表可以理解。我发现的诀窍是把图表分成几部分,揭示出潜在的模式。图的对称性指的是图与其自身(的子集)的一一对应关系保持了节点的连通性。

作为一个例子,我提出了一个替代游戏,我称之为无止境棒球。无尽的棒球有着惊人的对称性,在某种程度上类似于真实棒球中的类似模式。在这场比赛中,只有一个队上场击球,因为半局永不结束——出局数没有上限。人们可以想象贝比·鲁斯和乔·迪马吉奥不朽的灵魂在天堂被安排在击球队。

“无尽棒球”具有对称性,因为我们可以将每个状态对应(或映射)到一个伙伴状态——定义为拥有相同的基本占用率,但多出一个。反过来,合作伙伴映射到其他合作伙伴。连续重新应用地图会增加出局数,而不会改变哪些垒有跑垒员。映射定义了对称性,因为它保持了连通性——两个节点只有在它们的伙伴有边时才有边。所有状态都映射到一个伙伴,但是外环(“无输出”)不接收映射。出于这个原因,一对一的对应只与图中的一个子集相关——相似的对称性出现在分形中。基于我是如何绘制图表的,我把这种对称称为无尽棒球的“径向对称”。

这个游戏的普通版本也有类似的模式——可以说是径向对称。但是不对称打破了规则。不对称当然是三个上限,将无限游戏的无限图形修剪为三个环,加上中心的单个吸收态(见上图)。随着对称性的打破,凡人棒球不再拥有同样的一对一对应关系,因为有两个出局的州不再映射到唯一的合作伙伴,而中心州也不映射到任何地方。在这方面,棒球的“径向对称”就像下面讨论的其他对称一样,只是一种类似于替代游戏中对称的模式。

让我们通过形象化图表来讨论棒球的其他类似“对称”。我发现的分而治之的最好方法是从考虑三人战术开始,然后是双人战术、单人战术和清场战术。三重赛是击球队放弃三次出局的罕见情况;双杀放弃两次出局;单身,一个出局;一场干净的比赛是一场没有出局的比赛。据我所知,“三网合一”和“双网合一”是唯一常用的术语,但我们需要所有可能性的名称。

我将双人和单人戏剧进一步细分为五个子类别,标记为“从 0 、“从 R”、“从 RR”、“从 123 、“到 XXX ”每个细分(除了最后一个)收集具有相同初始跑垒员数量的过渡,但只包括导致一个或两个出局的过渡,而不是三个。标签“R”表示一个跑垒者;“RR”代表两个碱基——但符号并不表示哪个碱基被占据。最后一个子部分“to XXX ”结合了半局结束时各自类别(双人或单人游戏)中所有剩余的过渡。这一细分产生了 12 个数字,如下所示。如果划分和细分仍然不清楚,数字和它们的标题应该更好地阐明我的选择。

这些数字中的第一个显示了棒球中的三重播放转换。只有 9 个节点出现在图上:8 个,没有输出,组成完整图的外环,加上中心的单个节点,有三个输出。就目前而言,这 9 条就足够了,因为三网融合必须从无出局发展到三出局。在此图以及随后的 11 张图中,我们用彩色显示了考虑中的“起始州”,如果不同,则用灰色显示“终止州”。

尽管我们包括了所有 8 个零出局的状态,但三重播放只能从所示的四个节点发生——那些有两个或三个跑垒者的节点(即三个转换“从 RR 开始”,一个转换“从 123 ”)。三重播放不能从所示的其他四个“从”节点发生(即从 0 和“从 R”的转换)。为什么?要放弃三次出局,至少要有两名跑垒员,加上击球手。因此,图中出现的一些转换可以根据规则发生,而其他的则不能。我们不是只显示合法转换,并为非法转换留出空白,而是用黑色箭头显示合法转换,用红色箭头显示非法转换。

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

The triple play transitions in baseball. Black: allowed by rules, red: disallowed.

接下来,我们有双重性—但是,如上所述,我们将这一类别细分为五个子类别。这五个中的第一个的图表显示了从空垒和无出局到有两个出局的 8“到状态”(灰色内环)的双杀。所有这样的转换都违反了比赛规则,因为在场上没有其他进攻球员的情况下,只有击球手会出局。因此,双游戏图“从 0 开始”中的所有箭头都显示为红色。

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

Double plays from bases empty and no outs. All such transitions violate the rules, so are shown as red.

接下来,我们有一个跑垒员的双杀,没有出局。考虑中的三个“来自状态”具有标签 123 ,并且包括外环的子集,以颜色表示。另一方面,灰色的 8 个“to states”具有两个输出“ XX ”标签,构成了完整图的内环。注意,图中三个“自状态”中的每一个发出的单独的黑色箭头指向 0XX 。事实上,由于只有一名跑垒员在垒上,击球手和跑垒员都必须为防守方出局以获得双杀,比赛结束后总是留下空垒。因此,图中三个红色箭头指向每隔一个灰色节点。

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

Double plays from one runner on base and no outs.

我们指出,在上述所有三幅图中,上垒人数的差异(之前和之后,或之前上垒人数,对于到 XXX 的过渡)决定了箭头的颜色。这个性质暗示了一种对称性——一种将被打破的对称性。

接下来,我们有两个跑垒员的双杀,没有出局。彩色的三个“从状态”有标签 121323 ,灰色的 8 个“到状态”有与上面相同的两个输出标签。所有 8 个最终状态各收到三个箭头,但是,这一次,四个状态收到所有黑色箭头,四个状态收到所有红色箭头。请再次注意,至少在这个图表中,跑垒员数量的增量决定了转换是否违反规则。具体来说,“从 RR 到 0 ”和“从 RR 到 R”的双重播放可以发生,而“从 RR 到 RR”和“从 RR 到 123 的双重播放不能发生。违规行为的发生,不仅仅是因为开始比赛的人太少,也是因为太多人结束比赛。在这两种情况下,平衡 delta 分数低于零表示红色箭头。

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

Double plays from two runners on base and no outs.

接下来,我们有三个跑垒员的双杀,满垒,没有出局。在这个类别中,存在一个被考虑的初始状态: 123 ,图中唯一的彩色节点。因此,每个“to state”只接收一个箭头。这 8 个箭头除了一个都是黑色的。指向 123XX 的单个红色箭头具有有趣的区别,因为它是完整图上 25 个可能的最终状态中唯一不允许从 123 转换的状态。(剩余的 23 个瞬态中)没有其他初始状态具有相同的灵活性。过渡区 123:123XX 与上面考虑的其他非法双杀一样,将指示负的 delta 分数,因为在保持满垒的同时遭受两次出局,额外的跑垒员(最初不在比赛中)将不得不上场。

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

Double plays from bases loaded and no outs.

我们已经完成了外环双杀之旅。接下来,双播放到 XXX 。下一个例子显示了从一个 out 开始的转换,这就是为什么最终状态只能是 XXX 的原因。我们从来没有考虑过两人出局的初始状态下的双杀——显然,这是不可能的。因此,下一个数字,连同前面的四个数字,包含了所有可能的双杀。

从一出双玩图上唯一的红色箭头出现在 0X 处。为什么?双杀要求一名跑垒员放弃两次出局。另一方面,剩下的仍然是可能的,因为至少有一个跑垒员在垒上,击球手和其中一个跑垒员都可能出局。

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

Double plays from one out to XXX.

我们现在开始我们的单人戏剧之旅。接下来,我们有空垒的单场比赛,没有出局——只有 0 是“从状态”从这个单独的彩色节点发出 8 个箭头——每个箭头指向中环 8 个灰色节点中的一个。这些箭头中有七个是红色的。剩下的一个黑色箭头声明了 0:0X 的唯一合法性。事实上,在空的垒上,必须有一个击球手出局,没有跑垒员继续占据垒位。

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

Single plays from bases empty and no outs.

接下来,我们有一个跑垒员的一垒打,没有出局。相应的图有三个“从状态”,用颜色显示,标记为 123 。因此,8 个灰色“目标状态”中的每一个都有三个箭头。“至状态”描述(忽略输出)为“至 0 ”和“至 R”接收所有黑色箭头,而“至 RR”或“至 123 ”接收所有红色箭头。与上面类似的模式一样,平衡等式中对正 delta 分数的需求解释了我们所看到的情况。

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

Single plays from one runner on base and no outs.

接下来,我们有两个跑垒员的一垒打,没有出局。再一次,平衡方程,以其尚未探索的对称性,决定了一个类似的模式。但是请注意一些有趣的事情:图之间的一些“对称”交换了箭头的颜色。

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

Single plays from two runners on base and no outs.

接下来,我们有满垒无出局的单场比赛。作为补充,从 0 开始的双杀都有红色箭头,从 123 开始的单杀都有黑色箭头。

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

Single plays from bases loaded an no outs.

接下来,我们有两个出局的单打比赛(必须去 XXX )。我们把他们都放在一起,就像我们对一人双杀那样。下一张图将是我们的最后一部单剧,尽管仔细思考会发现我们从一出错过了单剧。我们省略的原因源于零输出和一输出之间的径向对称性:相应图表之间的唯一区别是标签中显示的 X 的数量。事实上,根据对称性,节点只有在它们的伙伴连接时才保持连接。相比之下,对于 double plays to XXX ,我们只发现一个非法过渡( 0X:XXX )。对于到 XXX 的单个播放,我们发现没有:所有这样的转换都可能发生。

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

Single plays from states with two outs.

我们最后一张图展示了没有出局的干净利落的打法。像单个剧本一样,我的 12 个数字序列省略了径向对称图。具体来说,对于干净的比赛,我们忽略了那些有一两次出局的比赛。除了少数例外,大多数干净的箭头都是黑色的。有趣的是,所有 8 个节点(和它们的径向对称伙伴,即所有 24 个瞬态)都有一个黑色连接回到它们自己。也就是说,由“从 0 到 RR”、“从 0123 ”和“从 R 到 123 所描述的七个转换不会发生。这些情况违反了正分数平衡规则:没有足够的跑步者在垒上开始并保持在指定的最终状态。

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

Clean plays from states with no outs.

我没有考虑干净转换图中的一个红色箭头。还记得 3:12 吗,我 2017 名单错过的那个真正不可能的过渡?根据要求,它显示为红色,但是,如前所述,它没有违反“余额为正数”的规定。那个过渡区(和它的两个径向对称的伙伴,未显示)是唯一被第三个修剪规则删除的——跑步者不能退到更低的垒。

有趣的是,我们对棒球过渡到 12 种情况的划分已经施加了出局数不能增加的限制(第一个修剪规则)。因此,被第一个修剪规则删除的转换不会出现在任何图中(没有黑色或红色箭头)。

因此,忽略 3:12 (及其伙伴),第二个修剪规则(与正分数平衡)确定显示或暗示的所有箭头的颜色(即,除了一个箭头之外的所有箭头,以及由对称性显示或暗示的 408 个箭头中的 405 个)。请记住,在第一个规则剔除了总共 600 个可能的转换中的 192 个之后,还剩下 408 个转换。

如果我们仔细研究棒球的对称性,我们应该只看平衡方程(及其对以 XXX 结束的比赛的扩展),以及正 delta 分数规定:(垒上跑垒员数量的变化 ) = 1 — ( 出局数的变化 ) — ( 分数变化)。上面的论述表明,我们将发现“基排列”对称,以及“互补”对称。“碱基置换”就是我所说的改变碱基标签的映射。另一方面,我称之为“互补”对称的映射是交换黑色和红色箭头,因为它是棒球图和它的补图之间的对称。具体来说,图的补图与原始图具有相同的节点,但是这些节点仅在原始节点不连接(红色箭头)的地方连接(黑色箭头)。

显然,棒球平衡方程中的完美对称只在真实比赛中出现,因为很少应用“无退路规则”和“三出局法”。人们可以愉快地想象保持完美对称的替代游戏——然后想象天堂里不朽的棒球精神为了奖励或惩罚而玩这些游戏。

包含图像的代码(Python/Jupyter notebook/Graphviz):https://github.com/seancarverphd/baseball_graph/

2017 年论文(R/knitter/LaTeX)代码和手稿:https://github.com/seancarverphd/klir/

我把这篇文章献给我的朋友和同事 Jacob Ward,他在短暂的一生中为对称性数学做出了许多贡献,还为一个职业队打过棒球。愿他安息。

每个分析团队都需要的技术

原文:https://towardsdatascience.com/the-technologies-that-every-analytics-group-needs-to-have-562676f095ce?source=collection_archive---------13-----------------------

四项改变游戏规则的技术可以造就一个世界级的分析团队

随着数据在工作场所变得越来越普遍,许多高管现在意识到拥有分析功能来支持他们的任务的价值,无论这是什么。然而,一些人认为,通过雇佣一些分析师或数据科学家,他们已经完成了所有需要做的事情。

建立一个伟大的分析功能不仅仅是拥有合适的人。这也是为了营造一种鼓励高质量协作和出色工作的环境。其中一个重要因素是分析职能部门可利用的技术,使他们能够开展工作。

我个人认为,如果你想运营一个世界级的分析团队,以下这些技术是必不可少的。

协作技术

分析工作可能是紧张而细致的。它也可能是复杂的和反复的。分析师或数据科学家需要能够以专注、不间断的方式一起工作,还需要能够交流和共享公式、代码、经验和功能。

如果团队位于同一地点,这当然很好,但是随着团队分散和远程工作变得越来越普遍,正确的协作技术需要实现这一点。电子邮件和传统的信息系统会大大降低团队的速度,因为它们不允许这里需要的那种共享。

SlackCircuit 这样的工具通过允许在专用的用户生成渠道中进行协作来填补这一空白,这意味着分析师可以轻松地在不同的项目之间导航,并对这些项目的先前沟通进行线性记录。它们允许以适当的格式轻松交流代码,并且它们的屏幕共享功能和语音交流功能被平滑地集成到它们的消息传递界面中,允许团队在需要时简单地进行呼叫或分享示例。

敏捷管理技术

世界级的分析团队必须敏捷。鉴于他们周围发展中世界的性质,这是必要的。没有适当的进度跟踪,项目就不能被有效地管理或交付,开发需要在短时间内完成,以避免浪费精力和不适当的专业技能部署。

敏捷不会凭空出现。它需要合格的人员和有利的技术。团队应该至少有一个合格的 Scrum 大师,所有的史诗、故事和冲刺都需要被仔细和严密地跟踪和管理。

JIRA、特雷罗计划箱这样的工具允许各种形式的敏捷跟踪,从可以记录、分配、跟踪和关闭请求的简单看板,到整个 epics 的管理。细节可以被捕获为注释,包括文件或产品的链接,或者代码块。可以进行分析,提供关于交付和周转的信息,帮助团队识别瓶颈和效率问题。

文档和应用程序共享技术

强大的分析团队应该开发定制的静态或交互式文档来解决业务的关键问题,尽可能允许业务客户自己访问数据和分析。将所有工作都放在分析师的本地机器上是没有意义的,分析师的才能将被浪费在一次又一次地重复回答来自企业的相同问题上。

数据科学发布允许快速构建可用于更广泛业务的分析文档或应用。从为特定客户创建的简单视图,到企业范围的报告平台。文档托管在一个访问受控的服务器上,因此用户可以直接登录并获取他们需要的内容。

像 R 中的 ShinyServerRStudioConnect 和 Python 中的 Dash 这样的工具允许数据科学家打包他们的本地代码并将其发布,以便其他人可以通过网络访问它。内置的反应性允许简单地构建菜单和过滤器,以便用户可以帮助自己获得他们需要的数据或分析。

版本控制

任何处理大量代码的团队都需要适当的版本控制。如果没有版本控制,灾难就要发生了。

像 G ithubGitLab 这样的版本控制工具允许团队在没有版本冲突风险的情况下协作开发代码。工作可以在分支中进行,只有在一系列审查和批准之后,这些分支才会合并到主版本中。最近,与 ide 的强大集成能力使得在这些平台上工作变得更加容易和流畅。

版本控制平台也是所有团队代码的中心。如果整个团队都遵循良好的版本控制实践,这自然意味着他们的关键代码都不会停留在本地机器上,并且团队的其他成员都可以访问这些代码——这是非常重要的,因为来自早期开发的代码块将在未来的开发中经常被重新利用。

我相信这些技术对于任何渴望高性能的分析团队来说都是至关重要的。随着这些技术的发展,它们也变得越来越能够相互集成。例如,一个被推送到版本控制的变更可以作为一个警告出现在您的协作技术或者您的敏捷跟踪工具中。如果你能建立这种工具链和环境,那么你的分析师和数据科学家将会茁壮成长,并产生他们最好的作品。

最初我是一名纯粹的数学家,后来我成为了一名心理计量学家和数据科学家。我热衷于将所有这些学科的严谨性应用到复杂的人的问题上。我也是一个编码极客和日本 RPG 的超级粉丝。在 LinkedIn Twitter上找我。

特定产品仅作为示例提及,并不代表对这些产品的认可。

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

在你开始一个 NLP 项目之前你需要知道的理论

原文:https://towardsdatascience.com/the-theory-you-need-to-know-before-you-start-an-nlp-project-1890f5bbb793?source=collection_archive---------4-----------------------

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

概述开始处理任何涉及文本的项目所需的最常见的自然语言处理和机器学习技术。

介绍

从一月份开始,我一直在做一个关于从非结构化文本中提取信息的项目。在开始这个项目之前,我对自然语言处理(NLP)领域一无所知。一旦我开始研究这个领域,我很快就遇到了“Python 的自然语言处理”,这里有。这本书对我来说太理论化了,尽管它的基本原理是正确的,所以它仍然是一个无价的资源。我的下一个重大发现是 Dipanjan Sarkar 的“文本分析与 Python ”,我已经从头到尾读了一遍。这是一本非常棒的书,它教会了我启动 NLP 项目所需的所有技术技能。第二版版本【6】也在最近发布。

在这篇文章中,我想概述一下我在获得 NLP 技能时了解的一些话题。我知道有很多很棒的帖子在讨论同样的事情,比如 Sarkar 的这个牛逼系列,但是写下来真的帮助我组织我所知道的一切。

这篇文章涵盖的内容

为了简洁起见,这篇文章主要是理论性的。以后我会多写一些实用的文章。现在,我将讨论几个主题,例如:

  1. 使用自然语言处理文本
  2. 从文本中提取特征
  3. 文本的监督学习
  4. 文本的无监督学习

预处理文本

预处理文本的典型管道由以下步骤组成:

  1. 句子分割。
  2. 规范化和符号化。
  3. 词性标注。
  4. 命名实体识别。

在大多数应用中,并不是所有的步骤都必须执行。对命名实体识别的需求取决于应用程序的业务需求,而词性标注通常由现代工具自动完成,以改进部分规范化和标记化步骤。

句子分割

在预处理流水线的第一步,文本被分割成句子。在许多语言中,如英语,标点符号,尤其是句号/句号字符,感叹号和问号可以用来标识句子的结尾。但是,句点字符也可以用在缩写中,如 Ms 或 U.K .,在这种情况下,句号字符并不表示句子的结束。在这些情况下,使用缩写表来避免句子边界的错误分类。当文本包含特定领域的术语时,必须创建一个额外的缩写字典来避免不自然的标记。

标记化和规范化

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

Tokenization corner case

标记化是将文本分成单词和标点符号,即标记。与句子分割一样,标点符号也很有挑战性。例如,U.K .应被视为一个标记,而“don 't”应被拆分为两个标记:“do”和“n’t”。

词干化和词汇化是规范化过程的重要部分。规范化包括词干化和词汇化。在词干提取过程中,通过删除后缀(如–ed 和–ing)来识别单词的词干。由此产生的词干不一定是单词。类似地,词汇化包括删除前缀和后缀,重要的区别是结果属于该语言。这个结果叫做引理。在下表中可以看到词干化和词汇化的例子。

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

Examples of the differences between stemming and lemmatization

这两种技术都通过将单词转换成它们的基本形式来减少文本中的噪声。对于大多数应用程序,如文本分类或文档聚类,保持单词的含义是很重要的,最好使用词汇化而不是词干化。例如,meeting ( 名词)和 meeting ( 动词)都将被词干化为 meet,从而失去其原始含义,而各自的词条将是 meeting 和 meet。

其他标准化技术包括:扩展缩写,删除数字和标点符号,纠正典型的语法错误等。这些操作中的大部分可以通过使用正则表达式来完成。

词性标注

这一步是根据单词的上下文和定义,将标记分类为词性(POS)类,也称为单词类或词汇类。词类有名词、动词、介词、副词等。下表列出了英语词汇类别及示例。词性标注改善了词汇化,对于命名实体识别是必要的。

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

Examples of the common POS classes

有三种类型的标记器:基于规则的、基于统计的和基于深度学习的。基于规则的标记依赖于明确的规则,比如一个冠词必须跟一个名词,来标记记号。统计标记器使用概率模型来标记单个单词或单词序列。基于规则的标记非常精确,但也依赖于语言。扩展标记器以支持其他语言需要大量的工作。统计标签更容易创建,并且独立于语言,尽管它们牺牲了精确性。如今,使用基于规则和统计模型的混合方法,尽管大多数行业开始慢慢转向深度学习解决方案,即在预先标记的句子集上训练模型。基于混合和深度学习的方法改进了上下文敏感标记。

命名实体识别

在可以识别命名实体之前,必须对标记进行分块。分块意味着分割和标记记号集。最常用的组块之一是由限定词、形容词和名词组成的名词短语组块,例如,“一只快乐的独角兽”。一句“他找到了一只快乐的独角兽”由“他”和“一只快乐的独角兽”两个组块组成。

命名实体是指特定对象的名词短语,如个人、组织、地点、日期和地缘政治实体。命名实体识别(NER)步骤的目标是从文本中识别命名实体的提及。

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

Sentence with NER tags

机器学习

正如 Brink 等人所定义的,机器学习(ML)是利用历史数据中的模式来对新数据做出决策[1],或者正如谷歌首席决策科学家 Cassie Kozyrkov 如此雄辩地所说:“机器学习只是一个事物标签器,接受你对某事物的描述,并告诉你它应该被贴上什么标签。“当手头的问题过于复杂而无法通过编程解决时,应用 ML 技术是有用的,例如在图像上区分不同的猫品种,或者解决方案需要随着时间的推移而适应,例如识别手写文本[2]。

通常,机器学习分为有监督的和无监督的机器学习[2]。当我们的历史训练数据包含标签时(例如,下图中的“鸭子”和“不是鸭子”),我们可以使用监督学习。另一方面,当数据中没有标签时,应用无监督学习。无监督的机器学习方法旨在总结或压缩数据。这种差异的一个例子是检测垃圾邮件与异常检测的问题。在第一种情况下,我们将拥有带有垃圾邮件/非垃圾邮件标签的训练数据,在后一种情况下,我们将不得不根据电子邮件训练集来检测异常电子邮件。

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

The difference between supervised and unsupervised learning. Source

特征抽出

所有机器学习算法都需要数字数据作为输入。这意味着文本数据必须转换成数字。这是 NLP 世界中特征提取步骤的本质。

基于计数的策略

将文本转换成数字向量的最简单的方法是使用单词包(BoW)方法。BoW 的原理是从文本中取出所有独特的词,并创建一个名为词汇的文本语料库。使用词汇表,每个句子可以表示为一个由 1 和 0 组成的向量,这取决于词汇表中的某个单词是否出现在句子中。下图显示了在五个规范化句子上使用 BoW 方法创建的矩阵示例。

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

Example sentences

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

BoW feature matrix created from the sentences above

为了向词汇表添加更多的上下文,可以将标记分组在一起。这种方法被称为 N 元语法方法。一个 N 元文法是 N 个记号的序列。例如,二元模型是两个单词的序列,而三元模型是三个单词的序列。

一旦选择了词汇,不管是 1 个、2 个还是 3 个单词,都必须计算单词出现的次数。我们可以用弓的方法。这种方法的缺点是流行词变得太重要了。因此,最流行的方法是术语频率-逆文档频率(TF-IDF)。

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

High-level explanation of TF-IDF

TF-IDF 由词频(TF)和逆文档频率(IDF)组成,词频(TF)捕捉单词相对于句子长度的重要性,逆文档频率(IDF)捕捉单词相对于文档中的总行数出现在多少个文档行中,从而突出单词的稀有性。直观上,如果一个单词在一个文档中频繁出现,但在所有文档的集合中不频繁出现,则该单词具有较高的 TF-IDF 得分。下图显示了使用 TF-IDF 方法在前面看到的例句上创建的矩阵示例。请注意单词 fox 的分数与更频繁出现的兔子的分数是如何不同的。

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

TF-IDF feature matrix created from the example sentences

高级策略

虽然基于计数的方法可以用来捕获单词序列(n 元语法),但它们不能捕获单词的语义上下文,而语义上下文是许多 NLP 应用程序的核心。单词嵌入技术被用来克服这个问题。使用单词嵌入,词汇被转换成向量,使得具有相似上下文的单词在附近。

Word2Vec 是来自 Google 的一个框架,使用浅层神经网络来训练单词嵌入模型[3]。有两种类型的 Word2Vec 算法:Skip-Gram,用于预测给定单词周围的上下文,而连续单词包(CBOW)模型用于预测给定上下文中的下一个单词。

全局向量方法, GloVe ,使用同现统计来创建向量空间【4】。这个方法是 Word2Vec 的扩展,可以提供更好的单词嵌入。下图显示了例句中手套词嵌入的例子以及嵌入的图示。正如人们所料,类似的概念就在附近。

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

Feature matrix created using GloVe embeddings

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

Word vectors projected to a 2D space

Word2Vec 的另一个临时版本由脸书开发,名为 fastText 。fastText 是一个深度学习框架,在构建向量空间时会考虑单个字符[5]。

监督学习

基于标签(也称为目标)的格式,监督机器学习任务分为两个。如果目标是一个分类值(猫/狗),那么这是一个分类问题,另一方面,如果目标是数值型的(房子的价格),那么这是一个回归问题。在处理文本时,我们大多会遇到分类问题。

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

Typical supervised learning pipeline

上图显示了一个典型的文本分类系统的工作流程。我们首先将数据分为训练集和测试集。必须对训练和测试数据进行预处理和归一化,然后才能提取特征。前面几节介绍了最流行的文本数据特征提取技术。一旦文本数据被转换成数字形式,就可以对其应用机器学习算法。这个过程称为训练模型-模型从特征中学习模式来预测标签。通过称为超参数调整的过程,可以使用模型参数优化模型以获得更好的性能。然后,根据以前看不到的测试数据对结果模型进行评估。使用各种度量来测量模型的性能,例如准确度、精确度、召回率、F1 分数等等。本质上,这些分数是为了比较数据的真实标签和预测标签而构建的。

用于文本分类的典型算法有:

  • 多项式朴素贝叶斯-属于朴素贝叶斯算法家族,建立在贝叶斯定理的基础上,假设每个要素相互独立。多项式朴素贝叶斯是一种扩展,用于具有两个以上不同标签的分类任务(多类分类)。
  • 逻辑回归-一种使用 Sigmoid 函数预测分类值的算法。流行的 sklearn 包允许调整模型参数,使得算法也可用于多标签分类。
  • 支持向量机(SVM)——一种使用直线或超平面(如果有两个以上的特征,从而创建一个多维空间)来区分类别的算法。
  • 随机森林——一种集成方法,它并行地在各种数据子集上训练多个决策树。
  • 梯度推进机器(GBM)-一系列集成方法,用于训练一系列弱学习器,如决策树,以获得准确的结果。XGBoost 是这个算法家族中最流行的实现之一。

分类算法列表中的最后两项是集成方法,它们使用许多预测算法来实现更好的泛化。集成方法的结果通常比单个模型更平均,集成往往在较大的数据集上工作得更好。然而,正如 Sarkar 在[6]中证明的,集成方法不一定在文本数据上工作得更好。

评估指标

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

Confusion matrix and the metrics derived from it

混淆矩阵是评估机器学习模型的最简单和最直观的工具之一。它显示了实际值和预测值之间的关系。尽管混淆矩阵本身是一个有价值的工具,但与之相关的术语被用作其他度量的基础。关于混淆矩阵的重要术语:

  • 真阳性——我们预测为阳性,而实际输出也为阳性的情况。
  • 真阴性——我们预测为阴性而实际产出为阴性的情况。
  • 假阳性——我们预测为阳性而实际输出为阴性的情况。
  • 假阴性——我们预测为阴性而实际结果为阳性的情况。

从混淆矩阵中得出的指标有:

  • 准确性-模型在所有预测中做出的正确预测数。
  • 精度-所有阳性预测中正确阳性案例的数量,换句话说,有多少所选项目是相关的。
  • 回忆—所有实际阳性事件中正确阳性案例的数量,换句话说,选择了多少个相关项目。
  • F1 分数—结合精确度和召回率的单一分数,使用调和平均值获得。调和平均值是 x 和 y 相等时的平均值。但是当 x 和 y 不同时,它更接近于较小的数,而不是较大的数。

只有当标注包含大致相等数量的数据点时,准确性才是有用的度量标准。所有四个指标的范围从 0 到 1,1 是最好的,0 是最差的分数。

无监督学习

当要分析的数据集没有标签时,可以使用无监督的机器学习技术,例如聚类。聚类是无监督学习的一个分支,其目的是将相似的对象组合在一起。

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

Examples of clustering. Source

有几类可用的聚类算法:

  • 基于连通性的聚类(也称为分层聚类)根据数据点之间的距离来连接它们。有两种类型的策略用于连接这些点:凝聚,一种“自下而上”的方法,其中每个数据点成为自己的聚类,成对的聚类迭代合并,或“自上而下”的分裂方法,其中整个数据空间是一个被递归分裂的聚类。对于凝聚层次聚类,两个额外的度量是必要的:显示两个数据点有多相似的距离度量,欧几里德、汉明或余弦距离是典型的例子,以及显示数据点组有多相似的链接标准。
  • 基于质心的聚类-根据点与聚类质心的接近程度将数据划分到聚类中。K-means 是该算法最流行的实现。基本算法如下:(1)。)选择 k 作为集群的数量,(2。)将数据点分配到聚类中,(3。)计算群集质心,(4)。)将数据点重新分配到最近的质心,(5。)重复前面两步,直到质心不变。
  • 基于密度的聚类—数据空间被划分并聚类成密度区域。DBSCAN 和 OPTICS 是两种流行的算法,它们提取数据空间的密集区域,将“有噪声的”数据留在稀疏区域。光学试图克服 DBSCAN 在边界和不同密度的数据集上表现不佳的弱点。

文本摘要

文本摘要可以分为两部分:主题建模和自动文本摘要。自动文本摘要是使用 ML 算法来创建文档或一组文档的摘要的过程。这些算法在处理大量文档和/或长文档时表现最佳。

另一方面,主题建模侧重于从文档集合中提取主题。主题模型通常被称为概率统计模型,因为它们使用统计技术,如奇异值分解(SVD),来揭示文本中潜在的语义结构。SVD 依赖于矩阵分解,这是一种来自线性代数的技术,它将特征矩阵分成更小的分量。潜在语义索引(LSI)、潜在狄利克雷分配(LDA)和非负矩阵分解(NNMF)等方法利用线性代数中的技术将文档划分为主题,这些主题本质上是单词簇,如下所示。当文本多样化时,主题建模算法倾向于产生更好的结果。

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

The essence of topic modeling. Source

结论

我已经简要概述了一些重要的主题,一旦你开始一个涉及自然语言处理和机器学习的项目,你将会遇到这些主题。我几乎没有触及这个领域的表面。我甚至没有提到使用迁移学习的语言建模的令人兴奋的发展,你可以在 Sebastian Ruder 的这篇有见地的帖子中读到。

在我看来,这是一个非常令人兴奋的时间,开始在行业中实践应用的自然语言处理。正如 Yoav Goldberg 在我最近参加的 T2 会议上所说,大多数行业仍然使用正则表达式来解决问题。通过理解我在这篇文章中提出的理论,并将其应用于现实生活中的问题,你可以让一些人真正快乐起来。

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

Yoav Goldberg presenting the current state of the applied NLP at spaCy IRL

参考

[1] H. Brink、J. W. Richards 和 M. Fetherolf,真实世界机器学习(2017 年),曼宁出版社

[2] S. Shalev-Shwartz,S. Ben-David,理解机器学习:从理论到算法 (2014),剑桥大学出版社

[3] T. Mikolov、I. Sutskever、K. Chen、G. S Corrado 和 J. Dean。单词和短语的分布式表示及其组成 (2013),神经信息处理系统进展 26

[4] J. Pennington、R. Socher 和 C. D. Manning, GloVe:单词表示的全局向量 (2014),载于 EMNLP。

[5] P. Bojanowski、E. Grave、A. Joulin 和 T. Mikolov。用子词信息丰富词向量 (2016),arXiv 预印本

[6] D .萨卡尔。使用 Python 的文本分析:自然语言处理从业者指南(2019),Apress

数据科学和数据工程之间的细微差别

原文:https://towardsdatascience.com/the-thin-line-between-data-science-and-data-engineering-2e6bd922fe35?source=collection_archive---------16-----------------------

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

阿克谢·辛格在 TDS 播客

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

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

如果你在过去几年一直关注数据科学的发展,你会知道这个领域自 2010 年代早期/中期的狂野西部阶段以来已经发生了很大的变化。那时候,几个 Jupyter 笔记本和半生不熟的建模项目可以让你在一家体面的公司找到工作,但事情已经发生了很大的变化。

如今,随着公司最终开始理解数据科学能够带来的价值,越来越多的人开始重视在生产系统中实施数据科学。由于这些实现需要能够在越来越大的数据集上实时执行的模型,大量数据科学问题已经成为工程问题。

这就是为什么我们采访了阿克谢·辛格,他曾在亚马逊、联盟和陈-扎克伯格计划(前身为 Meta.com)的数据科学团队工作并管理过。阿克谢在数据科学和数据工程的交叉领域工作,带领我们走过了数据分析和数据科学之间的微妙界限,该领域的未来,以及他对没有得到足够支持的最佳实践的想法。以下是我们的主要收获:

  • 在数据工程中最容易犯的一个错误是没有仔细考虑你选择的工具。你为什么用 S3 作为你的数据仓库?为什么不是红移或者 BigQuery?强迫自己理解这些问题的答案,不接受给定的工具是一种很好的成长方式,如果你想给潜在雇主留下深刻印象,这是至关重要的。
  • 永远假设你现在构建的任何东西都会在一年或更短的时间内被取代。生产系统不是静态的,你或其他人迟早会重新访问代码库的大部分。这就是为什么学习如何使用文档字符串,使用清晰的函数和变量名,以及理解内联注释的最佳实践是如此重要。
  • 数据会随着时间的推移而漂移,对今天的数据有效的模型在下周可能就不再有效了。这可能是由多种因素造成的:季节性是其中之一,但用户行为也会因你而改变。阿克谢建议,即时收集用户反馈是解决这个问题的关键:如果你注意到他们的反馈出乎意料地变得消极,在你的系统中设置一个警报,让你知道有些事情不对劲。
  • 大局是要记住的最重要的事情。人们很容易迷失在一个技术问题中,但伟大的数据科学家的标志是能够停下来问一问这个问题是否值得解决。你真的需要一个推荐系统吗,或者一个简单的基于规则的系统也可以吗?如果你无法获得监督学习模型所需的精确训练标签,你能拼凑出一个像样的代理吗?现实世界是混乱的,经常要求你用比 Kaggle 竞赛更有创造性的方式来处理数据科学问题。
  • 随着时间的推移,随着越来越多的数据科学家的工作负载通过越来越强大的工具被抽象化,看到全局的重要性只会与日俱增。数据科学正在缓慢但肯定地成为一个产品角色。

TDS 播客—剪辑

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

寄生虫和互惠互利者之间的细微差别

原文:https://towardsdatascience.com/the-thin-line-between-parasites-and-mutualists-cbeab224fefe?source=collection_archive---------24-----------------------

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

Photo by Pree Bissessur on Unsplash

如何用基于主体的模拟来理解从互利共生到寄生的进化,反之亦然

“寄生虫”这个词让人想起绦虫和扁虱的形象,而“互惠者”这个词则让人想起在大草原上,干净的鱼在大鲨鱼的嘴里啃食,鸟儿骑在有蹄类动物的背上。很明显一个永远不会变成另一个,对吗?如果有一件事是大自然嘲笑的,那就是任何愚蠢的人类试图把一种情况描绘成非黑即白,从寄生到互利共生的光谱也没有什么不同。

直到最近,科学家们才抓住这一观点,即寄生虫可以变成互惠互利者,反之亦然。有很多可能的例子:人类向土壤中添加氮可能导致通常帮助植物(通过固定氮)的土壤微生物成为寄生物,因为即使植物不再需要它们的帮助,它们仍然想要它们的糖。大肠杆菌是一种可怕的肠胃流感,也是人体的正常居住者,这取决于地点。有些昆虫从植物的基部偷取花蜜,避免花粉沾到它们身上;它们可能最初是由传粉者进化而来的吗?

虽然似乎有例子表明严格的互惠主义者或寄生虫可以进化成另一个,但没有办法确切知道发生了什么或会发生什么(除非你在某个地方藏了一台时间机器)。然而,人类非常善于发现模式,即使实际上并不存在模式,所以我从来不满足于认为这样的解释是理所当然的。

因为我个人没有藏时间机器,所以我创造了一个模拟,可以模拟互利共生、寄生以及任何介于两者之间的情况。如其名,符号使用基于代理的建模概念工作。基本上,我编写了关于通用主机如何运行的代码和关于通用共生体如何运行的代码。(补充说明:共生体是一个事物与另一个事物共存的专有名词,可以是寄生的、互惠的或其他的。互利共生是一个事物与另一个事物共存的专有名词,它们相互受益。)宿主和共生体都需要收集一定数量的资源以便能够繁殖,并且它们的后代继承它们的行为并有机会变异。这个非常简单的设置是进化发生所必需的。我感兴趣的行为是他们如何对待彼此。一般的宿主和一般的共生体可以是完全合作的(互利者)和为了共同的利益分享它们所有的资源,也可以是完全对立的(宿主和寄生虫),在这种情况下,宿主花费资源来保护自己,而寄生虫无论如何都要尽可能多的获取资源。关键是这是一个全谱,我可以创造大量的这些独立活动的宿主和共生体。通过这种方式,我能够在最高水平上模拟宿主生物和共生体群体在不同环境下可能如何进化。

现在有很多问题可以用这个软件来问(它是开源的,所以欢迎任何人来贡献),但是科学就是每次专注于一个特定的问题。

首先,我问这样一个主机和共生体系统的简单表示是否能够做我们大多数人所期望的事情。预期的第一件事与垂直传输速率有关。在高层次上,垂直传输速率是指当主机复制时,共生体能够跟随的速率。高垂直传输率似乎与互利共生有关,这是有道理的:如果宿主繁殖时共生体将被繁殖,那么共生体应该帮助宿主繁殖。你的线粒体就是现在 100%依赖垂直传播的共生体的好例子;它们获得下一代的唯一途径是它们所在的人类细胞进行繁殖,使它们成为非常可靠的互惠互利者。低垂直传播率似乎自然地与寄生现象和另一种传播形式联系在一起:水平传播。导致你在电梯里打喷嚏的感冒病毒不太可能持续到你下一次繁殖,因此它需要自己传播,并会尽可能多地利用你的资源来传播。

事实证明,我现在可以证明在垂直传播率和共生体种群进化到何种程度之间存在因果联系:

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

Graph showing the interaction between the vertical transmission rate and the final mean interaction value of hosts and symbionts. At 0% vertical transmission rate, the host and symbiont are in a traditional parasitic relationship. At 100% vertical transmission rate, they are in a traditional mutualistic relationship. At intermediate rates, they are somewhat mutualistic. [2]

这是一个乍看起来很明显,因此很无聊的图表。然而,我必须强调的是,如果没有这种类型的模拟,这是一个很难测试的假设,而且科学中充满了似乎明显正确但最终证明完全错误的假设。然而,这个令人放心的结果为深入研究一些“看似明显但可能是错误的”问题奠定了基础。本文探讨了其他几个问题,包括当有两个任务需要完成,而主持人只能完成其中一个时会发生什么。但是最后证明是错误的那个是最有趣的,所以这是我接下来要重点讲的。

空间结构如何改变互利共生的进化

当我们探索合作和空间结构的话题时,请耐心听我说。众所周知,在单个物种的合作领域,空间结构有助于合作策略的成功[3]。为了理解这个想法背后的直觉,想想一种细菌。如果这种细菌倾向于努力释放周围细胞可以利用的资源,它就很容易受到空间结构的影响。如果这是一个开放的海洋,周围的细胞不太可能分享它的基因,那么它就是在分享资源,可能得不到任何回报,也无法繁殖。然而,如果它在一个粘性的表面上,因此它周围的所有细胞几乎都是精确的克隆,那么它产生的任何资源都将进入这些克隆。由于这些克隆体与我们的友好细菌共享大部分基因,它们也将努力释放我们的细菌将使用的资源。如果一个合作者被其他合作者包围,那么它就更有可能把它的基因传递下去。导致后代与父母保持亲密关系的空间结构促进了这种有利于合作者的环境。因此,众所周知,空间结构使得合作更有可能发展成为一种成功的战略。

事实证明,只有当你谈论单一物种时,这才是正确的。当宿主/共生体系统加入空间结构后,在一定的垂直传输速率下,共生体变得更加寄生!

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

A series of graphs comparing vertical transmission rate to the final mean interaction value when reproduction is local or global. At rates of 40–70% vertical transmission rate, the symbionts were more parasitic with spatial structure than without. [2]

这个结果太出乎意料了,当我第一次得到数据时,我和我的同事们都确定某个地方有 bug。只有在大量的测试和另一个实验室发表的预测这一结果的数学模型[4]之后,我才确信这实际上是正确的。这是一个相当不和谐的结果,因为几十年来对单一物种合作的研究已经指向了合作进化的空间结构。问题在于,世界上没有物种是完全与世隔绝的。到处都有细菌、病毒和真菌,它们对我们这些大生物的健康影响比我们想象的要大得多。通过一个基于智能体的模拟,我已经展示了我们对合作的理解变得更加复杂,只要我们把另外一个物种考虑进去。想象一下,当我们把以各种想象和不可想象的方式相互作用的数百种因素考虑在内时,我们会意识到什么!

参考资料:

[1] E. I. Jones 等人,欺骗者必须繁荣:调和互惠主义中欺骗的理论和经验观点。(2015)生态快报

[2] A. E. Vostinar 和 C. Ofria,空间结构会降低共生合作。(2019)人工生命

[3] S. P. Diggle 等,群体感应细菌种群中的合作与冲突。 (2007 年)性质

[4]e . akay,种群结构降低了互利共生中伙伴选择的收益。 (2016),bioRxiv

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值