机器学习初学者教程:什么是机器学习,机器学习基础知识

⚡ 智能摘要

机器学习是一系列计算机算法,它通过实例改进算法,而不是通过显式编码,它将数据与统计工具相结合,预测人们可以转化为可操作决策的输出结果。

  • 🔘 规则是后天习得的,而不是写在纸上的: 传统编程需要手动编写每条规则,而模型则可以从成对的输入和输出中推导出规则。
  • ☑️ 两个阶段: 学习过程发现模式并将其概括为模型;推理过程将该模型应用于从未见过的数据。
  • 两大类: 监督学习需要带标签的输出,而无监督学习则无需标签也能找到结构。
  • 🧪 算法选择遵循目标: 回归分析预测连续值,分类分配标签,聚类分析将相似的记录分组。
  • 🛠️ 数据才是真正的制约因素: 数据量太少或数据种类不够丰富,会导致模型无法推广。
  • ⚙️ 回报所在: 银行欺诈检测、医疗保健图像检测、供应链需求预测。

机器学习入门教程:机器学习基础知识

什么是机器学习?

机器学习 机器学习是一种计算机算法系统,它能够通过自我改进从示例中学习,而无需程序员显式编写代码。机器学习是……的一部分。 人工智能 它将数据与统计工具相结合,预测可用于产生可操作见解的输出结果。

这项突破源于这样一种理念:机器可以自主地从数据(即示例)中学习,从而产生准确的结果。机器学习与……密切相关。 数据挖掘 以及贝叶斯预测建模。机器接收数据作为输入,并使用算法来得出答案。

机器学习的典型任务是提供推荐。对于那些拥有……的人来说 Netflix 用户账户中所有电影或剧集的推荐都基于用户的历史数据。科技公司使用 无监督学习 通过个性化推荐来改善用户体验。

机器学习还被用于各种任务,例如欺诈检测、预测性维护、投资组合优化和任务自动化。

机器学习与传统编程

传统编程与机器学习有着显著的不同。在传统编程中,程序员会与软件开发所在行业的专家协商,编写所有规则。每条规则都基于逻辑基础;机器会根据逻辑语句生成输出。当系统变得复杂时,需要编写的规则越来越多,维护起来很快就会变得难以承受。下图展示了数据和手工编写的规则的输入流程,以及最终输出结果的过程。

传统编程流程:数据加上手工编写的规则生成输出
传统编程

机器学习旨在解决这个问题。机器会学习输入和输出数据之间的关联,并自行编写规则。程序员无需每次有新数据时都编写新规则。算法会根据新数据和经验进行调整,从而随着时间的推移提高效率。第二个图与第一个图正好相反:输入数据和已知答案,输出规则。

机器学习流程:数据加上已知答案生成规则

机器学习

机器学习如何工作?

有了这种对比,下一个问题是学习步骤内部实际发生了什么。

机器学习就像大脑,所有学习都在这里进行。机器的学习方式与人类类似。人类从经验中学习:我们了解得越多,就越容易预测。类比而言,当我们面对未知情况时,成功的概率低于已知情况。机器的训练方式也类似。为了做出准确的预测,机器需要观察示例。当我们给机器一个类似的例子时,它就能推断出结果。然而,就像人类一样,如果输入一个之前从未见过的例子,机器就很难进行预测。

机器学习的核心目标是学习和推理。首先,机器通过发现模式进行学习,而这种发现则依赖于数据。数据科学家的一项关键工作是谨慎选择提供给机器的数据。用于解决问题的属性列表称为模型。 特征向量你可以把特征向量看作是用于解决问题的数据子集。

该机器利用算法简化现实,并将这一发现转化为模型。因此,学习阶段用于描述数据并将其概括为模型,如下图所示。

学习阶段:训练数据通过算法构建模型

例如,这台机器试图了解个人工资与去高档餐厅的可能性之间的关系。结果表明,机器发现工资与去高档餐厅之间存在正相关关系:这就是该模型。

推断

模型构建完成后,就可以用从未见过的数据来测试其预测能力。新数据会被转换成特征向量,输入模型后给出预测结果。这正是机器学习的价值所在。无需更新规则或重新训练模型——你可以直接使用之前训练好的模型对新数据进行推理,如下图所示。

推理阶段:新数据通过训练好的模型进行预测

机器学习程序的生命周期很简单,可以概括为以下几点:

  1. 定义问题
  2. 收集数据
  3. 可视化数据
  4. 训练算法
  5. 测试算法
  6. 收集反馈
  7. 完善算法
  8. 重复步骤 4 至 7,直到结果令人满意为止。
  9. 使用模型进行预测

一旦算法能够得出正确的结论,它就会将这些知识应用到新的数据集上。

机器学习 Algorithms 以及它们的用途是什么?

下表按算法解决的任务类型对最常用的算法进行了分组。

机器学习算法分为监督学习和非监督学习任务。

机器识别 Algorithms

机器学习可以分为两大类学习任务: 监督无监督还有两类学习方法位于它们之间和更远的地方——半监督学习,它将一个小型标记集合与一个大型未标记集合混合在一起; 强化学习其中,智能体从奖励中学习,而不是从标记的答案中学习。

监督学习

算法利用训练数据和人类反馈来学习给定输入和给定输出之间的关系。例如,从业人员可以使用营销费用和天气预报作为输入数据来预测罐头的销量。

您可以使用 监督学习 当输出数据已知时,算法将根据新数据进行预测。

监督式学习分为两类:

  • 分类任务
  • 回归任务

分类

假设你想预测广告中某个顾客的性别。首先,你需要从顾客数据库中收集身高、体重、职业、薪资、购物篮等数据。你知道每个顾客的性别,只有男性和女性两种。分类器的目标是根据你收集到的信息(即特征)来判断顾客是男性还是女性(即标签)。当模型学会识别男性或女性后,你就可以使用新的数据进行预测。例如,你刚刚收到一位未知顾客的信息,想知道他是男性还是女性。如果分类器预测男性概率为 70%,这意味着算法有 70% 的把握认为这位顾客是男性,30% 的把握认为他是女性。

标签可以有两个或多个类别。上面的机器学习示例只有两个类别,但如果分类器需要预测对象,则可能包含数十个类别(例如,玻璃杯、桌子、鞋子—​​—每个对象代表一个类别)。

数据复原测试

当输出为连续值时,该任务即为回归。例如,金融分析师可能需要根据一系列特征(例如股权、历史股票表现和宏观经济指数)来预测股票价值。系统将经过训练,以尽可能降低误差来估计股票价格。

下表列出了你最常遇到的监督算法,以及每种算法适合的任务。

算法 描述 类型
线性回归 找到一种方法将每个特征与输出关联起来,以帮助预测未来值。 数据复原测试
逻辑回归 这是线性回归的扩展,用于分类任务。输出变量是二元的(例如,只有黑色或白色),而不是连续的(例如,无限多种可能的颜色)。 分类
决策树 高度可解释的分类或回归模型,在决策节点将数据特征值拆分为分支(例如,如果特征是颜色,则每种可能的颜色都会变成一个新分支),直到做出最终的决策输出 数据复原测试
分类
朴素贝叶斯 贝叶斯方法是一种利用贝叶斯定理的分类方法。该定理利用每个特征对事件产生影响的独立概率来更新事件的先验知识。 数据复原测试
分类
支持向量机 支持向量机(SVM)通常用于分类任务。SVM算法寻找一个能够最优地划分类别的超平面。它最好与非线性求解器一起使用。 回归(不太常见)
分类
随机森林 该算法基于决策树构建,旨在大幅提升准确率。随机森林生成许多简单的决策树,并采用“多数投票”的方式决定返回哪个标签。对于分类任务,最终预测结果为得票最多的预测结果;对于回归任务,所有决策树预测结果的平均值即为最终预测结果。 数据复原测试
分类
阿达助推器 分类或回归技术使用多种模型来做出决策,但根据其预测结果的准确性对它们进行加权 数据复原测试
分类
梯度提升树 梯度提升树是一种先进的分类/回归技术。它着重于分析先前树所犯的错误并尝试纠正这些错误。 数据复原测试
分类

无监督学习

在无监督学习中,算法探索输入数据,而无需给出明确的输出变量(例如,它探索客户人口统计数据以识别模式)。

当您不知道如何对数据进行分类,并且希望算法自动查找模式并对数据进行分组时,可以使用无监督学习算法。主要的无监督学习算法概述如下。

算法名称 描述 类型
K均值聚类 将数据放入一些组(k),每个组包含具有相似特征的数据(由模型确定,而不是由人提前确定) Cluster博士开发的技术萃取的
高斯混合模型 K 均值聚类的泛化,为群组(聚类)的大小和形状提供了更大的灵活性 Cluster博士开发的技术萃取的
层次聚类 沿层次树划分聚类,形成分类系统。可用于对会员卡客户进行聚类分析。 Cluster博士开发的技术萃取的
推荐系统 有助于确定提出建议所需的相关数据。 Cluster博士开发的技术萃取的
PCA/t-SNE 主要用于降低数据的维数。该算法将特征数量减少到方差最大的 3 或 4 个向量。 降维

如何选择机器学习算法

机器学习算法有很多种,算法的选择取决于目标,而不是潮流。

在下面的机器学习示例中,任务是从三种花卉中预测其类型。预测基于花瓣的长度和宽度。图中展示了十种不同算法的结果。左上角的图片是数据集本身,数据被分为三类:红色、浅蓝色和深蓝色。一些组ping图中可以明显看出分类情况。例如,在第二张图中,左上角的所有区域都属于红色类别,中间部分包含不确定性和浅蓝色,而底部则对应于深色类别。其他图像展示了不同的算法如何尝试对相同的数据进行分类。

在同一个三类花卉数据集上比较了十种算法。

一旦选定候选对象,其质量将根据从未见过的数据进行评判,通常是通过…… 混淆矩阵 以及由此得出的准确率、精确率和召回率数据。

机器学习的挑战和局限性

机器学习面临的主要挑战是数据匮乏,或者说数据集缺乏多样性。如果没有数据,机器就无法学习。缺乏多样性的数据集也会给机器带来困难,因为机器需要异质性才能学习到有意义的信息。算法能够做到这一点的情况非常罕见。trac当数据变化很少或没有变化时,t 信息就显得不够用。一个常见的经验法则是,每个组至少需要 20 个观测值才能帮助机器学习;低于这个数量,评估和预测的效果都会受到影响。

数据量并非唯一的限制因素。基于有偏差的历史记录训练的模型会重现这种偏差,复杂的模型难以向监管机构或客户解释,而且任何模型都会随着训练环境的变化而性能下降。

机器学习的应用

上述技术已在大多数行业的生产环境中应用。以下示例将从通用方法扩展到特定领域。

增强: 机器学习在个人和商业领域辅助人们处理日常事务,但并不完全控制最终结果。机器学习的应用方式多种多样,例如虚拟助手、数据分析和软件解决方案。其主要目的是减少人为偏见造成的错误。

自动化: 机器学习可以在任何领域完全自主运行,无需人工干预。例如,机器人可以在制造工厂中执行关键的工艺步骤。

金融行业: 机器学习在金融行业越来越受欢迎。银行主要利用机器学习来发现数据中的模式,同时也用于预防欺诈。

政府机构: 各国政府利用机器学习来管理公共安全和公共事业。以中国及其大规模人脸识别项目为例, 人工智能应用 用于识别乱穿马路者。

医疗保健行业: 医疗保健行业是最早使用机器学习的行业之一,最初应用于图像检测领域。

营销: 由于数据获取渠道的丰富,人工智能在营销领域得到了广泛应用。在大数据时代之前,研究人员开发了贝叶斯分析等先进的数学工具来评估客户价值。随着数据爆炸式增长,营销部门依靠人工智能来优化客户关系和营销活动。

供应链中的机器学习示例

机器学习在视觉模式识别方面取得了显著成果,为整个供应链网络的物理检测和维护开辟了许多潜在应用。

无监督学习能够快速在多样化的数据集中搜索可比模式。反过来,机器可以对整个物流中心进行质​​量检查,并标记出损坏或磨损的货物。

例如, IBM沃森平台可以确定船舶ping 集装箱损坏。Watson 将视觉数据和系统数据相结合,以实现以下目标: track,实时报告并提出建议。

过去,库存管理人员主要依赖人工方法来评估和预测库存。而当大数据和机器学习相结合时,更高效的预测技术成为可能,据报道,其预测精度比传统预测工具提高了20%到30%。就销售额而言,由于库存成本的潜在降低,这意味着销售额有望增长2%到3%。

机器学习示例 Google 汽车代理

每个人都知道 Google 这辆车的车顶布满了激光束,可以确定其相对于周围环境的位置。车头装有雷达,能够探测周围所有车辆的速度和运动状态。它利用所有这些数据,不仅能计算出如何驾驶,还能预测周围其他车辆的行驶意图。令人印象深刻的是,这辆车每秒可以处理近1GB的数据。

自动驾驶汽车传感器实时向机器学习模型提供数据

为什么机器学习很重要?

机器学习是目前分析、理解和识别数据模式的最佳工具。机器学习的核心理念之一是,可以通过训练计算机自动完成那些对人类而言既费力又不可能完成的任务。与传统分析方法最显著的区别在于,机器学习能够在极少人工干预的情况下做出决策。

举例来说:零售经纪人可以根据个人经验和市场知识来估算房屋的价格。

机器可以经过训练,将专家的知识转化为房屋特征。这些特征涵盖了房屋、周边环境、经济环境等所有影响房价的因素。对于专家而言,他们可能需要数年时间才能掌握房屋估价的技巧,而且每次交易后,他们的估价能力都会不断提高。

对机器而言,掌握这项技能需要数百万个数据点(即示例)。在学习初期,机器会犯错,就像初级销售员一样。一旦机器积累了足够的示例,它就拥有了足够的知识来进行估算,并且准确率很高。此外,随着新销售数据的出现,机器还能纠正之前的错误。

大多数大型公司都已意识到机器学习和数据持有的价值。麦肯锡全球研究院估计,所有分析技术的年价值在9.5万亿美元至15.4万亿美元之间,并将其中约40%(即每年约3.5万亿美元至5.8万亿美元)归功于基于深度神经网络的先进人工智能技术,正如其报告所述。 来自人工智能前沿的笔记 研究。

当规则已知但不精确而非缺失时,可以采用基于规则的方法,例如: 模糊逻辑 与学习模型相比,这种方法可能更合适,因此在项目开始之前通常会对这两种技术进行比较。

常见问题

半监督学习使用一个小型标记数据集和一个大型未标记数据集进行训练,这有助于解决标记成本高昂的问题。 强化学习 完全没有标签:一个代理人采取行动,获得奖励或惩罚,并在多次尝试后调整其策略。

它们是嵌套的。人工智能是类机器智能的最广泛目标,机器学习是从数据中学习的子集, 深入学习 是机器学习的一个子集,它建立在多层神经网络之上。

过拟合是指模型记住了训练集(包括其中的噪声),然后无法处理新数据。交叉验证、简化模型、正则化、提前停止等方法可以改善过拟合。ping 而更多的训练案例则是常见的辩护理由。

模型在它所拟合的数据行上总是表现良好,因此该分数并不能说明任何问题。保留一个测试集(通常还需要一个单独的验证集用于调优)才是对模型在从未见过的数据上的性能进行唯一诚实的评估。

熟悉基础统计学和概率论,掌握向量和矩阵层面的线性代数知识,并了解一种脚本语言。在学习初期,实际数据处理比高等数学更重要,因此,清理和探索真实数据集是最好的入门练习。

Python 领先者,使用 scikit-learn 进行经典模型和 TensorFlow 或 PyTor用于神经网络的 ch。 R SQL 在统计建模和可视化方面仍然非常强大,而 SQL 对于提取训练数据本身来说是不可避免的。

预测模型针对给定的输入输出标签或数值。生成模型则学习数据的分布并从中生成新的样本——文本、图像或代码。两者都需要数据训练,但只有生成模型仅以准确率作为评估标准。

GitHub 副驾驶 快速编写样板代码:加载数据集、拆分数据集、拟合估计器和绘制结果。 Rev仔细查看每一条建议,因为看似合理的流程仍然可能将测试数据泄露到训练中,从而夸大分数。

总结一下这篇文章: