首页
学习
活动
专区
工具
TVP
发布

你想知道的机器学习算法都在这里(一)

前言

正如爱因斯坦所说:“从希腊哲学到现代物理学的整个科学史上,不断有人试图把表面上极其复杂的自然现象归结为几个简单的基本概念和关系,这就是整个自然哲学的基本原理。”机器学习正是一个最好的例子,其宏观概念与核心算法都不需要用到高深的数学知识。下面将总结两大类经典机器学习算法。

1

分类算法

K近邻算法

K近邻算法是最简单的机器学习分类算法。我们可以有两方面的理解。如上图所示,我们要将中间的五角星进行分类。一种理解:给定K为以五角星所在点为圆心的半径,判断该圆内三角形与小圆圈那种类型多,我们就认为五角星属于多的那一类。另一种理解:给定K为离五角星所在点最近的K个数据点。这K个数据点哪种类型数据点比较多,五角星就归为哪一类。K近邻算法虽然分类简单,但是对于样本分布不均衡的情况可能会造成分类结果的不准确性。

逻辑回归算法

对于逻辑回归算法,我们首先应该定义两个函数:损失函数与预测函数。损失函数用于寻找最优的逻辑回归曲线,预测函数用于量化数据属于某一类的概率。预测函数一般用Sigmoid函数定义:

这个函数具有很好的光滑性,而且取值在到1之间。相对应的分类概率为:

根据概率的大小我们就可以进行分类。

我们可以用最大似然估计推导得到损失函数来得到最优的逻辑回归曲线。

朴素贝叶斯算法

朴素贝叶斯算法主要基于贝叶斯公式。如上图所示,我们需要对具有某一特征的数据进行分类,我们用贝叶斯公式写出其预测表达式。当样本的数量达到一定的数量时,我们可以用频率估计概率进行预测。“朴素”的意思就是数据特征之间相互独立。

支持向量机(SVM)

什么叫支持向量机?实质上它就是基于支持向量的一类分类机。所谓分类机,就是能将数据分类的一种“媒介”,比如上图中的红线与绿线。如上图,我们可以看到分类器的上下每个类别都有一个离分类器最近的点,这些点的位置就确定了分类器的位置,也就是说这些点“支持”了分类机,我们称之为“支持向量”。下面,我们只需保证支持向量与分类机的几何距离取极大值,就能够得到最佳的分类器。

随机森林算法

中国有句古话叫做“三个臭皮匠顶个诸葛亮”,这与随机森林算法的思想不谋而合。随机森林算法可以看做是多个彼此独立的决策树叠加而成,每个决策树的特征选取都是通过抽样生成的,每颗树的训练数据也是抽样生成的。如上图所示,决策树一般都选用二叉树决策树。

2

聚类算法

K-means算法

K-means算法是基于距离的聚类算法。如上图所示,我们需要给定K个类别(上图K=2)。初始时给定2个初始点,根据所有数据点到两个初始点距离的远近分为两类。再找出每一类所有点的中心点作为下一次聚类的初始点,如此循环迭代。此算法计算复杂度高,每次迭代都需要对所有数据点进行循环。给定初始类别的数量可能与实际情况不符,造成结构的失真。

DBSCAN算法

DBSCAN算法是基于密度聚类的算法。对于本算法,我们需要初始给定两个参数:圆的半径R与表示密度概念的P。如果某一个数据点(例如上图中的A点)在半径R内的点的个数大于P,我们该点为“核心点”。我们认为在“核心点”半径R范围内的所有的点属于同一类。如果A不是“核心点”,把A标记成“噪音”,也就是我们所说的错误数据。由此可以看出DBSCAN算法可以自动对“噪音”点进行筛选,这也是它最大的特点。

参考资料:《机器学习与实践应用》李博著

一本正经的探讨学习与科研,胡说八道的谈人生、聊理想!

更多好文,敬请关注

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180708G0I7Q500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券