概述
机器学习是目前行业的一个创新且重要的领域。今天,给大家介绍机器学习中的10种常见的算法,希望可以帮助大家适应机器学习的世界。
1、线性回归
线性回归(Linear Regression)是目前机器学习算法中最流行的一种,线性回归算法就是要找一条直线,并且让这条直线尽可能地拟合散点图中的数据点。它试图通过将直线方程与该数据拟合来表示自变量(x)和数值结果(y)。然后就可以用这条直线来预测未来的值!
这种算法最常用的技术是最小二乘法(Least of squares)。这个方法计算出最佳拟合线,以使得与直线上的每个数据点垂直距离最小。总距离是所有数据点的垂直距离(绿线)的平方和。其思想是通过最小化这个平方误差或距离来拟合模型。
线性回归
2、逻辑回归
逻辑回归(Logistic regression)与线性回归类似,但逻辑回归是用于输出为二进制的情况(即,当结果只能有两个可能的值)。对最终输出的与预测是一个非线性的S型函数,称为logistic function,g()
这个逻辑函数将中间结果映射到结果变量Y,其值范围是从0到1.然后,这些值可以解释为Y出现的概率。S型逻辑函数的性质使得逻辑回归更适合用于分类任务。
逻辑回归曲线图,显示了通过考试的概率与学习时间的关系
3、决策树
决策树(Decision Trees)可用于回归和分类任务。
在这一算法中,训练模型通过学习树表示(Tree representation)的决策规则来学习预测目标变量的值。树是由具有相应属性的节点组成的。
在每个节点上,我们根据可用的特征询问有关数据的问题,左右分支代表可能的答案。最终节点(即叶节点)对应于一个预测值。每个特征的重要性是通过自顶向下方法确定的,节点越高,其属性就越重要。
玩还是不玩,这是一个问题。
4、朴素贝叶斯
朴素贝叶斯(Naive Bayes)是基于贝叶斯定理。它测量每个类的概率,每个类的条件概率给出x的值。这个算法用于分类问题,得到一个二进制“是”/“非”的结果,如下图所示。
其中,P(Y|X)代表X事件发生的条件下,Y事件发生的概率;P(X)和P(Y)分别代表了事件X和事件Y发生的概率;P(X|Y)代表了Y事件发生的条件下,X事件发生的概率。
朴素贝叶斯分类器是一种流行的统计技术,可用于过滤垃圾邮件
5、支持向量机(SVM)
支持向量机(Support Vector Machine, SVM)是一种用于分类问题的监督算法。支持向量机试图在数据点之间绘制两条线,它们之间边距最大。为此,我们将数据项绘制为n维空间中的点,其中n是输入特征的数量,我们生活在3维空间,所以大多数想象n=3。在此基础上,支持向量机找到一个最优边界,简称超平面(Hyperplane),它通过类标签将可能的输出进行最佳分离。二维数据用线分离,三维数据用平面分离,当n超过3时候,我们就无法想象。
超平面与最近的类点之间的距离称为边距。最优超平面具有最大边界,可以对点进行分类,从而使最近的数据点与这两个点间的距离最大化,使得类类间的距离最小,类间的距离最大。
如图所示,H1没有将两个类分开。但是H2将两个类分开。但是H2只有很小的边距,而H3以最大的边距将它们分开了,使得类类间的距离最小,类间的距离最大。
6、K-最近邻算法(KNN)
这个可以参考我之前的博客,讲的很详细啊
7、K-均值
K均值(K-means)是通过对数据集进行分类来聚类的。例如这个算法可以根据购买历史将用户进行分组,它在数据集中找到K个聚类。K-均值用于无监督学习,因此,我们只需要使用训练数据X,以及我们想要识别的聚类数量K。
该算法根据每个数据点的特征,将每个数据点迭代地分配给K个组中的一个组,它为每个K-聚类(称为质心)的聚类中。这个过程一直持续到质心停止变化为止。
8、随机森林
随机森林(Random Forest)是一种非常流行的集成机器学习算法。这个算法的基本思想是,许多人的意见要比一个人的意见更加准确,好而不同。在随机森林中,我们使用决策树集成,一棵棵树,最后就集成了一片森林。
为了对新对象进行分类,我们从每个决策树中进行投票,并结合结果,然后根据多数投票最终做出决定。
(a)在训练过程中,每个决策树都是基于训练集的引导样本来构建的。
(b)在分类过程中,输入实例的决定是根据多数投票做出的。
9、降维
由于我们今天能够捕获的数据量信息太大,维度空间也越来越大,机器学习问题变得更加复杂。这个就意味着训练极其缓慢,而且很难找到一个好的解决方案。这个问题,通常被称为“维数灾难”(Curse of dimensionality)。
降维(Dimensionality reduction)试图在不丢失最重要信息的情况下,通过将特定的特征组合成高层次的特征来解决这个问题。主成分分析是最流行的降维技术。
主成分分析是通过将数据集压缩到低维线或超平面/子空间来降低数据集的维数。这尽可能地保留了原始数据的显著特征。
如图所示,可以通过将所有数据点近似到一条直线上来实现降维。
10、人工神经网络(ANN)
人工神经网络(Artificial Neural Networks, ANN)可以处理大型复杂的机器学习任务。神经网络本质上是一组带有权值的边和节点组成的相互连接的层,称为神经元。在输入层和输出层之间,我们可以插入多个隐藏层。人工神经网络使用了两个隐藏层。除此之外,还需要处理深度学习的问题。
人工神经网络的工作原理与大脑的结构类似。一组神经元被赋予一个随机权重,以确定神经元如何处理输入数据。通过对输入数据训练神经网络来学习输入和输出之间的关系。在训练阶段,系统可以访问正确的答案。如果网络不能准确识别输入,系统就会调整权重。经过充分的训练后,它将始终如一地识别出正确的模式。
每个圆形节点表示一个人工神经元,箭头表示从一个人工神经元的输出到另一个人工神经元的输入的连接。
这就是我对于机器学习的十种比较流行的算法的总结,大家也可以自己尝试去深入了解一下,希望对大家的学习有帮助啊。
照例给大家推荐一个b站视频:YOLOV4和YOLOV5教程 BV1pv411V7kR
最后
以上就是糟糕马里奥为你收集整理的人工智能-10种机器学习常见算法的全部内容,希望文章能够帮你解决人工智能-10种机器学习常见算法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复