「布道师系列」杨健 外汇分析基本框架是什么意思呀怎么写出来的呢
为了不陷入机器学习的知识黑洞这里不展开对算法的讨论,有兴趣的同学建议翻阅专业资料,国内比较扎实的入门读物推荐李航老师的《统计学习方法》和周志华老师的《机器学习》,吴军博士的《数学之美》可以作为酒菜,味道鲜美可口。
模型模型是机器学习输出的结果,使用模型可以输入相应的特征从而得到一个预测结果。传统机器学习算法输出的可能是一个概率分布,也可能是一个决策函数,在深度学习中输出的是一个神经网络架构和神经元上的权值信息。
我们千辛万苦的建模过程,从数据加工、特征提取、特征变换、算法选择、模型训练、评估、调参,最终的目的就是得到一个理想的模型。
训练好的模型可以导出成一个模型文件,模型文件在指定的运行时环境中可以加载成模型对象用于预测。
框架上文中说到的算法通常在书本上可以看到它的原理和相关的统计模型、数学模型的推导过程。让算法能应用到现实工作中需要使用计算机语言编程实现算法的计算过程,所以我们比较熟悉的Scikit-learn、MLLib、Tensorflow这些就是实现了一系列算法的机器学习框架。
一个好的框架不仅仅需要提供算法实现,同时还要具备以下特性:
高效:具备高效能的底层计算框架,提供高性能的算法实现。
完整:具备端到端的机器学习建模能力,能够完成特征加工、模型训练、模型评估、模型输出、模型预测全部任务。
易用:提供友好的API接口,可以快速、简单的完成模型训练。为多种编程语言提供API接口。
可伸缩:提供分布式训练能力支持大规模数据的模型训练。
社区活跃:促进框架不断的演进、迭代。开源社区围绕框架提供丰富的工具链。
下面介绍几个比较流行的机器学习框架:
Scikit-learn:基于Python的通用机器学习框架,主要提供传统机器学习算法
Spark MLLib:基于Spark的分布式机器学习框架
H2O:提供高性能的机器学习算法,同时也提供了分布式训练的框架以及基于GPU完成高性能训练的算法库
Tensorflow:Google开源的用于深度学习的计算引擎和算法框架
MXNet:上海交大的校友李沐和陈天奇发起的开源深度学习框架
PaddlePaddle:百度开源的深度学习框架
机器学习框架更详细的特性解析和身世背景请看我接下来会发布的另一篇文章:《机器学习框架那些事》
平台我们介绍了机器学习算法、模型、框架的含义,在现实中我们在本地的笔记本电脑上通过简单的pip命令指定一个合适的机器学习框架安装到操作系统中,就已经具备训练模型的全部条件。搭建一个训练环境最基本的条件包括:
硬件资源:内存、CPU、磁盘、有GPU就更棒了
操作系统:Linux、Windows
机器学习框架及依赖的运行时软件环境
上图就是一个最基础的机器学习训练平台,很多数据科学家在做建模探索和验证阶段,都是在自己的电脑上完成的。是的,机器学习并不要求非常苛刻的条件,但在本地电脑上做模型训练有时也会遇到各种困扰:
● 我们的训练数据通常存储在后台数据库或是大数据集群上,需要定期的导出到本地更新数据集。
● 把数据导出到本地会引发数据安全的问题,产生数据泄漏的风险。
● 本地CPU、内存资源有限,如果是非常大的数据集,有时无法完成训练。
● 如果需要用到多个不同的算法框架,在环境管理和维护上是一个非常复杂的工作。
● 模型在不断的调优和迭代,模型的版本难以管理,模型和对应的训练代码之间很难保持一致关系。
这还是单兵作战遇到的问题,如果是在一个团队中通过协作完成建模任务会遇到
版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。