探讨|使用或不使用机器学习

动动发财的小手,点个赞吧!

机器学习擅长解决某些复杂问题,通常涉及特征和结果之间的困难关系,这些关系不能轻易地硬编码为启发式或 if-else 语句。然而,在决定 ML 是否是当前给定问题的良好解决方案时,有一些限制或需要注意的事项。在这篇文章[1]中,我们将深入探讨“使用或不使用 ML”这一主题,首先了解“传统”ML 模型,然后讨论随着生成式 AI 的进步,这种情况将如何变化。

为了澄清一些观点,我将使用以下举措作为示例:“作为一家公司,我想知道我的客户是否满意以及不满意的主要原因”。解决这个问题的“传统”基于机器学习的方法可能是:

  • 获取客户对您的评论(应用程序或 Play 商店、Twitter 或其他社交网络、您的网站……)
  • 使用情感分析模型将评论分为正面/中性/负面。
  • 对预测的“负面情绪”评论使用主题建模来了解它们的含义。
alt

数据有足够的质量和数量吗?

在监督 ML 模型中,训练数据对于模型学习需要预测的任何内容(在本例中为评论中的情绪)是必要的。如果数据质量低(大量错别字、缺失数据、错误……),模型就很难表现良好。

这通常被称为“垃圾输入,垃圾输出”问题:如果您的数据是垃圾,那么您的模型和预测也将是垃圾。

同样,您需要有足够的数据量供模型学习影响需要预测的不同因素。在此示例中,如果您只有负面评论标签,其中包含“无用”、“失望”或类似概念,则模型将无法了解到这些词通常在标签为“负面”时出现。

足够数量的训练数据还应该有助于确保您能够很好地表示执行预测所需的数据。例如,如果您的训练数据无法代表特定地理区域或特定人群,则模型更有可能在预测时无法很好地处理这些评论。

对于某些用例,拥有足够的历史数据也很重要,以确保我们能够计算相关的滞后特征或标签(例如“客户是否在明年支付信用额”)。

标签定义是否清晰且易于获取?

同样,对于传统的监督机器学习模型,您需要一个带标签的数据集:您知道想要预测的最终结果的示例,以便能够训练您的模型。

标签的定义是关键。在此示例中,我们的标签将是与评论相关的情绪。我们可能认为我们只能发表“正面”或“负面”评论,然后认为我们也可能发表“中立”评论。在这种情况下,根据给定的评论,通常会清楚标签是否需要是“正面”、“中立”或“负面”。但是想象一下,我们有“非常积极”、“积极”、“中立”、“消极”或“非常消极”的标签……对于给定的评论,是否很容易决定它是“积极”还是“非常积极” ”?需要避免标签缺乏明确的定义,因为使用嘈杂的标签进行训练将使模型更难学习。

现在标签的定义已经很清楚了,我们需要能够获得足够的、高质量的示例集的标签,这些示例将形成我们的训练数据。在我们的示例中,我们可以考虑手动标记一组评论,无论是在公司还是团队内部,还是将标记外部化给专业注释者(是的,有人全职为 ML 标记数据集!)。需要考虑与获得这些标签相关的成本和可行性。

alt

解决方案的部署是否可行?

为了达到最终效果,机器学习模型的预测需要可用。根据用例,使用预测可能需要特定的基础设施(例如 ML 平台)和专家(例如 ML 工程师)。

在我们的示例中,由于我们希望将模型用于分析目的,因此我们可以离线运行它,并且利用预测将非常简单。然而,如果我们想在负面评论发布后 5 分钟内自动做出回应,那就另当别论了:需要部署和集成模型才能实现这一点。总的来说,重要的是要清楚地了解使用预测的要求是什么,以确保在可用的团队和工具的情况下它是可行的。

有什么利害关系?

机器学习模型的预测总会存在一定程度的误差。事实上,ML 中有一句经典的话:

如果模型没有错误,那么数据或模型肯定有问题

理解这一点很重要,因为如果用例不允许这些错误发生,那么使用 ML 可能不是一个好主意。在我们的示例中,想象一下,我们使用该模型将客户的电子邮件分类为“是否提出指控”,而不是评论和情绪。拥有一个可以对对公司提出指控的电子邮件进行错误分类的模型并不是一个好主意,因为这可能会给公司带来可怕的后果。

使用机器学习在道德上是否正确?

已经有许多经过验证的预测模型基于性别、种族和其他敏感个人属性进行歧视的案例。因此,机器学习团队需要谨慎对待他们在项目中使用的数据和功能,同时也要质疑从道德角度来看,自动化某些类型的决策是否真的有意义。您可以查看我之前关于该主题的博客文章以了解更多详细信息。

我需要可解释性吗?

机器学习模型在某种程度上就像一个黑匣子:你输入一些信息,它们就会神奇地输出预测。模型背后的复杂性就是这个黑匣子背后的原因,特别是当我们与统计中的简单算法进行比较时。在我们的示例中,我们可能无法准确理解为什么评论被预测为“正面”或“负面”。

在其他用例中,可解释性可能是必须的。例如,在保险或银行等受到严格监管的行业。银行需要能够解释为什么向某人授予(或不授予)信贷,即使该决定是基于评分预测模型的。

这个话题与伦理道德有着密切的关系:如果我们不能完全理解模型的决策,就很难知道模型是否已经学会了歧视。

这一切会因为生成人工智能而改变吗?

随着生成式人工智能的进步,许多公司正在提供网页和 API 来使用强大的模型。这如何改变我之前提到的有关 ML 的限制和考虑因素?

  • 数据相关主题(质量、数量和标签):对于可以利用现有 GenAI 模型的用例,这肯定会发生变化。大量数据已用于训练 GenAI 模型。这些模型中的大多数都没有控制数据的质量,但这似乎弥补了它们使用的大量数据。由于这些模型,我们可能不再需要训练数据(同样,对于非常具体的用例)。这被称为零样本学习(例如“询问 ChatGPT 给定评论的情绪是什么”)和少样本学习(例如“向 ChatGPT 提供一些正面、中立和负面评论的示例,然后要求其提供对新评论的看法”)。关于这一点的一个很好的解释可以在 deeplearning.ai 时事通讯中找到。
  • 部署可行性:对于可以利用现有 GenAI 模型的用例,部署变得更加容易,因为许多公司和工具正在为这些强大的模型提供易于使用的 API。如果出于隐私原因需要对这些模型进行微调或将其引入内部,那么部署当然会变得更加困难。
alt

无论是否利用 GenAI,其他限制或考虑因素都不会改变:

  • 高风险:这将继续成为一个问题,因为 GenAI 模型的预测也存在一定程度的错误。谁没有见过 GhatGPT 产生幻觉或提供毫无意义的答案?更糟糕的是,评估这些模型变得更加困难,因为无论其准确性如何,响应听起来总是充满信心,并且评估变得主观(例如“这个响应对我有意义吗?”)。
  • 道德:仍然像以前一样重要。有证据表明 GenAI 模型可能会因用于训练的输入数据而产生偏差(链接)。随着越来越多的公司和功能开始使用这些类型的模型,明确这可能带来的风险非常重要。
  • 可解释性:由于 GenAI 模型比“传统”机器学习更大、更复杂,其预测的可解释性变得更加困难。目前正在进行研究来了解如何实现这种可解释性,但它仍然非常不成熟(链接)。

总结

在这篇博文中,我们了解了在决定是否使用 ML 时需要考虑的主要事项,以及随着生成式 AI 模型的进展,情况会发生怎样的变化。讨论的主要主题是数据的质量和数量、标签获取、部署、风险、道德和可解释性。我希望这个总结在您考虑下一个 ML 计划(或不考虑)时有用!

Reference

[1]

Source: https://towardsdatascience.com/to-use-or-not-to-use-machine-learning-d28185382c14

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/64043.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Renpy】设置选项不满足条件禁止选择

【要求】如果某个属性不满足某个要求,则无法选择这个选项。 【版本】Renpy 8.1.1 【实现】 1.在options.rpy文件中添加 define config.menu_include_disabled True 2.在选项中增加if条件。 menu:"Yes" if money > 20: ##如果money小于20这个选项…

Docker desktop使用配置

1. 下载安装 https://www.docker.com/ 官网下载并安装doker desktop 2. 配置镜像 (1)首先去阿里云网站上进行注册:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors (2)注册完成后搜索:容…

大数据技术之Hadoop(二)

目录 一、Hadoop的诞生 二、大数据概述 三、大数据软件生态 3.1 数据存储相关技术 3.2 数据计算相关技术 3.3 数据传输相关技术 四、什么是Hadoop 本篇主要讲解大数据的核心概念以及Hadoop的基本介绍。 一、Hadoop的诞生 大数据的发展与日益庞大的数据量是密不可分的。从…

Android 网络协议与网络编程

一、TCP/IP协议 Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联 协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP 协议组成。协议采用了4层的层级结构。…

(15)Qt绘图(two)

目录 坐标变换 平移坐标轴 缩放坐标轴 旋转坐标轴 定时器加坐标轴旋转实现动画旋转 transform旋转(可设置旋转轴) 绕X轴旋转 绕Y轴旋转 绕Z轴旋转 错切 Y轴错切 X轴错切 画家的保存与坐标复原 基本图形绘制 绘制点 绘制线 绘制矩形 普…

carla中lka实现(一)

前言: 对于之前项目中工作内容进行总结,使用Carla中的车辆进行lka算法调试,整体技术路线: ①在Carla中生成车辆,并在车辆上搭载camera,通过camera采集图像数据; ②使用图像处理lka算法&#…

Python入门自学进阶-Web框架——38、redis、rabbitmq、git

缓存数据库redis: NoSQL(Not only SQL)泛指非关系型的数据库。为了解决大规模数据集合多重数据类的挑战。 NoSQL数据库的四大分类: 键值(Key-Value)存储数据库列存储数据库文档型数据库图形(…

STM32基础入门学习笔记:核心板 电路原理与驱动编程

文章目录: 一:LED灯操作 1.LED灯的点亮和熄灭 延迟闪烁 main.c led.c led.h BitAction枚举 2.LED呼吸灯(灯的强弱交替变化) main.c delay.c 3.按键控制LED灯 key.h key.c main.c 二:FLASH读写程序(有…

C语言预处理命令 #error 学习

#error命令是C/C语言的预处理命令之一,当预处理器预处理到#error命令时将停止编译并输出用户自定义的错误消息。 如下代码输出数字1000,如果加了 #error,构建时不会通过,提示出错如下; 这可能在大型项目中比较有用&am…

Ubuntu 22.04安装和使用ROS1可行吗

可行。 测试结果 ROS1可以一直使用下去的,这一点不用担心。Ubuntu会一直维护的。 简要介绍 Debian发行版^_^ AI:在Ubuntu 22.04上安装ROS1是可行的,但需要注意ROS1对Ubuntu的支持只到20.04。因此,如果要在22.04上安装ROS1&am…

使用webpack插件webpack-dev-server 出现Cannot GET/的解决办法

问题描述 文档地址深入浅出webpack 使用 DevServer运行webpack,跑起来之后提示Cannot GET/: 解决方案: 查阅官方文档 根据目录结构修改对应的配置: 然后就可以成功访问:

帆软设计器报表加载不出折线图的原因

最近在用帆软设计器做可视化图表。偶有遇到因为数据集的字段类型导致加载不出折线,现记录如下。做报表的同行可以参考。 数据库使用了 Oracle 11g。数据集的 SQL 代码片是之前用在另一个单元格报表里面的。页面上有一个率是直接计算得出,我为了方便、就…

Java开发 - Redis事务怎么用?

前言 最近博主感觉捅了Redis窝,从Redis主从,哨兵,集群,集群原理纷纷讲了一遍,不知道大家都学会了多少,想着送佛送到西,不如再添一把火,所以今天带给大家的博客是Redis事务&#xff…

Linux基本开发工具(一)

文章目录 Linux基本开发工具(一)Linux安装和卸载软件Linux 软件包管理器 yum关于sudo命令关于yum源的换源问题 vim编辑器的使用vim三种模式(常见)vim的基本操作vim配置 Linux基本开发工具(一) Linux安装和…

探秘手机隐藏的望远镜功能:开启后,观察任何你想看的地方

当今的智能手机不仅仅是通信工具,它们蕴藏着各种隐藏的功能,其中之一就是让你拥有望远镜般的观察能力。是的,你没有听错!今天我们将探秘手机中隐藏的望远镜功能,这项神奇的功能可以让你打开后,轻松观察任何…

/usr/bin/ld: 找不到 can‘t find -xxx++

ld是一个链接器文件,后面报错一般都是什么库找不到,so文件 我们去根目录下全局找一下该文件 cd / find -name *libstdc.so*一般都会在lib64下面找到,注意后面带版本号的是实际文件 我们需要把他复制到lib文件下,ld找的是软连接文…

3.01 用户在确认订单页收货地址操作

用户在确认订单页面,可以针对收货地址做如下操作: 1. 查询用户的所有收货地址列表 2. 新增收货地址 3. 删除收货地址 4. 修改收货地址 5. 设置默认地址步骤1:创建对应用户地址BO public class AddressBO {private String addressId;private…

封装上传文件组件(axios,onUploadProgress,取消请求)

目录 定时模拟进度条 方法 A.axios B.xhr 取消请求​​​​​​​ 完整代码 A.自定义上传组件 B.二次封装组件 情况 增加cancelToken不生效,刷新页面 进度条太快->设置浏览器网速 定时模拟进度条 startUpload() {if (!this.file) return;const totalS…

flink kafka消费者如何处理kafka主题的rebalance

背景: 我们日常使用kafka客户端消费kafka主题的消息时,当消费者退出/加入消费者组,kafka主题分区数有变等事件发生时,都会导致rebalance的发生,此时一般情况下,如果我们不自己处理offset,我们不…

Vue3+Vite+Pinia+Naive后台管理系统搭建之九:layout 动态路由布局

前言 如果对 vue3 的语法不熟悉的,可以移步Vue3.0 基础入门,快速入门。 1. 系统页面结构 由 menu,面包屑,用户信息,页面标签,页面内容构建 ​ 2. 创建页面 创建 src/pages/layout.vue 布局页 创建 sr…