专栏名称: AI数据派
THU数据派"基于清华,放眼世界",以扎实的理工功底闯荡“数据江湖”。发布全球大数据资讯,定期组织线下活动,分享前沿产业动态。了解清华大数据,敬请关注姐妹号“数据派THU”。
目录
相关文章推荐
练瑜伽  ·  贾玲消失在各大春晚,她做错了什么? ·  3 天前  
大树乡谈  ·  闲聊三五句 ·  3 天前  
時間的玩家TimeIsArt  ·  每日临在 | 2025.02.21 ·  3 天前  
時間的玩家TimeIsArt  ·  每日临在 | 2025.02.21 ·  3 天前  
51好读  ›  专栏  ›  AI数据派

干货 | 一文总结机器学习类面试问题与思路

AI数据派  · 公众号  ·  · 2018-07-16 07:30

正文

来源:机器学习算法与Python学习

本文 2249字 ,建议阅读 5分钟

本文为你 介绍面试中遇到的一些真实问题,谈一谈答题和面试准备上的建议。


机器学习、大数据相关岗位根据业务的不同,岗位职责大概分为:

一、平台搭建类


数据计算平台搭建,基础算法实现,当然,要求支持大样本量、高维度数据,所以可能还需要底层开发、并行计算、分布式计算等方面的知识。

二、算法研究类


  1. 文本挖掘,如领域知识图谱构建、垃圾短信过滤等;

  2. 推荐,广告推荐、APP 推荐、题目推荐、新闻推荐等;

  3. 排序,搜索结果排序、广告排序等;

  4. 广告投放效果分析;

  5. 互联网信用评价;

  6. 图像识别、理解。


三、数据挖掘类


  1. 商业智能,如统计报表;

  2. 用户体验分析,预测流失用户。


以上是根据求职季有限的接触所做的总结。有的应用方向比较成熟,业界有足够的技术积累,比如搜索、推荐,也有的方向还有很多开放性问题等待探索,比如互联网金融、互联网教育。在面试的过程中,一方面要尽力向企业展现自己的能力,另一方面也是在增进对行业发展现状与未来趋势的理解,特别是可以从一些刚起步的企业和团队那里,了解到一些有价值的一手问题。

以下首先介绍面试中遇到的一些真实问题,然后谈一谈 答题和面试准备上的建议。

四、面试问题


  1. 你在研究/项目/实习经历中主要用过哪些机器学习/数据挖掘的算法?

  2. 你熟悉的机器学习/数据挖掘算法主要有哪些?

  3. 你用过哪些机器学习/数据挖掘工具或框架?

  4. 基础知识

  • 无监督和有监督算法的区别?

  • SVM 的推导,特性?多分类怎么处理?

  • LR 的推导,特性?

  • 决策树的特性?

  • SVM、LR、决策树的对比?

  • GBDT和决策森林的区别?

  • 如何判断函数凸或非凸?

  • 解释对偶的概念。

  • 如何进行特征选择?

  • 为什么会产生过拟合,有哪些方法可以预防或克服过拟合?

  • 介绍卷积神经网络,和 DBN 有什么区别?

  • 采用 EM 算法求解的模型有哪些,为什么不用牛顿法或梯度下降法?

  • 用 EM 算法推导解释 Kmeans。

  • 用过哪些聚类算法,解释密度聚类算法。

  • 聚类算法中的距离度量有哪些?

  • 如何进行实体识别?

  • 解释贝叶斯公式和朴素贝叶斯分类。

  • 写一个 Hadoop 版本的 wordcount。

    ……


五、开放问题


  1. 给你公司内部群组的聊天记录,怎样区分出主管和员工?

  2. 如何评估网站内容的真实性(针对代刷、作弊类)?

  3. 深度学习在推荐系统上可能有怎样的发挥?

  4. 路段平均车速反映了路况,在道路上布控采集车辆速度,如何对路况做出合理估计?采集数据中的异常值如何处理?

  5. 如何根据语料计算两个词词义的相似度?

  6. 在百度贴吧里发布 APP 广告,问推荐策略?

  7. 如何判断自己实现的 LR、Kmeans 算法是否正确?

  8. 100亿数字,怎么统计前100大的?
    ……

答题思路


一、用过什么算法?


  1. 最好是在项目/实习的大数据场景里用过,比如推荐里用过 CF、LR,分类里用过 SVM、GBDT

  2. 一般用法是什么,是不是自己实现的,有什么比较知名的实现,使用过程中踩过哪些坑;

  3. 优缺点分析。


二、熟悉的算法有哪些?


  1. 基础算法要多说,其它算法要挑熟悉程度高的说,不光列举算法,也适当说说应用场合;

  2. 面试官和你的研究方向可能不匹配,不过在基础算法上你们还是有很多共同语言的,你说得太高大上可能效果并不好,一方面面试官还是要问基础的,另一方面一旦面试官突发奇想让你给他讲解高大上的内容,而你只是泛泛的了解,那就傻叉了。


三、用过哪些框架/算法包?


  1. 主流的分布式框架如 Hadoop,Spark,Graphlab,Parameter Server 等择一或多使用了解

  2. 通用算法包,如 mahout,scikit,weka 等;

  3. 专用算法包,如 opencv,theano,torch7,ICTCLAS 等。


四、基础知识


个人感觉高频话题是 SVM、LR、决策树(决策森林)和聚类算法,要重点准备;


算法要从以下几个方面来掌握:


  1. 产生背景,适用场合(数据规模,特征维度,是否有 Online 算法,离散/连续特征处理等角度);

  2. 原理推导(最大间隔,软间隔,对偶);

  3. 求解方法(随机梯度下降、拟牛顿法等优化算法);

  4. 优缺点,相关改进;

  5. 和其他基本方法的对比;

  6. 不能停留在能看懂的程度,还要对知识进行结构化整理,比如撰写自己的 cheet sheet,我觉得面试是在有限时间内向面试官输出自己知识的过程,如果仅仅是在面试现场才开始调动知识、组织表达,总还是不如系统的梳理准备;







请到「今天看啥」查看全文