【数据挖掘】数据挖掘工程师是做什么的?

【数据挖掘】数据挖掘工程师是做什么的?

数据挖掘,从字面上理解,就是在数据中找到有用的东西,哪些东西有用就要看具体的业务目标了。最简单的就是统计应用了,比如电商数据,如淘宝统计过哪个省购买泳衣最多、哪个省的女生胸罩最大等,进一步,可以基于用户的浏览、点击、收藏、购买等行为推断用户的年龄、性别、购买能力、爱好等能表示一个人的画像,就相当于用这些挖掘出来的属性来刻画一个人,这些还是最简单的东西,更深层次的比如预测(股票预测),但是比较难。

说到数据挖掘。往往与机器学习离不开。比如分类、聚类、关联规则挖掘、个性化推荐、预测、神经网络、深度学习等。很多年前说人工智能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等。大部分工作是,将已有的机器学习与数据挖掘算法应用到具体的实践中,根据业务场景与数据特点对算法进行改造或者调整等。

最后举个例子,你在淘宝上买一件衣服,系统怎样向你推荐你感兴趣的并且和这件衣服搭配的裤子或者饰品,这就是数据挖掘工程师的一方面工作。

对于数据挖掘与机器学习,也不是小小的几百字能说清楚的,所以再补充一些想从事机器学习与数据挖掘的需要学习的知识点:

常用的数据挖掘&知识(点)

Basis(基础):

MSE(MeanSquare Error 均方误差),LMS(Least MeanSquare 最小均方),LSM(Least Square Methods 最小二乘法),MLE(Maximum LikelihoodEstimation最大似然估计),QP(QuadraticProgramming 二次规划), CP(ConditionalProbability条件概率),JP(Joint Probability 联合概率),MP(Marginal Probability边缘概率),Bayesian Formula(贝叶斯公式),L1 /L2Regularization(L1/L2正则,以及更多的,现在比较火的L2.5正则等),GD(Gradient Descent 梯度下降),SGD(Stochastic GradientDescent 随机梯度下降),Eigenvalue(特征值),Eigenvector(特征向量),QR-decomposition(QR分解),Quantile (分位数),Covariance(协方差矩阵)。

Common Distribution(常见分布):

Discrete Distribution(离散型分布):Bernoulli Distribution/Binomial(贝努利分步/二项分布),Negative BinomialDistribution(负二项分布),Multinomial Distribution(多式分布),Geometric Distribution(几何分布),Hypergeometric Distribution(超几何分布),Poisson Distribution (泊松分布)

ContinuousDistribution (连续型分布):Uniform Distribution(均匀分布),Normal Distribution/GaussianDistribution(正态分布/高斯分布),Exponential Distribution(指数分布),Lognormal Distribution(对数正态分布),Gamma Distribution(Gamma分布),Beta Distribution(Beta分布),Dirichlet Distribution(狄利克雷分布),Rayleigh Distribution(瑞利分布),Cauchy Distribution(柯西分布),Weibull Distribution (韦伯分布)

Three Sampling Distribution(三大抽样分布):Chi-square Distribution(卡方分布),t-distribution(t-distribution),F-distribution(F-分布)

Data Pre-processing(数据预处理):

MissingValue Imputation(缺失值填充),Discretization(离散化),Mapping(映射),Normalization(归一化/标准化)。

Sampling(采样):

SimpleRandom Sampling(简单随机采样),Offline Sampling(离线等可能K采样),Online Sampling(在线等可能K采样),Ratio-based Sampling(等比例随机采样),Acceptance-rejection Sampling(接受-拒绝采样),Importance Sampling(重要性采样),MCMC(Markov Chain MonteCarlo 马尔科夫蒙特卡罗采样算法:Metropolis-Hasting& Gibbs)。

Clustering(聚类):

K-Means,K-Mediods,二分K-Means,FK-Means,Canopy,Spectral-KMeans(谱聚类),GMM-EM(混合高斯模型-期望最大化算法解决),K-Pototypes,CLARANS(基于划分),BIRCH(基于层次),CURE(基于层次),DBSCAN(基于密度),CLIQUE(基于密度和基于网格),2014年Science上的密度聚类算法等

Clustering EffectivenessEvaluation(聚类效果评估):

Purity(纯度),RI(Rand Index,芮氏指标),ARI(Adjusted Rand Index,调整的芮氏指标),NMI(NormalizedMutual Information,规范化互信息),F-meaure(F测量)等。

Classification&Regression(分类&回归):

LR(LinearRegression 线性回归),LR(Logistic Regression逻辑回归),SR(SoftmaxRegression 多分类逻辑回归),GLM(Generalized LinearModel 广义线性模型),RR(Ridge Regression 岭回归/L2正则最小二乘回归),LASSO(Least AbsoluteShrinkage and Selectionator Operator L1正则最小二乘回归), RF(随机森林),DT(Decision Tree决策树),GBDT(Gradient BoostingDecision Tree 梯度下降决策树),CART(Classification AndRegression Tree 分类回归树),KNN(K-Nearest Neighbor K近邻),SVM(Support Vector Machine,支持向量机,包括SVC(分类)&SVR(回归)),KF(Kernel Function 核函数Polynomial KernelFunction 多项式核函数、Guassian Kernel Function 高斯核函数/Radial Basis Function RBF径向基函数、String Kernel Function 字符串核函数)、 NB(Naive Bayes 朴素贝叶斯),BN(BayesianNetwork/Bayesian Belief Network/Belief Network 贝叶斯网络/贝叶斯信度网络/信念网络),LDA(Linear DiscriminantAnalysis/Fisher Linear Discriminant 线性判别分析/Fisher线性判别),EL(Ensemble Learning集成学习Boosting,Bagging,Stacking),AdaBoost(AdaptiveBoosting 自适应增强),MEM(Maximum Entropy Model最大熵模型)

Classification EffectivenessEvaluation(分类效果评估):

ConfusionMatrix(混淆矩阵),Precision(精确度),Recall(召回率),Accuracy(准确率),F-score(F得分),ROC Curve(ROC曲线),AUC(AUC面积),Lift Curve(Lift曲线) ,KS Curve(KS曲线)。

PGM(ProbabilisticGraphical Models概率图模型):

BN(BayesianNetwork/Bayesian Belief Network/ Belief Network 贝叶斯网络/贝叶斯信度网络/信念网络),MC(Markov Chain 马尔科夫链),HMM(Hidden MarkovModel 马尔科夫模型),MEMM(Maximum EntropyMarkov Model 最大熵马尔科夫模型),CRF(Conditional RandomField 条件随机场),MRF(Markov RandomField 马尔科夫随机场)。

NN(Neural Network神经网络):

ANN(ArtificialNeural Network 人工神经网络),BP(Error Back Propagation 误差反向传播),HN(Hopfield Network),

RNN(Recurrent Neural Network,循环神经网络),SRN(Simple Recurrent Network,简单的循环神经网络),ESN(Echo State Network,回声状态网络),LSTM(Long Short Term Memory 长短记忆神经网络),CW-RNN(Clockwork

Recurrent Neural Network,时钟驱动循环神经网络,2014ICML)等。

Deep Learning(深度学习):

Auto-encoder(自动编码器),SAE(Stacked Auto-encoders堆叠自动编码器:Sparse Auto-encoders稀疏自动编码器、Denoising Auto-encoders去噪自动编码器、ContractiveAuto-encoders 收缩自动编码器),RBM(Restricted BoltzmannMachine 受限玻尔兹曼机),DBN(Deep BeliefNetwork 深度信念网络),CNN(Convolutional NeuralNetwork 卷积神经网络),Word2Vec(词向量学习模型)。

Dimensionality Reduction(降维):

LDA(LinearDiscriminant Analysis/Fisher Linear Discriminant 线性判别分析/Fish线性判别),PCA(Principal ComponentAnalysis 主成分分析),ICA(Independent ComponentAnalysis 独立成分分析),SVD(Singular ValueDecomposition 奇异值分解),FA(Factor Analysis 因子分析法)。

Text Mining(文本挖掘):

VSM(Vector SpaceModel向量空间模型),Word2Vec(词向量学习模型),TF(Term Frequency词频),TF-IDF(TermFrequency-Inverse Document Frequency 词频-逆向文档频率),MI(Mutual Information 互信息),ECE(Expected CrossEntropy 期望交叉熵),QEMI(二次信息熵),IG(Information Gain 信息增益),IGR(InformationGain Ratio 信息增益率),Gini(基尼系数),x2 Statistic(x2统计量),TEW(Text EvidenceWeight文本证据权),OR(OddsRatio 优势率),N-Gram Model,LSA(LatentSemantic Analysis 潜在语义分析),PLSA(ProbabilisticLatent Semantic Analysis 基于概率的潜在语义分析),LDA(Latent DirichletAllocation 潜在狄利克雷模型),SLM(StatisticalLanguage Model,统计语言模型),NPLM(NeuralProbabilistic Language Model,神经概率语言模型),CBOW(Continuous Bag of Words Model,连续词袋模型),Skip-gram(Skip-gramModel)等。

Association Mining(关联挖掘):

Apriori,FP-growth(FrequencyPattern Tree Growth 频繁模式树生长算法),AprioriAll,Spade。

Recommendation Engine(推荐引擎):

DBR(Demographic-basedRecommendation 基于人口统计学的推荐),CBR(Context-based Recommendation 基于内容的推荐),CF(Collaborative Filtering协同过滤),UCF(User-based CollaborativeFiltering Recommendation 基于用户的协同过滤推荐),ICF(Item-based CollaborativeFiltering Recommendation 基于项目的协同过滤推荐)。

SimilarityMeasure&Distance Measure(相似性与距离度量):

EuclideanDistance(欧式距离),Manhattan Distance(曼哈顿距离),Chebyshev Distance(切比雪夫距离),Minkowski Distance(闵可夫斯基距离),Standardized EuclideanDistance(标准化欧氏距离),Mahalanobis Distance(马氏距离),Cos(Cosine 余弦),Hamming Distance/EditDistance(汉明距离/编辑距离),Jaccard Distance(杰卡德距离),Correlation CoefficientDistance(相关系数距离),Information Entropy(信息熵),KL(Kullback-LeiblerDivergence KL散度/Relative Entropy 相对熵)。

Optimization(最优化):

Non-constrained Optimization(无约束优化):Cyclic Variable Methods(变量轮换法),Pattern Search Methods(模式搜索法),Variable Simplex Methods(可变单纯形法),Gradient Descent Methods(梯度下降法),Newton Methods(牛顿法),Quasi-Newton Methods(拟牛顿法),Conjugate GradientMethods(共轭梯度法)。

ConstrainedOptimization(有约束优化):Approximation ProgrammingMethods(近似规划法),Feasible DirectionMethods(可行方向法),Penalty Function Methods(罚函数法),Multiplier Methods(乘子法)。

HeuristicAlgorithm(启发式算法),SA(Simulated Annealing,模拟退火算法),GA(genetic algorithm遗传算法)

Feature Selection(特征选择):

MutualInformation(互信息),Document Frequence(文档频率),Information Gain(信息增益),Chi-squared Test(卡方检验),Gini(基尼系数)。

Outlier Detection(异常点检测):

Statistic-based(基于统计),Distance-based(基于距离),Density-based(基于密度),Clustering-based(基于聚类)。

Learning to Rank(基于学习的排序):

Pointwise:McRank;

Pairwise:RankingSVM,RankNet,Frank,RankBoost;

Listwise:AdaRank,SoftRank,LamdaMART;

Tool(工具):

MPI,生态圈,,BSP,Weka,Mahout,Scikit-learn,PyBrain…

posted on 2017-12-25 12:59  曹明  阅读(717)  评论(0编辑  收藏  举报