特征工程

特征工程

1.特征工程

  • 特征归一化
    问:为什么需要对数值类型的特征做归一化?
    分析解答:
    为了消除数据特征之间的量纲影响,对特征进行归一化处理,使得不同指标之间具有可比性。
    常用方法:
    (1)线性函数归一化(Min-Max Scaling)对原始数据进行线性变换,使结果映射到【0,1】范围,实现对原始数据的等比缩放。
    (2)零均值归一化(Z-Score Normalization)将原始数据映射到均值为0、标准差为1的分布上。

举例梯度下降实例说明归一化的重要性,若两个特征的取值范围不一样,则在学习速率相同的情况下,范围小的特征更新速度会大于取值范围大的特征,需要较多的迭代才能找到最优解。若将两个特征归一化到相同的数值区间,两特征的更新速度变得更为一致,容易更快地通过梯度下降找到最优解。

实际运用中,通过梯度下降法求解的模型通常需要归一化,包括线性回归、逻辑回归、支持向量机、神经网络等。但对决策树不适用。
2.类别型特征

  • 类别型特征指在有限选项内取值的特征。
  • 类别型特征原始输入通常是字符串形式
  • 决策树可以直接处理字符串形式的输入
  • 逻辑回归、支持向量机等模型,类别型特征必须经过处理转换成数值型特征才能正确工作。

问题:在对数据进行预处理时,应该怎样处理类别型特征?
知识点:

  • 序号编码:用于处理类别间具有大小关系的数据。高3,中2,低1
  • 独热编码:用于处理类别间不具有大小关系的特征。
    对于类别取值较多的情况下使用独热编码需要注意:
    (1)使用稀疏向量来节省空间。
    (2)配合特征选择来降低维度。高维度特征会带来的问题:一:在K近邻算法中,高维空间下两点之间的距离很难得到有效衡量;二逻辑回归中,参数的数量会随着维度的增高而增加,容易引起过拟合;三通常只有部分维度对分类、预测有帮助。
  • 二进制编码:先给每个类别赋予一个类别ID,然后将类别ID对应的二进制编码作为结果。

3 高维组合特征的处理
问题:什么是组合特征?如何处理高维组合特征?

为了提高复杂关系的拟合能力,在特征工程中疆场会把一阶离散特征两两组合,构成高阶组合特征。
将组合的特征分别用k维的低维向量表示。

4 组合特征
问题:怎样有效找到组合特征?
基于决策树的特征组合寻找方法。
给定原始输入该如何有效地构造决策树?可采用梯度提升树,该方法的思想是每次都在之前构建的决策树的残差上构建下一颗决策树。

5 文本表示模型
问题:有哪些文本表示模型?它们各有什么优缺点?

  • 词袋模型和N-gram模型
    最基础的文本表示模型是词袋模型。就是将每篇文章看成一袋子词,并忽略每个词出现的顺序。用TF-IDF计算每个词的权重,如果一个单词在很多的文章里出现,那么它可能是一个比较通用的词汇,对于区分某篇文章特殊语义的贡献较小,因此对权重做一定惩罚。
    将连续出现的n个词组成的词组也作为一个单独的特征放到向量表示中去,构成N-gram。

  • 主体模型
    用于从文本库中发现有代表性的主题,并且能够计算出每篇文章的主题分布。

  • 词嵌入与深度学习模型
    词嵌入是一类将词向量化的模型的统称,核心思想是将每个词都映射成低维空间上的一个稠密向量。

深度学习模型提供了一种自动地进行特征工程的方式,模型中的每个隐层都可以认为对应着不同抽象层次的特征。
与全连接的网络结构相比,卷积神经网络和循环神经网络一方面很好地抓住了文本的特性,另一方面也减少了网络中待学习的参数,提高了训练速度,并且减低了过拟合的风险。

6 Word2Vec
Word2Vec是目前最常用的词嵌入模型之一,实际是一种浅层的神经网络模型,有两种网络结构:CBOW,Skip-gram

知识点:Word2Vec,因狄利克雷模型LDA,CBOW,Skip-gram

问题:Word2Vec是如何工作的?它和LDA有什么区别和联系?
CBOW的目标是根据上下文出现的词语来预测当前词的生成概率;
Skip-gram是根据当前词来预测上下文中各词的生成概率。

区别和联系:

  • LDA是利用文档中单词的共现关系来对单词按主题聚类,也可以理解为对“文档-单词”矩阵进行分解,得到“文档-主题”和“主题-单词”两个概率分布。
  • Word2Vec是对“上下文-单词”矩阵进行学习,其中上下文由周围的几个单词组成,由此得到的词向量表示更多地融入了上下文共现的特征。也就是说,如果两个单词所对应的Word2Vec向量相似度较高,那么他们很可能经常在同样的上下文中出现。

主题模型和词嵌入两方法的差异:
主题模型和词嵌入两类方法最大的不同在于模型本身

  • 主题模型是一种基于概率图模型的生成式模型,其似然函数可以写成若干条件概率连乘的形式
  • 词嵌入模型一般表达为神经网络的形式

7 图像数据不足时的处理方法

知识点:迁移学习、生成对抗网络、图像处理、上采样技术、数据扩充
问题:在图像分类任务中,训练数据 不足会带来什么问题?如何缓解数据量不足带来的问题?
分析:
一个模型所能提供的信息一般来源于两个方面:

  • 训练数据中蕴含的信息;
  • 在模型的形成过程中,人们提供的先验信息。

当训练数据不足时,则需更多先验信息。先验信息可以作用在模型上,数据集上。

具体到图像分类任务上,训练数据不足会导致过拟合。
对应的处理方法:

  • 基于模型的方法,主要是采用降低过拟合风险的措施
    包括简化模型(如将非线性模型简化为线性模型)、添加约束项以缩小假设空间(如L1/L2正则化)、集成学习、Dropout超参数等。
  • 基于数据的方法,数据扩充(Data Augmentation)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100184.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • pdb文件 PDB文件:每个开发人员都必须知道的 .NET PDB文件到底是什么?

    pdb文件 PDB文件:每个开发人员都必须知道的 .NET PDB文件到底是什么?pdb文件包含了编译后程序指向源代码的位置信息,用于调试的时候定位到源代码,主要是用来方便调试的。在程序发布为release模式时,建议将pdb文件删除,同时,对外发布的时候,也把pdb删除,有利于保护程序。PDB:ProgramDebugDatabase(程序调试数据库)文件  PDB(程序调试数据库)文件保持着调试和项目状态信息,从而可以对程序的调试配置进行增量…

  • java数组的声明_Java数组定义常用方法[通俗易懂]

    java数组的声明_Java数组定义常用方法[通俗易懂]Java数组定义常用方法Java中的数组、是一种简单的线性数据存储结构、他用牺牲自动扩展大小来换取与集合相比的唯一优势——查询效率的提升。Java中的数组有什么类型?我们要怎么定义这些数组呢?下面跟yjbys小编一起来学习Java数组定义常用方法吧!java中有两种数据类型:a)引用类型b)基础类型其中基础类型又有两种:b1)数值类型b2)及布尔类型。数组——也为java的一个数据类型、归类为引用…

  • 51单片机按键控制步进电机加减速及正反转

    51单片机按键控制步进电机加减速及正反转之前尝试用单片机控制42步进电机正反转,电机连接导轨实现滑台前进后退,在这里分享一下测试程序及接线图,程序部分参考网上找到的,已经实际测试过,可以实现控制功能。所用硬件:步进电机及驱动器、STC89C52单片机、直流电源1、硬件连接图注意:上图为共阳极接法,实际连接参考总体线路连接。 驱动器信号端定义:PUL+:脉冲信号输入正。(C…

  • 电容分类_电解电容和薄膜电容的区别

    电容分类_电解电容和薄膜电容的区别一、按照功能  1.名称:聚酯(涤纶)电容   符号:(CL)  电容量:40p–4μ  额定电压:63–630V  主要特点:小体积,大容量,耐热耐湿,稳定性差  应用:对稳定性和损耗要求不高的低频电路  2.名称:聚苯乙烯电容  符号:(CB)  电容量:10p–1μ  额定电压:100V–30KV

  • 爬虫案例分析_爬虫爬取司法案例

    爬虫案例分析_爬虫爬取司法案例小番在这里这里涉及了一些反爬手段与方法,老铁们赶紧拿起小板凳开始听了哦爬取思路:打开一个番剧,找到播放页面,开始F12检查元素发现直接跳回首页了,这就没法用浏览器自带的抓包了。可以使用抓包工具fiddle进行抓包。先不急着抓包,先看看播放页的源代码view-source:www.zzzfun.com/vod_play_id_2029_sid_1_nid_1.html可以得到每一话的链接,那么还少了视频链接,网页源代码里面没有,只能抓包了。可以发现debug调试时跳转的代码,在右下角窗口

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号