BAT机器学习面试题1000题(381~385题)


381、观察增益gain, alpha和gamma越大,增益越小?

解析:

xgboost寻找分割点的标准是最大化gain. 考虑传统的枚举每个特征的所有可能分割点的贪心法效率太低,xgboost实现了一种近似的算法。大致的思想是根据百分位法列举几个可能成为分割点的候选者,然后从候选者中计算Gain按最大值找出最佳的分割点。它的计算公式分为四项, 可以由正则化项参数调整(lamda为叶子权重平方和的系数, gama为叶子数量):

第一项是假设分割的左孩子的权重分数, 第二项为右孩子, 第三项为不分割总体分数, 最后一项为引入一个节点的复杂度损失

由公式可知, gama越大gain越小, lamda越大, gain可能小也可能大.

原问题是alpha而不是lambda, 这里paper上没有提到, xgboost实现上有这个参数. 上面是我从paper上理解的答案,下面是搜索到的:

https://zhidao.baidu.com/quest ... 3Dgbk

lambda[默认1]权重的L2正则化项。(和Ridge regression类似)。 这个参数是用来控制XGBoost的正则化部分的。虽然大部分数据科学家很少用到这个参数,但是这个参数在减少过拟合上还是可以挖掘出更多用处的。11、alpha[默认1]权重的L1正则化项。(和Lasso regression类似)。 可以应用在很高维度的情况下,使得算法的速度更快。

gamma[默认0]在节点分裂时,只有分裂后损失函数的值下降了,才会分裂这个节点。Gamma指定了节点分裂所需的最小损失函数下降值。 这个参数的值越大,算法越保守。

引用自@AntZ

382、什麽造成梯度消失问题?

解析:

Yes you should understand backdrop-Andrej Karpathy

How does the ReLu solve the vanishing gradient problem?

神经网络的训练中,通过改变神经元的权重,使网络的输出值尽可能逼近标签以降低误差值,训练普遍使用BP算法,核心思想是,计算出输出与标签间的损失函数值,然后计算其相对于每个神经元的梯度,进行权值的迭代。

梯度消失会造成权值更新缓慢,模型训练难度增加。造成梯度消失的一个原因是,许多激活函数将输出值挤压在很小的区间内,在激活函数两端较大范围的定义域内梯度为0,造成学习停止。

1.jpeg


解析来源:@许韩,链接:https://www.zhihu.com/question ... 04190

简而言之,就是sigmoid函数f(x)的导数为f(x)*(1-f(x)), 因为f(x)的输出在0-1之间,所以随着深度的增加,从顶端传过来的导数每次都乘以两个小于1的数,很快就变得特别特别小。

引用自@张雨石

383、简单说说特征工程。

解析:

首先,大多数机器学习从业者主要在公司做什么呢?不是做数学推导,也不是发明多高大上的算法,而是做特征工程,如下图所示(图来自:http://www.julyedu.com/video/play/18

2.png


进一步,特征工程主要是做如下工作(图来自机器学习第九期第五次课 特征工程)

3.png


384、你知道有哪些数据处理和特征工程的处理?

解析:

4.png


更多请查看此课程《机器学习工程师 第八期 [六大阶段、层层深入]》第7次课 特征工程。

385、准备机器学习面试应该了解哪些理论知识?

解析:

5.png


看下来,这些问题的答案基本都在本BAT机器学习面试1000题系列里了。

引用自@穆文,链接:https://www.zhihu.com/question/62482926
已邀请:

要回复问题请先登录注册

返回顶部