特征工程

特征工程

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)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2021年5月19日 下午8:00
下一篇 2021年5月19日 下午9:00


相关推荐

  • 经典算法

    经典算法

    2021年5月19日
    123
  • python安装win32模块

    python安装win32模块pipinstallpy 不过清华源和豆瓣源都会安装报错 最后直接用 pycharm 安装成功了 PACKAGECONTE nbsp nbsp win32sysload nbsp nbsp winxptheme nbsp nbsp mmapfile nbsp nbsp odbc nbsp nbsp perfmon nbsp nbsp servicemanag nbsp nbsp timer nbsp nbsp win2kras nbsp nbsp win32api nbsp nbsp win32clip

    2026年3月17日
    2
  • C语言if语句的基本用法

    C语言if语句的基本用法C语言if语句的基本用法一、if…1.一般形式:if(表达式){语句;}表达式:a,用非0值表示真,用0表示真;b,if(flag)相当于if(1==flag)c,浮点数无法与0比较,只能用近似的值比较;例:(1e-6)相当于1×10的-6次方;2.用于单分支选择结构;3.如含有交叉关系,使用并列的if语句;例:输出两个整数中的最大值#inclu…

    2022年5月19日
    45
  • C语言程序怎么解决数独,数独解法解决方法

    C语言程序怎么解决数独,数独解法解决方法当前位置 我的异常网 C 语言 数独解法解决方法数独解法解决方法 www myexceptions net 网友分享于 2013 11 21 浏览 47 次数独解法这两天看到他们在玩数独 想自己写个程序解出来 以下是自己的想法 不知道问题出在那里 或者有其他好的解法 推荐下 谢谢 typedefstruc chardata 9 9 charbuf 9 charnu

    2026年3月17日
    2
  • 关于find my iphone的所有问题汇总解决

    关于find my iphone的所有问题汇总解决看见很多朋友都在问 findmyiphone 的一些问题 我来解释一下 如果有问题 欢迎接着提问 我会尽我所能解答 希望能帮到你们 1 用 appleid 免费激活 findmyiphone 和 mobileme 账号的区别 findmyiphone 不是新软件新功能 以前是 mobileme 里的一个功能 有 mobileme 账户 就是的朋友们以前肯定都很熟悉这个 这次 ios4 2 的升级 把这个功能单独

    2026年3月19日
    1
  • RIDE元素定位

    RIDE元素定位name 方式 name wd 不要引号 id 方式 id kw 不要引号 xpath 绝对路径 Xpath html body div 1 div 4 div 2 div form span 1 input 不推荐 一旦路径稍做改动 就会报错相对路径 xpath id su xpath id su

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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