由于人工智能和机器学习,世界正在迅速变化,这对我们日常生活的方方面面都有影响。
从使用 NLP 和机器学习的语音助手到预约、在我们的日历上查找活动和播放音乐,再到非常准确的设备,它们甚至可以在我们考虑之前预测我们的需求。
计算机可以在机器学习算法的帮助下下棋、做手术,并发展成为更智能、更像人类的机器。
我们正处于一个技术不断进步的时代,通过观察计算机如何随着时间的推移而发展,我们可以预测未来会发生什么。
计算工具和方法的民主化是这场革命中脱颖而出的关键方面之一。 数据科学家 在过去五年中,通过毫不费力地实施尖端方法,创造了强大的数据处理计算机。 结果是惊人的。
在这篇文章中,我们将仔细研究 机器学习 算法及其所有变体。
那么,什么是机器学习算法?
人工智能系统用来执行其任务的方法——通常是从给定的输入数据中预测输出值——被称为机器学习算法。
机器学习算法是一个利用数据的过程,用于创建可用于生产的机器学习模型。 如果机器学习是执行工作的火车,那么机器学习算法就是推动工作的火车头。
使用的最佳机器学习方法将取决于您尝试解决的业务问题、您正在使用的数据集类型以及您拥有的资源。
机器学习算法是将数据集转换为模型的算法。 根据您尝试回答的问题类型、可用的处理能力以及您拥有的数据类型,有监督、无监督或强化学习算法可以表现良好。
所以,我们讨论了有监督、无监督和强化学习,但它们是什么? 让我们来探索一下。
有监督、无监督和强化学习
监督学习
在监督学习中,人工智能模型是根据提供的输入和代表预测结果的标签开发的。 基于输入和输出,该模型开发了一个映射方程,并使用该映射方程预测未来输入的标签。
假设我们需要创建一个可以区分狗和猫的模型。 将多张猫和狗的照片输入模型,并带有标签,表明它们是猫还是狗,以训练模型。
该模型试图建立一个方程,将输入照片上的标签与这些图像联系起来。 即使模型以前从未见过图像,在训练之后,它也可以识别出它是猫还是狗。
无监督学习
无监督学习涉及仅在输入上训练 AI 模型而不对其进行标记。 该模型将输入数据分成具有相关特征的组。
然后根据其属性与其中一个分类的匹配程度来预测输入的未来标签。 考虑我们必须将一组红球和蓝球分成两类的情况。
让我们假设球的其他特征是相同的,除了颜色。 在如何将球分为两类的基础上,该模型寻找球之间不同的特征。
当根据球的色调将球分成两组时,会产生两组球——一个蓝色和一个红色。
强化学习
在强化学习中,人工智能模型寻求通过在特定情况下尽可能地采取行动来最大化整体利润。 对其先前结果的反馈有助于模型学习。
想想当机器人被指示选择 A 点和 B 点之间的路线时的场景。机器人首先选择其中一个路线,因为它没有先前的经验。
机器人在它所走的路线上接收输入并从中获取知识。 机器人可以在下次遇到类似情况时利用输入来解决问题。
例如,如果机器人选择了选项 B 并获得了奖励,例如正面反馈,它知道这一次它必须选择方式 B 来增加它的奖励。
现在终于大家都在等待的是算法。
主要机器学习算法
1. 线性回归
偏离监督学习的最简单的机器学习方法是线性回归。 借助自变量的知识,它主要用于解决回归问题并创建对连续因变量的预测。
找到最佳拟合线,这有助于预测连续因变量的结果,是线性回归的目的。 房价、年龄和工资是连续值的一些例子。
一种称为简单线性回归的模型使用一条直线来计算一个自变量和一个因变量之间的关联。 多元线性回归中有两个以上的自变量。
线性回归模型有四个基本假设:
- 线性:X 和 Y 的平均值之间存在线性关系。
- 同方差性:对于 X 的每个值,残差方差都是相同的。
- 独立性:就独立性而言,观察是相互独立的。
- 正态性:当 X 固定时,Y 呈正态分布。
线性回归对于可以沿线分开的数据表现出色。 它可以通过使用正则化、交叉验证和降维技术来控制过拟合。 但是,在某些情况下,需要进行大量的特征工程,这有时会导致过度拟合和噪声。
2.逻辑回归
逻辑回归是另一种脱离监督学习的机器学习技术。 它的主要用途是分类,同时它也可以用于回归问题。
逻辑回归用于使用来自独立因素的信息来预测分类因变量。 目标是对只能介于 0 和 1 之间的输出进行分类。
输入的加权总数由 sigmoid 函数处理,该函数是一种将值转换为 0 和 1 之间的激活函数。
逻辑回归的基础是最大似然估计,一种在给定特定观察数据的情况下计算假设概率分布参数的方法。
3. 决策树
另一种脱离监督学习的机器学习方法是决策树。 对于分类和回归问题,都可以使用决策树方法。
这种类似于树的决策工具使用视觉表示来显示行动的预期结果、成本和影响。 通过将数据分成不同的部分,这个想法类似于人类的思维。
数据已被尽可能多地分成不同的部分。 决策树的主要目标是建立一个可用于预测目标变量类别的训练模型。 缺失值可以使用决策树自动处理。
不需要一次性编码、虚拟变量或其他数据预处理步骤。 从某种意义上说,它是僵化的,很难向其中添加新数据。 如果你有额外的标记数据,你应该在整个数据集上重新训练树。
因此,对于任何需要动态模型更改的应用程序来说,决策树都是一个糟糕的选择。
根据目标变量的种类,决策树分为两类:
- 分类变量:目标变量为分类的决策树。
- 连续变量:目标变量为连续的决策树。
4. 随机森林
随机森林方法是下一个机器学习技术,是一种广泛用于分类和回归问题的监督机器学习算法。 它也是一种基于树的方法,类似于决策树。
随机森林方法使用树木的森林或许多决策树来进行判断。 在处理分类任务时,随机森林方法使用分类变量,同时使用包含连续变量的数据集处理回归任务。
随机森林方法所做的就是集成或混合许多模型,这意味着预测是使用一组模型进行的,而不仅仅是一个模型。
能够同时用于分类和回归问题(构成现代机器学习系统的大多数)是随机森林的一个关键优势。
Ensemble 使用了两种不同的策略:
- Bagging:通过这样做,可以为训练数据集生成更多数据。 为了减少预测的变化,这样做了。
- Boosting 是通过构建连续模型将弱学习器与强学习器组合的过程,从而产生具有最大准确性的最终模型。
5. 朴素贝叶斯
可以使用朴素贝叶斯技术解决二元(两类)和多类分类问题。 当使用二进制或类别输入值解释该方法时,最容易掌握。 朴素贝叶斯分类器的一个假设是,一个类中一个特征的存在与任何其他特征的存在无关。
上式表示:
- P(H):假设 H 正确的可能性。 先验概率被称为this。
- P(E):证据的可能性
- P(E|H):假设得到证据支持的可能性。
- P(H|E):给定证据,假设为真的可能性。
朴素贝叶斯分类器在确定某个结果的可能性时会单独考虑这些特征中的每一个,即使这些属性是相互关联的。 朴素贝叶斯模型易于构建且对大型数据集有效。
众所周知,即使是最复杂的分类技术,它的性能也比最基础的分类技术要好。 它是所有基于贝叶斯定理的算法集合,而不是单一方法。
6. K-最近邻
K 近邻 (kNN) 技术是监督机器学习的一个子集,可用于解决分类和回归问题。 KNN 算法假定可以在附近找到可比较的对象。
我记得它是一群志同道合的人的聚会。 kNN 利用接近度、接近度或距离来利用其他数据点之间的相似性的想法。 为了根据最近标记的可观察数据点标记看不见的数据,采用数学方法来确定图形上点之间的间隔。
您必须确定数据点之间的距离才能确定最近的可比点。 诸如欧几里得距离、汉明距离、曼哈顿距离和闵可夫斯基距离之类的距离测量可以用于此。 K被称为最近邻数,通常是奇数。
KNN 可以应用于分类和回归问题。 当 KNN 用于回归问题时所做的预测是基于 K 最相似事件的平均值或中值。
基于KNN的分类算法的结果可以确定为K个最相似出现中频率最高的类。 每个实例本质上都会为他们的班级投票,并且预测属于获得最多票的班级。
7. K-均值
它是一种解决聚类问题的无监督学习技术。 数据集被划分为一定数量的集群——我们称之为 K——以这样一种方式,每个集群的数据点是同质的,并且与其他集群中的数据点不同。
K-means 聚类方法:
- 对于每个集群,K-means 算法选择 k 个质心或点。
- 使用最近的质心或 K 个簇,每个数据点形成一个簇。
- 现在,根据已经存在的集群成员产生新的质心。
- 使用这些更新的质心计算每个数据点的最近距离。 直到质心不变,重复这个过程。
它更快、更可靠、更易于理解。 如果有问题,k-means 的适应性使调整变得简单。 当数据集不同或彼此完全隔离时,结果是最好的。 它无法管理不稳定的数据或异常值。
8. 支持向量机
当使用 SVM 技术对数据进行分类时,原始数据在 n 维空间中显示为点(其中 n 是您拥有的特征数)。 然后可以轻松地对数据进行分类,因为每个特征的值都连接到特定的坐标。
要分离数据并将它们放在图表上,请使用称为分类器的线。 这种方法将每个数据点绘制为 n 维空间中的一个点,其中 n 是您拥有的特征数,每个特征的值是一个特定的坐标值。
我们现在将找到一条线,将数据分成两组不同分类的数据。 到两组中最近点的距离将沿着这条线最远。
由于两个最近的点是与上例中的线最远的点,因此将数据分成不同分类的两组的线是中间线。 我们的分类器就是这条线。
9. 降维
使用降维的方法,训练数据可能有更少的输入变量。 简单来说,就是缩小你的特征集大小的过程。 假设您的数据集有 100 列; 降维会将数量减少到 20 列。
随着特征数量的增加,模型会自动变得更加复杂,并且具有更大的过拟合风险。 处理更大维度的数据的最大问题是所谓的“维度灾难”,当您的数据包含过多的特征时就会发生这种情况。
以下元素可用于完成降维:
- 为了找到和选择相关的特征,使用特征选择。
- 使用已经存在的特征,特征工程手动创建新特征。
结论
无监督或有监督的机器学习都是可能的。 如果您的数据不那么丰富且标记良好以进行训练,请选择监督学习。
使用无监督学习,大型数据集通常会执行并产生更好的结果。 深入学习 如果您有大量现成的数据集合,则方法是最好的。
强化学习 和深度强化学习是你学习的一些主题。 神经网络的特征、用途和限制现在对您来说已经很清楚了。 最后但并非最不重要的一点是,在创建自己的程序时,您考虑了不同编程语言、IDE 和平台的选项 机器学习模型.
接下来你需要做的是开始学习和使用每一个 机器学习 方法。 即使主题很广泛,只要专注于它的深度,任何主题都可以在几个小时内理解。 每个主题都独立于其他主题。
您必须一次考虑一个问题,研究它,将其付诸实践,并使用您选择的语言来实现其中的算法。
发表评论