zoukankan      html  css  js  c++  java
  • 数据挖掘 与 Web开发何去何从

    (0)引子

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

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

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

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

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

    可是数据挖掘大。数据近期挺火的,也是比較纠结。

    事实上。这也是非常多人的症结,包含我个人也是迷茫~~~在此,请求博友们献言献策!

    不胜感激!


    (1)大数据与数学的恩怨
    一是公司原来没有一项业务。如今要把一些机器学习这个东西跑起来(从无到有)。二是在你接手的时候公司已经有一定基础了。如今要把性能调上去(从差到优)。前者全然不用不论什么数学,先用别人有的模块/代码把系统撸起来是王道。后者看详细问题。大多数情况不用数学。在偏研究的地方比方Google X的某些部门还是实用的,可能须要比較好的数学功底,一些deep learning(机器学习)的机构,如百度凤巢研究院或者微软亚洲研究院等。

    可是,对于一般的数据分析、数据挖掘项目组,特别是对于某一分类器,大多数时候还是看feature找的好不好,找到一个优秀的feature赛过苦逼的在那里调优一万年(身在以KPI优先的公司和拿来就用的大环境,利用已有的开源Lib包)。学好线性代数。统计和凸优化就出门打怪吧。攒系统经验和dirty trick才是王道。

    当然我也不是说就不要搞数学。仅仅是假设你去公司的话,在学好线代统计凸优化的前提下,相同的时间花在学计算机系统的构建和系统性的思考方法上,比学习数学更划算。在大部分的ML研究里。还是微积分和线性代数、概率统计的功底最重要。


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

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

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

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

    数据产品经理偏重产品经理,主要是负责数据产品的相关pd工作。

    数据产品就是基于数据分析或者挖掘研发出来的产品。

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

    数据分析师更像传统的BI。而数据挖掘project师更是以特定需求为目标的数据挖掘工作,比方做人群的偏好挖掘。数据产品经理应该就是产品方向了,以数据业务/产品为目标的产品经理。

    说到最后,事实上除产品经理岗位的另3个岗位,工作职责还是非常相似的,主要工作内容以部门要求为准。

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

    以下通过几张图说明:








    (3)DM 与 ML

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

    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)



  • 相关阅读:
    JDK源码阅读--AbstractStringBuilder
    JDK源码阅读--String
    JDK源码阅读--Object
    linux查看日志
    velocity 相关
    oracle Trigger
    ssm调用后台oracle存储过程统计分析数据
    oracle 优化相关
    synchronized 控制并发(活动秒杀)
    SpringBoot自动装配的原理
  • 原文地址:https://www.cnblogs.com/lytwajue/p/7210494.html
Copyright © 2011-2022 走看看