大牛学习笔记:机器学习算法概览

机器学习(Machine Learning, ML)是什么,作为一个MLer,经常难以向大家解释何为ML。久而久之,发现要理解或解释机器学习是什么,可以从机器学习可以解决的问题这个角度来说。对于MLers,理解ML解决的问题的类型也有助于我们更好的准备数据和选择算法。

想入门机器学习的同学,经常会去看一些入门书,比如《集体智慧编程》、《机器学习实战》、《数据挖掘》、《推荐系统实践》等。看书的过程中,经常性的会看到如下概念:

垃圾邮件识别

信用卡交易异常检测

手写数字识别

语音识别

人脸检测

商品推荐

疾病检测(根据以往病例记录,确定病人是否患病)

股票预测

用户分类(根据用户行为判断该用户是否会转化为付费用户)

形状检测(根据用户在手写板上上画得形状,确定用户画的到底是什么形状)

因此,当再有人问ML是什么的时候,就可以说这个是ML可以handle的,这个问题ML也可以handle,blahblah。

机器学习问题类型

对问题进行分类,好处就在于可以更好的把握问题的本质,更好的知道什么类型的算法需要用到。

一般有四大类型:

分类(classification):有一些已经标注好类别的数据,在标注好的数据上建模,对于新样本,判断它的类别。如垃圾邮件识别

回归(regression):有一些已经标注好的数据,标注值与分类问题不同,分类问题的标注是离散值,而回归问题中的标注是实数,在标注好的数据上建模,对于新样本,得到它的标注值。如股票预测。

聚类(clustering):数据没有被标注,但是给出了一些相似度衡量标准,可以根据这些标准将数据进行划分。如在一堆未给出名字的照片中,自动的将同一个人的照片聚集到一块。

规则抽取(rule extraction):发现数据中属性之间的统计关系,而不只是预测一些事情。如啤酒和尿布。

机器学习算法

知道了机器学习要解决的问题后,就可以思考针对某一个问题,需要采集的数据的类型和可以使用的机器学习算法,机器学习发展到今天,诞生了很多算法,在实际应用中往往问题在于算法的选择,在本文中,使用两种标准对算法进行分类,即学习方式和算法之间的相似性。

1学习方式(Learning Style)

在ML中,只有几个主流的学习方式,在下面的介绍中,使用一些算法和问题的样例来对这些方式进行解释说明。按照学习方式对机器学习算法进行分类可以使我们更多的思考输入数据在算法中的角色和使用模型前需要的准备工作,对我们选择最适合的模型有很好的指导作用。

监督学习(supervised learning):输入数据都有一个类别标记或结果标记,被称作训练数据,比如垃圾邮件与非垃圾邮件、某时间点的股票价格。模型由训练过程得到,利用模型,可以对新样本做出推测,并可以计算得到这些预测的精确度等指标。训练过程往往需要在训练集上达到一定程度的精确度,不欠拟合或过拟合。监督学习一般解决的问题是分类和回归,代表算法有逻辑斯底回归(Logistic Regression)和神经网络后向传播算法(Back Propagation Neural Network)。

无监督学习(Unsupervised Learning):输入数据没有任何标记,通过推理数据中已有的结构来构建模型。一般解决的问题是规则学习和聚类,代表算法有Apriori算法和k-means算法。

半监督学习(Semi-Supervised Learning):输入数据是标注数据和非标注数据的混合,它也是为了解决预测问题的,但是模型必须同时兼顾学习数据中已经存在的结构和作出预测,即上述监督学习和无监督学习的融合。该方法要解决的问题仍然是分类的回归,代表算法一般是在监督学习的算法上进行扩展,使之可以对未标注数据建模。

增强学习(Reinforcement Learning):在这种学习方式中,模型先被构建,然后输入数据刺激模型,输入数据往往来自于环境中,模型得到的结果称之为反馈,使用反馈对模型进行调整。它与监督学习的区别在于反馈数据更多的来自于环境的反馈而不是由人指定。该方式解决的问题是系统与机器人控制,代表算法是Q-学习(Q-learning)和时序差分算法(Temporal difference learning)。

在商业决策中,一般会使用的方法是监督学习和无监督学习。当下一个热门的话题是半监督学习,比如在图片分类中,有很多数据集都是有少量的标记数据和大量的非标记数据。增强学习更多的用于机器人控制机其他的控制系统中。

2算法相似度(Algorithm Similarity)

一般会根据模型的模式或者函数模式的相似度来对算法进行划分。比如基于树的方法(tree-based method)与神经网络算法(neural network)。当然,这种方法并不完美,因为很多算法可以很容易的被划分到多个类别中去,比如学习矢量量化算法(Learning Vector Quantization)既是神经网络算法也是基于样例的算法(Instance-based method)。在本文中,可以看到很多不同的分类方法。

回归(Regression)

回归是在自变量和需要预测的变量之间构建一个模型,并使用迭代的方法逐渐降低预测值和真实值之间的误差。回归方法是统计机器学习的一种。

常用的回归算法如下:

Ordinary Least Squares(最小二乘法)

Logistic Regression(逻辑斯底回归)

Stepwise Regression(逐步回归)

Multivariate Adaptive Regression Splines(多元自适应回归样条法)

Locally Estimated Scatterplot Smoothing(局部加权散点平滑法)

基于样例的方法(Instance-based Methods)

基于样例的方法需要一个样本库,当新样本出现时,在样本库中找到最佳匹配的若干个样本,然后做出推测。基于样例的方法又被成为胜者为王的方法和基于内存的学习,该算法主要关注样本之间相似度的计算方法和存储数据的表示形式。

k-Nearest Neighbour (kNN)

Learning Vector Quantization (LVQ)

Self-Organizing Map (SOM)

正则化方法(Regularization Methods)

这是一个对其他方法的延伸(通常是回归方法),这个延伸就是在模型上加上了一个惩罚项,相当于奥卡姆提到,对越简单的模型越有利,有防止过拟合的作用,并且更擅长归纳。我在这里列出它是因为它的流行和强大。

Ridge Regression

Least Absolute Shrinkage and Selection Operator (LASSO)

Elastic Net

决策树模型(Decision Tree Learning)

决策树方法建立了一个根据数据中属性的实际值决策的模型。决策树用来解决归纳和回归问题。

Classification and Regression Tree (CART)

Iterative Dichotomiser 3 (ID3)

C4.5

Chi-squared Automatic Interaction Detection (CHAID)

Decision Stump

Random Forest

Multivariate Adaptive Regression Splines (MARS)

Gradient Boosting Machines (GBM)

贝叶斯(Bayesian)

贝叶斯方法是在解决归类和回归问题中应用了贝叶斯定理的方法。

Naive Bayes

Averaged One-Dependence Estimators (AODE)

Bayesian Belief Network (BBN)

核方法(Kernel Methods)

核方法中最有名的是Support Vector Machines(支持向量机)。这种方法把输入数据映射到更高维度上,将其变得可分,使得归类和回归问题更容易建模。

Support Vector Machines (SVM)

Radial Basis Function (RBF)

Linear Discriminate Analysis (LDA)

聚类(Clustering Methods)

聚类本身就形容了问题和方法。聚类方法通常是由建模方式分类的比如基于中心的聚类和层次聚类。所有的聚类方法都是利用数据的内在结构来组织数据,使得每组内的点有最大的共同性。

K-Means

Expectation Maximisation (EM)

联合规则学习(Association Rule Learning)

联合规则学习是用来对数据间提取规律的方法,通过这些规律可以发现巨量多维空间数据之间的联系,而这些重要的联系可以被组织拿来使用或者盈利。

Apriori algorithm

Eclat algorithm

人工神经网络(Artificial Neural Networks)

受生物神经网络的结构和功能的启发诞生的人工神经网络属于模式匹配一类,经常被用于回归和分类问题,但是它存在上百个算法和变种组成。其中有一些是经典流行的算法(深度学习拿出来单独讲):

Perceptron

Back-Propagation

Hopfield Network

Self-Organizing Map (SOM)

Learning Vector Quantization (LVQ)

深度学习(Deep Learning)

Deep Learning(深度学习)方法是人工神经网络在当下的一个变种。相比传统的神经网络,它更关注更加复杂的网络构成,许多方法都是关心半监督学习,就是一个大数据集中只有少量标注数据的那种问题。

Restricted Boltzmann Machine (RBM)

Deep Belief Networks (DBN)

Convolutional Network

Stacked Auto-encoders

降维(Dimensionality Reduction)

与聚类方法类似,对数据中的固有结构进行利用,使用无监督的方法学习一种方式,该方式用更少的信息来对数据做归纳和描述。这对于对数据进行可视化或者简化数据很有用,也有去除噪声的影响,经常采用这种方法使得算法更加高效。

Principal Component Analysis (PCA)

Partial Least Squares Regression (PLS)

Sammon Mapping

Multidimensional Scaling (MDS)

Projection Pursuit

组合方法(Ensemble Methods)

Ensemble methods(组合方法)由许多小的模型组成,这些模型经过独立训练,做出独立的结论,最后汇总起来形成最后的预测。组合方法的研究点集中在使用什么模型以及这些模型怎么被组合起来。

Boosting

Bootstrapped Aggregation (Bagging)

AdaBoost

Stacked Generalization (blending)

Gradient Boosting Machines (GBM)

Random Forest

(Via:CSDN博客 http://blog.csdn.net/stdcoutzyx/article/details/44501797)

原文发布于微信公众号 - 大数据挖掘DT数据分析(datadw)

原文发表时间:2015-03-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI研习社

各种机器学习的应用场景分别是什么?

关于这个问题我今天正好看到了这个文章(http://t.cn/RJrTSLV)。讲的正是各个算法的优劣分析,很中肯。 正好14年的时候有人做过一个实验[1],比...

55310
来自专栏机器人网

机器学习算法集锦:最常见算法类别与优缺点?

它是另一种方法(通常是回归方法)的拓展,这种方法会基于模型复杂性对其进行惩罚,它喜欢相对简单能够更好的泛化的模型。

902
来自专栏AI研习社

干货 | 深度学习调参有哪些技巧?

本文将分享一些自己关于深度学习模型调试技巧的总结思考(以CNN为主)。 最近因为一些需要,参与了一些CNN建模调参的工作,出于个人习性,我并不习惯于通过单纯的t...

50413
来自专栏美团技术团队

【AI in 美团】深度学习在文本领域的应用

AI(人工智能)技术已经广泛应用于美团的众多业务,从美团App到大众点评App,从外卖到打车出行,从旅游到婚庆亲子,美团数百名最优秀的算法工程师正致力于将AI技...

1512
来自专栏华章科技

机器学习入门科普:监督学习和无监督学习都是什么?都能干什么?

学习能力是动物特别是人特有的,根据达尔文的理论,它也是所有物种生存和进化的关键要素。机器虽然不能自主进化,但似乎也遵循同样的规律。

382
来自专栏小巫技术博客

深度学习,NLP和表征(译)

673
来自专栏机器人网

机器学习算法优缺点汇总

它是另一种方法(通常是回归方法)的拓展,这种方法会基于模型复杂性对其进行惩罚,它喜欢相对简单能够更好的泛化的模型。 例子:

1534
来自专栏数据科学与人工智能

【陆勤践行】机器学习算法概览

想入门机器学习的同学,经常会去看一些入门书,比如《集体智慧编程》、《机器学习实战》、《数据挖掘》、《推荐系统实践》等。看书的过程中,经常性的会看到如下样例: 垃...

1907
来自专栏机器之心

从遗传算法到OpenAI新方向:进化策略工作机制全解

3015
来自专栏新智元

ResNet可能是白痴?DeepMind给神经网络们集体测智商

【新智元导读】DeepMind提出了一种让神经网络进行抽象推理的新方法,类似人类的IQ测试。结果发现经典模型如ResNet得分极低,数据稍有改动就变“白痴”,而...

810

扫码关注云+社区