21年6月30日,明略科技算法岗 面试题7道-8月更文挑战

1. 熵,交叉熵的概念

在信息论和几率统计中,熵是表示随机变量不肯定的度量,随机边量 X 的熵定义以下:算法

熵只依赖于X的分布,与X的取值无关。markdown

条件熵 H(Y|X) 表示在已知随机变量 X 的条件下随机变量 Y 的不肯定性,H(Y|X) 定义为在给定条件 X 下,Y 的条件几率分布的熵对 X 的数学指望:函数

2. 逻辑归损失函数,并推导梯度降低公式

逻辑回归损失函数及梯度推导公式以下:学习

求导:测试

3. 归一化和标准化区别

归一化公式:优化

标准化公式:spa

归一化和标准化的区别:归一化是将样本的特征值转换到同一量纲下把数据映射到[0,1]或者[-1, 1]区间内,仅由变量的极值决定,因区间放缩法是归一化的一种。标准化是依照特征矩阵的列处理数据,其经过求z-score的方法,转换为标准正态分布,和总体样本分布相关,每一个样本点都能对标准化产生影响。它们的相同点在于都能取消因为量纲不一样引发的偏差;都是一种线性变换,都是对向量X按照比例压缩再进行平移。code

4. knn算法的思想

在训练集中数据和标签已知的状况下,输入测试数据,将测试数据的特征与训练集中对应的特征进行相互比较,找到训练集中与之最为类似的前K个数据,则该测试数据对应的类别就是K个数据中出现次数最多的那个分类,其算法的描述为:orm

1)计算测试数据与各个训练数据之间的距离;排序

2)按照距离的递增关系进行排序;

3)选取距离最小的K个点;

4)肯定前K个点所在类别的出现频率;

5)返回前K个点中出现频率最高的类别做为测试数据的预测分类。

5. knn的k设置的过大会有什么问题

KNN中的K值选取对K近邻算法的结果会产生重大影响。若是选择较小的K值,就至关于用较小的领域中的训练实例进行预测,“学习”近似偏差(近似偏差:能够理解为对现有训练集的训练偏差)会减少,只有与输入实例较近或类似的训练实例才会对预测结果起做用,与此同时带来的问题是“学习”的估计偏差会增大,换句话说,K值的减少就意味着总体模型变得复杂,容易发生过拟合;

若是选择较大的K值,就至关于用较大领域中的训练实例进行预测,其优势是能够减小学习的估计偏差,但缺点是学习的近似偏差会增大。这时候,与输入实例较远(不类似的)训练实例也会对预测器做用,使预测发生错误,且K值的增大就意味着总体的模型变得简单。

在实际应用中,K值通常取一个比较小的数值,例如采用交叉验证法来选择最优的K值。经验规则:k通常低于训练样本数的平方根。

6. gbdt和bagging的区别,样本权重为何会改变?

gbdt是基于Boosting的算法。

Bagging和Boosting的区别:

1)样本选择上:

Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。

Boosting:每一轮的训练集不变,只是训练集中每一个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。

2)样例权重:

Bagging:使用均匀取样,每一个样例的权重相等

Boosting:根据错误率不断调整样例的权值,错误率越大则权重越大。

3)预测函数:

Bagging:全部预测函数的权重相等。

Boosting:每一个弱分类器都有相应的权重,对于分类偏差小的分类器会有更大的权重。

4)并行计算:

Bagging:各个预测函数能够并行生成

Boosting:各个预测函数只能顺序生成,由于后一个模型参数须要前一轮模型的结果。

Boosting中样本权重发生改变的缘由:

经过提升那些在前一轮被弱分类器分错样例的权值,减少前一轮分对样例的权值,来使得分类器对误分的数据有较好的效果。

7. 梯度降低的思想

梯度降低是一种很是通用的优化算法,可以为大范围的问题找到最优解。梯度降低的中心思想就是迭代地调整参数从而使损失函数最小化。

假设你迷失在山上的迷雾中,你能感受到的只有你脚下路面的坡度。快速到达山脚的一个策略就是沿着最陡的方向下坡,这就是梯度降低的作法。即经过测量参数向量 θ 相关的损失函数的局部梯度,并不断沿着下降梯度的方向调整,直到梯度降为 0 ,达到最小值。

梯度降低公式以下:

对应到每一个权重公式为:

相关文章
相关标签/搜索