【布道师系列】杨健——算法、模型、框架、平台是些什么鬼?
连
载
DataCanvas布道师
《APS一二三》系列更新
DataCanvas APS机器学习平台
概/念/篇/来/啦!
DataCanvas布道师团队成员之
首席APS产品掌门人
杨 健
携全新APS一二三系列亮相
全视角解析机器学习平台
此番呈上概念篇
《算法、模型、框架、平台
是些什么鬼?》
还是熟悉的幽默配方
快随八斗先睹为快吧!
算法(Algrithm)
模型(Model)
框架(Framework)
平台(Platform)
机器学习领域的一些名词有它特定含义,比如“算法”,通常做软件开发的同学第一时间想到的是排序算法、搜索算法、图遍历算法、加密算法等等,但在机器学习领域说算法我们可能指的是用于解决分类或者回归问题的逻辑回归、贝叶斯分类、随机梯度下降。
本文中我们讨论这些概念或名词并不追求在学术层面的准确性和严谨性,更多的目的是对这些概念有个初步的理解,在后面的内容中提及这些名词的时候大家知道我们说的是什么。
算法
1
这里提到的算法我们特指机器学习算法,简单的说机器学习算法就是用来学习、训练一个模型的计算方法。
这个模型可以用于解决几类问题:
分类问题:推断明天的天气是晴天、多云、下雨。推断一张图片里面的动物是什么。
回归问题:预测明天的气温是多少度。预测明天某支股票的价格是多少。
聚类问题:根据用户行为特征自动划分用户群体,生成用户标签。
常见的算法包括:线性回归、逻辑回归、决策树、KNN、支持向量机、朴素贝叶斯、感知机等等,下面有一张在不同分类维度下常用机器学习算法的图表:
为了不陷入机器学习的知识黑洞这里不展开对算法的讨论,有兴趣的同学建议翻阅专业资料,国内比较扎实的入门读物推荐李航老师的《统计学习方法》和周志华老师的《机器学习》,吴军博士的《数学之美》可以作为酒菜,味道鲜美可口。
模型
2
模型是机器学习输出的结果,使用模型可以输入相应的特征从而得到一个预测结果。传统机器学习算法输出的可能是一个概率分布,也可能是一个决策函数,在深度学习中输出的是一个神经网络架构和神经元上的权值信息。
我们千辛万苦的建模过程,从数据加工、特征提取、特征变换、算法选择、模型训练、评估、调参,最终的目的就是得到一个理想的模型。
训练好的模型可以导出成一个模型文件,模型文件在指定的运行时环境中可以加载成模型对象用于预测。
框架
3
上文中说到的算法通常在书本上可以看到它的原理和相关的统计模型、数学模型的推导过程。让算法能应用到现实工作中需要使用计算机语言编程实现算法的计算过程,所以我们比较熟悉的Scikit-learn、MLLib、Tensorflow这些就是实现了一系列算法的机器学习框架。
一个好的框架不仅仅需要提供算法实现,同时还要具备以下特性:
高效:具备高效能的底层计算框架,提供高性能的算法实现。
完整:具备端到端的机器学习建模能力,能够完成特征加工、模型训练、模型评估、模型输出、模型预测全部任务。
易用:提供友好的API接口,可以快速、简单的完成模型训练。为多种编程语言提供API接口。
可伸缩:提供分布式训练能力支持大规模数据的模型训练。
社区活跃:促进框架不断的演进、迭代。开源社区围绕框架提供丰富的工具链。
一些特性
下面介绍几个比较流行的机器学习框架:
几个框架
Scikit-learn:基于Python的通用机器学习框架,主要提供传统机器学习算法
Spark MLLib:基于Spark的分布式机器学习框架
H2O:提供高性能的机器学习算法,同时也提供了分布式训练的框架以及基于GPU完成高性能训练的算法库
Tensorflow:Google开源的用于深度学习的计算引擎和算法框架
MXNet:上海交大的校友李沐和陈天奇发起的开源深度学习框架
PaddlePaddle:百度开源的深度学习框架
机器学习框架更详细的特性解析和身世背景请看我接下来会发布的另一篇文章:《机器学习框架那些事》
平台
4
我们介绍了机器学习算法、模型、框架的含义,在现实中我们在本地的笔记本电脑上通过简单的pip命令指定一个合适的机器学习框架安装到操作系统中,就已经具备训练模型的全部条件。搭建一个训练环境最基本的条件包括:
硬件资源:内存、CPU、磁盘、有GPU就更棒了
操作系统:Linux、Windows
机器学习框架及依赖的运行时软件环境
上图就是一个最基础的机器学习训练平台,很多数据科学家在做建模探索和验证阶段,都是在自己的电脑上完成的。是的,机器学习并不要求非常苛刻的条件,但在本地电脑上做模型训练有时也会遇到各种困扰:
● 我们的训练数据通常存储在后台数据库或是大数据集群上,需要定期的导出到本地更新数据集。
● 把数据导出到本地会引发数据安全的问题,产生数据泄漏的风险。
● 本地CPU、内存资源有限,如果是非常大的数据集,有时无法完成训练。
● 如果需要用到多个不同的算法框架,在环境管理和维护上是一个非常复杂的工作。
● 模型在不断的调优和迭代,模型的版本难以管理,模型和对应的训练代码之间很难保持一致关系。
这还是单兵作战遇到的问题,如果是在一个团队中通过协作完成建模任务会遇到更多更复杂的问题。解决问题的办法就是搭建一个可以满足团队协同工作的分布式机器学习平台,当然我们推荐使用DataCanvas APS😉。
算法、模型、框架、平台
是些什么鬼?
同学们现在是不是有更清晰的认识啦
接下来的APS一二三系列
会深入讲解机器学习平台的
重要性能!
八斗约你们不见不散哦~
延伸阅读
APS一二三系列之
了解更多DataCanvas
DataCanvas入选中国大数据行业应用TOP Choice 2019
九章云极周晓凌:金融数据科学平台建设的思考
【布道师系列】周晓凌——IOT时序数据分析解决方案DataCanvas入选Gartner Cool Vendors,中国大陆唯一入选企业九章云极荣登IDC MarketScape,位列机器学习平台主要厂商九章云极斩获中关村“番钛客”大赛“金融科技应用创新奖”华兴Alpha对话尚明栋:科技赋能企业服务的新实践九章云极王俊鹏:数据科学趁势而行,知识融合成为创新关键九章云极赋能青岛检察院数字化转型,获2019IDC创新大奖方磊——创业5年的微软老兵:为什么数据科学平台是大势所趋?
捷报| 九章云极入围2019中国金融科技竞争力100强榜快讯 | DataCanvas九章云极签约天津农商银行九章云极王俊鹏:机器学习时代下金融行业的创新探索DataCanvas九章云极与北航达成战略合作快讯 | DataCanvas九章云极签约中国太平洋保险集团DataCanvas九章云极:永远站在数据科学家身后九章云极方磊:IT技术交付将来未来十年发生重大变革
DataCanvas
数据科学赋能企业AI