百面机器学习第一章-特征工程

归一化

  1. 为什么需要特征归一化
    • 为了消除数据特征之间的量纲影响,使得不同指标之间具有可比性,我们需要对特征进行归一化处理,
    • 归一化后的数据各个特征收敛速度变得一致,更容易快速地通过梯度下降找到最优解
  2. 常用的归一化方法有两种
    • 线性函数归一化 Min- max scaling
      X n o r m = X − X m i n X m a x − X m i n X_{norm}=\frac{X-X_{min}} {X_{max}-X_{min}} Xnorm=XmaxXminXXmin
    • 零均值归一化 Z-Score Normalization
      z = x − u σ z=\frac {x-u}{σ} z=σxu
  3. 注意点
    数据归一化并不是万能的,在实际应用中,通过梯度下降法求解的模型通常需要归一化,包括线性回归,逻辑回归,SVM ,神经网络。但是需要注意,一般的基于树的模型不需要进行归一化,比如说C4.5算法,它采用信息增益比选择特征,而信息增益比跟是否归一化无关。

类别特征

定义:类别特征是要是指取值在由西安范围内的特征。
类别型特征的原始输入形式一般是字符串形式,除了决策树等少数模型能直接处理字符串的输入外,对于逻辑回归,SVM等模型来说,类别型特征必须经过处理转换成数值型特征才能正确工作

  1. 常用的类别型特征的处理方式
    • 序号编码
      序号编码通常用于处理类别间具有大小关系的数据,比如成绩可以分为高中低三档,我们使用3,2,1 分别表示高中低,转换后依然保留了大小关系
    • 独热编码
      独热编码通常用于处理类别间不具有大小关系的特征
      注意点
      • 使用稀疏向量来节省空间
      • 配合特征选择来降低维度
    • 二进制编码
      主要分为两步
      • 先用序号编码给每个类别赋予一个类别ID,
      • 将类别ID对应的二进制编码作为结果

高维组合特征的处理

  1. 什么是组合特征
    为了复杂关系的拟合能力,在特征工程中经常会把一阶离散特征进行两两组合,构成高阶组合特征,但是维度会迅速上升所以需要配合降维来减少高维特征组合后的需要学习的参数
  2. 怎样有效的找到组合特征
    这一节介绍了一种基于决策树的特征组合寻找方法,,当我们构造了一颗决策树时,每一条从根节点到叶节点的路径都可以看作是一种特征组合方式。

文本表示模型

  1. 词袋模型和N-gram模型
    最基础的文本表示模型是词袋模型。顾名思义,就是将每篇文章看作是一袋子词,并忽略每个词出现的顺序。具体来说,就是将整段文本以词为单位切分开,然后每篇文章可以看作是一个长向量,向量中的每一维代表一个单词,而该维对应的权重反映了这个词在原文章的重要性。常用TF-IDF来计算权重,公式为 T F − I D F ( t , d ) = T F ( t , d ) ∗ I D F ( t ) TF-IDF(t,d)=TF(t,d)*IDF(t) TFIDF(t,d)=TF(t,d)IDF(t)其中TF(t,d)为单词t在文档d中出现的频率,IDF(t)是逆文档频率,用来衡量单词t对表达语义所起的重要性,表示为 I D F ( t ) = l o g 文 章 总 数 包 含 单 词 t 的 文 章 总 数 + 1 IDF(t)=log \frac {文章总数}{包含单词t的文章总数+1} IDF(t)=logt+1,一个直观的解释就是,如果一个单词在非常多的文章里都出现,那么它可能是一个比较通用的词汇,对于区分一篇文章特殊语义的贡献度较小,因此对权重做一定的惩罚。
    N-gram模型 将文章按照单词级别划分有时候并不是一种好的做法,会丢失上下文信息,通常,可以将连续的n个词组成一个词组作为一个单独的特征放到向量表中去,构成N-gram模型。另外,同一个词可能会有多种词性变化,却有相似的含义,一般会对单词进行词干抽取。
  2. 词嵌入与深度学习模型
    • 词嵌入是一类将词向量化的模型的统称,核心思想是将每个词都映射到低维空间(通常K=50-300)上的一个稠密向量,K维空间的每一维也可以看作是一个隐含的主题,只不过不像主题模型那么的直观。由于词嵌入将每个词映射成一个K维向量,如果一篇文档中有N个词,就可以用这个N*K的矩阵来表示这篇文章,但是这样的表示过于底层,在实际应用中,如果仅仅把这个矩阵作为原文本的表示特征输入到机器学习模型中,通常很难得到令人满意的结果,因此还需要加工出更高层的特征,而深度学习模型正好为我们提供了一种自动的特征工程的方式,模型中的每个隐层都对应着不同抽象层次的特征。

Word2Vec与LDA(隐迪利克雷模型)

区别 主题模型是一种基于概率图模型的生成式模型,其似然函数可以写成若干条件概率连乘的形式其中包含需要推测的隐含变量(即主题) ,而词嵌入模型一般表达为神经网络的形式,似然函数定义在网络的输出之上,需要通过学习网络的权重以得到单词的稠密向量表示

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

  1. 基于模型的方法
    • 简化模型(如非线性变为线性)
    • 添加约束项(l1/l2正则项)
    • 集成学习
    • Dropout超参数
  2. 基于数据的方法
    • 数据扩充
      • 一定程度的随机旋转,平移,缩放,裁剪,填充,左右翻转,
      • 对图像添加随机噪声扰动,比如椒盐噪声,高斯白噪声,
      • 颜色变换
      • 改变图像的亮度,对比度,清晰度,锐度等
      • SMOTE数据合成
  3. 迁移学习
    借用一个在大型数据集上预训练好的通用模型,并针对目标任务的小数据集进行微调,

你可能感兴趣的:(机器学习)