什么是数据科学项目?
什么是数据科学项目?
用一个给定的例子简要解释什么是数据科学和数据科学项目的过程
在不久的将来,将会有一系列关于数据科学趋势主题、最先进的方法解释和实现、模型比较和其他类似研究主题的特定主题的帖子。但是,我想首先为我的第一篇文章写一篇关于数据科学的通用文章。
如果您在 21 世纪初阅读这篇文章,那么数据科学和 AI(人工智能)目前是计算机科学学科中越来越受欢迎的话题。主要原因可以看作是大量可访问的数据。越来越多的技术设备和互联网的使用使得为公司收集各种类型的数据成为可能。这些公司通常希望使用其庞大且有价值的数据来增加其产品的价值或降低其费用。为此,聘请了数据科学家。在这篇文章中,解释了数据科学项目,无论是出于个人目的(通常展示实际应用中的技能)、学术目的(用于展示各种研究结果)还是商业目的(通常执行给定的数据科学任务)。
数据科学家正在从事这些项目,因为他们需要分析数据以获得一些期望的结果。数据可以有不同的类型,可以是数字表格、文本、图像、音频、视频、图形甚至 3D 模型和点云等结构的组合。该任务可以由客户或经理给出,也可以是另一个项目的子任务。任务的示例可以是预测输出、对数据样本进行分组、检测异常等,这通常用于可视化目的(以获得直觉)或接管(自动化)/支持人类的重复性任务。这些任务的解决方案通常是使用机器学习 (ML) 技术开发的,这些技术具有不断提高的计算能力和深度学习 (DL) 技术在降低特定领域知识要求方面的特性。开发这些 ML 模型的 ML 工程师通常在这些项目中与数据科学家密切合作。
数据科学项目流程
Data Science Project Processes
在数据科学项目中,有一些常见的过程。这些过程通常分为四个主要过程,我将在“假设”、“数据准备”、“模型开发”和“模型部署”主题下进行解释。首先,与业务或研究主题相关的问题和约束由最终用户定义。经过详细研究并与最终用户会面后,数据科学家提出了如何解决此问题的假设。然后从最终用户和/或外部数据源收集所需的数据。在注释、清理、处理这些数据之后,应该准备好输入模型。此时,数据科学家实施传统和最先进的模型,如果存在,还开发他们提出的模型。这些模型在现有数据上进行训练,并比较测试结果以选择在给定约束内最有效地解决问题的最佳模型。在此步骤生成的可视化有助于数据科学家向非技术最终用户展示结果并获得有价值的反馈。如果一切正常,则该模型将被部署并扩展为商业用途,作为真实世界的应用程序。然后维护模型以供进一步使用。
一个例子:提高 PCB 检测的性能
Automated Optical Inspection PCBA Test: Image courtesy of 我们的PCB
让我们带着一个用例来完成这些过程。假设有一家公司生产并向客户销售定制的 PCB(印刷电路板)。他们正在使用传统的电子测试方法来检查 PCB 痕迹,以确保没有缺陷产品到达客户手中。但它会成为测试所有 PCB 的生产时间的瓶颈。他们想要一个自动光学检测 (AOI) 系统,使用我们最先进的计算机视觉和机器学习技术来检测 PCB 痕迹缺陷。他们告诉我们,最好将电路板错误分类为有缺陷的电路板,而不是将它们错误分类为无缺陷电路板,因为他们希望跳过对高精度无缺陷电路板的测试。如果 PCB 中存在缺陷,它们具有*千个*均质量的 PCB 自上而下图像和缺陷代码。图像没有注释。他们想要一个计算机视觉工具,他们将连接他们的相机,以了解当前在线的 PCB 是否有任何缺陷。
1. 假设
Data Science Project Processes — Hypothesis
我们所拥有的问题的解决方案可以表述为分类模型。我们验证最终用户是否拥有他们标记为“有缺陷”或“无缺陷”的图像数据集。我们提出的模型可以有一个图像的输入(作为 PCB 的自上而下的 RGB 图像,大小为 1024x1024)和布尔值的输出; 真的 如果电路板没有缺陷,并且 错误的 如果检测到缺陷。在这一步中,当我们询问最终用户时,我们了解到他们希望模型能够实时工作。他们也绝对不希望模型在电路板有缺陷时预测“真实(无缺陷)”,这意味着精度值很高(计算为“{正确预测的电路板无缺陷}/ {预测为无缺陷的板}')是模型的预期值。如果我们设计和开发这样一个模型,那么最终用户端的问题就会得到解决,只要我们满足条件。
在这种情况下,我们将使用图像。因此,数据科学家需要具备计算机视觉和机器学习方面的知识,才能对图像进行预处理并开发出将图像作为输入的模型。
2. 数据准备
Data Science Project Processes — Data Preperation
在此步骤中,数据是从最终用户那里收集的。情况可能并非总是如此,我们可能不得不从外部来源收集数据。数据通常没有结构化,无法直接在我们的模型中使用,因此我们对数据进行处理以使其结构化。在我们的示例中,我们提出的模型可能需要一些额外的注释(关于缺陷在图像上的确切位置的注释)。我们可能需要通过获得最终用户领域专家的支持、使用第三方注释提供者或使用一些低效的传统算法来自动注释图像(如果适用)来自己手动注释。可以通过噪声过滤、归一化、特征提取等方法对数据进行预处理。在某些情况下,我们可能还需要使用一些降维技术,例如特征选择或特征投影。在我们完成这个过程之后,收集到的数据应该足够结构化,可以输入到我们设计的模型中。在某些情况下,我们需要在模型开发中返回此过程。
最后,我们使用一种方法(例如分层抽样)作为预处理数据的一部分 测试数据 直到很久以后才触摸它。剩下的数据可以分成两部分( 训练数据 和 验证数据 ) 在模型开发过程中。
3. 模型开发
Data Science Project Processes — Model Develop
在这一步中,研究和提出的模型由数据科学家开发。可以使用传统或最先进的方法开发模型。在用于学术目的的项目中,建议模型的创新通常是必要的。我们还选择了衡量误差的指标。
我们模型的目标可以是分类、回归、聚类、异常检测等。在这种情况下,我们试图对 PCB 是否无缺陷进行分类,因此我们将开发一个二元分类模型。在这个例子中,我们的模型将是一个简单的深度学习模型,在前馈神经网络 (FNN) 之上的 Xception 架构中的卷积神经网络 (CNN)。比方说,我们还开发了一些我们在文献中发现的最先进的深度学习模型。
模型开发完成后,使用训练数据对模型进行训练,使用验证数据对模型的超参数进行微调,然后根据测试数据对调整后的模型进行测试,以便我们可以将模型相互比较。在模型的验证过程中,我们可以使用不同的模型选择模型,例如交叉验证或引导。通常,如果模型具有约束并且足够准确,则选择最终的获胜者模型进行开发。如果结果不够好,可以对模型进行各种改进,并且数据科学家会尝试反复改进这些模型,直到它们足以部署。在此步骤中,从数据和模型中提取的各种可视化可以帮助我们直观地了解如何改进模型,并向最终用户或利益相关者展示我们的结果。
4.模型部署
Data Science Project Processes — Model Deployment
在这一步中,数据科学家的工作并不多,这里的大部分工作都是由机器学习工程师完成的。在此过程中,可能需要使用各种软件工程工具。机器学习工程师在可扩展的环境中实施给定的模型,并将其开放给最终用户使用。在最终用户测试部署的工具并进行可能的重新调整迭代后,该工具将作为实际应用程序发布。在最终应用程序的使用过程中,机器学习工程师和数据科学家给予维护支持,以确保一切顺利运行。
最后的话
在这篇文章中,我们通过示例用例讨论了什么是数据科学项目及其主要过程。在我们的下一篇文章中,我想谈谈机器学习的类型、开展数据科学项目的必要技能,以及我们如何通过一些数据科学项目的想法来学习这些必要的技能。
如果您有任何意见或评论,请随时与我分享!非常感谢您阅读并在我的下一篇文章中见到您。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明