w),另一方面因为LR的损失函数是交叉熵,由于均匀分布的交叉熵时熵最大,不确定性
越大,所以LR的目标是要使交叉熵越小越好,而sigmod函数值取0.5的不确定性的输入值
特别少,所以通过最大熵原则可以得出sigmod函数适合LR算法。
1.sigmoid过饱和、丢失了梯度。2.sigmoid的输出不是零中心的
解释下过拟合
样本在训练数据集上表现的很好,在测试数据集上效果很差
数据类别不均衡的处理方法
对大类数据进行欠采样,对小类数据进行过采样,使用代价函数学习每个类的权值,大
类的权值小,小类的权值小。
XGBoost相对于GBDT有什么不同
GBDT时基于CART作为基分类器的,XGBoost还支持线性分类器(相当于XGBoost带L1
和L2正则化的LR或者线性回归)
XGB在代价函数里加入了正则项,用于控制模型的复杂度。正则项里包含了树的叶子
节点个数,每个叶子节点输出的Score的L2模的平方和。,所以XGB降低了方差,使得模型
更加的简单,防止了过拟合,这是XGB相对于GDBT的一个优势。
列采样,XGB借鉴了RF的做法,支持列采样抽样,不仅能降低过拟合,还能减少计算,
而GBDT算法没有这个特性。
对缺失值的处理。对于特征的值有缺失的样本,XGB可以自动学习出它的分裂方向。
XGB支持并行(是在对特征的值进行排序的时候(确定最佳分割点),XGB在训练之
前,预先对数据进行了排序,然后保存为block结构,后面的迭代中重复使用这个结构。,
在进行节点的分裂时,需要计算每个特征的增益,最终选增益最大的那个特征去做分裂,那
么各个特征的增益计算就可以使用多线程的方式进行。
人工处理特征与使用模型自动生成一些特征各有什么优劣?
人工提取的话能够结合自己对特定任务的认识而加入一些比较重要的特征,如果你的模
型的loss函数定义的好,那么模型特征就有优势,但是如果你的loss函数不能定义或者定义
地不好,那么模型的特征可能不如人工的特征
你提到你感觉一个比赛里比另一差的原因是特征这方面,但我看你写到
构造了交叉特征,请问构造了哪些交叉特征?为什么还是差呢?(这里
针对交叉特征的定义纠结了一段)
LR+XGBoost或者FM+XGBoost,于是我提了一下了解的用来做ctr预估的应用,但是
感觉面试官并不满意)