2021年3月17日,机器学习算法岗实习岗面试题6道( 二 )


文章图片
使用交叉熵作为损失函数的梯度下降更新求导的结果如下:
首先得到损失函数如下:
如果我们使用MSE作为损失函数的话 , 那损失函数以及求导的结果如下所示:
2021年3月17日,机器学习算法岗实习岗面试题6道
文章图片
使用平方损失函数 , 会发现梯度更新的速度和sigmod函数本身的梯度是很相关的 。 sigmod函数在它在定义域内的梯度都不大于0.25 。 这样训练会非常的慢 。 使用交叉熵的话就不会出现这样的情况 , 它的导数就是一个差值 , 误差大的话更新的就快 , 误差小的话就更新的慢点 , 这正是我们想要的 。
在使用Sigmoid函数作为正样本的概率时 , 同时将平方损失作为损失函数 , 这时所构造出来的损失函数是非凸的 , 不容易求解 , 容易得到其局部最优解 。 如果使用极大似然 , 其目标函数就是对数似然函数 , 该损失函数是关于未知参数的高阶连续可导的凸函数 , 便于求其全局最优解 。 (关于是否是凸函数 , 由凸函数的定义得 , 对于一元函数 , 其二阶导数总是非负 , 对于多元函数 , 其Hessian矩阵(Hessian矩阵是由多元函数的二阶导数组成的方阵)的正定性来判断 。 如果Hessian矩阵是半正定矩阵)
要计算F1score , 首先要计算Precision和Recall , 公式如下:
2021年3月17日,机器学习算法岗实习岗面试题6道
文章图片
FM和SVM最大的不同 , 在于特征组合时权重的计算方法
SVM的二元特征交叉参数是独立的 , 而FM的二元特征交叉参数是两个k维的向量v_i , v_j , 交叉参数不是独立的 , 而是互相影响的FM可以在原始形式下进行优化学习 , 而基于kernel的非线性SVM通常需要在对偶形式下进行FM的模型预测与训练样本独立 , 而SVM则与部分训练样本有关 , 即支持向量.FM模型有两个优势:
在高度稀疏的情况下特征之间的交叉仍然能够估计 , 而且可以泛化到未被观察的交叉参数的学习和模型的预测的时间复杂度是线性的
随机森林的随机性体现在每颗树的训练样本是随机的 , 树中每个节点的分裂属性集合也是随机选择确定的 。 有了这2个随机的保证 , 随机森林就不会产生过拟合的现象了 。
思路:贪心算法
依次遍历数组中的每一个位置 , 并实时维护最远可以到达的位置rightMost , 注意当前遍历到的位置i要在最远可以到达的位置范围内(也就是满足i<=rightMost) , 当rightMost大于或等于数组最后一个位置时 , 就表示可以到达 , 返回True , 否则就要返回False 。
代码如下:
2021年3月17日,机器学习算法岗实习岗面试题6道
文章图片
时间复杂度:O(n) , 其中n为数组的大小 。 只需要访问nums数组一遍 , 共n个位置 。
空间复杂度:O(1) , 不需要额外的空间开销 。
评论区回复“121” , 七月在线干货组最新升级的《2021大厂最新AI面试题[含答案和解析,更新到前121题]》 , 免费送!
持续无限期更新大厂最新面试题 , AI干货资料 , 目前干货组汇总了今年3月-6月份 , 各大厂面试题 。
2021年3月17日,机器学习算法岗实习岗面试题6道
文章图片
2021年3月17日,机器学习算法岗实习岗面试题6道
文章图片