你需要了解的 5 大机器学习算法
这篇博客文章是为Twilio撰写的,最初发表在 Twilio 博客上。
理解算法可以让我们开发者的工作更加轻松,但我个人发现大多数机器学习教程要么太高级,要么太低级,对初学者来说不太友好,这令人沮丧。这篇博文旨在让所有人,包括非机器学习工程师,都能轻松掌握机器学习算法。
一些有用的词汇
- 监督学习:模型通过查看正确分类、已标记的数据进行学习
- 无监督学习:模型通过查看未标记的数据并尝试根据相似性、模式和差异对其进行分组来进行学习
监督学习可以解决这些问题
- 分类:预测离散标签或类别,如“红色”、“是”、“馅饼”、“水果”(即这栋房子会卖吗,日落会是什么颜色)。
- 回归:预测连续值或数量,例如货币、里程、人数……(例如,这栋房子能卖多少钱,太阳什么时候落山)。以下是一些你在机器学习中会遇到的监督学习算法。
5 个需要了解的算法
1)线性回归是最常用的机器学习算法和统计技术之一。它通过将线性方程拟合到观测数据中,可以解释
a. 一个或多个独立预测变量(x 值)
b. 一个解释性因变量(y 值)
之间的关系,并以此预测未来值。
最流行的线性回归方法是最小二乘法,它计算只有一个自变量时的最佳拟合线(也称为回归线)。其公式为 y = mx + b,使得该线尽可能接近每个数据点。
如果您想检查某人的体重和身高或他们的经验和薪水之间的关系,或者根据已知数据预测接下来有多少人会感染 COVID-19 等,则可以使用线性回归模型。
2)逻辑回归与线性回归类似,但它是一种二分类算法(它会将给定的输入分配到一个类别,例如判断一张馅饼图片是“馅饼”还是“蛋糕”,或者某人会排在第一、第二、第三、第四名),用于预测给定数据下事件发生的概率。它适用于二元数据,旨在预测分类“拟合度”(1 表示成功,0 表示失败,两者之间有概率)。而线性回归的结果可以有无限个值,并用一条直线预测一个值。逻辑回归则会生成一条限制在 0 到 1 之间的逻辑曲线,以检验变量之间的关系。
您可以使用逻辑回归模型来确定某人是否会赢得选举或比赛、是否感染了 COVID-19、某人是否会通过面试或未通过面试、客户是否会回来、电话是否是垃圾电话等等。
线性回归 | 逻辑回归 |
---|---|
回归算法 | 回归算法强制输出二进制数据的分类 |
结果(因变量)具有连续的、无限数量的可能值:体重、身高、小时数等。 | 结果(因变量为二进制)是成功的分类概率,并且具有有限数量的可能值 |
算法结果为一条线(Y = mX + b)。 | 算法产生一条逻辑曲线,其 y 值必须介于 0 和 1 之间,且其总和为 1 |
3)朴素贝叶斯是一类用于计算条件概率的监督分类算法。它们基于贝叶斯定理,该定理假设某个类中某个特征的存在与其他特征的存在无关,并在已知其他概率的情况下,计算出一个概率。
例如,如果一个球体呈黄色、较小且毛茸茸的,你可以说它是网球。即使这些特征相互依赖或依赖于另一个特征的存在,每个特征都会独立地影响这个球体是网球的概率。这就是为什么该算法被称为“朴素算法”——它假设每个特征都是独立的。
一旦算法遍历了每个特征并计算了条件概率,它就会对预测类别做出决定,从而在分类问题中提供二元结果。
A = 狗,B = 它有毛茸茸的,有尾巴,有 4 条腿:** P(袋鼠 | 毛茸茸的,尾巴和 4 条腿) = 0,因为 P(4 条腿 | 袋鼠) = 0
通过这个等式,你可以找到在B发生的情况下A发生的概率,其中B是证据,A是假设。
您可以使用朴素贝叶斯进行实时预测(速度很快)、多类预测、机器人、计算机视觉和自然语言处理任务,如文本分类、垃圾邮件过滤、情感分析和推荐。
那么逻辑回归和朴素贝叶斯有什么区别呢?由于朴素贝叶斯算法比较简单,它假设所有特征都是独立的,但这并不总是成立,所以它的预测就会出错。如果所有特征并非彼此独立,逻辑回归的效果会更好。
4) KNN(K 最近邻)是一种用于解决分类和回归预测问题的监督算法。它假设相似的值彼此接近,就像图上的数据点一样。给定一个新的未分类数据点,该算法会使用某种距离函数(例如欧几里得、曼哈顿或明可夫斯基)从现有数据集中找到该新值的 k 个邻居,并通过计算 k 个邻居的平均值来返回最常见结果的预测。
假设下图中新的蓝点被添加到数据集中,并且您想要对其进行分类。您需要计算蓝点与其他点之间的距离,并寻找最相似的k个点。如果变量k = 3,我们需要找到三个最接近的数据点。下图中三个最接近的点显然是粉色,因此模型会确信新的点可以归类为粉色。如果其中一个最接近的点是紫色,那么大多数点都会投票并返回该点的预测值。
选择k 的值很重要:太小的值可能意味着噪声和不准确的结果,而太大的值则不可行。由于在进行预测之前不会进行任何计算,因此 KNN 被认为是一种惰性学习算法。
您可以将 KNN 用于推荐、图像识别和决策模型。由于它需要跟踪训练数据并找到邻居节点,因此每次计算所需的时间比朴素贝叶斯更长。
5)随机森林🌲是一种更复杂、更流行的集成机器学习算法。这意味着它将多种机器学习方法或算法组合成一个预测模型,其中多个模型的意见比单个模型的意见更准确。该模型既可用于回归问题,也可用于分类问题。它使用决策树的集成,构建一个由决策树组成的“森林”。
例如,给定一个标记数据集(一系列点,每个点都有一个颜色),如何对新样本(一个点)进行分类(分配一个颜色)?
你觉得新的(黄色)点会是什么颜色?可能是粉色,对吧?我们通过一个心理过程做出了这个决定:给定 8 个点,
if x <= 2, the point is orange
Otherwise, if x >= 2.5, it's pink
每个条件都是一个分支,可以做出一个决定:这个点是橙色还是粉色?
那是一棵决策树。为了对新的数据点进行分类,随机森林会使用多棵决策树,从每棵树中抽取某种投票,合并结果,并根据多数共识得出结论。为了进行预测,新的数据点从树的顶部(根节点)开始,沿着“如果……那么”条件分支向下遍历。分支遍历不断重复相同的决策过程,直到分支必须在叶节点处停止。叶节点表示预测类别或值的最终输出。
随机森林使用多棵随机决策树来提高准确率,并将其结果合并为一个最终结果。对于回归问题,预测依据树的平均值;对于分类问题,预测依据树间的多数投票。
下一步
有了这些热门的机器学习新算法,你应该能更好地进行分类和回归分析。请在评论区或线上告诉我你正在做什么——我迫不及待地想看看你最终会做出什么成果。
鏂囩珷鏉ユ簮锛�https://dev.to/twilio/top-5-machine-learning-algorithms-you-need-to-know-2723