主要是对项目的询问,解释项目的各种地方。
自我介绍
Double DQN与传统DQN的区别什么?
为什么传统DQN会出现Q值估计过高的情况?
根据上面传统DQN的计算公式,每次Target Q得到的都是神经网络中当前估算的所有动作价值中的最大值。考虑到通过神经网络网络估算的Q值本身在某些时候会产生正向或负向的误差,在 DQN 的更新方式下神经网络会将正向误差累积。
举例说明,情况大概是
除了Double DQN以外,还有哪些模型是对DQN做的改进,并且改进地方是什么?
DQN属于强化学习中分类中的哪种?
离线策略和在线策略的关键区别是什么?
离线策略为什么能用经验回放机制?
离线策略和在线策略在计算下一个较优的行动时有什么区别
答案
on-policy的Q值更新公式是:
off-policy是使用下一时刻的最大值来更新当前的Q值,实际采取什么行动并不关心,on-policy则是需要执行两次动作才能更新一次策略,更新用的Q值使用的是下一时刻确切执行的行动来更新Q值。
离线强化学习、在线强化学习、离线策略以及在线策略的关系
机器学习的归纳偏置
计算机图像是怎么被存储的
参数模型和无参数模型
参数模型和无参数模型的优缺点
SVM的非线性分类是怎么实现的
训练SVM时,是如何调整核函数的超参数的,是如何搜索的?
编程题:二叉树的底视图
问题
给定一棵二叉树,打印它的底部视图。假设一个节点的左右子节点与父节点成 45 度角。
例如,下面这棵树的底视图是 7, 5, 8, 6
:
回答
用一个哈希表存储结点,key值是结点所在的列,value值是树的结点,然后使用广度优先遍历来更新这个哈希表,根节点为0,左节点在父节点的基础上-1,右节点在父节点的基础上+1,如果key值相同,直接更新value值。最后遍历完结点之后,只需要遍历一遍哈希表就可以了。