大数据时代,如何把自己武装成数据科学家? ——访MathWorks公司首席战略师Jim Tung
扫描二维码
随时随地手机看文章
全球知名咨询公司麦肯锡称:“数据,已经渗透到当今每一个行业和业务职能领域,成为重要的生产因素。人们对于海量数据的挖掘和运用,预示着新一波生产率增长和消费者盈余浪潮的到来。”
毋庸讳言,我们现在正处在这样一个爆炸性增长的大数据时代。世界上每天都在产生着各种各样的大量的数据,但大致可以分为两类:工程数据和商业数据。
所谓工程数据,就是来自各种传感器、数据采集设备、测试仪器等的工程上的各种数据。而商业数据,一般是指商业企业内部数据、分销渠道数据、消费市场数据等。
对于工程师来说,处理分析这些海量工程数据将是工作的新挑战。
如何对工程数据实现高级分析?
这需要达到3个境界:
1.通过数据分析,理解数据表达的内涵;
2.寻找数据模式,建立预测模型;
3.在此基础上,提出可行的建议或措施;
要出色完成上面的工作,工程师不仅需要具有专业领域的知识,还要具有写代码和系统集成的能力,同时还得了解统计学和数学知识,这些无疑就是一个强大的数据科学家的要求啊!
想想我们在大学里学的那些可怜有限的知识,离数据科学家还差着十万八千里呢!
不过,也有一个方法,通过运用MATLAB,让自己快速成长为数据科学家!
(什么?没听说过MATLAB,那还不赶紧去补课!)
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分产品。
MATLAB厉害之处在于,它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的图形操作环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
这是来自MathWorks美国总公司首席战略师Jim Tung先生,这位牛人在前不久召开的“2016 MATLAB巡回研讨会”上,以“工程驱动分析的崛起”为主题,通过大量生动案例,告诉工程师如何应用MATLAB和Simulink去实现自己的数据科学家梦想。
Jim Tung先生指出,工程驱动的高级数据分析需求正在迅速崛起,可以说数据分析的需求无处不在。正是由于MATLAB具有的诸多优势:良好的面向对象框架、与Java接口的能力(后端工作)、可在云中运行、单元测试框架、健壮的数值算法、健壮和可靠的数学优化程序等,使得MATLAB在多个行业帮助工程师实现高级分析挑战。
例如,BuildingIQ公司使用 MATLAB 的数据分析功能加快开发和部署前瞻性预测算法,以实现暖通空调能耗优化。BuildingIQ 的工程师已开发出一款基于云的软件平台—Predictive Energy Optimization,该平台可以让大型楼宇内的暖通空调在正常运行过程中降低 10%-25% 能耗。BuildingIQ公司项目负责人表示,他们采用 MATLAB 的原因在于它是现有算法原型开发以及执行高级数学运算的最佳工具。MATLAB 能够将BuildingIQ的原型算法直接转换为可以靠处理真实噪音和不确定性问题的产品级算法。
Scania是一家著名的货车及巴士制造商,该公司使用MathWorks工具(包括MATLAB和Simulink)进行基于模型的设计,为其长途运输卡车开发节油驾驶辅助系统。该公司开发负责人表示:“Simulink在我们开发过程的两个阶段特别有帮助。在早期阶段,可帮助我们尝试新的构想并直观地展示工作原理。在生成代码和进行车内测试后,我们可以运行多次仿真,优化设计,并为下一次迭代重新生成代码。”在本次大会上,还展示了一段视频,Scania在其车辆自动紧急制动的研究中,基于MathWorks工具进行传感器融合的先进分析,从而实现了在货车50英里时速下的紧急制动。
面对不断涌现的新技术,例如:无人机、机器学习、神经网络等,MathWorks的工具如何满足新的挑战呢?Jim Tung先生解释说,“首先,我们提供了很多新的算法,包括一些老算法的新实现。我们有统计与机器学习的工具箱,深度学习和神经网络工具箱,这些新的算法都可以让客户直接使用。其次,我们提供了代码生成的功能,提供了一个简单快捷的方法让用户把算法直接做到嵌入式系统中。另一方面,我们对工程性的关注也很高,我们不仅关注一些统计学数学的东西,我们更关注怎样最快地得到一些有效可用的技术,例如,有关如何学习像Machine learning新技术的途径。另外,我们的工具还新增支持GPU计算,对FPGA的支持,以及对集群技术的支持,这些对工程师应对新的工程挑战将大有帮助。”
附:MATLAB起源
上世纪70年代,美国New Mexico大学计算机系教授Cleve Moler在开发EISPACK和LINPACK程序库,他同时在教授数值分析和矩阵理论这门课,他想让学生们在使用EISPACK和LINPACK时免去用Fortran编写接口程序的麻烦,于是他就基于Fortran语言和EISPACK/LINPACK的部分内容编写出了第一个版本的MATLAB。1979年,Cleve Moler去斯坦福访学,并给研究生教授数值分析课程, Cleve Moler让学生们用MATLAB去完成课后作业,他发现其中来自数学/计算机专业的学生对他编写的MATLAB并不感冒,因为Fortran语言在数值分析方面并不主流;可是来自工程专业的学生却很喜欢MATLAB,因为MATLAB的矩阵数据特点对他们很有帮助,但Cleve Moler却对这些学生的研究课题像控制分析和信号处理等一无所知。后来,Cleve Moler班上的一些学生毕业后继续从事改进MATLAB的工作,让MATLAB在控制分析和信号处理方面变得更强大,同时基于此推出了一些商业产品。
Jack Little是第一个基于Fortran MATLAB的商业产品的主要开发者,他和同事Steve Bangert用C语言重新编写了MATLAB,同时增加了M-files、工具箱和更多强大的图形功能。1984年,Cleve Moler、Jack Little和Steve Bangert成立了MathWorks公司,正式把MATLAB推向市场,并继续进行MATLAB的研究和开发。