精华内容
下载资源
问答
  • 机器学习 稀疏性的优点 (摘抄) 稀疏指的是参数或者数据中零的个数,零的个数越多,参数或者数据就越稀疏.这种稀疏性带来许多优点. 参数稀疏有什么好处 1)特征选择(Feature Selection): 大家对稀疏规则化趋之若鹜的...

    机器学习 稀疏性的优点

    (摘抄)

    稀疏指的是参数或者数据中零的个数,零的个数越多,参数或者数据就越稀疏.这种稀疏性带来许多优点.

    参数稀疏有什么好处

    1)特征选择(Feature Selection): 大家对稀疏规则化趋之若鹜的一个关键原因在于它能实现特征的自动选择。一般来说,xi的大部分元素(也就是特征)都是和最终的输出yi没有关系或者不提供任何信息的,在最小化目标函数的时候考虑xi这些额外的特征,虽然可以获得更小的训练误差,但在预测新的样本时,这些没用的信息反而会被考虑,从而干扰了对正确yi的预测。稀疏规则化算子的引入就是为了完成特征自动选择的光荣使命,它会学习地去掉这些没有信息的特征,也就是把这些特征对应的权重置为0。

    2)可解释性(Interpretability): 另一个青睐于稀疏的理由是,模型更容易解释。例如患某种病的概率是y,然后我们收集到的数据x是1000维的,也就是我们需要寻找这1000种因素到底是怎么影响患上这种病的概率的。假设我们这个是个回归模型:y=w1x1+w2x2+…+w1000x1000+b(当然了,为了让y限定在[0,1]的范围,一般还得加个Logistic函数)。通过学习,如果最后学习到的w就只有很少的非零元素,例如只有5个非零的wi,那么我们就有理由相信,这些对应的特征在患病分析上面提供的信息是巨大的,决策性的。也就是说,患不患这种病只和这5个因素有关,那医生就好分析多了。但如果1000个wi都非0,医生面对这1000种因素.

    稀疏性:

    大多数问题线性可分.学习任务的难度有所减低.

    易于存储,但数据中零的个数多时,可以使用算法减少存储空间.

    可解释性提高.

    参考:

    https://www.jianshu.com/p/8025b6c9f6fa

    周志华:机器学习

    作者:冰菓(笑)
    来源:CSDN
    原文:https://blog.csdn.net/a362682954/article/details/85226022
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • 机器学习算法的优点和缺点总结 1.正则化算法(Regularization Algorithms) 它是另一种方法(通常是回归方法)的拓展,这种方法会基于模型复杂性对其进行惩罚,它喜欢相对简单能够更好的泛化的模型。 例子: ·&...

    机器学习算法的优点和缺点总结

    在这里插入图片描述

    1.正则化算法(Regularization
    Algorithms)

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

    例子:

    ·      
    岭回归(Ridge Regression)

    ·      
    最小绝对收缩与选择算子(LASSO)

    ·      
    GLASSO

    ·      
    弹性网络(Elastic Net)

    ·      
    最小角回归(Least-Angle Regression)

    优点:

    ·      
    其惩罚会减少过拟合

    ·      
    总会有解决方法

    缺点:

    ·      
    惩罚会造成欠拟合

    ·      
    很难校准

    1. 集成算法(Ensemble algorithms)

    集成方法是由多个较弱的模型集成模型组,其中的模型可以单独进行训练,并且它们的预测能以某种方式结合起来去做出一个总体预测。

    该算法主要的问题是要找出哪些较弱的模型可以结合起来,以及结合的方法。这是一个非常强大的技术集,因此广受欢迎。

    ·      
    Boosting

    ·      
    Bootstrapped Aggregation(Bagging)

    ·      
    AdaBoost

    ·      
    层叠泛化(Stacked Generalization)(blending)

    ·      
    梯度推进机(Gradient Boosting Machines,GBM)

    ·      
    梯度提升回归树(Gradient Boosted Regression Trees,GBRT)

    ·      
    随机森林(Random Forest)

    优点:

    ·      
    最先进的预测几乎都使用了算法集成。它比使用单个模型预测出来的结果要精确的多

    缺点:

    ·      
    需要大量的维护工作

    1. 决策树算法(Decision Tree Algorithm)

    决策树学习使用一个决策树作为一个预测模型,它将对一个 item(表征在分支上)观察所得映射成关于该 item 的目标值的结论(表征在叶子中)。

    树模型中的目标是可变的,可以采一组有限值,被称为分类树;在这些树结构中,叶子表示类标签,分支表示表征这些类标签的连接的特征。

    例子:

    ·      
    分类和回归树(Classification and Regression Tree,CART)

    ·      
    Iterative Dichotomiser 3(ID3)

    ·      
    C4.5 和 C5.0(一种强大方法的两个不同版本)

    优点:

    ·      
    容易解释

    ·      
    非参数型

    缺点:

    ·      
    趋向过拟合

    ·      
    可能或陷于局部最小值中

    ·      
    没有在线学习

    1. 回归(Regression)算法

    回归是用于估计两种变量之间关系的统计过程。当用于分析因变量和一个多个自变量之间的关系时,该算法能提供很多建模和分析多个变量的技巧。具体一点说,回归分析可以帮助我们理解当任意一个自变量变化,另一个自变量不变时,因变量变化的典型值。最常见的是,回归分析能在给定自变量的条件下估计出因变量的条件期望。

    回归算法是统计学中的主要算法,它已被纳入统计机器学习。

    例子:

    ·      
    普通最小二乘回归(Ordinary Least Squares Regression,OLSR)

    ·      
    线性回归(Linear Regression)

    ·      
    逻辑回归(Logistic Regression)

    ·      
    逐步回归(Stepwise Regression)

    ·      
    多元自适应回归样条(Multivariate Adaptive Regression Splines,MARS)

    ·      
    本地散点平滑估计(Locally Estimated Scatterplot Smoothing,LOESS)

    优点:

    ·      
    直接、快速

    ·      
    知名度高

    缺点:

    ·      
    要求严格的假设

    ·      
    需要处理异常值

    1. 人工神经网络

    人工神经网络是受生物神经网络启发而构建的算法模型。

    它是一种模式匹配,常被用于回归和分类问题,但拥有庞大的子域,由数百种算法和各类问题的变体组成。

    例子:

    ·      
    感知器

    ·      
    反向传播

    ·      
    Hopfield 网络

    ·      
    径向基函数网络(Radial Basis Function Network,RBFN)

    优点:

    ·      
    在语音、语义、视觉、各类游戏(如围棋)的任务中表现极好。

    ·      
    算法可以快速调整,适应新的问题。

    缺点:

    ·      
    需要大量数据进行训练

    ·      
    训练要求很高的硬件配置

    ·      
    模型处于黑箱状态,难以理解内部机制

    ·      
    元参数(Metaparameter)与网络拓扑选择困难。

    1. 深度学习(Deep Learning)

    深度学习是人工神经网络的最新分支,它受益于当代硬件的快速发展。

    众多研究者目前的方向主要集中于构建更大、更复杂的神经网络,目前有许多方法正在聚焦半监督学习问题,其中用于训练的大数据集只包含很少的标记。

    例子:

    ·      
    深玻耳兹曼机(Deep Boltzmann Machine,DBM)

    ·      
    Deep Belief Networks(DBN)

    ·      
    卷积神经网络(CNN)

    ·      
    Stacked Auto-Encoders

    优点/缺点:见神经网络

    1. 支持向量机(Support Vector Machines)

    给定一组训练事例,其中每个事例都属于两个类别中的一个,支持向量机(SVM)训练算法可以在被输入新的事例后将其分类到两个类别中的一个,使自身成为非概率二进制线性分类器。

    SVM 模型将训练事例表示为空间中的点,它们被映射到一幅图中,由一条明确的、尽可能宽的间隔分开以区分两个类别。

    随后,新的示例会被映射到同一空间中,并基于它们落在间隔的哪一侧来预测它属于的类别。

    优点:

    ·      
    在非线性可分问题上表现优秀

    缺点:

    ·      
    非常难以训练

    ·      
    很难解释

    1. 降维算法(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))

    优点:

    ·      
    可处理大规模数据集

    ·      
    无需在数据上进行假设

    缺点:

    ·      
    难以搞定非线性数据

    ·      
    难以理解结果的意义

    1. 聚类算法(Clustering Algorithms)

    聚类算法是指对一组目标进行分类,属于同一组(亦即一个类,cluster)的目标被划分在一组中,与其他组目标相比,同一组目标更加彼此相似(在某种意义上)。

    例子:

    ·      
    K-均值(k-Means)

    ·      
    k-Medians 算法

    ·      
    Expectation Maximi 封层 ation (EM)

    ·      
    最大期望算法(EM)

    ·      
    分层集群(Hierarchical Clstering)

    优点:

    ·      
    让数据变得有意义

    缺点:

    ·      
    结果难以解读,针对不寻常的数据组,结果可能无用。

    1. 基于实例的算法(Instance-based Algorithms)

    基于实例的算法(有时也称为基于记忆的学习)是这样学
    习算法,不是明确归纳,而是将新的问题例子与训练过程中见过的例子进行对比,这些见过的例子就在存储器中。

    之所以叫基于实例的算法是因为它直接从训练实例中建构出假设。这意味,假设的复杂度能随着数据的增长而变化:最糟的情况是,假设是一个训练项目列表,分类一个单独新实例计算复杂度为 O(n)

    例子:

    ·      
    K 最近邻(k-Nearest
    Neighbor (kNN))

    ·      
    学习向量量化(Learning Vector Quantization (LVQ))

    ·      
    自组织映射(Self-Organizing Map (SOM))

    ·      
    局部加权学习(Locally Weighted Learning (LWL))

    优点:

    ·      
    算法简单、结果易于解读

    缺点:

    ·      
    内存使用非常高

    ·      
    计算成本高

    ·      
    不可能用于高维特征空间

    1. 贝叶斯算法(Bayesian Algorithms)

    贝叶斯方法是指明确应用了贝叶斯定理来解决如分类和回归等问题的方法。

    例子:

    ·      
    朴素贝叶斯(Naive Bayes)

    ·      
    高斯朴素贝叶斯(Gaussian Naive Bayes)

    ·      
    多项式朴素贝叶斯(Multinomial Naive Bayes)

    ·      
    平均一致依赖估计器(Averaged One-Dependence Estimators (AODE))

    ·      
    贝叶斯信念网络(Bayesian Belief Network (BBN))

    ·      
    贝叶斯网络(Bayesian Network (BN))

    优点:

    ·      
    快速、易于训练、给出了它们所需的资源能带来良好的表现

    缺点:

    ·      
    如果输入变量是相关的,则会出现问题

    1. 关联规则学习算法(Association Rule Learning Algorithms)

    关联规则学习方法能够提取出对数据中的变量之间的关系的最佳解释。比如说一家超市的销售数据中存在规则 {洋葱,土豆}=> {汉堡},那说明当一位客户同时购买了洋葱和土豆的时候,他很有可能还会购买汉堡肉。

    例子:

    ·      
    Apriori 算法(Apriori
    algorithm)

    ·      
    Eclat 算法(Eclat
    algorithm)

    ·      
    FP-growth

    1. 图模型(Graphical Models)

    图模型或概率图模型(PGM/probabilistic graphical model)是一种概率模型,一个图(graph)可以通过其表示随机变量之间的条件依赖结构(conditional
    dependence structure)。

    例子:

    ·      
    贝叶斯网络(Bayesian network)

    ·      
    马尔可夫随机域(Markov random field)

    ·      
    链图(Chain Graphs)

    ·      
    祖先图(Ancestral graph)

    优点:

    ·      
    模型清晰,能被直观地理解

    缺点:

    确定其依赖的拓扑很困难,有时候也很模糊

    展开全文
  • 机器学习算法的优点和缺点总结1.正则化算法(Regularization Algorithms)它是另一种方法(通常是回归方法)的拓展,这种方法会基于模型复杂性对其进行惩罚,它喜欢相对简单能够更好的泛化的模型。例子:· 岭回归...

    机器学习算法的优点和缺点总结

    5841324ab3d316206806f687a11e8ebf.png

    1.正则化算法(Regularization Algorithms)

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

    · 岭回归(Ridge Regression)

    · 最小绝对收缩与选择算子(LASSO)

    · GLASSO

    · 弹性网络(Elastic Net)

    · 最小角回归(Least-Angle Regression)优点:

    · 其惩罚会减少过拟合

    · 总会有解决方法缺点:

    · 惩罚会造成欠拟合

    · 很难校准2. 集成算法(Ensemble algorithms)

    集成方法是由多个较弱的模型集成模型组,其中的模型可以单独进行训练,并且它们的预测能以某种方式结合起来去做出一个总体预测。
    该算法主要的问题是要找出哪些较弱的模型可以结合起来,以及结合的方法。这是一个非常强大的技术集,因此广受欢迎。

    · Boosting

    · Bootstrapped Aggregation(Bagging)

    · AdaBoost

    · 层叠泛化(Stacked Generalization)(blending)

    · 梯度推进机(Gradient Boosting Machines,GBM)

    · 梯度提升回归树(Gradient Boosted Regression Trees,GBRT)

    · 随机森林(Random Forest)优点:

    · 最先进的预测几乎都使用了算法集成。它比使用单个模型预测出来的结果要精确的多缺点:

    · 需要大量的维护工作3. 决策树算法(Decision Tree Algorithm)

    决策树学习使用一个决策树作为一个预测模型,它将对一个 item(表征在分支上)观察所得映射成关于该 item 的目标值的结论(表征在叶子中)。

    树模型中的目标是可变的,可以采一组有限值,被称为分类树;在这些树结构中,叶子表示类标签,分支表示表征这些类标签的连接的特征。

    例子:

    · 分类和回归树(Classification and Regression Tree,CART)

    · Iterative Dichotomiser 3(ID3)

    · C4.5 和 C5.0(一种强大方法的两个不同版本)优点:

    · 容易解释

    · 非参数型缺点:

    · 趋向过拟合

    · 可能或陷于局部最小值中

    · 没有在线学习4. 回归(Regression)算法

    回归是用于估计两种变量之间关系的统计过程。当用于分析因变量和一个多个自变量之间的关系时,该算法能提供很多建模和分析多个变量的技巧。具体一点说,回归分析可以帮助我们理解当任意一个自变量变化,另一个自变量不变时,因变量变化的典型值。最常见的是,回归分析能在给定自变量的条件下估计出因变量的条件期望。
    回归算法是统计学中的主要算法,它已被纳入统计机器学习。例子:

    · 普通最小二乘回归(Ordinary Least Squares Regression,OLSR)

    · 线性回归(Linear Regression)

    · 逻辑回归(Logistic Regression)

    · 逐步回归(Stepwise Regression)

    · 多元自适应回归样条(Multivariate Adaptive Regression Splines,MARS)

    · 本地散点平滑估计(Locally Estimated Scatterplot Smoothing,LOESS)优点:

    · 直接、快速

    · 知名度高缺点:

    · 要求严格的假设

    · 需要处理异常值5. 人工神经网络

    人工神经网络是受生物神经网络启发而构建的算法模型。
    它是一种模式匹配,常被用于回归和分类问题,但拥有庞大的子域,由数百种算法和各类问题的变体组成。例子:

    · 感知器

    · 反向传播

    · Hopfield 网络

    · 径向基函数网络(Radial Basis Function Network,RBFN)优点:

    · 在语音、语义、视觉、各类游戏(如围棋)的任务中表现极好。

    · 算法可以快速调整,适应新的问题。缺点:

    · 需要大量数据进行训练

    · 训练要求很高的硬件配置

    · 模型处于黑箱状态,难以理解内部机制

    · 元参数(Metaparameter)与网络拓扑选择困难。6. 深度学习(Deep Learning)

    深度学习是人工神经网络的最新分支,它受益于当代硬件的快速发展。
    众多研究者目前的方向主要集中于构建更大、更复杂的神经网络,目前有许多方法正在聚焦半监督学习问题,其中用于训练的大数据集只包含很少的标记。例子:

    · 深玻耳兹曼机(Deep Boltzmann Machine,DBM)

    · Deep Belief Networks(DBN)

    · 卷积神经网络(CNN)

    · Stacked Auto-Encoders优点/缺点:见神经网络7. 支持向量机(Support Vector Machines)

    给定一组训练事例,其中每个事例都属于两个类别中的一个,支持向量机(SVM)训练算法可以在被输入新的事例后将其分类到两个类别中的一个,使自身成为非概率二进制线性分类器。
    SVM 模型将训练事例表示为空间中的点,它们被映射到一幅图中,由一条明确的、尽可能宽的间隔分开以区分两个类别。
    随后,新的示例会被映射到同一空间中,并基于它们落在间隔的哪一侧来预测它属于的类别。优点:

    · 在非线性可分问题上表现优秀缺点:

    · 非常难以训练

    · 很难解释8. 降维算法(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))优点:

    · 可处理大规模数据集

    · 无需在数据上进行假设缺点:

    · 难以搞定非线性数据

    · 难以理解结果的意义9. 聚类算法(Clustering Algorithms)

    聚类算法是指对一组目标进行分类,属于同一组(亦即一个类,cluster)的目标被划分在一组中,与其他组目标相比,同一组目标更加彼此相似(在某种意义上)。

    例子:

    · K-均值(k-Means)

    · k-Medians 算法

    · Expectation Maximi 封层 ation (EM)

    · 最大期望算法(EM)

    · 分层集群(Hierarchical Clstering)优点:

    · 让数据变得有意义缺点:

    · 结果难以解读,针对不寻常的数据组,结果可能无用。10. 基于实例的算法(Instance-based Algorithms)

    基于实例的算法(有时也称为基于记忆的学习)是这样学 习算法,不是明确归纳,而是将新的问题例子与训练过程中见过的例子进行对比,这些见过的例子就在存储器中。
    之所以叫基于实例的算法是因为它直接从训练实例中建构出假设。这意味,假设的复杂度能随着数据的增长而变化:最糟的情况是,假设是一个训练项目列表,分类一个单独新实例计算复杂度为 O(n)例子:

    · K 最近邻(k-Nearest Neighbor (kNN))

    · 学习向量量化(Learning Vector Quantization (LVQ))

    · 自组织映射(Self-Organizing Map (SOM))

    · 局部加权学习(Locally Weighted Learning (LWL))优点:

    · 算法简单、结果易于解读缺点:

    · 内存使用非常高

    · 计算成本高

    · 不可能用于高维特征空间11. 贝叶斯算法(Bayesian Algorithms)

    贝叶斯方法是指明确应用了贝叶斯定理来解决如分类和回归等问题的方法。例子:

    · 朴素贝叶斯(Naive Bayes)

    · 高斯朴素贝叶斯(Gaussian Naive Bayes)

    · 多项式朴素贝叶斯(Multinomial Naive Bayes)

    · 平均一致依赖估计器(Averaged One-Dependence Estimators (AODE))

    · 贝叶斯信念网络(Bayesian Belief Network (BBN))

    · 贝叶斯网络(Bayesian Network (BN))优点:

    · 快速、易于训练、给出了它们所需的资源能带来良好的表现缺点:

    · 如果输入变量是相关的,则会出现问题12. 关联规则学习算法(Association Rule Learning Algorithms)

    关联规则学习方法能够提取出对数据中的变量之间的关系的最佳解释。比如说一家超市的销售数据中存在规则 {洋葱,土豆}=> {汉堡},那说明当一位客户同时购买了洋葱和土豆的时候,他很有可能还会购买汉堡肉。例子:

    · Apriori 算法(Apriori algorithm)

    · Eclat 算法(Eclat algorithm)

    · FP-growth13. 图模型(Graphical Models)

    图模型或概率图模型(PGM/probabilistic graphical model)是一种概率模型,一个图(graph)可以通过其表示随机变量之间的条件依赖结构(conditional dependence structure)。例子:

    · 贝叶斯网络(Bayesian network)

    · 马尔可夫随机域(Markov random field)

    · 链图(Chain Graphs)

    · 祖先图(Ancestral graph)

    优点:

    · 模型清晰,能被直观地理解缺点:
    确定其依赖的拓扑很困难,有时候也很模糊

    展开全文
  • 笔者邀请您,先思考:1 机器学习算法优缺点分析?从Logistic回归开始,然后尝试Tree Ensembles和/或Neural Networks。奥卡姆剃刀原理:...
        

    笔者邀请您,先思考:

    1 机器学习算法的优缺点分析?

    从Logistic回归开始,然后尝试Tree Ensembles和/或Neural Networks。奥卡姆的剃刀原理:使用最简单的算法,可以满足您的需求,并且只有在严格需要的情况下才用更复杂的算法。

    优点和缺点

    这里讨论最流行的算法。 有关机器学习算法的完整列表,请查看cheatsheet

    朴素贝叶斯

    • 超级简单,只是做了一堆计数。

    • 如果NB条件独立假设实际成立,那么朴素贝叶斯分类器将比逻辑回归等区分性模型更快地收敛,因此您需要更少的训练数据。 即使NB假设不成立,NB分类器在实践中仍经常表现出色。

    • 如果你想做某种半监督式的学习,或者想要一些令人尴尬的简单表现很好的话,这是一个很好的选择。

    • 没有分布要求,

    • 适合少数类别变量

    • 计算独立分布的乘积

    • 受到多重共线性

    Logistic回归

    逻辑回归仍然是使用最广泛的,了解更多

    • 一个相当好的分类算法,只要你期望你的特征大致是线性的,并且问题是线性可分的,就可以进行训练。

    • 可以做一些特征工程,将大多数非线性特征很容易地转化为线性特征。

    • 它对噪声也很稳健,并且可以避免过度拟合,甚至可以使用l2或l1正则化来进行特征选择。

    • 逻辑回归也可以用于大数据场景,因为它非常高效并且可以使用例如ADMM(请参阅logreg)进行并发。

    • 输出可以被解释为一个概率:您可以将其用于排名而不是分类。

    • 运行一个简单的l2正则化LR来提出一个基线

    • 无分布要求

    • 用少数类别分类变量表现良好

    • 计算logistic分布

    • 适合少数类别变量

    • 容易解释

    • 计算CI

    • 遭受多重共线性

    • 很多方法来调整你的模型

    • 不需要担心相关的特征,就像朴素贝叶斯一样。

    • 轻松更新模型以接收新数据(使用在线梯度下降法)

    • 如果您需要一个概率框架(例如,轻松调整分类阈值,说出何时不确定,或获得置信区间)还是希望在将来能够接收更多的训练数据迅速融入您的模型。

    Lasso

    • 没有分布要求

    • 计算L1损失

    • 具有变量选择特点

    • 遭受多重共线性

    Ridge

    • 没有分布要求

    • 计算L2损失

    • 不具有变量选择

    • 不受多重共线性

    何时不用

    • 如果变量是正态分布的且分类变量都有5个以上类别:使用线性判别分析

    • 如果相关性大部分是非线性的:使用SVM

    • 如果稀疏性和多重共线性是一个问题:具有Ridge(权重)的自适应Lasso + Lasso

    线性判别分析

    LDA:线性判别分析,不是潜在的Dirichlet分布

    • 需要正态分布

    • 不适合少数类别变量

    • 计算叠加的多元分布

    • 计算CI

    • 遭受多重共线性

    支持向量机

    SVM vs LR:

    • 支持向量机(SVM)使用与LR不同的损失函数(Hinge)。

    • 他们也有不同的解释(最大边缘间隔)。

    • 然而,实际上,具有线性内核的SVM与Logistic回归没有太大区别(如果您好奇,可以看看Andrew Ng如何从他的Coursera机器学习课程中的Logistic回归中推导SVM)。

    • 您希望使用SVM而不是Logistic回归的主要原因是您的问题可能不是线性可分的。在这种情况下,您将不得不使用具有非线性内核的SVM(例如RBF)。

    • 事实是,逻辑回归也可以用于不同的内核,但在这一点上,出于实际原因,您可能更适合使用SVM。

    • 使用SVM的另一个相关原因是如果您处于高维空间。例如,据报道支持向量机可以更好地用于文本分类。

    • 高准确度,在考虑过拟合时有很好地理论保证。

    • 使用合适的内核,即使数据在基本特征空间中不能线性分离,它们也可以很好地工作。

    • 在非常高维空间是常态的文本分类问题中尤其受欢迎。

    • 没有分布要求

    • 计算铰链损失

    • 灵活选择非线性相关的核

    • 不受多重共线性

    • 很难解释

    缺点:

    • 训练可能会很痛苦。不推荐有很多实例的任何问题。不推荐大多数“工业规模”应用的SVM。除了玩具/实验室问题之外的任何事情可能会更好地用不同的算法来处理。尽管如此,内存密集型和烦人的运行和调优,所以我认为随机森林正在开始抢夺冠军。

    决策树

    • 易于解释

    • 非参数化的,所以你不必担心异常值或者数据是否可线性分离

    • 他们的主要缺点是他们很容易过拟合,但这就是像随机森林(或提升树)这样的集成方法进来的地方。

    • 另外,随机森林往往是分类问题的赢家(通常在SVM上略微领先一些,我相信),它们快速且可扩展,并且您不必担心像SVM那样要调整一堆参数,所以他们现在似乎很受欢迎。

    • 没有分布要求

    • 启发式

    • 适合少数类别变量

    • 不受多重共线性(通过选择其中之一)

    • Bagging, boosting, 集成方法通常优于单一算法。

    树集成:随机森林和梯度提升树。Tree Ensembles vs LR。

    • 他们并不期望线性特征,甚至线性相互作用的特征。 LR中没有提到的一点是,它很难处理分类(二元)特征。 Tree Ensembles,因为它们不过是一堆决策树的组合,可以很好地处理这个问题。另一个主要优点是,由于它们使用装袋或提升构成的,这些算法可以非常好地处理高维空间以及大量的训练实例。

    • 两者都是快速和可扩展的,随机森林往往会在准确性方面击败逻辑回归,但逻辑回归可以在线更新并为您提供有用的概率。

    随机森林

    随机森林使用数据的随机样本独立训练每棵树。 这种随机性有助于使模型比单个决策树更稳健,并且不太过拟合训练数据。 RF中通常有两个参数 - 树数量和被选择的每个结点的特征数目(列抽样)。

    • RF适用于并行或分布式计算。

    • 几乎总是比决策树具有更低的分类错误和更好的f分数。

    • 几乎总是表现出与SVM相同或更好的效果,但对于人类来说更容易理解。

    • 非常适合具有缺失变量的不均匀数据集。

    • 给你一个关于你的数据集中的哪些特征是最重要的免费的好主意。

    • 通常训练速度比支持向量机要快(尽管这显然取决于你的实现)。

    梯度提升决策树

    GBDT一次构建一棵树,每棵新树有助于纠正先前训练过的树造成的错误。 每添加一棵树,该模型就会变得更具表现力。 通常有三个参数 - 树的数量,树的深度和学习速率,每棵树的建立一般都很浅。

    • 容易过拟合

    • GBDT通常表现比RF好,但它们很难达到正确。 更具体地说,GBDT具有更多的超参数要调整,并且更容易出现过拟合。 RF几乎可以“开箱即用”,这也是他们非常受欢迎的原因之一。

    • GBDT训练通常需要更长的时间,因为树是按顺序构建的。

    神经网络

    优点

    • 很好地拟合具有大量输入特征的非线性数据

    • 广泛应用于工业

    • 许多开源实现

    缺点

    • 神经网络仅适用于数值输入,具有常数值的向量和具有非缺失数据的数据集。

    • 分类边界难以直观地理解,并且ANN在计算上昂贵。

    • 黑盒子,使他们很难与之合作,就像试图通过审查人类潜意识来解释我们的意识行为背后的原因。

    • 难以训练:训练结果可能是非确定性的,并且主要取决于初始参数的选择

    • 当他们不像您期望的那样工作时,他们很难排除故障,当他们工作时,您将永远不会确信自己会很好地归纳未包含在您的训练集中的数据,因为从根本上说,您不了解你的网络如何解决问题

    • 多层神经网络通常很难训练,并且需要调整大量参数

    • 神经网络不是概率性的,不像其他统计学或贝叶斯统计学。一个神经网络可能会给你一个连续的数字作为它的输出(例如一个分数),但是把它转换成一个概率往往是困难的。具有更强大理论基础的方法通常会直接为您提供这些概率。

    深度学习

    • 不是通用的分类技术。

    • 擅长图像分类,视频,音频,文字。

    概要

    考虑的因素

    • 训练例子的数量,(你的训练集有多大?)

      • 如果训练集很小,高偏差/低方差分类器(例如朴素贝叶斯)比低偏差/高方差分类器(例如,kNN或逻辑回归)具有优势,因为后者会过度拟合。但是随着训练集的增长(它们具有较低的渐近误差),低偏差/高方差分类器开始赢得胜利,因为高偏差分类器的功能不足以提供准确的模型。您也可以将其视为生成模型与判别模型的区别。

    • 特征空间的维度

    • 我希望问题是线性可分的吗?

    • 特征是否独立?

    • 期望的特征将与目标变量呈线性关系吗?

    • 过度拟合是否会成为问题?

    • 在速度/性能/内存使用方面,系统的要求是什么……?

    • 它需要变量满足正态分布吗?

    • 它是否遭受多重共线性问题?

    • 用分类变量做作为连续变量是否表现好?

    • 它是否计算没有CV的CI?

    • 它是否可以不要stepwise而进行变量选择?

    • 它适用于稀疏数据吗?

    从Logistic回归等简单的事情开始,设置一个基线,并且只在需要时才会使其更加复杂。此时,树集成,特别是随机森林,因为它们很容易调整,可能是正确的路。如果你觉得还有改进的空间,试试GBDT或者更有兴趣去尝试深度学习。

    原文链接:

    版权声明:作者保留权利,严禁修改,转载请注明原文链接。

    640?wx_fmt=jpeg

    展开全文
  • 使用机器学习方法 可以非常简单地通过无监督聚类分离出两个人说话声音、人和音乐声音; 为什么使用Octave软件或者mtlab软件? 可以快速地实现某一个算法,而不需要编写大量代码(如果使用C++或者java 很多简单...
  • 奥卡姆剃刀原理:使用最简单算法,可以满足您需求,并且只有在严格需要情况下才用更复杂算法。 根据我自己经验,只有神经网络和梯度增强决策树(GBDT)正在工业中广泛使用。 我目睹Logistic回归...
  • Microsoft SQL Server是一款优秀的关系型数据库管理系统,Python是目前流行的数据科学...本文主要介绍在SQL Server 2017中的Python如何增强数据库内机器学习、Python集成所提供的优点以及哪些人能够从中受益。有任...
  • 机器学习常用算法优点及缺点总结

    万次阅读 多人点赞 2016-11-04 14:14:40
    一、 决策树优点 1、决策树易于理解和解释,可以可视化分析,容易提取出规则。 2、可以同时处理标称型和数值型数据。 3、测试数据集时,运行速度比较快。 4、决策树可以很好扩展到大型数据库中,同时...
  • 1.ROC曲线的优点: 1.对类别不平衡不敏感 2.适用于评估分类器的整体性能 3.不会随着样本中的正负样本比例变化而产生明显变化 2.原因: 分别对正例和负例采样(TPR用到的TP和FN同属P列,可以理解为对正例的采样结果...
  • 一、 决策树优点1、决策树易于理解和解释,可以可视化分析,容易提取出规则。2、可以同时处理标称型和数值型数据。3、测试数据集时,运行速度比较快。4、决策树可以很好扩展到大型数据库中,同时它大小独立于...
  • 机器学习其他分类: 在线学习Online Learning 批量学习(离线学习)Batch Learning 批量学习 优点:简单 问题:如何适应环境变化? 解决方案:定时重新批量学习 缺点:每次重新批量学习,运算量巨大 在某些...
  • 1、神经元模型历史上,科学家一直希望模拟人大脑,造出可以思考的机器。人为什么能够思考?科学家发现,原因在于人体神经网络。 神经网络最基本成分是神经元模型其中,W表示是向量,代表是权重,函数f称为...
  • 机器学习监督学习算法分为分类算法和回归算法两种,其实就是根据类别标签分布类型为离散型、连续性而定义。顾名思义,分类算法用于离散型分布预测,如前面讲过KNN、决策树、朴素贝叶斯、adaboost、SVM、Logistic...
  • 交叉验证主要可以用来评估模型性能,比如说有一个模型,有一个数据集,如果不使用交叉验证,那就是直接将数据放到网络当中去训练,训练结束后,用新数据来进行测试,来看看这个模型是否好,但是这个模型对这个新...
  • 1. 概述在情感分析应用领域,例如判断某一句话是positive或者是negative案例中,咱们可以通过传统standard neuro network来作为解决方案,但是传统神经网络在应用时候是不能获取前后文字之间关系,不...
  • 摘要:现如今,拥有深度学习和机器学习领域技术是科技界趋势之一,并且...学习Java语言有很多好处,并且在机器学习社区中也被人们所广泛接受,其优点包括:易维护、商业化、可读性、可移植性等等。根据2018年6...
  • 一、机器学习概览 ...1. 什么是机器学习?...比如说,不需要通过编程来识别猫或人脸,它们可以通过...机器学习是一种重在寻找数据中模式并使用这些模式来做出预测研究和算法门类。机器学习是人工智能领域
  • 在对比了人类逻辑和机器学习后,对整个机器学习的优点和缺点有了明确的理解,同时对其的重点和难点也有了一点认识.机器学习就是要做到 1数据正确 2特征能够表征数据 3模型状态适合 4预测结果分析 基于以上的要点,...
  • 机器学习相关算法优缺点(机器学习实战整理) 1.k-近邻算法 优点:精度高、对异常值不敏感、无数据输入假定。 缺点:计算复杂度高、空间复杂度高 适用数据范围:数值型和标称型 2.决策树 优点:计算复杂度不高...
  • 机器学习概述

    2021-04-11 10:51:33
    了解常见机器学习算法的优点和缺点。 机器学习模型 机器学习(Machine Learning)这个术语常常掩盖了它的计算机科学性质,因为它的名字可能暗示机器正在像人类一样学习,甚至做得更好。 尽管我们希望有一天机器能够...
  • SVM(支持向量机)SVM的优点:1.在高维中表现良好。在现实世界中有无限维度(不仅仅是2D和3D)。例如,图像数据、基因数据、医学数据等具有更高的维数,支持向量机在这方面是有用的。基本上,当特征/列的数量较多时,SVM...
  • 机器学习01——机器学习需要什么?

    千次阅读 2018-11-18 15:21:20
    三:机器学习的理解 一个婴儿,需要模仿着父母不停的学习然后学会说话和行走是一样的道理。 机器学习是给一个目标——>机器模仿实现目标——>最终实现 四:机器学习需要什么? 算法 数据 程序 ...
  • 机器学习基本概念与定义什么是机器学习机器学习优点机器学习的种类监督式学习无监督学习半监督式学习强化学习批量学习和在线学习批量学习在线学习基于实例的学习和基于模型的学习基于实例的学习基于模型的学习机器...
  • 机器学习

    2019-10-16 11:17:10
    形式简单、易于建模、蕴含机器学习的重要思想 非线性模型可由线性模型通过引入层级结构和高维映射得到 具有很好的解释性(哪一个参数更为重要) 3.2 线性回归 先考虑简单的情况,即每个样本只有一个属性,一元线性...
  • 作为机器学习的初学者,最关心的肯定是如何搭建运行环境、如何完整跑一个机器学习算法的实例程序了。本人刚趟过坑,就把这个过程整理下来,作为后面进来的人的一份参考,以此互勉。 一、运行时环境ipython notebook...
  • 现如今,拥有深度学习和机器学习领域技术是科技界趋势之一,并且...学习Java语言有很多好处,并且在机器学习社区中也被人们所广泛接受,其优点包括:易维护、商业化、可读性、可移植性等等。根据2018年6月编...
  • 关于基于机器学习的入侵检测学习记录 一、入侵检测的过程 1、数据采集阶段 (1)主机日志记录 (2)网络流量数据 2、检测分析阶段 (1)数据处理 (2)算法分析 3、响应处理阶段 (1)发出警告 (2)应急响应 二、...
  • 机器学习在网络异常检测中应用

    千次阅读 2019-04-29 23:30:06
    基于机器学习的方式相比传统基于签名匹配的优点是:它不需要人工编写规则,而且可以检测 0-day 攻击。 本次分享的主要内容如下: 网络异常检测技术介绍 基于统计的异常检测 基于机器学习的异常检测 特征选取和常用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,626
精华内容 1,450
关键字:

机器学习的优点