1. 直接介绍一个最近做过的项目:
- 用到哪些预处理步骤?
- 为什么选用CNN?
- 对CNN的结构和参数有哪些修改?
刚开始有点懵,语言组织有些着急,只说了个大概,后来进一步问的时候,才详细介绍了流程。
应该快速整理一下思路,然后有条理的说出来,并且要说出本身项目的难点和创新点,主导面试,向自己擅长的方向;
2. 又看到一个关于京东算法大赛的项目:
- 说一下对于数据的预处理是怎么做的,就是特征提取的步骤,有哪些特征?
- 评价标准,有没有想过对提高得分,哪些操作会比较有用?
- 提到一个关于时间的衰减,具体衰减是怎么做的?
- 用到XGboost,他与Adaboost有什么不同,在精度上有什么区别么?
1. Adaboost一般用于分类,XGBoost既能用于分类也能用于回归
2. Adaboost是一阶泰勒展开,XGBoost还用到了二阶泰勒展开的信息
3. 方差和偏差的角度(现在才明白面试官说的精度应该是指这个不同)
【精度方面的区别主要应该是说Adaboost主要是减小偏差,而XGboost即能够减小偏差又能减小方差】
- XGboost与随机森林又有什么区别?
1. bagging与boosting
2. CART分类器,线性分类器相当于带L1,L2正则化的逻辑回归或者线性回归
3. 分类器权重一样,权重由分类准确率来确定
4. 减小方差,偏差和方差都减小;
3. 看到简历中有提到聚类算法,说说常见的聚类算法有哪些?
- 聚类算法的应用场景分别是什么?
新闻聚类、用户购买模式(交叉销售)、图像与基因技术
- 关于k-means聚类和DBSCAN有什么区别?
K-means:
1.确定聚类个数K
2.选定K个D维向量作为初始类中心
3.对每个样本计算与聚类中心的距离,选择最近的作为该样本所属的类
4.在同一类内部,重新计算聚类中心(几何重心) 不断迭代,直到收敛:
缺点:
1.对初始聚类中心敏感,缓解方案是多初始化几遍,选取损失函数小的。
2.必须提前指定K值(指定的不好可能得到局部最优解),缓解方法,多选取几个K值,grid search选取几个指标评价效果情况
3.属于硬聚类,每个样本点只能属于一类 4.对异常值免疫能力差,可以通过一些调整(不取均值点,取均值最近的样本点)
5.对团状数据点区分度好,对于带状不好(谱聚类或特征映射)。
优点:
速度快,适合发现球形聚类,可发现离群点
尽管它有这么多缺点,但是它仍然应用广泛,因为它速度快,并且可以并行化处理。
DBSCAN聚类:
基于密度的算法,之前的一些算法都是考虑距离,而DBscan是考虑的密度,只要样本点的密度大于某阈值,则将该样本添加到最近的簇中(密度可达的簇)
核心点:在半径eps内含有超过Minpts数目的点,则该点为核心点。
边界点:在半径eps内含有小于Minpts数目的点但是在核心点的邻居。
核心点1连接边界点2,边界点2又连接核心点2,则核心点1和边界点2密度可达。
噪音点:任何不是核心点或是边际点的点。
密度:在半径eps内点的数目。
Python中可调的参数:eps(半径)和m(密度), eps为半径,m为要求的半径内点的个数即密度,m越大聚出的类越多,因为即要求成某个类的密度要比较高,一旦中间比较稀疏的就不算一个类了;eps越大,类的个数越少。
优点:相对抗噪音(可发现离群点),可以发现任意形状的样本。不用确定聚类的个数,只需要确定eps(半径)和m(密度)。
缺点:但计算密度单元的计算复杂度大,不能很好反应高维数据,高维数据不好定义密度。
- 关于一个机场人流密度预测的比赛,有了解吗?
4. 平时用python么,对于SQL语句熟练么,平时处理查询数据怎么来做?
解释了为什么没用SQL。
5. 除了经典的XGboost和CNN还实践或者用过哪些机器学习算法?
说没太用过其他的,其实还用过KNN,随机森林也用到过,只是没有深入研究。参加过的相关比赛,或者尝试也可以。
总共面试时间为23分钟,应该是电话面试时间最短的一次了吧。说基本情况已经了解了,明天会通知结果。水~~~