决策树、回归、SVM、神经网络等算法各自的优缺点?
文 | 七月在线
编 | 小七问题:
问题1:人工神经网络(Artificial Neural Network)
问题2:深度学习(Deep Learning)
问题3:支持向量机(Support Vector Machine)
问题4:降维算法(Dimensionality Reduction Algorithms)
问题5:聚类算法(Clustering Algorithms)
问题6:基于实例的算法(Instance-based Algorithms)
问题7:贝叶斯算法(Bayesian Algorithms)
问题8:关联规则学习算法(Association Rule Learning Algorithms)
问题9:图模型(Graphical Models)
解析:
问题1、人工神经网络
人工神经网络是受生物神经网络启发而构建的算法模型。
它是一种模式匹配,常被用于回归和分类问题,但拥有庞大的子域,由数百种算法和各类问题的变体组成。
例子:
感知器
反向传播
Hopfield 网络
径向基函数网络(Radial Basis Function Network,RBFN)
优点:
在语音、语义、视觉、各类游戏(如围棋)的任务中表现极好
算法可以快速调整,适应新的问题
缺点:
需要大量数据进行训练
训练要求很高的硬件配置
模型处于「黑箱状态」,难以理解内部机制
元参数(Metaparameter)与网络拓扑选择困难。问题2、深度学习(Deep Learning)
深度学习是人工神经网络的最新分支,它受益于当代硬件的快速发展。
众多研究者目前的方向主要集中于构建更大、更复杂的神经网络,目前有许多方法正在聚焦半监督学习问题,其中用于训练的大数据集只包含很少的标记。
例子:
深玻耳兹曼机(Deep Boltzmann Machine,DBM)
Deep Belief Networks(DBN)
卷积神经网络(CNN)
Stacked Auto-Encoders
优点/缺点:见神经网络
问题3、支持向量机(Support Vector Machines)
给定一组训练事例,其中每个事例都属于两个类别中的一个,支持向量机(SVM)训练算法可以在被输入新的事例后将其分类到两个类别中的一个,使自身成为非概率二进制线性分类器。
SVM 模型将训练事例表示为空间中的点,它们被映射到一幅图中,由一条明确的、尽可能宽的间隔分开以区分两个类别。
随后,新的示例会被映射到同一空间中,并基于它们落在间隔的哪一侧来预测它属于的类别。
优点:
在非线性可分问题上表现优秀
缺点:
非常难以训练很难解释
问题4、降维算法(Dimensionality Reduction Algorithms)
和集簇方法类似,降维追求并利用数据的内在结构,目的在于使用较少的信息总结或描述数据。
这一算法可用于可视化高维数据或简化接下来可用于监督学习中的数据。许多这样的方法可针对分类和回归的使用进行调整。
例子:
主成分分析(Principal Component Analysis (PCA))
主成分回归(Principal Component Regression (PCR))
偏最小二乘回归(Partial Least Squares Regression (PLSR))
Sammon 映射(Sammon Mapping)
多维尺度变换(Multidimensional Scaling (MDS))
投影寻踪(Projection Pursuit)
线性判别分析(Linear Discriminant Analysis (LDA))
混合判别分析(Mixture Discriminant Analysis (MDA))
二次判别分析(Quadratic Discriminant Analysis (QDA))
灵活判别分析(Flexible Discriminant Analysis (FDA))
优点:
可处理大规模数据集
无需在数据上进行假设
缺点:
难以搞定非线性数据难以理解结果的意义
问题5、聚类算法(Clustering Algorithms)
聚类算法是指对一组目标进行分类,属于同一组(亦即一个类,cluster)的目标被划分在一组中,与其他组目标相比,同一组目标更加彼此相似(在某种意义上)。
例子:
K-均值(k-Means)
k-Medians 算法
Expectation Maximi 封层 ation (EM)
附加题、最大期望算法(EM)
分层集群(Hierarchical Clstering)
优点:
让数据变得有意义
缺点:
结果难以解读,针对不寻常的数据组,结果可能无用。问题6、基于实例的算法(Instance-based Algorithms)
基于实例的算法(有时也称为基于记忆的学习)是这样学 习算法,不是明确归纳,而是将新的问题例子与训练过程中见过的例子进行对比,这些见过的例子就在存储器中。
之所以叫基于实例的算法是因为它直接从训练实例中建构出假设。这意味这,假设的复杂度能随着数据的增长而变化:最糟的情况是,假设是一个训练项目列表,分类一个单独新实例计算复杂度为 O(n)
例子:
K 最近邻(k-Nearest Neighbor (kNN))
学习向量量化(Learning Vector Quantization (LVQ))
自组织映射(Self-Organizing Map (SOM))
局部加权学习(Locally Weighted Learning (LWL))
优点:
算法简单、结果易于解读
缺点:
内存使用非常高
计算成本高不可能用于高维特征空间
问题7、贝叶斯算法(Bayesian Algorithms)
贝叶斯方法是指明确应用了贝叶斯定理来解决如分类和回归等问题的方法。
例子:
朴素贝叶斯(Naive Bayes)
高斯朴素贝叶斯(Gaussian Naive Bayes)
多项式朴素贝叶斯(Multinomial Naive Bayes)
平均一致依赖估计器(Averaged One-Dependence Estimators (AODE))
贝叶斯信念网络(Bayesian Belief Network (BBN))
贝叶斯网络(Bayesian Network (BN))
优点:
快速、易于训练、给出了它们所需的资源能带来良好的表现
缺点:
如果输入变量是相关的,则会出现问题问题8、关联规则学习算法(Association Rule Learning Algorithms)
关联规则学习方法能够提取出对数据中的变量之间的关系的最佳解释。比如说一家超市的销售数据中存在规则 {洋葱,土豆}=> {汉堡},那说明当一位客户同时购买了洋葱和土豆的时候,他很有可能还会购买汉堡肉。
例子:
Apriori 算法(Apriori algorithm)
Eclat 算法(Eclat algorithm)
FP-growth
问题9、图模型(Graphical Models)
图模型或概率图模型(PGM/probabilistic graphical model)是一种概率模型,一个图(graph)可以通过其表示随机变量之间的条件依赖结构(conditional dependence structure)。
例子:
贝叶斯网络(Bayesian network)
马尔可夫随机域(Markov random field)
链图(Chain Graphs)
祖先图(Ancestral graph)
优点:
模型清晰,能被直观地理解
缺点:
确定其依赖的拓扑很困难,有时候也很模糊。
本文素材来源于七月在线社区面试题,关注公号,获取更多面试资料。
本期课程推荐
七月在线【手推机器学习22讲(上):监督学习】直播课
12次课,24H直播
全面带你梳理模型发展脉络,构建模型体系框架,快速上手机器学习模型、算法,全程直播+共学社群答疑,助力你快速上手。
课程链接:https://www.julyedu.com/course/getDetail/360
点击「阅读原文」,了解课程详情!