写点什么

7 种机器学习算法的 7 个要点

2020 年 9 月 18 日

7 种机器学习算法的 7 个要点

本文最初发表于 Towards Data Science 博客,经原作者 Soner Yildirim 授权,InfoQ 中文站翻译并分享。


由于有了各种库和框架,我们只需一行代码就可以实现机器学习算法。有些库和框架更进一步,可以让你在短时间内实现和比较多种算法。


但在使用方便的同时,也带来了一些缺点。我们可能会忽略这些算法背后的关键概念或思想,而这些概念或思想对于这些算法的理解是必不可少的。


在本文中,我将提到关于 7 种机器学习算法的 7 个要点。我想指出的是,这些并不是对算法的完整解释,所以,如果你对它们有基本了解的话,那就更好不过了。


闲话少叙,言归正题。


1. 支持向量机

要点:C 参数


支持向量机(Support Vector Machine,SVM)创建一个决策边界,用于区分两个或多个类。


Soft-Margin SVM 试图解决一类优化问题,其目标如下:


  • 增加决策边界到类(或支持向量)的距离。

  • 最大化训练集中正确分类的点的数量。


这两个目标之间显然存在一个权衡。决策边界可能必须非常接近一个特定的类,才能正确标注所有的数据点。然而,在这种情况下,由于决策边界对噪声和自变量的微小变化过于敏感,新观测值的正确率可能会有所降低。


另一方面,决策边间可能会被尽可能地放置在每个类上,但代价是一些错误分类的异常。这种权衡由 C 参数控制。


C 参数对每一个错误分类的数据点增加了一个惩罚。如果 C 较小,则对错误分类点的惩罚较低,所以选择一个余量较大的决策边界,以牺牲较多的错误分类次数为代价。


如果 C 较大,支持向量机会尽量减少错误分类样本的数量,从而导致决策边界具有较小的边际。对于所有错误分类的例子,惩罚是不一样的。它与到决策边界的距离成正比。


2. 决策树

要点:信息增益


在选择要分割的特征时,决策时算法会试图实现:


  • 更多的预测性。

  • 更少的杂质。

  • 更低的熵。


熵是对不确定性或随机性的度量。一个变量的随机性越大,熵就越高。具有均匀分布的变量就具有最高的熵。例如,掷一个公平的骰子,有 6 种可能的结果,概率相等,所以它具有均匀分布和高熵。



选择导致更多纯节点的拆分。所有这些都表明“信息增益”(Information gain),基本上就是拆分前后的熵之差。


3. 随机森林

要点:自助法与特征随机性


随机森林是许多决策树的集合。随机森林的成功在很大程度上取决于使用不相关的决策树。如果我们使用相同或非常相似的树,那么整体结果与单个决策树的结果差别并不大。随机森林通过自助法(bootstrapping)和特征随机性(feature randomness)得到不相关的决策树。


特征随机性是通过随机深林中的每个决策树随机选择特征来实现的。随机森林中每棵树使用的特征数量可以通过max_features参数进行控制。



4. 梯度提升决策树

要点:学习率和子模型数


梯度提升决策树(Gradient Boosted Decision Tree,GBDT)是一个决策树的集合,结合提升(boosting)方法,即将决策树按顺序连接起来。


学习率(Learning rate)和子模型数(n_estimators)是用于梯度提升决策树的两个关键超参数。


学习率简单来说就是模型学习的速度。学习率慢的好处是模型会变得过更加稳健和泛化。然而,学习率慢是有代价的。它需要更多的时间来训练模型,这就给我们带来了另一个重要的超参数。


n_estimators 参数是模型中使用的树的数量。如果学习率低,我们需要更多的树来训练模型。然而,我们在选择数目的数量时需要非常小心。使用过多的树会产生过拟合的高风险。


5. 朴素贝叶斯分类器

要点:朴素的好处是什么?


朴素贝叶斯(Naive Bayes)是一种用于分类的监督式机器学习分类算法,因此其任务是在给定特征值的情况下找到观测值所述的类别。朴素贝叶斯分类器计算给定一组特征值(即的类的概率。


朴素贝叶斯假设特征彼此独立,并且特征之间不存在相关性。然而,在现实生活中却并非如此。这种特征不相关的朴素假设,这就是这种算法被称为“朴素”的原因。


假设所有特征都是独立的,因此与复杂的算法相比,它的速度非常快。在某些情况下,比起更高的正确率,速度更受青睐。


朴素贝叶斯适用于文本分类、电子邮件垃圾邮件检测等高维数据的处理。


6. K-最近邻算法

要点:何时使用?何时不使用?


K-最近邻算法(K-nearest neighbors,KNN)是一种监督式机器学习算法,可用于解决分类问题,也可用于解决回归问题。KNN 的主要原理是数据点的值由其周围的数据点确定。


随着数据点数量的增加,KNN 算法将会变得非常慢,这是因为模型需要存储所有的数据点来计算它们之间的距离。这个原因也使得算法的内存效率不高。


另一个缺点就是 KNN 对异常值很敏感,因为异常值对最近点有影响(即使它的距离很远)。


积极的一面是:


  • 简单易懂。

  • 不做任何假设,所以它可以在非线性任务中实现。

  • 在多个类别的分类上效果很好。

  • 适用于分类任何和回归任务。


7. K-均值聚类

要点:何时使用?何时不使用?


K-均值聚类(K-Means Clustering)的目的是将数据分成 K 个聚类,使得同一个聚类中的数据点相似,而不同聚类中的数据点相距更远。


K-均值聚类算法无法猜测数据中存在多少个聚类。聚类的数量必须预先确定,这可能是一项具有挑战性的任务。


随着样本数量的增加,K-均值聚类算法将会变慢。因为在每一步中,它都要访问所有的数据点并计算距离。


K-均值聚类只能绘制线性边界。如果数据中存在分组的非线性结构,那么这种情况下,K-均值聚类就不是一个好选择。


积极的一面是:


  • 易于理解。

  • 相对较快。

  • 可针对大型数据集进行扩展。

  • 能够巧妙地选择初始质心的位置,从而加快收敛速度。

  • 保证收敛性。


我们已经介绍了关于每种算法的一些关键概念。给出的要点和注释绝对不是算法的全部解释。然而,我给出的这些内容肯定很重要,要在实施这些算法时,了解这些内容才能有所作为。


作者介绍:


Soner Yildirim,数据科学爱好者,撰写关于数据科学、人工智能、机器学习、深度学习、统计学、数学等文章。


原文链接:


https://towardsdatascience.com/7-key-points-on-7-machine-learning-algorithms-945ebda7a79


2020 年 9 月 18 日 08:30729
用户头像
刘燕 InfoQ记者

发布了 598 篇内容, 共 190.1 次阅读, 收获喜欢 1159 次。

关注

评论

发布
暂无评论
发现更多内容

Elasticsearch文档版本冲突原理与解决

Skysper

elasticsearch 乐观锁 悲观锁

GitHub知错就改,是个好同志

遇见

GitHub

从流程、认知上做稳定的系统演进

Skysper

系统设计 质量管理

测试

Chonge

分布式数据库是无用的屠龙术吗?

海边的Ivan

企业架构 分布式数据库 业务中台

var lady first

喵叔

C# .net 编码习惯

禁止在构造函数里调用虚函数

喵叔

C# .net 编码习惯

初入响应式编程(上)

CD826

spring 微服务 Spring Cloud 响应式编程 reactor

翻译: Effective Go (2)

申屠鹏会

go 翻译

删掉最后一句话

池建强

心理学 情绪控制

任正非管理哲学中的三个常识和三种科学

霍太稳@极客邦科技

创业 团队管理 华为

做小池塘里的大鱼,还是大池塘里的小鱼?这是个问题。

霍太稳@极客邦科技

创业 团队管理 目标管理

减少装箱与拆箱

喵叔

C# .net 编码习惯

探究vscode debug流程,解决无法运行go程序的问题

simpleapples

golang vscode

是时候要说再见了,春风十里,不如邮你!

乐少

dubbo-go 中如何实现远程配置管理

joe

golang Apache 开源 微服务架构 dubbo

如何做一名失败的安全架构师

石君

架构 安全架构师 安全评估

用你喜欢的 emoji 作为页面的 favicon 吧 🎉

遇见

CSS html favicon emoji

喔,明白了,成功也是一种苦难

霍太稳@极客邦科技

创业 身心健康 企业文化 个人成长 心理

做产品的同理心

孙苏勇

产品 产品经理 产品设计

特别评论:甲骨文的傲气

张晓楠

云计算 互联网巨头 企业文化

【深度】为您解读东西方艺术教育的专业设置差异对比~

默聲

小议RPA

一品凡心

人工智能 RPA 自动化

走出舒适区最好办法别走了,扩大它

乐少

精纯还是混乱?职场十二箴言——重读“成为乔布斯”的思考(一)

石君

职场 乔布斯 成功学

HTTP Methods和RESTful API的设计

孙苏勇

架构 系统设计 RESTful 接口

规范约束条件

喵叔

C# .net 编码习惯

我的第一个千万阅读量

彭宏豪95

创作 生活 写作

精纯还是混乱?职场十二箴言——重读“成为乔布斯”的思考(二)

石君

创业 乔布斯 成为乔布斯

《小狗钱钱》——财富离我们并不遥远

尹晓铁

读书笔记 投资 成长 思维方式

多用as少用强制类型转换

喵叔

「中国技术开放日·长沙站」现场直播

「中国技术开放日·长沙站」现场直播

7 种机器学习算法的 7 个要点-InfoQ