几个月前刚刚经历校招,投的多是机器学习和算法相关的岗位,特此分享面试中遇到及自己认为比较重要的内容:
1、过拟合和欠拟合怎么判断,如何解决?
答:主要可以通过训练误差和测试误差入手判断是否过拟合或欠拟合。一般而言训练误差很低,但是测试误差较高,过拟合的概率较大,如果训练误差和测试误差都很高,一般是欠拟合。过拟合可以从增加样本量,减少特征数,降低模型复杂度等方面入手,实际的例子比如线性回归中,对于几十个样本的数据点就没必要用几十个变量去拟合。欠拟合则反之,需要考虑模型是否收敛,特征是否过少,模型是否过于简单入手。另外还有L1,L2正则化用于限制权重以及dropout用在神经网络中使得每次训练的网络结构多样。L1正则化其实就是讲权值的绝对值和加入损失函数,使得权值中0值比重增大,因此得到的权值较为稀疏。L2正则化则是将权重的平方和加入损失函数,使得权值分布更加平均,所以权值较为平滑。
2、特征如何构造?
答:其实特征主要针对业务来构造,业务则对应数据,举个例子,时间特征可能在交通预测方面有效,但是对于文本挖掘可能无效。因此可以考虑从数据统计分析入手,结合业务场景构造特征,后期可考虑细化特征或组合特征等。
3、逻辑回归的含义和推导?逻辑回归和线性回归的区别?
答:含义不多说,这个算法原理是最基本的。推导可以从损失函数最小化或最大似然方向入手。二者的区别曾经在面试阿里的时候被问到,当时脱口而出一个是分类一个是回归,但深层的含义或许是一个是迭代求解,一个是直接求解。望