整体方法:装袋、助推和堆叠
理解集成学习的关键概念。
本帖与 巴蒂斯特·罗卡 共同撰写。
介绍
“团结就是力量”。这句老话很好地表达了机器学习中非常强大的“集成方法”的基本思想。粗略地说,通常信任许多机器学习竞赛(包括 Kaggle 的竞赛)的顶级排名的集成学习方法是基于这样的假设,即将多个模型组合在一起通常可以产生更强大的模型。
这篇文章的目的是介绍集成学习的各种概念。我们将为读者提供一些必要的答案,以便更好地理解和使用相关方法,并能够在需要时设计合适的解决方案。我们将讨论一些众所周知的概念,如 boosting,bagging,random forest,boosting,stacking 和其他许多集成学习的基础。为了使所有这些方法之间的联系尽可能清晰,我们将尝试在一个更广泛的逻辑框架中呈现它们,我们希望这将更容易理解和记忆。
概述
在这篇文章的第一部分,我们将提出弱学习者和强学习者的概念,我们将介绍三种主要的集成学习方法:打包、提升和堆叠。然后,在第二部分,我们将重点放在装袋,我们将讨论的概念,如自举,装袋和随机森林。在第三部分中,我们将介绍 boosting,特别是它的两个最流行的变体:自适应 boosting (adaboost)和梯度 boosting。最后,在第四部分,我们将给出堆栈的概述。
什么是系综方法?
集成学习是一种机器学习范式,其中多个模型(通常称为“弱学习者”)被训练来解决同一问题,并被组合以获得更好的结果。主要假设是,当弱模型被正确组合时,我们可以获得更准确和/或更稳健的模型。
单一弱学习者
在机器学习中,无论我们面对的是分类还是回归问题,模型的选择对于有机会获得好的结果都是极其重要的。这种选择取决于问题的许多变量:数据的数量、空间的维度、分布假设…
低偏差和低方差是模型的两个最基本的预期特征,尽管它们通常以相反的方向变化。事实上,为了能够“解决”一个问题,我们希望我们的模型有足够的自由度来解决我们正在处理的数据的潜在复杂性,但我们也希望它没有太多的自由度来避免高方差和更健壮。这就是众所周知的偏差-方差权衡。
Illustration of the bias-variance tradeoff.
在集成学习理论中,我们称弱学习者(或基础模型)模型,这些模型可以作为构建模块,通过组合其中的几个来设计更复杂的模型。大多数时候,这些基本模型本身表现不佳,要么是因为它们有较高的偏差(例如,低自由度模型),要么是因为它们有太多的方差而不稳定(例如,高自由度模型)。然后,集成方法的思想是试图通过将这些弱学习者中的几个组合在一起来减少偏差和/或方差,以便创建实现更好性能的强学习者(或集成模型)。
结合弱学习者
为了建立集成学习方法,我们首先需要选择要聚合的基本模型。大多数时候(包括在众所周知的 bagging 和 boosting 方法中),使用单个基础学习算法,因此我们有以不同方式训练的同质弱学习器。于是我们得到的系综模型被称为是“齐次的”。然而,也存在一些使用不同类型的基本学习算法的方法:一些异类弱学习器然后被组合成“异类集成模型”。
重要的一点是,我们对弱学习者的选择应该与我们聚合这些模型的方式一致。如果我们选择具有低偏差但高方差的基础模型,则应该使用倾向于减少方差的聚合方法,而如果我们选择具有低方差但高偏差的基础模型,则应该使用倾向于减少偏差的聚合方法。
这就给我们带来了如何组合这些模型的问题。我们可以提到三种主要的元算法,旨在组合弱学习者:
- bagging ,通常考虑同质的弱学习者,并行地相互独立地学习它们,并按照某种确定性的平均过程组合它们
- boosting ,通常考虑同质的弱学习者,以一种适应性很强的方式顺序学习它们(基础模型取决于前面的模型),并按照确定性策略组合它们
- 堆叠,通常考虑异类弱学习者,并行学习它们,并通过训练元模型来组合它们,以基于不同的弱模型预测输出预测
非常粗略地说,我们可以说 bagging 将主要集中于获得方差小于其分量的集合模型,而 boosting 和 stacking 将主要试图产生比其分量偏差更小的强模型(即使方差也可以被减小)。
在接下来的部分中,我们将在给出堆栈的简要概述之前,详细介绍 bagging 和 boosting(这比 stacking 使用得更广泛一些,并且允许我们讨论集成学习的一些关键概念)。
Weak learners can be combined to get a model with better performances. The way to combine base models should be adapted to their types. Low bias and high variance weak models should be combined in a way that makes the strong model more robust whereas low variance and high bias base models better be combined in a way that makes the ensemble model less biased.
专注于装袋
在平行方法中,我们让不同的学习者相互独立地适应,因此,可以同时训练他们。最著名的方法是“bagging”(代表“bootstrap aggregating”),旨在产生一个比组成它的单个模型更健壮的集合模型。
拔靴带
让我们从定义自举开始。这种统计技术包括通过随机抽取替换的 B 观测值,从大小为 N 的初始数据集生成大小为 B 的样本(称为 bootstrap 样本)。
Illustration of the bootstrapping process.
在某些假设下,这些样本具有非常好的统计特性:在第一近似值中,它们可以被视为直接来自真实的底层(通常未知)数据分布,并且彼此独立。因此,它们可以被视为真实数据分布的代表性独立样本(几乎同分布样本)。为了使这种近似有效,必须验证假设是双重的。首先,初始数据集的大小 N 应该足够大,以捕捉基本分布的大部分复杂性,以便从数据集采样是从真实分布采样的良好近似(代表性)。第二,与引导样本的大小 B 相比,数据集的大小 N 应该足够大,以使样本不太相关(独立性)。请注意,在下文中,我们有时会提到 bootstrap 样本的这些属性(代表性和独立性):读者应该始终记住这只是一个近似值。
例如,Bootstrap 样本通常用于评估统计估计量的方差或置信区间。根据定义,统计估计量是一些观察值的函数,因此是一个具有来自这些观察值的方差的随机变量。为了估计这种估计量的方差,我们需要对从感兴趣的分布中抽取的几个独立样本进行评估。在大多数情况下,考虑真正独立的样本需要的数据比实际可用的数据多得多。然后,我们可以使用 bootstrapping 来生成几个 bootstrap 样本,这些样本可以被视为“几乎具有代表性”和“几乎独立”(几乎同分布样本)。这些 bootstrap 样本将允许我们通过评估每个样本的值来近似估计量的方差。
Bootstrapping is often used to evaluate variance or confidence interval of some statistical estimators.
制袋材料
当训练模型时,无论我们是在处理分类问题还是回归问题,我们都会获得一个接受输入、返回输出并根据训练数据集定义的函数。由于训练数据集的理论方差(我们提醒数据集是来自真实的未知基础分布的观察样本),拟合的模型也易变:如果观察到另一个数据集,我们将获得不同的模型。
bagging 的想法很简单:我们希望拟合几个独立的模型,并“平均”它们的预测,以获得一个方差较低的模型。然而,在实践中,我们无法拟合完全独立的模型,因为这需要太多的数据。因此,我们依靠 bootstrap 样本的良好“近似属性”(代表性和独立性)来拟合几乎独立的模型。
首先,我们创建多个 bootstrap 样本,这样每个新的 bootstrap 样本将作为另一个(几乎)独立于真实分布的数据集。然后,我们可以为这些样本中的每一个拟合一个弱学习者,并最终聚合它们,这样我们就可以“平均”它们的输出,从而获得一个方差小于其分量的集成模型。粗略地说,由于 bootstrap 样本近似独立且同分布(i.i.d .),所以学习的基础模型也是如此。然后,“平均”弱学习者的输出不会改变预期的答案,但会减少其方差(就像平均 i.i.d .随机变量保持期望值但减少方差一样)。
因此,假设我们有 L 个大小为 B 的 bootstrap 样本(L 个独立数据集的近似值)
我们可以拟合 L 个几乎独立的弱学习者(每个数据集一个)
然后将它们聚合到某种平均过程中,以便获得具有较低方差的集合模型。例如,我们可以这样定义我们的强模型
有几种可能的方法来集合并行拟合的多个模型。对于回归问题,单个模型的输出可以被平均以获得集合模型的输出。对于分类问题,每个模型输出的类可以被视为一个投票,获得大多数投票的类由集成模型返回(这被称为硬投票)。仍然对于分类问题,我们也可以考虑所有模型返回的每个类别的概率,平均这些概率并保留平均概率最高的类别(这被称为软投票)。如果可以使用任何相关的权重,平均值或投票可以是简单的,也可以是加权的。
最后,我们可以提到,装袋的一大优势是它可以并行。由于不同的模型相互独立地拟合,如果需要,可以使用密集的并行化技术。
Bagging consists in fitting several base models on different bootstrap samples and build an ensemble model that “average” the results of these weak learners.
随机森林
学习树是集成方法非常流行的基础模型。由多棵树组成的强学习者可以称为“森林”。组成一个森林的树木可以选择浅的(很少的深度)或深的(很多深度,如果没有完全生长的话)。浅树的方差较小,但偏差较大,因此对于我们将在下文描述的顺序方法来说,浅树是更好的选择。另一方面,深树具有低偏差但高方差,因此是主要集中在减少方差的 bagging 方法的相关选择。
随机森林方法是一种装袋方法,其中深树(安装在引导样本上)被组合以产生具有较低方差的输出。然而,随机森林还使用另一种技巧来使多个拟合的树彼此之间的相关性降低:在生长每棵树时,我们不是只对数据集中的观察值进行采样来生成引导样本,而是对特征进行采样,并且只保留它们的随机子集来构建树。
对特征进行采样实际上具有这样的效果,即所有树并不查看完全相同的信息来做出决策,因此,它降低了不同返回输出之间的相关性。采样优于特征的另一个优点是它使决策过程对缺失数据更加稳健:具有缺失数据的观测值(来自或不来自训练数据集)仍然可以基于只考虑数据未缺失的特征的树进行回归或分类。因此,随机森林算法结合了 bagging 和随机特征子空间选择的概念来创建更鲁棒的模型。
Random forest method is a bagging method with trees as weak learners. Each tree is fitted on a bootstrap sample considering only a subset of variables randomly chosen.
专注于提升
在顺序方法中,不同的组合弱模型不再相互独立地拟合。想法是迭代地拟合模型**,使得在给定步骤的模型训练依赖于在先前步骤拟合的模型。“Boosting”是这些方法中最著名的,它产生的集成模型通常比组成它的弱学习者更少偏差。**
助推
Boosting 方法和 bagging 方法的工作原理是一样的:我们建立一系列模型,这些模型被聚合起来以获得表现更好的强学习者。然而,与主要旨在减少方差的 bagging 不同,boosting 是一种以非常自适应的方式依次拟合多个弱学习者的技术:序列中的每个模型都被拟合,从而给予数据集中被序列中的先前模型处理得不好的观察值更多的重要性。直观地说,每个新模型都将其努力集中在最困难的观察上以适应到目前为止,因此我们在过程结束时获得了一个具有较低偏差的强学习者(即使我们可以注意到增强也可以具有减少方差的效果)。像 bagging 一样,Boosting 可以用于回归以及分类问题。
由于主要致力于减少偏差**,通常考虑用于提升的基础模型是具有低方差但高偏差的模型。例如,如果我们想使用树作为我们的基础模型,我们将在大多数情况下选择只有几个深度的浅决策树。促使使用低方差但高偏差模型作为弱学习器进行增强的另一个重要原因是,这些模型一般来说拟合的计算成本较低(参数化时自由度较少)。事实上,由于适合不同模型的计算不能并行进行(不像 bagging),因此依次适合几个复杂的模型可能会变得过于昂贵。**
一旦选择了弱学习者,我们仍然需要定义它们将如何被顺序拟合(当拟合当前模型时,我们考虑来自先前模型的什么信息?)以及它们将如何聚合(我们如何将当前模型聚合到以前的模型?).我们将在以下两个小节中讨论这些问题,尤其是描述两个重要的提升算法:adaboost 和梯度提升。
简而言之,这两种元算法在顺序过程中如何创建和聚集弱学习者方面有所不同。自适应增强更新附加到每个训练数据集观察值的权重,而梯度增强更新这些观察值。这种主要差异来自两种方法试图解决寻找最佳模型的优化问题的方式,该模型可以写成弱学习器的加权和。
Boosting consists in, iteratively, fitting a weak learner, aggregate it to the ensemble model and “update” the training dataset to better take into account the strengths and weakness of the current ensemble model when fitting the next base model.
适应性增压
在适应性增强(通常称为“adaboost”)中,我们试图将我们的集成模型定义为 L 个弱学习器的加权和
找到这种形式的最佳集合模型是一个困难的优化问题。然后,我们不是试图一次解决它(找到所有系数和给出最佳总体加性模型的弱学习器),而是利用一个更易处理的迭代优化过程**,即使它可能导致次优解。更具体地,我们逐个添加弱学习器,在每次迭代中寻找最佳可能对(系数、弱学习器)以添加到当前集成模型。换句话说,我们递归地定义(s_l)是这样的**
其中,选择 c_l 和 w_l,使得 s_l 是最符合训练数据的模型,因此,这是对 s_(l-1)的最佳可能改进。然后我们可以表示
其中 E(。)是给定模型的拟合误差,e(。,.)是损失/误差函数。因此,我们通过“局部地”优化构建并将弱学习者逐个添加到强模型来逼近最优,而不是在总和中对所有 L 个模型进行“全局”优化。
更具体地,当考虑二进制分类时,我们可以表明 adaboost 算法可以被重写为如下进行的过程。首先,它更新数据集中的观测值权重**,并训练新的弱学习器,特别关注被当前集成模型错误分类的观测值。第二,它根据表示该弱模型性能的更新系数,将弱学习器添加到加权和中:弱学习器表现越好,它对强学习器的贡献越大。**
因此,假设我们面临一个二进制分类问题,在我们的数据集中有 N 个观察值,我们希望对给定的弱模型族使用 adaboost 算法。在算法的最开始(序列的第一个模型),所有的观察值具有相同的权重 1/N。然后,我们重复 L 次(对于序列中的 L 个学习者)以下步骤:
- 用当前观测值权重拟合最佳弱模型
- 计算更新系数的值,该更新系数是弱学习者的某种标量评估度量,其指示该弱学习者应该在多大程度上被考虑到集成模型中
- 通过添加新的弱学习器乘以其更新系数来更新强学习器
- 计算新的观察值权重,该权重表示我们希望在下一次迭代中关注哪些观察值(聚集模型错误预测的观察值的权重增加,而正确预测的观察值的权重减少)
重复这些步骤,然后我们按顺序建立我们的 L 模型,并将它们聚合成一个简单的线性组合,通过系数加权来表示每个学习者的表现。注意,存在初始 adaboost 算法的变体,例如 LogitBoost(分类)或 L2Boost(回归),其主要区别在于它们对损失函数的选择。
Adaboost updates weights of the observations at each iteration. Weights of well classified observations decrease relatively to weights of misclassified observations. Models that perform better have higher weights in the final ensemble model.
梯度推进
在梯度提升中,我们试图建立的集成模型也是弱学习者的加权和
就像我们提到的 adaboost 一样,在这种形式下寻找最优模型太难了,需要迭代的方法。自适应增强的主要区别在于顺序优化过程的定义。事实上,梯度推进将问题转化为梯度下降问题**:在每次迭代中,我们将弱学习器拟合到当前拟合误差相对于当前整体模型的梯度的相反值。让我们试着澄清这最后一点。首先,系综模型上的理论梯度下降过程可以写成**
其中 E(。)是给定模型的拟合误差,c_l 是对应于步长的系数
与步骤 l-1 中关于集合模型的拟合误差的梯度相反。这个(相当抽象)与梯度相反的函数实际上只能对训练数据集中的观测值进行评估(我们知道其输入和输出):这些评估被称为附属于每个观测值的伪残差**。此外,即使我们知道这些伪残差的观测值,我们也不想向我们的集合模型添加任何类型的函数:我们只想添加弱模型的新实例。因此,自然要做的事情是将弱学习者拟合到为每个观察计算的伪残差。最后,按照一维优化过程(线搜索以获得最佳步长 c_l)计算系数 c_l。**
因此,假设我们想要对给定的弱模型族使用梯度推进技术。在算法的最开始(序列的第一个模型),伪残差被设置为等于观察值。然后,我们重复 L 次(对于序列的 L 个模型)以下步骤:
- 将最佳可能的弱学习器拟合到伪残差(近似与当前强学习器的梯度相反)
- 计算最佳步长的值,该值定义了我们在新的弱学习器的方向上更新集成模型的程度
- 通过添加新的弱学习器乘以步长(形成梯度下降的步长)来更新集成模型
- 计算新的伪残差,该伪残差指示对于每个观测,我们接下来将在哪个方向上更新集合模型预测
重复这些步骤,然后我们按顺序建立我们的 L 模型,并按照梯度下降法聚合它们。请注意,自适应提升试图在每次迭代中精确地解决“局部”优化问题(找到最佳弱学习器及其系数以添加到强模型),而梯度提升则使用梯度下降方法,并且可以更容易地适应大量损失函数。因此,梯度增强可以被认为是 adaboost 对任意可微损失函数的推广。
Gradient boosting updates values of the observations at each iteration. Weak learners are trained to fit the pseudo-residuals that indicate in which direction to correct the current ensemble model predictions to lower the error.
堆叠概述
堆垛与装袋和助推主要有两点不同。第一次堆叠通常考虑异质弱学习者**(组合不同的学习算法),而 bagging 和 boosting 主要考虑同质弱学习者。第二,堆叠学习使用元模型来组合基本模型,而打包和提升遵循确定性算法来组合弱学习器。**
堆垛
正如我们已经提到的,堆叠的想法是学习几个不同的弱学习器,通过训练一个元模型来组合它们,以基于这些弱模型返回的多个预测来输出预测。因此,我们需要定义两件事情来构建我们的堆叠模型:我们想要适合的 L 个学习者和组合它们的元模型。
例如,对于分类问题,我们可以选择 KNN 分类器、逻辑回归和 SVM 作为弱学习器,并决定学习神经网络作为元模型。然后,神经网络将把我们三个弱学习器的输出作为输入,并基于它学习返回最终预测。
所以,假设我们要拟合一个由 L 个弱学习者组成的堆叠系综。然后,我们必须遵循以下步骤:
- 将训练数据分成两部分
- 选择 L 个弱学习者,并使它们适合第一层的数据
- 对于 L 个弱学习者中的每一个,对第二个文件夹中的观察值进行预测
- 使用弱学习者做出的预测作为输入,在第二层上拟合元模型
在前面的步骤中,我们将数据集分成两部分,因为已经用于弱学习者训练的数据预测与元模型的训练不相关。因此,将数据集分成两部分的一个明显的缺点是,我们只有一半的数据来训练基本模型,另一半的数据来训练元模型。然而,为了克服这种限制,我们可以遵循某种“k-fold 交叉训练”方法(类似于在 k-fold 交叉验证中所做的),使得所有的观察都可以用于训练元模型:对于任何观察,弱学习者的预测都是利用在 k-1 fold 上训练的这些弱学习者的实例来完成的,这些弱学习者不包含所考虑的观察。换句话说,它包括在 k-1 个折叠上的训练,以便在剩余的折叠上进行预测,并且迭代地获得对任何折叠中的观察结果的预测。这样做,我们可以为数据集的每个观察值生成相关的预测,然后在所有这些预测上训练我们的元模型。
Stacking consists in training a meta-model to produce outputs based on the outputs returned by some lower layer weak learners.
多层堆叠
堆叠的一个可能扩展是多级堆叠。它包括用多层进行堆叠。作为一个例子,让我们考虑一个 3 层堆叠。在第一级(层)中,我们拟合已经选择的 L 个弱学习者。然后,在第二个层次,不是在弱模型预测上拟合单个元模型(如前一小节所述),而是拟合 M 个这样的元模型。最后,在第三级,我们拟合最后一个元模型,该元模型将前一级的 M 个元模型返回的预测作为输入。****
从实践的角度来看,注意,对于多层堆叠集成模型的不同层的每个元模型,我们必须选择几乎可以是我们想要的任何东西的学习算法(甚至是已经在较低层使用的算法)。我们还可以提到增加级别可能是数据昂贵的**(如果不使用类似 k-folds 的技术,则需要更多数据)或者时间昂贵的(如果使用类似 k-folds 的技术,则需要拟合大量模型)。**
Multi-level stacking considers several layers of stacking: some meta-models are trained on outputs returned by lower layer meta-models and so on. Here we have represented a 3-layers stacking model.
外卖食品
这篇文章的主要观点如下:
- 集成学习是一种机器学习范式,其中多个模型(通常称为弱学习器或基础模型)被训练来解决同一问题,并被组合以获得更好的性能
- 主要假设是,如果我们以正确的方式组合弱学习者,我们可以获得更准确和/或更鲁棒的模型
- 在 bagging 方法中,相同基础模型的几个实例在不同的引导样本上并行(彼此独立地)训练,然后在某种“平均”过程中聚集
- 在 bagging 方法中对(几乎)独立同分布拟合模型进行的这种平均操作主要允许我们获得一个方差低于其分量的集合模型:这就是为什么具有低偏差但高方差的基础模型非常适合 bagging 的原因
- 在 boosting 方法中,相同基础模型的几个实例被顺序训练,使得在每次迭代中,训练当前弱学习器的方式取决于先前的弱学习器,更具体地说,取决于它们如何对数据进行操作
- boosting 方法中使用的这种迭代学习策略适应于先前模型的弱点来训练当前模型,主要允许我们获得比其分量具有更低偏差的集成模型:这就是为什么具有低方差但高偏差的弱学习器很适合 boosting 的原因
- 在堆叠方法中,不同的弱学习器彼此独立地被拟合,并且元模型在其上被训练以基于由基本模型返回的输出来预测输出
在这篇文章中,我们已经给出了集成学习的基本概述,尤其是该领域的一些主要概念:自举、bagging、随机森林、boosting (adaboost,gradient boosting)和堆叠。在被搁置的概念中,我们可以提到例如用于 bagging 的 Out-Of-Bag 评估技术,或者非常流行的“XGBoost”(代表 eXtrem Gradient Boosting),这是一个实现梯度增强方法以及大量其他技巧的库,这些技巧使学习更加高效(并且易于处理大数据集)。
最后,我们想通过提醒集成学习是关于组合一些基本模型以便获得具有更好性能/特性的集成模型来结束。因此,即使装袋、助推和堆叠是最常用的集合方法,也有可能出现变体,并且可以设计成更好地适应某些特定问题。这主要需要两件事:充分理解我们所面临的问题…并且有创造力!
感谢阅读!
我们与巴蒂斯特·罗卡的最后一篇文章:
面对不平衡的班级问题,应该做什么,不应该做什么?
towardsdatascience.com](/handling-imbalanced-datasets-in-machine-learning-7a0e84220f28) [## 马尔可夫链简介
定义、属性和 PageRank 示例。
towardsdatascience.com](/brief-introduction-to-markov-chains-2c8cab9c98ab)**
集合方法,从直觉到实施
民主、投票和多样性如何让人工智能受益
Taken by me: somewhere I learned a great deal. Somewhere I miss.
简介:一个正确的民主故事
我的目的是帮助你对什么是系综方法以及它们如何工作建立一种直觉。本文首先假设没有关于这个主题的知识。具体来说,这个介绍是关于获得一个心智模型。心智模型是为了帮助你在你熟悉的概念和你将要学习的新概念之间找到相似之处。
在一篇关于机器学习的文章中谈论民主、投票和多样性似乎无关。尽管如此,这些相同的概念也适用于人工智能世界,就像它们在我们的世界中一样。我冒昧地在我的标题和整篇文章中采用了相当轻松的语气。我的希望是你在娱乐的同时继续学习。
在许多情况下,几个稍有根据的猜测比一个非常有根据的猜测要好。这是群众的智慧战胜了个人的专长。这样的群体包括各种视角,一旦聚集起来,就会产生比最准确的个人视角更准确的元视角。但是,尽管这带来了很多好处,但必须满足几个假设:
- 这些猜测至少要稍加训练。换句话说,它们应该比随机更好。从一群无知的文盲的投票中不会有太多的好处。
- 观点应该是不同的,要么是他们思考和猜测的方式不同,要么是他们获得的经验不同。一个人人都学到完全相同的东西的群体是思想封闭的;全对的时候达成共识,全错的时候达成共识。视角越多样,你能看到的角度就越多。
第 1 部分:像创造者一样的机器
也许我们按照自己的形象创造了机器学习模型,并让它们用 democ 来统治自己…整体方法。
大数定律
我要你抓起一枚硬币,扔几次,然后记录下你得到的东西。在 10 次投掷中,不可能有 5 次是正面,5 次是反面。更不可能的是,在 100 次投掷中,50 次是正面,50 次是反面…即使你的硬币完全平衡,你也不太可能得到相同数量的正面和反面。如果你扔一枚硬币,而这枚硬币是经过制作和测量的,80%的情况下都是反面,那也差不多。你不可能在 10 次投掷中得到 8 条尾巴,或者在 20 次投掷中得到 16 条尾巴,或者在 100 次投掷中得到 80 条尾巴…
抛一枚公平的硬币很多次,得到大多数正面或反面,这种情况并不少见。例如,你可以将一枚硬币抛 10 次,得到 8 个正面和 2 个反面。头或尾落地的概率是相等的;正面是 0.5,反面是 0.5。那么为什么有可能得到一个结果的绝大多数。为什么不总是在每 10 次投掷中得到 5 次正面和 5 次反面,因为它们都是同样可能的结果?
在试图解释为什么会发生这种情况时,人们有时会陷入赌徒的偏见:因为到目前为止,由一枚公平硬币进行的大多数投掷都是正面朝上,所以下一次投掷更有可能是正面朝下。好像硬币在记录以前的结果,当它出错时会觉得有责任回来。但事实并非如此,因为每次折腾都是独立事件。这给我们带来了一个基本问题:结果的概率意味着什么?
看看这个 Wolfram 模拟吧,也许还能修补一下。继续无限制,你可以随时从右上角的“+”回到初始设置。你回来的时候我会在这里,从你离开的地方继续。
6 coins tossed 1000 times. The proportion of heads is plotted against the number of tosses.
你看到的是 6 枚公平币(0.5 概率正面),每枚抛 1000 次(根据演示描述)。随机种子是一个用来产生随机性的值,如果需要的话,可以重现相同的随机性。灰色水平线始终设置为人头概率值,这里为 0.5。
在每个实验中,随着投掷次数的增加,正面的比例接近正面的概率线。如果我们继续增加投掷的次数,最终正面的比例将等于正面的概率。不管你重复多少次实验,也不管你为硬币分配的概率值是多少,这都是正确的。这就是大数定律。
总结一下,我们看到使用 6 个相似的硬币,每一个都投掷 1000 次,使得正面的比率更接近正面的概率。我们也可以投掷 6000 枚类似的硬币,我们会注意到类似的结果;人头比例总会收敛到人头概率。
将大数定律应用于机器学习
有时候,你尽最大努力训练一台机器,而一个 51%准确率的模型就是你所能展示的全部。如果你发现自己处于如此可怕的时期,不要绝望,用大数法则来代替。
一台 51%正确的机器只比随机机器好一点点。但是如果你可以把它复制成 1000 个模型,然后把他们的个人答案汇总成一个投票,大多数投票的答案在 73%的情况下都是正确的。有了 10000 个这样的模型,投票的答案在 97%的时候都是正确的。这是因为获得大多数好答案的概率随着模型数量的增加而增加。
A. Géron, Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow (2019)
这可以通过掷硬币再次形象化。随着投掷次数的增加,有 51%正面概率的硬币将有越来越多的正面概率。
如果你想自己验证更多的模型可以增加他们选出正确答案的概率,你可以计算累积二项式概率:
Formula for computing the cumulative binomial probability
要将此公式应用于 1000 个模型,每个模型的精确度为 0.51,您必须将 501 个模型集体投票得出正确答案的二项式概率、502 个模型集体投票得出正确答案的二项式概率……以及 1000 个模型集体投票得出正确答案的二项式概率相加。但是生活就是为了活着,你可以用这个二项式概率计算器来代替。
The first value is p, the second is n, and the third is x. The last cumulative probability is what you’re looking for.
当然,为同一项任务构建数千个模型在计算上似乎并不高效。但是我们从一个相当糟糕的情况开始,将精确度设置为比随机猜测略好。通常情况下,在训练了几个模型并选择了最好的模型后,您会求助于使用这种方法。通过组合一组合适的模型,你可以用更少的模型获得实质性的改进。但是,尽管这带来了很多好处,还是要满足一些假设。
**快速术语:**在机器学习中,一组模型被称为集合。
满足所需的假设
机器和它们的创造者一样,受益于群体的智慧,前提是它们满足相同的主要假设:
- 模型的准确性应该高于随机猜测。这可以通过在数据集上训练模型并在选择表现最佳的模型之前评估它们的准确性来满足。
- 模型应该相互独立。这可以通过多种方式来满足:
- 对每个模型使用不同的算法。
- 使用相同的算法并在来自训练数据集的实例的不同子集上训练每个模型。
- 使用相同的算法并在来自训练数据集的特征的不同子集上训练每个模型。
- 结合了前面的两个选项:相同的算法、不同的实例和用于训练每个模型的不同特征。
**快速术语:**上面的第二个选项被称为打包(简称引导聚集)当随机抽样子集允许实例被选择不止一次时(我们称之为替换抽样)。但是,在不替换的情况下进行采样时,称为粘贴。第三种选择叫做随机子空间方法。第四个选项叫做随机补丁方法。
下一部分将通过提供实际例子来阐述。
第二部分:召唤他们的词语
巨蟒嘶嘶地向他们将要学习的树招手
让他们学习的东西
我们将要使用的数据集叫做 make_moons 。我们将使用它来生成 500 个具有 2 个特征的实例。每个实例将属于“0”类或“1”类。
Plot of the generated dataset.
下一步是分割数据集,用于训练和测试目的。
不同的算法,相同的数据
我们将使用三种不同的算法创建三个模型:决策树分类器、逻辑回归分类器和支持向量分类器。我们将训练他们将实例分为两类。然后我们会问他们,根据他们学到的知识来猜测 X_test 中的每个实例是属于 0 类还是 1 类。最后,我们将通过比较他们的猜测(预测)与实际标签 y_test 来评估他们的准确性。
SVC 模型是最精确的,具有 0.896 的精确度。让我们把这三个模型结合成一个整体模型。
The ensemble’s accuracy is 0.904, outperforming the SVC model.
上面的代码创建了一个称为 VotingClassifier 的集合。每次要求集成预测一个实例是 0 类还是 1 类时,三个模型各自进行预测,集成输出多数投票的类。这叫做硬投票。
软投票另一方面稍微领先一步,可以带来更好的准确性。除了简单地要求单个分类器进行预测,我们还可以要求它们输出一个对其预测的置信度的度量。因此,将有可能根据置信度度量来为预测赋予或多或少的可信度。
With soft voting the accuracy increased to 0.912
相同的算法,不同的数据
我们可以依靠复制相同的模型来制作合奏,并为每个单独的模型教授不同的东西。下面的代码实现了第 2 部分末尾讨论的打包技术。
The single SVC model has 0.896 accuracy. An ensemble of 100 SVC models has 0.904 accuracy.
随机子空间是另一种使用不同数据来教导集合的单个模型的方式。它不是从训练集中随机抽取实例,而是随机抽取特征。对于我们的数据集不实用,因为我们只有两个特征 x1 和 x2,但对于更复杂的数据集绝对值得尝试。要使用它,只需将上面代码中的“max_samples”替换为“max_features”。
最后,随机补丁结合了装袋和随机子空间。要使用它,请设置“最大样本数”和“最大特征数”的值。
更进一步
[## 模拟抛硬币实验和大数定律- Wolfram 演示项目
也许解释大数定律的最简单的方法就是抛硬币实验。如果一个公平的硬币(一…
demonstrations.wolfram.com](https://demonstrations.wolfram.com/SimulatedCoinTossingExperimentsAndTheLawOfLargeNumbers/#more) [## 二项式概率计算器
常见问题二项式实验有以下特点:实验涉及重复…
stattrek.com](https://stattrek.com/online-calculator/binomial.aspx) [## 使用 Scikit-Learn、Keras 和 TensorFlow 进行机器实践学习,第二版
通过最近的一系列突破,深度学习推动了整个机器学习领域。现在,甚至…
www.oreilly.com](https://www.oreilly.com/library/view/hands-on-machine-learning/9781492032632/) [## 迈赫迪-胺/型号-统一
带有代码示例的 Jupyter 笔记本 github.com](https://github.com/Mehdi-Amine/models-unified/blob/master/Ensemble_Methods.ipynb)
深度网络的集合
模型集成指的是将来自多个统计模型的预测进行组合以形成一个最终预测的实践。这为模型表现能力的多样性提供了机会。这个概念类似于诸如寻求多个医生的意见之类的轶事。模型集合是对传统机器学习模型的一种非常常见的增强,例如将决策树升级到随机森林。与机器学习模型相比,深度模型需要很长时间来训练,因此形成每个都从零开始训练的深度模型的集合是不实际的。这篇文章介绍了 Minetto 等人设计的名为“Hydra”的 CNN 系综的新奇之处。这种设计通过对集合中的模型使用共享的特征提取器网络来节省计算时间。以下是这篇论文的链接:
[## Hydra:用于地理空间土地分类的卷积神经网络集成
我们在本文中描述了 Hydra,一个用于地理空间土地分类的卷积神经网络(CNN)的集成…
arxiv.org](https://arxiv.org/abs/1802.03518)
很快,下图总结了九头蛇的主要思想:
FMoW is the dataset used for their specific task, the Hydra’s body consists of many neural network layers assembled according to the ResNet and DenseNet design. Each of the Hydra’s heads consists of a fully-connected layer trained on different partitions of the FMoW dataset. The ImageNet weights are used to initialize the network.
深度网络可以被模块化并被认为由两个组件组成,一个特征提取器和一个分类网络。在上图中,两个强大的深度 CNN 架构, ResNet 和 DenseNet 用于从图像中提取特征,这些特征被传递到多个分类’ heads '中。提取特征会降低输入的维数,从 224 x 224 x 3 的图像降低到 4096 x 1 的向量。从九头蛇身体中提取的向量被用作九头蛇头部的输入,因此 4096×1 向量变成了与类的数量一样大的类预测向量。
训练是为了微调九头蛇头部的重量,使它们能够适应手头的任务。上图中另一个有趣的细节是 ImageNet 权重。这被用作九头蛇身体重量的转移学习初始化方法。然后使用 FMoW(世界功能地图)土地分类数据集对这些权重进行微调,Minetto 等人正在为此训练他们的网络。在微调这些权重后,完全连接的层被切掉,并被九头蛇的头取代。希望在这个解释之后你能明白为什么他们选择把它命名为九头蛇。九头蛇是某种多头龙,类似于多头龙,集合卷积神经网络的每个头共享相同的身体。
The idea is further simplified in the image above, subsets of the data are used to fine-tune each classification network / ‘Head’ of the Hydra
这样做的一些有趣的特征是,它促进了模型中功能和数据的多样性。功能多样性可以通过在每个水螅头的全连接层中添加新奇的东西来实现,甚至可以重塑特征提取向量并再次对其进行卷积。然而,实现数据多样性是一个更有趣的范例,本文也对此进行了研究。
集成模型通常通过将初始数据集(比如说有 m 个实例)划分为 k 个桶(每个桶有 m / k 个实例)来实现数据多样性。来自每个桶的数据被用来微调九头蛇头上的重量。这种方法也可以扩展到合并扩充数据,并有许多建设的可能性。几何变换或色彩空间操作等数据增强技术可用于创建额外的多样化数据桶,以微调九头蛇的头部。论文作者讨论了使用在线数据扩充节省内存的重要性,与离线扩充相反。离线扩充是指扩充数据,然后将每个修改的数据实例写入内存。
当以这种方式组合模型时,最后要考虑的是如何组合模型的预测。简单的解决方案可以是多数表决,其中输出来自每个头的最大类概率,或者是多数表决,其中来自每个头的 softmax 输出被求和,并且来自结果向量的最大值是最终预测。这被称为集合模型的解算法。他们有很多方法来发挥创意,测试不同的假设,例如为自己具有最佳分类性能的九头蛇头部分配更高的权重,或者搜索具有最少相关预测的头部子集。
感谢您的阅读,我认为这篇论文非常有趣,建议查看一下!模型的集合遭受较慢的推理时间,但对于较高的预测精度是一个有希望的解决方案。Hydra 架构是一种有趣的、名副其实的集成深度神经网络的方法。
我目前正致力于在喀拉斯实现九头蛇网络,并想分享我遇到的一个帮助我开始的细节。首先,您需要训练特征提取器的权重,并使用如下简单的方法保存它们:
model.save('HydraBody.h5')
然后,您需要将这些重量加载到每个头部,这可以通过命名 HydraBody 的每一层来实现,例如:
model.add(Conv2D(32, (3,3), name = 'Conv1')
命名每个层就是将基础权重加载到与保存的权重的架构不完全匹配的模型中的方式。
感谢阅读!
进入分析领域:从训练营到从事数据科学工作
当在网上搜索新兵训练营时,似乎总是有很多不同的观点。他们有很多,有些比其他人更贵,他们都有稍微不同的侧重点,同时声称他们可以在短短 12 周内培养出分析师、全栈开发人员和/或数据科学家。以我的经验来看,教育往往可以归结为你得到你投入的东西,我参加数据可视化和分析训练营的经历也不例外。
为什么要给我一个新兵训练营?
我一直对计算机感兴趣,但从未想过计算机科学适合我。在成长的过程中,我从来没有觉得自己擅长数学,所以在学习数学的时候我并没有那么努力。高中的时候,我修了一门 Java 的课程和一门计算机网络基础的课程。他们都没有吸引我,所以我决定保持计算机的爱好,并最终在大学学习科学和技术通信。
当我找到大学毕业后的第一份工作,在一家软件公司做实习技术撰稿人时,我第一次尝到了计算机科学的真正含义。我爱上了一种我从未见过的语言:SQL。当我的实习结束时,因为我喜欢这家公司,我决定在他们的支持团队中工作。它给了我一个每天写作的机会,学习像 SQL 这样的技术技能,并了解软件开发生命周期。
在后勤部门爬了大约六年的梯子后,我觉得自己撞上了一堵墙。我已经变成了一个整天阅读和编写 SQL 的产品专家。虽然我有一些技能,但我觉得要进入下一个级别就要拿到我没有的证书。此外,我对分析数据的兴趣也开始高涨。例如,我痴迷于股票市场。
一天晚上在研究一些股票时,我看到一则广告,上面写着“在大学短短 24 周内学会数据分析……”因为它是通过我的母校大学宣传的,所以我决定点击链接并下载一本小册子。在做了更多的研究后,我了解到这是一个由一家名为 Trilogy 的公司组织的编码训练营,它专注于使用 VBA、Python 和 JavaScript 等编码语言教授数据可视化和分析技能。新兵训练营很贵,尽管我不喜欢高中时的编程,但我认为作为一个人我已经足够成熟了,可以再试一次。我报名参加了新兵训练营,希望它能带我走上数据分析之路!
启动新兵训练营
在研究我所从事的工作时,我读了很多关于人们不喜欢他们的老师的评论。在这方面,我非常幸运,有一个很棒的老师。他谦逊、耐心、知识渊博,并且善于保持课堂的趣味性。参加提供课堂教学的新兵训练营的好处之一是面对面地结识志同道合、积极上进的人。这让我结交了一些新朋友,因为我们都在努力重返学校,努力应对快节奏的内容。
我带着很少的 Python 经验参加了这个课程。我编写了几个脚本,从金融网站上收集一些股票数据,并使用 scikit——学习制作一些预测模型,但我的大部分技术技能是 SQL。在新兵训练营的前三分之一,我们已经学习了 Excel 和 VBA 的基础知识,并开始使用 python、API 和 JSON 数据。这是一个压倒性的内容,但它真的让我把自己的注意力和学习。我的空闲时间蒸发了,因为我把它用于家庭作业。
创建项目组合
新兵训练营的重点是创建一个能引起雇主兴趣的项目组合。它们大多是团队项目,这很好,因为它迫使我们制定合并代码的策略,并给了我们团队开发的经验。我们可以组建自己的小组,选择我们想要的任何主题(大部分),然后去参加比赛。只要我们满足最低要求,我们几乎没有任何限制。
如果你是一个优秀的人,或者有任何语言的经验,那么这个项目就是一个展示自己的好机会。我的同学中有些人拥有高等学位,而这个班级的集体背景也很广泛。有相当多的人拥有博士或 MBA 学位,也有一些人一生中从未写过一行代码。因为很多人来自不同的领域,所以不乏有趣的项目主题。这些项目也给了我们一个练习表达技巧的机会,因为一旦完成,我们就必须向全班展示。
你可以在这里看到我的一些项目:
生成葡萄酒推荐
可视化世界杯数据
提取转换加载漫画数据和 MySQL
分析中西部谋杀数据
可视化期权交易
Generating Wine Recommendations
对新兵训练营的批评
我们在很短的时间内讨论了很多…事实上,几乎涉及了太多的话题。就在你开始适应并准备做更高级的事情时,他们改变了话题。在课堂之外,你想把事情带向什么方向,这真的取决于你自己。例如,我最关注 python,因为我想进入数据科学领域。
我真希望在课堂上更多地关注分析。尽管我们学习了一些基本的统计学和基本的分析技术,但还是有一大部分课程是关于 web 技术的,比如 HTML、CSS 和 JavaScript。我理解把它放在那里,这样我们可以学习编写交互式仪表板和网页来展示我们的项目,但它最终占了全班的三分之一。我并不介意,因为我在一家基于网络的软件开发公司工作,所以理解 JavaScript 适用于我的工作,但班上的其他人发现学习 HTML 和 CSS 没有什么价值。他们讨论基本网页设计的另一个原因是为了更容易进入网页抓取。
课程更侧重于可视化数据,而不是分析数据,如果这是你想学的,那可能会很好。我希望在我的作业上得到更多的反馈,这样我就可以衡量我的分析做得如何。我们涉及的唯一统计数据是高斯分布、标准差、方差分析、卡方检验、student-t、假设检验和其他一些统计函数,我不记得它们来自 SciPy Python 库。
如果你没有编码或 comp-sci 经验,我建议你先查阅一些在线资源来获取一些知识,因为这门课程的节奏真的很快。除了 Excel、VBA、Python 和 JavaScript,课程还涉及 SQL、R、tableau、机器学习和大数据。我离开新兵训练营时接触了各种各样的语言,但要记住所有的语言是不可能的,因为我们只是简单地介绍了一下。我不得不通过额外的在线课程来补充课堂学习,以加深对语言的理解。
新兵训练营后的生活
在新兵训练营之后,我觉得我完成了很多,并且能够发展编码技能的基础。它为我的职业发展打开了大门。完成认证几个月后,我在我的雇主的数据科学团队中找到了一份软件产品分析师的工作。现在我有机会与经验丰富的数据科学家、软件工程师、数据工程师和数据分析师一起工作。我对编码和数据科学产生了热情。除了编码和职业发展,我还在新兵训练营结交了一些新朋友,我仍然希望能不时见到他们。新兵训练营让我的生活变得更好,因为我拼命工作并保持积极的态度,即使我不得不牺牲很多时间并致力于学习新的东西。
My last day before starting my new career post boot camp
最后的想法
新兵训练营并不适合所有人,如果你正在考虑参加一个,一定要研究一下这个课程提供了什么。如果你认为你已经准备好做这份工作,他们绝对可以改变你的生活,让你走上一条新的道路。新兵训练营为我工作,但是我已经知道 SQL 并且已经对数据有热情。如果你还在观望,看看所有免费的 MOOCs 或在线内容,它们可以帮助你决定这些主题是否适合你。
如果你有兴趣看我在新兵训练营完成的一些任务和项目,可以看看我的 github。
对游戏、金融、数据分析、技术写作和牛肉干感兴趣。阻止或报告 Python GNU 通用…
github.com](https://github.com/bendgame?tab=repositories)
谢谢大家!
- 如果你喜欢这个, 在 Medium 上关注我 获取更多
- 通过订阅 获得对我的内容的完全访问和帮助支持
- 我们来连线一下LinkedIn
- 用 Python 分析数据?查看我的 网站
企业技术 101:五种实践如何让你的组织成为领导者或失败者
为什么是我?
作为一名技术专家——领导定制软件解决方案的设计、开发和部署近 20 年——有许多有趣的事情,其中之一就是有机会通过观察试验和错误来进行经验性学习。这些机会的多样性增强了这种学习。
项目涉及许多类型的技术:客户端-服务器、应用程序开发、数据仓库、电子商务、在线分析处理、预测分析、人工智能、软件即服务(SaaS)、平台即服务(PaaS)和机器学习。类似地,项目跨越了许多行业和应用领域:电信、政府、电子商务、教育、金融、医疗保健、制药、生物医学和零售。
在很大程度上,它使我能够欣赏“灰胡子”的价值,这些人已经存在了很长时间,经历了很多,这是我自己的胡子变白的时机。在任何行业中,所有这些经验学习的一个关键应用价值是洞察什么有效、何时有效、为什么有效以及效果如何。我们的优势在于利用了大量职业经历的心理数据库。
当遇到某个人或某个组织谈论他们的信息技术需求时,这一点通常会发挥作用—他们有什么不能用的,他们希望他们有什么,等等。这是一个重要的话题,因为如果所做的决定没有提高他们的能力,或者但愿不会降低他们的能力,将会花费大量的成本和时间。还有机会成本。如果某一类型的系统被错误地开发或实现,在被替换之前,他们的竞争优势损失了多少时间和精力?
使这些分析更加难以正确的是软件制造商和实施者用数十亿美元营销决策者。随波逐流,选择架构、软件、企业系统、应用程序等,通常感觉更安全。每个人似乎都在选择。然后,如果出了差错,至少在“每个人”都推荐的防御中,数字是安全的。当然,真正的诀窍是第一次就做对。
五大修行
在看到如此多的技术选择和组合以及观察它们的实际价值和寿命的过程中,我们学到了一些重要的经验教训:
- 专注于任务——每种工具都有其用途,尽管这一点往往考虑不周。如果你了解任务概况,你可以将选择限制在那些用于这些目的的工具上,至少可以接近最佳选择。例如,高净值个人喜欢购买喷气式飞机——为了舒适、安全、自我(和主要的税收减免)。湾流喷气式飞机 (III,IV,V,V-SP)已经流行了几十年——通过它们的水平椭圆形窗户来揭示。这些飞机可搭载 9-14 名乘客从美国出发进行跨国旅行或海外旅行;然而,我的预测是,他们通常只是让一些人飞到更近的目的地。任务的错误工具。他们本来可以买一架更小(更快)的喷气式飞机,平均载 X 个人 Y 英里(如果他们在乎的话,还可以省钱)。
在软件中,这通常在应用程序和企业系统中发挥作用——最初是关系数据库(例如 MS Access、 Oracle 、MySQL 等)。),然后是企业资源规划(ERP) ( SAP , PeopleSoft , J.D. Edwards 等。),然后是客户关系管理(CRM) (Salesforce,Redtail 等)。).在这里,大多数套餐都有特色。在 ERP 中,它是行业——SAP 是制造业,PeopleSoft(被甲骨文收购前)是人力资源部,JD Edwards(也被甲骨文收购前)是会计部,等等。 Salesforce 顾名思义,是为那些试图跟踪他们的潜在客户和客户的销售人员准备的。
显而易见,为特定目的而设计的工具几乎总是会超越为另一个目的而改造的工具的性能。然而,由于这里解释的原因,这通常是企业或应用程序在信息技术中采用和使用的失误。
2.最大限度地减少定制 —一个常见的错误是,软件制造商的增长方法通常是采用特定于任务的应用程序,并试图将其应用于整个市场的每个人,这可能并确实会花费数百万美元和数年时间。抽象地说,大多数人都会同意这样的观点,即任何一种工具表面上可以满足每个人的需求,这违背了常识,属于“好得难以置信”的范畴。这在任何行业都是一种虚幻的希望。
然而,每年都有成千上万的组织犯这样的错误,这主要是由于无知和软件制造商经常使用的一种阴险的方法来构建和营销他们的产品——可定制化。他们的销售人员(根据我的经验,Salesforce 在这方面臭名昭著)会告诉你,“是的,这是一个通用平台;但是您或我们可以将它定制成您曾经梦想的一切。”他们非常希望您同意这样做,原因有三:(1)定制服务非常昂贵,并且通常比计划的时间长得多,这为他们提供了一个全新的、主要的、长期的“服务”收入来源(2)客户在软件上投资越多,他们就越有可能保留它更长时间,以试图证明其花费是合理的,并从他们的投资中获得回报,从而通过最小化替换它的动机来阻碍竞争;(3)定制会产生“供应商锁定”,因为组织变得依赖于构建的流程,除非他们能够替换该流程(定制越多,替换就越难),否则无法改变,并且他们无法更换组件,因为它们都是绑定在一起的。
那么,为什么公司不识破这种以牺牲买方利益为代价来维护卖方利益的营销策略呢?
3.雇用或替换 缺失/错误的人才 —当您遇到组织投资了不符合其使命的工具,或过度定制通用工具,以至于供应商将他们锁定在昂贵的环境中时,对话可以从询问他们的首席技术官(CTO)在这些决策背后的理论开始。最常见的回答是,“我们没有/以前没有 CTO。”没错。第二个常见的问题是:“那么,当您的 IT 人员每三年对软件更新换代时的需求和选项进行独立客观的分析时,他们是如何看待这个决定的?”最常见的第二个答案是:“我们的 IT 人员从来没有做过 36 个月的需求/工具评估,以了解我们的新需求或市场如何变化”,与“他们是 XYZ 开发商,所以他们总是建议我们使用 XYZ,否则他们就失业了。”第三个常见问题是“嗯,一定有人做过总拥有成本(TCO)评估,了解每年许可 XYZ、派每个人参加所有活动以及保留所有定制人员的成本,对吗?”你开始明白了。最常见的回答是:“不会;据我所知,从来没有人做过 TCO,我们可能甚至不知道今天决策的总成本。”
4.使 IT 能力民主化&数据—IT 用户倾向于以三种方式使用它:(A)报告;分析;以及©功能。除了这三种消费信息的方式之外,很难找到太多最终用户的需求——阅读信息、分析信息或操纵信息来执行任务。过去,人们需要满屋子的程序员来完成这项工作;然而,今天,市场上充斥着专门的拖放工具,几乎任何人都可以通过在线课程或经验学习来做这些事情。最终用户知道他们的需求,他们经常改变或发展。因此,今天,允许最终用户社区、部门、分部等通常是最有意义的。,只需雇用一名数据演示人员专门负责这项任务,并为他们提供数据。如果一个部门不能证明一个全职人员的合理性,那么有更多临时需求的部门可以简单地分担某人的工作。这消除了总是令人沮丧、耗时且昂贵的记录需求的过程,以及每次用户需要新的报告或分析时长达六个月的构建或开发周期。
满足信息和分析需求的一个非常有效和有价值的方法是使用像 Tableau 这样的产品来构建动态(而不是静态)的仪表板。一旦构建完成(同样是拖放式的,这样即使有几十个部分也可以在几周内完成),系统会自我更新最终用户想要知道的所有关键数字,跟踪目标进展、地理信息、质量、增长速度等。此外,他们可以移动,以便终端用户想要的所有信息和分析在他们的智能手机或平板电脑上随时可用。快速、信息丰富、易于构建和维护且成本低廉。
最终用户消费数据的第三种方式——功能——需要更多的投资,但如果做得好,比许可、定制和维护大型企业系统要容易得多,也便宜得多。几乎每个领域都有一个专业应用程序,可以执行这些专业人员需要的所有功能——“开箱即用”(好吧,我通过回忆软件还装在盒子里的时候来与自己约会)。挑一个领域:电信、网络安全、投资管理、财务规划、零售管理、资金筹集、录取等。他们都有几家公司提供专用解决方案,他们通常只需要一个数据源。因为定制专业应用程序的需要或理由较少,所以维护费用较低(例如,不需要给昂贵的开发人员发工资,不需要参加开发人员会议,等等。).因为他们为更小的团队服务,所以也需要更少的席位或副本来获得许可——这是第二个成本节约。但最大的节约是机会成本。这些专业公司每个季度都在创新新的特性和功能集,以成为其狭窄领域中最具竞争力的产品——与拥有大型定制企业应用程序的组织相反,这些组织试图永远(通常无法)跟上创新专家的步伐,然后用新的东西更新旧的通用系统。
信息技术能力的民主化也是该行业可能的发展方向。20 世纪 90 年代是客户端-服务器、多对一的私有结构。2000 年代是互联网商务和内部网的开端,是安全的组织范围的互联网私有区域,而不是局域网(LAN)。2010 年是软件即服务(SaaS)时代,应用程序从安全的互联网或内部网网站和大数据中流出。21 世纪 20 年代将开始是平台即服务(PaaS),其中组织通过从集中商店下载应用程序来创建自己的生态系统,这很可能演变为功能即服务(FaaS),其中最终用户可以下载一个迷你应用程序,该应用程序做一件事来制作自己的特性和功能集。大型软件应用终结的开始就在这里。这是技术能力的终极民主化,我们很可能在 2030 年看到它无处不在。
5.一切都是关于数据——2017 年,一份不亚于的权威出版物《经济学家认为“世界上最有价值的资源不再是石油,而是数据”(The Economist,2017)。最明智地使用数据的组织将拥有巨大的竞争优势,而要最明智地使用数据,就意味着您必须拥有数据。一个简单的陈述经常不被遵守。
如今,获取数据流、存储在中央存储库中(如数据仓库)和开源数据库中(如 MySQL )相对容易,并且可以分析大量信息并从中得出推论和结论。在过去的几十年里,数据存储和处理能力是稀缺的,因此也是昂贵的。今天,它们不再稀缺,因此成本极低。一个技术支持人员的成本比一个技术支持人员的成本低,这是技术行业中报酬相对较低的技能组合,一个组织可以存储一个世纪以来与他们的组织联系过的每个人的每条可获取的信息。此外,基础设施即服务(IaaS)提供商,如亚马逊网络服务、谷歌云或微软 Azure 可以实时扩展容量和数据库,并提供只有情报机构才能超越的冗余和安全水平(事实上,中情局也向 AWS 支付了 6 亿美元来存储他们的数据)。对于绝大多数组织来说,现场服务器存储和维护的时代早已过去。
成千上万的表可以存储这些“平面文件”(原始数据),仪表板和专业部门应用程序接收和使用这些文件。这样做的软件成本很低,维护只需要一两个数据库管理员,这在技术层次中也是低成本的。
这种摄取数据流的能力以低廉的价格存储并提供给用户进行跟踪、分析和处理,以满足他们的需求,这也是基础设施和数据科学的先决条件,数据科学是技术、人工智能和统计的交叉,支持预测分析和机器学习。技术细节很复杂,但自罗马以来,组织的领导者很可能已经理解并渴望数据科学能够预测性地回答关键问题,如:(1)您是否想知道客户为什么购买您的产品/服务,以及这些因素在多大程度上影响了他们的决策?(2)您是否希望将您的所有客户或潜在客户根据他们的购买行为划分为不同的群体,以了解如何精心策划沟通,以及如何最大限度地提高他们做出回应的可能性?(3)您是否希望能够通过了解未来几年您可能会有多少客户、他们会购买什么以及您可能会有多少收入和利润来进行规划?如果你收集了原始数据,并使之可用,那么数据科学很容易得出所有这些答案。
结论
所以,谁在乎?在我职业生涯的大部分时间里,我也从事过一般管理工作,尽管是在技术领域,但在我有限的时间和注意力中,无处不在的问题总是:我需要处理这个问题吗?不管是好是坏,答案都是肯定的。为什么?因为不知道或不遵循这样的实践可能会使组织每年不必要地花费数百万美元或更多,导致他们软化并失去他们的竞争优势或优势,并由于期望结果而没有必要的工具来实现它们而使他们的员工士气低落。相反,通过遵循这些实践,组织每年可能会节省数百万美元甚至更多——即使是在相对较小的组织中——并将这些资源重新投资于新的人才和竞争优势,引领他们的市场,并使他们努力吸引和留住的人才对每天来工作感到兴奋。你更喜欢哪种情况?
参考
经济学人。(2017 年 5 月 6 日)。世界上最有价值的资源不再是石油,而是数据。摘自经济学人:https://www . Economist . com/leaders/2017/05/06/The-worlds-most-valued-resource-is-not-alone-but-data
使用主成分分析和核主成分分析的实体嵌入
使用 scikit-learn 的无监督实体嵌入
Photo by Zara Walker on Unsplash
在关于这个主题的上一篇文章中,我们介绍了一种基于分类特征值的相似性来学习分类特征嵌入的方法。提醒你一下,我们要解决的问题是,很难找到一个好的分类特征变量到向量空间的映射(或嵌入)。常用的 1-hot 编码方法会产生许多额外的列,而分类特征对模型的影响太大,降低了模型的泛化能力。另一方面,顺序编码不会增加列数,但是如果选择不当,会降低数据的线性可分性,并损害模型性能。
理想的分类特征嵌入将避免创建太多的新列,但是从另一方面保持大多数数据的线性可分性。一种方法是在处理表格数据的神经网络中使用实体嵌入层。在之前的故事中,我们提出使用谱图理论来寻找分类特征的最佳嵌入。然而,该方法仅使用类别相似性,而不使用类别的概率分布。但是根据我们的经验,我们知道类别的概率分布在寻找最佳嵌入时起着非常重要的作用。例如,如果几个类别只有很少的记录,将它们绑定到单个值“other”中是有意义的,因为这将减少列的数量,并且不会对模型性能造成太大影响。
自动化这个决定的一个方法是使用 PCA 算法,或者类似的算法 MCA 。想法是在 1-hot 编码完成后使用 PCA(使用 MCA 需要额外的转换)。选择最高特征值向量,我们可以在低维向量空间中表示类别。主成分分析会将高频类别放得很远,但会将低频类别放得很近。让我们在人工例子上演示一下。和以前一样,我们考虑一周中的某一天特性,其中 0 表示星期一,6 表示星期日。假设大部分数据在周末出现,那么我们将创建一个合成数据集来演示我们的概念。
array([ 23, 21, 23, 19, 20, 456, 438])
我们看到周六和周日的数据比平日多得多。我们将在这个分类变量上拟合 PCA,但是只留下两个具有最高特征值的分量(即那些捕获最大方差的分量)
让我们绘制这些组件,看看这些类别是如何映射到二维向量空间的:
我们可以看到,周日和周六的向量彼此相距很远,但也与一周中的其他日子相距很远(周一和周四的向量相同,因此它们在图中标记为一个点)。
我们的方法是对每个分类变量进行 PCA 分析,而不是对整个数据集。如果分类变量是相对独立的,这种策略是合理的(在特征工程中我们应该总是做依赖性测试!).如果两个分类变量之间有很强的相关性,那么我们就可以把这些变量的联合概率分布表示为两个分类分布的乘积。在这种情况下,我们将不得不对两个类别的组合进行 1-hot 编码和 PCA,如果有许多组合只有很少的观察值或没有观察值,这将提供很差的结果。
核主成分分析
这里我们将发展我们在前面的工作中提出的思想,即使用类别相似度函数来影响类别嵌入。为此,我们可以使用一种众所周知的方法,称为核 PCA ,核函数将被表示为对称矩阵。请注意,内核矩阵必须是正定义的。
与之前的笔记本类似,让我们将周六和周日与工作日区分开来,看看这是如何影响类别嵌入的:
array([[1\. , 0.9, 0.8, 0.7, 0.5, 0.1, 0.3],
[0.9, 1\. , 0.9, 0.8, 0.5, 0.1, 0.2],
[0.8, 0.9, 1\. , 0.9, 0.5, 0.1, 0.2],
[0.7, 0.8, 0.9, 1\. , 0.6, 0.1, 0.2],
[0.5, 0.5, 0.5, 0.6, 1\. , 0.7, 0.5],
[0.1, 0.1, 0.1, 0.1, 0.7, 1\. , 0.8],
[0.3, 0.2, 0.2, 0.2, 0.5, 0.8, 1\. ]])
array([[ 1.03305649, -0.19636025],
[ 1.05001289, -0.38425859],
[ 1.0480194 , -0.38846218],
[ 1.01195609, -0.38461521],
[ 0.29211243, -0.54331321],
[-0.25333403, -0.22797924],
[ 0.04688558, 0.32797451]])
我们在这里可以看到,除了星期二和星期三之外,工作日的间隔更远,这两天的值几乎相同(在图上用一个点表示)。
结论
我们看到核分类嵌入可以通过使用 PCA 而不是拉普拉斯公式来改进。仅仅对单个分类变量使用 PCA 是非常有用的,因为它允许将类别映射到低维向量空间,而不牺牲线性可分性。当在类别相似性的概念上增强时,应用核 PCA 来捕获概率分布和类别的相似性变得可能,这甚至进一步提高了线性可分性。
有几种方法来定义核函数。如果未知先验,则可以通过测量给定类别值的数据概率分布之间的 Wasserstein 距离从数据中导出,然后,例如,取负指数函数以得到正定义的矩阵:
使用 t-SNE 的实体嵌入
众所周知的降维工具可以用于分类特征嵌入。
Photo by Leon Koye on Unsplash
我们已经讨论了一些嵌入分类特征的可能方法:核 PCA 和光谱编码。这种嵌入的目标是将分类特征映射到低维空间中的向量。与 1-hot 编码相比,这种映射的优点是大大减少了过拟合。然而,如果嵌入选择不正确,我们可能会丢失信息并使学习更加困难。为了增加嵌入的质量,我们使用类别相似度信息(我们可以设定先验或通过计算条件概率分布的相似度)。核 PCA 方法也使用分类变量的概率分布,而谱编码不使用。为了完整性,我们也将使用 t-SNE 方法,我们可以讨论它的优点和缺点。
t-SNE 代表t-分布式随机邻居嵌入,最初是为了高维数据的可视化而提出的。与 PCA 相反,它是一种非线性方法,其目标是保持数据点之间的相似性。它引入了从原始数据 x 到低维向量 y 的非线性转换,并使用学生 t 分布对数据点之间的相似性进行建模:
Credit: Wikipedia
点集 y 通过最小化分布 Q 与原始分布 P 的 KL 散度来找到:
Credit: Wikipedia
最小化可以使用梯度下降来完成。
为了演示该方法如何工作,我们将使用只有一个分类变量星期几的合成数据集,0 表示星期一,6 表示星期日:
array([ 23, 19, 15, 19, 22, 429, 473])
在这里,我们特意添加了更多周六和周日的数据,以了解 t-SNE 将如何考虑原始数据的概率分布。提醒你一下,拉普拉斯方法不受源数据概率分布的影响,而主成分分析和核主成分分析则受影响。
内核函数与前面示例中的相同
array([[1\. , 0.9, 0.8, 0.7, 0.5, 0.1, 0.3],
[0.9, 1\. , 0.9, 0.8, 0.5, 0.1, 0.2],
[0.8, 0.9, 1\. , 0.9, 0.5, 0.1, 0.2],
[0.7, 0.8, 0.9, 1\. , 0.6, 0.1, 0.2],
[0.5, 0.5, 0.5, 0.6, 1\. , 0.7, 0.5],
[0.1, 0.1, 0.1, 0.1, 0.7, 1\. , 0.8],
[0.3, 0.2, 0.2, 0.2, 0.5, 0.8, 1\. ]])
t-SNE 的 Scikit-learn 实现实际上希望我提供度量函数,所以我们将内核矩阵转换回距离矩阵
array([[-0\. , 0.21072103, 0.4462871 , 0.71334989, 1.38629436, 4.60517019, 2.40794561],
[ 0.21072103, -0\. , 0.21072103, 0.4462871 , 1.38629436, 4.60517019, 3.21887582],
[ 0.4462871 , 0.21072103, -0\. , 0.21072103, 1.38629436, 4.60517019, 3.21887582],
[ 0.71334989, 0.4462871 , 0.21072103, -0\. , 1.02165125, 4.60517019, 3.21887582],
[ 1.38629436, 1.38629436, 1.38629436, 1.02165125, -0\. , 0.71334989, 1.38629436],
[ 4.60517019, 4.60517019, 4.60517019, 4.60517019, 0.71334989, -0\. , 0.4462871 ],
[ 2.40794561, 3.21887582, 3.21887582, 3.21887582, 1.38629436, 0.4462871 , -0\. ]])
这里的适马是一个需要调整的重要超参数。t-SNE 方法的另一个重要的超参数是困惑分数,但在我们的情况下,它可以保留为默认值或设置为 sigma。
在第一个例子中,我们使用了没有核的 t-SNE,这意味着一周中所有日子之间的距离是 1。这就是你仅仅使用 1-hot 编码所得到的结果。请注意,嵌入似乎是随机分布的,这与 PCA 不同,PCA 即使在没有核的情况下也使用初始数据概率分布来嵌入数据,这样可以最大化它们的线性可分性。让我们看看如果使用核函数会得到什么结果:
这里的结果更有意义。星期一到星期四被分组在一起以保持它们的相似性。星期五、星期六和星期天彼此相距甚远,与其他日子也相距甚远。有趣的是,星期五比星期六更接近星期天。
结论和讨论
t-SNE 是类别嵌入的选项之一。通常,t-SNE 不会进行概化(因为它将无法绘制未知数据),但对于分类特征来说,这并不重要,因为新数据将具有现有类别之一。一个更大的问题是,如果没有内核,它将无法工作,这与 PCA 相反,即使没有给定内核,PCA 也会给出合理的结果。就像核 PCA 一样,它使用概率分布来映射数据,即使是以不同的方式。如果核 PCA 试图在结果向量空间中实现平滑,t-SNE 更关心保持相似性。这可能会指导您决定哪种方法更适合您的模型。
你可以在我的 github 库中找到这个故事的代码。
熵、交叉熵、KL 散度和二元交叉熵
基于熵的损失函数的基础
熵
对我来说,(香农)熵的定义乍一看并不是直觉。必须抽象一点才能理解它的意思。这里有一个解释流程,可能对你们中的一些人有用。
想象一个抛硬币机,它抛出一枚硬币,并发出一个信号,指示抛硬币的结果。对于一个公平的硬币,有两个概率相等的 0.5 的可能结果。机器需要多少比特的信息来传达结果?现在是 1 点。正面说 0,反面说 1。换句话说,我们需要多少个二元答案(是/否)问题来决定结果?是 1,对“是正面吗?”会告诉我们结果是什么。
Figure 1: Fair Coin Toss Example
想象扔两枚硬币。四种可能的结果(hh,ht,th,tt ),等概率 0.25。在这种情况下,我们需要两位或二进制答案问题(00,01,10,11)来了解发生了什么。对于三个硬币,它将是 3,以此类推。
Figure 2: Two Coin Toss Example
那么这个“位数”是多少呢?这是传递掷硬币结果所需的最少位数。有一枚硬币的投币机需要向接收器发送一位(0 或 1)来传达给定的投币输出是什么。类似地,两台和三台投币机必须分别发送 2 位和 3 位来传递输出。使用“对数”的定义,这个数也是可能结果的二进制对数。即,例如:2 的 3 次方= 8 => 8 个可能的结果需要 3 个二进制位来表示结果。这也是事件的“熵”。
Figure 3: Is Entropy the binary log of count of possible outcomes?
那么熵是我们交流结果所需的最小位数吗?不完全是,但这是个不错的开始。想象一下这个场景:如果掷硬币的结果不一样,会怎么样?如果我们使用硬币,它总是落在头上呢?即正面的概率是 1,反面的概率是 0。嗯,那机器总会发一个“1”。从那个信号中我们什么也学不到。
如果在两次抛硬币的例子中,概率不相等呢?如下图所示,我们可以想出一个编码方案来表示输出,这样对于不同的结果它是不同的。我们不能真正应用“可能结果的二进制对数”,因为仍然有四种可能的结果,但它的概率并不相等,所以“2 位”并不是普遍需要的。
Figure 4: Four not-equally-likely Possibilities Example
这里我们需要调整一下我们定义熵的方式。我们真正感兴趣的,不是我们需要多少比特的数据来交流结果,而是“我们真正从交流的内容中学到了多少信息”,而不考虑实际用于交流的物理比特。
换句话说,我们希望用熵来表示结果中有多少“信息内容”——不管它是如何传达给我们的。我们希望它是对信息内容的定量测量,也就是与事件相关的不确定性。它将是“0”,意味着“我什么也没学到”或“我对结果完全确定”,对于一个有偏见的硬币来说,它总是正面朝上。“1”代表掷硬币的公平结果,意味着“我学到了很多”或“我最不确定”掷硬币的公平结果,因为它可能是正面或反面。这种不确定性或信息内容是由熵来衡量的。
虽然在某种程度上,这可能会给我们传达结果所需的比特数带来理论上的限制,但我们不要以此作为定义的基础。比特是完整的——没有“半个比特”。但是我们对熵的最新定义是对传播中“新闻”的一种度量。与面积、长度、重量等其他测量方法非常相似。,它是连续的,可以是任何数或分数。这就是熵的性质#1 。
我们将回到图 1 和图 2 的例子来介绍这个度量的另一个属性。当我们处理包含同样可能结果的事件时,度量应该随着可能结果的数量而增加。图 1 具有“1”位熵,图 2 具有“2”位熵,依此类推。这是熵的性质#2 。
旁注:这种可能结果的数量为 2 的幂的同等概率实例实际上是我们可以应用“我学到了什么,即信息熵”=“交流结果所需的位数”的理论极限的地方。在许多其他情况下,这种“最短代码”只是一种理论上的限制,实际上,可能需要比消息中的信息更多的比特来传达事件的结果。
我在边注中说了“许多其他情况”,因为除了这样的场景之外,在可能结果的数量不是 2 的幂且概率不等的场景中,也有可能实现理论上的“最短代码”。在有可能对结果进行分组的场景中,分组是均匀分布的,我们可以实现这一点。看看下面这个有三种结果的例子。
Figure 5: Three not-equally-likely Possibilities Example
回到确定我们需要多少个二元问题来导出结果,首先,我们可以问“结果是 x1 吗?”—这类似于将 x1 归入一个组,将 x2、x3 归入另一个组。这两个组成为结果的概率相等(x1 的概率= 50% = x2 和 x3 的概率之和= 33.33% + 16.66%)。如果答案是“不是”,那么我们可以问“是 x2 吗?就这样,我们需要问的决定结果的最大问题是 2。
这个“如果结果是 x1,我只需要一个问题,否则我需要问最多两个问题”的等价位表示在表格图示中提供。下面的图 6 提供了同样的二叉树视图。与前面的例子相反,在这个非等概率例子中,您可能会注意到,表示结果所需的位数因结果而异。如果我们希望提出更少的问题或更少的问题来表示这种来源的结果,那么使用第一位或第一个问题来确定最可能的结果是否已经发生是有意义的。
这将我们引向熵的第三个属性。如果一个选择可以分解为两个连续的选择,即在上面的例子中,在 x1,x2,x3 之间的选择被分解为在(x1)和(x2,x3)之间的选择,那么原始熵应该是各组的各个熵的加权和。换句话说,二叉树表示的节点处的总期望熵=来自两个子节点的熵的加权和,其中权重是特定子节点为真的概率。
Figure 6: From “[A Mathematical Theory of Communication](http://A Mathematical Theory of Communication)” by C. E. Shannon
那么,我们如何定义这个衡量标准呢?让我们回到“可能结果的二元对数”的定义——我们看到它不适用于非等概率结果。如果你想一想,在一个事件中,具有同等可能性结果的可能结果的数量与概率的倒数相同。即在掷硬币的游戏中,可能结果的数量= 2 = 1/0.5。其中 0.5 是结果的概率。对于两次抛硬币的例子,可能结果的数量= 4 = 1/0.25。因此,也许定义它的正确方式不是“可能结果的二进制对数”,而是“1/p 的二进制对数”,其中“p”是给定结果的概率。虽然这是一个结果,事件的香农熵可以描述为事件的预期信息内容。
Figure 7: From “[A Mathematical Theory of Communication](http://A Mathematical Theory of Communication)” by C. E. Shannon
使用这个定义,我们到目前为止看到的不同例子的信息内容和预期熵在下面的图 8 和图 9 的表格中给出。在每一个例子中,我们可以注意到这三个特性都得到了满足。该度量是连续的,单调增加(比较单次和两次公平抛硬币的例子),根据期望值的定义,它是单个熵的加权和。
Figure 8: Single Coin Examples with Shannon Entropy defined
Figure 9: Four Possibilities Examples with Shannon Entropy defined
让我们更仔细地看看这个不公平抛硬币的例子。您可能会注意到,与磁头相关的信息内容将是(1/0.9) = 0.15 位的二进制对数。与之相比,普通硬币有 50%的正面概率,二进制对数为(1/0.5) = 1 位。有偏向的硬币具有较少的与正面相关的信息,因为它 90%的时候是正面,即几乎总是正面。有了这样一枚硬币,得到一条尾巴要比得到一个头有新闻价值得多。这就是为什么与尾部相关的信息是(1/0.1) = 3.32 位的二进制对数,比与头部相关的信息多得多。
换句话说,结果越罕见,我们需要问的问题就越多,以确定它是否发生过。“小行星在我们的太阳系吗?”也许是我们在探索更深、更难的问题来规划它的进程之前需要回答的第一个问题。在我们确认极不可能发生的与地球相撞的情况发生之前,我们可能会问更多的问题。这就是说,更不寻常的结果或具有很多不确定性的场景需要学习更多与该结果相关的信息。使用“最少比特数来表示”只是“信息发送者”表达同一事物的一种非常具体的方式。熵是与事件相关的信息价值的量度。
下面是概率为 p 和(1-p)的两种可能性的熵图,这将有助于注意到一些有趣的观察结果,重申我们在上面看到的。我们可以注意到,在概率为 1 和 0 的两种极端情况下,H 都是 0。在这两种情况下,我们都没有真正学到任何东西。当可能性相等时,它是最高的。这也是有意义的,因为在这种情况下,不涉及偏见,事情完全是随机的,任何事情都可能发生。
Figure 10: From “[A Mathematical Theory of Communication](http://A Mathematical Theory of Communication)” by C. E. Shannon
交叉熵和 KL 散度
让我们回头看看图 9 中的例子。想象一下,我们正计划对“掷两枚硬币”事件的结果的交流进行建模。假设我们开始时假设这些硬币是公平的,因此我们预测所有结果的概率相等,因此开始使用两位来表示结果,如图 9 的左侧表格所示(都是 0.25)。一段时间后,我们观察到这些不是真正公平的硬币,真实的概率分布如图 9 的右侧表格所示(0.5,0.25,0.125,0.125)。
Figure 9: Four Possibilities Examples with Shannon Entropy defined
现在,很明显我们在这里效率不高。这两种分布的期望熵是不同的,1.75 对 2,不同结果的个体信息内容是不同的,并且显然我们的编码方案可以更好。例如,我们不需要两个比特来表示概率为 0.5 的第一个结果,一个比特就可以了。
我们如何知道这里的低效率有多高?这正是交叉熵和 KL 散度帮助我们做的。交叉熵是使用针对预测分布 q 优化的编码方案时,真实分布 P 下的预期熵。图 10 中的表格演示了交叉熵的计算方法。结果的信息内容(aka,用于该结果的编码方案)基于 Q,但是真实分布 P 被用作计算期望熵的权重。这是分布 P,q 的交叉熵,kull back–lei bler 散度是 PQ 的交叉熵 H 和 P 的真实熵 H 之差。
Figure 11: Cross Entropy and KL Divergence
(P||Q)的 KL 给出了当使用针对 Q 优化的编码方案来表示真实分布 P 时所需的平均额外比特。换句话说,如果我们开始使用真实分布 P 而不是之前的分布 Q 来表示相同事件,这将是我们将实现的信息增益。如果 P 是预测的分布,并且如果为 P 优化的编码方案被用来表示真实的分布 q,那么这当然是不同的
仔细观察公式和直觉,KL 散度,尽管它是两个分布之间差异的度量,但它不是真正的度量,即 KL (P||Q) <> KL for (Q||P)。然而,很容易看出,随着 Q 越来越接近 P,这种差异会减小,当 P=Q 时,这种差异将为 0,如图 12 所示。
Figure 12: Moving Q towards P
这就是我们在训练神经网络时使用的损失函数。当我们遇到图像分类问题时,训练数据和相应的正确标签代表 P,即真实分布。NN 预测是我们的估计 q。这种单标签分类中涉及的数学相对更简单,因为对于给定的标签,P 将是 1,而对于其他标签,P 将是 0。
Figure 13: Loss Function in Image Classification
将事情写成一个等式(并应用幂法则得到-1):
Figure 14: Cross Entropy
二元交叉熵
在多类分类问题中,“n”代表类的数量。在图 13 的例子中,这是 4。在二进制分类问题中,也就是说,就像掷硬币一样,类别/输出的数量是 2,并且任何一个都应该是正确的,并且一个的概率是(1-另一个的概率),我们可以将它写如下:
Figure 15: Binary Classification
我们也可以将这种二进制交叉熵表示用于多标签分类问题。在图 13 所示的示例中,这是一个多类分类问题,其中只有输出可能为真,即只有一个标签可以标记到图像。在我们可以有多个标签与图像相关联的情况下,即每个标签或其自身输出的概率可以是 0 到 1 之间的任何值,并且它们彼此独立,我们仍然可以利用交叉熵来弥补我们的损失。每个标签分类本身是一个独立的二进制交叉熵问题,全局误差可以是所有标签的预测概率上的二进制交叉熵之和。
从这一点开始,sigmoid vs softmax 在多分类 vs 多标签问题中的适当用法应该变得更加明显。虽然有点啰嗦,但希望这篇文章能对这些函数的工作原理有所澄清。
熵、电梯推销和让团队工作!
Image credits
在我们公司进行的一轮有趣的面试中,有一轮是文化面试——通常我们有一组精选的“文化”面试官来做。我知道大多数公司都会进行某种形式的人力资源调查,但这一调查之所以突出,不仅是因为我们对我们公司列出的每一种文化价值观都进行了大量的实际调查,以了解候选人与这些价值观的一致程度,还因为有不可忽视的拒绝率?!因此,在一轮文化面试中,文化面试官对一位在前几轮面试中表现出色的候选人并不热心,面试官给出的理由是,这位候选人到处都是*,特别是在他为什么要加入我们公司的问题上。*
一开始,这似乎是最模糊、最不客观的说法,尤其是在被委以评估候选人的客观任务时。所以,作为一个文化轮采访者,有这样的评价(!)或者有比看上去更多的东西——在整个陈述中几乎有一些潜在的客观性!不过现在我想把你们的注意力转移到科学中最有趣的概念之一——熵,尽管在这个时间点上我可能会像“一样到处跑。
All over the place?! (Photo Credits)
简单地说,熵是衡量一个系统随机程度的指标。或者系统中的不确定性。在你决定这篇文章是为统计学家还是物理学家写的之前,让我用简单的术语快速解释一下熵的含义,以及为什么它与评估一轮文化面试这样模糊的事情有联系!
Figure 1
想象一个容器中有气体分子,用网格线标出,如图 1 所示。想象一下如果气体分子被画出来,这个图形会是什么样子。
Figure 2
Figure 3
这张图更接近图 2 还是图 3?
我觉得你脑海中的画面更有可能是图 3 而不是图 2。现在,答案不是因为你知道气体分子的热力学,而是因为在没有先验信息的情况下,你的大脑可能无法确定特定的模式,只会想象最不确定的状态,如图 3 所示。
熵抓住了这一点,克劳德·香农提出了以下有趣的公式,他是杂耍家、独轮车手和数学家。
H = -𝛴pᵢ * log(pᵢ)
注意,在本文中,pᵢ是气体分子出现在特定网格单元 I 中的概率
如果你费心去做数学计算,图 3 的≅3.14,因为任何气体分子成为任何网格单元的概率是相等的(⅑).而对于图 2,h . ≅0.57(因为两个过度拥挤的网格单元构成了它们之间几乎 70%的气体分子)。
显而易见的是,熵越大,随机性就越大。或者更大的不确定性。在没有先验信息情况下,人们会假设任何系统都具有极大的随机性。这里面没有什么有趣的东西。所以熵也可以被解释为一个系统有多无趣的度量——熵越大,事情看起来就越无聊!
在信息论世界中,熵还有另一个定义,正如你很快就会意识到的,这个公式正是互联网的核心。 H 表示表示系统所需的最小位数(二进制数)。因此,如果一个系统是完全随机的,就要花很长的描述来解释这个系统。因此,图 2 的描述比图 3 简洁了近 5 倍。正如你在图 3 中看到的,没有太多的目的,看起来是“随机”的。另一方面,图 2 似乎有某种目的——如果我们试图解释,分子似乎越来越接近底部网格中的原点。
因此,熵似乎是一个系统中目的(或实际上缺乏目的)的度量。暂停一会儿,试着解释你现在追求的东西的目的——它可能是你正在做的一份工作,一项活动,甚至是你正在经营的一家公司。
‘Elevator Pitch’ (Image credits)
你是用一篇长文,还是一段,还是一行来回答的?你有没有发现自己“到处跑”?如果你能用一句话解释清楚,那可能就是人们所说的“电梯营销”。祝贺你——你已经能够实现你所做的相当低的熵。而且熵越低,目的性越大,越有意思。也许这就是为什么创业界的投资者不断向你索要电梯推介的原因!或许,当这些点连接起来时,候选人不幸地得到了关于文化问题的最大熵答案?!现在看起来,评估熵实际上是一种非常客观的方法来处理这些主观的任务。
最大熵原理指出,一个系统最有可能处于最不确定的状态——即最大熵状态,除非有给定的约束。假设这个系统是你试图建立的组织或者你领导或工作的团队。你认为团队/组织中的个人表现如何?在这个节骨眼上,你想到的是图 3 还是图 2 或者别的什么?
这就是你的线索——描绘理想状态,努力减少熵。如果你的团队是一致的,那么熵就会减少,不确定性就会减少。现在的诀窍是在团队动态、个人的冲突动机、市场因素等等中做到这一点。但是最小化熵确实减少了不确定性,并且完成了更多的工作。所以如果你是团队的一员,你的工作不仅仅是做好你的工作,还要参与降低你团队的整体熵。事实上,我会更进一步说,在一个组织中减少熵的人实际上是领导者——他们的角色和责任是调整、澄清混乱和简化系统状态。
People all over the place => ‘High’ Entropy? (Image credits)
令人惊讶的是,我们意识到关键似乎又在于简化。顺便说一下,在热力学领域,熵被定义为系统中不能用来做功的能量的度量——所以作为领导者和团队成员,你在这方面的工作被砍掉了。顺便说一句,在团队和业务的背景下,有一些统计技术可以估计熵,我就不赘述了(为了最小化本文本身的熵,但是如果你有兴趣,可以 ping 我!).
最后,简洁和简单中不仅有一点(装饰性的)优雅,有时还有更大的目的性、确定性和产出。熵也是这么说的!
PS:出于对数学的好奇,对 Shannon 是如何偶然发现这个概念的好奇,这里有一个伟大的线程在同一个线程中结束,我花了一些时间来理解这个公式的推导。
熵:决策树如何做决策
非常有效的机器学习算法背后的简单逻辑和数学
你是一名训练中的数据科学家。从编写第一行 Python 或 R 代码开始,您已经走过了漫长的道路。你对 Scikit 了如指掌。你现在花在卡格尔身上的时间比脸书还多。您对构建令人敬畏的随机森林和其他基于树的集合模型并不陌生,它们可以完成这项工作。然而,如果不彻底,你什么都不是。你想要更深入地挖掘和理解流行的机器学习模型背后的一些错综复杂的东西和概念。我也是。
在这篇博文中,我将介绍熵的概念,作为统计学中的一个一般主题,这将允许我进一步介绍信息增益的概念,并随后解释为什么这两个基本概念形成了决策树如何基于我们提供给它们的数据来构建自己的基础。
没错。那我们继续吧。
熵是什么?用最通俗的术语来说,熵只不过是无序的度量。(你也可以把它当成纯度的衡量标准。你会明白的。我喜欢无序,因为它听起来更酷。)
熵的数学公式如下-
Entropy. Sometimes also denoted using the letter ‘H’
其中“Pi”只是我们数据中某个元素/类“I”的频繁出现概率。为了简单起见,假设我们只有两个类,一个正类和一个负类。因此,这里的“我”可以是+或(-)。因此,如果我们的数据集中总共有 100 个数据点,其中 30 个数据点属于正类,70 个数据点属于负类,那么‘P+’将是 3/10,而‘P-’将是 7/10。很简单。
如果我用上面的公式计算这个例子中我的类的熵。这是我会得到的。
这里的熵大约是 0.88。这被认为是一种高熵,一种高水平的无序(意味着低水平的纯度)。熵的度量值介于 0 和 1 之间。(根据数据集中类的数量,熵可以大于 1,但这意味着同样的事情,非常高的无序度。为了简单起见,本博客中的例子将具有介于 0 和 1 之间的熵)。
请看下图。
Provost, Foster; Fawcett, Tom. Data Science for Business: What You Need to Know about Data Mining and Data-Analytic Thinking
x 轴测量每个气泡中属于正类的数据点的比例,y 轴测量它们各自的熵。很快,你可以看到图表的倒“U”形。熵在极端情况下是最低的,这时气泡要么不包含正实例,要么只包含正实例。也就是说,当气泡是纯的时,无序度为 0。当气泡在正负两种情况下平均分配时,熵在中间最高。极度无序,因为没有多数。
为什么熵是用以 2 为底的对数来度量的,或者为什么熵是在 0 和 1 之间度量的,而不是其他范围,这有关系吗?不。这只是一个度量。知道它是怎么来的并不重要。知道如何阅读它以及它告诉我们什么是很重要的,这一点我们刚刚在上面做了。熵是对无序或不确定性的度量,机器学习模型和数据科学家的目标通常是减少不确定性。
现在我们知道如何测量无序。接下来,我们需要一个度量标准,在给定额外信息(特征/独立变量)的情况下,测量目标变量/类别中这种无序的减少。这就是信息增益的用武之地。数学上它可以写成:
Information Gain from X on Y
我们简单地从 Y 的熵中减去给定 X 的 Y 的熵,来计算给定关于 Y 的额外信息 X 的关于 Y 的不确定性的减少,这被称为信息增益。这种不确定性减少得越多,从 x 获得的关于 Y 的信息就越多。
让我用一个简单的列联表来举例说明,然后我将把所有这些放在一起,看决策树如何使用熵和信息增益来决定在数据集上训练时根据什么特征来分割它们的节点。
举例:列联表
Contingency Table
这里,我们的目标变量是负债,可以采用两个值“正常”和“高”,我们只有一个称为信用评级的特征,可以采用值“优秀”、“良好”和“差”。总共有 14 个观察值。其中 7 个属于正常负债类,7 个属于高负债类。所以这是一个平均分配。对顶行进行总结,我们可以看到有 4 个观察值对于功能信用评级具有极佳的价值。此外,我还可以看到我的目标变量是如何划分为“优秀”信用评级的。对于其信用评级值为“优秀”的观察,有 3 个属于正常负债类别,只有 1 个属于高负债类别。我同样可以从列联表中计算出其他信用评级的值。
对于这个示例,我将使用这个列联表来计算我们的目标变量本身的熵,然后在给定关于特征、信用评级的附加信息的情况下计算我们的目标变量的熵。这将允许我计算“信用评级”为我的目标变量“负债”提供了多少额外的信息。
那我们就开始吧。
我们的目标变量的熵是 1,由于类标签“正常”和“高”之间的平均分裂而处于最大无序状态。我们的下一步是给定关于信用评分的额外信息,计算我们的目标可变负债的熵。为此,我们将计算每个信用评分值的负债熵,并使用每个值中结束的观察比例的加权平均值将它们相加。当我们在决策树的上下文中讨论这个问题时,我们为什么使用加权平均值将变得更清楚。
给定特征信用评级,我们得到了目标变量的熵。现在我们可以从信用评级中计算负债的信息增益,看看这个特征的信息量有多大。
了解信用评级有助于我们减少目标变量负债的不确定性!这难道不是一个好的功能应该做的吗?为我们提供目标变量的信息?这就是决策树如何以及为什么使用熵和信息增益来确定在哪个特征上分裂它们的节点,以更接近预测每次分裂的目标变量,并且还确定何时停止分裂树!(当然除了像最大深度这样的超参数)。让我们看看另一个使用决策树的例子。
示例:决策树
考虑一个例子,我们正在构建一个决策树来预测给一个人的贷款是否会导致注销。我们的全部人口由 30 个实例组成。16 个属于注销类,另外 14 个属于非注销类。我们有两个特性,分别是可以取两个值–>“< 50K” or “>50K”的“Balance”和可以取三个值–>“OWN”、“RENT”或“OTHER”的“Residence”。我将向您展示决策树算法如何使用熵和信息增益的概念来决定首先分割哪个属性,哪个特征提供更多信息,或者减少两个目标变量中更多的不确定性。
特点一:平衡
Provost, Foster; Fawcett, Tom. Data Science for Business: What You Need to Know about Data Mining and Data-Analytic Thinking
圆点是分类正确的数据点,星号是未注销的数据点。在属性平衡上分割父节点给我们 2 个子节点。左侧节点获得了总观察值中的 13 个,其中 12/13 ( 0.92 概率)观察值来自注销类,而只有 1/13( 0.08 概率)观察值来自未写入类。右节点得到总观察值的 17,其中 13/17( 0.76 概率)观察值来自非注销类,4/17 ( 0.24 概率)来自注销类。
让我们计算父节点的熵,看看通过平衡分裂,树可以减少多少不确定性。
分割特征,“平衡”导致目标变量的信息增益为 0.37。让我们做同样的事情为功能,“住宅”,看看它如何比较。
特色二:住宅
Provost, Foster; Fawcett, Tom. Data Science for Business: What You Need to Know about Data Mining and Data-Analytic Thinking
在 Residence 上分割树给了我们 3 个子节点。左边的子节点得到总观察值中的 8 个,其中 7/8 (0.88 概率)观察值来自注销类,而只有 1/8 (0.12 概率)观察值来自非注销类。中间的子节点得到总观察值中的 10 个,其中 4/10 (0.4 概率)观察值属于核销类,6/10( 0.6 概率)观察值属于非核销类。右边的子节点得到总观察值中的 12 个,其中 5/12 ( 0.42 概率)观察值来自注销类,7/12 ( 0.58)观察值来自非注销类。我们已经知道了父节点的熵。我们只需要计算分裂后的熵来计算“居住”的信息增益
从特征、平衡中获得的信息几乎是从住所中获得的信息的 3 倍!如果你回头看一下图表,你可以看到平衡分裂的子节点看起来确实比驻留的子节点更纯粹。然而,最左侧的居住节点也非常纯粹,但这是加权平均值发挥作用的地方。尽管该节点非常纯,但它具有最少的总观测值,并且当我们从驻留分裂计算总熵时,一个结果贡献了其纯度的一小部分。这一点很重要,因为我们寻求的是一个特性的整体信息能力,我们不希望我们的结果被一个特性中罕见的值所扭曲。
就其本身特性而言,Balance 比 Residence 提供了更多关于我们的目标变量的信息。它减少了我们的目标变量中更多的无序。决策树算法将使用此结果,使用 Balance 对我们的数据进行第一次拆分。从现在开始,决策树算法将在每次分割时使用这个过程来决定下一个要分割的特征。在现实世界的场景中,对于两个以上的特征,首先对信息最丰富的特征进行分割,然后在每次分割时,需要重新计算每个附加特征的信息增益,因为它与每个特征本身的信息增益不同。熵和信息增益必须在已经进行了一次或多次分裂之后计算,这将改变结果。决策树会重复这个过程,直到它变得越来越深,直到它达到预定义的深度,或者没有额外的分裂可以导致超过某个阈值的更高的信息增益,该阈值通常也可以被指定为超参数!
你有它!你现在知道什么是熵和信息增益,以及它们是如何计算的。您了解决策树如何独自或在基于树的集合中决定分割要素的最佳顺序,并决定在给定数据上训练自己时何时停止。如果你必须向某人解释决策树是如何错综复杂地工作的,希望你不会做得太糟糕。
我希望你能从这篇文章中获得一些价值。如果我遗漏了什么,或者有什么不准确的地方,或者如果你有任何反馈,请在评论中告诉我。我将非常感激。谢谢你。
熵——热力学和信息论的支柱
“唯熵易得”
——安东·契诃夫
熵是一个模糊但强大的术语,它构成了热力学和信息论中许多关键概念的主干。物理科学家在 19 世纪首次发现了它,并将其作为工业革命中许多革命性技术的指导原则。然而,当这个术语出现在数学家克劳德·香农的开创性著作*一个关于交流的数学理论中时,它也帮助点燃了信息时代的火花。*那么,一个术语怎么能对两个相关但完全不同的领域中相隔约一个世纪的突破负责呢?
能量&热力学
首先,让我们从熵在物理科学中是如何解释的开始。热力学第一定律规定,在任何封闭系统中,能量既不能创造,也不能消灭。第二定律又称熵定律,规定在开放系统中,能量总是从较高的浓度流向较低的浓度,以达到热力学平衡。这在实践中意味着什么?这意味着随着时间的推移,你的咖啡杯最终会变冷,饮料中的冰会融化,或者,当火焰的能量转移到铁分子时,放在火中的工具会变热,但当能量分布到新的周围环境时,它会冷却下来。
Coffee and ice water both trend towards thermodynamic equilibrium (room temperature) over time.
熵这个术语本身指的是给定系统中的无序状态。集中可用的能量被认为是有序的,而分散不可用的能量被认为是无序的。
熵只朝一个方向运动——朝着平衡——除非受到系统外部力量的作用,即使如此,像生物系统这样的外部力量也只是暂时成功地逆转了熵过程,并最终软化(通过死亡)。任何植物或动物都是一个复杂的能量系统,通过抵消熵过程,从环境中收集可用的有序能量,然后排放掉营养物质的废物来生存。但生命系统的能量吞吐量最终会降解其物理结构,导致有机体崩溃和死亡(希望已经完成了繁殖的最终目标)。不再有生命的能量体将分解并消散到周围的环境中——以及热力学平衡中。
理论上,熵只有在导致宇宙热寂时才会停止稳步前进——这是一种没有自由能的终极状态。地球上和太空中的一切最终都会膨胀、爆炸、死亡,并通过真正最大的封闭系统——宇宙——平均分配自由能量。这样看来,熵是一个类似万有引力的普遍定律,因为它在生物物理学的最小和最大尺度上都起作用。
经济是有机体,不是洗衣机
熵也适用于经济。通过从周围环境中获取可用能量并将其转化为无序能量,有机体内部的熵过程也适用于有机体群体。社会以两种形式获取低熵能源:存量和流量。储量包括稀土矿物、化石燃料和其他由数千年复杂的长期地球过程产生的陆地沉积物。水流来自可再生资源,如风能、水能和太阳能,其中也包括生物质能(作为太阳能的间接延伸)。鉴于每个来源的性质,存量在数量上是有限的,而流量在速度和数量上都是有限的。文明,像有机体一样,有新陈代谢。他们处理能量。
(ourfiniteworld.com)
工业革命第一次将经济的主要能源投入从流动转向陆地储备。依赖水流的两种工作形式&马拉犁和风帆,被依赖化石燃料的机械化农业和蒸汽动力船所取代。我们利用沉睡了数百万年的太阳能化石,将文明从地球生物流的束缚中解放出来,并创造了人口和 GDP 的飞速增长。
尽管这种转变带来了不可否认的经济和物质优势,但它也带来了加速熵增过程和增加气候系统无序度的副作用。虽然能源总量在整个经济过程中保持不变(太阳能除外),但生产过程所需的矿物开采和化石燃料消费表现出一种质变,使能源从有序走向无序。这样,熵形成了稀缺的基础,因为人类无法将能量从无序状态转移到有序状态;如果没有熵,从物理上讲,将大气中的二氧化碳转变成一块煤是可能的,就像当轮胎在路面上降解时,可以捕获并重新配置橡胶颗粒一样。
说到底,我们的经济使用的东西和的能源。尽管我们的价值代表——货币在经济中无限循环,但它所代表的实物商品也遵循熵定律。当前的经济体系就像一个无限生长的有机体。我们的心脏输送血液,让我们活着,但随着时间的推移,这种力量会磨损我们的细胞。我们变老了,退化了。
那么熵如何应用于数据科学呢?
现在我们已经了解了熵是如何指代能量的,让我们看看它是如何应用于通信和信息理论的。我认为这段摘自吉米·索尼和罗布·古德曼为克劳德·香农写的传记《一颗正在玩耍的心》,是一个关于熵起源的有趣故事:
香农带着他的信息解决不确定性的想法——这将成为他工作的核心——和一个谦逊的问题走近这位伟人。他应该怎么称呼这个东西?[约翰]冯·诺依曼马上回答:“说信息减少了‘熵’。”首先,这是一个很好的、坚实的物理词汇。更重要的是,”他继续说道,“没有人知道熵到底是什么,所以在辩论中你总是占优势。"
Claude Shannon (The Daily Beast)
在接受香农对熵的定义之前,分解一下他对信息的定义可能会有所帮助。香农理论的基本思想是,交流信息的信息价值取决于信息内容令人惊讶的程度。实践中一个很好的例子就是字母在语言中的使用频率。从概率上讲,如果一个字母的实例是一个事件,那么每个给定事件最有可能的结果遵循这个概率分布:
字母越多,信息中的不确定性就越少。但这也取决于信的稀有程度。例如,以下哪个信息包含更多的信息,1 还是 2?
1._AT
2.高温
选项“1”包括两个概率相对较高的字母,在这里你可以通过填写缺失的字母拼出各种单词:“蝙蝠”、“猫”、“帽子”、“胖子”、“Sat”等。选项 2 包括相对难以捉摸的字母“H”,它还有一些单词选项,如“Hat”或“Hit”,但没有选项 1 多。因此,方案 2 传达了更多的信息,因为它在更大程度上减少了不确定性。
因此,如果信息是不确定的,熵必然是需要解决的不确定性。一个事件的稀有性,或者说它的“惊奇性”,决定了它的信息内容(如果你玩过 *Scrabble,*你就会知道如果我们抽到字母“Q”,选项会有多有限)。每当我们交流一条信息,总的熵、无序、不确定性,或者无论你想怎么称呼它,都会按比例减少。那么这个比例量是多少呢?
Shannon 计算出与每个可能的数据值相关联的信息熵的度量是该值的概率质量函数的负对数:
熵通过识别随机事件的结果来测量所传达的预期信息量,其中可能的结果是概率函数。这意味着掷骰子比掷硬币具有更高的熵,因为掷骰子的每个结果(⅙)的概率都小于正面或反面()。以图形方式查看关系有助于:
(Wikipedia)
通过传达正面的结果,我们知道没有出现反面。
在机器学习中,熵的数学解释用于计算许多算法的信息增益度量。例如,决策树选择许多不同属性中的一个,也称为特征或独立变量,以重复地将样本分成子集。在每次分割时,算法选择一个属性来分割样本,并继续这样做,直到所有子集都是纯的,或者换句话说,子集中的每个单独样本共享相同的分类或目标值。
Using entropy in decision trees.
为了测量样本子集的纯度,该算法需要一个定量的度量来客观地选择在每个给定的节点上分裂哪个特征。这就是熵产生的原因。在每一步,算法计算哪个属性将显示最高的信息增益,然后决定拆分。它还计算分割前后不确定性的预期减少量;如果它减少,分割被保留,算法进行到下一步。如果它没有减少,它就达到了纯净,它就休息了。这样,它既负责选择要分割的特征,也负责暂停该过程。
热力学和信息论有联系吗?
熵无情地流过决策树,就像它无情地流过一杯咖啡进入空气一样。在能量方面,它向热力学平衡进军;在信息论中,它走向纯粹。
在其核心,熵的能量解释和熵的信息论解释汇聚在同一点——物理学的基本定律。交流需要能量,利用能量需要交流。根据 Shannon 的说法,一条信息的熵值提供了一条消息的最短可能平均长度的绝对限制,或者它可以被压缩多少,而不会在传输时丢失信息。半导体、手电筒和用莫尔斯电码敲锅都需要人类的能量,我们的通信将永远争取最有效的传输方式。
在能源方面,我们试图通过限制我们的消耗量和消耗效率来最小化熵。我们的目标是找到有序的能量来源,抵制熵对我们身体的影响。在通信中,我们通过寻找信息和减少不确定性来最小化熵。在某种程度上,通过交流减少无序,我们可以停止能量的熵过程;一个狩猎采集者可以使用语言与另一个人交流,以警告被狮子吃掉,这两者都减少了 1 的不确定性。狮子在哪里(信息熵)和 2。被狮子吃掉的过程(能量熵)。这种沟通行为减少了所有可能事件的概率空间,让我们能够更高效、更有效地行动。理解这一强有力的定律在数字和物理领域如何运作的本质是理解热力学和信息时代之间联系的关键。
EPL 幻想游戏周-1 统计和智能玩家选择的算法建议
GW 1 统计更新,算法逻辑更新和更多…
链接到以前的文章:
如果你刚刚第一次登陆这个博客,请务必阅读原始博客,它更详细地描述了我们如何使用 Python 编写一个球员推荐算法,该算法使用 Moneyball 方法每周选择最佳的 EPL 幻想队。以下链接:
我们击败 EPL 幻想游戏的摇钱树方法
towardsdatascience.com](/epl-fantasy-is-one-week-away-and-our-algorithm-is-ready-to-play-78afda309e28) [## 用 Python 和数据科学击败梦幻英超
我们对 EPL 梦幻联盟的摇钱树方法
towardsdatascience.com](/beating-the-fantasy-premier-league-game-with-python-and-data-science-cf62961281be)
本周有什么新鲜事?
我们在算法中加入了额外的逻辑,允许您每周动态更新以下指标,以优化长期投资回报预期:
- 宣布本周你想用什么阵型——算法聪明地挑选出最大化预算的选择阵型。因此,如果您声明一个 4–4–2 编队,代码将得到您最好的 4-DF,4-MD 和 2-ST 的 ROI,然后用您能负担的剩余预算填充剩余的点,仍然最大化 ROI。
- 宣布预算分配 —我们现在可以动态设置我们希望每个职位花费总预算的多少%。所以,你可以说 GK = 10%,DF = 25%,MD = 40%,ST = 25%,算法只会在 GKs 上花 1000 万美元,DFs 上花 2500 万美元,MDs 上花 4000 万美元,STs 上花 2500 万美元。这样,如果你决定从 5-3-2 阵型转换为 3-5-2 阵型,你可以相应地改变预算,在进攻和防守球员上花更多的钱。
- 宣布对手实力 —幻想已经有了一个 FDR 属性,可以查看下一个对手的团队实力。我们得到了这个数据,目前正在查看未来 3 场比赛的 AVG _ 对手 _ 实力,并告诉我们的算法跳过选择一名球员,如果他们球队的 **AVG_FDR ≥ 3.5。**我们可以动态地改变截止数,也可以控制我们是否希望预测 1、2、3 或更多场比赛。现在,我们使用接下来的三场比赛,因为我们试图避免每周进行太多的转会,所以我们想确保当我们为我们的球队挑选球员时,他们至少在接下来的 2-3 场比赛中有很高的投资回报率预期,然后我们才会考虑将他们转移或放在替补席上。
当前幻想对手实力排名:
请注意,我们也可以随着赛季的进展和相对团队实力的变化而动态更新。但首先,我们发现这个排名已经足够了。
('LIV', 5),
('MCI', 5),
('ARS', 4),
('CHE', 4),
('MUN', 4),
('TOT', 4),
('BOU', 3),
('BUR', 3),
('CRY', 3),
('EVE', 3),
('LEI', 3),
('NEW', 3),
('SOU', 3),
('WAT', 3),
('WHU', 3),
('WOL', 3),
('AVL', 2),
('BHA', 2),
('NOR', 2),
('SHU', 2)
游戏周 1 统计:
下面你可以看到每个职位的前 10 名 ROI 玩家。请记住,投资回报率是按总积分/玩家成本计算的,因此,如果一些玩家目前的价格过高,你可能看不到他们有很多积分。这一切都将在几周内汇聚起来,更稳定、表现最佳的玩家最终将出现在投资回报率排行榜的前列。
投资回报率排名前十的门将
投资回报率排名前十的防守球员
投资回报率排名前 10 的中场球员
投资回报率排名前 10 的前锋
一旦我们积累了几个星期的数据,我计划还包括其他有趣的统计数据,如前 10 名球员的**、【总奖励点数】、【每分钟点数】和团队统计数据,如、【总团队投资回报率】、、、【AVG 玩家投资回报率】等。因此,我们可以开始识别“表现不佳”和“表现出色”的团队,以及“定价过低”和“定价过高”的球员。**
Gamesweek 2 最佳团队推荐:
首先,我们需要定义我们的阵型,预算分配,以及哪些球队我们不会因为高 FDR(对手实力)分数而选择球员。
- **团队形成:**第 2 周的 3–4–3 形成
- 预算分配:GK = 1000 万美元,DF = 2400 万美元,MD = 43 美元,ST = 2300 万美元
- 从玩家选择中排除的队伍:
下面你可以看到在接下来的 3 周内,AVG 最难对付的球队:
('Arsenal', 4.0),
('Burnley', 4.0),
('Spurs', 4.0),
('Brighton', 3.67),
('Southampton', 3.67),
('Bournemouth', 3.33),
('Liverpool', 3.33),
('Norwich', 3.33),
('Sheffield Utd', 3.33),
('Wolves', 3.33),
('Aston Villa', 3.0),
('Leicester', 3.0),
('Man City', 3.0),
('Man Utd', 3.0),
('Newcastle', 3.0),
('Watford', 3.0),
('Crystal Palace', 2.67),
('Everton', 2.67),
('Chelsea', 2.33),
('West Ham', 2.33)
根据这些 AVG FDR 分数,我们的算法将在接下来的 2-3 个比赛周内避免选择来自阿森纳、伯恩利、马刺、布莱顿和南安普顿的球员,直到 AVG FDR 分数下降到 3.5 以下。
gw2 的最终团队建议:
请注意,下面的这些选择仅基于一周的数据,这意味着许多这些选择可能基于暂时的投资回报率分数而言有点过早,从长远来看可能不成立。也就是说,我们预计在至少 4-5 周的数据之后,这些数字将开始向更准确的长期投资回报预期靠拢。在那之前,你可能会看到一些随机的玩家名字,而看不到一些你通常期望看到的可靠玩家。尽管如此,这些初始统计数据可以让我们了解哪些球员/球队目前“炙手可热”,并可能帮助我们找到一些价格低廉、投资回报率高的初始隐藏“宝石”,这些宝石目前可能定价过低,但如果他们持续表现,从长远来看将获得大量价值。
由于我们不能每周完全更换我们的团队,我们将使用上述建议和当前的 ROI 统计来为我们的团队选择 1-2 个替代者——“算法”,并尝试在游戏周 2 期间优化最大 ROI。请注意,我们最初的球队选择是基于上个赛季的 ROI 统计数据,因此需要几周时间和统计数据更新才能开始删除上个赛季的一些“表现不佳”和“定价过高”的球员,并开始添加当前赛季的一些更热门的“表现过度”和“定价过低”的球员。
请随时与我们联系,就我们如何进一步改进该算法提出想法和建议,或者就您可能希望我们在未来的博客帖子中计算和可视化的其他有趣的统计数据提出建议。
祝大家在 GW2 期间好运!
EPL 幻想 GW10 回顾和 GW11 算法精选
我们的钱球方法的幻想 EPL(队 _id: 2057677)
如果这是你第一次登陆我的幻想 EPL 博客,你可能想先看看第一部分、第二部分、第三部分、第五部分和第九部分,以熟悉我们的整体方法和我们随着时间的推移所做的改进。我在这个项目中的犯罪搭档是 Andrew Sproul,他和我一样对数据科学、人工智能和幻想 EPL 充满热情。
本周我们将保持简短,因为我们已经在前面的博客中描述了我们的方法和主要更新。
GW9 世界排名前十的选手
上周末世界排名前 10 位的选手表现非常好!我们认为我们在剧透警报上做得很好……60 分,我想这还不算太差——仍然接近 64 分的前 10 名玩家的最低分。因此,如果你的得分在 65-75 分之间,你会感觉非常好。
EPL 100 强球员最佳混合团队
当我们谈论世界前 100 名球员的话题时,让我们看看谁是他们球队中按位置选择的前 10 名球员,以及 GW9 最喜欢的球队阵型。
前 100 名最佳守门员
前 100 名中最受欢迎的捍卫者
前 100 名最佳中场球员
前 100 名中入选最多的前锋
这里最有趣的变化是,与前几周相比,很多顶级玩家放弃了 Pukki。对于大多数顶级球员来说,似乎瓦迪和亚伯拉罕是可靠的两个选择,但正如你在上面看到的,在第三前锋的选择上有很多差异。
我们使用这些数据和当前的球员价格来创建下面的球队,这是由前 100 名中最受欢迎的球员组成的:
这是一个看起来不错的团队,银行里还有 110 万英镑可以用来玩和测试不同的配置。
前 100 名 Fantasy 用户选择最多的团队
似乎大多数球员现在都在使用3–4–3 阵型,试图优化他们的进攻球员所获得的总积分,这些球员通常有更高的机会获得助攻、进球和总积分。
GW9 团队绩效总结和总体统计
听起来我们在上周博客结尾的祈祷起作用了!经过几个星期的干旱,我们最终得分高于平均水平。我们再次失败的一个地方是挑选我们的队长 Auba T1,他连续第二周只给了我们 2 分:(我们也因为没有在西汉姆和曼联不失球而丢了很多分,这两场比赛直到比赛的后期都接近不失球。如果我们至少有一场不失球,而且我们是瓦迪的队长,我们会有接近 100 分。
GW10 整体统计数据为我们的 GW11 精选提供信息
下面让我们从调整后的未来三个比赛周的对手难度等级(FDR)开始:
看起来这周我们有很多球队的赛程都很艰难——曼城、南安普顿、利物浦、水晶宫和维拉。我们的算法是这样写的,它不会在本周推荐从这些球队购买球员。赛程相对轻松的球队(如果 EPL 有这种东西的话:P)有**热刺、曼联、诺维奇、埃弗顿和伯恩利,**所以从这些球队得到球员可以在接下来的三场 2-3 场比赛中得到回报。
美国东部时间 11 月 1 日上午 9 点最新伤情更新
以下数据来自一个独立网站,该网站更新最新受伤情况的频率比 Fantasy 网站高得多:
接下来,让我们通过 ROI 和 pts_per_90min 统计数据来看看顶级球员:
投资回报率排名前十的守门员
90 分钟内排名前 10 的守门员
按投资回报率排名的前 10 名防守队员
按 pts _ per _ 90 分钟排名前 10 的防守队员
投资回报率排名前十的中场球员
90 分钟 pts _ per _ 强中场
投资回报率排名前十的前锋
射手前 10 名由 pts_per_90min
GW9 算法选择
提醒一下,我们的算法会考虑调整后的每队阵型预算,并尝试最大化主要 11 名球员的每个位置的支出,然后让你的替补获得良好的 ROI 值。大多数星期我们都在玩 3–4–3 的阵型,现在我们知道世界排名前 100 的球员都选择同样的阵型,我们会更倾向于继续使用它。根据当前的投资回报率得分,在接下来的三场比赛中过滤掉任何具有 AVG 对手难度(FDR≥75%)的球队,并从可用选择列表中删除受伤的球员,我们的算法选择了以下球队作为当前花费全部 1 亿美元预算的最佳球队:
注意:由于高 FDR,我们无法从利物浦或曼城挑选球员,这使得这支球队看起来比通常银行里有很多钱的球队更弱,但至少我们得到了一个有趣的实验,有很多更便宜、高 ROI 的球员,意识到来自大球队的球员实际上是多么高价。
就我们自己的球队而言,我们决定不做任何重大改变,只是将加扎尼加作为一项长期投资,因为他在对阵利物浦的比赛中表现出色,我们觉得对于像热刺这样更强大的球队来说,他是一个非常便宜的门将。拥有两个相对便宜的门将有望让我们在未来最大限度地在球员身上花钱。
鉴于沃特福德的防守非常薄弱,我们希望最终能在我们的队长身上赢得一些分数,但我们将拭目以待。
团队统计
看看最佳/最差防守和进攻可以有几种不同的用法——例如,如果一个最佳进攻队与一个最差防守队比赛,你可能想让你的进攻中场或前锋担任队长。此外,当你查看这些位置的算法建议时,你可能想优先考虑防守最好的球队的 DF 和 GK。
最佳 7 项防御
最差的 7 种防御
最佳 7 项犯罪
最糟糕的 7 项罪行
累积团队投资回报统计
下面你可以看到球队,按累积玩家投资回报率排序。请注意,活跃玩家是指已经玩了总可能游戏时间的至少 25% 的任何玩家。例如,总可能分钟数=周数* 90 分钟= 10* 90 = 900。所以,我们把所有至少打了 900/4 = 225 分钟的球员都算作是该队的现役球员。
非常有趣,但并不令人惊讶的变化:**我们有了一个新的领导者——莱斯特!!!**他们的平均每名球员得分和平均每名球员投资回报率在上周 9-0 获胜后飙升。顶部的其余部分变化不大。
阿森纳和曼联慢慢开始走出下半区,但是热刺和埃弗顿仍然有很多价格过高和表现不佳的球员,15-16 名球员轮换。
最终想法:
因为我们上次的祈祷似乎起了作用,我们将再次以“最后的祈祷”结束。然而,上周我们搞砸了我们的一个祈祷,我们说“保佑我们的队长本周有额外的速度、力量和射门准确性”,这听起来很好,但我们实际上没有祈祷进球和助攻,所以…我们没有得到任何东西:P 现在是时候验证一句古老的谚语了——“有求必应”。本周,我们向幻想之神祈祷,祈求他们给我们一点怜悯,保佑我们西汉姆不失球,队长得分至少 6 分,但希望更多!
一如既往——感谢您的阅读,祝您周末好运!
EPL 幻想 GW11 回顾和 GW12 算法精选
我们的钱球方法的幻想 EPL(队 _id: 2057677)
如果这是你第一次登陆我的幻想 EPL 博客,你可能想先看看第一部分、第二部分、第三部分、第五部分和第九部分,以熟悉我们的整体方法和我们随着时间的推移所做的改进。我在这个项目中的犯罪搭档是 Andrew Sproul,他和我一样对数据科学、人工智能和幻想 EPL 充满热情。
本周我们将保持简短,因为我们已经在前面的博客中描述了我们的方法和主要更新。
GW11 世界排名前 100 的选手
上周末世界排名前 100 的选手表现非常好!我们对自己的总得分也很满意——79 分,非常接近 AVG 世界排名前 100 名球员的得分——83 分。所以,如果你的得分在 70-80 分之间,你会感觉非常好。
此外,有趣的是,到目前为止,本赛季前 100 名球员中的大多数都在 720-740 分之间。只有前 10 名玩家的总得分超过 750 分,前 3 名玩家的总得分为> 770 分。
EPL 100 强球员最佳混合团队
当我们谈到世界前 100 名球员的话题时,让我们看看谁是他们球队中按位置排名的前 10 名球员,以及 GW11 最受欢迎的球队阵容。
前 100 名最佳守门员
前 100 名中最受欢迎的捍卫者
前 100 名最佳中场球员
前 100 名中入选最多的前锋
这里最有趣的变化是,普基最终被奥巴姆扬从三前锋的位置上赶了下来。对于大多数顶级球员来说,似乎瓦迪和亚伯拉罕是可靠的两个选择,但正如你在上面看到的,在第三前锋的选择上有很多差异。
我们使用这些数据和当前的球员价格来创建下面的球队,这是由前 100 名中最受欢迎的球员组成的:
这是一个看起来不错的团队,银行里还有 170 万英镑可以用来玩和测试不同的配置。
前 100 名 Fantasy 用户选择最多的团队
似乎大多数球员现在都在使用3–4–3 阵型,试图优化从他们的进攻球员那里获得的总积分,这些球员通常有更高的机会获得助攻、进球和总积分。
GW11 团队绩效总结和总体统计
听起来我们的祈祷又起作用了!我们的得分再次高于平均水平,并最终选择了一名优秀的队长——塔米·亚伯拉罕,12 x2 = 24 分。替补席上也没有留下太多的分数,所以总体来说,我们本周最大化了我们的预期投资回报率,这感觉不错:)过去两周最大的失望是我们在西汉姆球员上的投资根本没有得到回报,所以我们很遗憾没有得到蒂勒曼斯、奇尔韦尔或索因库,而不是克雷斯韦尔和亚莫连科。我们会在周末对阵伯恩利的比赛中给他们最后一次机会,然后卖掉他们,因为西汉姆接下来有两场伦敦德比——热刺和切尔西。
为我们的 GW12 选秀权提供信息的 GW11 整体统计数据
下面让我们从调整后的未来三个比赛周的对手难度等级(FDR)开始:
布莱顿、皇宫、曼城和切尔西是仅有的 FDR 得分超过 75%的球队,利物浦正好在分界点**。我们的算法是这样写的,它不会在本周推荐从这些球队购买球员。赛程相对轻松的球队(如果 EPL 有这种东西的话:P)有**曼联、阿森纳、埃弗顿、伯恩利和沃特福德,所以从这些球队得到球员可以在接下来的三场 2-3 比赛中得到回报。
美国东部时间 11 月 6 日晚 8 点最新伤情更新
以下数据来自一个独立网站,该网站更新最新受伤情况的频率比 Fantasy 网站高得多:
接下来,让我们通过 ROI 和 pts_per_90min 统计数据来看看顶级球员:
投资回报率排名前十的守门员
90 分钟内排名前 10 的守门员
按投资回报率排名的前 10 名防御者
pts _ per _ 90min 排名前 10 的防守队员
投资回报率排名前十的中场球员
90 分钟 pts _ per _ 强中场
投资回报率排名前 10 的前锋
射手前 10 名由 pts_per_90min
GW9 算法选择
提醒一下,我们的算法会考虑调整后的每支队伍的预算,并尝试最大化 11 名主力队员在每个位置的花费,然后让你的替补获得良好的 ROI 值。根据当前的投资回报率得分,在接下来的三场比赛中过滤掉任何具有 AVG 对手难度(FDR≥75%)的球队,并从可用选择列表中删除受伤的球员,我们的算法选择了以下球队作为当前花费全部 1 亿美元预算的最佳球队:
注: 因为高 FDR,我们不能从利物浦、曼城或切尔西挑选球员,这使得这支球队看起来比通常银行里有很多钱的球队更弱,但至少我们得到了 一个有趣的实验,有很多更便宜、高 ROI 的 球员,意识到来自大球队的球员实际上是多么高价。我们在上面插入了马内和亚伯拉罕,只是因为我们不想在银行里留下超过 1200 万美元的存款。
就我们自己的团队而言,我们决定投资一些来自狼队的更便宜的球员,因为他们接下来的 4-5 场比赛是与牌桌上中下水平的对手比赛,希望从他们那里获得一些不错的投资回报,并腾出预算在未来获得一些更昂贵的球员。
团队统计
查看最佳/最差防守和进攻可以有几种不同的用法——例如,如果最佳进攻队与最差防守队比赛,你可能想让你的进攻中场或前锋担任队长。此外,当你查看这些位置的算法建议时,你可能想优先考虑防守最好的球队的 DF 和 GK。
最佳 7 项防御
最差的 7 种防御
最佳 7 项犯罪
最糟糕的 7 项罪行
累积团队投资回报统计
下面你可以看到球队,按累积玩家投资回报率排序。请注意,活跃玩家是指已经玩了总可能游戏时间的至少 25% 的任何玩家。例如,总可能分钟数=周数* 90 分钟= 11* 90 = 990。所以,我们把所有至少打了 900/4 = 247.5 分钟的球员都算作是该队的现役球员。
莱斯特仍然以最高的平均每名球员得分高居榜首。有趣的是,利物浦刚刚被谢菲尔德联队取代进入前三名,因为利物浦的现役球员数量从 13 名下降到 15 名,这降低了球队总 AVG 投资回报率,可能是因为在过去几场比赛中引入了拉拉纳和公牛,他们现在被算作现役球员。切尔西、伯恩茅斯和狼队在过去几周表现出色后也在攀升。
西汉姆、阿森纳、热刺和埃弗顿仍然是 avg_team_roi 排行榜下半部分的一些较大的球队,他们有许多价格过高和表现不佳的球员,16-17 名球员轮换。
最终想法:
因为我们上次的祈祷似乎起了作用,我们将再次以“最后的祈祷”结束。本周,我们向幻想之神祈祷,祈求他们给我们一些怜悯,保佑我们的三名西汉姆球员——克雷斯韦尔、亚莫伦科和罗伯托——至少得到 12-15 分。我们真的很想在下周卖掉它们之前,从它们身上榨取一些最后的价值。
一如既往——感谢您的阅读,祝您周末好运!
EPL 幻想 GW12 回顾和 GW13 算法精选
我们的钱球方法的幻想 EPL(队 _id: 2057677)
如果这是你第一次登陆我的幻想 EPL 博客,你可能想先看看第一部分、第二部分、第三部分、第五部分和第九部分,以熟悉我们的整体方法和我们随着时间的推移所做的改进。我在这个项目中的犯罪搭档是 Andrew Sproul,他和我一样对数据科学、人工智能和幻想 EPL 充满热情。
本周我们将保持简短,因为我们已经在前面的博客中描述了我们的方法和主要更新。
GW11 世界排名前 100 的选手
与总平均得分 48 相比,上周末世界排名前 100 位的选手表现非常好!仍然有一些前 100 名选手的分数在 50-60 之间,所以如果你的分数接近或超过这个范围,你仍然可以对自己感觉很好。
此外,有趣的是,到目前为止,本赛季前 100 名球员中的大多数都在 800-820 分之间。只有前 10 名玩家的总分超过 820 分,前 2 名玩家的总分超过 850 分。
EPL 100 强球员最佳混合团队
当我们谈论世界前 100 名球员的话题时,让我们看看谁在他们的球队中最受欢迎,以及 GW11 最受欢迎的球队阵容。
前 100 名最佳守门员
前 100 名中最受欢迎的捍卫者
前 100 名最佳中场球员
两个有趣的新名字是马夏尔和普利西克,马迪森也被更多的前 100 名玩家选中,并成为第四大首选。
前 100 名中入选最多的前锋
现在很明显,人们终于克服了对 Pukki 的炒作,他已经下降到第五位,他的价格现在也下降到 670 万英镑(Pukki 是幻想中的 EPL 的比特币吗——所有的短期炒作都没有长期价值?—只有时间会证明…)。与上周相比,另一个有趣的变化是吉梅内斯相当积极地跃居第三,这很可能是由他的状态和狼队被认为容易的计划决定的。
我们使用这些数据和当前的球员价格来创建下面的球队,这是由前 100 名中最受欢迎的球员组成的:
看起来不错的团队,在关键位置上有很多尝试不同选择的余地,同时仍然保持一个坚实的球员核心。
前 100 名 Fantasy 用户选择最多的团队
尽管如此,3–4–3 仍然是首选阵型,旨在优化他们的进攻球员获得的总积分,这些球员通常有更高的机会获得助攻、进球和总积分。
GW12 团队绩效总结和总体统计
遗憾的是,我们从亚莫连科和克雷斯韦尔身上榨取最后一分钟价值的祈祷没有奏效,我们必须摆脱这些“失去的资产”。不幸的是,我们在 3-4 周前对西汉姆球员的大胆投资没有得到回报,所以已经严重损害了我们的整体投资回报率。尽管如此,我们还是以 54 分(高于 AVG 的 48 分)度过了不错的一周,如果维拉没有在对狼队的比赛中取得第 95 分钟的进球,我们会从特拉奥雷和赛斯那里得到更多……:(好消息是,我们连续第三周选择了一位不错的队长——**塔米·亚伯拉罕,8 x2 = 16 分。**我们也没有在替补席上留下太多分数,所以总体来说,我们本周最大化了我们的预期投资回报率,这感觉不错:)
为我们的 GW12 选秀权提供信息的 GW12 整体统计数据
下面让我们从调整后的未来三周的对手难度等级(FDR)开始:
布莱顿、皇宫、埃弗顿和西汉姆是仅有的 FDR 得分超过 75%的球队,维拉和纽卡斯尔正好在分界点**。我们的算法是这样写的,它不会在本周推荐从这些球队购买球员。赛程相对轻松的球队有**阿森纳、南安普顿、莱斯特、诺维奇和利物浦,所以从引进新球员,这些球队可以在接下来的三场 2-3 场比赛中获得回报。
美国东部时间 11 月 20 日上午 9 点最新伤情更新
以下数据来自一个独立网站,该网站更新最新受伤情况的频率比 Fantasy 网站高得多:
接下来,让我们通过 ROI 和 pts_per_90min 统计数据来看看顶级球员:
投资回报率排名前十的门将
有趣的是,看到拉姆斯代尔、舒梅切尔和福斯特(T21)越来越接近巅峰。
90 分钟内排名前 10 的守门员
投资回报率排名前十的防守队员
后卫前 10 名 pts_per_90min
投资回报率排名前十的中场球员
有趣的是,我们在这里没有看到任何大牌中场球员,因为他们的价格是上面列出的中场球员平均价格的两倍,考虑到他们的低价格,他们的表现相当好,使他们的总投资回报率比萨拉赫和斯特林等人好得多。
90 分钟 pts _ per _ 强中场
当只看每 90 分钟比赛时间的得分,不考虑价格时,我们可以看到名单上一些得分最高的中场球员,表明他们仍然是伟大的资产,其价值已经被市场定价,因此产生的投资回报率比投资回报率图表中一些被低估和表现过度的中场球员低得多。
投资回报率排名前十的前锋
射手榜前 10 名由 pts_per_90min
GW13 算法选择
提醒一下,我们的算法会考虑调整后的每队阵型的预算,并尝试最大化 11 名主力球员的每个位置的支出,然后让你的替补获得良好的 ROI 值。根据当前的投资回报率得分,在接下来的三场比赛中过滤掉任何具有 AVG 对手难度(FDR≥75%)的球队,并从可用选择列表中删除受伤的球员,我们的算法选择了以下球队作为当前花费全部 1 亿美元预算的最佳球队:
在我们看来,这是一支相当平衡的球队,银行里有整整 240 万英镑,可以尝试不同的球员配置。
就我们自己的团队而言,我们最终摆脱了克雷斯韦尔和亚莫连科,取而代之的是索因库和蒂勒曼斯。我们希望我们有钱买 TAA,但是我们不想在替补上花太多的钱,所以我们会在接下来的几周内设法得到他或者罗伯特。
团队统计
看看最佳/最差防守和进攻可以有几种不同的用法——例如,如果一个最佳进攻队与一个最差防守队比赛,你可能想让你的进攻中场或前锋担任队长。此外,当你查看这些位置的算法建议时,你可能想优先考虑防守最好的球队的 DF 和 GK。
最佳 7 项防御
最差的 7 种防御
最佳 7 项犯罪
最糟糕的 7 项罪行
累积团队投资回报统计
下面你可以看到球队,按累积玩家投资回报率排序。请注意,活跃玩家是指已经玩了总可能游戏时间的至少 25% 的任何玩家。例如,总可能分钟数=周数* 90 分钟= 12* 90 = 1080。所以,我们把所有至少打了 1080/4 = 270 分钟的球员都算作该队现役球员。
在利物浦战胜曼城后,情况发生了变化,曼城由于伤病轮换使用了一些新球员,使曼城的整体球队投资回报率下降到第四位,并将利物浦挤到第二位。我们也可以看到切尔西、狼队和曼联在过去 2-3 场比赛中的一些稳定表现后越来越接近前 5 名。
底部看起来与过去几周相似,阿森纳和马刺仍在努力增加他们的整体团队投资回报率和平均每名球员得分。
最终想法:
本周,我们将保持谦虚,只想向幻想之神请求至少一个帽子戏法和我们队长 Auba 的一次助攻:)到目前为止,他的投资回报还不错,但由于 1100 万英镑的高价,我们需要看到他很快有更多的进球,以提高他的总投资回报率,并证明他长期留在我们的球队是合理的。
一如既往——感谢您的阅读,祝您周末好运!
EPL 幻想 GW13 回顾和 GW14 算法精选
我们的钱球方法的幻想 EPL(队 _id: 2057677)
如果这是你第一次登陆我的幻想 EPL 博客,你可能想先看看第一部分、第二部分、第三部分、第五部分和第九部分,以熟悉我们的整体方法和我们随着时间的推移所做的改进。我在这个项目中的犯罪搭档是 Andrew Sproul,他和我一样对数据科学、人工智能和幻想 EPL 充满热情。
本周我们将保持简短,因为我们已经在前面的博客中描述了我们的方法和主要更新。
GW13 世界排名前 100 的选手
与平均得分 49 相比,世界排名前 100 位的球员又度过了强劲的一周!尽管如此,还是有一些前 100 名选手的分数在 50-60 之间,所以如果你的分数接近或超过这个范围,你仍然可以对自己感觉很好。
现在我们有三个玩家突破 900 大关,相当可观!
EPL 100 强球员最佳混合团队
当我们谈论世界前 100 名球员的话题时,让我们看看谁在他们的球队中最受欢迎,以及 GW11 最受欢迎的球队阵容。
前 100 名最佳守门员
前 100 名中最受欢迎的捍卫者
前 100 名最佳中场球员
前 100 名中入选最多的前锋
看起来现在有更多的人选择了拉什福德,也有一些顶级球员对奥巴姆扬很固执,仍然让他留在他们的球队,希望获得一些投资回报。
我们使用这些数据和当前的球员价格来创建下面的球队,这是由前 100 名中最受欢迎的球员组成的:
看起来不错的团队,在关键位置上有很多尝试不同选择的余地,同时仍然保持一个坚实的球员核心。
前 100 名 Fantasy 用户选择最多的团队
然而3–4–3 仍然是首选阵型,旨在优化他们的进攻球员获得的总积分,这些球员通常有更高的机会获得助攻、进球和总积分。
GW13 团队绩效总结和总体统计
对我们来说,体面的一周,59 分,高于平均水平 49 分。我们的队长人选还不错,但我们对 Auba 的期望更高。
GW13 整体统计数据为我们的 GW14 选秀权提供信息
下面让我们从调整后的未来三个比赛周的对手难度等级(FDR)开始:
阿斯顿维拉、布莱顿、埃弗顿、伯恩茅斯和伯恩利是仅有的 FDR 得分超过 75%的球队**。我们的算法是这样写的,它不会在本周推荐从这些球队购买球员。赛程相对轻松的球队有阿森纳、南安普顿、莱斯特、谢菲尔德联队和切尔西,**所以从招募新球员,这些球队可以在接下来的三场 2-3 场比赛中获得回报。
美国东部时间 11 月 27 日晚 9 点最新伤情更新
以下数据来自一个独立网站,该网站更新最新受伤情况的频率比 Fantasy 网站高得多:
接下来,让我们通过 ROI 和 pts_per_90min 统计数据来看看顶级球员:
投资回报率排名前十的守门员
90 分钟内排名前 10 的守门员
按投资回报率排名的前 10 名防守队员
按 pts _ per _ 90 分钟排名前 10 的防守队员
投资回报率排名前十的中场球员
90 分钟 pts _ per _ 强中场
投资回报率排名前十的前锋
射手前 10 名由 pts_per_90min
GW14 算法选择
提醒一下,我们的算法会考虑调整后的每队阵型预算,并尝试最大化主要 11 名球员的每个位置的支出,然后让你的替补获得良好的 ROI 值。根据当前的投资回报率得分,在接下来的三场比赛中过滤掉任何具有 AVG 对手难度(FDR≥75%)的球队,并从可用选择列表中删除受伤的球员,我们的算法选择了以下球队作为当前花费全部 1 亿美元预算的最佳球队:
在我们看来,这是一支相当平衡的球队,银行里有整整 120 万英镑,可以用来试验和尝试不同的球员配置。
就我们自己的球队而言,我们决定不做任何突然的举动,只是摆脱了我们的第二个 GK——里卡多——并以 400 万英镑的价格得到了一名非上场门将,以便为下周的更多转会腾出资金。在上周淘汰万-比萨卡之前,我们给了他最后一次机会来拿分。
团队统计
看看最佳/最差防守和进攻可以有几种不同的用法——例如,如果一个最佳进攻队与一个最差防守队比赛,你可能想让你的进攻中场或前锋担任队长。此外,当你查看这些位置的算法建议时,你可能想优先考虑防守最好的球队的 DF 和 GK。
最佳 7 项防御
最差的 7 种防御
最佳 7 项犯罪
最糟糕的 7 项罪行
累积团队投资回报统计
下面你可以看到球队,按累积玩家投资回报率排序。请注意,活跃玩家是任何已经玩了总可能游戏时间的至少 33.33% 的玩家。例如,总可能分钟数=周数* 90 分钟= 13* 90 = 1170。所以,我们把所有至少打了 1080/3.3 = 351 分钟的球员都算作该队现役球员。
在我们将比赛的最短时间增加到 1/3 后,莱切斯特遥遥领先。看起来他们或多或少使用相同的 11 名球员,他们一直表现得相当稳定,给了他们比其他人高得多的 avg_palyer_roi 和 avg _ team _ ROI。随着越来越多的球员进入 Pep 轮换,曼城的 avg_team_roi 统计数据甚至下降了,最近的表现也不那么令人信服。
最终想法:
大家感恩节快乐,别忘了疯狂的 12 月 EPL 马拉松赛将于下周 12 月 3 日(周二)开始,所以别忘了在周二早上准备好你的替补!!!
EPL 幻想 GW14 回顾和 GW15 算法精选
我们的钱球方法的幻想 EPL(队 _id: 2057677)
如果这是你第一次登陆我的幻想 EPL 博客,你可能想先看看第一部分、第二部分、第三部分、第五部分和第九部分,以熟悉我们的整体方法和我们随着时间的推移所做的改进。我在这个项目中的犯罪搭档是 Andrew Sproul,他和我一样对数据科学、人工智能和幻想 EPL 充满热情。
本周我们将保持简短和甜蜜,因为我们在 GW14 和 GW15 之间只有一天,所以让我们在时间结束前完成这些替换!
GW14 世界排名前 100 的选手
对于世界排名前 100 位的球员来说,这一周相对艰难,他们中的许多人的得分接近或低于 51 的平均 GW 得分!甚至有一名球员只得到 30 分,其他几名球员的得分在 30-45 分之间,所以如果你的得分接近平均水平 51 分或以上,请知道你比世界上大多数顶级球员都做得好!
EPL 100 强球员最佳混合团队
当我们谈论世界前 100 名球员的话题时,让我们看看谁在他们的球队中最受欢迎,以及 GW14 最受欢迎的球队阵容。
前 100 名最佳守门员
前 100 名中最受欢迎的捍卫者
前 100 名最佳中场球员
有趣的是,在这里可以看到儿子现在已经上升到了第四位,而英镑现在下降到了第九位。
前 100 名中入选最多的前锋
最受欢迎的前锋的有趣变化是,许多人因为受伤而放弃了塔米·亚伯拉罕,因为他的良好状态和南安普顿轻松的赛程而得到了丹尼·英斯。
我们使用这些数据和当前的球员价格来创建下面的球队,这是由前 100 名中最受欢迎的球员组成的:
前 100 名 Fantasy 用户选择最多的团队
本周我们在阵型上有了一个有趣的变化,因为很多人决定只用 2 个前锋来比赛,并且使用3–5–2 或者 4–4–2作为 3–4–3 的阵型,仍然有相当多的人喜欢。
GW14 团队绩效总结和总体统计
对我们来说,体面的一周 57 分,高于平均 51 分,正好处于世界前 100 名球员的平均水平,所以我们对自己的表现相当满意!我们的队长选择结果相当不错(谢谢 VAR!!!当他错过了第一个点球时,奥巴让我心脏病发,我们从他那里得到了 13x2 = 26pts。不幸的是,我们的后卫和门将都没有得到回报,我们在凯利的替补席上留下了 6 分,所以如果运气再好一点或者至少不失球,事情可能会更好。
为我们的 GW15 选秀权提供信息的 GW14 整体统计数据
下面让我们从调整后的未来三个比赛周的对手难度等级(FDR)开始:
沃特福德、埃弗顿、伯恩茅斯和阿斯顿维拉是仅有的 FDR 得分超过 75%的球队**。我们的算法是这样写的,它不会在本周推荐从这些球队购买球员。赛程相对轻松的球队有**利物浦、水晶宫、南安普顿、莱斯特和谢菲尔德联队,所以从招募新球员,这些球队可以在接下来的三场 2-3 场比赛中获得回报。
最新伤情更新美国东部时间 12 月 1 日晚 9 点
以下数据来自一个独立网站,该网站更新最新受伤情况的频率比 Fantasy 网站高得多:
接下来,让我们通过 ROI 和 pts_per_90min 统计数据来看看顶级球员:
投资回报率排名前十的门将
90 分钟内排名前 10 的门将
投资回报率排名前十的防御者
pts _ per _ 90min 排名前 10 的防守队员
投资回报率排名前十的中场球员
90 分钟 pts _ per _ 强中场
投资回报率排名前 10 的前锋
射手榜前 10 名由 pts_per_90min
GW15 算法选择
提醒一下,我们的算法会考虑调整后的每支队伍的预算,并尝试最大化 11 名主力队员在每个位置上的花费,然后让你的替补获得良好的投资回报。根据当前的投资回报率得分,在接下来的三场比赛中过滤掉任何具有 AVG 对手难度(FDR≥75%)的球队,并从可用选择列表中删除受伤的球员,我们的算法选择了以下球队作为当前花费全部 1 亿美元预算的最佳球队:
在我们看来,这是一支相当平衡的球队,银行里有整整 120 万英镑,可以用来试验和尝试不同的球员配置。
就我们自己的团队而言,我们最终摆脱了万-比萨卡,他被证明是一个非常糟糕的投资:(而且由于塔米·亚伯拉罕的受伤,我们还卖掉了他,让 TAA 和丹尼·英斯取代了他们的位置。由于沃特福德的防守薄弱,选择瓦迪当队长。
团队统计
看看最佳/最差防守和进攻可以有几种不同的用法——例如,如果一个最佳进攻队与一个最差防守队比赛,你可能想让你的进攻中场或前锋担任队长。此外,当你查看这些位置的算法建议时,你可能想优先考虑防守最好的球队的 DF 和 GK。
最佳 7 项防御
最差的 7 种防御
最佳 7 项犯罪
最糟糕的 7 项罪行
累积团队投资回报统计
下面你可以看到球队,按累积玩家投资回报率排序。请注意,活跃玩家是指已经玩了总可能游戏时间的至少 33.33% 的任何玩家。例如,总可能分钟数=周数* 90 分钟= 14* 90 = 1260。所以,我们把所有至少打了 1260/3.3 = 378 分钟的球员都算作该队现役球员。
莱斯特队本周又赢了一场比赛,扩大了他们的领先优势,但在大多数比赛中,他们仍然只使用 11 名主力球员作为核心。伯恩利、狼队、切尔西和维拉在平均每名球员得分和整体球队投资回报率方面也越来越接近前四名。
最终想法:
首先也是最重要的——不要忘记在美国东部时间周二中午之前准备好你的替补,因为新 GW 将于 12 月 3 日周二开始。就本周我们的球队而言,如果我们能从我们的队长瓦迪那里得到至少 12 分,从我们的新交易——英格斯和 TAA 那里得到每个球员至少 6 分,我们会非常高兴:)我们在最近的过去做了几笔糟糕的投资,所以我们希望我们的运气能够好转,我们的两个新球员能在下周和接下来的 2-3 周开始有所回报。
EPL 幻想 GW17 回顾和 GW18 算法精选
EPL 幻想博客
我们的钱球方法的幻想 EPL(队 _id: 2057677)
如果这是你第一次登陆我的幻想 EPL 博客,你可能会想看看我的媒体简介中我最初的 EPL 博客,以熟悉我们的整体方法和我们随着时间的推移所做的改进。我在这个项目中的犯罪搭档是 Andrew Sproul,他和我一样对数据科学、人工智能和幻想 EPL 充满热情。
GW17 世界排名前 100 的选手
对于世界排名前 100 的球员来说,这又是一个非常强大的一周,平均 72 分,相比之下,普通人的 GW 平均得分为 56 分!尽管如此,还是有一些得分在 50-60 分之间的前 100 名玩家(包括世界上得分只有 56 分的 t op 玩家),所以如果你的得分接近或超过那个分数,你仍然可以对自己感觉很好。
EPL 100 强球员最佳混合团队
当我们谈论世界前 100 名球员的话题时,让我们看看谁在他们的球队中最受欢迎,以及 GW17 最受欢迎的球队阵容。
前 100 名最佳守门员
前 100 名中最受欢迎的捍卫者
前 100 名最佳中场球员
前 100 名中入选最多的前锋
我们使用这些数据和当前的球员价格来创建下面的球队,这是由前 100 名中最受欢迎的球员组成的:
看起来不错的团队,在关键位置上有很多尝试不同选择的余地,同时仍然保持一个坚实的球员核心。
前 100 名 Fantasy 用户选择最多的团队
看起来我们回到了一个更具攻击性的3–4–3 阵型,成为首选,所以人们回到了试图优化从进攻球员身上获得的分数——MD 和 ST。
GW17 团队绩效总结和总体统计
对我们来说不是很强的一周,只有 48 分,仅低于平均 56 分。卖掉 KDB 来得到拉什福德和凯恩,到目前为止被证明是错误的举动,所以我们把自己挖进了一个更深的洞,只有拉什福德和凯恩的出色表现才能在接下来的几场比赛中把我们挖出来。不幸的是,我们还和特拉奥雷一起在板凳上留下了 10 分,所以对我们来说这是非常不幸的一周
GW17 整体统计数据为我们的 GW18 选秀权提供信息
下面让我们从调整后的未来三周的对手难度等级(FDR)开始:
对于我们的算法来说,这将是非常非常艰难的一周,曼城、莱斯特和利物浦都有相对困难的计划,所以我们的算法不会从这些球队中做出任何选择。赛程相对轻松的球队有维拉、水晶宫、谢菲尔德、曼联、热刺、切尔西。
最新伤情更新美国东部时间 12 月 19 日下午 5 点
以下数据来自一个独立网站,该网站更新最新受伤情况的频率比 Fantasy 网站高得多:
按投资回报率和 90 分钟出场次数统计的顶级球员
根据上周一位读者的要求,我现在将公布投资回报率最高和最低的 50 名玩家,这样我们的读者就可以看到更多高投资回报率的玩家,并远离价格过高和表现不佳的玩家。
投资回报率排名前 50 的玩家
注意在这个列表中看到大量的 DFs 和 GK 是正常的,因为它们比攻击玩家便宜得多,允许它们产生更高的整体投资回报率。尽管如此,你可以在那里找到相当数量的攻击球员,到目前为止,他们是一个很好的长期投资。
按投资回报率排名的后 50 名玩家
在这份名单中,我们看到了更多的进攻球员,他们的价格过高,本赛季到目前为止表现不佳。注意像杰西·林加德、本杰明·门迪、谢默斯·科尔曼、克里斯提安·埃里克森这样的名字,他们上赛季表现出色,身价不菲,但本赛季却受伤或表现不佳。
投资回报率排名前十的门将
90 分钟 pts _ per _ 强门将
投资回报率排名前十的防守球员
pts _ per _ 90min 排名前 10 的防守队员
投资回报率排名前十的中场球员
90 分钟 pts _ per _ 强中场
投资回报率排名前十的前锋
90 分钟前 10 名射手
GW17 算法选择
提醒一下,我们的算法会考虑调整后的每队阵容预算,并尝试最大化 11 名主力球员的每个位置的支出,然后让你的替补获得良好的 ROI 值。根据当前的投资回报率得分,在接下来的三场比赛中过滤掉任何具有 AVG 对手难度(FDR≥75%)的球队,并从可用选择列表中删除受伤的球员,我们的算法选择了以下球队作为当前花费全部 1 亿美元预算的最佳球队:
由于我们的算法**没有选择来自曼城、利物浦和莱斯特的球员,**除了德·布鲁因被选为总积分最高的总经理,这支球队的银行里还有很多钱。
就我们自己的球队而言,在上周出售 KDB 的糟糕举动后,我们没有太多可以做的,所以现在我们必须坚持那个决定,因为计划是在莱切斯特比赛后将他买回来。本周我们进行了一次转会——格里利什进:蒂尔曼斯出——因为维拉的赛程比较轻松,而莱斯特的赛程比较艰难。我们也在考虑卖掉 TAA,这样我们下周就可以为 KDB 腾出一些资金,但我们还没有下定决心。
团队统计
查看最佳/最差防守和进攻可以有几种不同的用法——例如,如果一个最佳进攻队与一个最差防守队比赛,你可能想让你的进攻中场或前锋担任队长。此外,当你查看这些位置的算法建议时,你可能想优先考虑防守最好的球队的 DF 和 GK。
最佳 7 项防御
最差的 7 种防御
最佳 7 项犯罪
最糟糕的 7 项罪行
累积团队投资回报统计
下面你可以看到球队,按累积玩家投资回报率排序。请注意,活跃玩家是任何已经玩了总可能游戏时间的至少 33.33% 的玩家。所以,我们把所有至少打了 460 分钟的球员算作该队现役球员。
在几场更强劲的表现之后,谢菲尔德联队现在已经攀升到 team_ROI 排行榜的第二位。
最终想法:
我们只是对接下来几周不停的 EPL 行动感到兴奋,我们希望我们的博客能帮助你做出一些好的转会选择,为你的假期带来一些额外的快乐。如果有一个 EPL 圣诞老人(我不是指每年圣诞老人大会期间充斥纽约街头的那种:P)并且他们正在阅读我的博客,我们会要求他们从拉什福德和凯恩那里获得大量积分,作为我的早期节日礼物。
一如既往,感谢您的阅读,我们希望您享受假期和令人兴奋的 EPL 行动!
EPL 幻想 GW18 回顾和 GW19 算法精选
EPL 幻想博客
我们的钱球方法的幻想 EPL(队 _id: 2057677)
如果这是你第一次登陆我的幻想 EPL 博客,你可能会想看看我在本赛季开始时写的一些原始 EPL 博客(GW1-GW9),以熟悉我们的整体方法和我们随着时间的推移所做的改进。我在这个项目中的犯罪搭档是 Andrew Sproul,他和我一样对数据科学、人工智能和幻想 EPL 充满热情。
GW17 世界排名前 100 的选手
对于世界排名前 100 的球员来说,这不是一个伟大的一周,平均 53 分,相比之下,普通人的 GW 平均得分为 38!有一些前 100 名选手的分数在 30-40 分之间(包括国际象棋世界冠军————芒努斯·卡尔森——只有 26 分),所以如果你的分数接近或超过这个分数,你仍然可以对自己感觉很好。
EPL 100 强球员最佳混合团队
当我们谈论世界前 100 名球员的话题时,让我们看看谁在他们的球队中最受欢迎,以及 GW18 最受欢迎的球队阵容。
前 100 名最佳守门员
前 100 名中最受欢迎的捍卫者
前 100 名最佳中场球员
前 100 名中入选最多的前锋
我们使用这些数据和当前的球员价格来创建下面的球队,这是由前 100 名中最受欢迎的球员组成的:
看起来不错的团队,在关键位置上有很多尝试不同选择的余地,同时仍然保持一个坚实的球员核心。
前 100 名 Fantasy 用户选择最多的团队
看起来我们回到了一个更具攻击性的3–4–3 阵型,成为首选,所以人们回到了试图优化从进攻球员身上获得的分数——MD 和 ST。
GW18 团队绩效总结和总体统计
总的来说,这是我们坚实的一周,53 分,高于平均水平 38 分。我们的大部分分数来自于我们的廉价球员,拉什福德和凯恩再次令人失望,到目前为止变成了一笔非常大的投资:(我们再次没有选择正确的队长——凯恩只有 4 分。
为我们的 GW19 选秀权提供信息的 GW18 整体统计数据
下面让我们从调整后的未来三周的对手难度等级(FDR)开始:
对于我们的算法来说,这将是又一个奇怪的选人周,狼队、利物浦队和莱斯特队有一个相对困难的计划,所以我们的算法不会从这些球队中进行任何选人。赛程相对轻松的球队有维拉、水晶宫、伯恩利、曼联、热刺、切尔西。
美国东部时间 12 月 24 日上午 7 点最新伤情更新
以下数据来自一个独立网站,该网站更新最新受伤情况的频率比 Fantasy 网站高得多:
按投资回报率和 90 分钟出场次数统计的顶级球员
根据上周一位读者的要求,我现在将公布投资回报率最高和最低的 50 名玩家,这样我们的读者就可以看到更多高投资回报率的玩家,并远离价格过高和表现不佳的玩家。
投资回报率排名前 50 的玩家
按投资回报率排名的后 50 名玩家
投资回报率排名前十的守门员
后卫前 10 名 pts_per_90min
投资回报率排名前十的防御者
后卫前 10 名由 pts_per_90min
投资回报率排名前十的中场球员
90 分钟 pts _ per _ 强中场
投资回报率排名前十的前锋
90 分钟前 10 名射手
GW19 算法选择
提醒一下,我们的算法会考虑调整后的每支队伍的预算,并尝试最大化 11 名主力队员的每个位置的花费,然后让你的替补获得良好的 ROI 值。根据当前的投资回报率得分,在接下来的三场比赛中过滤掉任何具有 AVG 对手难度(FDR≥75%)的球队,并从可用选择列表中删除受伤的球员,我们的算法选择了以下球队作为当前花费全部 1 亿美元预算的最佳球队:
由于我们的算法没有选择来自利物浦、莱斯特、谢菲尔德或狼队的球员,除了伦德斯特拉姆被总得分选为最佳后卫,这支球队的银行里还有很多钱。
就我们自己的球队而言,我们决定不做任何改变,保留下一个比赛周的自由转会,在那里我们将试图让 KDB 回来,如果可能的话,也许还有其他一些关键球员。我们之前选择凯恩作为队长,希望他最终能回报我们的投资。
团队统计
看看最佳/最差的防守和进攻可以有几种不同的用法——例如,如果一个最佳进攻队与一个最差防守队比赛,你可能想让你的进攻中场或前锋担任队长。此外,当你查看这些位置的算法建议时,你可能想优先考虑防守最好的球队的 DF 和 GK。
最佳 7 项防御
最差的 7 种防御
最佳 7 项犯罪
最糟糕的 7 项罪行
累积团队投资回报统计
下面你可以看到球队,按累积玩家投资回报率排序。请注意,活跃玩家是任何已经玩了总可能游戏时间的至少 33.33% 的玩家。所以,我们会把所有至少打了 490 分钟比赛的球员都算作该队的现役球员。
曼城和狼队领先利物浦,因为他们上周表现出色,利物浦没有参加。
最终想法:
我们只是对接下来几周不停的 EPL 行动感到兴奋,我们希望我们的博客能帮助你做出一些好的转会选择,为你的假期带来一些额外的快乐。如果有一个 EPL 圣诞老人,并且他们正在阅读我们的博客,我们会要求他们给我一个哈里·基恩的帽子戏法和至少一个拉什福德的进球作为我的节日礼物。
一如既往,感谢您的阅读,我们希望您享受假期和令人兴奋的 EPL 行动!
EPL 幻想 GW20 重述和 GW21 算法精选
EPL 幻想博客
我们的钱球方法的幻想 EPL(队 _id: 2057677)
如果这是你第一次登陆我的幻想 EPL 博客,你可能会想看看我在本赛季开始时写的一些原始 EPL 博客(GW1-GW9),以熟悉我们的整体方法和我们随着时间的推移所做的改进。我在这个项目中的犯罪搭档是 Andrew Sproul,他和我一样对数据科学、人工智能和幻想 EPL 充满热情。
GW20 世界排名前 100 的选手
尽管有很多替补和轮换,世界顶级球员在去年的 GW 上确实表现不错,平均 70 分,相比之下普通人的 GW 平均得分为 54 分!
EPL 100 强球员最佳混合团队
当我们谈论世界前 100 名球员的话题时,让我们看看谁在他们的球队中最受欢迎,以及 GW20 最受欢迎的球队阵容。
前 100 名最佳守门员
前 100 名中最受欢迎的捍卫者
前 100 名最佳中场球员
前 100 名中入选最多的前锋
我们使用这些数据和当前的球员价格来创建下面的球队,这是由前 100 名中最受欢迎的球员组成的:
看起来不错的团队,在关键位置上有很多尝试不同选择的余地,同时仍然保持一个坚实的球员核心。
前 100 名 Fantasy 用户选择最多的团队
看起来由于某种原因 86 名顶级球员选择了 3–5–2阵型,很可能是因为每个人在他们的首发阵容中都有 Vardy,但他最终没有上场,所以他被 MD 或 DF 自动取代。
GW20 团队绩效总结和总体统计
总的来说,这是我们坚实的一周,65 个百分点,高于平均水平 54 个百分点。我们最高兴的是,我们早期的投资——拉什福德和凯恩终于得到了回报,我们终于找到了一位 8 x2 = 16 分的体面队长。
为我们的 GW21 选秀权提供信息的 GW20 整体统计数据
下面让我们从调整后的未来三周的对手难度等级(FDR)开始:
看起来纽卡斯尔、南安普顿、谢菲尔德联队、利物浦和维拉有一个相对困难的计划,所以我们的算法不会从这些球队中做出任何选择。赛程相对轻松的球队有伯恩茅斯、狼队、莱斯特、切尔西、曼城和布莱顿。
最新伤情更新美国东部时间 12 月 30 日晚 9 点
以下数据来自一个独立网站,该网站更新最新受伤情况的频率比 Fantasy 网站高得多:
按投资回报率和 90 分钟出场次数统计的顶级球员
根据上周一位读者的要求,我现在将公布投资回报率最高和最低的 50 名玩家,这样我们的读者就可以看到更多高投资回报率的玩家,并远离价格过高和表现不佳的玩家。
投资回报率排名前 50 的玩家
按投资回报率排名的后 50 名玩家
投资回报率排名前十的守门员
90 分钟得分前 10 的守门员
投资回报率排名前十的防御者
后卫前 10 名由 pts_per_90min
投资回报率排名前十的中场球员
90 分钟 pts _ per _ 强中场
投资回报率排名前十的前锋
90 分钟前 10 名射手
GW21 算法选择
提醒一下,我们的算法会考虑调整后的每支队伍的预算,并尝试最大化 11 名主力队员的每个位置的花费,然后让你的替补获得良好的 ROI 值。根据当前的投资回报率得分,在接下来的三场比赛中过滤掉任何具有 AVG 对手难度(FDR≥75%)的球队,并从可用选择列表中删除受伤的球员,我们的算法选择了以下球队作为当前花费全部 1 亿美元预算的最佳球队:
看起来这是一个相当平衡的团队,银行里还留有一些钱来试验不同的配置。
就我们自己的球队而言,我们决定只做一个改变,吉梅内斯>拉什福德,因为狼队的赛程更轻松,而且吉梅内斯在最后一场比赛中休息,而不是拉什福德。这也让我们在银行里有了一些额外的钱,下周可以进行更多的转账。
团队统计
看看最佳/最差的防守和进攻可以有几种不同的用法——例如,如果一个最佳进攻队与一个最差防守队比赛,你可能想让你的进攻中场或前锋担任队长。此外,当你查看这些位置的算法建议时,你可能想优先考虑防守最好的球队的 DF 和 GK。
最佳 7 项防御
最差的 7 种防御
最佳 7 项犯罪
最糟糕的 7 项罪行
累积团队投资回报统计
下面你可以看到球队,按累积玩家投资回报率排序。请注意,活跃玩家是任何已经玩了总可能游戏时间的至少 33.33% 的玩家。所以,我们会把所有至少打了 540 分钟比赛的球员都算作该队的现役球员。
统计数据开始在这里很好地趋同,因为更稳定的表现和合理的价格球员现在占据了前 5-8 名。一些拥有昂贵球员的球队正在努力追赶并提高他们的整体投资回报率,这些球队是马刺、阿森纳、埃弗顿和西汉姆。
最终想法:
首先,我们要感谢 EPL 圣诞老人上周满足了我们的愿望,从拉什福德和凯恩那里获得了一些不错的投资回报。本周,我们希望瓦迪在上一场比赛取得不错的突破后能够强势回归,并取得几个进球,我们也希望我们的一名转会球员——希门尼斯——上一场比赛也休息了,也将带着新鲜的双腿回来,并取得一些进球/助攻。
一如既往,感谢您的阅读,我们希望 2020 年带给您健康、快乐和激动人心的 EPL 行动!新年快乐!!