CIFCOM跨境电商 CIFCOM跨境电商

当前位置: 首页 » 出海百科 »

facebook如何创建公共主页

五张图教你知晓金融里的阿尔法和贝塔指的是什么?

不管是买基金进行投资的基民,还是专业挑选基金经理的各种机构,都会面临这么一个问题:

XX基金在过去X年涨/跌了X%,它的表现如何?算好,还是不好?

要把这个问题讲清楚,我们就需要向大家介绍阿尔法这个金融概念。

上面这个公式,被用来计算某个投资组合,或者基金经理的阿尔法。

第一个字母,Rp,代表的是该投资组合的总回报。接下来的Rf,表示无风险回报。Rm,表示市场回报。最后还有一个字母贝塔,等一下我会更详细的解释。

作为一名普通的投资者,我们需要明白的就是,阿尔法,其实就是一个差值。它体现的,是某位基金经理的投资回报,和某一个比较基准之间的差。

如何理解这个差呢?让我用F1赛车的例子帮助大家更好的理解这个道理。

假设在一场方程式赛车大赛中,赛车手小王,跑完一圈花了2分30秒。现在我们问:小王开的快还是慢?

要回答这个问题,关键是看他的成绩和谁来比。假设我们获知,所有赛车手跑完一圈的平均耗时为2分45秒。那么我们就可以计算得出,小王比平均的赛车手水平快了15秒。这,就是小王的阿尔法。

所以,我们在金融投资中经常提到的阿尔法,其实指的就是,基金经理能够创造的,超越市场基准的超额回报。阿尔法衡量的,是基金经理和某个比较基准对比以后,超越或者落后于该基准的那部分差值。

现在我们回到一开始写的阿尔法的公式。我们注意到,除了一些不同的回报以外,在该公式中还有另外一个希腊字母,贝塔。下面就来给大家简单介绍一下贝塔的含义。

在这张图中,有两条价格线。第一条绿色的线,是标准普尔500指数的历史价格。我们可以看到,在这段时间里,标普500指数从2000点左右上涨到2700点左右。

第二条橙色线,是美国公司Facebook的历史股价。同样在这段时期里,Facebook的股价从每股70美元左右,上涨到每股160美元左右。

那么问题来了:购买facebook股票,和购买标普500指数基金,哪种投资承担的风险更大呢?

如果我们回顾一下Facebook股票和标普500指数的每周价格波动历史,就不难得出结论,Facebook的投资风险要大得多。

如图所示,橙线代表的是Facebook股票每周的价格波动,而绿线则代表标普500指数每周的价格波动。两相对比,Facebook股票每周的价格波动,要显著高于标普500指数,因此其投资风险也更高。

相对于标普500指数来说,Facebook股票的投资风险更高。这个特性可以从该股票的贝塔值上得到体现。

这里显示的是贝塔的计算公式。我们可以看到,一个股票的贝塔值,是该股票历史回报和市场基准历史回报的协方差,除以市场基准历史回报的方差。

根据这个公式,我们可以计算得出,Facebook在过去三年,相对于标普500指数的贝塔值为1.14左右。这是什么意思呢?就是说,如果标普500指数上涨10%,那么facebook股票的价格大约会平均上涨11.4%左右。而如果标普500指数下跌10%,那么facebook股票的价格则会下跌11.4%左右。

一个股票的贝塔值,体现的就是它相对于市场基准价格变化的敏感度。股票的贝塔值越高,其价格波动的范围就越大,也可以被近似的认为,其投资风险更高。

现在,我们回到一开始提到的公式,把阿尔法和贝塔结合起来分析。

我们已经知道,阿尔法,衡量的是投资组合或者基金经理,超过某个基准的投资回报。因此对于投资者来说,正的阿尔法,比负的阿尔法更好。阿尔法越大,说明该基金经理创造的超额收益越高,因此也越好。

而贝塔,则体现了该投资组合,或者基金经理相对于市场基准的风险。从投资角度来讲,风险自然是越低越好。从公式中我们也可以看出,贝塔高的话,公式中被减去的成分就越多,因此也会拖累阿尔法。而要想获得高一点的阿尔法,想办法把贝塔降低,是行之有效的方法之一。

通过上面这个简单的例子,我希望大家可以理解,一个好的投资策略,应该有两项重要指标。

第一,有正的阿尔法,并且越大越好。

第二,该投资组合的贝塔比较低。

低贝塔,高阿尔法的投资策略/基金,非常难找,万里挑一。这也是很多投资机构面临的最大挑战。当然,如果连大型投资机构都很难找到这样的基金的话,个人投资者能够找到优秀的基金经理的概率,可想而知。

希望对大家有所帮助。

本文源自伍治坚证据主义

更多精彩资讯,请来金融界网站(www.jrj.com.cn)

Facebook 开源深度学习推荐模型 DLRM,可直接用 PyTorch 和 Caffe2 实现

雷锋网 AI 科技评论按,随着深度学习的出现,基于神经网络的个性化和推荐模型已经成为包括 Facebook 等公司构建推荐系统的重要工具。然而,这些模型与其他深度学习模型有很大的不同,因为它们必须能够处理用于描述高级属性的分类数据。对于一个神经网络来说,有效地处理这类稀疏的数据是很有挑战性的,而且由于公开的代表性模型和数据集细节的缺乏,减缓了其研究进展。

为了有助于加深人们对这一子领域的理解,Facebook 开源了一个最先进的深度学习推荐模型(DLRM),该模型是使用 Facebook 开源的 PyTorch 和 Caffe2 平台实现的。DLRM 通过将协同过滤和基于预测分析的方法的原理结合起来,改进了其他模型,从而使其能够有效地处理工业规模的数据,并提供最先进的结果。

相关 github 地址:

雷锋网将 Facebook 博文编译如下:

通过发布这个模型,并在本文中详细介绍它的功能,我们希望帮助社区找到新方法,从而解决使用这类模型所带来的独特挑战。我们还希望鼓励进一步的算法实验、建模、系统协同设计和基准测试。这反过来将导致新的模型和更高效的系统,它们可以为使用数字服务的人们提供更相关的内容。

了解 DLRM 模型

在 DLRM 模型中,分类特征使用 embedding 处理,而连续特征使用底层多层感知器(MLP)处理。然后,它明确地计算了不同特征的二阶交互作用。最后,使用顶部 MLP 对结果进行处理,并将其输入到 sigmoid 函数中,以给出单击的概率。

DLRM 模型处理描述用户和产品的连续(密集)和分类(稀疏)功能,如图所示。它使用了各种硬件和系统组件,如内存容量和带宽,以及通信和计算资源。

基准化分析与系统协同设计

DLRM 的开源实现可以用作衡量以下各项的基准:

模型执行的速度

各种数值技术如何影响其精度

这可以在不同的硬件平台上完成,例如 BigBasin 人工智能平台。

DLRM 基准测试提供了两个版本的代码,一个使用 PyTorch,另一个使用 Caffe2 操作符。此外,还使用 Glow C++操作符提供了这种变化的实现(为适应每个框架的具体情况,每个框架的代码略有不同,但总体结构是相似的)。这些实现允许我们将 Caffe2 框架与 PyTorch 框架以及当前专注于加速器的 Glow 的实现进行对比。也许最重要的是,我们接下来可以突出显示每个框架中的最佳特性,这些特性将来可以合并到一个框架中。

Big Basin 采用模块化,可扩展的架构,开源设计可用

DLRM 基准测试支持随机和合成输入。支持与分类特征对应的自定义索引生成有很多原因。例如,如果我们的应用程序使用一个特定的数据集,但出于隐私考虑,我们不想共享它,那么我们可以选择通过分发来表示分类功能。另外,如果我们想练习系统组件,例如研究内存运行,我们可能想捕获合成追踪中,原始追踪访问的基本位置。

此外,Facebook 上的服务根据用例使用各种个性化的推荐模型。例如,为了在大规模数据上提高性能,服务可以通过批处理输入并将多个模型放在一台机器上,在不同的平台上并行推理。此外,Facebook 数据中心中的各种服务器引入了架构异构性,从不同的 SIMD 宽度到缓存层次结构的不同实现。这篇文章对 Facebook 推荐系统的体系结构进行了深入分析。

并行性

如上图所示,DLRM 基准由计算主导的 MLP 和内存容量有限的 embedding 组成。因此,依靠数据并行性来提高 MLP 的性能,依靠模型并行性来满足嵌入的内存容量需求是很自然的。DLRM 基准测试提供了一个遵循此方法的并行实现。我们注意到,在交互过程中,它需要一个高效的全部一一对应的通信原语,我们称之为蝴蝶式随机播放。它将每个设备上小批量的嵌入查找结果随机移动到所有设备上的小批量嵌入查找的一部分。如下图所示,其中每种颜色表示小批量的不同元素,每个数字表示设备及其分配的 embedding。

此图显示 DLRM 的蝴蝶式随机播放

建模与算法实验

DLRM 基准测试是用 Python 编写的,其中模型体系结构、数据集和其他参数由命令行参数定义。

该代码是自包含的,可以与公共数据集(包括 kaggle 广告展示挑战赛数据集)进行接口。这个特定的数据集包含 13 个连续特征和 26 个分类特征,这些特征定义了 MLP 输入层的大小以及模型中使用的 embedding 数量,而其他参数可以在命令行上定义。例如,下面的图表显示了使用以下命令行参数运行 DLRM 的结果。

python dlrm_s_pytorch.py --arch-sparse-feature-size=16 --arch-mlp-bot="13-512-256-64-16" --arch-mlp-top="512-256-1" --data-generation=dataset --data-set=kaggle --processed-data-file=./input/kaggle_processed.npz --loss-function=bce --round-targets=True --learning-rate=0.1 --mini-batch-size=128 --print-freq=1024 --print-time

左边的图表显示了训练和测试二进制交叉熵损失,右边的图表显示了训练和测试的准确性

模型运行在一个真实的数据集上,它允许我们测量模型的精度。我们计划在接下来的工作中基于建模和算法实验,对该模型的影响进行进一步深入的分析。

通过详细描述 DLRM 最先进的个性化推荐系统及其开源实现,我们希望能提醒大家注意这类模型所带来的独特挑战。我们期待着与人工智能社区的其他人合作,在算法实验、建模、系统协同设计和基准测试方面取得进展。从长远来看,我们的目标是开发新的、更好的方法,将深度学习用于推荐和个性化工具(并提高模型的效率和性能),使用新的方法给人们推荐和他们最相关的内容。

via:

雷锋网雷锋网

想知道Facebook怎样做推荐?FB开源深度学习推荐模型

选自Facebook博客

作者:Maxim Naumov等

机器之心编译

参与:路、一鸣

近日,Facebook 开源了深度学习推荐模型 DLRM。DLRM 通过结合协同过滤算法和预测分析方法,提供了推荐系统当前最优效果。

随着深度学习的发展,基于神经网络的个性化和推荐模型成为在生产环境中构建推荐系统的重要工具。但是,这些模型与其他深度学习模型有显著区别,它们必须能够处理类别数据(categorical data),该数据类型用于描述高级属性。对于神经网络而言,高效处理这种稀疏数据很有难度,缺乏公开可用的代表性模型和数据集也拖慢了社区在这方面的研究进展。

为了促进该子领域的进步,Facebook 开源了当前最优的深度学习推荐模型 DLRM,该模型使用 PyTorch 和 Caffe2 平台实现。DLRM 通过结合协同过滤算法和预测分析方法,相比其他模型获得进一步的提升,从而能够高效处理生产级别数据,并提供当前最优结果。

Facebook 在官方博客中表示:开源 DLRM 模型以及公布相关论文,旨在帮助社区寻找新的方式,解决这类模型面临的独特挑战。Facebook 希望鼓励进一步的算法实验、建模、系统协同设计和基准测试。这将有助于新模型和更高效系统的诞生,从而为人们使用大量数字服务提供更具相关性的内容。

DLRM 开源地址: 论文:

了解 DLRM 模型

DLRM 模型使用嵌入处理类别特征,使用下方的多层感知机(MLP)处理连续特征。然后显式地计算不同特征的二阶相互作用(second-order interaction)。最后,使用顶部的多层感知机处理结果,并输入 sigmoid 函数中,得出点击的概率。

DLRM 模型处理描述用户和产品的连续(密集)特征和类别(稀疏)特征。该模型使用了大量硬件和软件组件,如内存容量和带宽,以及通信和计算资源。

基准和系统协同设计

DLRM 的开源实现可用作基准,去衡量:

模型(及其相关算子)的执行速度;不同数值技术对模型准确率的影响。

这可以在不同的硬件平台上进行,比如 BigBasin AI 平台。

DLRM 基准提供两个版本的代码,分别使用 PyTorch 和 Caffe2。此外,DLRM 还有一个使用 Glow C++算子实现的变体。为了适应不同框架,各个版本的代码略有不同,但整体结构类似。

这些模型实现允许我们对比 Caffe2 框架和 PyTorch 框架,以及 Glow。或许最重要的一点是,未来我们可以从每个框架中选出最好的特征,然后组合成一个框架。

Big Basin 具备模块化、可扩展的架构。

DLRM 基准支持随机输入和合成输入的生成。基准模型同时也支持模型自定义生成类别特征对应的索引。这是因为多种原因:例如,如果某个应用使用了一个特定数据集,出于隐私原因我们无法共享数据,那么我们或许可以通过分布表示类别特征。此外,如果我们想要使用系统组件,如学习记忆行为,我们可能需要捕捉合成轨迹(synthetic trace)内原始轨迹的基本位置。

此外,Facebook 根据使用场景的不同,使用多种个性化推荐模型。例如,为了达到高性能,很多服务在单个机器上对输入执行批处理并分配多个模型,从而在不同平台上实现并行化推断。此外,Facebook 数据中心的大量服务器具备架构异构性,从不同的 SIMD 带宽到不同 cache hierarchy 的实现。架构异构性为软硬件协同设计和优化提供了机会。(对 Facebook 神经推荐系统架构的深入分析参见论文《The Architectural Implications of Facebook's DNN-based Personalized Recommendation》。)

并行计算

正如第一幅图所示,DLRM 基准模型由主要执行计算的多层感知机和受限于内存容量的嵌入构成。因此,它自然需要依赖数据并行计算提升多层感知机的表现,利用模型并行化解决嵌入对内存容量的需求。

DLRM 基准模型提供了并行化的解决方案。它通过一种名为 butterfly shuffle 的机制,将每个设备上 minibatch 的嵌入矩阵分割成多个部分,并分配到所有设备上。如下图所示,每种颜色代表 minibatch 中的一个元素,每个数字代表一个设备及其分配到的嵌入矩阵。Facebook 研究团队计划优化这一系统,并在以后的博客中公开详细的性能细节。

butterfly shuffle 图示。

建模和算法实验

DLRM 基准模型使用 Python 语言编写,支持灵活部署。模型的架构、数据集和其他参数都使用命令行定义。DLRM 可用于训练和推断。训练过程中,DLRM 增加了反向传播功能,使参数得到更新。

代码是完整的,且可以使用公开数据集,包括 Kaggle 展示广告挑战赛数据集(Kaggle Display Advertising Challenge Dataset)。该数据集包含 13 种连续特征和 26 种类别特征,定义了 MLP 输入层的大小,以及嵌入的数量,其他参数则可以使用命令行定义。例如,根据如下命令行运行 DLRM 模型,可以产生训练结果。结果如下图所示:

python dlrm_s_pytorch.py --arch-sparse-feature-size=16 --arch-mlp-bot="13-512-256-64-16" --arch-mlp-top="512-256-1" --data-generation=dataset --data-set=kaggle --processed-data-file=./input/kaggle_processed.npz --loss-function=bce --round-targets=True --learning-rate=0.1 --mini-batch-size=128 --print-freq=1024 --print-time

左图展示了模型在训练和测试集上的二值交叉熵损失。右图则显示了模型在训练集和测试集上的准确率。

DLRM 模型可在真实数据集上运行,这可以帮助衡量模型的准确率,特别是使用不同的数值技术和模型进行对比实验时。Facebook 团队计划对量化和算法实验对 DLRM 模型的影响进行深入分析。

DLRM 模型开源代码

用户怎样使用模型呢?Facebook 官方在 GitHub 上开源了相关代码。目前,DLRM 模型主要有两个版本的实现:

DLRM PyTorchDLRM Caffe2

通过使用 DLRM Data 相关的模块,我们可以快速生成或加载数据,也能使用对应的脚本进行测试。此外,如果希望试试基准模型,还能查看./bench 目录下的 DLRM 基准实现。

训练和测试

下图展示了如何训练一个较小模型:

用户还可以使用 Debug 模式训练:

为了测试运行正常,可以使用如下的代码:

模型的保存和加载

训练时,模型可以使用 --save-model=保存。如果在测试时准确率提升,则模型会被保存。查看测试精确率的命令是: --test-freq intervals。

可以使用 --load-model=加载之前保存的模型。加载的模型可以继续用于训练,通过 checkpoint 文件保存。如果只要求用模型进行测试,则需要特别命令—inference-only。

原博客地址:

未经允许不得转载: CIFCOM跨境电商 » facebook如何创建公共主页

相关文章

themebetter

contact