因为数据科学是个广义的学科,所以这里将从任何业务里都可能会遇到的数据科学家类型开始,通过这个部分或许你能发现自己隐藏的数据科学家潜质:)正如任何科学学科一样,数据科学家也可能向相关学科学习借鉴,尽管数据科学已经有自己的部分,尤其是自动处理超大规模非结构化数据的方式和算法,甚至不需要人为干涉,就可以做实时处理或者预测。
1. 数据科学家的各种类型
想要开始并且了解一些以前的观点,不妨参考2014年发布的文章“ 9 types of data scientists”或者同年另一篇文章比较数据科学和“16 analytic disciplines”。更近一点的(2016八月) Ajit Jaokar 讨论了Analytics data scientist(Type A)和Builder data scientist(Type B)的不同:
Type A Data Scientists在工作中遇到数据相关时可以写出不错的代码,但是并不必须是专家,这类data scientist可能专业是实验设计、预测、建模、统计推断或者其他统计学研究的典型部分。但是一般而言,数据科学家的工作产出可不是学术统计学有时候建议的那样“p-values and confidence intervals”(正如有时候传统的药物领域统计学家会用到那样)。在Google,Type A Data Scientists通常指统计学家、定量分析师、决策支持技术分析师或者数据科学家,可能还有其他的一些。
Type B Data Scientists是building data的。B类和A类有些相同的统计学背景,但他们还是更好的coders,可能有专业的软件工程的训练。他们主要对在产品中使用数据感兴趣,他们建立与用户交互的模型,通常是提供推荐的(产品、可能认识的人、广告电影、搜索结果之类)。
笔者之前还写过 ABCD's of business processes optimization ,D代表data science,C 代表computer science,B代表business science,A代表analytics science。Data Science可能包括也可能不包括写代码或者数学实践,具体可以参考low-level versus high-level data science。在创业公司里,数据科学家通常有几个头衔,比如数据挖掘师、数据工程师或者架构师、研究员、统计员、模型师(预测建模)或者开发者。
尽管data scientist通常被描述成精通R、Python、SQL、Hadoop和统计学的程序员,但这只是冰山一角,受一些培训机构引导而来。但就像实验技术员可以自称物理学家一样,真正的物理学家远不止这样,而且领域专业知识各种各样:天文学、数学、物理学、核物理、力学、电学、信号处理(也是数据科学的一个子领域)等等。以此类比数据科学家,真正涉及到的领域可能多种多样,生物信息学、信息技术、模拟和质量控制、金融工程、传染病学、工业工程等。
笔者过去十年致力于主机间以及设备间的通信,建立系统来自动处理大规模数据集,以及执行一些自动交易:比如购买Internet流量或者自动化生成内容。这些都隐藏着非结构化数据算法的开发需求,这也是AI(artificial Intelligence)、IoT(Internet of thing)、和数据科学的交叉部分,被称作深度数据科学( deep data science)。这部分相对而言不需要和数学打交道,敲代码也不多(主要是一些API),但是确实是数据集中的(包括构建数据系统),而且基于专门为此设计的新的统计学方法。
在这之前,笔者主要做实时信用卡欺诈侦查,而职业生涯早期从事图像遥感技术,即在卫星图像的各种东西中识别出特定的模式(或者形状、特点,比如识别出湖泊)来实现图形分隔:那个时候研究被称作计算统计学,与computer science做相同的事情的人,称呼他们的研究为Artificial Intelligence。今天,同样的研究可能被叫做数据科学或者人工智能了,子领域可能就是信号处理、计算机视觉或者是物联网。
并且,数据科学家分布在整个data science projects生命周期的任何时刻,在数据收集阶段或者数据探索阶段,一直到统计建模和维系既存的系统。
2. 机器学习vs. 深度学习
在深度探讨machine learning和data science的联系之前,这里简要地讨论一下machine learning 和deep learning。machine learning是一套算法,来训练数据集做预测或者采取行动以使得系统最优化。举例来说,supervised classification algorithms被用来根据历史数据将想要贷款的客户分成预期好的和预期差的(good or bad prospects)。对于给定的任务(比如监督聚类),需要的技术多种多样:naive Bayes、SVM、neural nets、ensembles、association rules、decision trees、logistic regression,或者是很多技术的组合。想要了解更详细的算法, click here;了解机器学习的问题, click here。
所有这些都是数据科学的子集。当这些算法自动化后,比如无人驾驶飞机或者无人驾驶汽车,这就叫AI了,或者说的具体一点,deep learning。 Click here浏览另一篇比较机器学习和深度学习的文章。如果采集的数据来自传感器并且通过互联网传播,那么这就是机器学习或数据科学或深度学习应用于物联网了。
有些人对深度学习有不同的定义,他们认为深度学习是更深层次的神经网络(一种机器学习的技术)。最近有人在Quora上问这个问题,下面是一些具体的解释(来源是Quora)
AI(Artificial Intelligence)是创建于20世纪60年代的计算机科学的一个子领域,是关于解决那些对人类来讲非常容易但是对计算机而言很难的任务。值得一提的是,所谓的strong AI可能可以做所有人类可以做的事情(可能除了纯粹的物理问题)。这是相当广泛的,包括各种各样的事情,比如做计划,在世界上到处溜达,识别物体和声音,说话,翻译,社交或者商业交易,还有创造性工作(比如写诗画画)等等。
NLP(Natural language processing)只是AI要处理的语言部分,尤其是写。
Machine learning是这样的一种情况:给出一些可以被以离散形式描述的AI问题(比如从一系列动作中选出对的那个),然后给定一堆外部世界的信息,在不需要程序员手动写程序的情况下选出那个“正确的”行为。通常情况需要借助外界的一些过程来判断这个动作对不对。在数学上,这就是函数:你给一些输入,然后你想要他处理一下得到正确的输出,所以整个问题就简化为用一些自动的方式建立这种数学函数模型。和AI区分一下:如果我写了一段特别机智的程序有着人类的行为,那这就可以是AI,但是除非它的参量都是自动从数据中学会的,否则就不是机器学习。
Deep learning是当下非常流行的机器学习的一种。它包含一种特殊的数学模型,可以想成是一种特定类型的简单块的组合(或者说是块的功能的组合),这些块可以进行调整来更好的预测最终结果。
那么,机器学习和统计学的不同?这个文章尝试回答这个问题。作者写到,统计学是有着被预测量或者被评估量的置信区间的机器学习。我倾向于反对,因为我已经建立了不需要任何数学或者统计学知识的工程师友好型置信区间。
3. Data Science VS Machine Learning
机器学习和统计学都是数据科学的一部分。Learning这个词在machine learning里意味着依赖于某些数据的算法,被用作一种训练模式集来调整一些模型或者算法参数。这包含很多技术,比如回归、朴素贝叶斯或者监督聚类。但不是所有的技术都适合这个分类。比如,非监督聚类——一种统计学和数据科学的方法——旨在不依靠任何先验知识和训练集监测聚类或聚类结构来帮助分类算法。需要有人来标注被发现的聚类。有些技术是混合的,比如半监督分类。有些模式侦查或者密度评估技术适合这个分类。
然而数据科学比机器学习范围大得多。数据科学里“data”,可能是也可能不是来自机器或者机械过程的(调查结果可能是人工采集的,临床试验需要一种特殊类型的small data等),而且可能和上面提到的”learning”一点关系也没有。但是主要的不同还是因为数据科学实际上涵盖了整个数据处理的范围,而不只是算法或者统计学方面。
当然了,在很多组织里,数据科学家只是专注于这个处理过程的一部分。想要了解一下我对数据科学的原创贡献。
本文作者:佚名
来源:51CTO