R 中的机器学习简介
机器学习一词最早是由 Arthur Samuel 在 1959 年创造的。机器学习的定义可以定义为机器学习赋予计算机学习的能力,而无需明确编程。同样在 1997 年,Tom Mitchell 将机器学习定义为“如果计算机程序在 T 上的性能(以 P 衡量)随着经验 E 而提高,则可以说计算机程序从经验 E 中学习某些任务 T 和某些性能度量 P”。机器学习被认为是计算机科学中最有趣的领域。
机器学习是如何工作的?
- 清理从数据集中获得的数据
- 选择合适的算法来构建预测模型
- 训练您的模型以了解项目的模式
- 更准确地预测结果
机器学习的分类
根据学习的性质,机器学习实现分为 3 大类。
- 监督学习
监督学习顾名思义就是在监督的存在下。简而言之,在监督学习中,我们尝试使用标签来教机器学习数据,并且这些数据中已经有了正确的答案。在此之后,机器将创建一个示例数据集,以便监督算法分析训练数据并生成标记数据的正确输出。
例如,如果我们创建一组水果数据,我们将标记为圆形的水果,向上倾斜,颜色为红色,而不是称为苹果。
现在,当我们要求机器从水果篮中识别苹果时,它会使用之前的标签来识别苹果。监督学习分为以下两类:
- 分类:分类问题是输出变量是一个类别,例如“红色”或“橙色”或“可数”或“不可数”。
- 回归:当输出变量是真实值时使用回归,例如“ruppes”或“height”。
- 无监督学习
无监督学习是使用未标记的信息训练机器,它在没有任何指导的情况下工作。在这里,机器的主要任务是在没有任何事先监督的情况下使用相似性、差异性和模式来分离数据。
因此,机器被限制在自己找到未标记数据中的隐藏结构。
例如,如果我们提供一组以前从未见过的猫和狗。然后机器会根据猫和狗的行为和性质来区分它们。现在当我们提供狗和猫的图片时,它会根据机器的分类提供结果。无监督学习分为以下两类:
- 聚类:聚类问题是机器识别数据中的固有分组,例如根据商店的访问量对客户进行分组。
- 关联:关联问题是我们可以找到两个事件或物品之间的关系,例如购买物品 A 的人也倾向于购买 B。
- 强化学习
强化学习方法就是在特定情况下采取适当的行动来最大化奖励。它由各种机器监督,以在特定情况下采取最佳路径来解决问题。强化学习和监督学习之间的区别在于,在监督学习中,数据有一个正确答案的键,它用来找到答案,但在强化中,代理决定做什么来执行给定的任务。例如,从一个地方到另一个地方旅行时,我们总是考虑到达目的地的最短和最好的部分。强化学习的一些要点:- 输入:输入应该来自模型实际开始的初始阶段。
- 输出:任何问题都有多个输出。
- 训练:由于训练依赖于输入,模型将返回状态,用户将根据其输出决定奖励或丢弃模型。
R 语言基本上是由统计学家开发的,旨在帮助其他统计学家和开发人员更快、更高效地处理数据。到目前为止,我们知道机器学习基本上是处理大量数据和统计数据,作为数据科学的一部分,总是推荐使用 R 语言。因此,对于那些使用机器学习使任务更容易、更快和创新的人来说,R 语言变得越来越方便。以下是 R 语言在 R 编程中实现机器学习算法的一些主要优势。
使用 R 语言实现机器学习的优势
- 它提供了很好的解释性代码。例如,如果您处于机器学习项目的早期阶段并且需要解释您所做的工作,那么将 R 语言与Python语言进行比较会变得很容易,因为它提供了处理数据的适当统计方法用更少的代码行。
- R 语言非常适合数据可视化。 R 语言提供了与机器学习模型一起工作的最佳原型。
- R 语言拥有最好的工具和库包来处理机器学习项目。开发人员可以使用这些包来创建机器学习项目的最佳前模型、模型和后模型。此外,R 的包比Python语言更先进、更广泛,这使其成为处理机器学习项目的首选。
用于实现机器学习的流行 R 语言包
- lattice: lattice 包支持创建显示变量或多个变量与条件之间的关系的图形。
- DataExplorer:这个 R 包专注于自动化数据可视化和数据处理,以便用户可以关注项目的数据洞察力。
- Dalex(描述性机器学习解释):这个包有助于为输入变量和它的输出之间的关系提供各种解释。它有助于理解机器学习的复杂模型
- dplyr:这个 R 包用于用行和列汇总机器学习的表格数据。它采用“拆分-应用-组合”方法。
- Esquisse:这个 R 包用于快速探索数据以获取其中包含的信息。它还允许绘制条形图、直方图、曲线和散点图。
- caret:这个 R 包试图简化创建预测模型的过程。
- janitor:这个 R 包具有检查和清理脏数据的功能。它基本上是为了初学者和中级用户的用户友好性而构建的。
- rpart:这个 R 包有助于使用两阶段过程创建分类和回归模型。生成的模型表示为二叉树。
R在机器学习中的应用
有许多顶级公司,如 Google、Facebook、Uber 等使用 R 语言来应用机器学习。该应用程序是:
- 社交网络分析
- 分析趋势和模式
- 深入了解用户的行为
- 寻找用户之间的关系
- 开发分析解决方案
- 访问图表组件
- 嵌入交互式视觉图形
机器学习问题示例
- 网络搜索,如 Siri、Alexa、Google、Cortona:识别用户的声音并完成请求
- 社交媒体服务:帮助世界各地的人们联系并展示我们可能认识的人的推荐
- 在线客户支持:为客户提供高便利性和支持代理的效率
- 智能游戏:使用类似于人类智能的高级响应和自适应非玩家字符
- 产品推荐:用于推荐您可能想购买或参与的产品的软件工具
- 虚拟个人助理:它是可以根据提供的说明执行任务的软件
- 交通警报:帮助根据提供的情况切换交通警报
- 在线欺诈检测:检查用户执行的异常功能并检测欺诈行为
- 医疗保健:机器学习可以管理大量超出正常人想象的数据,帮助根据症状识别患者的病情
- 现实世界的例子:当你在 youtube 上搜索某种烹饪食谱时,你会看到下面标题为“你也可能喜欢这个”的推荐。这是机器学习的常见用途。
机器学习问题的类型
- 回归:回归技术有助于机器学习方法预测连续值。例如,房子的价格。
- 分类:将输入划分为一个或多个类或类别,供学习者生成模型以分配未见过的模块。例如,在电子邮件欺诈的情况下,我们可以将电子邮件分为两类,即“垃圾邮件”和“非垃圾邮件”。
- 聚类:这种技术遵循总结,找到一组相似的实体。例如,我们可以收集并读取医院患者的读数。
- 关联:此技术发现同时发生的事件或项目。例如,市场篮子。
- Anamoly 检测:该技术通过发现异常情况或行为来发挥作用。例如,信用卡欺诈检测。
- 序列挖掘:该技术预测下一个流事件。例如,点击流事件。
- 推荐:此技术推荐该项目。例如,根据其中名人的歌曲或电影。