"MLK,即Machine Learning Knowledge,本专栏在于对机器学习的重点知识做一次梳理,便于日后温习,内容主要来自于《百面机器学习》一书,结合自己的经验与思考做的一些总结语归纳。"

? Index

  • 特征归一化

  • 类别特征处理

  • 高维组合的处理

  • 文本表示模型

  • Word2Vec

  • 图像数据不足的处理

? 特征归一化

为了消除不同数据特征之间的量纲影响,我们需要对数据特征进行归一化处理,使得不同指标之间有一定的可比性。常用的归一化方法有:

  • 线性函数归一化(Min-Max Scaling):对数据进行线性变换,使之映射到0~1之内,其公式为:

  • 零均值归一化(Z-Score Normalization):对数据进行转换映射到均值为0,标准差为1的分布上。

那么,特征归一化的原因是什么呢?一般可以参考下面的随机梯度下降的例子:

其中,上图中X1的取值范围为[0, 10],X2的取值范围为[0, 3],当不做任何数据归一化处理的时候,在学习率相同的情况下,X1的更新速度会大于X2,需要较多次的迭代才会找到最优解,就如左图所示。相反如果归一化后,则会像右图一样,更加容易找到最优解。

所以,我们可以得出一种常见的结论,就是 通过梯度下降法求解的模型一般都是需要特征归一化的,如线性回归、逻辑回归、支持向量机、神经网络等等。

? 类别特征处理

类别变量,又叫Categorical Feature,比如性别、教育水平之类的,一般模型都是无法直接用这些变量的,都需要经过一些转换,一般常用的方法如下:

  • 序号编码(Ordinal Encoding):通过用来处理有序变量,如成绩,可以分为高分、中等、低分,可以按照高分>中等>低分的顺序来进行编码。

  • 独热编码(One-hot Encoding):通过用来处理类别间没有大小关系的特征,如血型,比如A、B、O、AB,通过独热编码可以变成一个4维稀疏向量,A(1,0,0,0)、B(0,1,0,0)、O(0,0,1,0)、AB(0,0,0,1)。但是,一般如果遇到了类别特别多的类别变量,如城市,可就要注意:

    1)利用稀疏向量来作为输入,从而节省空间;

    2)配合特征选择降低维度。因为高维度特征在K-means算法中会很难衡量距离,在逻辑回归中很容易出现过拟合现象。

  • 二进制编码(Binary Encoding):二进制编码主要分两步,先用序号编码给每个类别赋予新的类别ID,然后对类别ID进行二进制编码,还是血型A、B、O、AB,分别赋予为1,2,3,4,对应的二进制为001、010、011、100,其相比于独热编码还是可以节省一些空间。

? 高维组合的处理

高维组合指的就是变量组合与衍生,如近6个月金融类产品的使用次数(时间+产品类别),当交叉维度特别大的时候,则几乎没法训练模型。所以很多时候我们都是需要向低维度去分解,比如mxn规模的参数,可以分别用k维的低维度向量表示(k<<m, k<<n)。

而且,并不是所有的特征组合都有意义,盲目地去组合会出现参数过多,过拟合的情况,所以我们需要一个方法去有效地找到组合特征,一般常用地有基于决策树的特征组合寻找方法,从根节点出发到叶子节点的每一条路径都是一种特征组合,那如何构建有效的决策树?一般用梯度提升决策树,就是每次都在之前构建的决策树的残差上构建下一棵决策树。

? 文本表示模型

文本在机器学习领域是一个十分常见的非结构化数据,如何表示文本数据是十分重要的研究领域,常见的概念有:

  • 词袋模型(Bag of Words):指的是将整段文本以词为单位切分开,然后每篇文章可以表示成一个长向量,向量中的每一维代表一个单词,而该维对应的权重则反映了这个词语在原文章中的重要程度。

    权重TF-IDF(Term Frequency-Inverse Document Frequency)的计算公式:

  • IDF(t) 为逆文档频率,用来衡量单词t对表达语义所起的重要性,如果一个词在非常多的文章中都出现过,那么它可能是一个比较通用的词,那么贡献会较小,权重需要做惩罚。

  • N-gram模型:将连续出现的n个词(n<=N)组成的词组(N-gram)作为一个单独的特征放到向量表示中去构成模型。另外,同一个词可能有多种词性变化,所以一般会对单词进行词干抽取(Word Stemming),统一为同一词干的形式。

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

  • 词嵌入模型(Word Embedding):词嵌入是一类将词向量化的模型的统称,核心思想是将每个词都映射成低维空间(通常K = 50~300)上的一个稠密向量(Dense Vector)。

? Word2Vec

Word2Vec上Google在2013年提出的词嵌入模型,其实就是一种浅层的神经网络模型,有两种网络结构:CBOW(Continues Bag of Word) 和 Skip-gram,都可以表示为由输入层(Input)、映射层(Projection)和输出层(Output)组成的神经网络。

CBOW(Continues Bag of Word)

根据上下文出现的词语来预测当前词语的生成概率。

Skip-gram

根据当前词语来预测上下文中各个词语的生成概率。

输入层

每个词都由独热编码方式表示,即所有词均表示为一个N维向量,其中N为词汇表中单词的总数,在向量中,每个词都将与之对应的维度置为1,其余维度的值均设为0。

映射层

又被叫做隐含层,K个隐含单元的取值可以由N维输入向量以及连接输入和隐含单元之间的NxK维 权重矩阵计算得到,在CBOW中,还需要将各个输入词所计算出的隐含单位求和。

输出层

通过隐含层向量(K维),以及连接隐含层和输出层之间的KxN维的权重矩阵计算得到,输出层是一个N维向量,每维与词汇表中的一个单词相对应,最后对输出层向量应用Softmax激活函数,可以计算出每个单词的生成概率。

Softmax公式:(其中X代表N维的原始输出向量,Xn为在原始输出向量中,与单词Wn所对应维度的取值。

? 图像数据不足的处理

一个模型所能提供的信息一般由两个来源:

  • 训练数据中所蕴含的信息

  • 人们提供的先验信息

一般,当你的图像数据不足的时候,可能会出现的情况就是模型过拟合,一般过拟合的处理办法有两种:

  • 基于模型的方法: 采用降低过拟合风险的措施,如简化模型、添加正则项、boosting、Dropout超参数等等;

  • 基于数据的方法:主要包括数据扩充(Data Augmentation),即根据一些先验知识,在保持特定信息的前提下对原始数据进行适当变换,因此,对于图像,我们可以有下面的方法去进行变换。

    • 一定程度内的随机旋转、平移、缩放、裁剪、填充、左右翻转;

    • 对图像中的像素添加噪声,如椒盐噪声、高斯白噪声;

    • 颜色变换;

    • 改变图像的亮度、清晰度、对比度、锐度等等。

MLK | 那些常见的特征工程相关推荐

  1. 「特征工程」之零基础入门数据挖掘

    Datawhale 作者:吴忠强,Datawhale优秀学习者 摘要:对于数据挖掘项目,本文将学习应该从哪些角度做特征工程?从哪些角度做数据清洗,如何对特征进行增删,如何使用PCA降维技术等. 特征工 ...

  2. 常用特征工程方法总结

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 摘要:对于数据挖掘项目,本文将学习应该从哪些角度做特征工程?从哪些 ...

  3. 【译】特征工程最佳实践

    本文是译文,可以转载,但需注明出处,点击这里可以获取原文,有删减. 机器学习中,特征工程是创建新特征,能有效提高模型性能的方法之一. 特征工程比较困难,耗时且需要领域专业知识. 应用机器学习的基础是特 ...

  4. 【零基础入门数据挖掘】-特征工程

    Datawhale 作者:吴忠强,Datawhale优秀学习者 摘要:对于数据挖掘项目,本文将学习应该从哪些角度做特征工程?从哪些角度做数据清洗,如何对特征进行增删,如何使用PCA降维技术等. 特征工 ...

  5. python tfidf特征变换_Python机器学习之“特征工程”

    本次将介绍特征工程的一些常见示例:表示分类数据的特征.表示文本的特征和表示图像的特征.另外,还会介绍提高模型复杂度的衍生特征和处理缺失数据的填充方法.这个过程通常被称为向量化,因为它把任意格式的数据转 ...

  6. 数据挖掘实战(三):特征工程-二手车交易价格预测

    基本介绍 重要性 调参效果有限,特征工程的好坏决定最终的排名和成绩 目的 将数据转换为能更好地表示潜在问题的特征 内容介绍(精华) 说明:以下内容中,加粗的部分为实战中使用到的方法,有具体的实现代码, ...

  7. 按某列获取几行_机器学习获取数据难?别忘记特征工程

    现实世界中的数据可能十分混乱复杂,不论它是相关的SQL数据库.Excel文件或是其它任何数据源.尽管这些数据通常都是表格的结构,即每一行(样本)相对于每一列(特征)都有其对应的值,但是这些数据可能很难 ...

  8. 【算法竞赛学习】二手车交易价格预测-Task3特征工程

    二手车交易价格预测-Task3 特征工程 三. 特征工程目标 Tip:此部分为零基础入门数据挖掘的 Task3 特征工程部分,带你来了解各种特征工程以及分析方法,欢迎大家后续多多交流. 赛题:零基础入 ...

  9. 干货分享 | 详解特征工程与推荐系统及其实践(附PPT)

    云脑科技机器学习训练营11月13日正式开始啦!量子位作为合作媒体独家为大家分享课程干货内容. 本期内容简介 主题:亿级用户电商平台推荐系统挑战 主讲人:张本宇(云脑科技创始人&CEO) 从事人 ...

最新文章

  1. RecyclerView Adapter中notifyDataSetChanged 的作用
  2. 独家揭秘 | 阿里怎么做双11全链路压测?
  3. DictionaryTKey,TValue
  4. 计算机网络常见的无线传输有,第八讲 计算机网络基础.doc
  5. C++预处理命令之文件包含和条件编译
  6. HDU-2159-FATE(dp)
  7. python3 抓包 解包_Python结构包,解包
  8. CSDN账号注销问题
  9. python 类继承
  10. macbook边缘磕碰如何修复
  11. P1779 小胡同学的跳板
  12. arm嵌入式led灯闪烁实验报告_嵌入式ARM键盘控制LED灯实验报告
  13. STM32WB系列MCU蓝牙协议栈烧录
  14. PPT居然还可以一键换色!学会这4招再也不怕色了……
  15. 赚钱项目:1万粉丝的公众号,年赚15万!
  16. 使用canvas画美队盾牌
  17. android webview 播放视频总结,Android WebView 播放视频总结~
  18. 【转】使用cocosbuilder在cocos2d-…
  19. 加入滚动条的html代码
  20. pip联网问题 SSLError(SSLError(1, ‘[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:748

热门文章

  1. 2019.1.14 作业
  2. 鸿蒙系统移植imx6dl,韦东山鸿蒙系统移植课程:在IMX6ULL上体验鸿蒙系统
  3. python3中argparse模块详解
  4. 京东 NutUI 4.0 正式发布!
  5. 易贝平台API,item_search - 按关键字搜索EBAY商品
  6. 浅谈旅行商问题(TSP问题)
  7. 微信小程序 javascript MD5 支持汉字
  8. tsconfig.json配置学习笔记
  9. Kdevelop的安装与汉化
  10. 二元隐函数求二阶偏导_【考研】2019数学:二元隐函数极值求解