机器学习——特征工程、模型优化

 

特征工程和优化算法需要掌握的内容

1. 介绍一下ROC/AUC曲线以及意义
2. 介绍一下哑编码的计算过程及作用
3. 介绍一下词袋法和TFIDF的计算过程及作用,并介绍一下词袋法和哑编码的区别与联系
4. 介绍一下为什么L1和L2可以防止过拟合?
5. 介绍一下多项式扩展为什么可以防止欠拟合?
6. 介绍一下Logistic回归和Softmax之间的区别与联系?
7. BGD、MBGD、SGD的区别与联系。
8. 至少介绍三种优化器的执行原理/过程,并介绍这些优化器的区别。

1. 介绍一下ROC/AUC曲线以及意义

再说ROC曲线之前,先说一下FPR和TPR是什么?

FPR(假阳性率)=(负样本中被预测为正样本的个数)/(真实的负样本数量)

TPR(真阳性率)=(正样本中被预测为正样本的个数)/(真实的正样本数量)

ROC曲线:选择不同的阈值,计算出FPR和TPR值,以FPR为横坐标,TPR为纵坐标,将所有的(FPR,TPR)连成一条直线,这样就构建成了ROC曲线。ROC曲线体现了FPR和TPR变化之间的关系。当FPR增大一个单位时,TPR增加多少;我们期望的是FPR很小,而TPR很大(或者说FPR增速慢,TPR增速快的点);这样预测错误样本在很少的情况下,能保证预测正确的样本的数量最大。

AUC曲线:ROC曲线下方面积值,体现了模型分类的效果,一般的AUC越大,分类的效果越好。

2. 介绍一下哑编码的计算过程及作用

哑编码是将分类的离散数据转化为向量的过程

假如数据中有k个类别,先将其转换为k个向量;首先对k个类别进行排序,然后在对应索引位置设置为1,其他位置设置为0。在线性相关模型中(线性回归、logistic回归、softmax、svm),模型会构建每个特征属性对应的权重系数,如果某个特征属性不进行哑编码,而是直接转换为数字序号,如果在这个类别中,不同类别对于目标属性的影响是完全相反的时候,转换为数字序号后没办法分开衡量各个类别对目标属性的影响,而是在一起构建的,不容易收敛。通过哑编码的转换可以对每个类别的影响权重系数进行单独的构建。

详细一点的解释:

比如某个类别X:序号编号1 2 3,而他们各自对应的目标为最大 中 最小;这就出现了不同类别对目标属性影响完全相反的情况,1*w1+z=最大;2*w2+z=中;3*w3+z=最小;每次进入一个样本进行反向求w的时候会导致第一个w很大,而第三个w很小,w会有互斥的情况,从而不会收敛!如果进行哑编码 ,还是进入一个样本,1*w1+0+0=最大;0+1*w2+0==中;0+0+1*w3=最小;进行反向求w的时候,对每个类别影响权重系数单独的构建。

在距离计算相关算法中(knn、kmweans)由于计算距离的时候,数字序号实际上隐含的有距离关系的,但是实际上类别应该是没有顺序关系的,如果直接基于数字序号计算距离的话,距离会不太准确。通过哑编码的转换可以保障各个类别之间的距离是完全相等的。

3. 介绍一下词袋法和TFIDF及作用,并介绍一下词袋法和哑编码的区别与联系

词袋法:是一种文本向量化的过程。文本中出现的所有词条的次数可以作为文本特征。

TFIDF:由于词袋法求出的一些无效文本 “的” 出现的次数太多,对于预测没有太大的作用,故出现了TFIDF。它是在词袋法的基础上加入(逆文档频率值)TFIDF=TF*IDF,也是一种文本向量化的过程.。

TF=(词语出现的次数)/(该文件的总词数);

IDF=log((所有文件数)/(包含该词的文件数))【以10为底取对数】

TFIDF 的优点是 这样既保证了该词条在文章中出现的次数与该词作用成正比,又保证了无用词不会产生太大的影响。

词袋法和哑编码的区别与联系

1. 词袋法是文本向量化的一种技术
2. 哑编码是单词/词语向量化的一种技术
3. 词袋法实际上就是文本中所有单词的哑编码的向量和

4. 介绍一下为什么L1和L2可以防止过拟合?

L1、L2都是在损失函数中加入了惩罚项,其中L1(C|w|),L2  (C(w2))。在模型的求解中不仅仅要求损失函数差值最小,而且还要求惩罚项越小越好(这里的惩罚项就是参数 “w”)。假设模型训练的很好;由于参数过大,如果新来一个样本(新样本与某个训练数据基本一样,但是有一个特征属性有小偏差),此时这个新样本在模型预测的时候会产生较大的偏移。体现出来的就是预测数据集表现不好,所以希望惩罚项越小越好。【而过拟合的含义就是:训练集效果不错,但是预测集效果很差】

5. 介绍一下多项式扩展为什么可以防止欠拟合?

欠拟合是因为1、数据特征太少,无法拟合所有的训练数据,2、训练模型太过简单。多项式拓展使数据特征从低维转化到高维,增加了特征属性并且特征组合方式会变多。

6. 介绍一下Logistic回归和Softmax之间的区别与联系?

logistic回归,利用sigmold函数将线性回归问题转化为二分类问题。softmax是解决多分类问题。

softmax是logistic回归的一般形式

7. BGD、SGD、MBGD的区别与联系。

BGD:批量梯度下将;每次对模型参数进行更新时,需要遍历所有的训练数据,当数据量很大时,需要很大的计算量,耗费很长的计算时间

SGD:随机梯度下降;用单个训练数据即可对模型参数进行一次更新,大大加快了收敛速率,这种方法他别适合用于数据源源不断到来的在线更新的场景。

MBGD:小批量梯度下降;在每次遍历训练数据之前,先对所有的数据进行随机排序,每次迭代m个训练数据直到遍历完所有的数据。

8. 至少介绍三种优化器的执行原理/过程,并介绍这些优化器的区别。

GD:梯度下降法:就像是下山一样,从一点到山底,沿着最陡峭的地方走;换句话说就是从一点沿着梯度下降最快的方向进行损失函数的更新,最终达到损失函数最小。

Momentum:动量。动量与梯度下降法相比,加快逼近全局最优解的范围。

解释一下:对于局部最优解和鞍点的位置,通过动量法的动量累计操作(理解为惯性),会跳过这些位置,最终达到全局最优解的位置;由于动量的存在,在全局最优解的位置,就会出现往返更新的情况,这样就出现了来回震荡的情况。

Adam:是将   动量累加  和  自适应的确定参数的学习率这俩个优点集于一身。

你可能感兴趣的:(机器学习——特征工程、模型优化)