京东商城-商城研发部 算法岗面试

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分钟,应该是电话面试时间最短的一次了吧。说基本情况已经了解了,明天会通知结果。水~~~

 

posted @ 2017-09-15 17:42  静悟生慧  阅读(633)  评论(0编辑  收藏  举报