《百面》-1.特征工程
目录
问题:Word2Vec是如何工作的?它和LDA有什么区别和联系?
问题:在图像分类任务中,训练数据不足会带了什么问题?如何缓解数据量不足的问题?
1.特征归一化
问题:为什么需要对数值类型的特征做归一化?
答:为了消除数据特征之间的量纲影响,我们需要对特征进行归一化处理,使的不同指标之间具有可比性。例如,一个人的身高和体重对健康的影响,如果使用米和千克作为单位,那么身高特征就会在1.6~1.8之间,而体重会在50~100之间,分析的结果显然会倾向于体重特征。
方法1,线性函数归一化:
对原始数据进行线性变换,是结果映射到【0,1】,实现对原始数据的等比缩放。
X为原始数据。
方法2,零均值归一化:
对原始数据映射到均值为0,标准差为1的分布上,假设原始特征的均值为,标准差为
。
优点,随机梯度下降中权重的更新速度变快
缺点:不适用于决策树
适用于线性回归、逻辑回归、支持向量机、神经网络等
2.类别型特质
问题:在对数据进行预处理时,应该怎样处理类别性特征?
答:类别型特征是指性别(男、女)、血型(A、B、AB)等只在有限选择内取值的特征。因为类别型特征通常都是字符串,除了决策树可以直接处理字符串的输入,对于逻辑回顾、支持向量机来说,类别型特征必须转换成数值型特征。
方法1,序号编码:
通常处理类别间具有大小关系的数据。例如成绩,分为低、中、高。转换成数值就是1、2、3
方法2,独热编码:
通常处理类别间没有大小关系的数据。例如,血型可以有3个取值。独热编码会把血型变成3维系数变量,A表示为(1,0,0)
B(0,1,0)、AB(0,0,1)。当然,如果类别较多的情况下,可以采取两个优化方法
(1)使用稀疏向量来节省空间
(2)配合特征选择来降低维度。
方法3,二进制编码:
第一步:使用序号给每个类别赋予一个类别ID,第二部:把ID使用二进制编码
3.高维组合特征的处理
问题:什么是组合特征?如何处理高维组合特征?
答:为了提高复杂关系的拟合能力,在特征工程中经常会把一阶离散特征两两组合,构成高阶特征。例如,以广告点击预估问题,原始数据有语言和类型两种离散特征,为了提高拟合能力,语言和类型凉凉组合,成为二阶特征。
如果是高维组合特征,就把特征降维后组合,其实就是矩阵分解
4.组合特征
问题:怎样有效的找到组合特征?
基于决策树的特征组合寻找方法
5.文本表示模型
问题:有哪些文本表示模型?它们各有什么优缺点?
方法1:词袋模型(Bag of Words)
每篇文章看成一袋子词,并忽略每个词出现的顺序。具体的说,就是将整段文本以词为单位切分开,然后每篇文章表示成一个长向量,向量中的每一个为代表一个单词,而该维对应的权重则反应了这个词在文章的重要程度,使用TF-IDF来计算权重
TF-ID(t,d)=TF(t,d)*IDF(t)
其中TF(t,d)为单词t在文档d中出现的频率,IDF(t)是逆文章频率,用来衡量t对语义所起的重要性,表示为
IDF(t)=log(文章总数/包含单词t的文章总数+1)
方法2:主题模型
方法3:词嵌入与深度学习模型
6.Word2Vec
问题:Word2Vec是如何工作的?它和LDA有什么区别和联系?
7.图像数据不足时的处理方法
问题:在图像分类任务中,训练数据不足会带了什么问题?如何缓解数据量不足的问题?
答:过拟和。
处理方法1,基于模型的方法,采用降低过拟合的措施,包括简化模型(将非线性模型简化为线性模型)、添加约束项以缩小假设空间(L1/L2正则项)、集成学习、Dropout超参数等
处理方法2,基于数据的方法,数据扩充。