专栏首页量化投资与机器学习通过 MATLAB 处理大数据

通过 MATLAB 处理大数据

谢谢大家支持,可以让更多朋友和有兴趣志同道合的人关注这个公众号。让知识传播的更加富有活力,谢谢各位读者。

很多人问我为什么每次的头像是奥黛丽赫本,我只能说她是我女神,每天看看女神也是不错的嘛!

查看之前博文点击右上角关注查看历史消息

最近我在用MATLAB的时候总是觉得运行太慢,太费内存。今天给大家推荐下面的新算法,希望对大家有帮助

大数据指的是创建的数据和供分析的数据的数量与速率迅速增加。

大数据使分析师和数据专家有机会获得更好的见解,进行更明智的决策,但是它同时也会带来许多的挑战:可用的内存可能无法足以处理大数据集,可能需要花太久的时间进行处理或可能流动太快而无法存储。标准算法通常不能以合理的时间或内存来处理大数据集等等。

目前没有任何一种单一方法可以处理大数据。为此,MATLAB 提供了许多工具来解决这些挑战。

在 MATLAB 中处理大数据

1. 64 位计算。

64 位版本的 MATLAB 可迅速增加内存中可保留的数据量——通常可达到任意 32 位程序的 2000 倍。32 位程序限制您只能使用 2 GB 的内存,而 64 位 MATLAB 的内存可以达到操作系统的物理内存限制。对于 Windows 8,台式机内存为 500 GB,Windows Server 内存为 4 TB。

2. 内存映射的变量。

借助 MATLAB 中的 memmapfile 函数,您可以将文件或文件的一部分映射到内存中的 MATLAB 变量。这样,您就可以高效访问磁盘上由于太大而无法保留在内存中或需要花太长时间而无法加载的大数据集。

3. 磁盘变量。

matfile 函数使您可以直接从磁盘上的 MAT 文件访问 MATLAB 变量(使用 MATLAB 索引命令),无需将全部变量加载到内存。这使您可以在大数据集上进行块处理,这些大数据集因为太大而无法保存在内存中。

4. 内在的多核数学。

MATLAB 中的许多内置数学函数,如 fftinveig 都是多线程的。通过并行运行,这些函数充分利用计算机的多核,提供高性能的大数据集计算。

5. GPU 计算。

如果您正在使用 GPU,Parallel Computing Toolbox 中的 GPU 优化的数学函数可以为大数据集提供更高的性能。

6. 并行计算。

Parallel Computing Toolbox 提供并行 for 循环 , 该循环在多核计算机上并行运行您的 MATLAB 代码和算法。如果您使用 MATLAB Distributed Computing Server,则可以在机器群集上并行执行,这些机器可扩展到数千台计算机。

7. 云计算。

对于数百或数千台计算机的按需并行处理,您可以在 Amazon Elastic Computing Cloud(亚马逊弹性计算云)(EC2) 上使用 MATLAB Distributed Computing Server 并行运行 MATLAB 计算。借助云计算,您无需购买或维护您自己的群集或数据中心就可以处理大数据。

8. 分布式阵列。

使用 Parallel Computing ToolboxMATLAB DistributedComputing Server,您可以处理分布在计算机群集内存中的矩阵和多维数组。使用此方法,您可以针对因太大而无法由单台计算机内存处理的大数据集,进行存储和执行计算。

9。 流式算法。

使用系统对象,您可以对因太大或太快而无法保留在内存中的数据传入流执行流式处理。此外,您还可以使用 MATLAB Coder 通过 MATLAB 算法生成嵌入式 C/C++ 代码,并针对高性能实时系统运行产生的代码。

10. 图像块处理。

使用 Image Processing Toolbox 中的 blockproc 函数,您可以处理特别大的图像,方法是每次以模块的形式高效处理它们。与 Parallel Computing Toolbox 一起使用时,在多核和 GPU 上并行运行计算。

11. 机器学习。

机器学习有助于通过大数据集提取见解和开发预测性模型。广泛的机器学习算法,包括 Statistics and Machine Learning Toolbox Neural Network Toolbox 中提供的促进式 (boosted) 和袋装 (bagged) 决策树、K 均值和分层聚类、k-最近邻搜索、高斯混合、期望最大化算法、隐马尔可夫模型和神经网络。

量化投资与机器学习

知识、能力、深度、专业

勤奋、天赋、耐得住寂寞

本文分享自微信公众号 - 量化投资与机器学习(ZXL_LHTZ_JQXX),作者:西西

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-11-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 那些年,使用​MATLAB的Quant们!

    前几天哈工大被禁用MATALB的事在网上闹得沸沸扬扬。今天我们来说说量化圈的MATLAB近况。

    量化投资与机器学习微信公众号
  • 【原创精品】主题模型 - LDA学习笔记(一)

    本期编辑:Roy ● 复旦大学物理学士、计算机硕士 ● 文本挖掘、机器学习、量化投资 一、概述 1. LDA是什么? ‍‍主题模型(Topic Model) 2...

    量化投资与机器学习微信公众号
  • 【干货】Matlab的内存问题讨论

    谢谢大家支持,可以让有兴趣的人关注这个公众号。让知识传播的更加富有活力,谢谢各位读者。 很多人问我为什么每次的头像是奥黛丽赫本,我只能说她是我女神,每天看看女神...

    量化投资与机器学习微信公众号
  • LBS场景数字化营销经典应用场景——看看会展业怎么用把LBS玩的高大上的!

    当下,互联网人口红利不再,线上流量成本急速攀升;与此同时,用户依然离不开线下,且其回归线下服务的趋势已经日渐凸显,线上+线下的连接愈加紧密。 由此,互联网营销不...

    iCDO互联网数据官
  • TensorFlow 2.0 代码实战专栏开篇

    原项目 | https://github.com/aymericdamien/TensorFlow-Examples/

    磐创AI
  • Spring Cloud构建微服务架构:分布式服务跟踪(跟踪原理)

    通过上一篇《分布式服务跟踪(入门)》的例子,我们已经通过Spring Cloud Sleuth往微服务应用中添加了实现分布式跟踪具备的基本要素。下面通过本文来详...

    程序猿DD
  • 为什么现在的内存分配方式可以支持递归?

    程序员编程需要预计变量大小,指定特定内存大小给变量,无法通过代码动态给变量分配内存。程序中声明的变量在编译期间就已经被绑定到目标内存。

    城市中的游牧民族
  • 为什么现在的内存分配方式可以支持递归?

    版权声明:可转载,需要明确注明转载出处和链接;不允许商业用途。 https://blog.csdn.net/bengxu/article/details...

    城市中的游牧民族
  • springmvc 项目完整示例04 整合mybatis mybatis所需要的jar包 mybatis配置文件 sql语句 mybatis应用

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google c...

    noteless
  • 全球排名前十五的编程语言都是什么车?

    C语言是全能手,小巧,强大,所向披靡,可靠,任何事情都能对付。 C++是新的C,双倍的能力,双倍的尺寸,适应险恶的环境,但是你如果没练好就去驾驶,很可能会撞车。...

    小莹莹

扫码关注云+社区

领取腾讯云代金券