数据挖掘 与 Web开发何去何从

(0)引子

下面以现实生活中的一个实例引出本博客的探究点,也许类似的情况正发生在你的身边。

小弟工作5年了,最近有点迷茫。

上一份工作在一家比较大的门户网站做web开发和移动互联网数据挖掘(人手比较紧,同时做)。后来跳槽到BAT之一做数据挖掘。

数据量倒是非常大,但是感觉没有多大意思——就是分析日志,弄报表而已。

之前已经的高性能web开发经验完全用不上,感觉自己还是喜欢做开发,能和业务相关的。

但是数据挖掘大,数据最近挺火的,也是比较纠结。

其实,这也是很多人的症结,包括我个人也是迷茫~~~在此,请求博友们献言献策!不胜感激!


(1)大数据与数学的恩怨
一是公司原来没有一项业务,现在要把一些机器学习这个东西跑起来(从无到有)。二是在你接手的时候公司已经有一定基础了,现在要把性能调上去(从差到优)。前者完全不用任何数学,先用别人有的模块/代码把系统撸起来是王道。后者看具体问题,大多数情况不用数学。在偏研究的地方比如Google X的某些部门还是有用的,可能需要比较好的数学功底,一些deep learning(机器学习)的机构,如百度凤巢研究院或者微软亚洲研究院等。但是,对于一般的数据分析、数据挖掘项目组,特别是对于某一分类器,大多数时候还是看feature找的好不好,找到一个优秀的feature赛过苦逼的在那里调优一万年(身在以KPI优先的公司和拿来就用的大环境,利用已有的开源Lib包)。学好线性代数,统计和凸优化就出门打怪吧,攒系统经验和dirty trick才是王道。当然我也不是说就不要搞数学,只是如果你去公司的话,在学好线代统计凸优化的前提下,同样的时间花在学计算机系统的构建和系统性的思考方法上,比学习数学更划算。在大部分的ML研究里,还是微积分和线性代数、概率统计的功底最重要。


(2)大数据衍生的工作岗位

数据研发工程师侧重于研发,这块我了解的不多,我理解的是主要是数据仓库开发那块。

数据分析师侧重分析,主要是结合业务方需求做些相关的数据分析工作,发现问题,找出问题,提出解决方案。

数据挖掘侧重挖掘,主要用些数据挖掘算法或者机器学习算法做些分类和预测或者其它工作,比如说流失,违约,推荐等等。

数据产品经理偏重产品经理,主要是负责数据产品的相关pd工作。数据产品就是基于数据分析或者挖掘研发出来的产品。

如果硬要分析的话,数据研发工程师要求有一定的开发功底,工作偏向于数据系统的开发。

数据分析师更像传统的BI。而数据挖掘工程师更是以特定需求为目标的数据挖掘工作,比如做人群的偏好挖掘。数据产品经理应该就是产品方向了,以数据业务/产品为目标的产品经理。说到最后,其实除产品经理岗位的另3个岗位,工作职责还是很相似的,主要工作内容以部门要求为准。

引用百科的说法是,数据研发工程师:搭建基础设施,让大数据的存储、处理、计算能在要求的时间内,以合理的成本完成。数据分析师:发现问题,分析问题,得出结论,为决策作支持。数据挖掘工程师:通过建立模型,预测、区分感兴趣的对象。

下面通过几张图说明:








(3)DM 与 ML

1. DM更应用化,ML更偏研究与算法(所以公司一般有数据挖掘工程师,机器学习研究员)

2. ML的问题经常是明确定义的,包括数据集及目标(且数据集是固定的);DM通常只定义目标,甚至连目标也没有(给你一堆数据,给我找出有价值、有意思的东西出来);

   在定义了目标的情况下,DM可以使用非固定的数据源

3. ML只是DM使用的方法的一种,DM还可以使用其他的方法(比如统计,比如直接看数据)

4. 作为一门交叉学科,ML是DM的一门重要基础,但是DM还有其他的基础学科,最重要的是统计与数据库

5. DM的重点是数据。所以做DM的人可能花80%的时间在用各种方式倒腾数据上,而只花会20%的时间在算法上;而对ML可能相反,80%的时间都在读Paper,试验算法上,20%的时间用在处理数据上


(4)数据挖掘 之 文本挖掘 

数据挖掘(Data mining),又译为资料探勘、数据采矿。它是数据库知识发现(英语:Knowledge-Discovery in Databases,简称:KDD)中的一个步骤。数据挖掘一般是指从大量的数据中通过算法搜索隐藏于其中信息的过程。数据挖掘通常与计算机科学有关,并通过统计、在线分析处理、情报检索、机器学习、专家系统(依靠过去的经验法则)和模式识别等诸多方法来实现上述目标。

文本挖掘有时也被称为文字探勘、文本数据挖掘等,大致相当于文字分析,一般指文本处理过程中产生高质量的信息。高质量的信息通常通过分类和预测来产生,如模式识别。文本挖掘通常涉及输入文本的处理过程(通常进行分析,同时加上一些衍生语言特征以及消除杂音,随后插入到数据库中) ,产生结构化数据,并最终评价和解释输出。'高品质'的文本挖掘通常是指某种组合的相关性,新颖性和趣味性。 典型的文本挖掘方法包括文本分类,文本聚类,概念/实体挖掘,生产精确分类,观点分析,文档摘要和实体关系模型(即,学习已命名实体之间的关系) 。

借用高斯的一句话并进行改写送给所有做数据挖掘、文本挖掘的人。“对数据挖掘、文本挖掘的无知不是没有相关知识,而是过于依赖数据挖掘、和文本挖掘而忽视其他”。

文本数据挖掘(Text Mining)是指从文本数据中抽取有价值的信息和知识的计算机处理技术。顾名思义,文本数据挖掘是从文本中进行数据挖掘(Data Mining)。从这个意义上讲,文本数据挖掘是数据挖掘的一个分支。

文本挖掘方法:1.文本分类,是一种典型的机器学习方法,一般分为训练和分类两个阶段。2.文本聚类,是一种典型的无监督式机器学习方法,聚类方法的选择取决于数据类型。3.信息抽取。4.摘要。5.压缩。其中,文本分类和聚类是两种最重要最基本的挖掘功能。

挖掘工具:1.IBM DB2 intelligent Miner。2.SAS text miner。3.SPSS Text Mining。4.DMC TextFilter(纯文本抽出通用程序库)

应用:文本挖掘传统商业方面的应用主要有,企业竞争情报、CRM、电子商务网站、搜索引擎,现在已扩展到医疗、保险和咨询行业。


(5)人工智能、机器学习、统计学和数据挖掘的前世今生
我假定题主是想得到一个清晰的图,上面有各个领域清晰的分界线。因此,在这里我尝试用我最简单的方式来解释这个问题。

机器学习是一门涉及自学习算法发展的科学。这类算法本质上是通用的,可以应用到众多相关问题的领域。

数据挖掘是一类实用的应用算法(大多是机器学习算法),利用各个领域产出的数据来解决各个领域相关的问题。

统计学是一门研究怎样收集,组织,分析和解释数据中的数字化信息的科学。统计学可以分为两大类:描述统计学和推断统计学。描述统计学涉及组织,累加和描绘数据中的信息。推断统计学涉及使用抽样数据来推断总体。

机器学习利用统计学(大多是推断统计学)来开发自学习算法。
数据挖掘则是在从算法得到的结果上应用统计学(大多是描述统计学),来解决问题。
数据挖掘作为一门学科兴起,旨在各种各样的行业中(尤其是商业)求解问题,求解过程需要用到不同研究领域的不同技术和实践。
1960年求解问题的从业者使用术语Data fishing来称呼他们所做的工作。1989年Gregory Piatetsky Shapiro使用术语knowledge Discovery in the Database(KDD,数据集上的知识发掘)。1990年一家公司在商标上使用术语数据挖掘来描述他们的工作。现如今现如今数据挖掘和KDD两词可以交换使用。

人工智能这门科学的目的在于开发一个模拟人类能在某种环境下做出反应和行为的系统或软件。由于这个领域极其广泛,人工智能将其目标定义为多个子目标。然后每个子目标就都发展成了一个独立的研究分支。

这里是一张人工智能所要完成的主要目标列表(亦称为AI问题)
1、Reasoning(推理)
2、Knowledge representation(知识表示)
3、Automated planning and scheduling(自动规划)
4、Machine learning(机器学习)
5、Natural language processing(自然语言处理)
6、Computer vision(计算机视觉)
7、Robotics(机器人学)
8、General intelligence or strong AI(通用智能或强人工智能)
正如列表中提到的,机器学习这一研究领域是由AI的一个子目标发展而来,用来帮助机器和软件进行自我学习来解决遇到的问题。
自然语言处理是另一个由AI的一个子目标发展而来的研究领域,用来帮助机器与真人进行沟通交流。
计算机视觉是由AI的目标而兴起的一个领域,用来辨认和识别机器所能看到的物体。
机器人学也是脱胎于AI的目标,用来给一个机器赋予实际的形态以完成实际的动作。
它们之间有层次等级的区分吗,应该是怎样一回事?
解释这些科学和研究层次关系的一个方法是分析其历史。

科学和研究的起源

统计学——1749年
人工智能——1940年
机器学习——1946年
数据挖掘——1980年
统计学的历史公认起源于1749年左右,用来表征信息。研究人员使用统计学来表征国家的经济水平以及表征用于军事用途的物质资源。随后统计学的用途扩充到数据的分析及其组织。
人工智能的历史碰巧存在两种类型:经典的和现代的。经典人工智能可在古时的故事和著作中看得到。然而,1940年当人们在描述用机器模仿人类的思想时才出现了现代人工智能。
1946年,作为AI的分支,机器学习的起源出现了,它的目标在于使机器不通过编程和明确的硬接线进行自我学习来对目标求解。

是否可以这样说,它们是利用不同方法解决相似问题的四个领域?

可以这么来说(统计学,人工智能和机器学习)是高度相互依赖的领域,没有其他领域的引领和帮助,他们不能够单独存在。很高兴能看到这三个领域是一个全局领域而非三个有所隔阂的领域。
正如这三个领域是一个全局领域,它们在解决共同目标时发挥了自己的优势。因此,该方案适用于许多不同领域中,因为隐含的核心问题是一致的。
接下来是该数据挖掘出场了,它从全局获取解决方案并应用到不同的领域(商业、军事、医学、太空)来解决同一隐含本质的问题。这也是数据挖掘扩大其受欢迎程度的时期。

我希望我的解释已经回答了答主所提问一切疑问,我相信这能清晰地帮助任何一个想要理解这四个领域关键点的人们。如果你对该话题有任何想要说的或者要分享的,请在评论里写下你的想法。

(6)总结


目录---相关文章

快速学Python 和 易犯错误(文本处理)

Python文本处理和Java/C比对

十分钟学会Python的基本类型

快速学会Python(实战)

大数据处理之道(十分钟学会Python)



  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值