别人的面经(算法方向)

 

机器学习

统计学基础

数据增强,和要注意的地方

怎么判断过拟合,如何解决

 

logistic回归

LR用过吗

(用过:Kaggle的二分类检测  )

softmax、多个logistic的各自的优势

(1.类别数爆炸,2.推了下softmax反向传播的公式,来对比两者的优势)

trickList,样本怎么选?(随机,被面试官嫌弃)

各种Tree

讲一讲树模型

(RF, GBDT, XGBOOST)

ID3、C4.5等基本树,是二叉树还是多叉树,被切过的特征还会再切么?

(离散(离散数量>2)是多叉分类,连续是二叉,离散不可以再切,连续可以再切)

GBDT和randomForest区别?

(原理角度,方差、偏差角度,过拟合角度)

GBDT和XGBoost区别

(算法上工程上的优化,知乎,)

XGBoost和RandomForest哪个树比较深

(RF深。说了boost和bagging的思想。boost使用低方差学习器去拟合偏差,所以XBG和LGB有树深的参数设置,RF是拟合方差,对样本切对特征切,构造多样性样本集合,每棵树甚至不剪枝。)

XGBoost特征重要性程度怎么判断的?

(不清楚,但是用的很多,猜测是按分裂点的次数(在所有树的出现次数),答出了频率这一点(gain 增益意味着相应的特征对通过对模型中的每个树采取每个特征的贡献而计算出的模型的相对贡献。与其他特征相比,此度量值的较高值意味着它对于生成预测更为重要。cover 覆盖度量指的是与此功能相关的观测的相对数量。例如,如果您有100个观察值,4个特征和3棵树,并且假设特征1分别用于决定树1,树2和树3中10个,5个和2个观察值的叶节点;那么该度量将计算此功能的覆盖范围为10 + 5 + 2 = 17个观测值。这将针对所有4项功能进行计算,并将以17个百分比表示所有功能的覆盖指标。freq 频率(频率)是表示特定特征在模型树中发生的相对次数的百分比。在上面的例子中,如果feature1发生在2个分裂中,1个分裂和3个分裂在每个树1,树2和树3中;那么特征1的权重将是2 + 1 + 3 = 6。特征1的频率被计算为其在所有特征的权重上的百分比权重。))

XGBoost很容易理解它的回归和二分类,如何理解多分类呢?  

(面试官提示我说三分类,构造100棵树还是300棵,我就意识到了,回答原以为是100棵。面试官说构造三百棵树,拟合三分类,再softmax。(onehot之后,输入标签是一个向量,对向量中每一个预测点集成一群树))

XGBoost和LGB区别:  

只想到三点,特征排序,特征切分和直方图和全排序

说他们共同点较多 小提一点,又小提了GBDT到XGB和LGB,然后扯了扯实际用这两个模型的感受,然后说只记得三点不同了,实际效果xgb不输LGB但是调参不好搞,而且LGB很快

1)更快的训练速度和更高的效率:LightGBM使用基于直方图的算法。

2)直方图做差加速:一个子节点的直方图可以通过父节点的直方图减去兄弟节点的直方图得到,从而加速计算。

3)更低的内存占用:使用离散的箱子(bins)保存并替换连续值导致更少的内存占用。

4)更高的准确率(相比于其他任何提升算法):它通过leaf-wise分裂方法(在当前所有叶子节点中选择分裂收益最大的节点进行分裂,如此递归进行,很明显leaf-wise这种做法容易过拟合,因为容易陷入比较高的深度中,因此需要对最大深度做限制,从而避免过拟合。)产生比level-wise分裂方法(对每一层所有节点做无差别分裂,可能有些节点的增益非常小,对结果影响不大,但是xgboost也进行了分裂,带来了务必要的开销)更复杂的树,这就是实现更高准确率的主要因素。然而,它有时候或导致过拟合,但是我们可以通过设置|max-depth|参数来防止过拟合的发生。

5)大数据处理能力:相比于XGBoost,由于它在训练时间上的缩减,它同样能够具有处理大数据的能力。

6)支持并行学习。

7)局部采样:对梯度大的样本(误差大)保留,对梯度小的样本进行采样,从而使得样本数量降低,提高运算速度

除了树模型,Bagging能不能接其他的基模型

 

腾讯比赛特征如何离散化啊 连续性特征也能交叉啊为什么不交叉  

离散化就是数据分桶,我这里按百分位分桶,结果和面试官解释了很久为什么百分位分桶比较均匀,百分位是数据排序的百分位,而不是区间的百分位。

连续性特征交叉,连续性特征映射成离散特征后,可以和连续性特征一起送到嵌入层里。

AUC知道吧,回归怎么计算AUC  

不知道怎么计算,一查 根本没有..是不是我听错了 他其实想说逻辑回归的AUC怎么计算

(回归没有AUC这么一说)

CTR估计,都用什么?  

我说LR和FM ,代码写过,FM主要是NFM,其他的FM都知道理论但是没写过代码

特征重要性你怎么做,例如特征组合和删除,调参你是怎么调的呀?  

答:特征组合用onehot+交叉+EMBEDING。组合的话要看实际分布,讲了自己构造过的一个和标签有线性关系的组合,说自己用的是遍历的方法,用两两数学关系构造新特征,看和标签的线性关系。

特征删除等想到了某个KAGGLE大佬的特征筛选步骤,从他的kernel我也是学到了很多。

调参:

第一步祖传参数。比如树模型的深度、采样频率等,这个主要还是经验

第二部调参,比如尝试新特征,特征采样频率要设为1啊这种细节

讲一讲LDA算法

(线性判别分析)

讲一讲SVM

(建模思想,误差函数推导,核,优化)

讲一讲DL

(一些常见的 DL相关问题,记不太清了)

<
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值