深度学习是指能够学习极端复杂模式的多层神经网络。它们在输入层和输出层之间使用隐藏层来对数据的中间表征建模,这一点是其他算法很难做到的。 深度学习还有几个重要的机制,如卷积、漏失等,这使该算法可以有效学习高维数据。然而,相对于其他算法,深度学习需要更多的数据来进行训练,因为该模型需要估算更大数量级的参数。 优点:深度学习是当前特定领域的最先进技术,如计算机视觉与语音识别。深度神经网络在图像、音频和文本数据上表现优异,也很容易通过反向传播算法来更新数据模型。它们的架构(即层级的数量和结构)能适用于多种问题,同时隐藏层还能降低算法对特征工程的依赖。 缺点:深度学习算法往往不适合用于通用目的,因为它们需要大量的数据。事实上,对于经典的机器学习问题,深度学习的表现并不比集成方法好。此外,由于训练所需的密集型计算,它们需要更多的专门知识才能进行调参(如设定架构与超参数)。 实现: Python - https://keras.io/ R - 1.4 荣誉奖:最近邻算法 最近邻算法是“基于实例的”,也就意味着它需要保留每一个训练观察值。最近邻算法通过搜寻最相似的训练样本来预测新样本的观察值。 它是内存密集型算法,处理高维数据时的效果并不理想,同时还需要高效的距离函数来计算相似度。在实践中,使用正则化的回归或树型集成方法通常是更好的选择。 ▌2.分类 分类是一种用于分类变量建模及预测的监督学习算法,使用案例包括员工流失、邮件过滤、金融欺诈等的预测。 正如你所见,许多回归算法都有其对应的分类形式,分类算法往往适用于类别(或其可能性)的预测,而非数值。
逻辑回归 2.1 (正则化)逻辑回归 逻辑回归是线性回归所对应的分类方法,基本概念由线性回归推导而出。逻辑回归通过逻辑函数将预测映射到 0 到 1 的区间,因此预测值可被视为某一类别的概率。 该模型依旧是线性的,只有当数据线性可分时(例如,数据可被某决策平面完全分离),这一算法才会有很好的表现。逻辑回归同样能惩罚模型系数以进行正则化。 优点:输出结果会有很好的概率解释,而算法也能通过正则化以避免过拟合。逻辑模型很容易通过随机梯度下降来更新数据模型。 缺点:逻辑回归在面对多元或非线性决策边界时性能较差。 实现: Python - #logistic-regression R - https://cran.r-project.org/web/packages/glmnet/index.html 2.2 分类树(集成方法) 对应于回归树的分类算法是分类树。通常,它们都是指决策树,更为严谨的说法是“分类回归树(CART)”,也就是非常有名的 CART 算法。 优点:跟回归方法一样,分类树的集成方法在实践中的表现同样十分优异。它们在应对异常数据时有着相当的稳健性与可扩展性。由于其层级结构,分类树的集成方法能够很自然地对非线性决策边界建模。 缺点:不可约束,单棵树容易过拟合,集成方法可削弱这一影响。 实现:随机森林 Python - #regression R - https://cran.r-project.org/web/packages/randomForest/index.html 实现:梯度提升树 Python - #classification R - https://cran.r-project.org/web/packages/gbm/index.html 2.3 深度学习 深度学习同样很容易适应于分类问题。实际上,深度学习应用地更多的是分类任务,如图像分类等。 优点:深度学习非常适合于音频、文本与图像数据的分类。 缺点:与回归方法一样,深度神经网络需要大量的数据进行训练,所以也不是一个通用目的算法。 实现: Python - https://keras.io/ R - 2.4 支持向量机 (责任编辑:本港台直播) |