数据挖掘,从字面上理解,就是在数据中找到有用的东西,哪些东西有用就要看具体的业务目标了。最简单的就是统计应用了,比如电商数据,如淘宝统计过哪个省购买泳衣最多、哪个省的女生胸罩最大等,进一步,可以基于用户的浏览、点击、收藏、购买等行为推断用户的年龄、性别、购买能力、爱好等能表示一个人的画像,就相当于用这些挖掘出来的属性来刻画一个人,这些还是最简单的东西,更深层次的比如预测(股票预测),但是比较难。
说到数据挖掘。往往与机器学习离不开。比如分类、聚类、关联规则挖掘、个性化推荐、预测、神经网络、深度学习等。很多年前说人工智能AI(比如产生式系统、专家系统等,好像现在提得比较少了),90年代AI到了瓶颈阶段,机器学习是一个突破口,现在机器学习又遇到了瓶颈阶段,深度学习又是一个突破口(其实神经网络出来了很久,但是为什么中间一段时间沉寂了,在70年代左右出现了低潮(根据评论修改),我归结是两点,第一神经网络就像一个黑夹子一样,很多东西不透明,模型的解释性不强,以及当时没办法处理非线性分类问题(后面多层感知器便可以对非线性问题进行拟合,如解决XOR问题),参数过多,训练复杂,容易出错,容易过拟合,无法保证全局最优,加上很多问题无法用数学方法证明(个人理解)等等,科学家和工程师还是有区别的,科学家都想把一个问题归结为数学问题,然后证明出来,他们就会认为是有意义的,数学上证明其有效往往比做千百个实验说明其有效要好些吧,工程师往往更在乎效果与结果),直到后来出现了BP算法。第二,得益于现在的大规模计算工具,能够处理PB级别的数据了。总之现在人工智能还远没达到人类的水平,最后结果会怎样,这个暂时不设想。
目前正处于大数据时代,很多企业拥有巨大的数据,比如阿里拥有消费数据、百度拥有搜索数据,腾讯拥有社交数据,消费数据与搜索数据都可以直接变现形成商业模式,而社交数据暂时还无法直接变现,至少企鹅现在还在探寻中,举个例子,你的朋友圈,qq空间到处是广告,你是不是很讨厌,差评,呵呵。数据有了,还有个重要的方面,处理数据的能力,也就是数据处理工具,能够处理这么大的数据量,二者不可或缺,缺一谈什么大数据都是耍流氓。
对于数据挖掘工程师:
首先你数学知识肯定要扎实吧,统计与概率论是最基本(也有人说现在的机器学习是统计学习,确实有道理)、微分与积分肯定要知道、数学公式要看的懂吧,进阶阶段最优化,随机过程等。建议去看看机器学习十大算法与一些深度学习的东西,多看大牛的博客。
对于语言,搞科研知道matlab就永不怕了,但是对于工程师嘛,肯定要知道写代码吧,不懂写代码的工程师都是扯淡,不要写代码的数据挖掘与机器学习,那是研究员,懂得一门高级语言与一门脚本语言就差不多了(如JAVA或C++,Python或R,个人推荐Java与Python,因为像Hadoop、Spark、Hive、MPI之类的都对Java提供了很方便的接口,Python写脚本很爽),还需要懂得Linux、Shell、SQL,这都是个人意见,至少在阿里,用java+sql+python+shell,阿里有个很牛逼的东西叫做ODPS,现在叫MaxCoupute,可以去阿里云官网查查相关资料。
对于你所说的excel、SAS、SPSS,数据分析人员专用,因为工程师嘛,编程语言还是必须的。对于是否需要学习hadoop、hive之类的,个人意见是只要知道用,然后怎么用,怎么在上面实现一些算法,怎么去优化自己写的程序就差不多了,它们只是工具,而且更新得很快,就说hadoop吧,我还没完全搞明白,就逐渐被spark取代了,记住,这些只是工具而已。推荐个加深你数据挖掘功力的东西weka(单机版的)与mahout(分布式的,有基于hadoop与spark),都是开源的。
对于工作是否需要设计新算法,我觉得在企业还是没有要求这么高,除非你觉得自己很牛逼,想向google看齐,但是设计一个好的算法并能解决实际问题的算法,不是一朝一夕的,个人观点,很多算法可以想出来,最大的问题就是怎样去证明其正确,其有效。想到企业中去,多看看google与ms工程性的文章,想研究就多看看学术大牛的文章,比如ICML,IJCAI,KDD,NIPS,CVPR等。大部分工作是,将已有的机器学习与数据挖掘算法应用到具体的实践中,根据业务场景与数据特点对算法进行改造或者调整等。
最后举个例子,你在淘宝上买一件衣服,系统怎样向你推荐你感兴趣的并且和这件衣服搭配的裤子或者饰品,这就是数据挖掘工程师的一方面工作。
-
工程师
+关注
关注
59文章
1566浏览量
68437
发布评论请先 登录
相关推荐
评论