0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

想掌握机器学习技术?从了解特征工程开始

格创东智 2018-12-05 09:36 次阅读

本文作者:格创东智科技有限公司 OT团队


人工智能是过去两到三年时间内科技行业最热的话题。而人工智能技术进步的背后,实质上是机器学习快速发展后所带来的巨大提升。


机器学习被广泛定义为“利用经验来改善计算机系统的自身性能”。事实上,“经验”在计算机中主要是以数据的形式存在的,因此数据是机器学习的前提和基础。

在第一期格物汇的文章中,我们介绍了工业数据预处理的方法,主要针对数据格式异常,数据内容异常等问题进行了简要探讨。做数据预处理的主要目的是将杂乱无章的数据规整成我们想要的矩阵、表格、张量等结构,方便在之后的机器学习中进行模型训练。然而数据中的问题还包含了冗余,噪声,高维度,体量大等很多问题。解决这些问题的方法与数据预处理的方法在机器学习中被统称为特征工程,今天我们就来了解一下吧。


特征工程是什么


当你想要你的预测模型性能达到最佳时,你要做的不仅是要选取最好的算法,还要尽可能的从原始数据中获取更多的信息。那么问题来了,你应该如何为你的预测模型得到更好的数据呢?这就是特征工程要做的事,它的目的就是获取更好的训练数据

维基百科中给特征工程做出了简单定义:特征工程是利用数据领域的相关知识来创建能够使机器学习算法达到最佳性能的特征的过程。简而言之,特征工程就是一个把原始数据转变成特征的过程,这些特征可以很好的描述这些数据,并且利用它们建立的模型在未知数据上的表现性能可以达到最优(或者接近最佳性能)。从数学的角度来看,特征工程就是人工地去设计输入变量X


特征工程的重要性


关于特征工程(Feature Engineering),已经是很古老很常见的话题了,坊间常说:“数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已”。由此可见,特征工程在机器学习中占有相当重要的地位


1、特征越好,灵活性越强

只要特征选得好,即使是一般的模型(或算法)也能获得很好的性能,因为大多数模型(或算法)在好的数据特征下表现的性能都还不错。好特征的灵活性在于它允许你选择不复杂的模型,同时运行速度也更快,也更容易理解和维护。


2、特征越好,构建的模型越简单

有了好的特征,即便你的参数不是最优的,你的模型性能也能仍然会表现的很nice,所以你就不需要花太多的时间去寻找最有参数,这大大的降低了模型的复杂度,使模型趋于简单。


3、特征越好,模型的性能越出色

显然,这一点是毫无争议的,我们进行特征工程的最终目的就是提升模型的性能。


特征工程怎么做

既然特征工程这么重要,那么我们就来看看特征工程到底是如何实现或者工作的。特征工程到底分为哪些内容?我们大致可以参考如下流程图来看看。



简单来说,特征处理主要分如下三个方法:

特征构建

特征构建是指从原始数据中人工的找出一些具有实际意义的特征。需要花时间去观察原始数据,思考问题的潜在形式和数据结构,对数据敏感性和机器学习实战经验能帮助特征构建。除此之外,属性分割和结合是特征构建时常使用的方法。特征构建是个非常麻烦的问题,书里面也很少提到具体的方法,需要对问题有比较深入的理解。

特征抽取

一些观测数据如果直接建模,其原始状态的数据太多。像图像、音频和文本数据,如果将其看做是表格数据,那么其中包含了数以千计的属性。特征抽取是自动地对原始观测降维,使其特征集合小到可以进行建模的过程。通常可采用主成分分析(PCA)、线性判别分析(LDA))等方法;对于图像数据,可以进行线(line)或边缘(edge)的提取;根据相应的领域,图像、视频和音频数据可以有很多数字信号处理的方法对其进行处理。

特征选择

不同的特征对模型的准确度的影响不同,有些特征与要解决的问题不相关,有些特征是冗余信息,这些特征都应该被移除掉。特征选择是自动地选择出对于问题最重要的那些特征子集的过程。常用的特征选择方法可以分为3类:过滤式(filter)、包裹式(wrapper)和嵌入式(embedding)。


小结

总的来说,数据会存在各种各样的问题,针对这些问题我们的特征工程给出了相应的解决办法:1.特征解释能力不足,我们可以尝试使用特征构建,对数据进行升维来提升特征解释能力;2.特征冗余,维度太高,噪声太多,我们可以通过特征抽取和特征选择,来对数据进行降维去噪,提炼特征。当然还有其他的特征处理方法,一般需要根据具体问题而定。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器学习
    +关注

    关注

    66

    文章

    8377

    浏览量

    132406
  • 智能制造
    +关注

    关注

    48

    文章

    5479

    浏览量

    76258
  • 工业互联网
    +关注

    关注

    28

    文章

    4297

    浏览量

    94049
收藏 人收藏

    评论

    相关推荐

    数据准备指南:10种基础特征工程方法的实战教程

    在数据分析和机器学习领域,原始数据中提取有价值的信息是一个关键步骤。这个过程不仅有助于辅助决策,还能预测未来趋势。为了实现这一目标,特征工程技术
    的头像 发表于 11-01 08:09 220次阅读
    数据准备指南:10种基础<b class='flag-5'>特征</b><b class='flag-5'>工程</b>方法的实战教程

    特征工程实施步骤

    数据中提取数值表示以供无监督模型使用的方法(例如,试图之前非结构化的数据集中提取结构)。特征工程包括这两种情况,以及更多内容。数据从业者通常依赖ML和深度学习算法
    的头像 发表于 10-23 08:07 182次阅读
    <b class='flag-5'>特征</b><b class='flag-5'>工程</b>实施步骤

    【「时间序列与机器学习」阅读体验】时间序列的信息提取

    个重要环节,目标是给定的时间序列数据中提取出有用的信息和特征,以支持后续的分析和预测任务。 特征工程(Feature Engineering)是将数据转换为更好地表示潜在问题的
    发表于 08-17 21:12

    【《时间序列与机器学习》阅读体验】+ 时间序列的信息提取

    本人有些机器学习的基础,理解起来一点也不轻松,加油。 作者首先说明了时间序列的信息提取是时间序列分析的一个重要环节,目标是给定的时间序列数据中提取出有用的信息和特征,以支持后续的分析
    发表于 08-14 18:00

    【「时间序列与机器学习」阅读体验】全书概览与时间序列概述

    他领域(如自然语言处理、计算机视觉等)的关联。 ●第2章“时间序列的信息提取”:介绍特征工程的核心概念及其在时间序列分析中的广用,比如对原始数据进行归一化、缺失值填充等转换;以及如何通过特征
    发表于 08-07 23:03

    机器学习中的数据预处理与特征工程

    机器学习的整个流程中,数据预处理与特征工程是两个至关重要的步骤。它们直接决定了模型的输入质量,进而影响模型的训练效果和泛化能力。本文将从数据预处理和
    的头像 发表于 07-09 15:57 299次阅读

    机器学习的经典算法与应用

    关于数据机器学习就是喂入算法和数据,让算法数据中寻找一种相应的关系。Iris鸢尾花数据集是一个经典数据集,在统计学习机器
    的头像 发表于 06-27 08:27 1573次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>的经典算法与应用

    特征工程与数据预处理全解析:基础技术和代码示例

    机器学习和数据科学的世界里,数据的质量是建模成功与否的关键所在。这就是特征工程和数据预处理发挥作用的地方。本文总结的这些关键步骤可以显著提高模型的性能,获得更准确的预测,我们将深入研
    的头像 发表于 06-26 08:28 433次阅读
    <b class='flag-5'>特征</b><b class='flag-5'>工程</b>与数据预处理全解析:基础<b class='flag-5'>技术</b>和代码示例

    名单公布!【书籍评测活动NO.35】如何用「时间序列与机器学习」解锁未来?

    量化交易的概念、发展历程,如何通过因子挖掘时间序列数据中提取特征并将其转化为交易策略,以及机器学习在其他金融领域(包括资产定价、资产配置、波动率预测)的应用。 本书的两位作者在时间
    发表于 06-25 15:00

    通过强化学习策略进行特征选择

    来源:DeepHubIMBA特征选择是构建机器学习模型过程中的决定性步骤。为模型和我们想要完成的任务选择好的特征,可以提高性能。如果我们处理的是高维数据集,那么选择
    的头像 发表于 06-05 08:27 320次阅读
    通过强化<b class='flag-5'>学习</b>策略进行<b class='flag-5'>特征</b>选择

    嵌入式工程师需要掌握哪些技术?

    嵌入式工程师需要掌握哪些技术? 嵌入式系统是当今科技领域中的重要组成部分,它们存在于我们生活的方方面面,智能手机到汽车控制系统,家电到
    发表于 03-04 16:38

    数据预处理和特征工程的常用功能

    机器学习最基础的5个流程,分别是数据获取,数据预处理,特征工程,建模、测试和预测,上线与部署。
    的头像 发表于 01-25 11:26 706次阅读

    视觉焊缝跟踪系统适配广数机器人进行自动化焊接的应用

      随着制造业的发展,自动化技术在焊接领域的应用变得愈发重要。为了提高焊接质量和效率,越来越多的企业开始采用机器人进行自动化焊接。而焊缝跟踪技术作为自动化焊接的关键
    的头像 发表于 01-07 10:52 453次阅读

    什么是特征工程机器学习特征工程详解解读

    One-hot 编码对于用机器学习模型能够理解的简单数字数据替换分类数据很有用。
    发表于 12-28 17:14 286次阅读
    什么是<b class='flag-5'>特征</b><b class='flag-5'>工程</b>?<b class='flag-5'>机器</b><b class='flag-5'>学习</b>的<b class='flag-5'>特征</b><b class='flag-5'>工程</b>详解解读

    FPGA学习入门点灯开始

    首先,FPGA开发工程师是一个相对高薪的工作,但是,很多同学在刚入门时都会有一种无从下手的感觉,尤其是将FPGA作为第一个要掌握的开发板时,更是感觉苦恼;本人也是如此,以下就本人学习FPGA开发的一些情况做一些介绍,希望后来者能
    的头像 发表于 12-28 09:50 484次阅读